diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index b4202aa74a..e444447049 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -11,7 +11,7 @@ options get_default_options() { opts = opts.update({"debug", "terminalTacticsAsSorry"}, false); // switch to `true` for ABI-breaking changes affecting meta code; // see also next option! - opts = opts.update({"interpreter", "prefer_native"}, true); + opts = opts.update({"interpreter", "prefer_native"}, false); // switch to `false` when enabling `prefer_native` should also affect use // of built-in parsers in quotations; this is usually the case, but setting // both to `true` may be necessary for handling non-builtin parsers with diff --git a/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c b/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c index e54daca6fc..696385a117 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c @@ -40,6 +40,7 @@ lean_object* l_instInhabitedForall___redArg___lam__0___boxed(lean_object*, lean_ lean_object* lean_panic_fn_borrowed(lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); +lean_object* lean_nat_to_int(lean_object*); size_t lean_usize_of_nat(lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget_borrowed(lean_object*, size_t); @@ -85,6 +86,7 @@ uint8_t l_Lean_Compiler_hasNospecializeAttribute(lean_object*, lean_object*); lean_object* l_Lean_Compiler_getSpecializationArgs_x3f(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); +uint8_t l_Lean_Compiler_hasWeakSpecializeAttribute(lean_object*, lean_object*); uint8_t l_Lean_Compiler_LCNF_isTypeFormerType(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Compiler_LCNF_mkFixedParamsMap(lean_object*); @@ -103,73 +105,75 @@ lean_object* l_Lean_Compiler_LCNF_getPurity___redArg(lean_object*); lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*, uint8_t); double lean_float_of_nat(lean_object*); lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*); -lean_object* lean_nat_to_int(lean_object*); lean_object* l_Repr_addAppParen(lean_object*, lean_object*); +lean_object* l_Bool_repr___redArg(uint8_t); lean_object* l_List_mapTR_loop___redArg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*); lean_object* l_id___boxed(lean_object*, lean_object*); lean_object* l_Array_binSearchAux___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(uint8_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_toCtorIdx(uint8_t); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_toCtorIdx___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default; -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo; -static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 43, .m_capacity = 43, .m_length = 42, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedInst"}; +static const lean_ctor_object l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*0 + 8, .m_other = 0, .m_tag = 0}, .m_objs = {LEAN_SCALAR_PTR_LITERAL(0, 0, 0, 0, 0, 0, 0, 0)}}; +static const lean_object* l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default___closed__0_value; +LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default___closed__0_value; +LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default___closed__0_value; +static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedHO"}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__0_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__0_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__1_value; -static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 41, .m_capacity = 41, .m_length = 40, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedHO"}; +static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 46, .m_capacity = 46, .m_length = 45, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedNeutral"}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__2_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__2_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__3 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__3_value; -static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 46, .m_capacity = 46, .m_length = 45, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedNeutral"}; +static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 38, .m_capacity = 38, .m_length = 37, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.user"}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__4 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__4_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__4_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__5 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__5_value; -static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 38, .m_capacity = 38, .m_length = 37, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.user"}; +static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 39, .m_capacity = 39, .m_length = 38, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.other"}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__6 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__6_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__6_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__7 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__7_value; -static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 39, .m_capacity = 39, .m_length = 38, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.other"}; +static const lean_string_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 43, .m_capacity = 43, .m_length = 42, .m_data = "Lean.Compiler.LCNF.SpecParamInfo.fixedInst"}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__8 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__8_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__8_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__9 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__9_value; -static lean_once_cell_t l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once = LEAN_ONCE_CELL_INITIALIZER; -static lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10; +static const lean_ctor_object l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 5}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__9_value),((lean_object*)(((size_t)(1) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(uint8_t, lean_object*); +static lean_once_cell_t l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once = LEAN_ONCE_CELL_INITIALIZER; +static lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___boxed(lean_object*, lean_object*); static const lean_closure_object l_Lean_Compiler_LCNF_instReprSpecParamInfo___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} }; static const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo___closed__0_value; LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo = (const lean_object*)&l_Lean_Compiler_LCNF_instReprSpecParamInfo___closed__0_value; -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(uint8_t); +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization___boxed(lean_object*); static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "I"}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__0_value; @@ -177,31 +181,37 @@ static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInf static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__1_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2; -static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "H"}; +static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "W"}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__3 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__3_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__3_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__4 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__4_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5; -static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "N"}; +static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "H"}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__6 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__6_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__6_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__7 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__7_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8; -static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "U"}; +static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "N"}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__9 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__9_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__9_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__10 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__10_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11; -static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "O"}; +static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "U"}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__12 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__12_value; static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__12_value)}}; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__13 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__13_value; static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(uint8_t); +static const lean_string_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "O"}; +static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__15 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__15_value; +static const lean_ctor_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__15_value)}}; +static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__16 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__16_value; +static lean_once_cell_t l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17_once = LEAN_ONCE_CELL_INITIALIZER; +static lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___boxed(lean_object*); static const lean_closure_object l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} }; static const lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___closed__0_value; @@ -325,6 +335,8 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_Pe LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_specExtension; LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType___boxed(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType___boxed(lean_object*, lean_object*); static const lean_ctor_object l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}}; static const lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0 = (const lean_object*)&l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0_value; LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -347,7 +359,7 @@ LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static const lean_array_object l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}}; static const lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___closed__0 = (const lean_object*)&l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___closed__0_value; @@ -523,10 +535,10 @@ static const lean_ctor_object l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Co static const lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2__value; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_(); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2____boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(uint8_t v_x_1_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(lean_object* v_x_1_){ _start: { -switch(v_x_1_) +switch(lean_obj_tag(v_x_1_)) { case 0: { @@ -564,1046 +576,1070 @@ return v___x_6_; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx___boxed(lean_object* v_x_7_){ _start: { -uint8_t v_x_boxed_8_; lean_object* v_res_9_; -v_x_boxed_8_ = lean_unbox(v_x_7_); -v_res_9_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(v_x_boxed_8_); -return v_res_9_; +lean_object* v_res_8_; +v_res_8_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(v_x_7_); +lean_dec(v_x_7_); +return v_res_8_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_toCtorIdx(uint8_t v_x_10_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(lean_object* v_t_9_, lean_object* v_k_10_){ _start: { -lean_object* v___x_11_; -v___x_11_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorIdx(v_x_10_); -return v___x_11_; +if (lean_obj_tag(v_t_9_) == 0) +{ +uint8_t v_weak_11_; lean_object* v___x_12_; lean_object* v___x_13_; +v_weak_11_ = lean_ctor_get_uint8(v_t_9_, 0); +v___x_12_ = lean_box(v_weak_11_); +v___x_13_ = lean_apply_1(v_k_10_, v___x_12_); +return v___x_13_; +} +else +{ +return v_k_10_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_toCtorIdx___boxed(lean_object* v_x_12_){ +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg___boxed(lean_object* v_t_14_, lean_object* v_k_15_){ _start: { -uint8_t v_x_4__boxed_13_; lean_object* v_res_14_; -v_x_4__boxed_13_ = lean_unbox(v_x_12_); -v_res_14_ = l_Lean_Compiler_LCNF_SpecParamInfo_toCtorIdx(v_x_4__boxed_13_); -return v_res_14_; +lean_object* v_res_16_; +v_res_16_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_14_, v_k_15_); +lean_dec(v_t_14_); +return v_res_16_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(lean_object* v_k_15_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(lean_object* v_motive_17_, lean_object* v_ctorIdx_18_, lean_object* v_t_19_, lean_object* v_h_20_, lean_object* v_k_21_){ _start: { -lean_inc(v_k_15_); -return v_k_15_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg___boxed(lean_object* v_k_16_){ -_start: -{ -lean_object* v_res_17_; -v_res_17_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_k_16_); -lean_dec(v_k_16_); -return v_res_17_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(lean_object* v_motive_18_, lean_object* v_ctorIdx_19_, uint8_t v_t_20_, lean_object* v_h_21_, lean_object* v_k_22_){ -_start: -{ -lean_inc(v_k_22_); -return v_k_22_; +lean_object* v___x_22_; +v___x_22_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_19_, v_k_21_); +return v___x_22_; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___boxed(lean_object* v_motive_23_, lean_object* v_ctorIdx_24_, lean_object* v_t_25_, lean_object* v_h_26_, lean_object* v_k_27_){ _start: { -uint8_t v_t_boxed_28_; lean_object* v_res_29_; -v_t_boxed_28_ = lean_unbox(v_t_25_); -v_res_29_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(v_motive_23_, v_ctorIdx_24_, v_t_boxed_28_, v_h_26_, v_k_27_); -lean_dec(v_k_27_); +lean_object* v_res_28_; +v_res_28_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim(v_motive_23_, v_ctorIdx_24_, v_t_25_, v_h_26_, v_k_27_); +lean_dec(v_t_25_); lean_dec(v_ctorIdx_24_); -return v_res_29_; +return v_res_28_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(lean_object* v_fixedInst_30_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(lean_object* v_t_29_, lean_object* v_fixedInst_30_){ _start: { -lean_inc(v_fixedInst_30_); -return v_fixedInst_30_; +lean_object* v___x_31_; +v___x_31_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_29_, v_fixedInst_30_); +return v___x_31_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg___boxed(lean_object* v_fixedInst_31_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg___boxed(lean_object* v_t_32_, lean_object* v_fixedInst_33_){ _start: { -lean_object* v_res_32_; -v_res_32_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(v_fixedInst_31_); -lean_dec(v_fixedInst_31_); -return v_res_32_; +lean_object* v_res_34_; +v_res_34_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___redArg(v_t_32_, v_fixedInst_33_); +lean_dec(v_t_32_); +return v_res_34_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(lean_object* v_motive_33_, uint8_t v_t_34_, lean_object* v_h_35_, lean_object* v_fixedInst_36_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(lean_object* v_motive_35_, lean_object* v_t_36_, lean_object* v_h_37_, lean_object* v_fixedInst_38_){ _start: { -lean_inc(v_fixedInst_36_); -return v_fixedInst_36_; +lean_object* v___x_39_; +v___x_39_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_36_, v_fixedInst_38_); +return v___x_39_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___boxed(lean_object* v_motive_37_, lean_object* v_t_38_, lean_object* v_h_39_, lean_object* v_fixedInst_40_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim___boxed(lean_object* v_motive_40_, lean_object* v_t_41_, lean_object* v_h_42_, lean_object* v_fixedInst_43_){ _start: { -uint8_t v_t_boxed_41_; lean_object* v_res_42_; -v_t_boxed_41_ = lean_unbox(v_t_38_); -v_res_42_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(v_motive_37_, v_t_boxed_41_, v_h_39_, v_fixedInst_40_); -lean_dec(v_fixedInst_40_); -return v_res_42_; +lean_object* v_res_44_; +v_res_44_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedInst_elim(v_motive_40_, v_t_41_, v_h_42_, v_fixedInst_43_); +lean_dec(v_t_41_); +return v_res_44_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(lean_object* v_fixedHO_43_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(lean_object* v_t_45_, lean_object* v_fixedHO_46_){ _start: { -lean_inc(v_fixedHO_43_); -return v_fixedHO_43_; +lean_object* v___x_47_; +v___x_47_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_45_, v_fixedHO_46_); +return v___x_47_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg___boxed(lean_object* v_fixedHO_44_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg___boxed(lean_object* v_t_48_, lean_object* v_fixedHO_49_){ _start: { -lean_object* v_res_45_; -v_res_45_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(v_fixedHO_44_); -lean_dec(v_fixedHO_44_); -return v_res_45_; +lean_object* v_res_50_; +v_res_50_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___redArg(v_t_48_, v_fixedHO_49_); +lean_dec(v_t_48_); +return v_res_50_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(lean_object* v_motive_46_, uint8_t v_t_47_, lean_object* v_h_48_, lean_object* v_fixedHO_49_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(lean_object* v_motive_51_, lean_object* v_t_52_, lean_object* v_h_53_, lean_object* v_fixedHO_54_){ _start: { -lean_inc(v_fixedHO_49_); -return v_fixedHO_49_; +lean_object* v___x_55_; +v___x_55_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_52_, v_fixedHO_54_); +return v___x_55_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___boxed(lean_object* v_motive_50_, lean_object* v_t_51_, lean_object* v_h_52_, lean_object* v_fixedHO_53_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim___boxed(lean_object* v_motive_56_, lean_object* v_t_57_, lean_object* v_h_58_, lean_object* v_fixedHO_59_){ _start: { -uint8_t v_t_boxed_54_; lean_object* v_res_55_; -v_t_boxed_54_ = lean_unbox(v_t_51_); -v_res_55_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(v_motive_50_, v_t_boxed_54_, v_h_52_, v_fixedHO_53_); -lean_dec(v_fixedHO_53_); -return v_res_55_; +lean_object* v_res_60_; +v_res_60_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedHO_elim(v_motive_56_, v_t_57_, v_h_58_, v_fixedHO_59_); +lean_dec(v_t_57_); +return v_res_60_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(lean_object* v_fixedNeutral_56_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(lean_object* v_t_61_, lean_object* v_fixedNeutral_62_){ _start: { -lean_inc(v_fixedNeutral_56_); -return v_fixedNeutral_56_; +lean_object* v___x_63_; +v___x_63_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_61_, v_fixedNeutral_62_); +return v___x_63_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg___boxed(lean_object* v_fixedNeutral_57_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg___boxed(lean_object* v_t_64_, lean_object* v_fixedNeutral_65_){ _start: { -lean_object* v_res_58_; -v_res_58_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(v_fixedNeutral_57_); -lean_dec(v_fixedNeutral_57_); -return v_res_58_; +lean_object* v_res_66_; +v_res_66_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___redArg(v_t_64_, v_fixedNeutral_65_); +lean_dec(v_t_64_); +return v_res_66_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(lean_object* v_motive_59_, uint8_t v_t_60_, lean_object* v_h_61_, lean_object* v_fixedNeutral_62_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(lean_object* v_motive_67_, lean_object* v_t_68_, lean_object* v_h_69_, lean_object* v_fixedNeutral_70_){ _start: { -lean_inc(v_fixedNeutral_62_); -return v_fixedNeutral_62_; +lean_object* v___x_71_; +v___x_71_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_68_, v_fixedNeutral_70_); +return v___x_71_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___boxed(lean_object* v_motive_63_, lean_object* v_t_64_, lean_object* v_h_65_, lean_object* v_fixedNeutral_66_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim___boxed(lean_object* v_motive_72_, lean_object* v_t_73_, lean_object* v_h_74_, lean_object* v_fixedNeutral_75_){ _start: { -uint8_t v_t_boxed_67_; lean_object* v_res_68_; -v_t_boxed_67_ = lean_unbox(v_t_64_); -v_res_68_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(v_motive_63_, v_t_boxed_67_, v_h_65_, v_fixedNeutral_66_); -lean_dec(v_fixedNeutral_66_); -return v_res_68_; +lean_object* v_res_76_; +v_res_76_ = l_Lean_Compiler_LCNF_SpecParamInfo_fixedNeutral_elim(v_motive_72_, v_t_73_, v_h_74_, v_fixedNeutral_75_); +lean_dec(v_t_73_); +return v_res_76_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(lean_object* v_user_69_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(lean_object* v_t_77_, lean_object* v_user_78_){ _start: { -lean_inc(v_user_69_); -return v_user_69_; +lean_object* v___x_79_; +v___x_79_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_77_, v_user_78_); +return v___x_79_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg___boxed(lean_object* v_user_70_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg___boxed(lean_object* v_t_80_, lean_object* v_user_81_){ _start: { -lean_object* v_res_71_; -v_res_71_ = l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(v_user_70_); -lean_dec(v_user_70_); -return v_res_71_; +lean_object* v_res_82_; +v_res_82_ = l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___redArg(v_t_80_, v_user_81_); +lean_dec(v_t_80_); +return v_res_82_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(lean_object* v_motive_72_, uint8_t v_t_73_, lean_object* v_h_74_, lean_object* v_user_75_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(lean_object* v_motive_83_, lean_object* v_t_84_, lean_object* v_h_85_, lean_object* v_user_86_){ _start: { -lean_inc(v_user_75_); -return v_user_75_; +lean_object* v___x_87_; +v___x_87_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_84_, v_user_86_); +return v___x_87_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___boxed(lean_object* v_motive_76_, lean_object* v_t_77_, lean_object* v_h_78_, lean_object* v_user_79_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_user_elim___boxed(lean_object* v_motive_88_, lean_object* v_t_89_, lean_object* v_h_90_, lean_object* v_user_91_){ _start: { -uint8_t v_t_boxed_80_; lean_object* v_res_81_; -v_t_boxed_80_ = lean_unbox(v_t_77_); -v_res_81_ = l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(v_motive_76_, v_t_boxed_80_, v_h_78_, v_user_79_); -lean_dec(v_user_79_); -return v_res_81_; +lean_object* v_res_92_; +v_res_92_ = l_Lean_Compiler_LCNF_SpecParamInfo_user_elim(v_motive_88_, v_t_89_, v_h_90_, v_user_91_); +lean_dec(v_t_89_); +return v_res_92_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(lean_object* v_other_82_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(lean_object* v_t_93_, lean_object* v_other_94_){ _start: { -lean_inc(v_other_82_); -return v_other_82_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg___boxed(lean_object* v_other_83_){ -_start: -{ -lean_object* v_res_84_; -v_res_84_ = l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(v_other_83_); -lean_dec(v_other_83_); -return v_res_84_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(lean_object* v_motive_85_, uint8_t v_t_86_, lean_object* v_h_87_, lean_object* v_other_88_){ -_start: -{ -lean_inc(v_other_88_); -return v_other_88_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___boxed(lean_object* v_motive_89_, lean_object* v_t_90_, lean_object* v_h_91_, lean_object* v_other_92_){ -_start: -{ -uint8_t v_t_boxed_93_; lean_object* v_res_94_; -v_t_boxed_93_ = lean_unbox(v_t_90_); -v_res_94_ = l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(v_motive_89_, v_t_boxed_93_, v_h_91_, v_other_92_); -lean_dec(v_other_92_); -return v_res_94_; -} -} -static uint8_t _init_l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default(void){ -_start: -{ -uint8_t v___x_95_; -v___x_95_ = 0; +lean_object* v___x_95_; +v___x_95_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_93_, v_other_94_); return v___x_95_; } } -static uint8_t _init_l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo(void){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg___boxed(lean_object* v_t_96_, lean_object* v_other_97_){ _start: { -uint8_t v___x_96_; -v___x_96_ = 0; -return v___x_96_; +lean_object* v_res_98_; +v_res_98_ = l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___redArg(v_t_96_, v_other_97_); +lean_dec(v_t_96_); +return v_res_98_; } } -static lean_object* _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10(void){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(lean_object* v_motive_99_, lean_object* v_t_100_, lean_object* v_h_101_, lean_object* v_other_102_){ _start: { -lean_object* v___x_112_; lean_object* v___x_113_; -v___x_112_ = lean_unsigned_to_nat(2u); -v___x_113_ = lean_nat_to_int(v___x_112_); -return v___x_113_; +lean_object* v___x_103_; +v___x_103_ = l_Lean_Compiler_LCNF_SpecParamInfo_ctorElim___redArg(v_t_100_, v_other_102_); +return v___x_103_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_other_elim___boxed(lean_object* v_motive_104_, lean_object* v_t_105_, lean_object* v_h_106_, lean_object* v_other_107_){ +_start: +{ +lean_object* v_res_108_; +v_res_108_ = l_Lean_Compiler_LCNF_SpecParamInfo_other_elim(v_motive_104_, v_t_105_, v_h_106_, v_other_107_); +lean_dec(v_t_105_); +return v_res_108_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11(void){ _start: { -lean_object* v___x_114_; lean_object* v___x_115_; -v___x_114_ = lean_unsigned_to_nat(1u); -v___x_115_ = lean_nat_to_int(v___x_114_); -return v___x_115_; +lean_object* v___x_131_; lean_object* v___x_132_; +v___x_131_ = lean_unsigned_to_nat(2u); +v___x_132_ = lean_nat_to_int(v___x_131_); +return v___x_132_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(uint8_t v_x_116_, lean_object* v_prec_117_){ +static lean_object* _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12(void){ _start: { -lean_object* v___y_119_; lean_object* v___y_126_; lean_object* v___y_133_; lean_object* v___y_140_; lean_object* v___y_147_; -switch(v_x_116_) +lean_object* v___x_133_; lean_object* v___x_134_; +v___x_133_ = lean_unsigned_to_nat(1u); +v___x_134_ = lean_nat_to_int(v___x_133_); +return v___x_134_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(lean_object* v_x_135_, lean_object* v_prec_136_){ +_start: +{ +lean_object* v___y_138_; lean_object* v___y_145_; lean_object* v___y_152_; lean_object* v___y_159_; +switch(lean_obj_tag(v_x_135_)) { case 0: { -lean_object* v___x_153_; uint8_t v___x_154_; -v___x_153_ = lean_unsigned_to_nat(1024u); -v___x_154_ = lean_nat_dec_le(v___x_153_, v_prec_117_); -if (v___x_154_ == 0) +uint8_t v_weak_165_; lean_object* v___y_167_; lean_object* v___x_175_; uint8_t v___x_176_; +v_weak_165_ = lean_ctor_get_uint8(v_x_135_, 0); +v___x_175_ = lean_unsigned_to_nat(1024u); +v___x_176_ = lean_nat_dec_le(v___x_175_, v_prec_136_); +if (v___x_176_ == 0) { -lean_object* v___x_155_; -v___x_155_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10); -v___y_119_ = v___x_155_; -goto v___jp_118_; +lean_object* v___x_177_; +v___x_177_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); +v___y_167_ = v___x_177_; +goto v___jp_166_; } else { -lean_object* v___x_156_; -v___x_156_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); -v___y_119_ = v___x_156_; -goto v___jp_118_; +lean_object* v___x_178_; +v___x_178_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12); +v___y_167_ = v___x_178_; +goto v___jp_166_; +} +v___jp_166_: +{ +lean_object* v___x_168_; lean_object* v___x_169_; lean_object* v___x_170_; lean_object* v___x_171_; uint8_t v___x_172_; lean_object* v___x_173_; lean_object* v___x_174_; +v___x_168_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10)); +v___x_169_ = l_Bool_repr___redArg(v_weak_165_); +v___x_170_ = lean_alloc_ctor(5, 2, 0); +lean_ctor_set(v___x_170_, 0, v___x_168_); +lean_ctor_set(v___x_170_, 1, v___x_169_); +lean_inc(v___y_167_); +v___x_171_ = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(v___x_171_, 0, v___y_167_); +lean_ctor_set(v___x_171_, 1, v___x_170_); +v___x_172_ = 0; +v___x_173_ = lean_alloc_ctor(6, 1, 1); +lean_ctor_set(v___x_173_, 0, v___x_171_); +lean_ctor_set_uint8(v___x_173_, sizeof(void*)*1, v___x_172_); +v___x_174_ = l_Repr_addAppParen(v___x_173_, v_prec_136_); +return v___x_174_; } } case 1: { -lean_object* v___x_157_; uint8_t v___x_158_; -v___x_157_ = lean_unsigned_to_nat(1024u); -v___x_158_ = lean_nat_dec_le(v___x_157_, v_prec_117_); -if (v___x_158_ == 0) +lean_object* v___x_179_; uint8_t v___x_180_; +v___x_179_ = lean_unsigned_to_nat(1024u); +v___x_180_ = lean_nat_dec_le(v___x_179_, v_prec_136_); +if (v___x_180_ == 0) { -lean_object* v___x_159_; -v___x_159_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10); -v___y_126_ = v___x_159_; -goto v___jp_125_; +lean_object* v___x_181_; +v___x_181_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); +v___y_138_ = v___x_181_; +goto v___jp_137_; } else { -lean_object* v___x_160_; -v___x_160_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); -v___y_126_ = v___x_160_; -goto v___jp_125_; +lean_object* v___x_182_; +v___x_182_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12); +v___y_138_ = v___x_182_; +goto v___jp_137_; } } case 2: { -lean_object* v___x_161_; uint8_t v___x_162_; -v___x_161_ = lean_unsigned_to_nat(1024u); -v___x_162_ = lean_nat_dec_le(v___x_161_, v_prec_117_); -if (v___x_162_ == 0) +lean_object* v___x_183_; uint8_t v___x_184_; +v___x_183_ = lean_unsigned_to_nat(1024u); +v___x_184_ = lean_nat_dec_le(v___x_183_, v_prec_136_); +if (v___x_184_ == 0) { -lean_object* v___x_163_; -v___x_163_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10); -v___y_133_ = v___x_163_; -goto v___jp_132_; +lean_object* v___x_185_; +v___x_185_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); +v___y_145_ = v___x_185_; +goto v___jp_144_; } else { -lean_object* v___x_164_; -v___x_164_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); -v___y_133_ = v___x_164_; -goto v___jp_132_; +lean_object* v___x_186_; +v___x_186_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12); +v___y_145_ = v___x_186_; +goto v___jp_144_; } } case 3: { -lean_object* v___x_165_; uint8_t v___x_166_; -v___x_165_ = lean_unsigned_to_nat(1024u); -v___x_166_ = lean_nat_dec_le(v___x_165_, v_prec_117_); -if (v___x_166_ == 0) +lean_object* v___x_187_; uint8_t v___x_188_; +v___x_187_ = lean_unsigned_to_nat(1024u); +v___x_188_ = lean_nat_dec_le(v___x_187_, v_prec_136_); +if (v___x_188_ == 0) { -lean_object* v___x_167_; -v___x_167_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10); -v___y_140_ = v___x_167_; -goto v___jp_139_; +lean_object* v___x_189_; +v___x_189_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); +v___y_152_ = v___x_189_; +goto v___jp_151_; } else { -lean_object* v___x_168_; -v___x_168_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); -v___y_140_ = v___x_168_; -goto v___jp_139_; +lean_object* v___x_190_; +v___x_190_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12); +v___y_152_ = v___x_190_; +goto v___jp_151_; } } default: { -lean_object* v___x_169_; uint8_t v___x_170_; -v___x_169_ = lean_unsigned_to_nat(1024u); -v___x_170_ = lean_nat_dec_le(v___x_169_, v_prec_117_); -if (v___x_170_ == 0) +lean_object* v___x_191_; uint8_t v___x_192_; +v___x_191_ = lean_unsigned_to_nat(1024u); +v___x_192_ = lean_nat_dec_le(v___x_191_, v_prec_136_); +if (v___x_192_ == 0) { -lean_object* v___x_171_; -v___x_171_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__10); -v___y_147_ = v___x_171_; -goto v___jp_146_; +lean_object* v___x_193_; +v___x_193_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); +v___y_159_ = v___x_193_; +goto v___jp_158_; } else { -lean_object* v___x_172_; -v___x_172_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__11); -v___y_147_ = v___x_172_; -goto v___jp_146_; +lean_object* v___x_194_; +v___x_194_ = lean_obj_once(&l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12, &l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12_once, _init_l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__12); +v___y_159_ = v___x_194_; +goto v___jp_158_; } } } -v___jp_118_: +v___jp_137_: { -lean_object* v___x_120_; lean_object* v___x_121_; uint8_t v___x_122_; lean_object* v___x_123_; lean_object* v___x_124_; -v___x_120_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__1)); -lean_inc(v___y_119_); -v___x_121_ = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(v___x_121_, 0, v___y_119_); -lean_ctor_set(v___x_121_, 1, v___x_120_); -v___x_122_ = 0; -v___x_123_ = lean_alloc_ctor(6, 1, 1); -lean_ctor_set(v___x_123_, 0, v___x_121_); -lean_ctor_set_uint8(v___x_123_, sizeof(void*)*1, v___x_122_); -v___x_124_ = l_Repr_addAppParen(v___x_123_, v_prec_117_); -return v___x_124_; +lean_object* v___x_139_; lean_object* v___x_140_; uint8_t v___x_141_; lean_object* v___x_142_; lean_object* v___x_143_; +v___x_139_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__1)); +lean_inc(v___y_138_); +v___x_140_ = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(v___x_140_, 0, v___y_138_); +lean_ctor_set(v___x_140_, 1, v___x_139_); +v___x_141_ = 0; +v___x_142_ = lean_alloc_ctor(6, 1, 1); +lean_ctor_set(v___x_142_, 0, v___x_140_); +lean_ctor_set_uint8(v___x_142_, sizeof(void*)*1, v___x_141_); +v___x_143_ = l_Repr_addAppParen(v___x_142_, v_prec_136_); +return v___x_143_; } -v___jp_125_: +v___jp_144_: { -lean_object* v___x_127_; lean_object* v___x_128_; uint8_t v___x_129_; lean_object* v___x_130_; lean_object* v___x_131_; -v___x_127_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__3)); -lean_inc(v___y_126_); -v___x_128_ = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(v___x_128_, 0, v___y_126_); -lean_ctor_set(v___x_128_, 1, v___x_127_); -v___x_129_ = 0; -v___x_130_ = lean_alloc_ctor(6, 1, 1); -lean_ctor_set(v___x_130_, 0, v___x_128_); -lean_ctor_set_uint8(v___x_130_, sizeof(void*)*1, v___x_129_); -v___x_131_ = l_Repr_addAppParen(v___x_130_, v_prec_117_); -return v___x_131_; +lean_object* v___x_146_; lean_object* v___x_147_; uint8_t v___x_148_; lean_object* v___x_149_; lean_object* v___x_150_; +v___x_146_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__3)); +lean_inc(v___y_145_); +v___x_147_ = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(v___x_147_, 0, v___y_145_); +lean_ctor_set(v___x_147_, 1, v___x_146_); +v___x_148_ = 0; +v___x_149_ = lean_alloc_ctor(6, 1, 1); +lean_ctor_set(v___x_149_, 0, v___x_147_); +lean_ctor_set_uint8(v___x_149_, sizeof(void*)*1, v___x_148_); +v___x_150_ = l_Repr_addAppParen(v___x_149_, v_prec_136_); +return v___x_150_; } -v___jp_132_: +v___jp_151_: { -lean_object* v___x_134_; lean_object* v___x_135_; uint8_t v___x_136_; lean_object* v___x_137_; lean_object* v___x_138_; -v___x_134_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__5)); -lean_inc(v___y_133_); -v___x_135_ = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(v___x_135_, 0, v___y_133_); -lean_ctor_set(v___x_135_, 1, v___x_134_); -v___x_136_ = 0; -v___x_137_ = lean_alloc_ctor(6, 1, 1); -lean_ctor_set(v___x_137_, 0, v___x_135_); -lean_ctor_set_uint8(v___x_137_, sizeof(void*)*1, v___x_136_); -v___x_138_ = l_Repr_addAppParen(v___x_137_, v_prec_117_); -return v___x_138_; +lean_object* v___x_153_; lean_object* v___x_154_; uint8_t v___x_155_; lean_object* v___x_156_; lean_object* v___x_157_; +v___x_153_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__5)); +lean_inc(v___y_152_); +v___x_154_ = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(v___x_154_, 0, v___y_152_); +lean_ctor_set(v___x_154_, 1, v___x_153_); +v___x_155_ = 0; +v___x_156_ = lean_alloc_ctor(6, 1, 1); +lean_ctor_set(v___x_156_, 0, v___x_154_); +lean_ctor_set_uint8(v___x_156_, sizeof(void*)*1, v___x_155_); +v___x_157_ = l_Repr_addAppParen(v___x_156_, v_prec_136_); +return v___x_157_; } -v___jp_139_: +v___jp_158_: { -lean_object* v___x_141_; lean_object* v___x_142_; uint8_t v___x_143_; lean_object* v___x_144_; lean_object* v___x_145_; -v___x_141_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__7)); -lean_inc(v___y_140_); -v___x_142_ = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(v___x_142_, 0, v___y_140_); -lean_ctor_set(v___x_142_, 1, v___x_141_); -v___x_143_ = 0; -v___x_144_ = lean_alloc_ctor(6, 1, 1); -lean_ctor_set(v___x_144_, 0, v___x_142_); -lean_ctor_set_uint8(v___x_144_, sizeof(void*)*1, v___x_143_); -v___x_145_ = l_Repr_addAppParen(v___x_144_, v_prec_117_); -return v___x_145_; -} -v___jp_146_: -{ -lean_object* v___x_148_; lean_object* v___x_149_; uint8_t v___x_150_; lean_object* v___x_151_; lean_object* v___x_152_; -v___x_148_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__9)); -lean_inc(v___y_147_); -v___x_149_ = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(v___x_149_, 0, v___y_147_); -lean_ctor_set(v___x_149_, 1, v___x_148_); -v___x_150_ = 0; -v___x_151_ = lean_alloc_ctor(6, 1, 1); -lean_ctor_set(v___x_151_, 0, v___x_149_); -lean_ctor_set_uint8(v___x_151_, sizeof(void*)*1, v___x_150_); -v___x_152_ = l_Repr_addAppParen(v___x_151_, v_prec_117_); -return v___x_152_; +lean_object* v___x_160_; lean_object* v___x_161_; uint8_t v___x_162_; lean_object* v___x_163_; lean_object* v___x_164_; +v___x_160_ = ((lean_object*)(l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___closed__7)); +lean_inc(v___y_159_); +v___x_161_ = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(v___x_161_, 0, v___y_159_); +lean_ctor_set(v___x_161_, 1, v___x_160_); +v___x_162_ = 0; +v___x_163_ = lean_alloc_ctor(6, 1, 1); +lean_ctor_set(v___x_163_, 0, v___x_161_); +lean_ctor_set_uint8(v___x_163_, sizeof(void*)*1, v___x_162_); +v___x_164_ = l_Repr_addAppParen(v___x_163_, v_prec_136_); +return v___x_164_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___boxed(lean_object* v_x_173_, lean_object* v_prec_174_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr___boxed(lean_object* v_x_195_, lean_object* v_prec_196_){ _start: { -uint8_t v_x_289__boxed_175_; lean_object* v_res_176_; -v_x_289__boxed_175_ = lean_unbox(v_x_173_); -v_res_176_ = l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(v_x_289__boxed_175_, v_prec_174_); -lean_dec(v_prec_174_); -return v_res_176_; +lean_object* v_res_197_; +v_res_197_ = l_Lean_Compiler_LCNF_instReprSpecParamInfo_repr(v_x_195_, v_prec_196_); +lean_dec(v_prec_196_); +lean_dec(v_x_195_); +return v_res_197_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(uint8_t v_x_179_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(lean_object* v_x_200_){ _start: { -switch(v_x_179_) +switch(lean_obj_tag(v_x_200_)) { +case 0: +{ +uint8_t v_weak_201_; +v_weak_201_ = lean_ctor_get_uint8(v_x_200_, 0); +if (v_weak_201_ == 0) +{ +uint8_t v___x_202_; +v___x_202_ = 1; +return v___x_202_; +} +else +{ +uint8_t v___x_203_; +v___x_203_ = 0; +return v___x_203_; +} +} case 2: { -uint8_t v___x_180_; -v___x_180_ = 0; -return v___x_180_; +uint8_t v___x_204_; +v___x_204_ = 0; +return v___x_204_; } case 4: { -uint8_t v___x_181_; -v___x_181_ = 0; -return v___x_181_; +uint8_t v___x_205_; +v___x_205_ = 0; +return v___x_205_; } default: { -uint8_t v___x_182_; -v___x_182_ = 1; -return v___x_182_; +uint8_t v___x_206_; +v___x_206_ = 1; +return v___x_206_; } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization___boxed(lean_object* v_x_183_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization___boxed(lean_object* v_x_207_){ _start: { -uint8_t v_x_33__boxed_184_; uint8_t v_res_185_; lean_object* v_r_186_; -v_x_33__boxed_184_ = lean_unbox(v_x_183_); -v_res_185_ = l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(v_x_33__boxed_184_); -v_r_186_ = lean_box(v_res_185_); -return v_r_186_; +uint8_t v_res_208_; lean_object* v_r_209_; +v_res_208_ = l_Lean_Compiler_LCNF_SpecParamInfo_causesSpecialization(v_x_207_); +lean_dec(v_x_207_); +v_r_209_ = lean_box(v_res_208_); +return v_r_209_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2(void){ _start: { -lean_object* v___x_190_; lean_object* v___x_191_; -v___x_190_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__1)); -v___x_191_ = l_Lean_MessageData_ofFormat(v___x_190_); -return v___x_191_; +lean_object* v___x_213_; lean_object* v___x_214_; +v___x_213_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__1)); +v___x_214_ = l_Lean_MessageData_ofFormat(v___x_213_); +return v___x_214_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5(void){ _start: { -lean_object* v___x_195_; lean_object* v___x_196_; -v___x_195_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__4)); -v___x_196_ = l_Lean_MessageData_ofFormat(v___x_195_); -return v___x_196_; +lean_object* v___x_218_; lean_object* v___x_219_; +v___x_218_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__4)); +v___x_219_ = l_Lean_MessageData_ofFormat(v___x_218_); +return v___x_219_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8(void){ _start: { -lean_object* v___x_200_; lean_object* v___x_201_; -v___x_200_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__7)); -v___x_201_ = l_Lean_MessageData_ofFormat(v___x_200_); -return v___x_201_; +lean_object* v___x_223_; lean_object* v___x_224_; +v___x_223_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__7)); +v___x_224_ = l_Lean_MessageData_ofFormat(v___x_223_); +return v___x_224_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11(void){ _start: { -lean_object* v___x_205_; lean_object* v___x_206_; -v___x_205_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__10)); -v___x_206_ = l_Lean_MessageData_ofFormat(v___x_205_); -return v___x_206_; +lean_object* v___x_228_; lean_object* v___x_229_; +v___x_228_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__10)); +v___x_229_ = l_Lean_MessageData_ofFormat(v___x_228_); +return v___x_229_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14(void){ _start: { -lean_object* v___x_210_; lean_object* v___x_211_; -v___x_210_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__13)); -v___x_211_ = l_Lean_MessageData_ofFormat(v___x_210_); -return v___x_211_; +lean_object* v___x_233_; lean_object* v___x_234_; +v___x_233_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__13)); +v___x_234_ = l_Lean_MessageData_ofFormat(v___x_233_); +return v___x_234_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(uint8_t v_x_212_){ +static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17(void){ _start: { -switch(v_x_212_) +lean_object* v___x_238_; lean_object* v___x_239_; +v___x_238_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__16)); +v___x_239_ = l_Lean_MessageData_ofFormat(v___x_238_); +return v___x_239_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(lean_object* v_x_240_){ +_start: +{ +switch(lean_obj_tag(v_x_240_)) { case 0: { -lean_object* v___x_213_; -v___x_213_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2); -return v___x_213_; +uint8_t v_weak_241_; +v_weak_241_ = lean_ctor_get_uint8(v_x_240_, 0); +if (v_weak_241_ == 0) +{ +lean_object* v___x_242_; +v___x_242_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2); +return v___x_242_; +} +else +{ +lean_object* v___x_243_; +v___x_243_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5); +return v___x_243_; +} } case 1: { -lean_object* v___x_214_; -v___x_214_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5); -return v___x_214_; +lean_object* v___x_244_; +v___x_244_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8); +return v___x_244_; } case 2: { -lean_object* v___x_215_; -v___x_215_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8); -return v___x_215_; +lean_object* v___x_245_; +v___x_245_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11); +return v___x_245_; } case 3: { -lean_object* v___x_216_; -v___x_216_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11); -return v___x_216_; +lean_object* v___x_246_; +v___x_246_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14); +return v___x_246_; } default: { -lean_object* v___x_217_; -v___x_217_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14); -return v___x_217_; +lean_object* v___x_247_; +v___x_247_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17); +return v___x_247_; } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___boxed(lean_object* v_x_218_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___boxed(lean_object* v_x_248_){ _start: { -uint8_t v_x_166__boxed_219_; lean_object* v_res_220_; -v_x_166__boxed_219_ = lean_unbox(v_x_218_); -v_res_220_ = l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(v_x_166__boxed_219_); -return v_res_220_; +lean_object* v_res_249_; +v_res_249_ = l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0(v_x_248_); +lean_dec(v_x_248_); +return v_res_249_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1(void){ _start: { -lean_object* v___x_232_; lean_object* v___x_233_; -v___x_232_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__0)); -v___x_233_ = l_Lean_stringToMessageData(v___x_232_); -return v___x_233_; +lean_object* v___x_261_; lean_object* v___x_262_; +v___x_261_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__0)); +v___x_262_ = l_Lean_stringToMessageData(v___x_261_); +return v___x_262_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3(void){ _start: { -lean_object* v___x_235_; lean_object* v___x_236_; -v___x_235_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__2)); -v___x_236_ = l_Lean_stringToMessageData(v___x_235_); -return v___x_236_; +lean_object* v___x_264_; lean_object* v___x_265_; +v___x_264_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__2)); +v___x_265_ = l_Lean_stringToMessageData(v___x_264_); +return v___x_265_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1(lean_object* v___f_239_, lean_object* v_x_240_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1(lean_object* v___f_268_, lean_object* v_x_269_){ _start: { -lean_object* v_declName_241_; lean_object* v_paramsInfo_242_; uint8_t v_alreadySpecialized_243_; lean_object* v___x_244_; lean_object* v___x_245_; lean_object* v___x_246_; lean_object* v___y_248_; -v_declName_241_ = lean_ctor_get(v_x_240_, 0); -lean_inc(v_declName_241_); -v_paramsInfo_242_ = lean_ctor_get(v_x_240_, 1); -lean_inc_ref(v_paramsInfo_242_); -v_alreadySpecialized_243_ = lean_ctor_get_uint8(v_x_240_, sizeof(void*)*2); -lean_dec_ref(v_x_240_); -v___x_244_ = l_Lean_MessageData_ofName(v_declName_241_); -v___x_245_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1, &l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1); -v___x_246_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_246_, 0, v___x_244_); -lean_ctor_set(v___x_246_, 1, v___x_245_); -if (v_alreadySpecialized_243_ == 0) +lean_object* v_declName_270_; lean_object* v_paramsInfo_271_; uint8_t v_alreadySpecialized_272_; lean_object* v___x_273_; lean_object* v___x_274_; lean_object* v___x_275_; lean_object* v___y_277_; +v_declName_270_ = lean_ctor_get(v_x_269_, 0); +lean_inc(v_declName_270_); +v_paramsInfo_271_ = lean_ctor_get(v_x_269_, 1); +lean_inc_ref(v_paramsInfo_271_); +v_alreadySpecialized_272_ = lean_ctor_get_uint8(v_x_269_, sizeof(void*)*2); +lean_dec_ref(v_x_269_); +v___x_273_ = l_Lean_MessageData_ofName(v_declName_270_); +v___x_274_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1, &l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__1); +v___x_275_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_275_, 0, v___x_273_); +lean_ctor_set(v___x_275_, 1, v___x_274_); +if (v_alreadySpecialized_272_ == 0) { -lean_object* v___x_259_; -v___x_259_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__4)); -v___y_248_ = v___x_259_; -goto v___jp_247_; +lean_object* v___x_288_; +v___x_288_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__4)); +v___y_277_ = v___x_288_; +goto v___jp_276_; } else { -lean_object* v___x_260_; -v___x_260_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__5)); -v___y_248_ = v___x_260_; -goto v___jp_247_; +lean_object* v___x_289_; +v___x_289_ = ((lean_object*)(l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__5)); +v___y_277_ = v___x_289_; +goto v___jp_276_; } -v___jp_247_: +v___jp_276_: { -lean_object* v___x_249_; lean_object* v___x_250_; lean_object* v___x_251_; lean_object* v___x_252_; lean_object* v___x_253_; lean_object* v___x_254_; lean_object* v___x_255_; lean_object* v___x_256_; lean_object* v___x_257_; lean_object* v___x_258_; -lean_inc_ref(v___y_248_); -v___x_249_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_249_, 0, v___y_248_); -v___x_250_ = l_Lean_MessageData_ofFormat(v___x_249_); -v___x_251_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_251_, 0, v___x_246_); -lean_ctor_set(v___x_251_, 1, v___x_250_); -v___x_252_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3, &l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3); -v___x_253_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_253_, 0, v___x_251_); -lean_ctor_set(v___x_253_, 1, v___x_252_); -v___x_254_ = lean_array_to_list(v_paramsInfo_242_); -v___x_255_ = lean_box(0); -v___x_256_ = l_List_mapTR_loop___redArg(v___f_239_, v___x_254_, v___x_255_); -v___x_257_ = l_Lean_MessageData_ofList(v___x_256_); -v___x_258_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_258_, 0, v___x_253_); -lean_ctor_set(v___x_258_, 1, v___x_257_); -return v___x_258_; +lean_object* v___x_278_; lean_object* v___x_279_; lean_object* v___x_280_; lean_object* v___x_281_; lean_object* v___x_282_; lean_object* v___x_283_; lean_object* v___x_284_; lean_object* v___x_285_; lean_object* v___x_286_; lean_object* v___x_287_; +lean_inc_ref(v___y_277_); +v___x_278_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_278_, 0, v___y_277_); +v___x_279_ = l_Lean_MessageData_ofFormat(v___x_278_); +v___x_280_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_280_, 0, v___x_275_); +lean_ctor_set(v___x_280_, 1, v___x_279_); +v___x_281_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3, &l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecEntry___lam__1___closed__3); +v___x_282_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_282_, 0, v___x_280_); +lean_ctor_set(v___x_282_, 1, v___x_281_); +v___x_283_ = lean_array_to_list(v_paramsInfo_271_); +v___x_284_ = lean_box(0); +v___x_285_ = l_List_mapTR_loop___redArg(v___f_268_, v___x_283_, v___x_284_); +v___x_286_ = l_Lean_MessageData_ofList(v___x_285_); +v___x_287_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_287_, 0, v___x_282_); +lean_ctor_set(v___x_287_, 1, v___x_286_); +return v___x_287_; } } } static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0(void){ _start: { -lean_object* v___x_264_; -v___x_264_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_264_; +lean_object* v___x_293_; +v___x_293_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_293_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1(void){ _start: { -lean_object* v___x_265_; lean_object* v___x_266_; -v___x_265_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0); -v___x_266_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_266_, 0, v___x_265_); -return v___x_266_; +lean_object* v___x_294_; lean_object* v___x_295_; +v___x_294_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__0); +v___x_295_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_295_, 0, v___x_294_); +return v___x_295_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default(void){ _start: { -lean_object* v___x_267_; -v___x_267_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1); -return v___x_267_; +lean_object* v___x_296_; +v___x_296_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1); +return v___x_296_; } } static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSpecState(void){ _start: { -lean_object* v___x_268_; -v___x_268_ = l_Lean_Compiler_LCNF_instInhabitedSpecState_default; -return v___x_268_; +lean_object* v___x_297_; +v___x_297_ = l_Lean_Compiler_LCNF_instInhabitedSpecState_default; +return v___x_297_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(lean_object* v_x_269_, lean_object* v_x_270_, lean_object* v_x_271_, lean_object* v_x_272_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(lean_object* v_x_298_, lean_object* v_x_299_, lean_object* v_x_300_, lean_object* v_x_301_){ _start: { -lean_object* v_ks_273_; lean_object* v_vs_274_; lean_object* v___x_276_; uint8_t v_isShared_277_; uint8_t v_isSharedCheck_298_; -v_ks_273_ = lean_ctor_get(v_x_269_, 0); -v_vs_274_ = lean_ctor_get(v_x_269_, 1); -v_isSharedCheck_298_ = !lean_is_exclusive(v_x_269_); -if (v_isSharedCheck_298_ == 0) +lean_object* v_ks_302_; lean_object* v_vs_303_; lean_object* v___x_305_; uint8_t v_isShared_306_; uint8_t v_isSharedCheck_327_; +v_ks_302_ = lean_ctor_get(v_x_298_, 0); +v_vs_303_ = lean_ctor_get(v_x_298_, 1); +v_isSharedCheck_327_ = !lean_is_exclusive(v_x_298_); +if (v_isSharedCheck_327_ == 0) { -v___x_276_ = v_x_269_; -v_isShared_277_ = v_isSharedCheck_298_; -goto v_resetjp_275_; +v___x_305_ = v_x_298_; +v_isShared_306_ = v_isSharedCheck_327_; +goto v_resetjp_304_; } else { -lean_inc(v_vs_274_); -lean_inc(v_ks_273_); -lean_dec(v_x_269_); -v___x_276_ = lean_box(0); -v_isShared_277_ = v_isSharedCheck_298_; -goto v_resetjp_275_; +lean_inc(v_vs_303_); +lean_inc(v_ks_302_); +lean_dec(v_x_298_); +v___x_305_ = lean_box(0); +v_isShared_306_ = v_isSharedCheck_327_; +goto v_resetjp_304_; } -v_resetjp_275_: +v_resetjp_304_: { -lean_object* v___x_278_; uint8_t v___x_279_; -v___x_278_ = lean_array_get_size(v_ks_273_); -v___x_279_ = lean_nat_dec_lt(v_x_270_, v___x_278_); -if (v___x_279_ == 0) +lean_object* v___x_307_; uint8_t v___x_308_; +v___x_307_ = lean_array_get_size(v_ks_302_); +v___x_308_ = lean_nat_dec_lt(v_x_299_, v___x_307_); +if (v___x_308_ == 0) { -lean_object* v___x_280_; lean_object* v___x_281_; lean_object* v___x_283_; -lean_dec(v_x_270_); -v___x_280_ = lean_array_push(v_ks_273_, v_x_271_); -v___x_281_ = lean_array_push(v_vs_274_, v_x_272_); -if (v_isShared_277_ == 0) +lean_object* v___x_309_; lean_object* v___x_310_; lean_object* v___x_312_; +lean_dec(v_x_299_); +v___x_309_ = lean_array_push(v_ks_302_, v_x_300_); +v___x_310_ = lean_array_push(v_vs_303_, v_x_301_); +if (v_isShared_306_ == 0) { -lean_ctor_set(v___x_276_, 1, v___x_281_); -lean_ctor_set(v___x_276_, 0, v___x_280_); -v___x_283_ = v___x_276_; -goto v_reusejp_282_; +lean_ctor_set(v___x_305_, 1, v___x_310_); +lean_ctor_set(v___x_305_, 0, v___x_309_); +v___x_312_ = v___x_305_; +goto v_reusejp_311_; } else { -lean_object* v_reuseFailAlloc_284_; -v_reuseFailAlloc_284_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_284_, 0, v___x_280_); -lean_ctor_set(v_reuseFailAlloc_284_, 1, v___x_281_); -v___x_283_ = v_reuseFailAlloc_284_; -goto v_reusejp_282_; +lean_object* v_reuseFailAlloc_313_; +v_reuseFailAlloc_313_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_313_, 0, v___x_309_); +lean_ctor_set(v_reuseFailAlloc_313_, 1, v___x_310_); +v___x_312_ = v_reuseFailAlloc_313_; +goto v_reusejp_311_; } -v_reusejp_282_: +v_reusejp_311_: { -return v___x_283_; +return v___x_312_; } } else { -lean_object* v_k_x27_285_; uint8_t v___x_286_; -v_k_x27_285_ = lean_array_fget_borrowed(v_ks_273_, v_x_270_); -v___x_286_ = lean_name_eq(v_x_271_, v_k_x27_285_); -if (v___x_286_ == 0) +lean_object* v_k_x27_314_; uint8_t v___x_315_; +v_k_x27_314_ = lean_array_fget_borrowed(v_ks_302_, v_x_299_); +v___x_315_ = lean_name_eq(v_x_300_, v_k_x27_314_); +if (v___x_315_ == 0) { -lean_object* v___x_288_; -if (v_isShared_277_ == 0) +lean_object* v___x_317_; +if (v_isShared_306_ == 0) { -v___x_288_ = v___x_276_; -goto v_reusejp_287_; +v___x_317_ = v___x_305_; +goto v_reusejp_316_; } else { -lean_object* v_reuseFailAlloc_292_; -v_reuseFailAlloc_292_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_292_, 0, v_ks_273_); -lean_ctor_set(v_reuseFailAlloc_292_, 1, v_vs_274_); -v___x_288_ = v_reuseFailAlloc_292_; -goto v_reusejp_287_; +lean_object* v_reuseFailAlloc_321_; +v_reuseFailAlloc_321_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_321_, 0, v_ks_302_); +lean_ctor_set(v_reuseFailAlloc_321_, 1, v_vs_303_); +v___x_317_ = v_reuseFailAlloc_321_; +goto v_reusejp_316_; } -v_reusejp_287_: +v_reusejp_316_: { -lean_object* v___x_289_; lean_object* v___x_290_; -v___x_289_ = lean_unsigned_to_nat(1u); -v___x_290_ = lean_nat_add(v_x_270_, v___x_289_); -lean_dec(v_x_270_); -v_x_269_ = v___x_288_; -v_x_270_ = v___x_290_; +lean_object* v___x_318_; lean_object* v___x_319_; +v___x_318_ = lean_unsigned_to_nat(1u); +v___x_319_ = lean_nat_add(v_x_299_, v___x_318_); +lean_dec(v_x_299_); +v_x_298_ = v___x_317_; +v_x_299_ = v___x_319_; goto _start; } } else { -lean_object* v___x_293_; lean_object* v___x_294_; lean_object* v___x_296_; -v___x_293_ = lean_array_fset(v_ks_273_, v_x_270_, v_x_271_); -v___x_294_ = lean_array_fset(v_vs_274_, v_x_270_, v_x_272_); -lean_dec(v_x_270_); -if (v_isShared_277_ == 0) +lean_object* v___x_322_; lean_object* v___x_323_; lean_object* v___x_325_; +v___x_322_ = lean_array_fset(v_ks_302_, v_x_299_, v_x_300_); +v___x_323_ = lean_array_fset(v_vs_303_, v_x_299_, v_x_301_); +lean_dec(v_x_299_); +if (v_isShared_306_ == 0) { -lean_ctor_set(v___x_276_, 1, v___x_294_); -lean_ctor_set(v___x_276_, 0, v___x_293_); -v___x_296_ = v___x_276_; -goto v_reusejp_295_; +lean_ctor_set(v___x_305_, 1, v___x_323_); +lean_ctor_set(v___x_305_, 0, v___x_322_); +v___x_325_ = v___x_305_; +goto v_reusejp_324_; } else { -lean_object* v_reuseFailAlloc_297_; -v_reuseFailAlloc_297_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_297_, 0, v___x_293_); -lean_ctor_set(v_reuseFailAlloc_297_, 1, v___x_294_); -v___x_296_ = v_reuseFailAlloc_297_; -goto v_reusejp_295_; +lean_object* v_reuseFailAlloc_326_; +v_reuseFailAlloc_326_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_326_, 0, v___x_322_); +lean_ctor_set(v_reuseFailAlloc_326_, 1, v___x_323_); +v___x_325_ = v_reuseFailAlloc_326_; +goto v_reusejp_324_; } -v_reusejp_295_: +v_reusejp_324_: { -return v___x_296_; +return v___x_325_; } } } } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(lean_object* v_n_299_, lean_object* v_k_300_, lean_object* v_v_301_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(lean_object* v_n_328_, lean_object* v_k_329_, lean_object* v_v_330_){ _start: { -lean_object* v___x_302_; lean_object* v___x_303_; -v___x_302_ = lean_unsigned_to_nat(0u); -v___x_303_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(v_n_299_, v___x_302_, v_k_300_, v_v_301_); -return v___x_303_; +lean_object* v___x_331_; lean_object* v___x_332_; +v___x_331_ = lean_unsigned_to_nat(0u); +v___x_332_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(v_n_328_, v___x_331_, v_k_329_, v_v_330_); +return v___x_332_; } } static uint64_t _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0(void){ _start: { -lean_object* v___x_304_; uint64_t v___x_305_; -v___x_304_ = lean_unsigned_to_nat(1723u); -v___x_305_ = lean_uint64_of_nat(v___x_304_); -return v___x_305_; +lean_object* v___x_333_; uint64_t v___x_334_; +v___x_333_ = lean_unsigned_to_nat(1723u); +v___x_334_ = lean_uint64_of_nat(v___x_333_); +return v___x_334_; } } static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0(void){ _start: { -size_t v___x_306_; size_t v___x_307_; size_t v___x_308_; -v___x_306_ = ((size_t)5ULL); -v___x_307_ = ((size_t)1ULL); -v___x_308_ = lean_usize_shift_left(v___x_307_, v___x_306_); -return v___x_308_; +size_t v___x_335_; size_t v___x_336_; size_t v___x_337_; +v___x_335_ = ((size_t)5ULL); +v___x_336_ = ((size_t)1ULL); +v___x_337_ = lean_usize_shift_left(v___x_336_, v___x_335_); +return v___x_337_; } } static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1(void){ _start: { -size_t v___x_309_; size_t v___x_310_; size_t v___x_311_; -v___x_309_ = ((size_t)1ULL); -v___x_310_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0); -v___x_311_ = lean_usize_sub(v___x_310_, v___x_309_); -return v___x_311_; +size_t v___x_338_; size_t v___x_339_; size_t v___x_340_; +v___x_338_ = ((size_t)1ULL); +v___x_339_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__0); +v___x_340_ = lean_usize_sub(v___x_339_, v___x_338_); +return v___x_340_; } } static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2(void){ _start: { -lean_object* v___x_312_; -v___x_312_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0)); -return v___x_312_; +lean_object* v___x_341_; +v___x_341_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0)); +return v___x_341_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(lean_object* v_x_313_, size_t v_x_314_, size_t v_x_315_, lean_object* v_x_316_, lean_object* v_x_317_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(lean_object* v_x_342_, size_t v_x_343_, size_t v_x_344_, lean_object* v_x_345_, lean_object* v_x_346_){ _start: { -if (lean_obj_tag(v_x_313_) == 0) +if (lean_obj_tag(v_x_342_) == 0) { -lean_object* v_es_318_; size_t v___x_319_; size_t v___x_320_; size_t v___x_321_; size_t v___x_322_; lean_object* v_j_323_; lean_object* v___x_324_; uint8_t v___x_325_; -v_es_318_ = lean_ctor_get(v_x_313_, 0); -v___x_319_ = ((size_t)5ULL); -v___x_320_ = ((size_t)1ULL); -v___x_321_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); -v___x_322_ = lean_usize_land(v_x_314_, v___x_321_); -v_j_323_ = lean_usize_to_nat(v___x_322_); -v___x_324_ = lean_array_get_size(v_es_318_); -v___x_325_ = lean_nat_dec_lt(v_j_323_, v___x_324_); -if (v___x_325_ == 0) +lean_object* v_es_347_; size_t v___x_348_; size_t v___x_349_; size_t v___x_350_; size_t v___x_351_; lean_object* v_j_352_; lean_object* v___x_353_; uint8_t v___x_354_; +v_es_347_ = lean_ctor_get(v_x_342_, 0); +v___x_348_ = ((size_t)5ULL); +v___x_349_ = ((size_t)1ULL); +v___x_350_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); +v___x_351_ = lean_usize_land(v_x_343_, v___x_350_); +v_j_352_ = lean_usize_to_nat(v___x_351_); +v___x_353_ = lean_array_get_size(v_es_347_); +v___x_354_ = lean_nat_dec_lt(v_j_352_, v___x_353_); +if (v___x_354_ == 0) { -lean_dec(v_j_323_); -lean_dec(v_x_317_); -lean_dec(v_x_316_); -return v_x_313_; +lean_dec(v_j_352_); +lean_dec(v_x_346_); +lean_dec(v_x_345_); +return v_x_342_; } else { -lean_object* v___x_327_; uint8_t v_isShared_328_; uint8_t v_isSharedCheck_362_; -lean_inc_ref(v_es_318_); -v_isSharedCheck_362_ = !lean_is_exclusive(v_x_313_); -if (v_isSharedCheck_362_ == 0) +lean_object* v___x_356_; uint8_t v_isShared_357_; uint8_t v_isSharedCheck_391_; +lean_inc_ref(v_es_347_); +v_isSharedCheck_391_ = !lean_is_exclusive(v_x_342_); +if (v_isSharedCheck_391_ == 0) { -lean_object* v_unused_363_; -v_unused_363_ = lean_ctor_get(v_x_313_, 0); -lean_dec(v_unused_363_); -v___x_327_ = v_x_313_; -v_isShared_328_ = v_isSharedCheck_362_; -goto v_resetjp_326_; +lean_object* v_unused_392_; +v_unused_392_ = lean_ctor_get(v_x_342_, 0); +lean_dec(v_unused_392_); +v___x_356_ = v_x_342_; +v_isShared_357_ = v_isSharedCheck_391_; +goto v_resetjp_355_; } else { -lean_dec(v_x_313_); -v___x_327_ = lean_box(0); -v_isShared_328_ = v_isSharedCheck_362_; -goto v_resetjp_326_; +lean_dec(v_x_342_); +v___x_356_ = lean_box(0); +v_isShared_357_ = v_isSharedCheck_391_; +goto v_resetjp_355_; } -v_resetjp_326_: +v_resetjp_355_: { -lean_object* v_v_329_; lean_object* v___x_330_; lean_object* v_xs_x27_331_; lean_object* v___y_333_; -v_v_329_ = lean_array_fget(v_es_318_, v_j_323_); -v___x_330_ = lean_box(0); -v_xs_x27_331_ = lean_array_fset(v_es_318_, v_j_323_, v___x_330_); -switch(lean_obj_tag(v_v_329_)) +lean_object* v_v_358_; lean_object* v___x_359_; lean_object* v_xs_x27_360_; lean_object* v___y_362_; +v_v_358_ = lean_array_fget(v_es_347_, v_j_352_); +v___x_359_ = lean_box(0); +v_xs_x27_360_ = lean_array_fset(v_es_347_, v_j_352_, v___x_359_); +switch(lean_obj_tag(v_v_358_)) { case 0: { -lean_object* v_key_338_; lean_object* v_val_339_; lean_object* v___x_341_; uint8_t v_isShared_342_; uint8_t v_isSharedCheck_349_; -v_key_338_ = lean_ctor_get(v_v_329_, 0); -v_val_339_ = lean_ctor_get(v_v_329_, 1); -v_isSharedCheck_349_ = !lean_is_exclusive(v_v_329_); -if (v_isSharedCheck_349_ == 0) +lean_object* v_key_367_; lean_object* v_val_368_; lean_object* v___x_370_; uint8_t v_isShared_371_; uint8_t v_isSharedCheck_378_; +v_key_367_ = lean_ctor_get(v_v_358_, 0); +v_val_368_ = lean_ctor_get(v_v_358_, 1); +v_isSharedCheck_378_ = !lean_is_exclusive(v_v_358_); +if (v_isSharedCheck_378_ == 0) { -v___x_341_ = v_v_329_; -v_isShared_342_ = v_isSharedCheck_349_; -goto v_resetjp_340_; +v___x_370_ = v_v_358_; +v_isShared_371_ = v_isSharedCheck_378_; +goto v_resetjp_369_; } else { -lean_inc(v_val_339_); -lean_inc(v_key_338_); -lean_dec(v_v_329_); -v___x_341_ = lean_box(0); -v_isShared_342_ = v_isSharedCheck_349_; -goto v_resetjp_340_; +lean_inc(v_val_368_); +lean_inc(v_key_367_); +lean_dec(v_v_358_); +v___x_370_ = lean_box(0); +v_isShared_371_ = v_isSharedCheck_378_; +goto v_resetjp_369_; } -v_resetjp_340_: +v_resetjp_369_: { -uint8_t v___x_343_; -v___x_343_ = lean_name_eq(v_x_316_, v_key_338_); -if (v___x_343_ == 0) +uint8_t v___x_372_; +v___x_372_ = lean_name_eq(v_x_345_, v_key_367_); +if (v___x_372_ == 0) { -lean_object* v___x_344_; lean_object* v___x_345_; -lean_del_object(v___x_341_); -v___x_344_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_338_, v_val_339_, v_x_316_, v_x_317_); -v___x_345_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_345_, 0, v___x_344_); -v___y_333_ = v___x_345_; -goto v___jp_332_; +lean_object* v___x_373_; lean_object* v___x_374_; +lean_del_object(v___x_370_); +v___x_373_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_367_, v_val_368_, v_x_345_, v_x_346_); +v___x_374_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_374_, 0, v___x_373_); +v___y_362_ = v___x_374_; +goto v___jp_361_; } else { -lean_object* v___x_347_; -lean_dec(v_val_339_); -lean_dec(v_key_338_); -if (v_isShared_342_ == 0) +lean_object* v___x_376_; +lean_dec(v_val_368_); +lean_dec(v_key_367_); +if (v_isShared_371_ == 0) { -lean_ctor_set(v___x_341_, 1, v_x_317_); -lean_ctor_set(v___x_341_, 0, v_x_316_); -v___x_347_ = v___x_341_; -goto v_reusejp_346_; +lean_ctor_set(v___x_370_, 1, v_x_346_); +lean_ctor_set(v___x_370_, 0, v_x_345_); +v___x_376_ = v___x_370_; +goto v_reusejp_375_; } else { -lean_object* v_reuseFailAlloc_348_; -v_reuseFailAlloc_348_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_348_, 0, v_x_316_); -lean_ctor_set(v_reuseFailAlloc_348_, 1, v_x_317_); -v___x_347_ = v_reuseFailAlloc_348_; -goto v_reusejp_346_; +lean_object* v_reuseFailAlloc_377_; +v_reuseFailAlloc_377_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_377_, 0, v_x_345_); +lean_ctor_set(v_reuseFailAlloc_377_, 1, v_x_346_); +v___x_376_ = v_reuseFailAlloc_377_; +goto v_reusejp_375_; } -v_reusejp_346_: +v_reusejp_375_: { -v___y_333_ = v___x_347_; -goto v___jp_332_; +v___y_362_ = v___x_376_; +goto v___jp_361_; } } } } case 1: { -lean_object* v_node_350_; lean_object* v___x_352_; uint8_t v_isShared_353_; uint8_t v_isSharedCheck_360_; -v_node_350_ = lean_ctor_get(v_v_329_, 0); -v_isSharedCheck_360_ = !lean_is_exclusive(v_v_329_); -if (v_isSharedCheck_360_ == 0) +lean_object* v_node_379_; lean_object* v___x_381_; uint8_t v_isShared_382_; uint8_t v_isSharedCheck_389_; +v_node_379_ = lean_ctor_get(v_v_358_, 0); +v_isSharedCheck_389_ = !lean_is_exclusive(v_v_358_); +if (v_isSharedCheck_389_ == 0) { -v___x_352_ = v_v_329_; -v_isShared_353_ = v_isSharedCheck_360_; -goto v_resetjp_351_; +v___x_381_ = v_v_358_; +v_isShared_382_ = v_isSharedCheck_389_; +goto v_resetjp_380_; } else { -lean_inc(v_node_350_); -lean_dec(v_v_329_); -v___x_352_ = lean_box(0); -v_isShared_353_ = v_isSharedCheck_360_; -goto v_resetjp_351_; +lean_inc(v_node_379_); +lean_dec(v_v_358_); +v___x_381_ = lean_box(0); +v_isShared_382_ = v_isSharedCheck_389_; +goto v_resetjp_380_; } -v_resetjp_351_: +v_resetjp_380_: { -size_t v___x_354_; size_t v___x_355_; lean_object* v___x_356_; lean_object* v___x_358_; -v___x_354_ = lean_usize_shift_right(v_x_314_, v___x_319_); -v___x_355_ = lean_usize_add(v_x_315_, v___x_320_); -v___x_356_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_node_350_, v___x_354_, v___x_355_, v_x_316_, v_x_317_); -if (v_isShared_353_ == 0) +size_t v___x_383_; size_t v___x_384_; lean_object* v___x_385_; lean_object* v___x_387_; +v___x_383_ = lean_usize_shift_right(v_x_343_, v___x_348_); +v___x_384_ = lean_usize_add(v_x_344_, v___x_349_); +v___x_385_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_node_379_, v___x_383_, v___x_384_, v_x_345_, v_x_346_); +if (v_isShared_382_ == 0) { -lean_ctor_set(v___x_352_, 0, v___x_356_); -v___x_358_ = v___x_352_; -goto v_reusejp_357_; +lean_ctor_set(v___x_381_, 0, v___x_385_); +v___x_387_ = v___x_381_; +goto v_reusejp_386_; } else { -lean_object* v_reuseFailAlloc_359_; -v_reuseFailAlloc_359_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_359_, 0, v___x_356_); -v___x_358_ = v_reuseFailAlloc_359_; -goto v_reusejp_357_; +lean_object* v_reuseFailAlloc_388_; +v_reuseFailAlloc_388_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_388_, 0, v___x_385_); +v___x_387_ = v_reuseFailAlloc_388_; +goto v_reusejp_386_; } -v_reusejp_357_: +v_reusejp_386_: { -v___y_333_ = v___x_358_; -goto v___jp_332_; +v___y_362_ = v___x_387_; +goto v___jp_361_; } } } default: { -lean_object* v___x_361_; -v___x_361_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_361_, 0, v_x_316_); -lean_ctor_set(v___x_361_, 1, v_x_317_); -v___y_333_ = v___x_361_; -goto v___jp_332_; +lean_object* v___x_390_; +v___x_390_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_390_, 0, v_x_345_); +lean_ctor_set(v___x_390_, 1, v_x_346_); +v___y_362_ = v___x_390_; +goto v___jp_361_; } } -v___jp_332_: +v___jp_361_: { -lean_object* v___x_334_; lean_object* v___x_336_; -v___x_334_ = lean_array_fset(v_xs_x27_331_, v_j_323_, v___y_333_); -lean_dec(v_j_323_); -if (v_isShared_328_ == 0) +lean_object* v___x_363_; lean_object* v___x_365_; +v___x_363_ = lean_array_fset(v_xs_x27_360_, v_j_352_, v___y_362_); +lean_dec(v_j_352_); +if (v_isShared_357_ == 0) { -lean_ctor_set(v___x_327_, 0, v___x_334_); -v___x_336_ = v___x_327_; -goto v_reusejp_335_; +lean_ctor_set(v___x_356_, 0, v___x_363_); +v___x_365_ = v___x_356_; +goto v_reusejp_364_; } else { -lean_object* v_reuseFailAlloc_337_; -v_reuseFailAlloc_337_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_337_, 0, v___x_334_); -v___x_336_ = v_reuseFailAlloc_337_; -goto v_reusejp_335_; +lean_object* v_reuseFailAlloc_366_; +v_reuseFailAlloc_366_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_366_, 0, v___x_363_); +v___x_365_ = v_reuseFailAlloc_366_; +goto v_reusejp_364_; } -v_reusejp_335_: +v_reusejp_364_: { -return v___x_336_; +return v___x_365_; } } } @@ -1611,83 +1647,83 @@ return v___x_336_; } else { -lean_object* v_ks_364_; lean_object* v_vs_365_; lean_object* v___x_367_; uint8_t v_isShared_368_; uint8_t v_isSharedCheck_385_; -v_ks_364_ = lean_ctor_get(v_x_313_, 0); -v_vs_365_ = lean_ctor_get(v_x_313_, 1); -v_isSharedCheck_385_ = !lean_is_exclusive(v_x_313_); -if (v_isSharedCheck_385_ == 0) +lean_object* v_ks_393_; lean_object* v_vs_394_; lean_object* v___x_396_; uint8_t v_isShared_397_; uint8_t v_isSharedCheck_414_; +v_ks_393_ = lean_ctor_get(v_x_342_, 0); +v_vs_394_ = lean_ctor_get(v_x_342_, 1); +v_isSharedCheck_414_ = !lean_is_exclusive(v_x_342_); +if (v_isSharedCheck_414_ == 0) { -v___x_367_ = v_x_313_; -v_isShared_368_ = v_isSharedCheck_385_; -goto v_resetjp_366_; +v___x_396_ = v_x_342_; +v_isShared_397_ = v_isSharedCheck_414_; +goto v_resetjp_395_; } else { -lean_inc(v_vs_365_); -lean_inc(v_ks_364_); -lean_dec(v_x_313_); -v___x_367_ = lean_box(0); -v_isShared_368_ = v_isSharedCheck_385_; -goto v_resetjp_366_; +lean_inc(v_vs_394_); +lean_inc(v_ks_393_); +lean_dec(v_x_342_); +v___x_396_ = lean_box(0); +v_isShared_397_ = v_isSharedCheck_414_; +goto v_resetjp_395_; } -v_resetjp_366_: +v_resetjp_395_: { -lean_object* v___x_370_; -if (v_isShared_368_ == 0) +lean_object* v___x_399_; +if (v_isShared_397_ == 0) { -v___x_370_ = v___x_367_; -goto v_reusejp_369_; +v___x_399_ = v___x_396_; +goto v_reusejp_398_; } else { -lean_object* v_reuseFailAlloc_384_; -v_reuseFailAlloc_384_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_384_, 0, v_ks_364_); -lean_ctor_set(v_reuseFailAlloc_384_, 1, v_vs_365_); -v___x_370_ = v_reuseFailAlloc_384_; -goto v_reusejp_369_; +lean_object* v_reuseFailAlloc_413_; +v_reuseFailAlloc_413_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_413_, 0, v_ks_393_); +lean_ctor_set(v_reuseFailAlloc_413_, 1, v_vs_394_); +v___x_399_ = v_reuseFailAlloc_413_; +goto v_reusejp_398_; } -v_reusejp_369_: +v_reusejp_398_: { -lean_object* v_newNode_371_; uint8_t v___y_373_; size_t v___x_379_; uint8_t v___x_380_; -v_newNode_371_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(v___x_370_, v_x_316_, v_x_317_); -v___x_379_ = ((size_t)7ULL); -v___x_380_ = lean_usize_dec_le(v___x_379_, v_x_315_); -if (v___x_380_ == 0) +lean_object* v_newNode_400_; uint8_t v___y_402_; size_t v___x_408_; uint8_t v___x_409_; +v_newNode_400_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(v___x_399_, v_x_345_, v_x_346_); +v___x_408_ = ((size_t)7ULL); +v___x_409_ = lean_usize_dec_le(v___x_408_, v_x_344_); +if (v___x_409_ == 0) { -lean_object* v___x_381_; lean_object* v___x_382_; uint8_t v___x_383_; -v___x_381_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_371_); -v___x_382_ = lean_unsigned_to_nat(4u); -v___x_383_ = lean_nat_dec_lt(v___x_381_, v___x_382_); -lean_dec(v___x_381_); -v___y_373_ = v___x_383_; -goto v___jp_372_; +lean_object* v___x_410_; lean_object* v___x_411_; uint8_t v___x_412_; +v___x_410_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_400_); +v___x_411_ = lean_unsigned_to_nat(4u); +v___x_412_ = lean_nat_dec_lt(v___x_410_, v___x_411_); +lean_dec(v___x_410_); +v___y_402_ = v___x_412_; +goto v___jp_401_; } else { -v___y_373_ = v___x_380_; -goto v___jp_372_; +v___y_402_ = v___x_409_; +goto v___jp_401_; } -v___jp_372_: +v___jp_401_: { -if (v___y_373_ == 0) +if (v___y_402_ == 0) { -lean_object* v_ks_374_; lean_object* v_vs_375_; lean_object* v___x_376_; lean_object* v___x_377_; lean_object* v___x_378_; -v_ks_374_ = lean_ctor_get(v_newNode_371_, 0); -lean_inc_ref(v_ks_374_); -v_vs_375_ = lean_ctor_get(v_newNode_371_, 1); -lean_inc_ref(v_vs_375_); -lean_dec_ref(v_newNode_371_); -v___x_376_ = lean_unsigned_to_nat(0u); -v___x_377_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2); -v___x_378_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_x_315_, v_ks_374_, v_vs_375_, v___x_376_, v___x_377_); -lean_dec_ref(v_vs_375_); -lean_dec_ref(v_ks_374_); -return v___x_378_; +lean_object* v_ks_403_; lean_object* v_vs_404_; lean_object* v___x_405_; lean_object* v___x_406_; lean_object* v___x_407_; +v_ks_403_ = lean_ctor_get(v_newNode_400_, 0); +lean_inc_ref(v_ks_403_); +v_vs_404_ = lean_ctor_get(v_newNode_400_, 1); +lean_inc_ref(v_vs_404_); +lean_dec_ref(v_newNode_400_); +v___x_405_ = lean_unsigned_to_nat(0u); +v___x_406_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__2); +v___x_407_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_x_344_, v_ks_403_, v_vs_404_, v___x_405_, v___x_406_); +lean_dec_ref(v_vs_404_); +lean_dec_ref(v_ks_403_); +return v___x_407_; } else { -return v_newNode_371_; +return v_newNode_400_; } } } @@ -1695,3068 +1731,3154 @@ return v_newNode_371_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(size_t v_depth_386_, lean_object* v_keys_387_, lean_object* v_vals_388_, lean_object* v_i_389_, lean_object* v_entries_390_){ +LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(size_t v_depth_415_, lean_object* v_keys_416_, lean_object* v_vals_417_, lean_object* v_i_418_, lean_object* v_entries_419_){ _start: { -lean_object* v___x_391_; uint8_t v___x_392_; -v___x_391_ = lean_array_get_size(v_keys_387_); -v___x_392_ = lean_nat_dec_lt(v_i_389_, v___x_391_); -if (v___x_392_ == 0) +lean_object* v___x_420_; uint8_t v___x_421_; +v___x_420_ = lean_array_get_size(v_keys_416_); +v___x_421_ = lean_nat_dec_lt(v_i_418_, v___x_420_); +if (v___x_421_ == 0) { -lean_dec(v_i_389_); -return v_entries_390_; +lean_dec(v_i_418_); +return v_entries_419_; } else { -lean_object* v_k_393_; lean_object* v_v_394_; uint64_t v___y_396_; -v_k_393_ = lean_array_fget_borrowed(v_keys_387_, v_i_389_); -v_v_394_ = lean_array_fget_borrowed(v_vals_388_, v_i_389_); -if (lean_obj_tag(v_k_393_) == 0) +lean_object* v_k_422_; lean_object* v_v_423_; uint64_t v___y_425_; +v_k_422_ = lean_array_fget_borrowed(v_keys_416_, v_i_418_); +v_v_423_ = lean_array_fget_borrowed(v_vals_417_, v_i_418_); +if (lean_obj_tag(v_k_422_) == 0) { -uint64_t v___x_407_; -v___x_407_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); -v___y_396_ = v___x_407_; -goto v___jp_395_; +uint64_t v___x_436_; +v___x_436_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); +v___y_425_ = v___x_436_; +goto v___jp_424_; } else { -uint64_t v_hash_408_; -v_hash_408_ = lean_ctor_get_uint64(v_k_393_, sizeof(void*)*2); -v___y_396_ = v_hash_408_; -goto v___jp_395_; +uint64_t v_hash_437_; +v_hash_437_ = lean_ctor_get_uint64(v_k_422_, sizeof(void*)*2); +v___y_425_ = v_hash_437_; +goto v___jp_424_; } -v___jp_395_: +v___jp_424_: { -size_t v_h_397_; size_t v___x_398_; lean_object* v___x_399_; size_t v___x_400_; size_t v___x_401_; size_t v___x_402_; size_t v_h_403_; lean_object* v___x_404_; lean_object* v___x_405_; -v_h_397_ = lean_uint64_to_usize(v___y_396_); -v___x_398_ = ((size_t)5ULL); -v___x_399_ = lean_unsigned_to_nat(1u); -v___x_400_ = ((size_t)1ULL); -v___x_401_ = lean_usize_sub(v_depth_386_, v___x_400_); -v___x_402_ = lean_usize_mul(v___x_398_, v___x_401_); -v_h_403_ = lean_usize_shift_right(v_h_397_, v___x_402_); -v___x_404_ = lean_nat_add(v_i_389_, v___x_399_); -lean_dec(v_i_389_); -lean_inc(v_v_394_); -lean_inc(v_k_393_); -v___x_405_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_entries_390_, v_h_403_, v_depth_386_, v_k_393_, v_v_394_); -v_i_389_ = v___x_404_; -v_entries_390_ = v___x_405_; +size_t v_h_426_; size_t v___x_427_; lean_object* v___x_428_; size_t v___x_429_; size_t v___x_430_; size_t v___x_431_; size_t v_h_432_; lean_object* v___x_433_; lean_object* v___x_434_; +v_h_426_ = lean_uint64_to_usize(v___y_425_); +v___x_427_ = ((size_t)5ULL); +v___x_428_ = lean_unsigned_to_nat(1u); +v___x_429_ = ((size_t)1ULL); +v___x_430_ = lean_usize_sub(v_depth_415_, v___x_429_); +v___x_431_ = lean_usize_mul(v___x_427_, v___x_430_); +v_h_432_ = lean_usize_shift_right(v_h_426_, v___x_431_); +v___x_433_ = lean_nat_add(v_i_418_, v___x_428_); +lean_dec(v_i_418_); +lean_inc(v_v_423_); +lean_inc(v_k_422_); +v___x_434_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_entries_419_, v_h_432_, v_depth_415_, v_k_422_, v_v_423_); +v_i_418_ = v___x_433_; +v_entries_419_ = v___x_434_; goto _start; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___boxed(lean_object* v_depth_409_, lean_object* v_keys_410_, lean_object* v_vals_411_, lean_object* v_i_412_, lean_object* v_entries_413_){ +LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___boxed(lean_object* v_depth_438_, lean_object* v_keys_439_, lean_object* v_vals_440_, lean_object* v_i_441_, lean_object* v_entries_442_){ _start: { -size_t v_depth_boxed_414_; lean_object* v_res_415_; -v_depth_boxed_414_ = lean_unbox_usize(v_depth_409_); -lean_dec(v_depth_409_); -v_res_415_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_depth_boxed_414_, v_keys_410_, v_vals_411_, v_i_412_, v_entries_413_); -lean_dec_ref(v_vals_411_); -lean_dec_ref(v_keys_410_); -return v_res_415_; +size_t v_depth_boxed_443_; lean_object* v_res_444_; +v_depth_boxed_443_ = lean_unbox_usize(v_depth_438_); +lean_dec(v_depth_438_); +v_res_444_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_depth_boxed_443_, v_keys_439_, v_vals_440_, v_i_441_, v_entries_442_); +lean_dec_ref(v_vals_440_); +lean_dec_ref(v_keys_439_); +return v_res_444_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___boxed(lean_object* v_x_416_, lean_object* v_x_417_, lean_object* v_x_418_, lean_object* v_x_419_, lean_object* v_x_420_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___boxed(lean_object* v_x_445_, lean_object* v_x_446_, lean_object* v_x_447_, lean_object* v_x_448_, lean_object* v_x_449_){ _start: { -size_t v_x_379__boxed_421_; size_t v_x_380__boxed_422_; lean_object* v_res_423_; -v_x_379__boxed_421_ = lean_unbox_usize(v_x_417_); -lean_dec(v_x_417_); -v_x_380__boxed_422_ = lean_unbox_usize(v_x_418_); -lean_dec(v_x_418_); -v_res_423_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_416_, v_x_379__boxed_421_, v_x_380__boxed_422_, v_x_419_, v_x_420_); -return v_res_423_; +size_t v_x_379__boxed_450_; size_t v_x_380__boxed_451_; lean_object* v_res_452_; +v_x_379__boxed_450_ = lean_unbox_usize(v_x_446_); +lean_dec(v_x_446_); +v_x_380__boxed_451_ = lean_unbox_usize(v_x_447_); +lean_dec(v_x_447_); +v_res_452_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_445_, v_x_379__boxed_450_, v_x_380__boxed_451_, v_x_448_, v_x_449_); +return v_res_452_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(lean_object* v_x_424_, lean_object* v_x_425_, lean_object* v_x_426_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(lean_object* v_x_453_, lean_object* v_x_454_, lean_object* v_x_455_){ _start: { -uint64_t v___y_428_; -if (lean_obj_tag(v_x_425_) == 0) +uint64_t v___y_457_; +if (lean_obj_tag(v_x_454_) == 0) { -uint64_t v___x_432_; -v___x_432_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); -v___y_428_ = v___x_432_; -goto v___jp_427_; +uint64_t v___x_461_; +v___x_461_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); +v___y_457_ = v___x_461_; +goto v___jp_456_; } else { -uint64_t v_hash_433_; -v_hash_433_ = lean_ctor_get_uint64(v_x_425_, sizeof(void*)*2); -v___y_428_ = v_hash_433_; -goto v___jp_427_; +uint64_t v_hash_462_; +v_hash_462_ = lean_ctor_get_uint64(v_x_454_, sizeof(void*)*2); +v___y_457_ = v_hash_462_; +goto v___jp_456_; } -v___jp_427_: +v___jp_456_: { -size_t v___x_429_; size_t v___x_430_; lean_object* v___x_431_; -v___x_429_ = lean_uint64_to_usize(v___y_428_); -v___x_430_ = ((size_t)1ULL); -v___x_431_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_424_, v___x_429_, v___x_430_, v_x_425_, v_x_426_); -return v___x_431_; +size_t v___x_458_; size_t v___x_459_; lean_object* v___x_460_; +v___x_458_ = lean_uint64_to_usize(v___y_457_); +v___x_459_ = ((size_t)1ULL); +v___x_460_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_453_, v___x_458_, v___x_459_, v_x_454_, v_x_455_); +return v___x_460_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecState_addEntry(lean_object* v_s_434_, lean_object* v_e_435_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SpecState_addEntry(lean_object* v_s_463_, lean_object* v_e_464_){ _start: { -lean_object* v_declName_436_; lean_object* v___x_437_; -v_declName_436_ = lean_ctor_get(v_e_435_, 0); -lean_inc(v_declName_436_); -v___x_437_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(v_s_434_, v_declName_436_, v_e_435_); -return v___x_437_; +lean_object* v_declName_465_; lean_object* v___x_466_; +v_declName_465_ = lean_ctor_get(v_e_464_, 0); +lean_inc(v_declName_465_); +v___x_466_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(v_s_463_, v_declName_465_, v_e_464_); +return v___x_466_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0(lean_object* v_00_u03b2_438_, lean_object* v_x_439_, lean_object* v_x_440_, lean_object* v_x_441_){ -_start: -{ -lean_object* v___x_442_; -v___x_442_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(v_x_439_, v_x_440_, v_x_441_); -return v___x_442_; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0(lean_object* v_00_u03b2_443_, lean_object* v_x_444_, size_t v_x_445_, size_t v_x_446_, lean_object* v_x_447_, lean_object* v_x_448_){ -_start: -{ -lean_object* v___x_449_; -v___x_449_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_444_, v_x_445_, v_x_446_, v_x_447_, v_x_448_); -return v___x_449_; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___boxed(lean_object* v_00_u03b2_450_, lean_object* v_x_451_, lean_object* v_x_452_, lean_object* v_x_453_, lean_object* v_x_454_, lean_object* v_x_455_){ -_start: -{ -size_t v_x_576__boxed_456_; size_t v_x_577__boxed_457_; lean_object* v_res_458_; -v_x_576__boxed_456_ = lean_unbox_usize(v_x_452_); -lean_dec(v_x_452_); -v_x_577__boxed_457_ = lean_unbox_usize(v_x_453_); -lean_dec(v_x_453_); -v_res_458_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0(v_00_u03b2_450_, v_x_451_, v_x_576__boxed_456_, v_x_577__boxed_457_, v_x_454_, v_x_455_); -return v_res_458_; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_459_, lean_object* v_n_460_, lean_object* v_k_461_, lean_object* v_v_462_){ -_start: -{ -lean_object* v___x_463_; -v___x_463_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(v_n_460_, v_k_461_, v_v_462_); -return v___x_463_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2(lean_object* v_00_u03b2_464_, size_t v_depth_465_, lean_object* v_keys_466_, lean_object* v_vals_467_, lean_object* v_heq_468_, lean_object* v_i_469_, lean_object* v_entries_470_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0(lean_object* v_00_u03b2_467_, lean_object* v_x_468_, lean_object* v_x_469_, lean_object* v_x_470_){ _start: { lean_object* v___x_471_; -v___x_471_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_depth_465_, v_keys_466_, v_vals_467_, v_i_469_, v_entries_470_); +v___x_471_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0___redArg(v_x_468_, v_x_469_, v_x_470_); return v___x_471_; } } -LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___boxed(lean_object* v_00_u03b2_472_, lean_object* v_depth_473_, lean_object* v_keys_474_, lean_object* v_vals_475_, lean_object* v_heq_476_, lean_object* v_i_477_, lean_object* v_entries_478_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0(lean_object* v_00_u03b2_472_, lean_object* v_x_473_, size_t v_x_474_, size_t v_x_475_, lean_object* v_x_476_, lean_object* v_x_477_){ _start: { -size_t v_depth_boxed_479_; lean_object* v_res_480_; -v_depth_boxed_479_ = lean_unbox_usize(v_depth_473_); -lean_dec(v_depth_473_); -v_res_480_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2(v_00_u03b2_472_, v_depth_boxed_479_, v_keys_474_, v_vals_475_, v_heq_476_, v_i_477_, v_entries_478_); -lean_dec_ref(v_vals_475_); -lean_dec_ref(v_keys_474_); -return v_res_480_; +lean_object* v___x_478_; +v___x_478_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg(v_x_473_, v_x_474_, v_x_475_, v_x_476_, v_x_477_); +return v___x_478_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2(lean_object* v_00_u03b2_481_, lean_object* v_x_482_, lean_object* v_x_483_, lean_object* v_x_484_, lean_object* v_x_485_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___boxed(lean_object* v_00_u03b2_479_, lean_object* v_x_480_, lean_object* v_x_481_, lean_object* v_x_482_, lean_object* v_x_483_, lean_object* v_x_484_){ _start: { -lean_object* v___x_486_; -v___x_486_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(v_x_482_, v_x_483_, v_x_484_, v_x_485_); -return v___x_486_; +size_t v_x_576__boxed_485_; size_t v_x_577__boxed_486_; lean_object* v_res_487_; +v_x_576__boxed_485_ = lean_unbox_usize(v_x_481_); +lean_dec(v_x_481_); +v_x_577__boxed_486_ = lean_unbox_usize(v_x_482_); +lean_dec(v_x_482_); +v_res_487_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0(v_00_u03b2_479_, v_x_480_, v_x_576__boxed_485_, v_x_577__boxed_486_, v_x_483_, v_x_484_); +return v_res_487_; } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt(lean_object* v_a_487_, lean_object* v_b_488_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_488_, lean_object* v_n_489_, lean_object* v_k_490_, lean_object* v_v_491_){ _start: { -lean_object* v_declName_489_; lean_object* v_declName_490_; uint8_t v___x_491_; -v_declName_489_ = lean_ctor_get(v_a_487_, 0); -v_declName_490_ = lean_ctor_get(v_b_488_, 0); -v___x_491_ = l_Lean_Name_quickLt(v_declName_489_, v_declName_490_); -return v___x_491_; +lean_object* v___x_492_; +v___x_492_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1___redArg(v_n_489_, v_k_490_, v_v_491_); +return v___x_492_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt___boxed(lean_object* v_a_492_, lean_object* v_b_493_){ +LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2(lean_object* v_00_u03b2_493_, size_t v_depth_494_, lean_object* v_keys_495_, lean_object* v_vals_496_, lean_object* v_heq_497_, lean_object* v_i_498_, lean_object* v_entries_499_){ _start: { -uint8_t v_res_494_; lean_object* v_r_495_; -v_res_494_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt(v_a_492_, v_b_493_); -lean_dec_ref(v_b_493_); -lean_dec_ref(v_a_492_); -v_r_495_ = lean_box(v_res_494_); -return v_r_495_; +lean_object* v___x_500_; +v___x_500_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg(v_depth_494_, v_keys_495_, v_vals_496_, v_i_498_, v_entries_499_); +return v___x_500_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries(lean_object* v_entries_497_){ +LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___boxed(lean_object* v_00_u03b2_501_, lean_object* v_depth_502_, lean_object* v_keys_503_, lean_object* v_vals_504_, lean_object* v_heq_505_, lean_object* v_i_506_, lean_object* v_entries_507_){ _start: { -lean_object* v___x_498_; lean_object* v___x_499_; uint8_t v___x_500_; -v___x_498_ = lean_array_get_size(v_entries_497_); -v___x_499_ = lean_unsigned_to_nat(0u); -v___x_500_ = lean_nat_dec_eq(v___x_498_, v___x_499_); -if (v___x_500_ == 0) +size_t v_depth_boxed_508_; lean_object* v_res_509_; +v_depth_boxed_508_ = lean_unbox_usize(v_depth_502_); +lean_dec(v_depth_502_); +v_res_509_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2(v_00_u03b2_501_, v_depth_boxed_508_, v_keys_503_, v_vals_504_, v_heq_505_, v_i_506_, v_entries_507_); +lean_dec_ref(v_vals_504_); +lean_dec_ref(v_keys_503_); +return v_res_509_; +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2(lean_object* v_00_u03b2_510_, lean_object* v_x_511_, lean_object* v_x_512_, lean_object* v_x_513_, lean_object* v_x_514_){ +_start: { -lean_object* v___x_501_; lean_object* v___x_502_; lean_object* v___x_503_; lean_object* v___y_505_; uint8_t v___x_509_; -v___x_501_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries___closed__0)); -v___x_502_ = lean_unsigned_to_nat(1u); -v___x_503_ = lean_nat_sub(v___x_498_, v___x_502_); -v___x_509_ = lean_nat_dec_le(v___x_499_, v___x_503_); -if (v___x_509_ == 0) +lean_object* v___x_515_; +v___x_515_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__1_spec__2___redArg(v_x_511_, v_x_512_, v_x_513_, v_x_514_); +return v___x_515_; +} +} +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt(lean_object* v_a_516_, lean_object* v_b_517_){ +_start: { -lean_inc(v___x_503_); -v___y_505_ = v___x_503_; -goto v___jp_504_; +lean_object* v_declName_518_; lean_object* v_declName_519_; uint8_t v___x_520_; +v_declName_518_ = lean_ctor_get(v_a_516_, 0); +v_declName_519_ = lean_ctor_get(v_b_517_, 0); +v___x_520_ = l_Lean_Name_quickLt(v_declName_518_, v_declName_519_); +return v___x_520_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt___boxed(lean_object* v_a_521_, lean_object* v_b_522_){ +_start: +{ +uint8_t v_res_523_; lean_object* v_r_524_; +v_res_523_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_declLt(v_a_521_, v_b_522_); +lean_dec_ref(v_b_522_); +lean_dec_ref(v_a_521_); +v_r_524_ = lean_box(v_res_523_); +return v_r_524_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries(lean_object* v_entries_526_){ +_start: +{ +lean_object* v___x_527_; lean_object* v___x_528_; uint8_t v___x_529_; +v___x_527_ = lean_array_get_size(v_entries_526_); +v___x_528_ = lean_unsigned_to_nat(0u); +v___x_529_ = lean_nat_dec_eq(v___x_527_, v___x_528_); +if (v___x_529_ == 0) +{ +lean_object* v___x_530_; lean_object* v___x_531_; lean_object* v___x_532_; lean_object* v___y_534_; uint8_t v___x_538_; +v___x_530_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries___closed__0)); +v___x_531_ = lean_unsigned_to_nat(1u); +v___x_532_ = lean_nat_sub(v___x_527_, v___x_531_); +v___x_538_ = lean_nat_dec_le(v___x_528_, v___x_532_); +if (v___x_538_ == 0) +{ +lean_inc(v___x_532_); +v___y_534_ = v___x_532_; +goto v___jp_533_; } else { -v___y_505_ = v___x_499_; -goto v___jp_504_; +v___y_534_ = v___x_528_; +goto v___jp_533_; } -v___jp_504_: +v___jp_533_: { -uint8_t v___x_506_; -v___x_506_ = lean_nat_dec_le(v___y_505_, v___x_503_); -if (v___x_506_ == 0) +uint8_t v___x_535_; +v___x_535_ = lean_nat_dec_le(v___y_534_, v___x_532_); +if (v___x_535_ == 0) { -lean_object* v___x_507_; -lean_dec(v___x_503_); -lean_inc(v___y_505_); -v___x_507_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort(lean_box(0), v___x_501_, v___x_498_, v_entries_497_, v___y_505_, v___y_505_, lean_box(0), lean_box(0), lean_box(0)); -lean_dec(v___y_505_); -return v___x_507_; -} -else -{ -lean_object* v___x_508_; -v___x_508_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort(lean_box(0), v___x_501_, v___x_498_, v_entries_497_, v___y_505_, v___x_503_, lean_box(0), lean_box(0), lean_box(0)); -lean_dec(v___x_503_); -return v___x_508_; -} -} -} -else -{ -return v_entries_497_; -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f(lean_object* v_entries_513_, lean_object* v_declName_514_){ -_start: -{ -lean_object* v___x_515_; lean_object* v___x_516_; uint8_t v___x_517_; -v___x_515_ = lean_unsigned_to_nat(0u); -v___x_516_ = lean_array_get_size(v_entries_513_); -v___x_517_ = lean_nat_dec_lt(v___x_515_, v___x_516_); -if (v___x_517_ == 0) -{ -lean_object* v___x_518_; -lean_dec(v_declName_514_); -v___x_518_ = lean_box(0); -return v___x_518_; -} -else -{ -lean_object* v___x_519_; lean_object* v___x_520_; uint8_t v___x_521_; -v___x_519_ = lean_unsigned_to_nat(1u); -v___x_520_ = lean_nat_sub(v___x_516_, v___x_519_); -v___x_521_ = lean_nat_dec_le(v___x_515_, v___x_520_); -if (v___x_521_ == 0) -{ -lean_object* v___x_522_; -lean_dec(v___x_520_); -lean_dec(v_declName_514_); -v___x_522_ = lean_box(0); -return v___x_522_; -} -else -{ -lean_object* v___x_523_; uint8_t v___x_524_; lean_object* v___x_525_; lean_object* v___x_526_; lean_object* v___x_527_; lean_object* v___x_528_; -v___x_523_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); -v___x_524_ = 0; -v___x_525_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_525_, 0, v_declName_514_); -lean_ctor_set(v___x_525_, 1, v___x_523_); -lean_ctor_set_uint8(v___x_525_, sizeof(void*)*2, v___x_524_); -v___x_526_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries___closed__0)); -v___x_527_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__1)); -v___x_528_ = l_Array_binSearchAux___redArg(v___x_526_, v___x_527_, v_entries_513_, v___x_525_, v___x_515_, v___x_520_); -return v___x_528_; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___boxed(lean_object* v_entries_529_, lean_object* v_declName_530_){ -_start: -{ -lean_object* v_res_531_; -v_res_531_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f(v_entries_529_, v_declName_530_); -lean_dec_ref(v_entries_529_); -return v_res_531_; -} -} -LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(lean_object* v___y_532_, lean_object* v___y_533_){ -_start: -{ -lean_object* v_declName_534_; lean_object* v_declName_535_; uint8_t v___x_536_; -v_declName_534_ = lean_ctor_get(v___y_532_, 0); -v_declName_535_ = lean_ctor_get(v___y_533_, 0); -v___x_536_ = l_Lean_Name_quickLt(v_declName_534_, v_declName_535_); +lean_object* v___x_536_; +lean_dec(v___x_532_); +lean_inc(v___y_534_); +v___x_536_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort(lean_box(0), v___x_530_, v___x_527_, v_entries_526_, v___y_534_, v___y_534_, lean_box(0), lean_box(0), lean_box(0)); +lean_dec(v___y_534_); return v___x_536_; } -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0___boxed(lean_object* v___y_537_, lean_object* v___y_538_){ -_start: +else { -uint8_t v_res_539_; lean_object* v_r_540_; -v_res_539_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v___y_537_, v___y_538_); -lean_dec_ref(v___y_538_); -lean_dec_ref(v___y_537_); -v_r_540_ = lean_box(v_res_539_); -return v_r_540_; +lean_object* v___x_537_; +v___x_537_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort(lean_box(0), v___x_530_, v___x_527_, v_entries_526_, v___y_534_, v___x_532_, lean_box(0), lean_box(0), lean_box(0)); +lean_dec(v___x_532_); +return v___x_537_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(lean_object* v_as_542_, lean_object* v_lo_543_, lean_object* v_hi_544_){ -_start: -{ -uint8_t v___x_545_; -v___x_545_ = lean_nat_dec_lt(v_lo_543_, v_hi_544_); -if (v___x_545_ == 0) -{ -lean_dec(v_lo_543_); -return v_as_542_; } else { -lean_object* v___f_546_; lean_object* v___x_547_; lean_object* v_fst_548_; lean_object* v_snd_549_; uint8_t v___x_550_; -v___f_546_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___closed__0)); -lean_inc(v_lo_543_); -v___x_547_ = l_Array_qpartition___redArg(v_as_542_, v___f_546_, v_lo_543_, v_hi_544_); -v_fst_548_ = lean_ctor_get(v___x_547_, 0); -lean_inc(v_fst_548_); -v_snd_549_ = lean_ctor_get(v___x_547_, 1); -lean_inc(v_snd_549_); -lean_dec_ref(v___x_547_); -v___x_550_ = lean_nat_dec_le(v_hi_544_, v_fst_548_); +return v_entries_526_; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f(lean_object* v_entries_542_, lean_object* v_declName_543_){ +_start: +{ +lean_object* v___x_544_; lean_object* v___x_545_; uint8_t v___x_546_; +v___x_544_ = lean_unsigned_to_nat(0u); +v___x_545_ = lean_array_get_size(v_entries_542_); +v___x_546_ = lean_nat_dec_lt(v___x_544_, v___x_545_); +if (v___x_546_ == 0) +{ +lean_object* v___x_547_; +lean_dec(v_declName_543_); +v___x_547_ = lean_box(0); +return v___x_547_; +} +else +{ +lean_object* v___x_548_; lean_object* v___x_549_; uint8_t v___x_550_; +v___x_548_ = lean_unsigned_to_nat(1u); +v___x_549_ = lean_nat_sub(v___x_545_, v___x_548_); +v___x_550_ = lean_nat_dec_le(v___x_544_, v___x_549_); if (v___x_550_ == 0) { -lean_object* v___x_551_; lean_object* v___x_552_; lean_object* v___x_553_; -v___x_551_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_snd_549_, v_lo_543_, v_fst_548_); -v___x_552_ = lean_unsigned_to_nat(1u); -v___x_553_ = lean_nat_add(v_fst_548_, v___x_552_); -lean_dec(v_fst_548_); -v_as_542_ = v___x_551_; -v_lo_543_ = v___x_553_; +lean_object* v___x_551_; +lean_dec(v___x_549_); +lean_dec(v_declName_543_); +v___x_551_ = lean_box(0); +return v___x_551_; +} +else +{ +lean_object* v___x_552_; uint8_t v___x_553_; lean_object* v___x_554_; lean_object* v___x_555_; lean_object* v___x_556_; lean_object* v___x_557_; +v___x_552_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); +v___x_553_ = 0; +v___x_554_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_554_, 0, v_declName_543_); +lean_ctor_set(v___x_554_, 1, v___x_552_); +lean_ctor_set_uint8(v___x_554_, sizeof(void*)*2, v___x_553_); +v___x_555_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_sortEntries___closed__0)); +v___x_556_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__1)); +v___x_557_ = l_Array_binSearchAux___redArg(v___x_555_, v___x_556_, v_entries_542_, v___x_554_, v___x_544_, v___x_549_); +return v___x_557_; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___boxed(lean_object* v_entries_558_, lean_object* v_declName_559_){ +_start: +{ +lean_object* v_res_560_; +v_res_560_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f(v_entries_558_, v_declName_559_); +lean_dec_ref(v_entries_558_); +return v_res_560_; +} +} +LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(lean_object* v___y_561_, lean_object* v___y_562_){ +_start: +{ +lean_object* v_declName_563_; lean_object* v_declName_564_; uint8_t v___x_565_; +v_declName_563_ = lean_ctor_get(v___y_561_, 0); +v_declName_564_ = lean_ctor_get(v___y_562_, 0); +v___x_565_ = l_Lean_Name_quickLt(v_declName_563_, v_declName_564_); +return v___x_565_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0___boxed(lean_object* v___y_566_, lean_object* v___y_567_){ +_start: +{ +uint8_t v_res_568_; lean_object* v_r_569_; +v_res_568_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v___y_566_, v___y_567_); +lean_dec_ref(v___y_567_); +lean_dec_ref(v___y_566_); +v_r_569_ = lean_box(v_res_568_); +return v_r_569_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(lean_object* v_as_571_, lean_object* v_lo_572_, lean_object* v_hi_573_){ +_start: +{ +uint8_t v___x_574_; +v___x_574_ = lean_nat_dec_lt(v_lo_572_, v_hi_573_); +if (v___x_574_ == 0) +{ +lean_dec(v_lo_572_); +return v_as_571_; +} +else +{ +lean_object* v___f_575_; lean_object* v___x_576_; lean_object* v_fst_577_; lean_object* v_snd_578_; uint8_t v___x_579_; +v___f_575_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___closed__0)); +lean_inc(v_lo_572_); +v___x_576_ = l_Array_qpartition___redArg(v_as_571_, v___f_575_, v_lo_572_, v_hi_573_); +v_fst_577_ = lean_ctor_get(v___x_576_, 0); +lean_inc(v_fst_577_); +v_snd_578_ = lean_ctor_get(v___x_576_, 1); +lean_inc(v_snd_578_); +lean_dec_ref(v___x_576_); +v___x_579_ = lean_nat_dec_le(v_hi_573_, v_fst_577_); +if (v___x_579_ == 0) +{ +lean_object* v___x_580_; lean_object* v___x_581_; lean_object* v___x_582_; +v___x_580_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_snd_578_, v_lo_572_, v_fst_577_); +v___x_581_ = lean_unsigned_to_nat(1u); +v___x_582_ = lean_nat_add(v_fst_577_, v___x_581_); +lean_dec(v_fst_577_); +v_as_571_ = v___x_580_; +v_lo_572_ = v___x_582_; goto _start; } else { -lean_dec(v_fst_548_); -lean_dec(v_lo_543_); -return v_snd_549_; +lean_dec(v_fst_577_); +lean_dec(v_lo_572_); +return v_snd_578_; } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___boxed(lean_object* v_as_555_, lean_object* v_lo_556_, lean_object* v_hi_557_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___boxed(lean_object* v_as_584_, lean_object* v_lo_585_, lean_object* v_hi_586_){ _start: { -lean_object* v_res_558_; -v_res_558_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_as_555_, v_lo_556_, v_hi_557_); -lean_dec(v_hi_557_); -return v_res_558_; +lean_object* v_res_587_; +v_res_587_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_as_584_, v_lo_585_, v_hi_586_); +lean_dec(v_hi_586_); +return v_res_587_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_s_559_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_s_588_){ _start: { -lean_object* v___x_560_; lean_object* v___x_561_; lean_object* v___x_562_; uint8_t v___x_563_; -v___x_560_ = lean_array_mk(v_s_559_); -v___x_561_ = lean_array_get_size(v___x_560_); -v___x_562_ = lean_unsigned_to_nat(0u); -v___x_563_ = lean_nat_dec_eq(v___x_561_, v___x_562_); -if (v___x_563_ == 0) +lean_object* v___x_589_; lean_object* v___x_590_; lean_object* v___x_591_; uint8_t v___x_592_; +v___x_589_ = lean_array_mk(v_s_588_); +v___x_590_ = lean_array_get_size(v___x_589_); +v___x_591_ = lean_unsigned_to_nat(0u); +v___x_592_ = lean_nat_dec_eq(v___x_590_, v___x_591_); +if (v___x_592_ == 0) { -lean_object* v___x_564_; lean_object* v___x_565_; lean_object* v___y_567_; uint8_t v___x_571_; -v___x_564_ = lean_unsigned_to_nat(1u); -v___x_565_ = lean_nat_sub(v___x_561_, v___x_564_); -v___x_571_ = lean_nat_dec_le(v___x_562_, v___x_565_); -if (v___x_571_ == 0) +lean_object* v___x_593_; lean_object* v___x_594_; lean_object* v___y_596_; uint8_t v___x_600_; +v___x_593_ = lean_unsigned_to_nat(1u); +v___x_594_ = lean_nat_sub(v___x_590_, v___x_593_); +v___x_600_ = lean_nat_dec_le(v___x_591_, v___x_594_); +if (v___x_600_ == 0) { -lean_inc(v___x_565_); -v___y_567_ = v___x_565_; -goto v___jp_566_; +lean_inc(v___x_594_); +v___y_596_ = v___x_594_; +goto v___jp_595_; } else { -v___y_567_ = v___x_562_; -goto v___jp_566_; +v___y_596_ = v___x_591_; +goto v___jp_595_; } -v___jp_566_: +v___jp_595_: { -uint8_t v___x_568_; -v___x_568_ = lean_nat_dec_le(v___y_567_, v___x_565_); -if (v___x_568_ == 0) +uint8_t v___x_597_; +v___x_597_ = lean_nat_dec_le(v___y_596_, v___x_594_); +if (v___x_597_ == 0) { -lean_object* v___x_569_; -lean_dec(v___x_565_); -lean_inc(v___y_567_); -v___x_569_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v___x_560_, v___y_567_, v___y_567_); -lean_dec(v___y_567_); -return v___x_569_; +lean_object* v___x_598_; +lean_dec(v___x_594_); +lean_inc(v___y_596_); +v___x_598_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v___x_589_, v___y_596_, v___y_596_); +lean_dec(v___y_596_); +return v___x_598_; } else { -lean_object* v___x_570_; -v___x_570_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v___x_560_, v___y_567_, v___x_565_); -lean_dec(v___x_565_); -return v___x_570_; +lean_object* v___x_599_; +v___x_599_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v___x_589_, v___y_596_, v___x_594_); +lean_dec(v___x_594_); +return v___x_599_; } } } else { -return v___x_560_; +return v___x_589_; } } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(lean_object* v_keys_572_, lean_object* v_i_573_, lean_object* v_k_574_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(lean_object* v_keys_601_, lean_object* v_i_602_, lean_object* v_k_603_){ _start: { -lean_object* v___x_575_; uint8_t v___x_576_; -v___x_575_ = lean_array_get_size(v_keys_572_); -v___x_576_ = lean_nat_dec_lt(v_i_573_, v___x_575_); -if (v___x_576_ == 0) +lean_object* v___x_604_; uint8_t v___x_605_; +v___x_604_ = lean_array_get_size(v_keys_601_); +v___x_605_ = lean_nat_dec_lt(v_i_602_, v___x_604_); +if (v___x_605_ == 0) { -lean_dec(v_i_573_); -return v___x_576_; +lean_dec(v_i_602_); +return v___x_605_; } else { -lean_object* v_k_x27_577_; uint8_t v___x_578_; -v_k_x27_577_ = lean_array_fget_borrowed(v_keys_572_, v_i_573_); -v___x_578_ = lean_name_eq(v_k_574_, v_k_x27_577_); -if (v___x_578_ == 0) +lean_object* v_k_x27_606_; uint8_t v___x_607_; +v_k_x27_606_ = lean_array_fget_borrowed(v_keys_601_, v_i_602_); +v___x_607_ = lean_name_eq(v_k_603_, v_k_x27_606_); +if (v___x_607_ == 0) { -lean_object* v___x_579_; lean_object* v___x_580_; -v___x_579_ = lean_unsigned_to_nat(1u); -v___x_580_ = lean_nat_add(v_i_573_, v___x_579_); -lean_dec(v_i_573_); -v_i_573_ = v___x_580_; +lean_object* v___x_608_; lean_object* v___x_609_; +v___x_608_ = lean_unsigned_to_nat(1u); +v___x_609_ = lean_nat_add(v_i_602_, v___x_608_); +lean_dec(v_i_602_); +v_i_602_ = v___x_609_; goto _start; } else { -lean_dec(v_i_573_); -return v___x_578_; +lean_dec(v_i_602_); +return v___x_607_; } } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg___boxed(lean_object* v_keys_582_, lean_object* v_i_583_, lean_object* v_k_584_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg___boxed(lean_object* v_keys_611_, lean_object* v_i_612_, lean_object* v_k_613_){ _start: { -uint8_t v_res_585_; lean_object* v_r_586_; -v_res_585_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_keys_582_, v_i_583_, v_k_584_); -lean_dec(v_k_584_); -lean_dec_ref(v_keys_582_); -v_r_586_ = lean_box(v_res_585_); -return v_r_586_; +uint8_t v_res_614_; lean_object* v_r_615_; +v_res_614_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_keys_611_, v_i_612_, v_k_613_); +lean_dec(v_k_613_); +lean_dec_ref(v_keys_611_); +v_r_615_ = lean_box(v_res_614_); +return v_r_615_; } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(lean_object* v_x_587_, size_t v_x_588_, lean_object* v_x_589_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(lean_object* v_x_616_, size_t v_x_617_, lean_object* v_x_618_){ _start: { -if (lean_obj_tag(v_x_587_) == 0) +if (lean_obj_tag(v_x_616_) == 0) { -lean_object* v_es_590_; lean_object* v___x_591_; size_t v___x_592_; size_t v___x_593_; size_t v___x_594_; lean_object* v_j_595_; lean_object* v___x_596_; -v_es_590_ = lean_ctor_get(v_x_587_, 0); -v___x_591_ = lean_box(2); -v___x_592_ = ((size_t)5ULL); -v___x_593_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); -v___x_594_ = lean_usize_land(v_x_588_, v___x_593_); -v_j_595_ = lean_usize_to_nat(v___x_594_); -v___x_596_ = lean_array_get_borrowed(v___x_591_, v_es_590_, v_j_595_); -lean_dec(v_j_595_); -switch(lean_obj_tag(v___x_596_)) +lean_object* v_es_619_; lean_object* v___x_620_; size_t v___x_621_; size_t v___x_622_; size_t v___x_623_; lean_object* v_j_624_; lean_object* v___x_625_; +v_es_619_ = lean_ctor_get(v_x_616_, 0); +v___x_620_ = lean_box(2); +v___x_621_ = ((size_t)5ULL); +v___x_622_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); +v___x_623_ = lean_usize_land(v_x_617_, v___x_622_); +v_j_624_ = lean_usize_to_nat(v___x_623_); +v___x_625_ = lean_array_get_borrowed(v___x_620_, v_es_619_, v_j_624_); +lean_dec(v_j_624_); +switch(lean_obj_tag(v___x_625_)) { case 0: { -lean_object* v_key_597_; uint8_t v___x_598_; -v_key_597_ = lean_ctor_get(v___x_596_, 0); -v___x_598_ = lean_name_eq(v_x_589_, v_key_597_); -return v___x_598_; +lean_object* v_key_626_; uint8_t v___x_627_; +v_key_626_ = lean_ctor_get(v___x_625_, 0); +v___x_627_ = lean_name_eq(v_x_618_, v_key_626_); +return v___x_627_; } case 1: { -lean_object* v_node_599_; size_t v___x_600_; -v_node_599_ = lean_ctor_get(v___x_596_, 0); -v___x_600_ = lean_usize_shift_right(v_x_588_, v___x_592_); -v_x_587_ = v_node_599_; -v_x_588_ = v___x_600_; +lean_object* v_node_628_; size_t v___x_629_; +v_node_628_ = lean_ctor_get(v___x_625_, 0); +v___x_629_ = lean_usize_shift_right(v_x_617_, v___x_621_); +v_x_616_ = v_node_628_; +v_x_617_ = v___x_629_; goto _start; } default: { -uint8_t v___x_602_; -v___x_602_ = 0; -return v___x_602_; +uint8_t v___x_631_; +v___x_631_ = 0; +return v___x_631_; } } } else { -lean_object* v_ks_603_; lean_object* v___x_604_; uint8_t v___x_605_; -v_ks_603_ = lean_ctor_get(v_x_587_, 0); -v___x_604_ = lean_unsigned_to_nat(0u); -v___x_605_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_ks_603_, v___x_604_, v_x_589_); -return v___x_605_; +lean_object* v_ks_632_; lean_object* v___x_633_; uint8_t v___x_634_; +v_ks_632_ = lean_ctor_get(v_x_616_, 0); +v___x_633_ = lean_unsigned_to_nat(0u); +v___x_634_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_ks_632_, v___x_633_, v_x_618_); +return v___x_634_; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg___boxed(lean_object* v_x_606_, lean_object* v_x_607_, lean_object* v_x_608_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg___boxed(lean_object* v_x_635_, lean_object* v_x_636_, lean_object* v_x_637_){ _start: { -size_t v_x_314__boxed_609_; uint8_t v_res_610_; lean_object* v_r_611_; -v_x_314__boxed_609_ = lean_unbox_usize(v_x_607_); -lean_dec(v_x_607_); -v_res_610_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_606_, v_x_314__boxed_609_, v_x_608_); -lean_dec(v_x_608_); -lean_dec_ref(v_x_606_); -v_r_611_ = lean_box(v_res_610_); -return v_r_611_; +size_t v_x_314__boxed_638_; uint8_t v_res_639_; lean_object* v_r_640_; +v_x_314__boxed_638_ = lean_unbox_usize(v_x_636_); +lean_dec(v_x_636_); +v_res_639_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_635_, v_x_314__boxed_638_, v_x_637_); +lean_dec(v_x_637_); +lean_dec_ref(v_x_635_); +v_r_640_ = lean_box(v_res_639_); +return v_r_640_; } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(lean_object* v_x_612_, lean_object* v_x_613_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(lean_object* v_x_641_, lean_object* v_x_642_){ _start: { -uint64_t v___y_615_; -if (lean_obj_tag(v_x_613_) == 0) +uint64_t v___y_644_; +if (lean_obj_tag(v_x_642_) == 0) { -uint64_t v___x_618_; -v___x_618_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); -v___y_615_ = v___x_618_; -goto v___jp_614_; +uint64_t v___x_647_; +v___x_647_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); +v___y_644_ = v___x_647_; +goto v___jp_643_; } else { -uint64_t v_hash_619_; -v_hash_619_ = lean_ctor_get_uint64(v_x_613_, sizeof(void*)*2); -v___y_615_ = v_hash_619_; -goto v___jp_614_; +uint64_t v_hash_648_; +v_hash_648_ = lean_ctor_get_uint64(v_x_642_, sizeof(void*)*2); +v___y_644_ = v_hash_648_; +goto v___jp_643_; } -v___jp_614_: +v___jp_643_: { -size_t v___x_616_; uint8_t v___x_617_; -v___x_616_ = lean_uint64_to_usize(v___y_615_); -v___x_617_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_612_, v___x_616_, v_x_613_); -return v___x_617_; +size_t v___x_645_; uint8_t v___x_646_; +v___x_645_ = lean_uint64_to_usize(v___y_644_); +v___x_646_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_641_, v___x_645_, v_x_642_); +return v___x_646_; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg___boxed(lean_object* v_x_620_, lean_object* v_x_621_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg___boxed(lean_object* v_x_649_, lean_object* v_x_650_){ _start: { -uint8_t v_res_622_; lean_object* v_r_623_; -v_res_622_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x_620_, v_x_621_); -lean_dec(v_x_621_); -lean_dec_ref(v_x_620_); -v_r_623_ = lean_box(v_res_622_); -return v_r_623_; +uint8_t v_res_651_; lean_object* v_r_652_; +v_res_651_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x_649_, v_x_650_); +lean_dec(v_x_650_); +lean_dec_ref(v_x_649_); +v_r_652_ = lean_box(v_res_651_); +return v_r_652_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_x1_624_, lean_object* v_x2_625_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_x1_653_, lean_object* v_x2_654_){ _start: { -lean_object* v_declName_626_; uint8_t v___x_627_; -v_declName_626_ = lean_ctor_get(v_x2_625_, 0); -v___x_627_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x1_624_, v_declName_626_); -if (v___x_627_ == 0) +lean_object* v_declName_655_; uint8_t v___x_656_; +v_declName_655_ = lean_ctor_get(v_x2_654_, 0); +v___x_656_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x1_653_, v_declName_655_); +if (v___x_656_ == 0) { -uint8_t v___x_628_; -v___x_628_ = 1; -return v___x_628_; +uint8_t v___x_657_; +v___x_657_ = 1; +return v___x_657_; } else { -uint8_t v___x_629_; -v___x_629_ = 0; -return v___x_629_; +uint8_t v___x_658_; +v___x_658_ = 0; +return v___x_658_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_x1_630_, lean_object* v_x2_631_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_x1_659_, lean_object* v_x2_660_){ _start: { -uint8_t v_res_632_; lean_object* v_r_633_; -v_res_632_ = l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(v_x1_630_, v_x2_631_); -lean_dec_ref(v_x2_631_); -lean_dec_ref(v_x1_630_); -v_r_633_ = lean_box(v_res_632_); -return v_r_633_; +uint8_t v_res_661_; lean_object* v_r_662_; +v_res_661_ = l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(v_x1_659_, v_x2_660_); +lean_dec_ref(v_x2_660_); +lean_dec_ref(v_x1_659_); +v_r_662_ = lean_box(v_res_661_); +return v_r_662_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_x_634_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(lean_object* v_x_663_){ _start: { -lean_object* v___x_635_; -v___x_635_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1); -return v___x_635_; +lean_object* v___x_664_; +v___x_664_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default___closed__1); +return v___x_664_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_x_636_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_x_665_){ _start: { -lean_object* v_res_637_; -v_res_637_ = l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(v_x_636_); -lean_dec_ref(v_x_636_); -return v_res_637_; +lean_object* v_res_666_; +v_res_666_ = l_Lean_Compiler_LCNF_initFn___lam__2_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(v_x_665_); +lean_dec_ref(v_x_665_); +return v_res_666_; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(){ _start: { -lean_object* v___x_665_; lean_object* v___x_666_; -v___x_665_ = ((lean_object*)(l_Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_)); -v___x_666_ = l_Lean_registerSimplePersistentEnvExtension___redArg(v___x_665_); -return v___x_666_; +lean_object* v___x_694_; lean_object* v___x_695_; +v___x_694_ = ((lean_object*)(l_Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_)); +v___x_695_ = l_Lean_registerSimplePersistentEnvExtension___redArg(v___x_694_); +return v___x_695_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_a_667_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2____boxed(lean_object* v_a_696_){ _start: { -lean_object* v_res_668_; -v_res_668_ = l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(); -return v_res_668_; +lean_object* v_res_697_; +v_res_697_ = l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2_(); +return v_res_697_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0(lean_object* v_n_669_, lean_object* v_as_670_, lean_object* v_lo_671_, lean_object* v_hi_672_, lean_object* v_w_673_, lean_object* v_hlo_674_, lean_object* v_hhi_675_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0(lean_object* v_n_698_, lean_object* v_as_699_, lean_object* v_lo_700_, lean_object* v_hi_701_, lean_object* v_w_702_, lean_object* v_hlo_703_, lean_object* v_hhi_704_){ _start: { -lean_object* v___x_676_; -v___x_676_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_as_670_, v_lo_671_, v_hi_672_); -return v___x_676_; +lean_object* v___x_705_; +v___x_705_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg(v_as_699_, v_lo_700_, v_hi_701_); +return v___x_705_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___boxed(lean_object* v_n_677_, lean_object* v_as_678_, lean_object* v_lo_679_, lean_object* v_hi_680_, lean_object* v_w_681_, lean_object* v_hlo_682_, lean_object* v_hhi_683_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___boxed(lean_object* v_n_706_, lean_object* v_as_707_, lean_object* v_lo_708_, lean_object* v_hi_709_, lean_object* v_w_710_, lean_object* v_hlo_711_, lean_object* v_hhi_712_){ _start: { -lean_object* v_res_684_; -v_res_684_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0(v_n_677_, v_as_678_, v_lo_679_, v_hi_680_, v_w_681_, v_hlo_682_, v_hhi_683_); -lean_dec(v_hi_680_); -lean_dec(v_n_677_); -return v_res_684_; +lean_object* v_res_713_; +v_res_713_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0(v_n_706_, v_as_707_, v_lo_708_, v_hi_709_, v_w_710_, v_hlo_711_, v_hhi_712_); +lean_dec(v_hi_709_); +lean_dec(v_n_706_); +return v_res_713_; } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1(lean_object* v_00_u03b2_685_, lean_object* v_x_686_, lean_object* v_x_687_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1(lean_object* v_00_u03b2_714_, lean_object* v_x_715_, lean_object* v_x_716_){ _start: { -uint8_t v___x_688_; -v___x_688_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x_686_, v_x_687_); -return v___x_688_; +uint8_t v___x_717_; +v___x_717_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___redArg(v_x_715_, v_x_716_); +return v___x_717_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___boxed(lean_object* v_00_u03b2_689_, lean_object* v_x_690_, lean_object* v_x_691_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1___boxed(lean_object* v_00_u03b2_718_, lean_object* v_x_719_, lean_object* v_x_720_){ _start: { -uint8_t v_res_692_; lean_object* v_r_693_; -v_res_692_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1(v_00_u03b2_689_, v_x_690_, v_x_691_); -lean_dec(v_x_691_); -lean_dec_ref(v_x_690_); -v_r_693_ = lean_box(v_res_692_); -return v_r_693_; +uint8_t v_res_721_; lean_object* v_r_722_; +v_res_721_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1(v_00_u03b2_718_, v_x_719_, v_x_720_); +lean_dec(v_x_720_); +lean_dec_ref(v_x_719_); +v_r_722_ = lean_box(v_res_721_); +return v_r_722_; } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1(lean_object* v_00_u03b2_694_, lean_object* v_x_695_, size_t v_x_696_, lean_object* v_x_697_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1(lean_object* v_00_u03b2_723_, lean_object* v_x_724_, size_t v_x_725_, lean_object* v_x_726_){ _start: { -uint8_t v___x_698_; -v___x_698_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_695_, v_x_696_, v_x_697_); -return v___x_698_; +uint8_t v___x_727_; +v___x_727_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___redArg(v_x_724_, v_x_725_, v_x_726_); +return v___x_727_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___boxed(lean_object* v_00_u03b2_699_, lean_object* v_x_700_, lean_object* v_x_701_, lean_object* v_x_702_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1___boxed(lean_object* v_00_u03b2_728_, lean_object* v_x_729_, lean_object* v_x_730_, lean_object* v_x_731_){ _start: { -size_t v_x_492__boxed_703_; uint8_t v_res_704_; lean_object* v_r_705_; -v_x_492__boxed_703_ = lean_unbox_usize(v_x_701_); -lean_dec(v_x_701_); -v_res_704_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1(v_00_u03b2_699_, v_x_700_, v_x_492__boxed_703_, v_x_702_); -lean_dec(v_x_702_); -lean_dec_ref(v_x_700_); -v_r_705_ = lean_box(v_res_704_); -return v_r_705_; +size_t v_x_492__boxed_732_; uint8_t v_res_733_; lean_object* v_r_734_; +v_x_492__boxed_732_ = lean_unbox_usize(v_x_730_); +lean_dec(v_x_730_); +v_res_733_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1(v_00_u03b2_728_, v_x_729_, v_x_492__boxed_732_, v_x_731_); +lean_dec(v_x_731_); +lean_dec_ref(v_x_729_); +v_r_734_ = lean_box(v_res_733_); +return v_r_734_; } } -LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2(lean_object* v_00_u03b2_706_, lean_object* v_keys_707_, lean_object* v_vals_708_, lean_object* v_heq_709_, lean_object* v_i_710_, lean_object* v_k_711_){ +LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2(lean_object* v_00_u03b2_735_, lean_object* v_keys_736_, lean_object* v_vals_737_, lean_object* v_heq_738_, lean_object* v_i_739_, lean_object* v_k_740_){ _start: { -uint8_t v___x_712_; -v___x_712_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_keys_707_, v_i_710_, v_k_711_); -return v___x_712_; +uint8_t v___x_741_; +v___x_741_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___redArg(v_keys_736_, v_i_739_, v_k_740_); +return v___x_741_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___boxed(lean_object* v_00_u03b2_713_, lean_object* v_keys_714_, lean_object* v_vals_715_, lean_object* v_heq_716_, lean_object* v_i_717_, lean_object* v_k_718_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2___boxed(lean_object* v_00_u03b2_742_, lean_object* v_keys_743_, lean_object* v_vals_744_, lean_object* v_heq_745_, lean_object* v_i_746_, lean_object* v_k_747_){ _start: { -uint8_t v_res_719_; lean_object* v_r_720_; -v_res_719_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2(v_00_u03b2_713_, v_keys_714_, v_vals_715_, v_heq_716_, v_i_717_, v_k_718_); -lean_dec(v_k_718_); -lean_dec_ref(v_vals_715_); -lean_dec_ref(v_keys_714_); -v_r_720_ = lean_box(v_res_719_); -return v_r_720_; +uint8_t v_res_748_; lean_object* v_r_749_; +v_res_748_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__1_spec__1_spec__2(v_00_u03b2_742_, v_keys_743_, v_vals_744_, v_heq_745_, v_i_746_, v_k_747_); +lean_dec(v_k_747_); +lean_dec_ref(v_vals_744_); +lean_dec_ref(v_keys_743_); +v_r_749_ = lean_box(v_res_748_); +return v_r_749_; } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(lean_object* v_env_721_, lean_object* v_type_722_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(lean_object* v_env_750_, lean_object* v_type_751_){ _start: { -if (lean_obj_tag(v_type_722_) == 7) +if (lean_obj_tag(v_type_751_) == 7) { -lean_object* v_body_723_; -v_body_723_ = lean_ctor_get(v_type_722_, 2); -v_type_722_ = v_body_723_; +lean_object* v_body_752_; +v_body_752_ = lean_ctor_get(v_type_751_, 2); +v_type_751_ = v_body_752_; goto _start; } else { -lean_object* v___x_725_; -v___x_725_ = l_Lean_Expr_getAppFn(v_type_722_); -if (lean_obj_tag(v___x_725_) == 4) +lean_object* v___x_754_; +v___x_754_ = l_Lean_Expr_getAppFn(v_type_751_); +if (lean_obj_tag(v___x_754_) == 4) { -lean_object* v_declName_726_; uint8_t v___x_727_; -v_declName_726_ = lean_ctor_get(v___x_725_, 0); -lean_inc(v_declName_726_); -lean_dec_ref(v___x_725_); -v___x_727_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_721_, v_declName_726_); -return v___x_727_; +lean_object* v_declName_755_; uint8_t v___x_756_; +v_declName_755_ = lean_ctor_get(v___x_754_, 0); +lean_inc(v_declName_755_); +lean_dec_ref(v___x_754_); +v___x_756_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_750_, v_declName_755_); +return v___x_756_; } else { -uint8_t v___x_728_; -lean_dec_ref(v___x_725_); -lean_dec_ref(v_env_721_); -v___x_728_ = 0; -return v___x_728_; +uint8_t v___x_757_; +lean_dec_ref(v___x_754_); +lean_dec_ref(v_env_750_); +v___x_757_ = 0; +return v___x_757_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType___boxed(lean_object* v_env_729_, lean_object* v_type_730_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType___boxed(lean_object* v_env_758_, lean_object* v_type_759_){ _start: { -uint8_t v_res_731_; lean_object* v_r_732_; -v_res_731_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(v_env_729_, v_type_730_); -lean_dec_ref(v_type_730_); -v_r_732_ = lean_box(v_res_731_); -return v_r_732_; +uint8_t v_res_760_; lean_object* v_r_761_; +v_res_760_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(v_env_758_, v_type_759_); +lean_dec_ref(v_type_759_); +v_r_761_ = lean_box(v_res_760_); +return v_r_761_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(lean_object* v_upperBound_736_, lean_object* v_paramsInfo_737_, lean_object* v___x_738_, lean_object* v_param_739_, lean_object* v_a_740_, lean_object* v_b_741_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType(lean_object* v_env_762_, lean_object* v_type_763_){ _start: { -lean_object* v_a_743_; uint8_t v___x_747_; -v___x_747_ = lean_nat_dec_lt(v_a_740_, v_upperBound_736_); -if (v___x_747_ == 0) +if (lean_obj_tag(v_type_763_) == 7) { -lean_dec(v_a_740_); -lean_inc_ref(v_b_741_); -return v_b_741_; +lean_object* v_body_764_; +v_body_764_ = lean_ctor_get(v_type_763_, 2); +v_type_763_ = v_body_764_; +goto _start; } else { -uint8_t v___x_748_; lean_object* v___x_749_; lean_object* v___x_750_; lean_object* v___x_751_; lean_object* v___x_752_; uint8_t v___x_753_; -v___x_748_ = 0; -v___x_749_ = lean_box(0); -v___x_750_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0)); -v___x_751_ = lean_box(v___x_748_); -v___x_752_ = lean_array_get_borrowed(v___x_751_, v_paramsInfo_737_, v_a_740_); -lean_dec(v___x_751_); -v___x_753_ = lean_unbox(v___x_752_); -switch(v___x_753_) +lean_object* v___x_766_; +v___x_766_ = l_Lean_Expr_getAppFn(v_type_763_); +if (lean_obj_tag(v___x_766_) == 4) { +lean_object* v_declName_767_; uint8_t v___x_768_; +v_declName_767_ = lean_ctor_get(v___x_766_, 0); +lean_inc(v_declName_767_); +lean_dec_ref(v___x_766_); +v___x_768_ = l_Lean_Compiler_hasWeakSpecializeAttribute(v_env_762_, v_declName_767_); +return v___x_768_; +} +else +{ +uint8_t v___x_769_; +lean_dec_ref(v___x_766_); +lean_dec_ref(v_env_762_); +v___x_769_ = 0; +return v___x_769_; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType___boxed(lean_object* v_env_770_, lean_object* v_type_771_){ +_start: +{ +uint8_t v_res_772_; lean_object* v_r_773_; +v_res_772_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType(v_env_770_, v_type_771_); +lean_dec_ref(v_type_771_); +v_r_773_ = lean_box(v_res_772_); +return v_r_773_; +} +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(lean_object* v___x_777_, lean_object* v_param_778_, lean_object* v_paramsInfo_779_, lean_object* v_upperBound_780_, lean_object* v_a_781_, lean_object* v_b_782_){ +_start: +{ +lean_object* v_a_784_; uint8_t v___x_788_; +v___x_788_ = lean_nat_dec_lt(v_a_781_, v_upperBound_780_); +if (v___x_788_ == 0) +{ +lean_dec(v_a_781_); +lean_inc_ref(v_b_782_); +return v_b_782_; +} +else +{ +lean_object* v___x_789_; lean_object* v___x_790_; lean_object* v___x_799_; lean_object* v___x_802_; +v___x_789_ = lean_box(0); +v___x_790_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0)); +v___x_799_ = ((lean_object*)(l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default)); +v___x_802_ = lean_array_get_borrowed(v___x_799_, v_paramsInfo_779_, v_a_781_); +switch(lean_obj_tag(v___x_802_)) +{ +case 0: +{ +uint8_t v_weak_803_; +v_weak_803_ = lean_ctor_get_uint8(v___x_802_, 0); +if (v_weak_803_ == 0) +{ +goto v___jp_791_; +} +else +{ +goto v___jp_800_; +} +} case 2: { -v_a_743_ = v___x_750_; -goto v___jp_742_; +goto v___jp_800_; } case 4: { -v_a_743_ = v___x_750_; -goto v___jp_742_; +goto v___jp_800_; } default: { -lean_object* v___x_754_; lean_object* v_type_755_; lean_object* v_fvarId_756_; uint8_t v___x_757_; -v___x_754_ = lean_array_fget_borrowed(v___x_738_, v_a_740_); -v_type_755_ = lean_ctor_get(v___x_754_, 2); -v_fvarId_756_ = lean_ctor_get(v_param_739_, 0); -v___x_757_ = l_Lean_Expr_containsFVar(v_type_755_, v_fvarId_756_); -if (v___x_757_ == 0) +goto v___jp_791_; +} +} +v___jp_791_: { -v_a_743_ = v___x_750_; -goto v___jp_742_; +lean_object* v___x_792_; lean_object* v_type_793_; lean_object* v_fvarId_794_; uint8_t v___x_795_; +v___x_792_ = lean_array_fget_borrowed(v___x_777_, v_a_781_); +v_type_793_ = lean_ctor_get(v___x_792_, 2); +v_fvarId_794_ = lean_ctor_get(v_param_778_, 0); +v___x_795_ = l_Lean_Expr_containsFVar(v_type_793_, v_fvarId_794_); +if (v___x_795_ == 0) +{ +v_a_784_ = v___x_790_; +goto v___jp_783_; } else { -lean_object* v___x_758_; lean_object* v___x_759_; lean_object* v___x_760_; -lean_dec(v_a_740_); -v___x_758_ = lean_box(v___x_757_); -v___x_759_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_759_, 0, v___x_758_); -v___x_760_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_760_, 0, v___x_759_); -lean_ctor_set(v___x_760_, 1, v___x_749_); -return v___x_760_; +lean_object* v___x_796_; lean_object* v___x_797_; lean_object* v___x_798_; +lean_dec(v_a_781_); +v___x_796_ = lean_box(v___x_795_); +v___x_797_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_797_, 0, v___x_796_); +v___x_798_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_798_, 0, v___x_797_); +lean_ctor_set(v___x_798_, 1, v___x_789_); +return v___x_798_; } } -} -} -v___jp_742_: +v___jp_800_: { -lean_object* v___x_744_; lean_object* v___x_745_; -v___x_744_ = lean_unsigned_to_nat(1u); -v___x_745_ = lean_nat_add(v_a_740_, v___x_744_); -lean_dec(v_a_740_); -v_a_740_ = v___x_745_; -v_b_741_ = v_a_743_; +lean_object* v___x_801_; +v___x_801_ = lean_array_get_borrowed(v___x_799_, v_paramsInfo_779_, v_a_781_); +if (lean_obj_tag(v___x_801_) == 0) +{ +goto v___jp_791_; +} +else +{ +v_a_784_ = v___x_790_; +goto v___jp_783_; +} +} +} +v___jp_783_: +{ +lean_object* v___x_785_; lean_object* v___x_786_; +v___x_785_ = lean_unsigned_to_nat(1u); +v___x_786_ = lean_nat_add(v_a_781_, v___x_785_); +lean_dec(v_a_781_); +v_a_781_ = v___x_786_; +v_b_782_ = v_a_784_; goto _start; } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___boxed(lean_object* v_upperBound_761_, lean_object* v_paramsInfo_762_, lean_object* v___x_763_, lean_object* v_param_764_, lean_object* v_a_765_, lean_object* v_b_766_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___boxed(lean_object* v___x_804_, lean_object* v_param_805_, lean_object* v_paramsInfo_806_, lean_object* v_upperBound_807_, lean_object* v_a_808_, lean_object* v_b_809_){ _start: { -lean_object* v_res_767_; -v_res_767_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v_upperBound_761_, v_paramsInfo_762_, v___x_763_, v_param_764_, v_a_765_, v_b_766_); -lean_dec_ref(v_b_766_); -lean_dec_ref(v_param_764_); -lean_dec_ref(v___x_763_); -lean_dec_ref(v_paramsInfo_762_); -lean_dec(v_upperBound_761_); -return v_res_767_; +lean_object* v_res_810_; +v_res_810_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v___x_804_, v_param_805_, v_paramsInfo_806_, v_upperBound_807_, v_a_808_, v_b_809_); +lean_dec_ref(v_b_809_); +lean_dec(v_upperBound_807_); +lean_dec_ref(v_paramsInfo_806_); +lean_dec_ref(v_param_805_); +lean_dec_ref(v___x_804_); +return v_res_810_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0(void){ _start: { -uint8_t v___x_768_; lean_object* v___x_769_; -v___x_768_ = 0; -v___x_769_ = l_Lean_Compiler_LCNF_instInhabitedParam_default(v___x_768_); -return v___x_769_; +uint8_t v___x_811_; lean_object* v___x_812_; +v___x_811_ = 0; +v___x_812_ = l_Lean_Compiler_LCNF_instInhabitedParam_default(v___x_811_); +return v___x_812_; } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(lean_object* v_decl_770_, lean_object* v_paramsInfo_771_, lean_object* v_j_772_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(lean_object* v_decl_813_, lean_object* v_paramsInfo_814_, lean_object* v_j_815_){ _start: { -lean_object* v_toSignature_773_; lean_object* v_params_774_; lean_object* v___x_775_; lean_object* v___x_776_; lean_object* v___x_777_; lean_object* v___x_778_; lean_object* v___x_779_; lean_object* v_param_780_; lean_object* v___x_781_; lean_object* v_fst_782_; -v_toSignature_773_ = lean_ctor_get(v_decl_770_, 0); -v_params_774_ = lean_ctor_get(v_toSignature_773_, 3); -v___x_775_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0, &l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0_once, _init_l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0); -v___x_776_ = lean_unsigned_to_nat(1u); -v___x_777_ = lean_nat_add(v_j_772_, v___x_776_); -v___x_778_ = lean_array_get_size(v_params_774_); -v___x_779_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0)); -v_param_780_ = lean_array_get_borrowed(v___x_775_, v_params_774_, v_j_772_); -v___x_781_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v___x_778_, v_paramsInfo_771_, v_params_774_, v_param_780_, v___x_777_, v___x_779_); -v_fst_782_ = lean_ctor_get(v___x_781_, 0); -lean_inc(v_fst_782_); -lean_dec_ref(v___x_781_); -if (lean_obj_tag(v_fst_782_) == 0) +lean_object* v_toSignature_816_; lean_object* v_params_817_; lean_object* v___x_818_; lean_object* v___x_819_; lean_object* v___x_820_; lean_object* v___x_821_; lean_object* v___x_822_; lean_object* v_param_823_; lean_object* v___x_824_; lean_object* v_fst_825_; +v_toSignature_816_ = lean_ctor_get(v_decl_813_, 0); +v_params_817_ = lean_ctor_get(v_toSignature_816_, 3); +v___x_818_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0, &l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0_once, _init_l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___closed__0); +v___x_819_ = lean_unsigned_to_nat(1u); +v___x_820_ = lean_nat_add(v_j_815_, v___x_819_); +v___x_821_ = lean_array_get_size(v_params_817_); +v___x_822_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg___closed__0)); +v_param_823_ = lean_array_get_borrowed(v___x_818_, v_params_817_, v_j_815_); +v___x_824_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v_params_817_, v_param_823_, v_paramsInfo_814_, v___x_821_, v___x_820_, v___x_822_); +v_fst_825_ = lean_ctor_get(v___x_824_, 0); +lean_inc(v_fst_825_); +lean_dec_ref(v___x_824_); +if (lean_obj_tag(v_fst_825_) == 0) { -uint8_t v___x_783_; -v___x_783_ = 0; -return v___x_783_; +uint8_t v___x_826_; +v___x_826_ = 0; +return v___x_826_; } else { -lean_object* v_val_784_; uint8_t v___x_785_; -v_val_784_ = lean_ctor_get(v_fst_782_, 0); -lean_inc(v_val_784_); -lean_dec_ref(v_fst_782_); -v___x_785_ = lean_unbox(v_val_784_); -lean_dec(v_val_784_); -return v___x_785_; +lean_object* v_val_827_; uint8_t v___x_828_; +v_val_827_ = lean_ctor_get(v_fst_825_, 0); +lean_inc(v_val_827_); +lean_dec_ref(v_fst_825_); +v___x_828_ = lean_unbox(v_val_827_); +lean_dec(v_val_827_); +return v___x_828_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___boxed(lean_object* v_decl_786_, lean_object* v_paramsInfo_787_, lean_object* v_j_788_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps___boxed(lean_object* v_decl_829_, lean_object* v_paramsInfo_830_, lean_object* v_j_831_){ _start: { -uint8_t v_res_789_; lean_object* v_r_790_; -v_res_789_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(v_decl_786_, v_paramsInfo_787_, v_j_788_); -lean_dec(v_j_788_); -lean_dec_ref(v_paramsInfo_787_); -lean_dec_ref(v_decl_786_); -v_r_790_ = lean_box(v_res_789_); -return v_r_790_; +uint8_t v_res_832_; lean_object* v_r_833_; +v_res_832_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(v_decl_829_, v_paramsInfo_830_, v_j_831_); +lean_dec(v_j_831_); +lean_dec_ref(v_paramsInfo_830_); +lean_dec_ref(v_decl_829_); +v_r_833_ = lean_box(v_res_832_); +return v_r_833_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0(lean_object* v_upperBound_791_, lean_object* v_paramsInfo_792_, lean_object* v___x_793_, lean_object* v_param_794_, lean_object* v_inst_795_, lean_object* v_R_796_, lean_object* v_a_797_, lean_object* v_b_798_, lean_object* v_c_799_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0(lean_object* v___x_834_, lean_object* v_param_835_, lean_object* v_paramsInfo_836_, lean_object* v_upperBound_837_, lean_object* v_inst_838_, lean_object* v_R_839_, lean_object* v_a_840_, lean_object* v_b_841_, lean_object* v_c_842_){ _start: { -lean_object* v___x_800_; -v___x_800_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v_upperBound_791_, v_paramsInfo_792_, v___x_793_, v_param_794_, v_a_797_, v_b_798_); -return v___x_800_; +lean_object* v___x_843_; +v___x_843_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___redArg(v___x_834_, v_param_835_, v_paramsInfo_836_, v_upperBound_837_, v_a_840_, v_b_841_); +return v___x_843_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___boxed(lean_object* v_upperBound_801_, lean_object* v_paramsInfo_802_, lean_object* v___x_803_, lean_object* v_param_804_, lean_object* v_inst_805_, lean_object* v_R_806_, lean_object* v_a_807_, lean_object* v_b_808_, lean_object* v_c_809_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0___boxed(lean_object* v___x_844_, lean_object* v_param_845_, lean_object* v_paramsInfo_846_, lean_object* v_upperBound_847_, lean_object* v_inst_848_, lean_object* v_R_849_, lean_object* v_a_850_, lean_object* v_b_851_, lean_object* v_c_852_){ _start: { -lean_object* v_res_810_; -v_res_810_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0(v_upperBound_801_, v_paramsInfo_802_, v___x_803_, v_param_804_, v_inst_805_, v_R_806_, v_a_807_, v_b_808_, v_c_809_); -lean_dec_ref(v_b_808_); -lean_dec_ref(v_param_804_); -lean_dec_ref(v___x_803_); -lean_dec_ref(v_paramsInfo_802_); -lean_dec(v_upperBound_801_); -return v_res_810_; +lean_object* v_res_853_; +v_res_853_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps_spec__0(v___x_844_, v_param_845_, v_paramsInfo_846_, v_upperBound_847_, v_inst_848_, v_R_849_, v_a_850_, v_b_851_, v_c_852_); +lean_dec_ref(v_b_851_); +lean_dec(v_upperBound_847_); +lean_dec_ref(v_paramsInfo_846_); +lean_dec_ref(v_param_845_); +lean_dec_ref(v___x_844_); +return v_res_853_; } } static lean_object* _init_l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0(void){ _start: { -lean_object* v___x_811_; -v___x_811_ = l_instMonadEIO(lean_box(0)); -return v___x_811_; +lean_object* v___x_854_; +v___x_854_ = l_instMonadEIO(lean_box(0)); +return v___x_854_; } } -LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(lean_object* v_msg_814_, lean_object* v___y_815_, lean_object* v___y_816_, lean_object* v___y_817_, lean_object* v___y_818_){ +LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(lean_object* v_msg_857_, lean_object* v___y_858_, lean_object* v___y_859_, lean_object* v___y_860_, lean_object* v___y_861_){ _start: { -lean_object* v___x_820_; lean_object* v___x_821_; lean_object* v_toApplicative_822_; lean_object* v___x_824_; uint8_t v_isShared_825_; uint8_t v_isSharedCheck_855_; -v___x_820_ = lean_obj_once(&l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0, &l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0_once, _init_l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0); -v___x_821_ = l_StateRefT_x27_instMonad___redArg(v___x_820_); -v_toApplicative_822_ = lean_ctor_get(v___x_821_, 0); -v_isSharedCheck_855_ = !lean_is_exclusive(v___x_821_); -if (v_isSharedCheck_855_ == 0) +lean_object* v___x_863_; lean_object* v___x_864_; lean_object* v_toApplicative_865_; lean_object* v___x_867_; uint8_t v_isShared_868_; uint8_t v_isSharedCheck_898_; +v___x_863_ = lean_obj_once(&l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0, &l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0_once, _init_l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__0); +v___x_864_ = l_StateRefT_x27_instMonad___redArg(v___x_863_); +v_toApplicative_865_ = lean_ctor_get(v___x_864_, 0); +v_isSharedCheck_898_ = !lean_is_exclusive(v___x_864_); +if (v_isSharedCheck_898_ == 0) { -lean_object* v_unused_856_; -v_unused_856_ = lean_ctor_get(v___x_821_, 1); -lean_dec(v_unused_856_); -v___x_824_ = v___x_821_; -v_isShared_825_ = v_isSharedCheck_855_; -goto v_resetjp_823_; +lean_object* v_unused_899_; +v_unused_899_ = lean_ctor_get(v___x_864_, 1); +lean_dec(v_unused_899_); +v___x_867_ = v___x_864_; +v_isShared_868_ = v_isSharedCheck_898_; +goto v_resetjp_866_; } else { -lean_inc(v_toApplicative_822_); -lean_dec(v___x_821_); -v___x_824_ = lean_box(0); -v_isShared_825_ = v_isSharedCheck_855_; -goto v_resetjp_823_; +lean_inc(v_toApplicative_865_); +lean_dec(v___x_864_); +v___x_867_ = lean_box(0); +v_isShared_868_ = v_isSharedCheck_898_; +goto v_resetjp_866_; } -v_resetjp_823_: +v_resetjp_866_: { -lean_object* v_toFunctor_826_; lean_object* v_toSeq_827_; lean_object* v_toSeqLeft_828_; lean_object* v_toSeqRight_829_; lean_object* v___x_831_; uint8_t v_isShared_832_; uint8_t v_isSharedCheck_853_; -v_toFunctor_826_ = lean_ctor_get(v_toApplicative_822_, 0); -v_toSeq_827_ = lean_ctor_get(v_toApplicative_822_, 2); -v_toSeqLeft_828_ = lean_ctor_get(v_toApplicative_822_, 3); -v_toSeqRight_829_ = lean_ctor_get(v_toApplicative_822_, 4); -v_isSharedCheck_853_ = !lean_is_exclusive(v_toApplicative_822_); -if (v_isSharedCheck_853_ == 0) +lean_object* v_toFunctor_869_; lean_object* v_toSeq_870_; lean_object* v_toSeqLeft_871_; lean_object* v_toSeqRight_872_; lean_object* v___x_874_; uint8_t v_isShared_875_; uint8_t v_isSharedCheck_896_; +v_toFunctor_869_ = lean_ctor_get(v_toApplicative_865_, 0); +v_toSeq_870_ = lean_ctor_get(v_toApplicative_865_, 2); +v_toSeqLeft_871_ = lean_ctor_get(v_toApplicative_865_, 3); +v_toSeqRight_872_ = lean_ctor_get(v_toApplicative_865_, 4); +v_isSharedCheck_896_ = !lean_is_exclusive(v_toApplicative_865_); +if (v_isSharedCheck_896_ == 0) { -lean_object* v_unused_854_; -v_unused_854_ = lean_ctor_get(v_toApplicative_822_, 1); -lean_dec(v_unused_854_); -v___x_831_ = v_toApplicative_822_; -v_isShared_832_ = v_isSharedCheck_853_; -goto v_resetjp_830_; +lean_object* v_unused_897_; +v_unused_897_ = lean_ctor_get(v_toApplicative_865_, 1); +lean_dec(v_unused_897_); +v___x_874_ = v_toApplicative_865_; +v_isShared_875_ = v_isSharedCheck_896_; +goto v_resetjp_873_; } else { -lean_inc(v_toSeqRight_829_); -lean_inc(v_toSeqLeft_828_); -lean_inc(v_toSeq_827_); -lean_inc(v_toFunctor_826_); -lean_dec(v_toApplicative_822_); -v___x_831_ = lean_box(0); -v_isShared_832_ = v_isSharedCheck_853_; -goto v_resetjp_830_; +lean_inc(v_toSeqRight_872_); +lean_inc(v_toSeqLeft_871_); +lean_inc(v_toSeq_870_); +lean_inc(v_toFunctor_869_); +lean_dec(v_toApplicative_865_); +v___x_874_ = lean_box(0); +v_isShared_875_ = v_isSharedCheck_896_; +goto v_resetjp_873_; } -v_resetjp_830_: +v_resetjp_873_: { -lean_object* v___f_833_; lean_object* v___f_834_; lean_object* v___f_835_; lean_object* v___f_836_; lean_object* v___x_837_; lean_object* v___f_838_; lean_object* v___f_839_; lean_object* v___f_840_; lean_object* v___x_842_; -v___f_833_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__1)); -v___f_834_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__2)); -lean_inc_ref(v_toFunctor_826_); -v___f_835_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); -lean_closure_set(v___f_835_, 0, v_toFunctor_826_); -v___f_836_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_836_, 0, v_toFunctor_826_); -v___x_837_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_837_, 0, v___f_835_); -lean_ctor_set(v___x_837_, 1, v___f_836_); -v___f_838_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_838_, 0, v_toSeqRight_829_); -v___f_839_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); -lean_closure_set(v___f_839_, 0, v_toSeqLeft_828_); -v___f_840_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); -lean_closure_set(v___f_840_, 0, v_toSeq_827_); -if (v_isShared_832_ == 0) +lean_object* v___f_876_; lean_object* v___f_877_; lean_object* v___f_878_; lean_object* v___f_879_; lean_object* v___x_880_; lean_object* v___f_881_; lean_object* v___f_882_; lean_object* v___f_883_; lean_object* v___x_885_; +v___f_876_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__1)); +v___f_877_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___closed__2)); +lean_inc_ref(v_toFunctor_869_); +v___f_878_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); +lean_closure_set(v___f_878_, 0, v_toFunctor_869_); +v___f_879_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_879_, 0, v_toFunctor_869_); +v___x_880_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_880_, 0, v___f_878_); +lean_ctor_set(v___x_880_, 1, v___f_879_); +v___f_881_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_881_, 0, v_toSeqRight_872_); +v___f_882_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); +lean_closure_set(v___f_882_, 0, v_toSeqLeft_871_); +v___f_883_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); +lean_closure_set(v___f_883_, 0, v_toSeq_870_); +if (v_isShared_875_ == 0) { -lean_ctor_set(v___x_831_, 4, v___f_838_); -lean_ctor_set(v___x_831_, 3, v___f_839_); -lean_ctor_set(v___x_831_, 2, v___f_840_); -lean_ctor_set(v___x_831_, 1, v___f_833_); -lean_ctor_set(v___x_831_, 0, v___x_837_); -v___x_842_ = v___x_831_; -goto v_reusejp_841_; +lean_ctor_set(v___x_874_, 4, v___f_881_); +lean_ctor_set(v___x_874_, 3, v___f_882_); +lean_ctor_set(v___x_874_, 2, v___f_883_); +lean_ctor_set(v___x_874_, 1, v___f_876_); +lean_ctor_set(v___x_874_, 0, v___x_880_); +v___x_885_ = v___x_874_; +goto v_reusejp_884_; } else { -lean_object* v_reuseFailAlloc_852_; -v_reuseFailAlloc_852_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v_reuseFailAlloc_852_, 0, v___x_837_); -lean_ctor_set(v_reuseFailAlloc_852_, 1, v___f_833_); -lean_ctor_set(v_reuseFailAlloc_852_, 2, v___f_840_); -lean_ctor_set(v_reuseFailAlloc_852_, 3, v___f_839_); -lean_ctor_set(v_reuseFailAlloc_852_, 4, v___f_838_); -v___x_842_ = v_reuseFailAlloc_852_; -goto v_reusejp_841_; +lean_object* v_reuseFailAlloc_895_; +v_reuseFailAlloc_895_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v_reuseFailAlloc_895_, 0, v___x_880_); +lean_ctor_set(v_reuseFailAlloc_895_, 1, v___f_876_); +lean_ctor_set(v_reuseFailAlloc_895_, 2, v___f_883_); +lean_ctor_set(v_reuseFailAlloc_895_, 3, v___f_882_); +lean_ctor_set(v_reuseFailAlloc_895_, 4, v___f_881_); +v___x_885_ = v_reuseFailAlloc_895_; +goto v_reusejp_884_; } -v_reusejp_841_: +v_reusejp_884_: { -lean_object* v___x_844_; -if (v_isShared_825_ == 0) +lean_object* v___x_887_; +if (v_isShared_868_ == 0) { -lean_ctor_set(v___x_824_, 1, v___f_834_); -lean_ctor_set(v___x_824_, 0, v___x_842_); -v___x_844_ = v___x_824_; -goto v_reusejp_843_; +lean_ctor_set(v___x_867_, 1, v___f_877_); +lean_ctor_set(v___x_867_, 0, v___x_885_); +v___x_887_ = v___x_867_; +goto v_reusejp_886_; } else { -lean_object* v_reuseFailAlloc_851_; -v_reuseFailAlloc_851_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_851_, 0, v___x_842_); -lean_ctor_set(v_reuseFailAlloc_851_, 1, v___f_834_); -v___x_844_ = v_reuseFailAlloc_851_; -goto v_reusejp_843_; +lean_object* v_reuseFailAlloc_894_; +v_reuseFailAlloc_894_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_894_, 0, v___x_885_); +lean_ctor_set(v_reuseFailAlloc_894_, 1, v___f_877_); +v___x_887_ = v_reuseFailAlloc_894_; +goto v_reusejp_886_; } -v_reusejp_843_: +v_reusejp_886_: { -lean_object* v___x_845_; lean_object* v___x_846_; lean_object* v___x_847_; lean_object* v___f_848_; lean_object* v___x_10861__overap_849_; lean_object* v___x_850_; -v___x_845_ = l_StateRefT_x27_instMonad___redArg(v___x_844_); -v___x_846_ = lean_box(0); -v___x_847_ = l_instInhabitedOfMonad___redArg(v___x_845_, v___x_846_); -v___f_848_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); -lean_closure_set(v___f_848_, 0, v___x_847_); -v___x_10861__overap_849_ = lean_panic_fn_borrowed(v___f_848_, v_msg_814_); -lean_dec_ref(v___f_848_); -lean_inc(v___y_818_); -lean_inc_ref(v___y_817_); -lean_inc(v___y_816_); -lean_inc_ref(v___y_815_); -v___x_850_ = lean_apply_5(v___x_10861__overap_849_, v___y_815_, v___y_816_, v___y_817_, v___y_818_, lean_box(0)); -return v___x_850_; +lean_object* v___x_888_; lean_object* v___x_889_; lean_object* v___x_890_; lean_object* v___f_891_; lean_object* v___x_11117__overap_892_; lean_object* v___x_893_; +v___x_888_ = l_StateRefT_x27_instMonad___redArg(v___x_887_); +v___x_889_ = lean_box(0); +v___x_890_ = l_instInhabitedOfMonad___redArg(v___x_888_, v___x_889_); +v___f_891_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); +lean_closure_set(v___f_891_, 0, v___x_890_); +v___x_11117__overap_892_ = lean_panic_fn_borrowed(v___f_891_, v_msg_857_); +lean_dec_ref(v___f_891_); +lean_inc(v___y_861_); +lean_inc_ref(v___y_860_); +lean_inc(v___y_859_); +lean_inc_ref(v___y_858_); +v___x_893_ = lean_apply_5(v___x_11117__overap_892_, v___y_858_, v___y_859_, v___y_860_, v___y_861_, lean_box(0)); +return v___x_893_; } } } } } } -LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___boxed(lean_object* v_msg_857_, lean_object* v___y_858_, lean_object* v___y_859_, lean_object* v___y_860_, lean_object* v___y_861_, lean_object* v___y_862_){ +LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8___boxed(lean_object* v_msg_900_, lean_object* v___y_901_, lean_object* v___y_902_, lean_object* v___y_903_, lean_object* v___y_904_, lean_object* v___y_905_){ _start: { -lean_object* v_res_863_; -v_res_863_ = l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(v_msg_857_, v___y_858_, v___y_859_, v___y_860_, v___y_861_); -lean_dec(v___y_861_); -lean_dec_ref(v___y_860_); -lean_dec(v___y_859_); -lean_dec_ref(v___y_858_); -return v_res_863_; +lean_object* v_res_906_; +v_res_906_ = l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(v_msg_900_, v___y_901_, v___y_902_, v___y_903_, v___y_904_); +lean_dec(v___y_904_); +lean_dec_ref(v___y_903_); +lean_dec(v___y_902_); +lean_dec_ref(v___y_901_); +return v_res_906_; } } -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(lean_object* v_a_864_, lean_object* v_as_865_, size_t v_i_866_, size_t v_stop_867_){ +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(lean_object* v_a_907_, lean_object* v_as_908_, size_t v_i_909_, size_t v_stop_910_){ _start: { -uint8_t v___x_868_; -v___x_868_ = lean_usize_dec_eq(v_i_866_, v_stop_867_); -if (v___x_868_ == 0) +uint8_t v___x_911_; +v___x_911_ = lean_usize_dec_eq(v_i_909_, v_stop_910_); +if (v___x_911_ == 0) { -lean_object* v___x_869_; uint8_t v___x_870_; -v___x_869_ = lean_array_uget_borrowed(v_as_865_, v_i_866_); -v___x_870_ = lean_nat_dec_eq(v_a_864_, v___x_869_); -if (v___x_870_ == 0) +lean_object* v___x_912_; uint8_t v___x_913_; +v___x_912_ = lean_array_uget_borrowed(v_as_908_, v_i_909_); +v___x_913_ = lean_nat_dec_eq(v_a_907_, v___x_912_); +if (v___x_913_ == 0) { -size_t v___x_871_; size_t v___x_872_; -v___x_871_ = ((size_t)1ULL); -v___x_872_ = lean_usize_add(v_i_866_, v___x_871_); -v_i_866_ = v___x_872_; +size_t v___x_914_; size_t v___x_915_; +v___x_914_ = ((size_t)1ULL); +v___x_915_ = lean_usize_add(v_i_909_, v___x_914_); +v_i_909_ = v___x_915_; goto _start; } else { -return v___x_870_; +return v___x_913_; } } else { -uint8_t v___x_874_; -v___x_874_ = 0; -return v___x_874_; +uint8_t v___x_917_; +v___x_917_ = 0; +return v___x_917_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0___boxed(lean_object* v_a_875_, lean_object* v_as_876_, lean_object* v_i_877_, lean_object* v_stop_878_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0___boxed(lean_object* v_a_918_, lean_object* v_as_919_, lean_object* v_i_920_, lean_object* v_stop_921_){ _start: { -size_t v_i_boxed_879_; size_t v_stop_boxed_880_; uint8_t v_res_881_; lean_object* v_r_882_; -v_i_boxed_879_ = lean_unbox_usize(v_i_877_); -lean_dec(v_i_877_); -v_stop_boxed_880_ = lean_unbox_usize(v_stop_878_); -lean_dec(v_stop_878_); -v_res_881_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(v_a_875_, v_as_876_, v_i_boxed_879_, v_stop_boxed_880_); -lean_dec_ref(v_as_876_); -lean_dec(v_a_875_); -v_r_882_ = lean_box(v_res_881_); -return v_r_882_; +size_t v_i_boxed_922_; size_t v_stop_boxed_923_; uint8_t v_res_924_; lean_object* v_r_925_; +v_i_boxed_922_ = lean_unbox_usize(v_i_920_); +lean_dec(v_i_920_); +v_stop_boxed_923_ = lean_unbox_usize(v_stop_921_); +lean_dec(v_stop_921_); +v_res_924_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(v_a_918_, v_as_919_, v_i_boxed_922_, v_stop_boxed_923_); +lean_dec_ref(v_as_919_); +lean_dec(v_a_918_); +v_r_925_ = lean_box(v_res_924_); +return v_r_925_; } } -LEAN_EXPORT uint8_t l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(lean_object* v_as_883_, lean_object* v_a_884_){ +LEAN_EXPORT uint8_t l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(lean_object* v_as_926_, lean_object* v_a_927_){ _start: { -lean_object* v___x_885_; lean_object* v___x_886_; uint8_t v___x_887_; -v___x_885_ = lean_unsigned_to_nat(0u); -v___x_886_ = lean_array_get_size(v_as_883_); -v___x_887_ = lean_nat_dec_lt(v___x_885_, v___x_886_); -if (v___x_887_ == 0) +lean_object* v___x_928_; lean_object* v___x_929_; uint8_t v___x_930_; +v___x_928_ = lean_unsigned_to_nat(0u); +v___x_929_ = lean_array_get_size(v_as_926_); +v___x_930_ = lean_nat_dec_lt(v___x_928_, v___x_929_); +if (v___x_930_ == 0) { -return v___x_887_; +return v___x_930_; } else { -if (v___x_887_ == 0) +if (v___x_930_ == 0) { -return v___x_887_; +return v___x_930_; } else { -size_t v___x_888_; size_t v___x_889_; uint8_t v___x_890_; -v___x_888_ = ((size_t)0ULL); -v___x_889_ = lean_usize_of_nat(v___x_886_); -v___x_890_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(v_a_884_, v_as_883_, v___x_888_, v___x_889_); -return v___x_890_; +size_t v___x_931_; size_t v___x_932_; uint8_t v___x_933_; +v___x_931_ = ((size_t)0ULL); +v___x_932_ = lean_usize_of_nat(v___x_929_); +v___x_933_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0_spec__0(v_a_927_, v_as_926_, v___x_931_, v___x_932_); +return v___x_933_; } } } } -LEAN_EXPORT lean_object* l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0___boxed(lean_object* v_as_891_, lean_object* v_a_892_){ +LEAN_EXPORT lean_object* l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0___boxed(lean_object* v_as_934_, lean_object* v_a_935_){ _start: { -uint8_t v_res_893_; lean_object* v_r_894_; -v_res_893_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v_as_891_, v_a_892_); -lean_dec(v_a_892_); -lean_dec_ref(v_as_891_); -v_r_894_ = lean_box(v_res_893_); -return v_r_894_; +uint8_t v_res_936_; lean_object* v_r_937_; +v_res_936_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v_as_934_, v_a_935_); +lean_dec(v_a_935_); +lean_dec_ref(v_as_934_); +v_r_937_ = lean_box(v_res_936_); +return v_r_937_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(lean_object* v_b_895_, uint8_t v_info_896_, lean_object* v___y_897_, lean_object* v___y_898_, lean_object* v___y_899_, lean_object* v___y_900_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(lean_object* v_b_938_, lean_object* v_info_939_, lean_object* v___y_940_, lean_object* v___y_941_, lean_object* v___y_942_, lean_object* v___y_943_){ _start: { -lean_object* v___x_902_; lean_object* v___x_903_; lean_object* v___x_904_; lean_object* v___x_905_; -v___x_902_ = lean_box(v_info_896_); -v___x_903_ = lean_array_push(v_b_895_, v___x_902_); -v___x_904_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_904_, 0, v___x_903_); -v___x_905_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_905_, 0, v___x_904_); -return v___x_905_; +lean_object* v___x_945_; lean_object* v___x_946_; lean_object* v___x_947_; +v___x_945_ = lean_array_push(v_b_938_, v_info_939_); +v___x_946_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_946_, 0, v___x_945_); +v___x_947_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_947_, 0, v___x_946_); +return v___x_947_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0___boxed(lean_object* v_b_906_, lean_object* v_info_907_, lean_object* v___y_908_, lean_object* v___y_909_, lean_object* v___y_910_, lean_object* v___y_911_, lean_object* v___y_912_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0___boxed(lean_object* v_b_948_, lean_object* v_info_949_, lean_object* v___y_950_, lean_object* v___y_951_, lean_object* v___y_952_, lean_object* v___y_953_, lean_object* v___y_954_){ _start: { -uint8_t v_info_boxed_913_; lean_object* v_res_914_; -v_info_boxed_913_ = lean_unbox(v_info_907_); -v_res_914_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_906_, v_info_boxed_913_, v___y_908_, v___y_909_, v___y_910_, v___y_911_); -lean_dec(v___y_911_); -lean_dec_ref(v___y_910_); -lean_dec(v___y_909_); -lean_dec_ref(v___y_908_); -return v_res_914_; +lean_object* v_res_955_; +v_res_955_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_948_, v_info_949_, v___y_950_, v___y_951_, v___y_952_, v___y_953_); +lean_dec(v___y_953_); +lean_dec_ref(v___y_952_); +lean_dec(v___y_951_); +lean_dec_ref(v___y_950_); +return v_res_955_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(lean_object* v_upperBound_917_, lean_object* v___x_918_, lean_object* v_autoSpecialize_919_, lean_object* v___x_920_, lean_object* v___x_921_, lean_object* v_a_922_, lean_object* v_b_923_, lean_object* v___y_924_, lean_object* v___y_925_, lean_object* v___y_926_, lean_object* v___y_927_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(lean_object* v_upperBound_958_, lean_object* v___x_959_, lean_object* v_autoSpecialize_960_, lean_object* v___x_961_, lean_object* v___x_962_, lean_object* v_a_963_, lean_object* v_b_964_, lean_object* v___y_965_, lean_object* v___y_966_, lean_object* v___y_967_, lean_object* v___y_968_){ _start: { -lean_object* v___y_930_; uint8_t v___x_952_; -v___x_952_ = lean_nat_dec_lt(v_a_922_, v_upperBound_917_); -if (v___x_952_ == 0) +lean_object* v___y_971_; uint8_t v___x_993_; +v___x_993_ = lean_nat_dec_lt(v_a_963_, v_upperBound_958_); +if (v___x_993_ == 0) { -lean_object* v___x_953_; -lean_dec(v_a_922_); -lean_dec(v___x_921_); -lean_dec(v___x_920_); -lean_dec_ref(v_autoSpecialize_919_); -v___x_953_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_953_, 0, v_b_923_); -return v___x_953_; +lean_object* v___x_994_; +lean_dec(v_a_963_); +lean_dec(v___x_962_); +lean_dec(v___x_961_); +lean_dec_ref(v_autoSpecialize_960_); +v___x_994_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_994_, 0, v_b_964_); +return v___x_994_; } else { -lean_object* v___x_954_; lean_object* v___x_955_; lean_object* v_type_956_; lean_object* v___x_957_; -v___x_954_ = lean_st_ref_get(v___y_927_); -v___x_955_ = lean_array_fget_borrowed(v___x_918_, v_a_922_); -v_type_956_ = lean_ctor_get(v___x_955_, 2); -lean_inc_ref(v_type_956_); -v___x_957_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_956_, v___y_927_); -if (lean_obj_tag(v___x_957_) == 0) +lean_object* v___x_995_; lean_object* v___x_996_; lean_object* v_type_997_; lean_object* v___x_998_; +v___x_995_ = lean_st_ref_get(v___y_968_); +v___x_996_ = lean_array_fget_borrowed(v___x_959_, v_a_963_); +v_type_997_ = lean_ctor_get(v___x_996_, 2); +lean_inc_ref(v_type_997_); +v___x_998_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_997_, v___y_968_); +if (lean_obj_tag(v___x_998_) == 0) { -lean_object* v_a_958_; lean_object* v_env_959_; uint8_t v___y_967_; -v_a_958_ = lean_ctor_get(v___x_957_, 0); -lean_inc(v_a_958_); -lean_dec_ref(v___x_957_); -v_env_959_ = lean_ctor_get(v___x_954_, 0); -lean_inc_ref(v_env_959_); -lean_dec(v___x_954_); -if (lean_obj_tag(v___x_921_) == 0) +lean_object* v_a_999_; lean_object* v_env_1000_; uint8_t v___y_1011_; +v_a_999_ = lean_ctor_get(v___x_998_, 0); +lean_inc(v_a_999_); +lean_dec_ref(v___x_998_); +v_env_1000_ = lean_ctor_get(v___x_995_, 0); +lean_inc_ref(v_env_1000_); +lean_dec(v___x_995_); +if (lean_obj_tag(v___x_962_) == 0) { -lean_object* v___x_980_; uint8_t v___x_981_; -v___x_980_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___closed__0)); -v___x_981_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v___x_980_, v_a_922_); -v___y_967_ = v___x_981_; -goto v___jp_966_; +lean_object* v___x_1024_; uint8_t v___x_1025_; +v___x_1024_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___closed__0)); +v___x_1025_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v___x_1024_, v_a_963_); +v___y_1011_ = v___x_1025_; +goto v___jp_1010_; } else { -lean_object* v_val_982_; uint8_t v___x_983_; -v_val_982_ = lean_ctor_get(v___x_921_, 0); -v___x_983_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v_val_982_, v_a_922_); -v___y_967_ = v___x_983_; -goto v___jp_966_; +lean_object* v_val_1026_; uint8_t v___x_1027_; +v_val_1026_ = lean_ctor_get(v___x_962_, 0); +v___x_1027_ = l_Array_contains___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__0(v_val_1026_, v_a_963_); +v___y_1011_ = v___x_1027_; +goto v___jp_1010_; } -v___jp_960_: +v___jp_1001_: { -uint8_t v___x_961_; lean_object* v___x_962_; -v___x_961_ = 4; -v___x_962_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_961_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_962_; -goto v___jp_929_; +lean_object* v___x_1002_; lean_object* v___x_1003_; +v___x_1002_ = lean_box(4); +v___x_1003_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1002_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1003_; +goto v___jp_970_; } -v___jp_963_: +v___jp_1004_: { -uint8_t v___x_964_; lean_object* v___x_965_; -v___x_964_ = 0; -v___x_965_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_964_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_965_; -goto v___jp_929_; +lean_object* v___x_1005_; lean_object* v_env_1006_; uint8_t v___x_1007_; lean_object* v___x_1008_; lean_object* v___x_1009_; +v___x_1005_ = lean_st_ref_get(v___y_968_); +v_env_1006_ = lean_ctor_get(v___x_1005_, 0); +lean_inc_ref(v_env_1006_); +lean_dec(v___x_1005_); +v___x_1007_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isWeakSpecType(v_env_1006_, v_type_997_); +v___x_1008_ = lean_alloc_ctor(0, 0, 1); +lean_ctor_set_uint8(v___x_1008_, 0, v___x_1007_); +v___x_1009_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1008_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1009_; +goto v___jp_970_; } -v___jp_966_: +v___jp_1010_: { -if (v___y_967_ == 0) +if (v___y_1011_ == 0) { -uint8_t v___x_968_; -v___x_968_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(v_env_959_, v_type_956_); -if (v___x_968_ == 0) +uint8_t v___x_1012_; +v___x_1012_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_isNoSpecType(v_env_1000_, v_type_997_); +if (v___x_1012_ == 0) { -uint8_t v___x_969_; -lean_inc_ref(v_type_956_); -v___x_969_ = l_Lean_Compiler_LCNF_isTypeFormerType(v_type_956_); -if (v___x_969_ == 0) +uint8_t v___x_1013_; +lean_inc_ref(v_type_997_); +v___x_1013_ = l_Lean_Compiler_LCNF_isTypeFormerType(v_type_997_); +if (v___x_1013_ == 0) { -if (lean_obj_tag(v_a_958_) == 0) +if (lean_obj_tag(v_a_999_) == 0) { -if (v___x_969_ == 0) +if (v___x_1013_ == 0) { -lean_object* v___x_970_; uint8_t v___x_971_; -lean_inc_ref(v_autoSpecialize_919_); -lean_inc(v___x_921_); -lean_inc(v___x_920_); -v___x_970_ = lean_apply_2(v_autoSpecialize_919_, v___x_920_, v___x_921_); -v___x_971_ = lean_unbox(v___x_970_); -if (v___x_971_ == 0) +lean_object* v___x_1014_; uint8_t v___x_1015_; +lean_inc_ref(v_autoSpecialize_960_); +lean_inc(v___x_962_); +lean_inc(v___x_961_); +v___x_1014_ = lean_apply_2(v_autoSpecialize_960_, v___x_961_, v___x_962_); +v___x_1015_ = lean_unbox(v___x_1014_); +if (v___x_1015_ == 0) { -goto v___jp_960_; +goto v___jp_1001_; } else { -if (lean_obj_tag(v_type_956_) == 7) +if (lean_obj_tag(v_type_997_) == 7) { -uint8_t v___x_972_; lean_object* v___x_973_; -v___x_972_ = 1; -v___x_973_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_972_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_973_; -goto v___jp_929_; +lean_object* v___x_1016_; lean_object* v___x_1017_; +v___x_1016_ = lean_box(1); +v___x_1017_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1016_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1017_; +goto v___jp_970_; } else { -goto v___jp_960_; +goto v___jp_1001_; } } } else { -goto v___jp_963_; +goto v___jp_1004_; } } else { -lean_dec_ref(v_a_958_); -goto v___jp_963_; +lean_dec_ref(v_a_999_); +goto v___jp_1004_; } } else { -uint8_t v___x_974_; lean_object* v___x_975_; -lean_dec(v_a_958_); -v___x_974_ = 2; -v___x_975_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_974_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_975_; -goto v___jp_929_; +lean_object* v___x_1018_; lean_object* v___x_1019_; +lean_dec(v_a_999_); +v___x_1018_ = lean_box(2); +v___x_1019_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1018_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1019_; +goto v___jp_970_; } } else { -uint8_t v___x_976_; lean_object* v___x_977_; -lean_dec(v_a_958_); -v___x_976_ = 4; -v___x_977_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_976_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_977_; -goto v___jp_929_; +lean_object* v___x_1020_; lean_object* v___x_1021_; +lean_dec(v_a_999_); +v___x_1020_ = lean_box(4); +v___x_1021_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1020_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1021_; +goto v___jp_970_; } } else { -uint8_t v___x_978_; lean_object* v___x_979_; -lean_dec_ref(v_env_959_); -lean_dec(v_a_958_); -v___x_978_ = 3; -v___x_979_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_923_, v___x_978_, v___y_924_, v___y_925_, v___y_926_, v___y_927_); -v___y_930_ = v___x_979_; -goto v___jp_929_; +lean_object* v___x_1022_; lean_object* v___x_1023_; +lean_dec_ref(v_env_1000_); +lean_dec(v_a_999_); +v___x_1022_ = lean_box(3); +v___x_1023_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___lam__0(v_b_964_, v___x_1022_, v___y_965_, v___y_966_, v___y_967_, v___y_968_); +v___y_971_ = v___x_1023_; +goto v___jp_970_; } } } else { -lean_object* v_a_984_; lean_object* v___x_986_; uint8_t v_isShared_987_; uint8_t v_isSharedCheck_991_; -lean_dec(v___x_954_); -lean_dec_ref(v_b_923_); -lean_dec(v_a_922_); -lean_dec(v___x_921_); -lean_dec(v___x_920_); -lean_dec_ref(v_autoSpecialize_919_); -v_a_984_ = lean_ctor_get(v___x_957_, 0); -v_isSharedCheck_991_ = !lean_is_exclusive(v___x_957_); -if (v_isSharedCheck_991_ == 0) +lean_object* v_a_1028_; lean_object* v___x_1030_; uint8_t v_isShared_1031_; uint8_t v_isSharedCheck_1035_; +lean_dec(v___x_995_); +lean_dec_ref(v_b_964_); +lean_dec(v_a_963_); +lean_dec(v___x_962_); +lean_dec(v___x_961_); +lean_dec_ref(v_autoSpecialize_960_); +v_a_1028_ = lean_ctor_get(v___x_998_, 0); +v_isSharedCheck_1035_ = !lean_is_exclusive(v___x_998_); +if (v_isSharedCheck_1035_ == 0) { -v___x_986_ = v___x_957_; -v_isShared_987_ = v_isSharedCheck_991_; -goto v_resetjp_985_; +v___x_1030_ = v___x_998_; +v_isShared_1031_ = v_isSharedCheck_1035_; +goto v_resetjp_1029_; } else { -lean_inc(v_a_984_); -lean_dec(v___x_957_); -v___x_986_ = lean_box(0); -v_isShared_987_ = v_isSharedCheck_991_; -goto v_resetjp_985_; +lean_inc(v_a_1028_); +lean_dec(v___x_998_); +v___x_1030_ = lean_box(0); +v_isShared_1031_ = v_isSharedCheck_1035_; +goto v_resetjp_1029_; } -v_resetjp_985_: +v_resetjp_1029_: { -lean_object* v___x_989_; -if (v_isShared_987_ == 0) +lean_object* v___x_1033_; +if (v_isShared_1031_ == 0) { -v___x_989_ = v___x_986_; -goto v_reusejp_988_; +v___x_1033_ = v___x_1030_; +goto v_reusejp_1032_; } else { -lean_object* v_reuseFailAlloc_990_; -v_reuseFailAlloc_990_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_990_, 0, v_a_984_); -v___x_989_ = v_reuseFailAlloc_990_; -goto v_reusejp_988_; +lean_object* v_reuseFailAlloc_1034_; +v_reuseFailAlloc_1034_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1034_, 0, v_a_1028_); +v___x_1033_ = v_reuseFailAlloc_1034_; +goto v_reusejp_1032_; } -v_reusejp_988_: +v_reusejp_1032_: { -return v___x_989_; +return v___x_1033_; } } } } -v___jp_929_: +v___jp_970_: { -if (lean_obj_tag(v___y_930_) == 0) +if (lean_obj_tag(v___y_971_) == 0) { -lean_object* v_a_931_; lean_object* v___x_933_; uint8_t v_isShared_934_; uint8_t v_isSharedCheck_943_; -v_a_931_ = lean_ctor_get(v___y_930_, 0); -v_isSharedCheck_943_ = !lean_is_exclusive(v___y_930_); -if (v_isSharedCheck_943_ == 0) +lean_object* v_a_972_; lean_object* v___x_974_; uint8_t v_isShared_975_; uint8_t v_isSharedCheck_984_; +v_a_972_ = lean_ctor_get(v___y_971_, 0); +v_isSharedCheck_984_ = !lean_is_exclusive(v___y_971_); +if (v_isSharedCheck_984_ == 0) { -v___x_933_ = v___y_930_; -v_isShared_934_ = v_isSharedCheck_943_; -goto v_resetjp_932_; +v___x_974_ = v___y_971_; +v_isShared_975_ = v_isSharedCheck_984_; +goto v_resetjp_973_; } else { -lean_inc(v_a_931_); -lean_dec(v___y_930_); -v___x_933_ = lean_box(0); -v_isShared_934_ = v_isSharedCheck_943_; -goto v_resetjp_932_; +lean_inc(v_a_972_); +lean_dec(v___y_971_); +v___x_974_ = lean_box(0); +v_isShared_975_ = v_isSharedCheck_984_; +goto v_resetjp_973_; } -v_resetjp_932_: +v_resetjp_973_: { -if (lean_obj_tag(v_a_931_) == 0) +if (lean_obj_tag(v_a_972_) == 0) { -lean_object* v_a_935_; lean_object* v___x_937_; -lean_dec(v_a_922_); -lean_dec(v___x_921_); -lean_dec(v___x_920_); -lean_dec_ref(v_autoSpecialize_919_); -v_a_935_ = lean_ctor_get(v_a_931_, 0); -lean_inc(v_a_935_); -lean_dec_ref(v_a_931_); -if (v_isShared_934_ == 0) +lean_object* v_a_976_; lean_object* v___x_978_; +lean_dec(v_a_963_); +lean_dec(v___x_962_); +lean_dec(v___x_961_); +lean_dec_ref(v_autoSpecialize_960_); +v_a_976_ = lean_ctor_get(v_a_972_, 0); +lean_inc(v_a_976_); +lean_dec_ref(v_a_972_); +if (v_isShared_975_ == 0) { -lean_ctor_set(v___x_933_, 0, v_a_935_); -v___x_937_ = v___x_933_; -goto v_reusejp_936_; +lean_ctor_set(v___x_974_, 0, v_a_976_); +v___x_978_ = v___x_974_; +goto v_reusejp_977_; } else { -lean_object* v_reuseFailAlloc_938_; -v_reuseFailAlloc_938_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_938_, 0, v_a_935_); -v___x_937_ = v_reuseFailAlloc_938_; -goto v_reusejp_936_; +lean_object* v_reuseFailAlloc_979_; +v_reuseFailAlloc_979_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_979_, 0, v_a_976_); +v___x_978_ = v_reuseFailAlloc_979_; +goto v_reusejp_977_; } -v_reusejp_936_: +v_reusejp_977_: { -return v___x_937_; +return v___x_978_; } } else { -lean_object* v_a_939_; lean_object* v___x_940_; lean_object* v___x_941_; -lean_del_object(v___x_933_); -v_a_939_ = lean_ctor_get(v_a_931_, 0); -lean_inc(v_a_939_); -lean_dec_ref(v_a_931_); -v___x_940_ = lean_unsigned_to_nat(1u); -v___x_941_ = lean_nat_add(v_a_922_, v___x_940_); -lean_dec(v_a_922_); -v_a_922_ = v___x_941_; -v_b_923_ = v_a_939_; +lean_object* v_a_980_; lean_object* v___x_981_; lean_object* v___x_982_; +lean_del_object(v___x_974_); +v_a_980_ = lean_ctor_get(v_a_972_, 0); +lean_inc(v_a_980_); +lean_dec_ref(v_a_972_); +v___x_981_ = lean_unsigned_to_nat(1u); +v___x_982_ = lean_nat_add(v_a_963_, v___x_981_); +lean_dec(v_a_963_); +v_a_963_ = v___x_982_; +v_b_964_ = v_a_980_; goto _start; } } } else { -lean_object* v_a_944_; lean_object* v___x_946_; uint8_t v_isShared_947_; uint8_t v_isSharedCheck_951_; -lean_dec(v_a_922_); -lean_dec(v___x_921_); -lean_dec(v___x_920_); -lean_dec_ref(v_autoSpecialize_919_); -v_a_944_ = lean_ctor_get(v___y_930_, 0); -v_isSharedCheck_951_ = !lean_is_exclusive(v___y_930_); -if (v_isSharedCheck_951_ == 0) +lean_object* v_a_985_; lean_object* v___x_987_; uint8_t v_isShared_988_; uint8_t v_isSharedCheck_992_; +lean_dec(v_a_963_); +lean_dec(v___x_962_); +lean_dec(v___x_961_); +lean_dec_ref(v_autoSpecialize_960_); +v_a_985_ = lean_ctor_get(v___y_971_, 0); +v_isSharedCheck_992_ = !lean_is_exclusive(v___y_971_); +if (v_isSharedCheck_992_ == 0) { -v___x_946_ = v___y_930_; -v_isShared_947_ = v_isSharedCheck_951_; -goto v_resetjp_945_; +v___x_987_ = v___y_971_; +v_isShared_988_ = v_isSharedCheck_992_; +goto v_resetjp_986_; } else { -lean_inc(v_a_944_); -lean_dec(v___y_930_); -v___x_946_ = lean_box(0); -v_isShared_947_ = v_isSharedCheck_951_; -goto v_resetjp_945_; +lean_inc(v_a_985_); +lean_dec(v___y_971_); +v___x_987_ = lean_box(0); +v_isShared_988_ = v_isSharedCheck_992_; +goto v_resetjp_986_; } -v_resetjp_945_: +v_resetjp_986_: { -lean_object* v___x_949_; -if (v_isShared_947_ == 0) +lean_object* v___x_990_; +if (v_isShared_988_ == 0) { -v___x_949_ = v___x_946_; -goto v_reusejp_948_; +v___x_990_ = v___x_987_; +goto v_reusejp_989_; } else { -lean_object* v_reuseFailAlloc_950_; -v_reuseFailAlloc_950_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_950_, 0, v_a_944_); -v___x_949_ = v_reuseFailAlloc_950_; -goto v_reusejp_948_; +lean_object* v_reuseFailAlloc_991_; +v_reuseFailAlloc_991_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_991_, 0, v_a_985_); +v___x_990_ = v_reuseFailAlloc_991_; +goto v_reusejp_989_; } -v_reusejp_948_: +v_reusejp_989_: { -return v___x_949_; +return v___x_990_; } } } } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___boxed(lean_object* v_upperBound_992_, lean_object* v___x_993_, lean_object* v_autoSpecialize_994_, lean_object* v___x_995_, lean_object* v___x_996_, lean_object* v_a_997_, lean_object* v_b_998_, lean_object* v___y_999_, lean_object* v___y_1000_, lean_object* v___y_1001_, lean_object* v___y_1002_, lean_object* v___y_1003_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg___boxed(lean_object* v_upperBound_1036_, lean_object* v___x_1037_, lean_object* v_autoSpecialize_1038_, lean_object* v___x_1039_, lean_object* v___x_1040_, lean_object* v_a_1041_, lean_object* v_b_1042_, lean_object* v___y_1043_, lean_object* v___y_1044_, lean_object* v___y_1045_, lean_object* v___y_1046_, lean_object* v___y_1047_){ _start: { -lean_object* v_res_1004_; -v_res_1004_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v_upperBound_992_, v___x_993_, v_autoSpecialize_994_, v___x_995_, v___x_996_, v_a_997_, v_b_998_, v___y_999_, v___y_1000_, v___y_1001_, v___y_1002_); -lean_dec(v___y_1002_); -lean_dec_ref(v___y_1001_); -lean_dec(v___y_1000_); -lean_dec_ref(v___y_999_); -lean_dec_ref(v___x_993_); -lean_dec(v_upperBound_992_); -return v_res_1004_; +lean_object* v_res_1048_; +v_res_1048_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v_upperBound_1036_, v___x_1037_, v_autoSpecialize_1038_, v___x_1039_, v___x_1040_, v_a_1041_, v_b_1042_, v___y_1043_, v___y_1044_, v___y_1045_, v___y_1046_); +lean_dec(v___y_1046_); +lean_dec_ref(v___y_1045_); +lean_dec(v___y_1044_); +lean_dec_ref(v___y_1043_); +lean_dec_ref(v___x_1037_); +lean_dec(v_upperBound_1036_); +return v_res_1048_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(lean_object* v_autoSpecialize_1005_, lean_object* v_as_1006_, size_t v_sz_1007_, size_t v_i_1008_, lean_object* v_b_1009_, lean_object* v___y_1010_, lean_object* v___y_1011_, lean_object* v___y_1012_, lean_object* v___y_1013_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(lean_object* v_autoSpecialize_1049_, lean_object* v_as_1050_, size_t v_sz_1051_, size_t v_i_1052_, lean_object* v_b_1053_, lean_object* v___y_1054_, lean_object* v___y_1055_, lean_object* v___y_1056_, lean_object* v___y_1057_){ _start: { -lean_object* v_a_1016_; uint8_t v___x_1020_; -v___x_1020_ = lean_usize_dec_lt(v_i_1008_, v_sz_1007_); -if (v___x_1020_ == 0) +lean_object* v_a_1060_; uint8_t v___x_1064_; +v___x_1064_ = lean_usize_dec_lt(v_i_1052_, v_sz_1051_); +if (v___x_1064_ == 0) { -lean_object* v___x_1021_; -lean_dec_ref(v_autoSpecialize_1005_); -v___x_1021_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1021_, 0, v_b_1009_); -return v___x_1021_; +lean_object* v___x_1065_; +lean_dec_ref(v_autoSpecialize_1049_); +v___x_1065_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1065_, 0, v_b_1053_); +return v___x_1065_; } else { -lean_object* v___x_1022_; lean_object* v_env_1023_; lean_object* v_a_1024_; lean_object* v_toSignature_1025_; lean_object* v_name_1026_; lean_object* v_params_1027_; uint8_t v___x_1028_; -v___x_1022_ = lean_st_ref_get(v___y_1013_); -v_env_1023_ = lean_ctor_get(v___x_1022_, 0); -lean_inc_ref(v_env_1023_); -lean_dec(v___x_1022_); -v_a_1024_ = lean_array_uget_borrowed(v_as_1006_, v_i_1008_); -v_toSignature_1025_ = lean_ctor_get(v_a_1024_, 0); -v_name_1026_ = lean_ctor_get(v_toSignature_1025_, 0); -v_params_1027_ = lean_ctor_get(v_toSignature_1025_, 3); -lean_inc(v_name_1026_); -v___x_1028_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_1023_, v_name_1026_); -if (v___x_1028_ == 0) +lean_object* v___x_1066_; lean_object* v_env_1067_; lean_object* v_a_1068_; lean_object* v_toSignature_1069_; lean_object* v_name_1070_; lean_object* v_params_1071_; uint8_t v___x_1072_; +v___x_1066_ = lean_st_ref_get(v___y_1057_); +v_env_1067_ = lean_ctor_get(v___x_1066_, 0); +lean_inc_ref(v_env_1067_); +lean_dec(v___x_1066_); +v_a_1068_ = lean_array_uget_borrowed(v_as_1050_, v_i_1052_); +v_toSignature_1069_ = lean_ctor_get(v_a_1068_, 0); +v_name_1070_ = lean_ctor_get(v_toSignature_1069_, 0); +v_params_1071_ = lean_ctor_get(v_toSignature_1069_, 3); +lean_inc(v_name_1070_); +v___x_1072_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_1067_, v_name_1070_); +if (v___x_1072_ == 0) { -lean_object* v___x_1029_; lean_object* v_env_1030_; lean_object* v___x_1031_; lean_object* v___x_1032_; lean_object* v___x_1033_; lean_object* v___x_1034_; lean_object* v___x_1035_; -v___x_1029_ = lean_st_ref_get(v___y_1013_); -v_env_1030_ = lean_ctor_get(v___x_1029_, 0); -lean_inc_ref(v_env_1030_); -lean_dec(v___x_1029_); -v___x_1031_ = lean_array_get_size(v_params_1027_); -v___x_1032_ = lean_unsigned_to_nat(0u); -v___x_1033_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); -lean_inc(v_name_1026_); -v___x_1034_ = l_Lean_Compiler_getSpecializationArgs_x3f(v_env_1030_, v_name_1026_); -lean_inc(v_name_1026_); -lean_inc_ref(v_autoSpecialize_1005_); -v___x_1035_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v___x_1031_, v_params_1027_, v_autoSpecialize_1005_, v_name_1026_, v___x_1034_, v___x_1032_, v___x_1033_, v___y_1010_, v___y_1011_, v___y_1012_, v___y_1013_); -if (lean_obj_tag(v___x_1035_) == 0) +lean_object* v___x_1073_; lean_object* v_env_1074_; lean_object* v___x_1075_; lean_object* v___x_1076_; lean_object* v___x_1077_; lean_object* v___x_1078_; lean_object* v___x_1079_; +v___x_1073_ = lean_st_ref_get(v___y_1057_); +v_env_1074_ = lean_ctor_get(v___x_1073_, 0); +lean_inc_ref(v_env_1074_); +lean_dec(v___x_1073_); +v___x_1075_ = lean_array_get_size(v_params_1071_); +v___x_1076_ = lean_unsigned_to_nat(0u); +v___x_1077_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); +lean_inc(v_name_1070_); +v___x_1078_ = l_Lean_Compiler_getSpecializationArgs_x3f(v_env_1074_, v_name_1070_); +lean_inc(v_name_1070_); +lean_inc_ref(v_autoSpecialize_1049_); +v___x_1079_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v___x_1075_, v_params_1071_, v_autoSpecialize_1049_, v_name_1070_, v___x_1078_, v___x_1076_, v___x_1077_, v___y_1054_, v___y_1055_, v___y_1056_, v___y_1057_); +if (lean_obj_tag(v___x_1079_) == 0) { -lean_object* v_a_1036_; lean_object* v___x_1037_; -v_a_1036_ = lean_ctor_get(v___x_1035_, 0); -lean_inc(v_a_1036_); -lean_dec_ref(v___x_1035_); -v___x_1037_ = lean_array_push(v_b_1009_, v_a_1036_); -v_a_1016_ = v___x_1037_; -goto v___jp_1015_; +lean_object* v_a_1080_; lean_object* v___x_1081_; +v_a_1080_ = lean_ctor_get(v___x_1079_, 0); +lean_inc(v_a_1080_); +lean_dec_ref(v___x_1079_); +v___x_1081_ = lean_array_push(v_b_1053_, v_a_1080_); +v_a_1060_ = v___x_1081_; +goto v___jp_1059_; } else { -lean_object* v_a_1038_; lean_object* v___x_1040_; uint8_t v_isShared_1041_; uint8_t v_isSharedCheck_1045_; -lean_dec_ref(v_b_1009_); -lean_dec_ref(v_autoSpecialize_1005_); -v_a_1038_ = lean_ctor_get(v___x_1035_, 0); -v_isSharedCheck_1045_ = !lean_is_exclusive(v___x_1035_); -if (v_isSharedCheck_1045_ == 0) +lean_object* v_a_1082_; lean_object* v___x_1084_; uint8_t v_isShared_1085_; uint8_t v_isSharedCheck_1089_; +lean_dec_ref(v_b_1053_); +lean_dec_ref(v_autoSpecialize_1049_); +v_a_1082_ = lean_ctor_get(v___x_1079_, 0); +v_isSharedCheck_1089_ = !lean_is_exclusive(v___x_1079_); +if (v_isSharedCheck_1089_ == 0) { -v___x_1040_ = v___x_1035_; -v_isShared_1041_ = v_isSharedCheck_1045_; -goto v_resetjp_1039_; +v___x_1084_ = v___x_1079_; +v_isShared_1085_ = v_isSharedCheck_1089_; +goto v_resetjp_1083_; } else { -lean_inc(v_a_1038_); -lean_dec(v___x_1035_); -v___x_1040_ = lean_box(0); -v_isShared_1041_ = v_isSharedCheck_1045_; -goto v_resetjp_1039_; +lean_inc(v_a_1082_); +lean_dec(v___x_1079_); +v___x_1084_ = lean_box(0); +v_isShared_1085_ = v_isSharedCheck_1089_; +goto v_resetjp_1083_; } -v_resetjp_1039_: +v_resetjp_1083_: { -lean_object* v___x_1043_; -if (v_isShared_1041_ == 0) +lean_object* v___x_1087_; +if (v_isShared_1085_ == 0) { -v___x_1043_ = v___x_1040_; -goto v_reusejp_1042_; +v___x_1087_ = v___x_1084_; +goto v_reusejp_1086_; } else { -lean_object* v_reuseFailAlloc_1044_; -v_reuseFailAlloc_1044_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1044_, 0, v_a_1038_); -v___x_1043_ = v_reuseFailAlloc_1044_; -goto v_reusejp_1042_; +lean_object* v_reuseFailAlloc_1088_; +v_reuseFailAlloc_1088_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1088_, 0, v_a_1082_); +v___x_1087_ = v_reuseFailAlloc_1088_; +goto v_reusejp_1086_; } -v_reusejp_1042_: +v_reusejp_1086_: { -return v___x_1043_; +return v___x_1087_; } } } } else { -lean_object* v___x_1046_; uint8_t v___x_1047_; lean_object* v___x_1048_; lean_object* v___x_1049_; lean_object* v___x_1050_; -v___x_1046_ = lean_array_get_size(v_params_1027_); -v___x_1047_ = 4; -v___x_1048_ = lean_box(v___x_1047_); -v___x_1049_ = lean_mk_array(v___x_1046_, v___x_1048_); -v___x_1050_ = lean_array_push(v_b_1009_, v___x_1049_); -v_a_1016_ = v___x_1050_; -goto v___jp_1015_; +lean_object* v___x_1090_; lean_object* v___x_1091_; lean_object* v___x_1092_; lean_object* v___x_1093_; +v___x_1090_ = lean_array_get_size(v_params_1071_); +v___x_1091_ = lean_box(4); +v___x_1092_ = lean_mk_array(v___x_1090_, v___x_1091_); +v___x_1093_ = lean_array_push(v_b_1053_, v___x_1092_); +v_a_1060_ = v___x_1093_; +goto v___jp_1059_; } } -v___jp_1015_: +v___jp_1059_: { -size_t v___x_1017_; size_t v___x_1018_; -v___x_1017_ = ((size_t)1ULL); -v___x_1018_ = lean_usize_add(v_i_1008_, v___x_1017_); -v_i_1008_ = v___x_1018_; -v_b_1009_ = v_a_1016_; +size_t v___x_1061_; size_t v___x_1062_; +v___x_1061_ = ((size_t)1ULL); +v___x_1062_ = lean_usize_add(v_i_1052_, v___x_1061_); +v_i_1052_ = v___x_1062_; +v_b_1053_ = v_a_1060_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3___boxed(lean_object* v_autoSpecialize_1051_, lean_object* v_as_1052_, lean_object* v_sz_1053_, lean_object* v_i_1054_, lean_object* v_b_1055_, lean_object* v___y_1056_, lean_object* v___y_1057_, lean_object* v___y_1058_, lean_object* v___y_1059_, lean_object* v___y_1060_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3___boxed(lean_object* v_autoSpecialize_1094_, lean_object* v_as_1095_, lean_object* v_sz_1096_, lean_object* v_i_1097_, lean_object* v_b_1098_, lean_object* v___y_1099_, lean_object* v___y_1100_, lean_object* v___y_1101_, lean_object* v___y_1102_, lean_object* v___y_1103_){ _start: { -size_t v_sz_boxed_1061_; size_t v_i_boxed_1062_; lean_object* v_res_1063_; -v_sz_boxed_1061_ = lean_unbox_usize(v_sz_1053_); -lean_dec(v_sz_1053_); -v_i_boxed_1062_ = lean_unbox_usize(v_i_1054_); -lean_dec(v_i_1054_); -v_res_1063_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(v_autoSpecialize_1051_, v_as_1052_, v_sz_boxed_1061_, v_i_boxed_1062_, v_b_1055_, v___y_1056_, v___y_1057_, v___y_1058_, v___y_1059_); -lean_dec(v___y_1059_); -lean_dec_ref(v___y_1058_); -lean_dec(v___y_1057_); -lean_dec_ref(v___y_1056_); -lean_dec_ref(v_as_1052_); -return v_res_1063_; +size_t v_sz_boxed_1104_; size_t v_i_boxed_1105_; lean_object* v_res_1106_; +v_sz_boxed_1104_ = lean_unbox_usize(v_sz_1096_); +lean_dec(v_sz_1096_); +v_i_boxed_1105_ = lean_unbox_usize(v_i_1097_); +lean_dec(v_i_1097_); +v_res_1106_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(v_autoSpecialize_1094_, v_as_1095_, v_sz_boxed_1104_, v_i_boxed_1105_, v_b_1098_, v___y_1099_, v___y_1100_, v___y_1101_, v___y_1102_); +lean_dec(v___y_1102_); +lean_dec_ref(v___y_1101_); +lean_dec(v___y_1100_); +lean_dec_ref(v___y_1099_); +lean_dec_ref(v_as_1095_); +return v_res_1106_; } } -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(lean_object* v_as_1064_, size_t v_i_1065_, size_t v_stop_1066_){ +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(lean_object* v_as_1107_, size_t v_i_1108_, size_t v_stop_1109_){ _start: { -uint8_t v___x_1067_; -v___x_1067_ = lean_usize_dec_eq(v_i_1065_, v_stop_1066_); -if (v___x_1067_ == 0) +uint8_t v___x_1110_; +v___x_1110_ = lean_usize_dec_eq(v_i_1108_, v_stop_1109_); +if (v___x_1110_ == 0) { -uint8_t v___x_1068_; uint8_t v___y_1070_; lean_object* v___x_1074_; uint8_t v___x_1075_; -v___x_1068_ = 1; -v___x_1074_ = lean_array_uget_borrowed(v_as_1064_, v_i_1065_); -v___x_1075_ = lean_unbox(v___x_1074_); -switch(v___x_1075_) +uint8_t v___x_1111_; uint8_t v___y_1113_; lean_object* v___x_1117_; +v___x_1111_ = 1; +v___x_1117_ = lean_array_uget_borrowed(v_as_1107_, v_i_1108_); +switch(lean_obj_tag(v___x_1117_)) { +case 0: +{ +uint8_t v_weak_1118_; +v_weak_1118_ = lean_ctor_get_uint8(v___x_1117_, 0); +if (v_weak_1118_ == 0) +{ +return v___x_1111_; +} +else +{ +v___y_1113_ = v___x_1110_; +goto v___jp_1112_; +} +} case 2: { -v___y_1070_ = v___x_1067_; -goto v___jp_1069_; +v___y_1113_ = v___x_1110_; +goto v___jp_1112_; } case 4: { -v___y_1070_ = v___x_1067_; -goto v___jp_1069_; +v___y_1113_ = v___x_1110_; +goto v___jp_1112_; } default: { -return v___x_1068_; +return v___x_1111_; } } -v___jp_1069_: +v___jp_1112_: { -if (v___y_1070_ == 0) +if (v___y_1113_ == 0) { -size_t v___x_1071_; size_t v___x_1072_; -v___x_1071_ = ((size_t)1ULL); -v___x_1072_ = lean_usize_add(v_i_1065_, v___x_1071_); -v_i_1065_ = v___x_1072_; +size_t v___x_1114_; size_t v___x_1115_; +v___x_1114_ = ((size_t)1ULL); +v___x_1115_ = lean_usize_add(v_i_1108_, v___x_1114_); +v_i_1108_ = v___x_1115_; goto _start; } else { -return v___x_1068_; +return v___x_1111_; } } } else { -uint8_t v___x_1076_; -v___x_1076_ = 0; -return v___x_1076_; +uint8_t v___x_1119_; +v___x_1119_ = 0; +return v___x_1119_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2___boxed(lean_object* v_as_1077_, lean_object* v_i_1078_, lean_object* v_stop_1079_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2___boxed(lean_object* v_as_1120_, lean_object* v_i_1121_, lean_object* v_stop_1122_){ _start: { -size_t v_i_boxed_1080_; size_t v_stop_boxed_1081_; uint8_t v_res_1082_; lean_object* v_r_1083_; -v_i_boxed_1080_ = lean_unbox_usize(v_i_1078_); -lean_dec(v_i_1078_); -v_stop_boxed_1081_ = lean_unbox_usize(v_stop_1079_); -lean_dec(v_stop_1079_); -v_res_1082_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v_as_1077_, v_i_boxed_1080_, v_stop_boxed_1081_); -lean_dec_ref(v_as_1077_); -v_r_1083_ = lean_box(v_res_1082_); -return v_r_1083_; +size_t v_i_boxed_1123_; size_t v_stop_boxed_1124_; uint8_t v_res_1125_; lean_object* v_r_1126_; +v_i_boxed_1123_ = lean_unbox_usize(v_i_1121_); +lean_dec(v_i_1121_); +v_stop_boxed_1124_ = lean_unbox_usize(v_stop_1122_); +lean_dec(v_stop_1122_); +v_res_1125_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v_as_1120_, v_i_boxed_1123_, v_stop_boxed_1124_); +lean_dec_ref(v_as_1120_); +v_r_1126_ = lean_box(v_res_1125_); +return v_r_1126_; } } -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(lean_object* v_as_1084_, size_t v_i_1085_, size_t v_stop_1086_){ +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(lean_object* v_as_1127_, size_t v_i_1128_, size_t v_stop_1129_){ _start: { -uint8_t v___x_1087_; -v___x_1087_ = lean_usize_dec_eq(v_i_1085_, v_stop_1086_); -if (v___x_1087_ == 0) -{ -uint8_t v___x_1088_; uint8_t v___y_1090_; lean_object* v___x_1094_; lean_object* v___x_1095_; lean_object* v___x_1096_; uint8_t v___x_1097_; -v___x_1088_ = 1; -v___x_1094_ = lean_array_uget_borrowed(v_as_1084_, v_i_1085_); -v___x_1095_ = lean_unsigned_to_nat(0u); -v___x_1096_ = lean_array_get_size(v___x_1094_); -v___x_1097_ = lean_nat_dec_lt(v___x_1095_, v___x_1096_); -if (v___x_1097_ == 0) -{ -v___y_1090_ = v___x_1087_; -goto v___jp_1089_; -} -else -{ -if (v___x_1097_ == 0) -{ -v___y_1090_ = v___x_1087_; -goto v___jp_1089_; -} -else -{ -size_t v___x_1098_; size_t v___x_1099_; uint8_t v___x_1100_; -v___x_1098_ = ((size_t)0ULL); -v___x_1099_ = lean_usize_of_nat(v___x_1096_); -v___x_1100_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v___x_1094_, v___x_1098_, v___x_1099_); -v___y_1090_ = v___x_1100_; -goto v___jp_1089_; -} -} -v___jp_1089_: -{ -if (v___y_1090_ == 0) -{ -size_t v___x_1091_; size_t v___x_1092_; -v___x_1091_ = ((size_t)1ULL); -v___x_1092_ = lean_usize_add(v_i_1085_, v___x_1091_); -v_i_1085_ = v___x_1092_; -goto _start; -} -else -{ -return v___x_1088_; -} -} -} -else -{ -uint8_t v___x_1101_; -v___x_1101_ = 0; -return v___x_1101_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5___boxed(lean_object* v_as_1102_, lean_object* v_i_1103_, lean_object* v_stop_1104_){ -_start: -{ -size_t v_i_boxed_1105_; size_t v_stop_boxed_1106_; uint8_t v_res_1107_; lean_object* v_r_1108_; -v_i_boxed_1105_ = lean_unbox_usize(v_i_1103_); -lean_dec(v_i_1103_); -v_stop_boxed_1106_ = lean_unbox_usize(v_stop_1104_); -lean_dec(v_stop_1104_); -v_res_1107_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(v_as_1102_, v_i_boxed_1105_, v_stop_boxed_1106_); -lean_dec_ref(v_as_1102_); -v_r_1108_ = lean_box(v_res_1107_); -return v_r_1108_; -} -} -LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(lean_object* v_as_1109_, lean_object* v_bs_1110_, lean_object* v_i_1111_, lean_object* v_cs_1112_){ -_start: -{ -uint8_t v___y_1114_; lean_object* v___x_1120_; uint8_t v___x_1121_; -v___x_1120_ = lean_array_get_size(v_as_1109_); -v___x_1121_ = lean_nat_dec_lt(v_i_1111_, v___x_1120_); -if (v___x_1121_ == 0) -{ -lean_dec(v_i_1111_); -return v_cs_1112_; -} -else -{ -lean_object* v___x_1122_; uint8_t v___x_1123_; -v___x_1122_ = lean_array_get_size(v_bs_1110_); -v___x_1123_ = lean_nat_dec_lt(v_i_1111_, v___x_1122_); -if (v___x_1123_ == 0) -{ -lean_dec(v_i_1111_); -return v_cs_1112_; -} -else -{ -lean_object* v_a_1124_; lean_object* v_b_1125_; uint8_t v___x_1126_; -v_a_1124_ = lean_array_fget_borrowed(v_as_1109_, v_i_1111_); -v_b_1125_ = lean_array_fget_borrowed(v_bs_1110_, v_i_1111_); -v___x_1126_ = lean_unbox(v_b_1125_); -if (v___x_1126_ == 0) -{ -uint8_t v___x_1127_; -v___x_1127_ = lean_unbox(v_a_1124_); -if (v___x_1127_ == 3) -{ -uint8_t v___x_1128_; -v___x_1128_ = lean_unbox(v_a_1124_); -v___y_1114_ = v___x_1128_; -goto v___jp_1113_; -} -else -{ -uint8_t v___x_1129_; -v___x_1129_ = 4; -v___y_1114_ = v___x_1129_; -goto v___jp_1113_; -} -} -else -{ uint8_t v___x_1130_; -v___x_1130_ = lean_unbox(v_a_1124_); -v___y_1114_ = v___x_1130_; -goto v___jp_1113_; -} -} -} -v___jp_1113_: +v___x_1130_ = lean_usize_dec_eq(v_i_1128_, v_stop_1129_); +if (v___x_1130_ == 0) { -lean_object* v___x_1115_; lean_object* v___x_1116_; lean_object* v___x_1117_; lean_object* v___x_1118_; -v___x_1115_ = lean_unsigned_to_nat(1u); -v___x_1116_ = lean_nat_add(v_i_1111_, v___x_1115_); -lean_dec(v_i_1111_); -v___x_1117_ = lean_box(v___y_1114_); -v___x_1118_ = lean_array_push(v_cs_1112_, v___x_1117_); -v_i_1111_ = v___x_1116_; -v_cs_1112_ = v___x_1118_; +uint8_t v___x_1131_; uint8_t v___y_1133_; lean_object* v___x_1137_; lean_object* v___x_1138_; lean_object* v___x_1139_; uint8_t v___x_1140_; +v___x_1131_ = 1; +v___x_1137_ = lean_array_uget_borrowed(v_as_1127_, v_i_1128_); +v___x_1138_ = lean_unsigned_to_nat(0u); +v___x_1139_ = lean_array_get_size(v___x_1137_); +v___x_1140_ = lean_nat_dec_lt(v___x_1138_, v___x_1139_); +if (v___x_1140_ == 0) +{ +v___y_1133_ = v___x_1130_; +goto v___jp_1132_; +} +else +{ +if (v___x_1140_ == 0) +{ +v___y_1133_ = v___x_1130_; +goto v___jp_1132_; +} +else +{ +size_t v___x_1141_; size_t v___x_1142_; uint8_t v___x_1143_; +v___x_1141_ = ((size_t)0ULL); +v___x_1142_ = lean_usize_of_nat(v___x_1139_); +v___x_1143_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v___x_1137_, v___x_1141_, v___x_1142_); +v___y_1133_ = v___x_1143_; +goto v___jp_1132_; +} +} +v___jp_1132_: +{ +if (v___y_1133_ == 0) +{ +size_t v___x_1134_; size_t v___x_1135_; +v___x_1134_ = ((size_t)1ULL); +v___x_1135_ = lean_usize_add(v_i_1128_, v___x_1134_); +v_i_1128_ = v___x_1135_; +goto _start; +} +else +{ +return v___x_1131_; +} +} +} +else +{ +uint8_t v___x_1144_; +v___x_1144_ = 0; +return v___x_1144_; +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5___boxed(lean_object* v_as_1145_, lean_object* v_i_1146_, lean_object* v_stop_1147_){ +_start: +{ +size_t v_i_boxed_1148_; size_t v_stop_boxed_1149_; uint8_t v_res_1150_; lean_object* v_r_1151_; +v_i_boxed_1148_ = lean_unbox_usize(v_i_1146_); +lean_dec(v_i_1146_); +v_stop_boxed_1149_ = lean_unbox_usize(v_stop_1147_); +lean_dec(v_stop_1147_); +v_res_1150_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(v_as_1145_, v_i_boxed_1148_, v_stop_boxed_1149_); +lean_dec_ref(v_as_1145_); +v_r_1151_ = lean_box(v_res_1150_); +return v_r_1151_; +} +} +LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(lean_object* v_as_1152_, lean_object* v_bs_1153_, lean_object* v_i_1154_, lean_object* v_cs_1155_){ +_start: +{ +lean_object* v___y_1157_; lean_object* v___x_1162_; uint8_t v___x_1163_; +v___x_1162_ = lean_array_get_size(v_as_1152_); +v___x_1163_ = lean_nat_dec_lt(v_i_1154_, v___x_1162_); +if (v___x_1163_ == 0) +{ +lean_dec(v_i_1154_); +return v_cs_1155_; +} +else +{ +lean_object* v___x_1164_; uint8_t v___x_1165_; +v___x_1164_ = lean_array_get_size(v_bs_1153_); +v___x_1165_ = lean_nat_dec_lt(v_i_1154_, v___x_1164_); +if (v___x_1165_ == 0) +{ +lean_dec(v_i_1154_); +return v_cs_1155_; +} +else +{ +lean_object* v_a_1166_; lean_object* v_b_1167_; uint8_t v___x_1168_; +v_a_1166_ = lean_array_fget_borrowed(v_as_1152_, v_i_1154_); +v_b_1167_ = lean_array_fget_borrowed(v_bs_1153_, v_i_1154_); +v___x_1168_ = lean_unbox(v_b_1167_); +if (v___x_1168_ == 0) +{ +if (lean_obj_tag(v_a_1166_) == 3) +{ +v___y_1157_ = v_a_1166_; +goto v___jp_1156_; +} +else +{ +lean_object* v___x_1169_; +v___x_1169_ = lean_box(4); +v___y_1157_ = v___x_1169_; +goto v___jp_1156_; +} +} +else +{ +lean_inc(v_a_1166_); +v___y_1157_ = v_a_1166_; +goto v___jp_1156_; +} +} +} +v___jp_1156_: +{ +lean_object* v___x_1158_; lean_object* v___x_1159_; lean_object* v___x_1160_; +v___x_1158_ = lean_unsigned_to_nat(1u); +v___x_1159_ = lean_nat_add(v_i_1154_, v___x_1158_); +lean_dec(v_i_1154_); +v___x_1160_ = lean_array_push(v_cs_1155_, v___y_1157_); +v_i_1154_ = v___x_1159_; +v_cs_1155_ = v___x_1160_; goto _start; } } } -LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6___boxed(lean_object* v_as_1131_, lean_object* v_bs_1132_, lean_object* v_i_1133_, lean_object* v_cs_1134_){ +LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6___boxed(lean_object* v_as_1170_, lean_object* v_bs_1171_, lean_object* v_i_1172_, lean_object* v_cs_1173_){ _start: { -lean_object* v_res_1135_; -v_res_1135_ = l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(v_as_1131_, v_bs_1132_, v_i_1133_, v_cs_1134_); -lean_dec_ref(v_bs_1132_); -lean_dec_ref(v_as_1131_); -return v_res_1135_; +lean_object* v_res_1174_; +v_res_1174_ = l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(v_as_1170_, v_bs_1171_, v_i_1172_, v_cs_1173_); +lean_dec_ref(v_bs_1171_); +lean_dec_ref(v_as_1170_); +return v_res_1174_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(lean_object* v_upperBound_1136_, lean_object* v___x_1137_, lean_object* v_a_1138_, lean_object* v_b_1139_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(lean_object* v_upperBound_1175_, lean_object* v___x_1176_, lean_object* v_a_1177_, lean_object* v_b_1178_){ _start: { -lean_object* v_a_1142_; uint8_t v___x_1146_; -v___x_1146_ = lean_nat_dec_lt(v_a_1138_, v_upperBound_1136_); -if (v___x_1146_ == 0) +lean_object* v_a_1181_; uint8_t v___x_1185_; +v___x_1185_ = lean_nat_dec_lt(v_a_1177_, v_upperBound_1175_); +if (v___x_1185_ == 0) { -lean_object* v___x_1147_; -lean_dec(v_a_1138_); -v___x_1147_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1147_, 0, v_b_1139_); -return v___x_1147_; +lean_object* v___x_1186_; +lean_dec(v_a_1177_); +v___x_1186_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1186_, 0, v_b_1178_); +return v___x_1186_; } else { -uint8_t v___x_1148_; lean_object* v___x_1149_; lean_object* v___x_1150_; uint8_t v___x_1151_; -v___x_1148_ = 0; -v___x_1149_ = lean_box(v___x_1148_); -v___x_1150_ = lean_array_get_borrowed(v___x_1149_, v_b_1139_, v_a_1138_); -lean_dec(v___x_1149_); -v___x_1151_ = lean_unbox(v___x_1150_); -if (v___x_1151_ == 2) +lean_object* v___x_1187_; lean_object* v___x_1188_; +v___x_1187_ = ((lean_object*)(l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default)); +v___x_1188_ = lean_array_get_borrowed(v___x_1187_, v_b_1178_, v_a_1177_); +if (lean_obj_tag(v___x_1188_) == 2) { -uint8_t v___x_1152_; -v___x_1152_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(v___x_1137_, v_b_1139_, v_a_1138_); -if (v___x_1152_ == 0) +uint8_t v___x_1189_; +v___x_1189_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_hasFwdDeps(v___x_1176_, v_b_1178_, v_a_1177_); +if (v___x_1189_ == 0) { -uint8_t v___x_1153_; lean_object* v___x_1154_; lean_object* v___x_1155_; -v___x_1153_ = 4; -v___x_1154_ = lean_box(v___x_1153_); -v___x_1155_ = lean_array_set(v_b_1139_, v_a_1138_, v___x_1154_); -v_a_1142_ = v___x_1155_; -goto v___jp_1141_; +lean_object* v___x_1190_; lean_object* v___x_1191_; +v___x_1190_ = lean_box(4); +v___x_1191_ = lean_array_set(v_b_1178_, v_a_1177_, v___x_1190_); +v_a_1181_ = v___x_1191_; +goto v___jp_1180_; } else { -v_a_1142_ = v_b_1139_; -goto v___jp_1141_; +v_a_1181_ = v_b_1178_; +goto v___jp_1180_; } } else { -v_a_1142_ = v_b_1139_; -goto v___jp_1141_; +v_a_1181_ = v_b_1178_; +goto v___jp_1180_; } } -v___jp_1141_: +v___jp_1180_: { -lean_object* v___x_1143_; lean_object* v___x_1144_; -v___x_1143_ = lean_unsigned_to_nat(1u); -v___x_1144_ = lean_nat_add(v_a_1138_, v___x_1143_); -lean_dec(v_a_1138_); -v_a_1138_ = v___x_1144_; -v_b_1139_ = v_a_1142_; +lean_object* v___x_1182_; lean_object* v___x_1183_; +v___x_1182_ = lean_unsigned_to_nat(1u); +v___x_1183_ = lean_nat_add(v_a_1177_, v___x_1182_); +lean_dec(v_a_1177_); +v_a_1177_ = v___x_1183_; +v_b_1178_ = v_a_1181_; goto _start; } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg___boxed(lean_object* v_upperBound_1156_, lean_object* v___x_1157_, lean_object* v_a_1158_, lean_object* v_b_1159_, lean_object* v___y_1160_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg___boxed(lean_object* v_upperBound_1192_, lean_object* v___x_1193_, lean_object* v_a_1194_, lean_object* v_b_1195_, lean_object* v___y_1196_){ _start: { -lean_object* v_res_1161_; -v_res_1161_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v_upperBound_1156_, v___x_1157_, v_a_1158_, v_b_1159_); -lean_dec_ref(v___x_1157_); -lean_dec(v_upperBound_1156_); -return v_res_1161_; +lean_object* v_res_1197_; +v_res_1197_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v_upperBound_1192_, v___x_1193_, v_a_1194_, v_b_1195_); +lean_dec_ref(v___x_1193_); +lean_dec(v_upperBound_1192_); +return v_res_1197_; } } static lean_object* _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0(void){ _start: { -lean_object* v___x_1162_; -v___x_1162_ = l_Array_instInhabited(lean_box(0)); -return v___x_1162_; +lean_object* v___x_1198_; +v___x_1198_ = l_Array_instInhabited(lean_box(0)); +return v___x_1198_; } } static lean_object* _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4(void){ _start: { -lean_object* v___x_1166_; lean_object* v___x_1167_; lean_object* v___x_1168_; lean_object* v___x_1169_; lean_object* v___x_1170_; lean_object* v___x_1171_; -v___x_1166_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__3)); -v___x_1167_ = lean_unsigned_to_nat(43u); -v___x_1168_ = lean_unsigned_to_nat(221u); -v___x_1169_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__2)); -v___x_1170_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__1)); -v___x_1171_ = l_mkPanicMessageWithDecl(v___x_1170_, v___x_1169_, v___x_1168_, v___x_1167_, v___x_1166_); -return v___x_1171_; +lean_object* v___x_1202_; lean_object* v___x_1203_; lean_object* v___x_1204_; lean_object* v___x_1205_; lean_object* v___x_1206_; lean_object* v___x_1207_; +v___x_1202_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__3)); +v___x_1203_ = lean_unsigned_to_nat(43u); +v___x_1204_ = lean_unsigned_to_nat(236u); +v___x_1205_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__2)); +v___x_1206_ = ((lean_object*)(l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__1)); +v___x_1207_ = l_mkPanicMessageWithDecl(v___x_1206_, v___x_1205_, v___x_1204_, v___x_1203_, v___x_1202_); +return v___x_1207_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(lean_object* v_upperBound_1172_, lean_object* v_decls_1173_, lean_object* v_alreadySpecialized_1174_, lean_object* v___x_1175_, lean_object* v_a_1176_, lean_object* v_a_1177_, lean_object* v_b_1178_, lean_object* v___y_1179_, lean_object* v___y_1180_, lean_object* v___y_1181_, lean_object* v___y_1182_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(lean_object* v_upperBound_1208_, lean_object* v_decls_1209_, lean_object* v_alreadySpecialized_1210_, lean_object* v___x_1211_, lean_object* v_a_1212_, lean_object* v_a_1213_, lean_object* v_b_1214_, lean_object* v___y_1215_, lean_object* v___y_1216_, lean_object* v___y_1217_, lean_object* v___y_1218_){ _start: { -lean_object* v_a_1185_; uint8_t v___x_1189_; -v___x_1189_ = lean_nat_dec_lt(v_a_1177_, v_upperBound_1172_); -if (v___x_1189_ == 0) +lean_object* v_a_1221_; uint8_t v___x_1225_; +v___x_1225_ = lean_nat_dec_lt(v_a_1213_, v_upperBound_1208_); +if (v___x_1225_ == 0) { -lean_object* v___x_1190_; -lean_dec(v_a_1177_); -v___x_1190_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1190_, 0, v_b_1178_); -return v___x_1190_; +lean_object* v___x_1226_; +lean_dec(v_a_1213_); +v___x_1226_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1226_, 0, v_b_1214_); +return v___x_1226_; } else { -lean_object* v___x_1191_; lean_object* v_toSignature_1192_; lean_object* v_name_1193_; lean_object* v___x_1194_; -v___x_1191_ = lean_array_fget_borrowed(v_decls_1173_, v_a_1177_); -v_toSignature_1192_ = lean_ctor_get(v___x_1191_, 0); -v_name_1193_ = lean_ctor_get(v_toSignature_1192_, 0); -v___x_1194_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v___x_1175_, v_name_1193_); -if (lean_obj_tag(v___x_1194_) == 1) +lean_object* v___x_1227_; lean_object* v_toSignature_1228_; lean_object* v_name_1229_; lean_object* v___x_1230_; +v___x_1227_ = lean_array_fget_borrowed(v_decls_1209_, v_a_1213_); +v_toSignature_1228_ = lean_ctor_get(v___x_1227_, 0); +v_name_1229_ = lean_ctor_get(v_toSignature_1228_, 0); +v___x_1230_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v___x_1211_, v_name_1229_); +if (lean_obj_tag(v___x_1230_) == 1) { -lean_object* v_val_1195_; lean_object* v___x_1196_; lean_object* v___x_1197_; lean_object* v___x_1198_; lean_object* v___x_1199_; lean_object* v___x_1200_; lean_object* v___x_1201_; lean_object* v___x_1202_; -v_val_1195_ = lean_ctor_get(v___x_1194_, 0); -lean_inc(v_val_1195_); -lean_dec_ref(v___x_1194_); -v___x_1196_ = lean_obj_once(&l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0, &l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0_once, _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0); -v___x_1197_ = lean_array_get_borrowed(v___x_1196_, v_a_1176_, v_a_1177_); -v___x_1198_ = lean_unsigned_to_nat(0u); -v___x_1199_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); -v___x_1200_ = l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(v___x_1197_, v_val_1195_, v___x_1198_, v___x_1199_); -lean_dec(v_val_1195_); -v___x_1201_ = lean_array_get_size(v___x_1200_); -v___x_1202_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v___x_1201_, v___x_1191_, v___x_1198_, v___x_1200_); -if (lean_obj_tag(v___x_1202_) == 0) +lean_object* v_val_1231_; lean_object* v___x_1232_; lean_object* v___x_1233_; lean_object* v___x_1234_; lean_object* v___x_1235_; lean_object* v___x_1236_; lean_object* v___x_1237_; lean_object* v___x_1238_; +v_val_1231_ = lean_ctor_get(v___x_1230_, 0); +lean_inc(v_val_1231_); +lean_dec_ref(v___x_1230_); +v___x_1232_ = lean_obj_once(&l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0, &l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0_once, _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__0); +v___x_1233_ = lean_array_get_borrowed(v___x_1232_, v_a_1212_, v_a_1213_); +v___x_1234_ = lean_unsigned_to_nat(0u); +v___x_1235_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); +v___x_1236_ = l_Array_zipWithMAux___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__6(v___x_1233_, v_val_1231_, v___x_1234_, v___x_1235_); +lean_dec(v_val_1231_); +v___x_1237_ = lean_array_get_size(v___x_1236_); +v___x_1238_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v___x_1237_, v___x_1227_, v___x_1234_, v___x_1236_); +if (lean_obj_tag(v___x_1238_) == 0) { -lean_object* v_a_1203_; uint8_t v___x_1204_; lean_object* v___x_1205_; lean_object* v___x_1206_; lean_object* v___x_1207_; uint8_t v___x_1208_; lean_object* v___x_1209_; -v_a_1203_ = lean_ctor_get(v___x_1202_, 0); -lean_inc(v_a_1203_); -lean_dec_ref(v___x_1202_); -v___x_1204_ = 0; -v___x_1205_ = lean_box(v___x_1204_); -v___x_1206_ = lean_array_get_borrowed(v___x_1205_, v_alreadySpecialized_1174_, v_a_1177_); -lean_dec(v___x_1205_); -lean_inc(v_name_1193_); -v___x_1207_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_1207_, 0, v_name_1193_); -lean_ctor_set(v___x_1207_, 1, v_a_1203_); -v___x_1208_ = lean_unbox(v___x_1206_); -lean_ctor_set_uint8(v___x_1207_, sizeof(void*)*2, v___x_1208_); -v___x_1209_ = lean_array_push(v_b_1178_, v___x_1207_); -v_a_1185_ = v___x_1209_; -goto v___jp_1184_; +lean_object* v_a_1239_; uint8_t v___x_1240_; lean_object* v___x_1241_; lean_object* v___x_1242_; lean_object* v___x_1243_; uint8_t v___x_1244_; lean_object* v___x_1245_; +v_a_1239_ = lean_ctor_get(v___x_1238_, 0); +lean_inc(v_a_1239_); +lean_dec_ref(v___x_1238_); +v___x_1240_ = 0; +v___x_1241_ = lean_box(v___x_1240_); +v___x_1242_ = lean_array_get_borrowed(v___x_1241_, v_alreadySpecialized_1210_, v_a_1213_); +lean_dec(v___x_1241_); +lean_inc(v_name_1229_); +v___x_1243_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_1243_, 0, v_name_1229_); +lean_ctor_set(v___x_1243_, 1, v_a_1239_); +v___x_1244_ = lean_unbox(v___x_1242_); +lean_ctor_set_uint8(v___x_1243_, sizeof(void*)*2, v___x_1244_); +v___x_1245_ = lean_array_push(v_b_1214_, v___x_1243_); +v_a_1221_ = v___x_1245_; +goto v___jp_1220_; } else { -lean_object* v_a_1210_; lean_object* v___x_1212_; uint8_t v_isShared_1213_; uint8_t v_isSharedCheck_1217_; -lean_dec_ref(v_b_1178_); -lean_dec(v_a_1177_); -v_a_1210_ = lean_ctor_get(v___x_1202_, 0); -v_isSharedCheck_1217_ = !lean_is_exclusive(v___x_1202_); -if (v_isSharedCheck_1217_ == 0) +lean_object* v_a_1246_; lean_object* v___x_1248_; uint8_t v_isShared_1249_; uint8_t v_isSharedCheck_1253_; +lean_dec_ref(v_b_1214_); +lean_dec(v_a_1213_); +v_a_1246_ = lean_ctor_get(v___x_1238_, 0); +v_isSharedCheck_1253_ = !lean_is_exclusive(v___x_1238_); +if (v_isSharedCheck_1253_ == 0) { -v___x_1212_ = v___x_1202_; -v_isShared_1213_ = v_isSharedCheck_1217_; -goto v_resetjp_1211_; +v___x_1248_ = v___x_1238_; +v_isShared_1249_ = v_isSharedCheck_1253_; +goto v_resetjp_1247_; } else { -lean_inc(v_a_1210_); -lean_dec(v___x_1202_); -v___x_1212_ = lean_box(0); -v_isShared_1213_ = v_isSharedCheck_1217_; -goto v_resetjp_1211_; +lean_inc(v_a_1246_); +lean_dec(v___x_1238_); +v___x_1248_ = lean_box(0); +v_isShared_1249_ = v_isSharedCheck_1253_; +goto v_resetjp_1247_; } -v_resetjp_1211_: +v_resetjp_1247_: { -lean_object* v___x_1215_; -if (v_isShared_1213_ == 0) +lean_object* v___x_1251_; +if (v_isShared_1249_ == 0) { -v___x_1215_ = v___x_1212_; -goto v_reusejp_1214_; +v___x_1251_ = v___x_1248_; +goto v_reusejp_1250_; } else { -lean_object* v_reuseFailAlloc_1216_; -v_reuseFailAlloc_1216_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1216_, 0, v_a_1210_); -v___x_1215_ = v_reuseFailAlloc_1216_; -goto v_reusejp_1214_; +lean_object* v_reuseFailAlloc_1252_; +v_reuseFailAlloc_1252_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1252_, 0, v_a_1246_); +v___x_1251_ = v_reuseFailAlloc_1252_; +goto v_reusejp_1250_; } -v_reusejp_1214_: +v_reusejp_1250_: { -return v___x_1215_; +return v___x_1251_; } } } } else { -lean_object* v___x_1218_; lean_object* v___x_1219_; -lean_dec(v___x_1194_); -v___x_1218_ = lean_obj_once(&l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4, &l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4_once, _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4); -v___x_1219_ = l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(v___x_1218_, v___y_1179_, v___y_1180_, v___y_1181_, v___y_1182_); -if (lean_obj_tag(v___x_1219_) == 0) +lean_object* v___x_1254_; lean_object* v___x_1255_; +lean_dec(v___x_1230_); +v___x_1254_ = lean_obj_once(&l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4, &l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4_once, _init_l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___closed__4); +v___x_1255_ = l_panic___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__8(v___x_1254_, v___y_1215_, v___y_1216_, v___y_1217_, v___y_1218_); +if (lean_obj_tag(v___x_1255_) == 0) { -lean_dec_ref(v___x_1219_); -v_a_1185_ = v_b_1178_; -goto v___jp_1184_; +lean_dec_ref(v___x_1255_); +v_a_1221_ = v_b_1214_; +goto v___jp_1220_; } else { -lean_object* v_a_1220_; lean_object* v___x_1222_; uint8_t v_isShared_1223_; uint8_t v_isSharedCheck_1227_; -lean_dec_ref(v_b_1178_); -lean_dec(v_a_1177_); -v_a_1220_ = lean_ctor_get(v___x_1219_, 0); -v_isSharedCheck_1227_ = !lean_is_exclusive(v___x_1219_); -if (v_isSharedCheck_1227_ == 0) +lean_object* v_a_1256_; lean_object* v___x_1258_; uint8_t v_isShared_1259_; uint8_t v_isSharedCheck_1263_; +lean_dec_ref(v_b_1214_); +lean_dec(v_a_1213_); +v_a_1256_ = lean_ctor_get(v___x_1255_, 0); +v_isSharedCheck_1263_ = !lean_is_exclusive(v___x_1255_); +if (v_isSharedCheck_1263_ == 0) { -v___x_1222_ = v___x_1219_; -v_isShared_1223_ = v_isSharedCheck_1227_; -goto v_resetjp_1221_; +v___x_1258_ = v___x_1255_; +v_isShared_1259_ = v_isSharedCheck_1263_; +goto v_resetjp_1257_; } else { -lean_inc(v_a_1220_); -lean_dec(v___x_1219_); -v___x_1222_ = lean_box(0); -v_isShared_1223_ = v_isSharedCheck_1227_; -goto v_resetjp_1221_; +lean_inc(v_a_1256_); +lean_dec(v___x_1255_); +v___x_1258_ = lean_box(0); +v_isShared_1259_ = v_isSharedCheck_1263_; +goto v_resetjp_1257_; } -v_resetjp_1221_: +v_resetjp_1257_: { -lean_object* v___x_1225_; -if (v_isShared_1223_ == 0) +lean_object* v___x_1261_; +if (v_isShared_1259_ == 0) { -v___x_1225_ = v___x_1222_; -goto v_reusejp_1224_; +v___x_1261_ = v___x_1258_; +goto v_reusejp_1260_; } else { -lean_object* v_reuseFailAlloc_1226_; -v_reuseFailAlloc_1226_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1226_, 0, v_a_1220_); -v___x_1225_ = v_reuseFailAlloc_1226_; -goto v_reusejp_1224_; +lean_object* v_reuseFailAlloc_1262_; +v_reuseFailAlloc_1262_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1262_, 0, v_a_1256_); +v___x_1261_ = v_reuseFailAlloc_1262_; +goto v_reusejp_1260_; } -v_reusejp_1224_: +v_reusejp_1260_: { -return v___x_1225_; +return v___x_1261_; } } } } } -v___jp_1184_: +v___jp_1220_: { -lean_object* v___x_1186_; lean_object* v___x_1187_; -v___x_1186_ = lean_unsigned_to_nat(1u); -v___x_1187_ = lean_nat_add(v_a_1177_, v___x_1186_); -lean_dec(v_a_1177_); -v_a_1177_ = v___x_1187_; -v_b_1178_ = v_a_1185_; +lean_object* v___x_1222_; lean_object* v___x_1223_; +v___x_1222_ = lean_unsigned_to_nat(1u); +v___x_1223_ = lean_nat_add(v_a_1213_, v___x_1222_); +lean_dec(v_a_1213_); +v_a_1213_ = v___x_1223_; +v_b_1214_ = v_a_1221_; goto _start; } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___boxed(lean_object* v_upperBound_1228_, lean_object* v_decls_1229_, lean_object* v_alreadySpecialized_1230_, lean_object* v___x_1231_, lean_object* v_a_1232_, lean_object* v_a_1233_, lean_object* v_b_1234_, lean_object* v___y_1235_, lean_object* v___y_1236_, lean_object* v___y_1237_, lean_object* v___y_1238_, lean_object* v___y_1239_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg___boxed(lean_object* v_upperBound_1264_, lean_object* v_decls_1265_, lean_object* v_alreadySpecialized_1266_, lean_object* v___x_1267_, lean_object* v_a_1268_, lean_object* v_a_1269_, lean_object* v_b_1270_, lean_object* v___y_1271_, lean_object* v___y_1272_, lean_object* v___y_1273_, lean_object* v___y_1274_, lean_object* v___y_1275_){ _start: { -lean_object* v_res_1240_; -v_res_1240_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v_upperBound_1228_, v_decls_1229_, v_alreadySpecialized_1230_, v___x_1231_, v_a_1232_, v_a_1233_, v_b_1234_, v___y_1235_, v___y_1236_, v___y_1237_, v___y_1238_); -lean_dec(v___y_1238_); -lean_dec_ref(v___y_1237_); -lean_dec(v___y_1236_); -lean_dec_ref(v___y_1235_); -lean_dec_ref(v_a_1232_); -lean_dec(v___x_1231_); -lean_dec_ref(v_alreadySpecialized_1230_); -lean_dec_ref(v_decls_1229_); -lean_dec(v_upperBound_1228_); -return v_res_1240_; +lean_object* v_res_1276_; +v_res_1276_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v_upperBound_1264_, v_decls_1265_, v_alreadySpecialized_1266_, v___x_1267_, v_a_1268_, v_a_1269_, v_b_1270_, v___y_1271_, v___y_1272_, v___y_1273_, v___y_1274_); +lean_dec(v___y_1274_); +lean_dec_ref(v___y_1273_); +lean_dec(v___y_1272_); +lean_dec_ref(v___y_1271_); +lean_dec_ref(v_a_1268_); +lean_dec(v___x_1267_); +lean_dec_ref(v_alreadySpecialized_1266_); +lean_dec_ref(v_decls_1265_); +lean_dec(v_upperBound_1264_); +return v_res_1276_; } } -LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(lean_object* v_alreadySpecialized_1241_, lean_object* v_as_1242_, lean_object* v_i_1243_, lean_object* v_j_1244_, lean_object* v_bs_1245_){ +LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(lean_object* v_alreadySpecialized_1277_, lean_object* v_as_1278_, lean_object* v_i_1279_, lean_object* v_j_1280_, lean_object* v_bs_1281_){ _start: { -lean_object* v_zero_1246_; uint8_t v_isZero_1247_; -v_zero_1246_ = lean_unsigned_to_nat(0u); -v_isZero_1247_ = lean_nat_dec_eq(v_i_1243_, v_zero_1246_); -if (v_isZero_1247_ == 1) +lean_object* v_zero_1282_; uint8_t v_isZero_1283_; +v_zero_1282_ = lean_unsigned_to_nat(0u); +v_isZero_1283_ = lean_nat_dec_eq(v_i_1279_, v_zero_1282_); +if (v_isZero_1283_ == 1) { -lean_dec(v_j_1244_); -lean_dec(v_i_1243_); -return v_bs_1245_; +lean_dec(v_j_1280_); +lean_dec(v_i_1279_); +return v_bs_1281_; } else { -lean_object* v___x_1248_; lean_object* v_toSignature_1249_; lean_object* v_name_1250_; lean_object* v_params_1251_; lean_object* v_one_1252_; lean_object* v_n_1253_; lean_object* v___x_1254_; uint8_t v___x_1255_; lean_object* v___x_1256_; lean_object* v___x_1257_; lean_object* v___x_1258_; lean_object* v___x_1259_; lean_object* v___x_1260_; uint8_t v___x_1261_; lean_object* v___x_1262_; lean_object* v___x_1263_; -v___x_1248_ = lean_array_fget_borrowed(v_as_1242_, v_j_1244_); -v_toSignature_1249_ = lean_ctor_get(v___x_1248_, 0); -v_name_1250_ = lean_ctor_get(v_toSignature_1249_, 0); -v_params_1251_ = lean_ctor_get(v_toSignature_1249_, 3); -v_one_1252_ = lean_unsigned_to_nat(1u); -v_n_1253_ = lean_nat_sub(v_i_1243_, v_one_1252_); -lean_dec(v_i_1243_); -v___x_1254_ = lean_array_get_size(v_params_1251_); -v___x_1255_ = 4; -v___x_1256_ = lean_box(v___x_1255_); -v___x_1257_ = lean_mk_array(v___x_1254_, v___x_1256_); -v___x_1258_ = lean_box(v_isZero_1247_); -v___x_1259_ = lean_array_get_borrowed(v___x_1258_, v_alreadySpecialized_1241_, v_j_1244_); -lean_dec(v___x_1258_); -lean_inc(v_name_1250_); -v___x_1260_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_1260_, 0, v_name_1250_); -lean_ctor_set(v___x_1260_, 1, v___x_1257_); -v___x_1261_ = lean_unbox(v___x_1259_); -lean_ctor_set_uint8(v___x_1260_, sizeof(void*)*2, v___x_1261_); -v___x_1262_ = lean_nat_add(v_j_1244_, v_one_1252_); -lean_dec(v_j_1244_); -v___x_1263_ = lean_array_push(v_bs_1245_, v___x_1260_); -v_i_1243_ = v_n_1253_; -v_j_1244_ = v___x_1262_; -v_bs_1245_ = v___x_1263_; +lean_object* v___x_1284_; lean_object* v_toSignature_1285_; lean_object* v_name_1286_; lean_object* v_params_1287_; lean_object* v_one_1288_; lean_object* v_n_1289_; lean_object* v___x_1290_; lean_object* v___x_1291_; lean_object* v___x_1292_; lean_object* v___x_1293_; lean_object* v___x_1294_; lean_object* v___x_1295_; uint8_t v___x_1296_; lean_object* v___x_1297_; lean_object* v___x_1298_; +v___x_1284_ = lean_array_fget_borrowed(v_as_1278_, v_j_1280_); +v_toSignature_1285_ = lean_ctor_get(v___x_1284_, 0); +v_name_1286_ = lean_ctor_get(v_toSignature_1285_, 0); +v_params_1287_ = lean_ctor_get(v_toSignature_1285_, 3); +v_one_1288_ = lean_unsigned_to_nat(1u); +v_n_1289_ = lean_nat_sub(v_i_1279_, v_one_1288_); +lean_dec(v_i_1279_); +v___x_1290_ = lean_array_get_size(v_params_1287_); +v___x_1291_ = lean_box(4); +v___x_1292_ = lean_mk_array(v___x_1290_, v___x_1291_); +v___x_1293_ = lean_box(v_isZero_1283_); +v___x_1294_ = lean_array_get_borrowed(v___x_1293_, v_alreadySpecialized_1277_, v_j_1280_); +lean_dec(v___x_1293_); +lean_inc(v_name_1286_); +v___x_1295_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_1295_, 0, v_name_1286_); +lean_ctor_set(v___x_1295_, 1, v___x_1292_); +v___x_1296_ = lean_unbox(v___x_1294_); +lean_ctor_set_uint8(v___x_1295_, sizeof(void*)*2, v___x_1296_); +v___x_1297_ = lean_nat_add(v_j_1280_, v_one_1288_); +lean_dec(v_j_1280_); +v___x_1298_ = lean_array_push(v_bs_1281_, v___x_1295_); +v_i_1279_ = v_n_1289_; +v_j_1280_ = v___x_1297_; +v_bs_1281_ = v___x_1298_; goto _start; } } } -LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg___boxed(lean_object* v_alreadySpecialized_1265_, lean_object* v_as_1266_, lean_object* v_i_1267_, lean_object* v_j_1268_, lean_object* v_bs_1269_){ +LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg___boxed(lean_object* v_alreadySpecialized_1300_, lean_object* v_as_1301_, lean_object* v_i_1302_, lean_object* v_j_1303_, lean_object* v_bs_1304_){ _start: { -lean_object* v_res_1270_; -v_res_1270_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1265_, v_as_1266_, v_i_1267_, v_j_1268_, v_bs_1269_); -lean_dec_ref(v_as_1266_); -lean_dec_ref(v_alreadySpecialized_1265_); -return v_res_1270_; +lean_object* v_res_1305_; +v_res_1305_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1300_, v_as_1301_, v_i_1302_, v_j_1303_, v_bs_1304_); +lean_dec_ref(v_as_1301_); +lean_dec_ref(v_alreadySpecialized_1300_); +return v_res_1305_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_computeSpecEntries(lean_object* v_decls_1273_, lean_object* v_autoSpecialize_1274_, lean_object* v_alreadySpecialized_1275_, lean_object* v_a_1276_, lean_object* v_a_1277_, lean_object* v_a_1278_, lean_object* v_a_1279_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_computeSpecEntries(lean_object* v_decls_1308_, lean_object* v_autoSpecialize_1309_, lean_object* v_alreadySpecialized_1310_, lean_object* v_a_1311_, lean_object* v_a_1312_, lean_object* v_a_1313_, lean_object* v_a_1314_){ _start: { -lean_object* v___x_1281_; lean_object* v_declsInfo_1282_; size_t v_sz_1283_; size_t v___x_1284_; lean_object* v___x_1285_; -v___x_1281_ = lean_unsigned_to_nat(0u); -v_declsInfo_1282_ = ((lean_object*)(l_Lean_Compiler_LCNF_computeSpecEntries___closed__0)); -v_sz_1283_ = lean_array_size(v_decls_1273_); -v___x_1284_ = ((size_t)0ULL); -v___x_1285_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(v_autoSpecialize_1274_, v_decls_1273_, v_sz_1283_, v___x_1284_, v_declsInfo_1282_, v_a_1276_, v_a_1277_, v_a_1278_, v_a_1279_); -if (lean_obj_tag(v___x_1285_) == 0) +lean_object* v___x_1316_; lean_object* v_declsInfo_1317_; size_t v_sz_1318_; size_t v___x_1319_; lean_object* v___x_1320_; +v___x_1316_ = lean_unsigned_to_nat(0u); +v_declsInfo_1317_ = ((lean_object*)(l_Lean_Compiler_LCNF_computeSpecEntries___closed__0)); +v_sz_1318_ = lean_array_size(v_decls_1308_); +v___x_1319_ = ((size_t)0ULL); +v___x_1320_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__3(v_autoSpecialize_1309_, v_decls_1308_, v_sz_1318_, v___x_1319_, v_declsInfo_1317_, v_a_1311_, v_a_1312_, v_a_1313_, v_a_1314_); +if (lean_obj_tag(v___x_1320_) == 0) { -lean_object* v_a_1286_; lean_object* v___x_1288_; uint8_t v_isShared_1289_; uint8_t v_isSharedCheck_1305_; -v_a_1286_ = lean_ctor_get(v___x_1285_, 0); -v_isSharedCheck_1305_ = !lean_is_exclusive(v___x_1285_); -if (v_isSharedCheck_1305_ == 0) +lean_object* v_a_1321_; lean_object* v___x_1323_; uint8_t v_isShared_1324_; uint8_t v_isSharedCheck_1340_; +v_a_1321_ = lean_ctor_get(v___x_1320_, 0); +v_isSharedCheck_1340_ = !lean_is_exclusive(v___x_1320_); +if (v_isSharedCheck_1340_ == 0) { -v___x_1288_ = v___x_1285_; -v_isShared_1289_ = v_isSharedCheck_1305_; -goto v_resetjp_1287_; +v___x_1323_ = v___x_1320_; +v_isShared_1324_ = v_isSharedCheck_1340_; +goto v_resetjp_1322_; } else { -lean_inc(v_a_1286_); -lean_dec(v___x_1285_); -v___x_1288_ = lean_box(0); -v_isShared_1289_ = v_isSharedCheck_1305_; -goto v_resetjp_1287_; +lean_inc(v_a_1321_); +lean_dec(v___x_1320_); +v___x_1323_ = lean_box(0); +v_isShared_1324_ = v_isSharedCheck_1340_; +goto v_resetjp_1322_; } -v_resetjp_1287_: +v_resetjp_1322_: { -lean_object* v___x_1297_; uint8_t v___x_1298_; -v___x_1297_ = lean_array_get_size(v_a_1286_); -v___x_1298_ = lean_nat_dec_lt(v___x_1281_, v___x_1297_); -if (v___x_1298_ == 0) +lean_object* v___x_1332_; uint8_t v___x_1333_; +v___x_1332_ = lean_array_get_size(v_a_1321_); +v___x_1333_ = lean_nat_dec_lt(v___x_1316_, v___x_1332_); +if (v___x_1333_ == 0) { -lean_dec(v_a_1286_); -goto v___jp_1290_; +lean_dec(v_a_1321_); +goto v___jp_1325_; } else { -if (v___x_1298_ == 0) +if (v___x_1333_ == 0) { -lean_dec(v_a_1286_); -goto v___jp_1290_; +lean_dec(v_a_1321_); +goto v___jp_1325_; } else { -size_t v___x_1299_; uint8_t v___x_1300_; -v___x_1299_ = lean_usize_of_nat(v___x_1297_); -v___x_1300_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(v_a_1286_, v___x_1284_, v___x_1299_); -if (v___x_1300_ == 0) +size_t v___x_1334_; uint8_t v___x_1335_; +v___x_1334_ = lean_usize_of_nat(v___x_1332_); +v___x_1335_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__5(v_a_1321_, v___x_1319_, v___x_1334_); +if (v___x_1335_ == 0) { -lean_dec(v_a_1286_); -goto v___jp_1290_; +lean_dec(v_a_1321_); +goto v___jp_1325_; } else { -lean_object* v___x_1301_; lean_object* v___x_1302_; lean_object* v___x_1303_; lean_object* v___x_1304_; -lean_del_object(v___x_1288_); -v___x_1301_ = lean_array_get_size(v_decls_1273_); -v___x_1302_ = lean_mk_empty_array_with_capacity(v___x_1301_); -lean_inc_ref(v_decls_1273_); -v___x_1303_ = l_Lean_Compiler_LCNF_mkFixedParamsMap(v_decls_1273_); -v___x_1304_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v___x_1301_, v_decls_1273_, v_alreadySpecialized_1275_, v___x_1303_, v_a_1286_, v___x_1281_, v___x_1302_, v_a_1276_, v_a_1277_, v_a_1278_, v_a_1279_); -lean_dec(v_a_1286_); -lean_dec(v___x_1303_); -lean_dec_ref(v_decls_1273_); -return v___x_1304_; +lean_object* v___x_1336_; lean_object* v___x_1337_; lean_object* v___x_1338_; lean_object* v___x_1339_; +lean_del_object(v___x_1323_); +v___x_1336_ = lean_array_get_size(v_decls_1308_); +v___x_1337_ = lean_mk_empty_array_with_capacity(v___x_1336_); +lean_inc_ref(v_decls_1308_); +v___x_1338_ = l_Lean_Compiler_LCNF_mkFixedParamsMap(v_decls_1308_); +v___x_1339_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v___x_1336_, v_decls_1308_, v_alreadySpecialized_1310_, v___x_1338_, v_a_1321_, v___x_1316_, v___x_1337_, v_a_1311_, v_a_1312_, v_a_1313_, v_a_1314_); +lean_dec(v_a_1321_); +lean_dec(v___x_1338_); +lean_dec_ref(v_decls_1308_); +return v___x_1339_; } } } -v___jp_1290_: +v___jp_1325_: { -lean_object* v___x_1291_; lean_object* v___x_1292_; lean_object* v___x_1293_; lean_object* v___x_1295_; -v___x_1291_ = lean_array_get_size(v_decls_1273_); -v___x_1292_ = lean_mk_empty_array_with_capacity(v___x_1291_); -v___x_1293_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1275_, v_decls_1273_, v___x_1291_, v___x_1281_, v___x_1292_); -lean_dec_ref(v_decls_1273_); -if (v_isShared_1289_ == 0) +lean_object* v___x_1326_; lean_object* v___x_1327_; lean_object* v___x_1328_; lean_object* v___x_1330_; +v___x_1326_ = lean_array_get_size(v_decls_1308_); +v___x_1327_ = lean_mk_empty_array_with_capacity(v___x_1326_); +v___x_1328_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1310_, v_decls_1308_, v___x_1326_, v___x_1316_, v___x_1327_); +lean_dec_ref(v_decls_1308_); +if (v_isShared_1324_ == 0) { -lean_ctor_set(v___x_1288_, 0, v___x_1293_); -v___x_1295_ = v___x_1288_; -goto v_reusejp_1294_; +lean_ctor_set(v___x_1323_, 0, v___x_1328_); +v___x_1330_ = v___x_1323_; +goto v_reusejp_1329_; } else { -lean_object* v_reuseFailAlloc_1296_; -v_reuseFailAlloc_1296_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1296_, 0, v___x_1293_); -v___x_1295_ = v_reuseFailAlloc_1296_; -goto v_reusejp_1294_; +lean_object* v_reuseFailAlloc_1331_; +v_reuseFailAlloc_1331_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1331_, 0, v___x_1328_); +v___x_1330_ = v_reuseFailAlloc_1331_; +goto v_reusejp_1329_; } -v_reusejp_1294_: +v_reusejp_1329_: { -return v___x_1295_; +return v___x_1330_; } } } } else { -lean_object* v_a_1306_; lean_object* v___x_1308_; uint8_t v_isShared_1309_; uint8_t v_isSharedCheck_1313_; -lean_dec_ref(v_decls_1273_); -v_a_1306_ = lean_ctor_get(v___x_1285_, 0); -v_isSharedCheck_1313_ = !lean_is_exclusive(v___x_1285_); -if (v_isSharedCheck_1313_ == 0) +lean_object* v_a_1341_; lean_object* v___x_1343_; uint8_t v_isShared_1344_; uint8_t v_isSharedCheck_1348_; +lean_dec_ref(v_decls_1308_); +v_a_1341_ = lean_ctor_get(v___x_1320_, 0); +v_isSharedCheck_1348_ = !lean_is_exclusive(v___x_1320_); +if (v_isSharedCheck_1348_ == 0) { -v___x_1308_ = v___x_1285_; -v_isShared_1309_ = v_isSharedCheck_1313_; -goto v_resetjp_1307_; +v___x_1343_ = v___x_1320_; +v_isShared_1344_ = v_isSharedCheck_1348_; +goto v_resetjp_1342_; } else { -lean_inc(v_a_1306_); -lean_dec(v___x_1285_); -v___x_1308_ = lean_box(0); -v_isShared_1309_ = v_isSharedCheck_1313_; -goto v_resetjp_1307_; +lean_inc(v_a_1341_); +lean_dec(v___x_1320_); +v___x_1343_ = lean_box(0); +v_isShared_1344_ = v_isSharedCheck_1348_; +goto v_resetjp_1342_; } -v_resetjp_1307_: +v_resetjp_1342_: { -lean_object* v___x_1311_; -if (v_isShared_1309_ == 0) +lean_object* v___x_1346_; +if (v_isShared_1344_ == 0) { -v___x_1311_ = v___x_1308_; -goto v_reusejp_1310_; +v___x_1346_ = v___x_1343_; +goto v_reusejp_1345_; } else { -lean_object* v_reuseFailAlloc_1312_; -v_reuseFailAlloc_1312_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1312_, 0, v_a_1306_); -v___x_1311_ = v_reuseFailAlloc_1312_; -goto v_reusejp_1310_; +lean_object* v_reuseFailAlloc_1347_; +v_reuseFailAlloc_1347_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1347_, 0, v_a_1341_); +v___x_1346_ = v_reuseFailAlloc_1347_; +goto v_reusejp_1345_; } -v_reusejp_1310_: +v_reusejp_1345_: { -return v___x_1311_; +return v___x_1346_; } } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_computeSpecEntries___boxed(lean_object* v_decls_1314_, lean_object* v_autoSpecialize_1315_, lean_object* v_alreadySpecialized_1316_, lean_object* v_a_1317_, lean_object* v_a_1318_, lean_object* v_a_1319_, lean_object* v_a_1320_, lean_object* v_a_1321_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_computeSpecEntries___boxed(lean_object* v_decls_1349_, lean_object* v_autoSpecialize_1350_, lean_object* v_alreadySpecialized_1351_, lean_object* v_a_1352_, lean_object* v_a_1353_, lean_object* v_a_1354_, lean_object* v_a_1355_, lean_object* v_a_1356_){ _start: { -lean_object* v_res_1322_; -v_res_1322_ = l_Lean_Compiler_LCNF_computeSpecEntries(v_decls_1314_, v_autoSpecialize_1315_, v_alreadySpecialized_1316_, v_a_1317_, v_a_1318_, v_a_1319_, v_a_1320_); -lean_dec(v_a_1320_); -lean_dec_ref(v_a_1319_); -lean_dec(v_a_1318_); -lean_dec_ref(v_a_1317_); -lean_dec_ref(v_alreadySpecialized_1316_); -return v_res_1322_; +lean_object* v_res_1357_; +v_res_1357_ = l_Lean_Compiler_LCNF_computeSpecEntries(v_decls_1349_, v_autoSpecialize_1350_, v_alreadySpecialized_1351_, v_a_1352_, v_a_1353_, v_a_1354_, v_a_1355_); +lean_dec(v_a_1355_); +lean_dec_ref(v_a_1354_); +lean_dec(v_a_1353_); +lean_dec_ref(v_a_1352_); +lean_dec_ref(v_alreadySpecialized_1351_); +return v_res_1357_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1(lean_object* v_upperBound_1323_, lean_object* v___x_1324_, lean_object* v_autoSpecialize_1325_, lean_object* v___x_1326_, lean_object* v___x_1327_, lean_object* v_inst_1328_, lean_object* v_R_1329_, lean_object* v_a_1330_, lean_object* v_b_1331_, lean_object* v_c_1332_, lean_object* v___y_1333_, lean_object* v___y_1334_, lean_object* v___y_1335_, lean_object* v___y_1336_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1(lean_object* v_upperBound_1358_, lean_object* v___x_1359_, lean_object* v_autoSpecialize_1360_, lean_object* v___x_1361_, lean_object* v___x_1362_, lean_object* v_inst_1363_, lean_object* v_R_1364_, lean_object* v_a_1365_, lean_object* v_b_1366_, lean_object* v_c_1367_, lean_object* v___y_1368_, lean_object* v___y_1369_, lean_object* v___y_1370_, lean_object* v___y_1371_){ _start: { -lean_object* v___x_1338_; -v___x_1338_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v_upperBound_1323_, v___x_1324_, v_autoSpecialize_1325_, v___x_1326_, v___x_1327_, v_a_1330_, v_b_1331_, v___y_1333_, v___y_1334_, v___y_1335_, v___y_1336_); -return v___x_1338_; +lean_object* v___x_1373_; +v___x_1373_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___redArg(v_upperBound_1358_, v___x_1359_, v_autoSpecialize_1360_, v___x_1361_, v___x_1362_, v_a_1365_, v_b_1366_, v___y_1368_, v___y_1369_, v___y_1370_, v___y_1371_); +return v___x_1373_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___boxed(lean_object* v_upperBound_1339_, lean_object* v___x_1340_, lean_object* v_autoSpecialize_1341_, lean_object* v___x_1342_, lean_object* v___x_1343_, lean_object* v_inst_1344_, lean_object* v_R_1345_, lean_object* v_a_1346_, lean_object* v_b_1347_, lean_object* v_c_1348_, lean_object* v___y_1349_, lean_object* v___y_1350_, lean_object* v___y_1351_, lean_object* v___y_1352_, lean_object* v___y_1353_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1___boxed(lean_object* v_upperBound_1374_, lean_object* v___x_1375_, lean_object* v_autoSpecialize_1376_, lean_object* v___x_1377_, lean_object* v___x_1378_, lean_object* v_inst_1379_, lean_object* v_R_1380_, lean_object* v_a_1381_, lean_object* v_b_1382_, lean_object* v_c_1383_, lean_object* v___y_1384_, lean_object* v___y_1385_, lean_object* v___y_1386_, lean_object* v___y_1387_, lean_object* v___y_1388_){ _start: { -lean_object* v_res_1354_; -v_res_1354_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1(v_upperBound_1339_, v___x_1340_, v_autoSpecialize_1341_, v___x_1342_, v___x_1343_, v_inst_1344_, v_R_1345_, v_a_1346_, v_b_1347_, v_c_1348_, v___y_1349_, v___y_1350_, v___y_1351_, v___y_1352_); -lean_dec(v___y_1352_); -lean_dec_ref(v___y_1351_); -lean_dec(v___y_1350_); -lean_dec_ref(v___y_1349_); -lean_dec_ref(v___x_1340_); -lean_dec(v_upperBound_1339_); -return v_res_1354_; +lean_object* v_res_1389_; +v_res_1389_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__1(v_upperBound_1374_, v___x_1375_, v_autoSpecialize_1376_, v___x_1377_, v___x_1378_, v_inst_1379_, v_R_1380_, v_a_1381_, v_b_1382_, v_c_1383_, v___y_1384_, v___y_1385_, v___y_1386_, v___y_1387_); +lean_dec(v___y_1387_); +lean_dec_ref(v___y_1386_); +lean_dec(v___y_1385_); +lean_dec_ref(v___y_1384_); +lean_dec_ref(v___x_1375_); +lean_dec(v_upperBound_1374_); +return v_res_1389_; } } -LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4(lean_object* v_alreadySpecialized_1355_, lean_object* v_as_1356_, lean_object* v_i_1357_, lean_object* v_j_1358_, lean_object* v_inv_1359_, lean_object* v_bs_1360_){ +LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4(lean_object* v_alreadySpecialized_1390_, lean_object* v_as_1391_, lean_object* v_i_1392_, lean_object* v_j_1393_, lean_object* v_inv_1394_, lean_object* v_bs_1395_){ _start: { -lean_object* v___x_1361_; -v___x_1361_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1355_, v_as_1356_, v_i_1357_, v_j_1358_, v_bs_1360_); -return v___x_1361_; +lean_object* v___x_1396_; +v___x_1396_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___redArg(v_alreadySpecialized_1390_, v_as_1391_, v_i_1392_, v_j_1393_, v_bs_1395_); +return v___x_1396_; } } -LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___boxed(lean_object* v_alreadySpecialized_1362_, lean_object* v_as_1363_, lean_object* v_i_1364_, lean_object* v_j_1365_, lean_object* v_inv_1366_, lean_object* v_bs_1367_){ +LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4___boxed(lean_object* v_alreadySpecialized_1397_, lean_object* v_as_1398_, lean_object* v_i_1399_, lean_object* v_j_1400_, lean_object* v_inv_1401_, lean_object* v_bs_1402_){ _start: { -lean_object* v_res_1368_; -v_res_1368_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4(v_alreadySpecialized_1362_, v_as_1363_, v_i_1364_, v_j_1365_, v_inv_1366_, v_bs_1367_); -lean_dec_ref(v_as_1363_); -lean_dec_ref(v_alreadySpecialized_1362_); -return v_res_1368_; +lean_object* v_res_1403_; +v_res_1403_ = l_Array_mapFinIdxM_map___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__4(v_alreadySpecialized_1397_, v_as_1398_, v_i_1399_, v_j_1400_, v_inv_1401_, v_bs_1402_); +lean_dec_ref(v_as_1398_); +lean_dec_ref(v_alreadySpecialized_1397_); +return v_res_1403_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7(lean_object* v_upperBound_1369_, lean_object* v___x_1370_, lean_object* v_inst_1371_, lean_object* v_R_1372_, lean_object* v_a_1373_, lean_object* v_b_1374_, lean_object* v_c_1375_, lean_object* v___y_1376_, lean_object* v___y_1377_, lean_object* v___y_1378_, lean_object* v___y_1379_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7(lean_object* v_upperBound_1404_, lean_object* v___x_1405_, lean_object* v_inst_1406_, lean_object* v_R_1407_, lean_object* v_a_1408_, lean_object* v_b_1409_, lean_object* v_c_1410_, lean_object* v___y_1411_, lean_object* v___y_1412_, lean_object* v___y_1413_, lean_object* v___y_1414_){ _start: { -lean_object* v___x_1381_; -v___x_1381_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v_upperBound_1369_, v___x_1370_, v_a_1373_, v_b_1374_); -return v___x_1381_; +lean_object* v___x_1416_; +v___x_1416_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___redArg(v_upperBound_1404_, v___x_1405_, v_a_1408_, v_b_1409_); +return v___x_1416_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___boxed(lean_object* v_upperBound_1382_, lean_object* v___x_1383_, lean_object* v_inst_1384_, lean_object* v_R_1385_, lean_object* v_a_1386_, lean_object* v_b_1387_, lean_object* v_c_1388_, lean_object* v___y_1389_, lean_object* v___y_1390_, lean_object* v___y_1391_, lean_object* v___y_1392_, lean_object* v___y_1393_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7___boxed(lean_object* v_upperBound_1417_, lean_object* v___x_1418_, lean_object* v_inst_1419_, lean_object* v_R_1420_, lean_object* v_a_1421_, lean_object* v_b_1422_, lean_object* v_c_1423_, lean_object* v___y_1424_, lean_object* v___y_1425_, lean_object* v___y_1426_, lean_object* v___y_1427_, lean_object* v___y_1428_){ _start: { -lean_object* v_res_1394_; -v_res_1394_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7(v_upperBound_1382_, v___x_1383_, v_inst_1384_, v_R_1385_, v_a_1386_, v_b_1387_, v_c_1388_, v___y_1389_, v___y_1390_, v___y_1391_, v___y_1392_); -lean_dec(v___y_1392_); -lean_dec_ref(v___y_1391_); -lean_dec(v___y_1390_); -lean_dec_ref(v___y_1389_); -lean_dec_ref(v___x_1383_); -lean_dec(v_upperBound_1382_); -return v_res_1394_; +lean_object* v_res_1429_; +v_res_1429_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__7(v_upperBound_1417_, v___x_1418_, v_inst_1419_, v_R_1420_, v_a_1421_, v_b_1422_, v_c_1423_, v___y_1424_, v___y_1425_, v___y_1426_, v___y_1427_); +lean_dec(v___y_1427_); +lean_dec_ref(v___y_1426_); +lean_dec(v___y_1425_); +lean_dec_ref(v___y_1424_); +lean_dec_ref(v___x_1418_); +lean_dec(v_upperBound_1417_); +return v_res_1429_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9(lean_object* v_upperBound_1395_, lean_object* v_decls_1396_, lean_object* v_alreadySpecialized_1397_, lean_object* v___x_1398_, lean_object* v_a_1399_, lean_object* v_inst_1400_, lean_object* v_R_1401_, lean_object* v_a_1402_, lean_object* v_b_1403_, lean_object* v_c_1404_, lean_object* v___y_1405_, lean_object* v___y_1406_, lean_object* v___y_1407_, lean_object* v___y_1408_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9(lean_object* v_upperBound_1430_, lean_object* v_decls_1431_, lean_object* v_alreadySpecialized_1432_, lean_object* v___x_1433_, lean_object* v_a_1434_, lean_object* v_inst_1435_, lean_object* v_R_1436_, lean_object* v_a_1437_, lean_object* v_b_1438_, lean_object* v_c_1439_, lean_object* v___y_1440_, lean_object* v___y_1441_, lean_object* v___y_1442_, lean_object* v___y_1443_){ _start: { -lean_object* v___x_1410_; -v___x_1410_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v_upperBound_1395_, v_decls_1396_, v_alreadySpecialized_1397_, v___x_1398_, v_a_1399_, v_a_1402_, v_b_1403_, v___y_1405_, v___y_1406_, v___y_1407_, v___y_1408_); -return v___x_1410_; +lean_object* v___x_1445_; +v___x_1445_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___redArg(v_upperBound_1430_, v_decls_1431_, v_alreadySpecialized_1432_, v___x_1433_, v_a_1434_, v_a_1437_, v_b_1438_, v___y_1440_, v___y_1441_, v___y_1442_, v___y_1443_); +return v___x_1445_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___boxed(lean_object* v_upperBound_1411_, lean_object* v_decls_1412_, lean_object* v_alreadySpecialized_1413_, lean_object* v___x_1414_, lean_object* v_a_1415_, lean_object* v_inst_1416_, lean_object* v_R_1417_, lean_object* v_a_1418_, lean_object* v_b_1419_, lean_object* v_c_1420_, lean_object* v___y_1421_, lean_object* v___y_1422_, lean_object* v___y_1423_, lean_object* v___y_1424_, lean_object* v___y_1425_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9___boxed(lean_object* v_upperBound_1446_, lean_object* v_decls_1447_, lean_object* v_alreadySpecialized_1448_, lean_object* v___x_1449_, lean_object* v_a_1450_, lean_object* v_inst_1451_, lean_object* v_R_1452_, lean_object* v_a_1453_, lean_object* v_b_1454_, lean_object* v_c_1455_, lean_object* v___y_1456_, lean_object* v___y_1457_, lean_object* v___y_1458_, lean_object* v___y_1459_, lean_object* v___y_1460_){ _start: { -lean_object* v_res_1426_; -v_res_1426_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9(v_upperBound_1411_, v_decls_1412_, v_alreadySpecialized_1413_, v___x_1414_, v_a_1415_, v_inst_1416_, v_R_1417_, v_a_1418_, v_b_1419_, v_c_1420_, v___y_1421_, v___y_1422_, v___y_1423_, v___y_1424_); -lean_dec(v___y_1424_); -lean_dec_ref(v___y_1423_); -lean_dec(v___y_1422_); -lean_dec_ref(v___y_1421_); -lean_dec_ref(v_a_1415_); -lean_dec(v___x_1414_); -lean_dec_ref(v_alreadySpecialized_1413_); -lean_dec_ref(v_decls_1412_); -lean_dec(v_upperBound_1411_); -return v_res_1426_; +lean_object* v_res_1461_; +v_res_1461_ = l_WellFounded_opaqueFix_u2083___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__9(v_upperBound_1446_, v_decls_1447_, v_alreadySpecialized_1448_, v___x_1449_, v_a_1450_, v_inst_1451_, v_R_1452_, v_a_1453_, v_b_1454_, v_c_1455_, v___y_1456_, v___y_1457_, v___y_1458_, v___y_1459_); +lean_dec(v___y_1459_); +lean_dec_ref(v___y_1458_); +lean_dec(v___y_1457_); +lean_dec_ref(v___y_1456_); +lean_dec_ref(v_a_1450_); +lean_dec(v___x_1449_); +lean_dec_ref(v_alreadySpecialized_1448_); +lean_dec_ref(v_decls_1447_); +lean_dec(v_upperBound_1446_); +return v_res_1461_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(lean_object* v_cls_1430_, lean_object* v___y_1431_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(lean_object* v_cls_1465_, lean_object* v___y_1466_){ _start: { -lean_object* v_options_1433_; uint8_t v_hasTrace_1434_; -v_options_1433_ = lean_ctor_get(v___y_1431_, 2); -v_hasTrace_1434_ = lean_ctor_get_uint8(v_options_1433_, sizeof(void*)*1); -if (v_hasTrace_1434_ == 0) +lean_object* v_options_1468_; uint8_t v_hasTrace_1469_; +v_options_1468_ = lean_ctor_get(v___y_1466_, 2); +v_hasTrace_1469_ = lean_ctor_get_uint8(v_options_1468_, sizeof(void*)*1); +if (v_hasTrace_1469_ == 0) { -lean_object* v___x_1435_; lean_object* v___x_1436_; -lean_dec(v_cls_1430_); -v___x_1435_ = lean_box(v_hasTrace_1434_); -v___x_1436_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1436_, 0, v___x_1435_); -return v___x_1436_; +lean_object* v___x_1470_; lean_object* v___x_1471_; +lean_dec(v_cls_1465_); +v___x_1470_ = lean_box(v_hasTrace_1469_); +v___x_1471_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1471_, 0, v___x_1470_); +return v___x_1471_; } else { -lean_object* v_inheritedTraceOptions_1437_; lean_object* v___x_1438_; lean_object* v___x_1439_; uint8_t v___x_1440_; lean_object* v___x_1441_; lean_object* v___x_1442_; -v_inheritedTraceOptions_1437_ = lean_ctor_get(v___y_1431_, 13); -v___x_1438_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg___closed__1)); -v___x_1439_ = l_Lean_Name_append(v___x_1438_, v_cls_1430_); -v___x_1440_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_1437_, v_options_1433_, v___x_1439_); -lean_dec(v___x_1439_); -v___x_1441_ = lean_box(v___x_1440_); -v___x_1442_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1442_, 0, v___x_1441_); -return v___x_1442_; +lean_object* v_inheritedTraceOptions_1472_; lean_object* v___x_1473_; lean_object* v___x_1474_; uint8_t v___x_1475_; lean_object* v___x_1476_; lean_object* v___x_1477_; +v_inheritedTraceOptions_1472_ = lean_ctor_get(v___y_1466_, 13); +v___x_1473_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg___closed__1)); +v___x_1474_ = l_Lean_Name_append(v___x_1473_, v_cls_1465_); +v___x_1475_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_1472_, v_options_1468_, v___x_1474_); +lean_dec(v___x_1474_); +v___x_1476_ = lean_box(v___x_1475_); +v___x_1477_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1477_, 0, v___x_1476_); +return v___x_1477_; } } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg___boxed(lean_object* v_cls_1443_, lean_object* v___y_1444_, lean_object* v___y_1445_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg___boxed(lean_object* v_cls_1478_, lean_object* v___y_1479_, lean_object* v___y_1480_){ _start: { -lean_object* v_res_1446_; -v_res_1446_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v_cls_1443_, v___y_1444_); -lean_dec_ref(v___y_1444_); -return v_res_1446_; +lean_object* v_res_1481_; +v_res_1481_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v_cls_1478_, v___y_1479_); +lean_dec_ref(v___y_1479_); +return v_res_1481_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1(lean_object* v_cls_1447_, lean_object* v___y_1448_, lean_object* v___y_1449_, lean_object* v___y_1450_, lean_object* v___y_1451_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1(lean_object* v_cls_1482_, lean_object* v___y_1483_, lean_object* v___y_1484_, lean_object* v___y_1485_, lean_object* v___y_1486_){ _start: { -lean_object* v___x_1453_; -v___x_1453_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v_cls_1447_, v___y_1450_); -return v___x_1453_; +lean_object* v___x_1488_; +v___x_1488_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v_cls_1482_, v___y_1485_); +return v___x_1488_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___boxed(lean_object* v_cls_1454_, lean_object* v___y_1455_, lean_object* v___y_1456_, lean_object* v___y_1457_, lean_object* v___y_1458_, lean_object* v___y_1459_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___boxed(lean_object* v_cls_1489_, lean_object* v___y_1490_, lean_object* v___y_1491_, lean_object* v___y_1492_, lean_object* v___y_1493_, lean_object* v___y_1494_){ _start: { -lean_object* v_res_1460_; -v_res_1460_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1(v_cls_1454_, v___y_1455_, v___y_1456_, v___y_1457_, v___y_1458_); -lean_dec(v___y_1458_); -lean_dec_ref(v___y_1457_); -lean_dec(v___y_1456_); -lean_dec_ref(v___y_1455_); -return v_res_1460_; +lean_object* v_res_1495_; +v_res_1495_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1(v_cls_1489_, v___y_1490_, v___y_1491_, v___y_1492_, v___y_1493_); +lean_dec(v___y_1493_); +lean_dec_ref(v___y_1492_); +lean_dec(v___y_1491_); +lean_dec_ref(v___y_1490_); +return v_res_1495_; } } static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0(void){ _start: { -lean_object* v___x_1461_; -v___x_1461_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_1461_; +lean_object* v___x_1496_; +v___x_1496_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_1496_; } } static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1(void){ _start: { -lean_object* v___x_1462_; lean_object* v___x_1463_; -v___x_1462_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0); -v___x_1463_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1463_, 0, v___x_1462_); -return v___x_1463_; +lean_object* v___x_1497_; lean_object* v___x_1498_; +v___x_1497_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__0); +v___x_1498_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1498_, 0, v___x_1497_); +return v___x_1498_; } } static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2(void){ _start: { -lean_object* v___x_1464_; lean_object* v___x_1465_; lean_object* v___x_1466_; -v___x_1464_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1); -v___x_1465_ = lean_unsigned_to_nat(0u); -v___x_1466_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v___x_1466_, 0, v___x_1465_); -lean_ctor_set(v___x_1466_, 1, v___x_1465_); -lean_ctor_set(v___x_1466_, 2, v___x_1465_); -lean_ctor_set(v___x_1466_, 3, v___x_1464_); -lean_ctor_set(v___x_1466_, 4, v___x_1464_); -lean_ctor_set(v___x_1466_, 5, v___x_1464_); -lean_ctor_set(v___x_1466_, 6, v___x_1464_); -lean_ctor_set(v___x_1466_, 7, v___x_1464_); -lean_ctor_set(v___x_1466_, 8, v___x_1464_); -return v___x_1466_; +lean_object* v___x_1499_; lean_object* v___x_1500_; lean_object* v___x_1501_; +v___x_1499_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__1); +v___x_1500_ = lean_unsigned_to_nat(0u); +v___x_1501_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v___x_1501_, 0, v___x_1500_); +lean_ctor_set(v___x_1501_, 1, v___x_1500_); +lean_ctor_set(v___x_1501_, 2, v___x_1500_); +lean_ctor_set(v___x_1501_, 3, v___x_1499_); +lean_ctor_set(v___x_1501_, 4, v___x_1499_); +lean_ctor_set(v___x_1501_, 5, v___x_1499_); +lean_ctor_set(v___x_1501_, 6, v___x_1499_); +lean_ctor_set(v___x_1501_, 7, v___x_1499_); +lean_ctor_set(v___x_1501_, 8, v___x_1499_); +return v___x_1501_; } } static double _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3(void){ _start: { -lean_object* v___x_1467_; double v___x_1468_; -v___x_1467_ = lean_unsigned_to_nat(0u); -v___x_1468_ = lean_float_of_nat(v___x_1467_); -return v___x_1468_; +lean_object* v___x_1502_; double v___x_1503_; +v___x_1502_ = lean_unsigned_to_nat(0u); +v___x_1503_ = lean_float_of_nat(v___x_1502_); +return v___x_1503_; } } -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(lean_object* v_cls_1472_, lean_object* v_msg_1473_, lean_object* v___y_1474_, lean_object* v___y_1475_, lean_object* v___y_1476_, lean_object* v___y_1477_){ +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(lean_object* v_cls_1507_, lean_object* v_msg_1508_, lean_object* v___y_1509_, lean_object* v___y_1510_, lean_object* v___y_1511_, lean_object* v___y_1512_){ _start: { -lean_object* v_options_1479_; lean_object* v_ref_1480_; lean_object* v___x_1481_; lean_object* v___x_1482_; lean_object* v___x_1483_; -v_options_1479_ = lean_ctor_get(v___y_1476_, 2); -v_ref_1480_ = lean_ctor_get(v___y_1476_, 5); -v___x_1481_ = lean_st_ref_get(v___y_1477_); -v___x_1482_ = lean_st_ref_get(v___y_1475_); -v___x_1483_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_1474_); -if (lean_obj_tag(v___x_1483_) == 0) +lean_object* v_options_1514_; lean_object* v_ref_1515_; lean_object* v___x_1516_; lean_object* v___x_1517_; lean_object* v___x_1518_; +v_options_1514_ = lean_ctor_get(v___y_1511_, 2); +v_ref_1515_ = lean_ctor_get(v___y_1511_, 5); +v___x_1516_ = lean_st_ref_get(v___y_1512_); +v___x_1517_ = lean_st_ref_get(v___y_1510_); +v___x_1518_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_1509_); +if (lean_obj_tag(v___x_1518_) == 0) { -lean_object* v_a_1484_; lean_object* v___x_1486_; uint8_t v_isShared_1487_; uint8_t v_isSharedCheck_1542_; -v_a_1484_ = lean_ctor_get(v___x_1483_, 0); -v_isSharedCheck_1542_ = !lean_is_exclusive(v___x_1483_); -if (v_isSharedCheck_1542_ == 0) +lean_object* v_a_1519_; lean_object* v___x_1521_; uint8_t v_isShared_1522_; uint8_t v_isSharedCheck_1577_; +v_a_1519_ = lean_ctor_get(v___x_1518_, 0); +v_isSharedCheck_1577_ = !lean_is_exclusive(v___x_1518_); +if (v_isSharedCheck_1577_ == 0) { -v___x_1486_ = v___x_1483_; -v_isShared_1487_ = v_isSharedCheck_1542_; -goto v_resetjp_1485_; +v___x_1521_ = v___x_1518_; +v_isShared_1522_ = v_isSharedCheck_1577_; +goto v_resetjp_1520_; } else { -lean_inc(v_a_1484_); -lean_dec(v___x_1483_); -v___x_1486_ = lean_box(0); -v_isShared_1487_ = v_isSharedCheck_1542_; -goto v_resetjp_1485_; +lean_inc(v_a_1519_); +lean_dec(v___x_1518_); +v___x_1521_ = lean_box(0); +v_isShared_1522_ = v_isSharedCheck_1577_; +goto v_resetjp_1520_; } -v_resetjp_1485_: +v_resetjp_1520_: { -lean_object* v_env_1488_; lean_object* v_lctx_1489_; lean_object* v___x_1491_; uint8_t v_isShared_1492_; uint8_t v_isSharedCheck_1540_; -v_env_1488_ = lean_ctor_get(v___x_1481_, 0); -lean_inc_ref(v_env_1488_); -lean_dec(v___x_1481_); -v_lctx_1489_ = lean_ctor_get(v___x_1482_, 0); -v_isSharedCheck_1540_ = !lean_is_exclusive(v___x_1482_); -if (v_isSharedCheck_1540_ == 0) +lean_object* v_env_1523_; lean_object* v_lctx_1524_; lean_object* v___x_1526_; uint8_t v_isShared_1527_; uint8_t v_isSharedCheck_1575_; +v_env_1523_ = lean_ctor_get(v___x_1516_, 0); +lean_inc_ref(v_env_1523_); +lean_dec(v___x_1516_); +v_lctx_1524_ = lean_ctor_get(v___x_1517_, 0); +v_isSharedCheck_1575_ = !lean_is_exclusive(v___x_1517_); +if (v_isSharedCheck_1575_ == 0) { -lean_object* v_unused_1541_; -v_unused_1541_ = lean_ctor_get(v___x_1482_, 1); -lean_dec(v_unused_1541_); -v___x_1491_ = v___x_1482_; -v_isShared_1492_ = v_isSharedCheck_1540_; -goto v_resetjp_1490_; +lean_object* v_unused_1576_; +v_unused_1576_ = lean_ctor_get(v___x_1517_, 1); +lean_dec(v_unused_1576_); +v___x_1526_ = v___x_1517_; +v_isShared_1527_ = v_isSharedCheck_1575_; +goto v_resetjp_1525_; } else { -lean_inc(v_lctx_1489_); -lean_dec(v___x_1482_); -v___x_1491_ = lean_box(0); -v_isShared_1492_ = v_isSharedCheck_1540_; -goto v_resetjp_1490_; +lean_inc(v_lctx_1524_); +lean_dec(v___x_1517_); +v___x_1526_ = lean_box(0); +v_isShared_1527_ = v_isSharedCheck_1575_; +goto v_resetjp_1525_; } -v_resetjp_1490_: +v_resetjp_1525_: { -lean_object* v___x_1493_; lean_object* v___x_1494_; lean_object* v_traceState_1495_; lean_object* v_env_1496_; lean_object* v_nextMacroScope_1497_; lean_object* v_ngen_1498_; lean_object* v_auxDeclNGen_1499_; lean_object* v_cache_1500_; lean_object* v_messages_1501_; lean_object* v_infoState_1502_; lean_object* v_snapshotTasks_1503_; lean_object* v___x_1505_; uint8_t v_isShared_1506_; uint8_t v_isSharedCheck_1539_; -v___x_1493_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2); -v___x_1494_ = lean_st_ref_take(v___y_1477_); -v_traceState_1495_ = lean_ctor_get(v___x_1494_, 4); -v_env_1496_ = lean_ctor_get(v___x_1494_, 0); -v_nextMacroScope_1497_ = lean_ctor_get(v___x_1494_, 1); -v_ngen_1498_ = lean_ctor_get(v___x_1494_, 2); -v_auxDeclNGen_1499_ = lean_ctor_get(v___x_1494_, 3); -v_cache_1500_ = lean_ctor_get(v___x_1494_, 5); -v_messages_1501_ = lean_ctor_get(v___x_1494_, 6); -v_infoState_1502_ = lean_ctor_get(v___x_1494_, 7); -v_snapshotTasks_1503_ = lean_ctor_get(v___x_1494_, 8); -v_isSharedCheck_1539_ = !lean_is_exclusive(v___x_1494_); -if (v_isSharedCheck_1539_ == 0) +lean_object* v___x_1528_; lean_object* v___x_1529_; lean_object* v_traceState_1530_; lean_object* v_env_1531_; lean_object* v_nextMacroScope_1532_; lean_object* v_ngen_1533_; lean_object* v_auxDeclNGen_1534_; lean_object* v_cache_1535_; lean_object* v_messages_1536_; lean_object* v_infoState_1537_; lean_object* v_snapshotTasks_1538_; lean_object* v___x_1540_; uint8_t v_isShared_1541_; uint8_t v_isSharedCheck_1574_; +v___x_1528_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__2); +v___x_1529_ = lean_st_ref_take(v___y_1512_); +v_traceState_1530_ = lean_ctor_get(v___x_1529_, 4); +v_env_1531_ = lean_ctor_get(v___x_1529_, 0); +v_nextMacroScope_1532_ = lean_ctor_get(v___x_1529_, 1); +v_ngen_1533_ = lean_ctor_get(v___x_1529_, 2); +v_auxDeclNGen_1534_ = lean_ctor_get(v___x_1529_, 3); +v_cache_1535_ = lean_ctor_get(v___x_1529_, 5); +v_messages_1536_ = lean_ctor_get(v___x_1529_, 6); +v_infoState_1537_ = lean_ctor_get(v___x_1529_, 7); +v_snapshotTasks_1538_ = lean_ctor_get(v___x_1529_, 8); +v_isSharedCheck_1574_ = !lean_is_exclusive(v___x_1529_); +if (v_isSharedCheck_1574_ == 0) { -v___x_1505_ = v___x_1494_; -v_isShared_1506_ = v_isSharedCheck_1539_; -goto v_resetjp_1504_; +v___x_1540_ = v___x_1529_; +v_isShared_1541_ = v_isSharedCheck_1574_; +goto v_resetjp_1539_; } else { -lean_inc(v_snapshotTasks_1503_); -lean_inc(v_infoState_1502_); -lean_inc(v_messages_1501_); -lean_inc(v_cache_1500_); -lean_inc(v_traceState_1495_); -lean_inc(v_auxDeclNGen_1499_); -lean_inc(v_ngen_1498_); -lean_inc(v_nextMacroScope_1497_); -lean_inc(v_env_1496_); -lean_dec(v___x_1494_); -v___x_1505_ = lean_box(0); -v_isShared_1506_ = v_isSharedCheck_1539_; -goto v_resetjp_1504_; +lean_inc(v_snapshotTasks_1538_); +lean_inc(v_infoState_1537_); +lean_inc(v_messages_1536_); +lean_inc(v_cache_1535_); +lean_inc(v_traceState_1530_); +lean_inc(v_auxDeclNGen_1534_); +lean_inc(v_ngen_1533_); +lean_inc(v_nextMacroScope_1532_); +lean_inc(v_env_1531_); +lean_dec(v___x_1529_); +v___x_1540_ = lean_box(0); +v_isShared_1541_ = v_isSharedCheck_1574_; +goto v_resetjp_1539_; } -v_resetjp_1504_: +v_resetjp_1539_: { -uint64_t v_tid_1507_; lean_object* v_traces_1508_; lean_object* v___x_1510_; uint8_t v_isShared_1511_; uint8_t v_isSharedCheck_1538_; -v_tid_1507_ = lean_ctor_get_uint64(v_traceState_1495_, sizeof(void*)*1); -v_traces_1508_ = lean_ctor_get(v_traceState_1495_, 0); -v_isSharedCheck_1538_ = !lean_is_exclusive(v_traceState_1495_); -if (v_isSharedCheck_1538_ == 0) +uint64_t v_tid_1542_; lean_object* v_traces_1543_; lean_object* v___x_1545_; uint8_t v_isShared_1546_; uint8_t v_isSharedCheck_1573_; +v_tid_1542_ = lean_ctor_get_uint64(v_traceState_1530_, sizeof(void*)*1); +v_traces_1543_ = lean_ctor_get(v_traceState_1530_, 0); +v_isSharedCheck_1573_ = !lean_is_exclusive(v_traceState_1530_); +if (v_isSharedCheck_1573_ == 0) { -v___x_1510_ = v_traceState_1495_; -v_isShared_1511_ = v_isSharedCheck_1538_; -goto v_resetjp_1509_; -} -else -{ -lean_inc(v_traces_1508_); -lean_dec(v_traceState_1495_); -v___x_1510_ = lean_box(0); -v_isShared_1511_ = v_isSharedCheck_1538_; -goto v_resetjp_1509_; -} -v_resetjp_1509_: -{ -uint8_t v___x_1512_; lean_object* v___x_1513_; lean_object* v___x_1514_; lean_object* v___x_1516_; -v___x_1512_ = lean_unbox(v_a_1484_); -lean_dec(v_a_1484_); -v___x_1513_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_1489_, v___x_1512_); -lean_dec_ref(v_lctx_1489_); -lean_inc_ref(v_options_1479_); -v___x_1514_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_1514_, 0, v_env_1488_); -lean_ctor_set(v___x_1514_, 1, v___x_1493_); -lean_ctor_set(v___x_1514_, 2, v___x_1513_); -lean_ctor_set(v___x_1514_, 3, v_options_1479_); -if (v_isShared_1492_ == 0) -{ -lean_ctor_set_tag(v___x_1491_, 3); -lean_ctor_set(v___x_1491_, 1, v_msg_1473_); -lean_ctor_set(v___x_1491_, 0, v___x_1514_); -v___x_1516_ = v___x_1491_; -goto v_reusejp_1515_; -} -else -{ -lean_object* v_reuseFailAlloc_1537_; -v_reuseFailAlloc_1537_ = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1537_, 0, v___x_1514_); -lean_ctor_set(v_reuseFailAlloc_1537_, 1, v_msg_1473_); -v___x_1516_ = v_reuseFailAlloc_1537_; -goto v_reusejp_1515_; -} -v_reusejp_1515_: -{ -lean_object* v___x_1517_; double v___x_1518_; uint8_t v___x_1519_; lean_object* v___x_1520_; lean_object* v___x_1521_; lean_object* v___x_1522_; lean_object* v___x_1523_; lean_object* v___x_1524_; lean_object* v___x_1525_; lean_object* v___x_1527_; -v___x_1517_ = lean_box(0); -v___x_1518_ = lean_float_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3); -v___x_1519_ = 0; -v___x_1520_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__4)); -v___x_1521_ = lean_alloc_ctor(0, 3, 17); -lean_ctor_set(v___x_1521_, 0, v_cls_1472_); -lean_ctor_set(v___x_1521_, 1, v___x_1517_); -lean_ctor_set(v___x_1521_, 2, v___x_1520_); -lean_ctor_set_float(v___x_1521_, sizeof(void*)*3, v___x_1518_); -lean_ctor_set_float(v___x_1521_, sizeof(void*)*3 + 8, v___x_1518_); -lean_ctor_set_uint8(v___x_1521_, sizeof(void*)*3 + 16, v___x_1519_); -v___x_1522_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__5)); -v___x_1523_ = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(v___x_1523_, 0, v___x_1521_); -lean_ctor_set(v___x_1523_, 1, v___x_1516_); -lean_ctor_set(v___x_1523_, 2, v___x_1522_); -lean_inc(v_ref_1480_); -v___x_1524_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1524_, 0, v_ref_1480_); -lean_ctor_set(v___x_1524_, 1, v___x_1523_); -v___x_1525_ = l_Lean_PersistentArray_push___redArg(v_traces_1508_, v___x_1524_); -if (v_isShared_1511_ == 0) -{ -lean_ctor_set(v___x_1510_, 0, v___x_1525_); -v___x_1527_ = v___x_1510_; -goto v_reusejp_1526_; -} -else -{ -lean_object* v_reuseFailAlloc_1536_; -v_reuseFailAlloc_1536_ = lean_alloc_ctor(0, 1, 8); -lean_ctor_set(v_reuseFailAlloc_1536_, 0, v___x_1525_); -lean_ctor_set_uint64(v_reuseFailAlloc_1536_, sizeof(void*)*1, v_tid_1507_); -v___x_1527_ = v_reuseFailAlloc_1536_; -goto v_reusejp_1526_; -} -v_reusejp_1526_: -{ -lean_object* v___x_1529_; -if (v_isShared_1506_ == 0) -{ -lean_ctor_set(v___x_1505_, 4, v___x_1527_); -v___x_1529_ = v___x_1505_; -goto v_reusejp_1528_; -} -else -{ -lean_object* v_reuseFailAlloc_1535_; -v_reuseFailAlloc_1535_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v_reuseFailAlloc_1535_, 0, v_env_1496_); -lean_ctor_set(v_reuseFailAlloc_1535_, 1, v_nextMacroScope_1497_); -lean_ctor_set(v_reuseFailAlloc_1535_, 2, v_ngen_1498_); -lean_ctor_set(v_reuseFailAlloc_1535_, 3, v_auxDeclNGen_1499_); -lean_ctor_set(v_reuseFailAlloc_1535_, 4, v___x_1527_); -lean_ctor_set(v_reuseFailAlloc_1535_, 5, v_cache_1500_); -lean_ctor_set(v_reuseFailAlloc_1535_, 6, v_messages_1501_); -lean_ctor_set(v_reuseFailAlloc_1535_, 7, v_infoState_1502_); -lean_ctor_set(v_reuseFailAlloc_1535_, 8, v_snapshotTasks_1503_); -v___x_1529_ = v_reuseFailAlloc_1535_; -goto v_reusejp_1528_; -} -v_reusejp_1528_: -{ -lean_object* v___x_1530_; lean_object* v___x_1531_; lean_object* v___x_1533_; -v___x_1530_ = lean_st_ref_set(v___y_1477_, v___x_1529_); -v___x_1531_ = lean_box(0); -if (v_isShared_1487_ == 0) -{ -lean_ctor_set(v___x_1486_, 0, v___x_1531_); -v___x_1533_ = v___x_1486_; -goto v_reusejp_1532_; -} -else -{ -lean_object* v_reuseFailAlloc_1534_; -v_reuseFailAlloc_1534_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1534_, 0, v___x_1531_); -v___x_1533_ = v_reuseFailAlloc_1534_; -goto v_reusejp_1532_; -} -v_reusejp_1532_: -{ -return v___x_1533_; -} -} -} -} -} -} -} -} -} -else -{ -lean_object* v_a_1543_; lean_object* v___x_1545_; uint8_t v_isShared_1546_; uint8_t v_isSharedCheck_1550_; -lean_dec(v___x_1482_); -lean_dec(v___x_1481_); -lean_dec_ref(v_msg_1473_); -lean_dec(v_cls_1472_); -v_a_1543_ = lean_ctor_get(v___x_1483_, 0); -v_isSharedCheck_1550_ = !lean_is_exclusive(v___x_1483_); -if (v_isSharedCheck_1550_ == 0) -{ -v___x_1545_ = v___x_1483_; -v_isShared_1546_ = v_isSharedCheck_1550_; +v___x_1545_ = v_traceState_1530_; +v_isShared_1546_ = v_isSharedCheck_1573_; goto v_resetjp_1544_; } else { -lean_inc(v_a_1543_); -lean_dec(v___x_1483_); +lean_inc(v_traces_1543_); +lean_dec(v_traceState_1530_); v___x_1545_ = lean_box(0); -v_isShared_1546_ = v_isSharedCheck_1550_; +v_isShared_1546_ = v_isSharedCheck_1573_; goto v_resetjp_1544_; } v_resetjp_1544_: { -lean_object* v___x_1548_; +uint8_t v___x_1547_; lean_object* v___x_1548_; lean_object* v___x_1549_; lean_object* v___x_1551_; +v___x_1547_ = lean_unbox(v_a_1519_); +lean_dec(v_a_1519_); +v___x_1548_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_1524_, v___x_1547_); +lean_dec_ref(v_lctx_1524_); +lean_inc_ref(v_options_1514_); +v___x_1549_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_1549_, 0, v_env_1523_); +lean_ctor_set(v___x_1549_, 1, v___x_1528_); +lean_ctor_set(v___x_1549_, 2, v___x_1548_); +lean_ctor_set(v___x_1549_, 3, v_options_1514_); +if (v_isShared_1527_ == 0) +{ +lean_ctor_set_tag(v___x_1526_, 3); +lean_ctor_set(v___x_1526_, 1, v_msg_1508_); +lean_ctor_set(v___x_1526_, 0, v___x_1549_); +v___x_1551_ = v___x_1526_; +goto v_reusejp_1550_; +} +else +{ +lean_object* v_reuseFailAlloc_1572_; +v_reuseFailAlloc_1572_ = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1572_, 0, v___x_1549_); +lean_ctor_set(v_reuseFailAlloc_1572_, 1, v_msg_1508_); +v___x_1551_ = v_reuseFailAlloc_1572_; +goto v_reusejp_1550_; +} +v_reusejp_1550_: +{ +lean_object* v___x_1552_; double v___x_1553_; uint8_t v___x_1554_; lean_object* v___x_1555_; lean_object* v___x_1556_; lean_object* v___x_1557_; lean_object* v___x_1558_; lean_object* v___x_1559_; lean_object* v___x_1560_; lean_object* v___x_1562_; +v___x_1552_ = lean_box(0); +v___x_1553_ = lean_float_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__3); +v___x_1554_ = 0; +v___x_1555_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__4)); +v___x_1556_ = lean_alloc_ctor(0, 3, 17); +lean_ctor_set(v___x_1556_, 0, v_cls_1507_); +lean_ctor_set(v___x_1556_, 1, v___x_1552_); +lean_ctor_set(v___x_1556_, 2, v___x_1555_); +lean_ctor_set_float(v___x_1556_, sizeof(void*)*3, v___x_1553_); +lean_ctor_set_float(v___x_1556_, sizeof(void*)*3 + 8, v___x_1553_); +lean_ctor_set_uint8(v___x_1556_, sizeof(void*)*3 + 16, v___x_1554_); +v___x_1557_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___closed__5)); +v___x_1558_ = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(v___x_1558_, 0, v___x_1556_); +lean_ctor_set(v___x_1558_, 1, v___x_1551_); +lean_ctor_set(v___x_1558_, 2, v___x_1557_); +lean_inc(v_ref_1515_); +v___x_1559_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1559_, 0, v_ref_1515_); +lean_ctor_set(v___x_1559_, 1, v___x_1558_); +v___x_1560_ = l_Lean_PersistentArray_push___redArg(v_traces_1543_, v___x_1559_); if (v_isShared_1546_ == 0) { -v___x_1548_ = v___x_1545_; -goto v_reusejp_1547_; +lean_ctor_set(v___x_1545_, 0, v___x_1560_); +v___x_1562_ = v___x_1545_; +goto v_reusejp_1561_; } else { -lean_object* v_reuseFailAlloc_1549_; -v_reuseFailAlloc_1549_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1549_, 0, v_a_1543_); -v___x_1548_ = v_reuseFailAlloc_1549_; -goto v_reusejp_1547_; +lean_object* v_reuseFailAlloc_1571_; +v_reuseFailAlloc_1571_ = lean_alloc_ctor(0, 1, 8); +lean_ctor_set(v_reuseFailAlloc_1571_, 0, v___x_1560_); +lean_ctor_set_uint64(v_reuseFailAlloc_1571_, sizeof(void*)*1, v_tid_1542_); +v___x_1562_ = v_reuseFailAlloc_1571_; +goto v_reusejp_1561_; } -v_reusejp_1547_: +v_reusejp_1561_: { -return v___x_1548_; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___boxed(lean_object* v_cls_1551_, lean_object* v_msg_1552_, lean_object* v___y_1553_, lean_object* v___y_1554_, lean_object* v___y_1555_, lean_object* v___y_1556_, lean_object* v___y_1557_){ -_start: +lean_object* v___x_1564_; +if (v_isShared_1541_ == 0) { -lean_object* v_res_1558_; -v_res_1558_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(v_cls_1551_, v_msg_1552_, v___y_1553_, v___y_1554_, v___y_1555_, v___y_1556_); -lean_dec(v___y_1556_); -lean_dec_ref(v___y_1555_); -lean_dec(v___y_1554_); -lean_dec_ref(v___y_1553_); -return v_res_1558_; -} -} -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(lean_object* v_xs_1559_, lean_object* v_ys_1560_, lean_object* v_x_1561_){ -_start: -{ -lean_object* v_zero_1562_; uint8_t v_isZero_1563_; -v_zero_1562_ = lean_unsigned_to_nat(0u); -v_isZero_1563_ = lean_nat_dec_eq(v_x_1561_, v_zero_1562_); -if (v_isZero_1563_ == 1) -{ -lean_dec(v_x_1561_); -return v_isZero_1563_; +lean_ctor_set(v___x_1540_, 4, v___x_1562_); +v___x_1564_ = v___x_1540_; +goto v_reusejp_1563_; } else { -lean_object* v_one_1564_; lean_object* v_n_1565_; lean_object* v___x_1566_; lean_object* v___x_1567_; uint8_t v___x_1568_; -v_one_1564_ = lean_unsigned_to_nat(1u); -v_n_1565_ = lean_nat_sub(v_x_1561_, v_one_1564_); -lean_dec(v_x_1561_); -v___x_1566_ = lean_array_fget_borrowed(v_xs_1559_, v_n_1565_); -v___x_1567_ = lean_array_fget_borrowed(v_ys_1560_, v_n_1565_); -v___x_1568_ = lean_nat_dec_eq(v___x_1566_, v___x_1567_); -if (v___x_1568_ == 0) +lean_object* v_reuseFailAlloc_1570_; +v_reuseFailAlloc_1570_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v_reuseFailAlloc_1570_, 0, v_env_1531_); +lean_ctor_set(v_reuseFailAlloc_1570_, 1, v_nextMacroScope_1532_); +lean_ctor_set(v_reuseFailAlloc_1570_, 2, v_ngen_1533_); +lean_ctor_set(v_reuseFailAlloc_1570_, 3, v_auxDeclNGen_1534_); +lean_ctor_set(v_reuseFailAlloc_1570_, 4, v___x_1562_); +lean_ctor_set(v_reuseFailAlloc_1570_, 5, v_cache_1535_); +lean_ctor_set(v_reuseFailAlloc_1570_, 6, v_messages_1536_); +lean_ctor_set(v_reuseFailAlloc_1570_, 7, v_infoState_1537_); +lean_ctor_set(v_reuseFailAlloc_1570_, 8, v_snapshotTasks_1538_); +v___x_1564_ = v_reuseFailAlloc_1570_; +goto v_reusejp_1563_; +} +v_reusejp_1563_: +{ +lean_object* v___x_1565_; lean_object* v___x_1566_; lean_object* v___x_1568_; +v___x_1565_ = lean_st_ref_set(v___y_1512_, v___x_1564_); +v___x_1566_ = lean_box(0); +if (v_isShared_1522_ == 0) +{ +lean_ctor_set(v___x_1521_, 0, v___x_1566_); +v___x_1568_ = v___x_1521_; +goto v_reusejp_1567_; +} +else +{ +lean_object* v_reuseFailAlloc_1569_; +v_reuseFailAlloc_1569_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1569_, 0, v___x_1566_); +v___x_1568_ = v_reuseFailAlloc_1569_; +goto v_reusejp_1567_; +} +v_reusejp_1567_: { -lean_dec(v_n_1565_); return v___x_1568_; } +} +} +} +} +} +} +} +} else { -v_x_1561_ = v_n_1565_; +lean_object* v_a_1578_; lean_object* v___x_1580_; uint8_t v_isShared_1581_; uint8_t v_isSharedCheck_1585_; +lean_dec(v___x_1517_); +lean_dec(v___x_1516_); +lean_dec_ref(v_msg_1508_); +lean_dec(v_cls_1507_); +v_a_1578_ = lean_ctor_get(v___x_1518_, 0); +v_isSharedCheck_1585_ = !lean_is_exclusive(v___x_1518_); +if (v_isSharedCheck_1585_ == 0) +{ +v___x_1580_ = v___x_1518_; +v_isShared_1581_ = v_isSharedCheck_1585_; +goto v_resetjp_1579_; +} +else +{ +lean_inc(v_a_1578_); +lean_dec(v___x_1518_); +v___x_1580_ = lean_box(0); +v_isShared_1581_ = v_isSharedCheck_1585_; +goto v_resetjp_1579_; +} +v_resetjp_1579_: +{ +lean_object* v___x_1583_; +if (v_isShared_1581_ == 0) +{ +v___x_1583_ = v___x_1580_; +goto v_reusejp_1582_; +} +else +{ +lean_object* v_reuseFailAlloc_1584_; +v_reuseFailAlloc_1584_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1584_, 0, v_a_1578_); +v___x_1583_ = v_reuseFailAlloc_1584_; +goto v_reusejp_1582_; +} +v_reusejp_1582_: +{ +return v___x_1583_; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3___boxed(lean_object* v_cls_1586_, lean_object* v_msg_1587_, lean_object* v___y_1588_, lean_object* v___y_1589_, lean_object* v___y_1590_, lean_object* v___y_1591_, lean_object* v___y_1592_){ +_start: +{ +lean_object* v_res_1593_; +v_res_1593_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(v_cls_1586_, v_msg_1587_, v___y_1588_, v___y_1589_, v___y_1590_, v___y_1591_); +lean_dec(v___y_1591_); +lean_dec_ref(v___y_1590_); +lean_dec(v___y_1589_); +lean_dec_ref(v___y_1588_); +return v_res_1593_; +} +} +LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(lean_object* v_xs_1594_, lean_object* v_ys_1595_, lean_object* v_x_1596_){ +_start: +{ +lean_object* v_zero_1597_; uint8_t v_isZero_1598_; +v_zero_1597_ = lean_unsigned_to_nat(0u); +v_isZero_1598_ = lean_nat_dec_eq(v_x_1596_, v_zero_1597_); +if (v_isZero_1598_ == 1) +{ +lean_dec(v_x_1596_); +return v_isZero_1598_; +} +else +{ +lean_object* v_one_1599_; lean_object* v_n_1600_; lean_object* v___x_1601_; lean_object* v___x_1602_; uint8_t v___x_1603_; +v_one_1599_ = lean_unsigned_to_nat(1u); +v_n_1600_ = lean_nat_sub(v_x_1596_, v_one_1599_); +lean_dec(v_x_1596_); +v___x_1601_ = lean_array_fget_borrowed(v_xs_1594_, v_n_1600_); +v___x_1602_ = lean_array_fget_borrowed(v_ys_1595_, v_n_1600_); +v___x_1603_ = lean_nat_dec_eq(v___x_1601_, v___x_1602_); +if (v___x_1603_ == 0) +{ +lean_dec(v_n_1600_); +return v___x_1603_; +} +else +{ +v_x_1596_ = v_n_1600_; goto _start; } } } } -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg___boxed(lean_object* v_xs_1570_, lean_object* v_ys_1571_, lean_object* v_x_1572_){ +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg___boxed(lean_object* v_xs_1605_, lean_object* v_ys_1606_, lean_object* v_x_1607_){ _start: { -uint8_t v_res_1573_; lean_object* v_r_1574_; -v_res_1573_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_xs_1570_, v_ys_1571_, v_x_1572_); -lean_dec_ref(v_ys_1571_); -lean_dec_ref(v_xs_1570_); -v_r_1574_ = lean_box(v_res_1573_); -return v_r_1574_; +uint8_t v_res_1608_; lean_object* v_r_1609_; +v_res_1608_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_xs_1605_, v_ys_1606_, v_x_1607_); +lean_dec_ref(v_ys_1606_); +lean_dec_ref(v_xs_1605_); +v_r_1609_ = lean_box(v_res_1608_); +return v_r_1609_; } } -LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(lean_object* v_x_1575_, lean_object* v_x_1576_){ +LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(lean_object* v_x_1610_, lean_object* v_x_1611_){ _start: { -if (lean_obj_tag(v_x_1575_) == 0) +if (lean_obj_tag(v_x_1610_) == 0) { -if (lean_obj_tag(v_x_1576_) == 0) +if (lean_obj_tag(v_x_1611_) == 0) { -uint8_t v___x_1577_; -v___x_1577_ = 1; -return v___x_1577_; +uint8_t v___x_1612_; +v___x_1612_ = 1; +return v___x_1612_; } else { -uint8_t v___x_1578_; -v___x_1578_ = 0; -return v___x_1578_; +uint8_t v___x_1613_; +v___x_1613_ = 0; +return v___x_1613_; } } else { -if (lean_obj_tag(v_x_1576_) == 0) +if (lean_obj_tag(v_x_1611_) == 0) { -uint8_t v___x_1579_; -v___x_1579_ = 0; -return v___x_1579_; +uint8_t v___x_1614_; +v___x_1614_ = 0; +return v___x_1614_; } else { -lean_object* v_val_1580_; lean_object* v_val_1581_; lean_object* v___x_1582_; lean_object* v___x_1583_; uint8_t v___x_1584_; -v_val_1580_ = lean_ctor_get(v_x_1575_, 0); -v_val_1581_ = lean_ctor_get(v_x_1576_, 0); -v___x_1582_ = lean_array_get_size(v_val_1580_); -v___x_1583_ = lean_array_get_size(v_val_1581_); -v___x_1584_ = lean_nat_dec_eq(v___x_1582_, v___x_1583_); -if (v___x_1584_ == 0) +lean_object* v_val_1615_; lean_object* v_val_1616_; lean_object* v___x_1617_; lean_object* v___x_1618_; uint8_t v___x_1619_; +v_val_1615_ = lean_ctor_get(v_x_1610_, 0); +v_val_1616_ = lean_ctor_get(v_x_1611_, 0); +v___x_1617_ = lean_array_get_size(v_val_1615_); +v___x_1618_ = lean_array_get_size(v_val_1616_); +v___x_1619_ = lean_nat_dec_eq(v___x_1617_, v___x_1618_); +if (v___x_1619_ == 0) { -return v___x_1584_; +return v___x_1619_; } else { -uint8_t v___x_1585_; -v___x_1585_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_val_1580_, v_val_1581_, v___x_1582_); -return v___x_1585_; +uint8_t v___x_1620_; +v___x_1620_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_val_1615_, v_val_1616_, v___x_1617_); +return v___x_1620_; } } } } } -LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0___boxed(lean_object* v_x_1586_, lean_object* v_x_1587_){ +LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0___boxed(lean_object* v_x_1621_, lean_object* v_x_1622_){ _start: { -uint8_t v_res_1588_; lean_object* v_r_1589_; -v_res_1588_ = l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(v_x_1586_, v_x_1587_); -lean_dec(v_x_1587_); -lean_dec(v_x_1586_); -v_r_1589_ = lean_box(v_res_1588_); -return v_r_1589_; +uint8_t v_res_1623_; lean_object* v_r_1624_; +v_res_1623_ = l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(v_x_1621_, v_x_1622_); +lean_dec(v_x_1622_); +lean_dec(v_x_1621_); +v_r_1624_ = lean_box(v_res_1623_); +return v_r_1624_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_saveSpecEntries___lam__0(lean_object* v_x_1592_, lean_object* v_specArgs_x3f_1593_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_saveSpecEntries___lam__0(lean_object* v_x_1627_, lean_object* v_specArgs_x3f_1628_){ _start: { -lean_object* v___x_1594_; uint8_t v___x_1595_; -v___x_1594_ = ((lean_object*)(l_Lean_Compiler_LCNF_saveSpecEntries___lam__0___closed__0)); -v___x_1595_ = l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(v_specArgs_x3f_1593_, v___x_1594_); -return v___x_1595_; +lean_object* v___x_1629_; uint8_t v___x_1630_; +v___x_1629_ = ((lean_object*)(l_Lean_Compiler_LCNF_saveSpecEntries___lam__0___closed__0)); +v___x_1630_ = l_Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0(v_specArgs_x3f_1628_, v___x_1629_); +return v___x_1630_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries___lam__0___boxed(lean_object* v_x_1596_, lean_object* v_specArgs_x3f_1597_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries___lam__0___boxed(lean_object* v_x_1631_, lean_object* v_specArgs_x3f_1632_){ _start: { -uint8_t v_res_1598_; lean_object* v_r_1599_; -v_res_1598_ = l_Lean_Compiler_LCNF_saveSpecEntries___lam__0(v_x_1596_, v_specArgs_x3f_1597_); -lean_dec(v_specArgs_x3f_1597_); -lean_dec(v_x_1596_); -v_r_1599_ = lean_box(v_res_1598_); -return v_r_1599_; +uint8_t v_res_1633_; lean_object* v_r_1634_; +v_res_1633_ = l_Lean_Compiler_LCNF_saveSpecEntries___lam__0(v_x_1631_, v_specArgs_x3f_1632_); +lean_dec(v_specArgs_x3f_1632_); +lean_dec(v_x_1631_); +v_r_1634_ = lean_box(v_res_1633_); +return v_r_1634_; } } -LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__2(lean_object* v_a_1600_, lean_object* v_a_1601_){ +LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__2(lean_object* v_a_1635_, lean_object* v_a_1636_){ _start: { -if (lean_obj_tag(v_a_1600_) == 0) +if (lean_obj_tag(v_a_1635_) == 0) { -lean_object* v___x_1602_; -v___x_1602_ = l_List_reverse___redArg(v_a_1601_); -return v___x_1602_; +lean_object* v___x_1637_; +v___x_1637_ = l_List_reverse___redArg(v_a_1636_); +return v___x_1637_; } else { -lean_object* v_head_1603_; lean_object* v_tail_1604_; lean_object* v___x_1606_; uint8_t v_isShared_1607_; uint8_t v_isSharedCheck_1620_; -v_head_1603_ = lean_ctor_get(v_a_1600_, 0); -v_tail_1604_ = lean_ctor_get(v_a_1600_, 1); -v_isSharedCheck_1620_ = !lean_is_exclusive(v_a_1600_); -if (v_isSharedCheck_1620_ == 0) +lean_object* v_head_1638_; lean_object* v_tail_1639_; lean_object* v___x_1641_; uint8_t v_isShared_1642_; uint8_t v_isSharedCheck_1656_; +v_head_1638_ = lean_ctor_get(v_a_1635_, 0); +v_tail_1639_ = lean_ctor_get(v_a_1635_, 1); +v_isSharedCheck_1656_ = !lean_is_exclusive(v_a_1635_); +if (v_isSharedCheck_1656_ == 0) { -v___x_1606_ = v_a_1600_; -v_isShared_1607_ = v_isSharedCheck_1620_; -goto v_resetjp_1605_; +v___x_1641_ = v_a_1635_; +v_isShared_1642_ = v_isSharedCheck_1656_; +goto v_resetjp_1640_; } else { -lean_inc(v_tail_1604_); -lean_inc(v_head_1603_); -lean_dec(v_a_1600_); -v___x_1606_ = lean_box(0); -v_isShared_1607_ = v_isSharedCheck_1620_; -goto v_resetjp_1605_; +lean_inc(v_tail_1639_); +lean_inc(v_head_1638_); +lean_dec(v_a_1635_); +v___x_1641_ = lean_box(0); +v_isShared_1642_ = v_isSharedCheck_1656_; +goto v_resetjp_1640_; } -v_resetjp_1605_: +v_resetjp_1640_: { -lean_object* v___y_1609_; uint8_t v___x_1614_; -v___x_1614_ = lean_unbox(v_head_1603_); -lean_dec(v_head_1603_); -switch(v___x_1614_) +lean_object* v___y_1644_; +switch(lean_obj_tag(v_head_1638_)) { case 0: { -lean_object* v___x_1615_; -v___x_1615_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2); -v___y_1609_ = v___x_1615_; -goto v___jp_1608_; -} -case 1: +uint8_t v_weak_1649_; +v_weak_1649_ = lean_ctor_get_uint8(v_head_1638_, 0); +lean_dec_ref(v_head_1638_); +if (v_weak_1649_ == 0) { -lean_object* v___x_1616_; -v___x_1616_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5); -v___y_1609_ = v___x_1616_; -goto v___jp_1608_; -} -case 2: -{ -lean_object* v___x_1617_; -v___x_1617_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8); -v___y_1609_ = v___x_1617_; -goto v___jp_1608_; -} -case 3: -{ -lean_object* v___x_1618_; -v___x_1618_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11); -v___y_1609_ = v___x_1618_; -goto v___jp_1608_; -} -default: -{ -lean_object* v___x_1619_; -v___x_1619_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14); -v___y_1609_ = v___x_1619_; -goto v___jp_1608_; -} -} -v___jp_1608_: -{ -lean_object* v___x_1611_; -lean_inc_ref(v___y_1609_); -if (v_isShared_1607_ == 0) -{ -lean_ctor_set(v___x_1606_, 1, v_a_1601_); -lean_ctor_set(v___x_1606_, 0, v___y_1609_); -v___x_1611_ = v___x_1606_; -goto v_reusejp_1610_; +lean_object* v___x_1650_; +v___x_1650_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__2); +v___y_1644_ = v___x_1650_; +goto v___jp_1643_; } else { -lean_object* v_reuseFailAlloc_1613_; -v_reuseFailAlloc_1613_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1613_, 0, v___y_1609_); -lean_ctor_set(v_reuseFailAlloc_1613_, 1, v_a_1601_); -v___x_1611_ = v_reuseFailAlloc_1613_; -goto v_reusejp_1610_; +lean_object* v___x_1651_; +v___x_1651_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__5); +v___y_1644_ = v___x_1651_; +goto v___jp_1643_; } -v_reusejp_1610_: +} +case 1: { -v_a_1600_ = v_tail_1604_; -v_a_1601_ = v___x_1611_; +lean_object* v___x_1652_; +v___x_1652_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__8); +v___y_1644_ = v___x_1652_; +goto v___jp_1643_; +} +case 2: +{ +lean_object* v___x_1653_; +v___x_1653_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__11); +v___y_1644_ = v___x_1653_; +goto v___jp_1643_; +} +case 3: +{ +lean_object* v___x_1654_; +v___x_1654_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__14); +v___y_1644_ = v___x_1654_; +goto v___jp_1643_; +} +default: +{ +lean_object* v___x_1655_; +v___x_1655_ = lean_obj_once(&l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17, &l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17_once, _init_l_Lean_Compiler_LCNF_instToMessageDataSpecParamInfo___lam__0___closed__17); +v___y_1644_ = v___x_1655_; +goto v___jp_1643_; +} +} +v___jp_1643_: +{ +lean_object* v___x_1646_; +lean_inc_ref(v___y_1644_); +if (v_isShared_1642_ == 0) +{ +lean_ctor_set(v___x_1641_, 1, v_a_1636_); +lean_ctor_set(v___x_1641_, 0, v___y_1644_); +v___x_1646_ = v___x_1641_; +goto v_reusejp_1645_; +} +else +{ +lean_object* v_reuseFailAlloc_1648_; +v_reuseFailAlloc_1648_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1648_, 0, v___y_1644_); +lean_ctor_set(v_reuseFailAlloc_1648_, 1, v_a_1636_); +v___x_1646_ = v_reuseFailAlloc_1648_; +goto v_reusejp_1645_; +} +v_reusejp_1645_: +{ +v_a_1635_ = v_tail_1639_; +v_a_1636_ = v___x_1646_; goto _start; } } @@ -4767,1072 +4889,1072 @@ goto _start; static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0(void){ _start: { -lean_object* v___x_1621_; -v___x_1621_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_1621_; +lean_object* v___x_1657_; +v___x_1657_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_1657_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1(void){ _start: { -lean_object* v___x_1622_; lean_object* v___x_1623_; -v___x_1622_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0); -v___x_1623_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1623_, 0, v___x_1622_); -return v___x_1623_; +lean_object* v___x_1658_; lean_object* v___x_1659_; +v___x_1658_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__0); +v___x_1659_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1659_, 0, v___x_1658_); +return v___x_1659_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2(void){ _start: { -lean_object* v___x_1624_; lean_object* v___x_1625_; -v___x_1624_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1); -v___x_1625_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1625_, 0, v___x_1624_); -lean_ctor_set(v___x_1625_, 1, v___x_1624_); -return v___x_1625_; +lean_object* v___x_1660_; lean_object* v___x_1661_; +v___x_1660_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__1); +v___x_1661_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1661_, 0, v___x_1660_); +lean_ctor_set(v___x_1661_, 1, v___x_1660_); +return v___x_1661_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7(void){ _start: { -lean_object* v___x_1633_; lean_object* v___x_1634_; -v___x_1633_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__6)); -v___x_1634_ = l_Lean_stringToMessageData(v___x_1633_); -return v___x_1634_; +lean_object* v___x_1669_; lean_object* v___x_1670_; +v___x_1669_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__6)); +v___x_1670_ = l_Lean_stringToMessageData(v___x_1669_); +return v___x_1670_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(lean_object* v_as_1635_, size_t v_sz_1636_, size_t v_i_1637_, lean_object* v_b_1638_, lean_object* v___y_1639_, lean_object* v___y_1640_, lean_object* v___y_1641_, lean_object* v___y_1642_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(lean_object* v_as_1671_, size_t v_sz_1672_, size_t v_i_1673_, lean_object* v_b_1674_, lean_object* v___y_1675_, lean_object* v___y_1676_, lean_object* v___y_1677_, lean_object* v___y_1678_){ _start: { -lean_object* v_a_1645_; uint8_t v___x_1649_; -v___x_1649_ = lean_usize_dec_lt(v_i_1637_, v_sz_1636_); -if (v___x_1649_ == 0) +lean_object* v_a_1681_; uint8_t v___x_1685_; +v___x_1685_ = lean_usize_dec_lt(v_i_1673_, v_sz_1672_); +if (v___x_1685_ == 0) { -lean_object* v___x_1650_; -v___x_1650_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1650_, 0, v_b_1638_); -return v___x_1650_; +lean_object* v___x_1686_; +v___x_1686_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1686_, 0, v_b_1674_); +return v___x_1686_; } else { -lean_object* v_a_1651_; lean_object* v_declName_1652_; lean_object* v_paramsInfo_1653_; lean_object* v___x_1654_; lean_object* v___y_1656_; lean_object* v___x_1681_; lean_object* v___x_1682_; uint8_t v___x_1683_; -v_a_1651_ = lean_array_uget_borrowed(v_as_1635_, v_i_1637_); -v_declName_1652_ = lean_ctor_get(v_a_1651_, 0); -v_paramsInfo_1653_ = lean_ctor_get(v_a_1651_, 1); -v___x_1654_ = lean_box(0); -v___x_1681_ = lean_unsigned_to_nat(0u); -v___x_1682_ = lean_array_get_size(v_paramsInfo_1653_); -v___x_1683_ = lean_nat_dec_lt(v___x_1681_, v___x_1682_); -if (v___x_1683_ == 0) +lean_object* v_a_1687_; lean_object* v_declName_1688_; lean_object* v_paramsInfo_1689_; lean_object* v___x_1690_; lean_object* v___y_1692_; lean_object* v___x_1717_; lean_object* v___x_1718_; uint8_t v___x_1719_; +v_a_1687_ = lean_array_uget_borrowed(v_as_1671_, v_i_1673_); +v_declName_1688_ = lean_ctor_get(v_a_1687_, 0); +v_paramsInfo_1689_ = lean_ctor_get(v_a_1687_, 1); +v___x_1690_ = lean_box(0); +v___x_1717_ = lean_unsigned_to_nat(0u); +v___x_1718_ = lean_array_get_size(v_paramsInfo_1689_); +v___x_1719_ = lean_nat_dec_lt(v___x_1717_, v___x_1718_); +if (v___x_1719_ == 0) { -v_a_1645_ = v___x_1654_; -goto v___jp_1644_; +v_a_1681_ = v___x_1690_; +goto v___jp_1680_; } else { -if (v___x_1683_ == 0) +if (v___x_1719_ == 0) { -v_a_1645_ = v___x_1654_; -goto v___jp_1644_; +v_a_1681_ = v___x_1690_; +goto v___jp_1680_; } else { -size_t v___x_1684_; size_t v___x_1685_; uint8_t v___x_1686_; -v___x_1684_ = ((size_t)0ULL); -v___x_1685_ = lean_usize_of_nat(v___x_1682_); -v___x_1686_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v_paramsInfo_1653_, v___x_1684_, v___x_1685_); -if (v___x_1686_ == 0) +size_t v___x_1720_; size_t v___x_1721_; uint8_t v___x_1722_; +v___x_1720_ = ((size_t)0ULL); +v___x_1721_ = lean_usize_of_nat(v___x_1718_); +v___x_1722_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Lean_Compiler_LCNF_computeSpecEntries_spec__2(v_paramsInfo_1689_, v___x_1720_, v___x_1721_); +if (v___x_1722_ == 0) { -v_a_1645_ = v___x_1654_; -goto v___jp_1644_; +v_a_1681_ = v___x_1690_; +goto v___jp_1680_; } else { -lean_object* v___x_1687_; lean_object* v___x_1688_; -v___x_1687_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__5)); -v___x_1688_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v___x_1687_, v___y_1641_); -if (lean_obj_tag(v___x_1688_) == 0) +lean_object* v___x_1723_; lean_object* v___x_1724_; +v___x_1723_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__5)); +v___x_1724_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__1___redArg(v___x_1723_, v___y_1677_); +if (lean_obj_tag(v___x_1724_) == 0) { -lean_object* v_a_1689_; uint8_t v___x_1690_; -v_a_1689_ = lean_ctor_get(v___x_1688_, 0); -lean_inc(v_a_1689_); -lean_dec_ref(v___x_1688_); -v___x_1690_ = lean_unbox(v_a_1689_); -lean_dec(v_a_1689_); -if (v___x_1690_ == 0) +lean_object* v_a_1725_; uint8_t v___x_1726_; +v_a_1725_ = lean_ctor_get(v___x_1724_, 0); +lean_inc(v_a_1725_); +lean_dec_ref(v___x_1724_); +v___x_1726_ = lean_unbox(v_a_1725_); +lean_dec(v_a_1725_); +if (v___x_1726_ == 0) { -v___y_1656_ = v___y_1642_; -goto v___jp_1655_; +v___y_1692_ = v___y_1678_; +goto v___jp_1691_; } else { -lean_object* v___x_1691_; lean_object* v___x_1692_; lean_object* v___x_1693_; lean_object* v___x_1694_; lean_object* v___x_1695_; lean_object* v___x_1696_; lean_object* v___x_1697_; lean_object* v___x_1698_; lean_object* v___x_1699_; -lean_inc(v_declName_1652_); -v___x_1691_ = l_Lean_MessageData_ofName(v_declName_1652_); -v___x_1692_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7); -v___x_1693_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_1693_, 0, v___x_1691_); -lean_ctor_set(v___x_1693_, 1, v___x_1692_); -lean_inc_ref(v_paramsInfo_1653_); -v___x_1694_ = lean_array_to_list(v_paramsInfo_1653_); -v___x_1695_ = lean_box(0); -v___x_1696_ = l_List_mapTR_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__2(v___x_1694_, v___x_1695_); -v___x_1697_ = l_Lean_MessageData_ofList(v___x_1696_); -v___x_1698_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_1698_, 0, v___x_1693_); -lean_ctor_set(v___x_1698_, 1, v___x_1697_); -v___x_1699_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(v___x_1687_, v___x_1698_, v___y_1639_, v___y_1640_, v___y_1641_, v___y_1642_); -if (lean_obj_tag(v___x_1699_) == 0) +lean_object* v___x_1727_; lean_object* v___x_1728_; lean_object* v___x_1729_; lean_object* v___x_1730_; lean_object* v___x_1731_; lean_object* v___x_1732_; lean_object* v___x_1733_; lean_object* v___x_1734_; lean_object* v___x_1735_; +lean_inc(v_declName_1688_); +v___x_1727_ = l_Lean_MessageData_ofName(v_declName_1688_); +v___x_1728_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__7); +v___x_1729_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_1729_, 0, v___x_1727_); +lean_ctor_set(v___x_1729_, 1, v___x_1728_); +lean_inc_ref(v_paramsInfo_1689_); +v___x_1730_ = lean_array_to_list(v_paramsInfo_1689_); +v___x_1731_ = lean_box(0); +v___x_1732_ = l_List_mapTR_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__2(v___x_1730_, v___x_1731_); +v___x_1733_ = l_Lean_MessageData_ofList(v___x_1732_); +v___x_1734_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_1734_, 0, v___x_1729_); +lean_ctor_set(v___x_1734_, 1, v___x_1733_); +v___x_1735_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__3(v___x_1723_, v___x_1734_, v___y_1675_, v___y_1676_, v___y_1677_, v___y_1678_); +if (lean_obj_tag(v___x_1735_) == 0) { -lean_dec_ref(v___x_1699_); -v___y_1656_ = v___y_1642_; -goto v___jp_1655_; +lean_dec_ref(v___x_1735_); +v___y_1692_ = v___y_1678_; +goto v___jp_1691_; } else { -return v___x_1699_; +return v___x_1735_; } } } else { -lean_object* v_a_1700_; lean_object* v___x_1702_; uint8_t v_isShared_1703_; uint8_t v_isSharedCheck_1707_; -v_a_1700_ = lean_ctor_get(v___x_1688_, 0); -v_isSharedCheck_1707_ = !lean_is_exclusive(v___x_1688_); -if (v_isSharedCheck_1707_ == 0) +lean_object* v_a_1736_; lean_object* v___x_1738_; uint8_t v_isShared_1739_; uint8_t v_isSharedCheck_1743_; +v_a_1736_ = lean_ctor_get(v___x_1724_, 0); +v_isSharedCheck_1743_ = !lean_is_exclusive(v___x_1724_); +if (v_isSharedCheck_1743_ == 0) { -v___x_1702_ = v___x_1688_; -v_isShared_1703_ = v_isSharedCheck_1707_; -goto v_resetjp_1701_; +v___x_1738_ = v___x_1724_; +v_isShared_1739_ = v_isSharedCheck_1743_; +goto v_resetjp_1737_; } else { -lean_inc(v_a_1700_); -lean_dec(v___x_1688_); -v___x_1702_ = lean_box(0); -v_isShared_1703_ = v_isSharedCheck_1707_; -goto v_resetjp_1701_; +lean_inc(v_a_1736_); +lean_dec(v___x_1724_); +v___x_1738_ = lean_box(0); +v_isShared_1739_ = v_isSharedCheck_1743_; +goto v_resetjp_1737_; } -v_resetjp_1701_: +v_resetjp_1737_: { -lean_object* v___x_1705_; -if (v_isShared_1703_ == 0) +lean_object* v___x_1741_; +if (v_isShared_1739_ == 0) { -v___x_1705_ = v___x_1702_; -goto v_reusejp_1704_; +v___x_1741_ = v___x_1738_; +goto v_reusejp_1740_; } else { -lean_object* v_reuseFailAlloc_1706_; -v_reuseFailAlloc_1706_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1706_, 0, v_a_1700_); -v___x_1705_ = v_reuseFailAlloc_1706_; -goto v_reusejp_1704_; +lean_object* v_reuseFailAlloc_1742_; +v_reuseFailAlloc_1742_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1742_, 0, v_a_1736_); +v___x_1741_ = v_reuseFailAlloc_1742_; +goto v_reusejp_1740_; } -v_reusejp_1704_: +v_reusejp_1740_: { -return v___x_1705_; +return v___x_1741_; } } } } } } -v___jp_1655_: +v___jp_1691_: { -lean_object* v___x_1657_; lean_object* v_env_1658_; lean_object* v_nextMacroScope_1659_; lean_object* v_ngen_1660_; lean_object* v_auxDeclNGen_1661_; lean_object* v_traceState_1662_; lean_object* v_messages_1663_; lean_object* v_infoState_1664_; lean_object* v_snapshotTasks_1665_; lean_object* v___x_1667_; uint8_t v_isShared_1668_; uint8_t v_isSharedCheck_1679_; -v___x_1657_ = lean_st_ref_take(v___y_1656_); -v_env_1658_ = lean_ctor_get(v___x_1657_, 0); -v_nextMacroScope_1659_ = lean_ctor_get(v___x_1657_, 1); -v_ngen_1660_ = lean_ctor_get(v___x_1657_, 2); -v_auxDeclNGen_1661_ = lean_ctor_get(v___x_1657_, 3); -v_traceState_1662_ = lean_ctor_get(v___x_1657_, 4); -v_messages_1663_ = lean_ctor_get(v___x_1657_, 6); -v_infoState_1664_ = lean_ctor_get(v___x_1657_, 7); -v_snapshotTasks_1665_ = lean_ctor_get(v___x_1657_, 8); -v_isSharedCheck_1679_ = !lean_is_exclusive(v___x_1657_); -if (v_isSharedCheck_1679_ == 0) +lean_object* v___x_1693_; lean_object* v_env_1694_; lean_object* v_nextMacroScope_1695_; lean_object* v_ngen_1696_; lean_object* v_auxDeclNGen_1697_; lean_object* v_traceState_1698_; lean_object* v_messages_1699_; lean_object* v_infoState_1700_; lean_object* v_snapshotTasks_1701_; lean_object* v___x_1703_; uint8_t v_isShared_1704_; uint8_t v_isSharedCheck_1715_; +v___x_1693_ = lean_st_ref_take(v___y_1692_); +v_env_1694_ = lean_ctor_get(v___x_1693_, 0); +v_nextMacroScope_1695_ = lean_ctor_get(v___x_1693_, 1); +v_ngen_1696_ = lean_ctor_get(v___x_1693_, 2); +v_auxDeclNGen_1697_ = lean_ctor_get(v___x_1693_, 3); +v_traceState_1698_ = lean_ctor_get(v___x_1693_, 4); +v_messages_1699_ = lean_ctor_get(v___x_1693_, 6); +v_infoState_1700_ = lean_ctor_get(v___x_1693_, 7); +v_snapshotTasks_1701_ = lean_ctor_get(v___x_1693_, 8); +v_isSharedCheck_1715_ = !lean_is_exclusive(v___x_1693_); +if (v_isSharedCheck_1715_ == 0) { -lean_object* v_unused_1680_; -v_unused_1680_ = lean_ctor_get(v___x_1657_, 5); -lean_dec(v_unused_1680_); -v___x_1667_ = v___x_1657_; -v_isShared_1668_ = v_isSharedCheck_1679_; -goto v_resetjp_1666_; +lean_object* v_unused_1716_; +v_unused_1716_ = lean_ctor_get(v___x_1693_, 5); +lean_dec(v_unused_1716_); +v___x_1703_ = v___x_1693_; +v_isShared_1704_ = v_isSharedCheck_1715_; +goto v_resetjp_1702_; } else { -lean_inc(v_snapshotTasks_1665_); -lean_inc(v_infoState_1664_); -lean_inc(v_messages_1663_); -lean_inc(v_traceState_1662_); -lean_inc(v_auxDeclNGen_1661_); -lean_inc(v_ngen_1660_); -lean_inc(v_nextMacroScope_1659_); -lean_inc(v_env_1658_); -lean_dec(v___x_1657_); -v___x_1667_ = lean_box(0); -v_isShared_1668_ = v_isSharedCheck_1679_; -goto v_resetjp_1666_; +lean_inc(v_snapshotTasks_1701_); +lean_inc(v_infoState_1700_); +lean_inc(v_messages_1699_); +lean_inc(v_traceState_1698_); +lean_inc(v_auxDeclNGen_1697_); +lean_inc(v_ngen_1696_); +lean_inc(v_nextMacroScope_1695_); +lean_inc(v_env_1694_); +lean_dec(v___x_1693_); +v___x_1703_ = lean_box(0); +v_isShared_1704_ = v_isSharedCheck_1715_; +goto v_resetjp_1702_; } -v_resetjp_1666_: +v_resetjp_1702_: { -lean_object* v___x_1669_; lean_object* v_toEnvExtension_1670_; lean_object* v_asyncMode_1671_; lean_object* v___x_1672_; lean_object* v___x_1673_; lean_object* v___x_1674_; lean_object* v___x_1676_; -v___x_1669_ = l_Lean_Compiler_LCNF_specExtension; -v_toEnvExtension_1670_ = lean_ctor_get(v___x_1669_, 0); -lean_inc_ref(v_toEnvExtension_1670_); -v_asyncMode_1671_ = lean_ctor_get(v_toEnvExtension_1670_, 2); -lean_inc(v_asyncMode_1671_); -lean_dec_ref(v_toEnvExtension_1670_); -v___x_1672_ = lean_box(0); -lean_inc(v_a_1651_); -v___x_1673_ = l_Lean_PersistentEnvExtension_addEntry___redArg(v___x_1669_, v_env_1658_, v_a_1651_, v_asyncMode_1671_, v___x_1672_); -lean_dec(v_asyncMode_1671_); -v___x_1674_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2); -if (v_isShared_1668_ == 0) +lean_object* v___x_1705_; lean_object* v_toEnvExtension_1706_; lean_object* v_asyncMode_1707_; lean_object* v___x_1708_; lean_object* v___x_1709_; lean_object* v___x_1710_; lean_object* v___x_1712_; +v___x_1705_ = l_Lean_Compiler_LCNF_specExtension; +v_toEnvExtension_1706_ = lean_ctor_get(v___x_1705_, 0); +lean_inc_ref(v_toEnvExtension_1706_); +v_asyncMode_1707_ = lean_ctor_get(v_toEnvExtension_1706_, 2); +lean_inc(v_asyncMode_1707_); +lean_dec_ref(v_toEnvExtension_1706_); +v___x_1708_ = lean_box(0); +lean_inc(v_a_1687_); +v___x_1709_ = l_Lean_PersistentEnvExtension_addEntry___redArg(v___x_1705_, v_env_1694_, v_a_1687_, v_asyncMode_1707_, v___x_1708_); +lean_dec(v_asyncMode_1707_); +v___x_1710_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__2); +if (v_isShared_1704_ == 0) { -lean_ctor_set(v___x_1667_, 5, v___x_1674_); -lean_ctor_set(v___x_1667_, 0, v___x_1673_); -v___x_1676_ = v___x_1667_; -goto v_reusejp_1675_; +lean_ctor_set(v___x_1703_, 5, v___x_1710_); +lean_ctor_set(v___x_1703_, 0, v___x_1709_); +v___x_1712_ = v___x_1703_; +goto v_reusejp_1711_; } else { -lean_object* v_reuseFailAlloc_1678_; -v_reuseFailAlloc_1678_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v_reuseFailAlloc_1678_, 0, v___x_1673_); -lean_ctor_set(v_reuseFailAlloc_1678_, 1, v_nextMacroScope_1659_); -lean_ctor_set(v_reuseFailAlloc_1678_, 2, v_ngen_1660_); -lean_ctor_set(v_reuseFailAlloc_1678_, 3, v_auxDeclNGen_1661_); -lean_ctor_set(v_reuseFailAlloc_1678_, 4, v_traceState_1662_); -lean_ctor_set(v_reuseFailAlloc_1678_, 5, v___x_1674_); -lean_ctor_set(v_reuseFailAlloc_1678_, 6, v_messages_1663_); -lean_ctor_set(v_reuseFailAlloc_1678_, 7, v_infoState_1664_); -lean_ctor_set(v_reuseFailAlloc_1678_, 8, v_snapshotTasks_1665_); -v___x_1676_ = v_reuseFailAlloc_1678_; -goto v_reusejp_1675_; +lean_object* v_reuseFailAlloc_1714_; +v_reuseFailAlloc_1714_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v_reuseFailAlloc_1714_, 0, v___x_1709_); +lean_ctor_set(v_reuseFailAlloc_1714_, 1, v_nextMacroScope_1695_); +lean_ctor_set(v_reuseFailAlloc_1714_, 2, v_ngen_1696_); +lean_ctor_set(v_reuseFailAlloc_1714_, 3, v_auxDeclNGen_1697_); +lean_ctor_set(v_reuseFailAlloc_1714_, 4, v_traceState_1698_); +lean_ctor_set(v_reuseFailAlloc_1714_, 5, v___x_1710_); +lean_ctor_set(v_reuseFailAlloc_1714_, 6, v_messages_1699_); +lean_ctor_set(v_reuseFailAlloc_1714_, 7, v_infoState_1700_); +lean_ctor_set(v_reuseFailAlloc_1714_, 8, v_snapshotTasks_1701_); +v___x_1712_ = v_reuseFailAlloc_1714_; +goto v_reusejp_1711_; } -v_reusejp_1675_: +v_reusejp_1711_: { -lean_object* v___x_1677_; -v___x_1677_ = lean_st_ref_set(v___y_1656_, v___x_1676_); -v_a_1645_ = v___x_1654_; -goto v___jp_1644_; +lean_object* v___x_1713_; +v___x_1713_ = lean_st_ref_set(v___y_1692_, v___x_1712_); +v_a_1681_ = v___x_1690_; +goto v___jp_1680_; } } } } -v___jp_1644_: +v___jp_1680_: { -size_t v___x_1646_; size_t v___x_1647_; -v___x_1646_ = ((size_t)1ULL); -v___x_1647_ = lean_usize_add(v_i_1637_, v___x_1646_); -v_i_1637_ = v___x_1647_; -v_b_1638_ = v_a_1645_; +size_t v___x_1682_; size_t v___x_1683_; +v___x_1682_ = ((size_t)1ULL); +v___x_1683_ = lean_usize_add(v_i_1673_, v___x_1682_); +v_i_1673_ = v___x_1683_; +v_b_1674_ = v_a_1681_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___boxed(lean_object* v_as_1708_, lean_object* v_sz_1709_, lean_object* v_i_1710_, lean_object* v_b_1711_, lean_object* v___y_1712_, lean_object* v___y_1713_, lean_object* v___y_1714_, lean_object* v___y_1715_, lean_object* v___y_1716_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___boxed(lean_object* v_as_1744_, lean_object* v_sz_1745_, lean_object* v_i_1746_, lean_object* v_b_1747_, lean_object* v___y_1748_, lean_object* v___y_1749_, lean_object* v___y_1750_, lean_object* v___y_1751_, lean_object* v___y_1752_){ _start: { -size_t v_sz_boxed_1717_; size_t v_i_boxed_1718_; lean_object* v_res_1719_; -v_sz_boxed_1717_ = lean_unbox_usize(v_sz_1709_); -lean_dec(v_sz_1709_); -v_i_boxed_1718_ = lean_unbox_usize(v_i_1710_); -lean_dec(v_i_1710_); -v_res_1719_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(v_as_1708_, v_sz_boxed_1717_, v_i_boxed_1718_, v_b_1711_, v___y_1712_, v___y_1713_, v___y_1714_, v___y_1715_); -lean_dec(v___y_1715_); -lean_dec_ref(v___y_1714_); -lean_dec(v___y_1713_); -lean_dec_ref(v___y_1712_); -lean_dec_ref(v_as_1708_); -return v_res_1719_; +size_t v_sz_boxed_1753_; size_t v_i_boxed_1754_; lean_object* v_res_1755_; +v_sz_boxed_1753_ = lean_unbox_usize(v_sz_1745_); +lean_dec(v_sz_1745_); +v_i_boxed_1754_ = lean_unbox_usize(v_i_1746_); +lean_dec(v_i_1746_); +v_res_1755_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(v_as_1744_, v_sz_boxed_1753_, v_i_boxed_1754_, v_b_1747_, v___y_1748_, v___y_1749_, v___y_1750_, v___y_1751_); +lean_dec(v___y_1751_); +lean_dec_ref(v___y_1750_); +lean_dec(v___y_1749_); +lean_dec_ref(v___y_1748_); +lean_dec_ref(v_as_1744_); +return v_res_1755_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries(lean_object* v_decls_1721_, lean_object* v_a_1722_, lean_object* v_a_1723_, lean_object* v_a_1724_, lean_object* v_a_1725_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries(lean_object* v_decls_1757_, lean_object* v_a_1758_, lean_object* v_a_1759_, lean_object* v_a_1760_, lean_object* v_a_1761_){ _start: { -lean_object* v___f_1727_; lean_object* v___x_1728_; uint8_t v___x_1729_; lean_object* v___x_1730_; lean_object* v___x_1731_; lean_object* v___x_1732_; -v___f_1727_ = ((lean_object*)(l_Lean_Compiler_LCNF_saveSpecEntries___closed__0)); -v___x_1728_ = lean_array_get_size(v_decls_1721_); -v___x_1729_ = 0; -v___x_1730_ = lean_box(v___x_1729_); -v___x_1731_ = lean_mk_array(v___x_1728_, v___x_1730_); -v___x_1732_ = l_Lean_Compiler_LCNF_computeSpecEntries(v_decls_1721_, v___f_1727_, v___x_1731_, v_a_1722_, v_a_1723_, v_a_1724_, v_a_1725_); -lean_dec_ref(v___x_1731_); -if (lean_obj_tag(v___x_1732_) == 0) +lean_object* v___f_1763_; lean_object* v___x_1764_; uint8_t v___x_1765_; lean_object* v___x_1766_; lean_object* v___x_1767_; lean_object* v___x_1768_; +v___f_1763_ = ((lean_object*)(l_Lean_Compiler_LCNF_saveSpecEntries___closed__0)); +v___x_1764_ = lean_array_get_size(v_decls_1757_); +v___x_1765_ = 0; +v___x_1766_ = lean_box(v___x_1765_); +v___x_1767_ = lean_mk_array(v___x_1764_, v___x_1766_); +v___x_1768_ = l_Lean_Compiler_LCNF_computeSpecEntries(v_decls_1757_, v___f_1763_, v___x_1767_, v_a_1758_, v_a_1759_, v_a_1760_, v_a_1761_); +lean_dec_ref(v___x_1767_); +if (lean_obj_tag(v___x_1768_) == 0) { -lean_object* v_a_1733_; lean_object* v___x_1734_; size_t v_sz_1735_; size_t v___x_1736_; lean_object* v___x_1737_; -v_a_1733_ = lean_ctor_get(v___x_1732_, 0); -lean_inc(v_a_1733_); -lean_dec_ref(v___x_1732_); -v___x_1734_ = lean_box(0); -v_sz_1735_ = lean_array_size(v_a_1733_); -v___x_1736_ = ((size_t)0ULL); -v___x_1737_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(v_a_1733_, v_sz_1735_, v___x_1736_, v___x_1734_, v_a_1722_, v_a_1723_, v_a_1724_, v_a_1725_); -lean_dec(v_a_1733_); -if (lean_obj_tag(v___x_1737_) == 0) +lean_object* v_a_1769_; lean_object* v___x_1770_; size_t v_sz_1771_; size_t v___x_1772_; lean_object* v___x_1773_; +v_a_1769_ = lean_ctor_get(v___x_1768_, 0); +lean_inc(v_a_1769_); +lean_dec_ref(v___x_1768_); +v___x_1770_ = lean_box(0); +v_sz_1771_ = lean_array_size(v_a_1769_); +v___x_1772_ = ((size_t)0ULL); +v___x_1773_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4(v_a_1769_, v_sz_1771_, v___x_1772_, v___x_1770_, v_a_1758_, v_a_1759_, v_a_1760_, v_a_1761_); +lean_dec(v_a_1769_); +if (lean_obj_tag(v___x_1773_) == 0) { -lean_object* v___x_1739_; uint8_t v_isShared_1740_; uint8_t v_isSharedCheck_1744_; -v_isSharedCheck_1744_ = !lean_is_exclusive(v___x_1737_); -if (v_isSharedCheck_1744_ == 0) +lean_object* v___x_1775_; uint8_t v_isShared_1776_; uint8_t v_isSharedCheck_1780_; +v_isSharedCheck_1780_ = !lean_is_exclusive(v___x_1773_); +if (v_isSharedCheck_1780_ == 0) { -lean_object* v_unused_1745_; -v_unused_1745_ = lean_ctor_get(v___x_1737_, 0); -lean_dec(v_unused_1745_); -v___x_1739_ = v___x_1737_; -v_isShared_1740_ = v_isSharedCheck_1744_; -goto v_resetjp_1738_; +lean_object* v_unused_1781_; +v_unused_1781_ = lean_ctor_get(v___x_1773_, 0); +lean_dec(v_unused_1781_); +v___x_1775_ = v___x_1773_; +v_isShared_1776_ = v_isSharedCheck_1780_; +goto v_resetjp_1774_; } else { -lean_dec(v___x_1737_); -v___x_1739_ = lean_box(0); -v_isShared_1740_ = v_isSharedCheck_1744_; -goto v_resetjp_1738_; +lean_dec(v___x_1773_); +v___x_1775_ = lean_box(0); +v_isShared_1776_ = v_isSharedCheck_1780_; +goto v_resetjp_1774_; } -v_resetjp_1738_: +v_resetjp_1774_: { -lean_object* v___x_1742_; -if (v_isShared_1740_ == 0) +lean_object* v___x_1778_; +if (v_isShared_1776_ == 0) { -lean_ctor_set(v___x_1739_, 0, v___x_1734_); -v___x_1742_ = v___x_1739_; -goto v_reusejp_1741_; +lean_ctor_set(v___x_1775_, 0, v___x_1770_); +v___x_1778_ = v___x_1775_; +goto v_reusejp_1777_; } else { -lean_object* v_reuseFailAlloc_1743_; -v_reuseFailAlloc_1743_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1743_, 0, v___x_1734_); -v___x_1742_ = v_reuseFailAlloc_1743_; -goto v_reusejp_1741_; +lean_object* v_reuseFailAlloc_1779_; +v_reuseFailAlloc_1779_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1779_, 0, v___x_1770_); +v___x_1778_ = v_reuseFailAlloc_1779_; +goto v_reusejp_1777_; } -v_reusejp_1741_: +v_reusejp_1777_: { -return v___x_1742_; +return v___x_1778_; } } } else { -return v___x_1737_; +return v___x_1773_; } } else { -lean_object* v_a_1746_; lean_object* v___x_1748_; uint8_t v_isShared_1749_; uint8_t v_isSharedCheck_1753_; -v_a_1746_ = lean_ctor_get(v___x_1732_, 0); -v_isSharedCheck_1753_ = !lean_is_exclusive(v___x_1732_); -if (v_isSharedCheck_1753_ == 0) +lean_object* v_a_1782_; lean_object* v___x_1784_; uint8_t v_isShared_1785_; uint8_t v_isSharedCheck_1789_; +v_a_1782_ = lean_ctor_get(v___x_1768_, 0); +v_isSharedCheck_1789_ = !lean_is_exclusive(v___x_1768_); +if (v_isSharedCheck_1789_ == 0) { -v___x_1748_ = v___x_1732_; -v_isShared_1749_ = v_isSharedCheck_1753_; -goto v_resetjp_1747_; +v___x_1784_ = v___x_1768_; +v_isShared_1785_ = v_isSharedCheck_1789_; +goto v_resetjp_1783_; } else { -lean_inc(v_a_1746_); -lean_dec(v___x_1732_); -v___x_1748_ = lean_box(0); -v_isShared_1749_ = v_isSharedCheck_1753_; -goto v_resetjp_1747_; +lean_inc(v_a_1782_); +lean_dec(v___x_1768_); +v___x_1784_ = lean_box(0); +v_isShared_1785_ = v_isSharedCheck_1789_; +goto v_resetjp_1783_; } -v_resetjp_1747_: +v_resetjp_1783_: { -lean_object* v___x_1751_; -if (v_isShared_1749_ == 0) +lean_object* v___x_1787_; +if (v_isShared_1785_ == 0) { -v___x_1751_ = v___x_1748_; -goto v_reusejp_1750_; +v___x_1787_ = v___x_1784_; +goto v_reusejp_1786_; } else { -lean_object* v_reuseFailAlloc_1752_; -v_reuseFailAlloc_1752_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1752_, 0, v_a_1746_); -v___x_1751_ = v_reuseFailAlloc_1752_; -goto v_reusejp_1750_; +lean_object* v_reuseFailAlloc_1788_; +v_reuseFailAlloc_1788_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1788_, 0, v_a_1782_); +v___x_1787_ = v_reuseFailAlloc_1788_; +goto v_reusejp_1786_; } -v_reusejp_1750_: +v_reusejp_1786_: { -return v___x_1751_; +return v___x_1787_; } } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries___boxed(lean_object* v_decls_1754_, lean_object* v_a_1755_, lean_object* v_a_1756_, lean_object* v_a_1757_, lean_object* v_a_1758_, lean_object* v_a_1759_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_saveSpecEntries___boxed(lean_object* v_decls_1790_, lean_object* v_a_1791_, lean_object* v_a_1792_, lean_object* v_a_1793_, lean_object* v_a_1794_, lean_object* v_a_1795_){ _start: { -lean_object* v_res_1760_; -v_res_1760_ = l_Lean_Compiler_LCNF_saveSpecEntries(v_decls_1754_, v_a_1755_, v_a_1756_, v_a_1757_, v_a_1758_); -lean_dec(v_a_1758_); -lean_dec_ref(v_a_1757_); -lean_dec(v_a_1756_); -lean_dec_ref(v_a_1755_); -return v_res_1760_; +lean_object* v_res_1796_; +v_res_1796_ = l_Lean_Compiler_LCNF_saveSpecEntries(v_decls_1790_, v_a_1791_, v_a_1792_, v_a_1793_, v_a_1794_); +lean_dec(v_a_1794_); +lean_dec_ref(v_a_1793_); +lean_dec(v_a_1792_); +lean_dec_ref(v_a_1791_); +return v_res_1796_; } } -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0(lean_object* v_xs_1761_, lean_object* v_ys_1762_, lean_object* v_hsz_1763_, lean_object* v_x_1764_, lean_object* v_x_1765_){ +LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0(lean_object* v_xs_1797_, lean_object* v_ys_1798_, lean_object* v_hsz_1799_, lean_object* v_x_1800_, lean_object* v_x_1801_){ _start: { -uint8_t v___x_1766_; -v___x_1766_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_xs_1761_, v_ys_1762_, v_x_1764_); -return v___x_1766_; +uint8_t v___x_1802_; +v___x_1802_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___redArg(v_xs_1797_, v_ys_1798_, v_x_1800_); +return v___x_1802_; } } -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___boxed(lean_object* v_xs_1767_, lean_object* v_ys_1768_, lean_object* v_hsz_1769_, lean_object* v_x_1770_, lean_object* v_x_1771_){ +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0___boxed(lean_object* v_xs_1803_, lean_object* v_ys_1804_, lean_object* v_hsz_1805_, lean_object* v_x_1806_, lean_object* v_x_1807_){ _start: { -uint8_t v_res_1772_; lean_object* v_r_1773_; -v_res_1772_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0(v_xs_1767_, v_ys_1768_, v_hsz_1769_, v_x_1770_, v_x_1771_); -lean_dec_ref(v_ys_1768_); -lean_dec_ref(v_xs_1767_); -v_r_1773_ = lean_box(v_res_1772_); -return v_r_1773_; +uint8_t v_res_1808_; lean_object* v_r_1809_; +v_res_1808_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__0_spec__0(v_xs_1803_, v_ys_1804_, v_hsz_1805_, v_x_1806_, v_x_1807_); +lean_dec_ref(v_ys_1804_); +lean_dec_ref(v_xs_1803_); +v_r_1809_ = lean_box(v_res_1808_); +return v_r_1809_; } } -LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(lean_object* v_as_1774_, lean_object* v_k_1775_, lean_object* v_x_1776_, lean_object* v_x_1777_){ +LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(lean_object* v_as_1810_, lean_object* v_k_1811_, lean_object* v_x_1812_, lean_object* v_x_1813_){ _start: { -lean_object* v___x_1778_; lean_object* v___x_1779_; lean_object* v_m_1780_; lean_object* v_a_1781_; uint8_t v___x_1782_; -v___x_1778_ = lean_nat_add(v_x_1776_, v_x_1777_); -v___x_1779_ = lean_unsigned_to_nat(1u); -v_m_1780_ = lean_nat_shiftr(v___x_1778_, v___x_1779_); -lean_dec(v___x_1778_); -v_a_1781_ = lean_array_fget_borrowed(v_as_1774_, v_m_1780_); -v___x_1782_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v_a_1781_, v_k_1775_); -if (v___x_1782_ == 0) +lean_object* v___x_1814_; lean_object* v___x_1815_; lean_object* v_m_1816_; lean_object* v_a_1817_; uint8_t v___x_1818_; +v___x_1814_ = lean_nat_add(v_x_1812_, v_x_1813_); +v___x_1815_ = lean_unsigned_to_nat(1u); +v_m_1816_ = lean_nat_shiftr(v___x_1814_, v___x_1815_); +lean_dec(v___x_1814_); +v_a_1817_ = lean_array_fget_borrowed(v_as_1810_, v_m_1816_); +v___x_1818_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v_a_1817_, v_k_1811_); +if (v___x_1818_ == 0) { -uint8_t v___x_1783_; -lean_dec(v_x_1777_); -v___x_1783_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v_k_1775_, v_a_1781_); -if (v___x_1783_ == 0) +uint8_t v___x_1819_; +lean_dec(v_x_1813_); +v___x_1819_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_3827028689____hygCtx___hyg_2__spec__0___redArg___lam__0(v_k_1811_, v_a_1817_); +if (v___x_1819_ == 0) { -lean_object* v___x_1784_; -lean_dec(v_m_1780_); -lean_dec(v_x_1776_); -lean_inc(v_a_1781_); -v___x_1784_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_1784_, 0, v_a_1781_); -return v___x_1784_; +lean_object* v___x_1820_; +lean_dec(v_m_1816_); +lean_dec(v_x_1812_); +lean_inc(v_a_1817_); +v___x_1820_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1820_, 0, v_a_1817_); +return v___x_1820_; } else { -lean_object* v___x_1785_; uint8_t v___x_1786_; -v___x_1785_ = lean_unsigned_to_nat(0u); -v___x_1786_ = lean_nat_dec_eq(v_m_1780_, v___x_1785_); -if (v___x_1786_ == 0) +lean_object* v___x_1821_; uint8_t v___x_1822_; +v___x_1821_ = lean_unsigned_to_nat(0u); +v___x_1822_ = lean_nat_dec_eq(v_m_1816_, v___x_1821_); +if (v___x_1822_ == 0) { -lean_object* v___x_1787_; uint8_t v___x_1788_; -v___x_1787_ = lean_nat_sub(v_m_1780_, v___x_1779_); -lean_dec(v_m_1780_); -v___x_1788_ = lean_nat_dec_lt(v___x_1787_, v_x_1776_); -if (v___x_1788_ == 0) +lean_object* v___x_1823_; uint8_t v___x_1824_; +v___x_1823_ = lean_nat_sub(v_m_1816_, v___x_1815_); +lean_dec(v_m_1816_); +v___x_1824_ = lean_nat_dec_lt(v___x_1823_, v_x_1812_); +if (v___x_1824_ == 0) { -v_x_1777_ = v___x_1787_; +v_x_1813_ = v___x_1823_; goto _start; } else { -lean_object* v___x_1790_; -lean_dec(v___x_1787_); -lean_dec(v_x_1776_); -v___x_1790_ = lean_box(0); -return v___x_1790_; +lean_object* v___x_1826_; +lean_dec(v___x_1823_); +lean_dec(v_x_1812_); +v___x_1826_ = lean_box(0); +return v___x_1826_; } } else { -lean_object* v___x_1791_; -lean_dec(v_m_1780_); -lean_dec(v_x_1776_); -v___x_1791_ = lean_box(0); -return v___x_1791_; +lean_object* v___x_1827_; +lean_dec(v_m_1816_); +lean_dec(v_x_1812_); +v___x_1827_ = lean_box(0); +return v___x_1827_; } } } else { -lean_object* v___x_1792_; uint8_t v___x_1793_; -lean_dec(v_x_1776_); -v___x_1792_ = lean_nat_add(v_m_1780_, v___x_1779_); -lean_dec(v_m_1780_); -v___x_1793_ = lean_nat_dec_le(v___x_1792_, v_x_1777_); -if (v___x_1793_ == 0) +lean_object* v___x_1828_; uint8_t v___x_1829_; +lean_dec(v_x_1812_); +v___x_1828_ = lean_nat_add(v_m_1816_, v___x_1815_); +lean_dec(v_m_1816_); +v___x_1829_ = lean_nat_dec_le(v___x_1828_, v_x_1813_); +if (v___x_1829_ == 0) { -lean_object* v___x_1794_; -lean_dec(v___x_1792_); -lean_dec(v_x_1777_); -v___x_1794_ = lean_box(0); -return v___x_1794_; +lean_object* v___x_1830_; +lean_dec(v___x_1828_); +lean_dec(v_x_1813_); +v___x_1830_ = lean_box(0); +return v___x_1830_; } else { -v_x_1776_ = v___x_1792_; +v_x_1812_ = v___x_1828_; goto _start; } } } } -LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg___boxed(lean_object* v_as_1796_, lean_object* v_k_1797_, lean_object* v_x_1798_, lean_object* v_x_1799_){ +LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg___boxed(lean_object* v_as_1832_, lean_object* v_k_1833_, lean_object* v_x_1834_, lean_object* v_x_1835_){ _start: { -lean_object* v_res_1800_; -v_res_1800_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v_as_1796_, v_k_1797_, v_x_1798_, v_x_1799_); -lean_dec_ref(v_k_1797_); -lean_dec_ref(v_as_1796_); -return v_res_1800_; +lean_object* v_res_1836_; +v_res_1836_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v_as_1832_, v_k_1833_, v_x_1834_, v_x_1835_); +lean_dec_ref(v_k_1833_); +lean_dec_ref(v_as_1832_); +return v_res_1836_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(lean_object* v_keys_1801_, lean_object* v_vals_1802_, lean_object* v_i_1803_, lean_object* v_k_1804_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(lean_object* v_keys_1837_, lean_object* v_vals_1838_, lean_object* v_i_1839_, lean_object* v_k_1840_){ _start: { -lean_object* v___x_1805_; uint8_t v___x_1806_; -v___x_1805_ = lean_array_get_size(v_keys_1801_); -v___x_1806_ = lean_nat_dec_lt(v_i_1803_, v___x_1805_); -if (v___x_1806_ == 0) +lean_object* v___x_1841_; uint8_t v___x_1842_; +v___x_1841_ = lean_array_get_size(v_keys_1837_); +v___x_1842_ = lean_nat_dec_lt(v_i_1839_, v___x_1841_); +if (v___x_1842_ == 0) { -lean_object* v___x_1807_; -lean_dec(v_i_1803_); -v___x_1807_ = lean_box(0); -return v___x_1807_; +lean_object* v___x_1843_; +lean_dec(v_i_1839_); +v___x_1843_ = lean_box(0); +return v___x_1843_; } else { -lean_object* v_k_x27_1808_; uint8_t v___x_1809_; -v_k_x27_1808_ = lean_array_fget_borrowed(v_keys_1801_, v_i_1803_); -v___x_1809_ = lean_name_eq(v_k_1804_, v_k_x27_1808_); -if (v___x_1809_ == 0) +lean_object* v_k_x27_1844_; uint8_t v___x_1845_; +v_k_x27_1844_ = lean_array_fget_borrowed(v_keys_1837_, v_i_1839_); +v___x_1845_ = lean_name_eq(v_k_1840_, v_k_x27_1844_); +if (v___x_1845_ == 0) { -lean_object* v___x_1810_; lean_object* v___x_1811_; -v___x_1810_ = lean_unsigned_to_nat(1u); -v___x_1811_ = lean_nat_add(v_i_1803_, v___x_1810_); -lean_dec(v_i_1803_); -v_i_1803_ = v___x_1811_; +lean_object* v___x_1846_; lean_object* v___x_1847_; +v___x_1846_ = lean_unsigned_to_nat(1u); +v___x_1847_ = lean_nat_add(v_i_1839_, v___x_1846_); +lean_dec(v_i_1839_); +v_i_1839_ = v___x_1847_; goto _start; } else { -lean_object* v___x_1813_; lean_object* v___x_1814_; -v___x_1813_ = lean_array_fget_borrowed(v_vals_1802_, v_i_1803_); -lean_dec(v_i_1803_); -lean_inc(v___x_1813_); -v___x_1814_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_1814_, 0, v___x_1813_); -return v___x_1814_; +lean_object* v___x_1849_; lean_object* v___x_1850_; +v___x_1849_ = lean_array_fget_borrowed(v_vals_1838_, v_i_1839_); +lean_dec(v_i_1839_); +lean_inc(v___x_1849_); +v___x_1850_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1850_, 0, v___x_1849_); +return v___x_1850_; } } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_keys_1815_, lean_object* v_vals_1816_, lean_object* v_i_1817_, lean_object* v_k_1818_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_keys_1851_, lean_object* v_vals_1852_, lean_object* v_i_1853_, lean_object* v_k_1854_){ _start: { -lean_object* v_res_1819_; -v_res_1819_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_keys_1815_, v_vals_1816_, v_i_1817_, v_k_1818_); -lean_dec(v_k_1818_); -lean_dec_ref(v_vals_1816_); -lean_dec_ref(v_keys_1815_); -return v_res_1819_; +lean_object* v_res_1855_; +v_res_1855_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_keys_1851_, v_vals_1852_, v_i_1853_, v_k_1854_); +lean_dec(v_k_1854_); +lean_dec_ref(v_vals_1852_); +lean_dec_ref(v_keys_1851_); +return v_res_1855_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(lean_object* v_x_1820_, size_t v_x_1821_, lean_object* v_x_1822_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(lean_object* v_x_1856_, size_t v_x_1857_, lean_object* v_x_1858_){ _start: { -if (lean_obj_tag(v_x_1820_) == 0) +if (lean_obj_tag(v_x_1856_) == 0) { -lean_object* v_es_1823_; lean_object* v___x_1825_; uint8_t v_isShared_1826_; uint8_t v_isSharedCheck_1844_; -v_es_1823_ = lean_ctor_get(v_x_1820_, 0); -v_isSharedCheck_1844_ = !lean_is_exclusive(v_x_1820_); -if (v_isSharedCheck_1844_ == 0) +lean_object* v_es_1859_; lean_object* v___x_1861_; uint8_t v_isShared_1862_; uint8_t v_isSharedCheck_1880_; +v_es_1859_ = lean_ctor_get(v_x_1856_, 0); +v_isSharedCheck_1880_ = !lean_is_exclusive(v_x_1856_); +if (v_isSharedCheck_1880_ == 0) { -v___x_1825_ = v_x_1820_; -v_isShared_1826_ = v_isSharedCheck_1844_; -goto v_resetjp_1824_; +v___x_1861_ = v_x_1856_; +v_isShared_1862_ = v_isSharedCheck_1880_; +goto v_resetjp_1860_; } else { -lean_inc(v_es_1823_); -lean_dec(v_x_1820_); -v___x_1825_ = lean_box(0); -v_isShared_1826_ = v_isSharedCheck_1844_; -goto v_resetjp_1824_; +lean_inc(v_es_1859_); +lean_dec(v_x_1856_); +v___x_1861_ = lean_box(0); +v_isShared_1862_ = v_isSharedCheck_1880_; +goto v_resetjp_1860_; } -v_resetjp_1824_: +v_resetjp_1860_: { -lean_object* v___x_1827_; size_t v___x_1828_; size_t v___x_1829_; size_t v___x_1830_; lean_object* v_j_1831_; lean_object* v___x_1832_; -v___x_1827_ = lean_box(2); -v___x_1828_ = ((size_t)5ULL); -v___x_1829_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); -v___x_1830_ = lean_usize_land(v_x_1821_, v___x_1829_); -v_j_1831_ = lean_usize_to_nat(v___x_1830_); -v___x_1832_ = lean_array_get(v___x_1827_, v_es_1823_, v_j_1831_); -lean_dec(v_j_1831_); -lean_dec_ref(v_es_1823_); -switch(lean_obj_tag(v___x_1832_)) +lean_object* v___x_1863_; size_t v___x_1864_; size_t v___x_1865_; size_t v___x_1866_; lean_object* v_j_1867_; lean_object* v___x_1868_; +v___x_1863_ = lean_box(2); +v___x_1864_ = ((size_t)5ULL); +v___x_1865_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0___redArg___closed__1); +v___x_1866_ = lean_usize_land(v_x_1857_, v___x_1865_); +v_j_1867_ = lean_usize_to_nat(v___x_1866_); +v___x_1868_ = lean_array_get(v___x_1863_, v_es_1859_, v_j_1867_); +lean_dec(v_j_1867_); +lean_dec_ref(v_es_1859_); +switch(lean_obj_tag(v___x_1868_)) { case 0: { -lean_object* v_key_1833_; lean_object* v_val_1834_; uint8_t v___x_1835_; -v_key_1833_ = lean_ctor_get(v___x_1832_, 0); -lean_inc(v_key_1833_); -v_val_1834_ = lean_ctor_get(v___x_1832_, 1); -lean_inc(v_val_1834_); -lean_dec_ref(v___x_1832_); -v___x_1835_ = lean_name_eq(v_x_1822_, v_key_1833_); -lean_dec(v_key_1833_); -if (v___x_1835_ == 0) +lean_object* v_key_1869_; lean_object* v_val_1870_; uint8_t v___x_1871_; +v_key_1869_ = lean_ctor_get(v___x_1868_, 0); +lean_inc(v_key_1869_); +v_val_1870_ = lean_ctor_get(v___x_1868_, 1); +lean_inc(v_val_1870_); +lean_dec_ref(v___x_1868_); +v___x_1871_ = lean_name_eq(v_x_1858_, v_key_1869_); +lean_dec(v_key_1869_); +if (v___x_1871_ == 0) { -lean_object* v___x_1836_; -lean_dec(v_val_1834_); -lean_del_object(v___x_1825_); -v___x_1836_ = lean_box(0); -return v___x_1836_; +lean_object* v___x_1872_; +lean_dec(v_val_1870_); +lean_del_object(v___x_1861_); +v___x_1872_ = lean_box(0); +return v___x_1872_; } else { -lean_object* v___x_1838_; -if (v_isShared_1826_ == 0) +lean_object* v___x_1874_; +if (v_isShared_1862_ == 0) { -lean_ctor_set_tag(v___x_1825_, 1); -lean_ctor_set(v___x_1825_, 0, v_val_1834_); -v___x_1838_ = v___x_1825_; -goto v_reusejp_1837_; +lean_ctor_set_tag(v___x_1861_, 1); +lean_ctor_set(v___x_1861_, 0, v_val_1870_); +v___x_1874_ = v___x_1861_; +goto v_reusejp_1873_; } else { -lean_object* v_reuseFailAlloc_1839_; -v_reuseFailAlloc_1839_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1839_, 0, v_val_1834_); -v___x_1838_ = v_reuseFailAlloc_1839_; -goto v_reusejp_1837_; +lean_object* v_reuseFailAlloc_1875_; +v_reuseFailAlloc_1875_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1875_, 0, v_val_1870_); +v___x_1874_ = v_reuseFailAlloc_1875_; +goto v_reusejp_1873_; } -v_reusejp_1837_: +v_reusejp_1873_: { -return v___x_1838_; +return v___x_1874_; } } } case 1: { -lean_object* v_node_1840_; size_t v___x_1841_; -lean_del_object(v___x_1825_); -v_node_1840_ = lean_ctor_get(v___x_1832_, 0); -lean_inc(v_node_1840_); -lean_dec_ref(v___x_1832_); -v___x_1841_ = lean_usize_shift_right(v_x_1821_, v___x_1828_); -v_x_1820_ = v_node_1840_; -v_x_1821_ = v___x_1841_; +lean_object* v_node_1876_; size_t v___x_1877_; +lean_del_object(v___x_1861_); +v_node_1876_ = lean_ctor_get(v___x_1868_, 0); +lean_inc(v_node_1876_); +lean_dec_ref(v___x_1868_); +v___x_1877_ = lean_usize_shift_right(v_x_1857_, v___x_1864_); +v_x_1856_ = v_node_1876_; +v_x_1857_ = v___x_1877_; goto _start; } default: { -lean_object* v___x_1843_; -lean_del_object(v___x_1825_); -v___x_1843_ = lean_box(0); -return v___x_1843_; +lean_object* v___x_1879_; +lean_del_object(v___x_1861_); +v___x_1879_ = lean_box(0); +return v___x_1879_; } } } } else { -lean_object* v_ks_1845_; lean_object* v_vs_1846_; lean_object* v___x_1847_; lean_object* v___x_1848_; -v_ks_1845_ = lean_ctor_get(v_x_1820_, 0); -lean_inc_ref(v_ks_1845_); -v_vs_1846_ = lean_ctor_get(v_x_1820_, 1); -lean_inc_ref(v_vs_1846_); -lean_dec_ref(v_x_1820_); -v___x_1847_ = lean_unsigned_to_nat(0u); -v___x_1848_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_ks_1845_, v_vs_1846_, v___x_1847_, v_x_1822_); -lean_dec_ref(v_vs_1846_); -lean_dec_ref(v_ks_1845_); -return v___x_1848_; +lean_object* v_ks_1881_; lean_object* v_vs_1882_; lean_object* v___x_1883_; lean_object* v___x_1884_; +v_ks_1881_ = lean_ctor_get(v_x_1856_, 0); +lean_inc_ref(v_ks_1881_); +v_vs_1882_ = lean_ctor_get(v_x_1856_, 1); +lean_inc_ref(v_vs_1882_); +lean_dec_ref(v_x_1856_); +v___x_1883_ = lean_unsigned_to_nat(0u); +v___x_1884_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_ks_1881_, v_vs_1882_, v___x_1883_, v_x_1858_); +lean_dec_ref(v_vs_1882_); +lean_dec_ref(v_ks_1881_); +return v___x_1884_; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg___boxed(lean_object* v_x_1849_, lean_object* v_x_1850_, lean_object* v_x_1851_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg___boxed(lean_object* v_x_1885_, lean_object* v_x_1886_, lean_object* v_x_1887_){ _start: { -size_t v_x_413__boxed_1852_; lean_object* v_res_1853_; -v_x_413__boxed_1852_ = lean_unbox_usize(v_x_1850_); -lean_dec(v_x_1850_); -v_res_1853_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1849_, v_x_413__boxed_1852_, v_x_1851_); -lean_dec(v_x_1851_); -return v_res_1853_; +size_t v_x_413__boxed_1888_; lean_object* v_res_1889_; +v_x_413__boxed_1888_ = lean_unbox_usize(v_x_1886_); +lean_dec(v_x_1886_); +v_res_1889_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1885_, v_x_413__boxed_1888_, v_x_1887_); +lean_dec(v_x_1887_); +return v_res_1889_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(lean_object* v_x_1854_, lean_object* v_x_1855_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(lean_object* v_x_1890_, lean_object* v_x_1891_){ _start: { -uint64_t v___y_1857_; -if (lean_obj_tag(v_x_1855_) == 0) +uint64_t v___y_1893_; +if (lean_obj_tag(v_x_1891_) == 0) { -uint64_t v___x_1860_; -v___x_1860_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); -v___y_1857_ = v___x_1860_; -goto v___jp_1856_; +uint64_t v___x_1896_; +v___x_1896_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_SpecState_addEntry_spec__0_spec__0_spec__2___redArg___closed__0); +v___y_1893_ = v___x_1896_; +goto v___jp_1892_; } else { -uint64_t v_hash_1861_; -v_hash_1861_ = lean_ctor_get_uint64(v_x_1855_, sizeof(void*)*2); -v___y_1857_ = v_hash_1861_; -goto v___jp_1856_; +uint64_t v_hash_1897_; +v_hash_1897_ = lean_ctor_get_uint64(v_x_1891_, sizeof(void*)*2); +v___y_1893_ = v_hash_1897_; +goto v___jp_1892_; } -v___jp_1856_: +v___jp_1892_: { -size_t v___x_1858_; lean_object* v___x_1859_; -v___x_1858_ = lean_uint64_to_usize(v___y_1857_); -v___x_1859_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1854_, v___x_1858_, v_x_1855_); -return v___x_1859_; +size_t v___x_1894_; lean_object* v___x_1895_; +v___x_1894_ = lean_uint64_to_usize(v___y_1893_); +v___x_1895_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1890_, v___x_1894_, v_x_1891_); +return v___x_1895_; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg___boxed(lean_object* v_x_1862_, lean_object* v_x_1863_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg___boxed(lean_object* v_x_1898_, lean_object* v_x_1899_){ _start: { -lean_object* v_res_1864_; -v_res_1864_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_x_1862_, v_x_1863_); -lean_dec(v_x_1863_); -return v_res_1864_; +lean_object* v_res_1900_; +v_res_1900_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_x_1898_, v_x_1899_); +lean_dec(v_x_1899_); +return v_res_1900_; } } static lean_object* _init_l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0(void){ _start: { -lean_object* v___x_1865_; lean_object* v___x_1866_; lean_object* v___x_1867_; -v___x_1865_ = l_Lean_Compiler_LCNF_instInhabitedSpecState_default; -v___x_1866_ = lean_box(0); -v___x_1867_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1867_, 0, v___x_1866_); -lean_ctor_set(v___x_1867_, 1, v___x_1865_); -return v___x_1867_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(lean_object* v_env_1868_, lean_object* v_declName_1869_){ -_start: -{ -lean_object* v___x_1870_; lean_object* v___x_1871_; lean_object* v___x_1879_; -v___x_1870_ = lean_obj_once(&l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0, &l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0_once, _init_l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0); -v___x_1871_ = l_Lean_Compiler_LCNF_specExtension; -v___x_1879_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_1868_, v_declName_1869_); -if (lean_obj_tag(v___x_1879_) == 0) -{ -goto v___jp_1872_; -} -else -{ -lean_object* v_val_1880_; lean_object* v___x_1894_; lean_object* v___x_1895_; lean_object* v___x_1896_; uint8_t v___x_1897_; -v_val_1880_ = lean_ctor_get(v___x_1879_, 0); -lean_inc(v_val_1880_); -lean_dec_ref(v___x_1879_); -v___x_1894_ = l___private_Lean_Environment_0__Lean_PersistentEnvExtension_getModuleIREntries_unsafe__1(lean_box(0), lean_box(0), lean_box(0), v___x_1870_, v___x_1871_, v_env_1868_, v_val_1880_); -v___x_1895_ = lean_unsigned_to_nat(0u); -v___x_1896_ = lean_array_get_size(v___x_1894_); -v___x_1897_ = lean_nat_dec_lt(v___x_1895_, v___x_1896_); -if (v___x_1897_ == 0) -{ -lean_dec_ref(v___x_1894_); -goto v___jp_1881_; -} -else -{ -lean_object* v___x_1898_; lean_object* v___x_1899_; uint8_t v___x_1900_; -v___x_1898_ = lean_unsigned_to_nat(1u); -v___x_1899_ = lean_nat_sub(v___x_1896_, v___x_1898_); -v___x_1900_ = lean_nat_dec_le(v___x_1895_, v___x_1899_); -if (v___x_1900_ == 0) -{ -lean_dec(v___x_1899_); -lean_dec_ref(v___x_1894_); -goto v___jp_1881_; -} -else -{ -lean_object* v___x_1901_; uint8_t v___x_1902_; lean_object* v___x_1903_; lean_object* v___x_1904_; -v___x_1901_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); -v___x_1902_ = 0; -lean_inc(v_declName_1869_); -v___x_1903_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_1903_, 0, v_declName_1869_); +lean_object* v___x_1901_; lean_object* v___x_1902_; lean_object* v___x_1903_; +v___x_1901_ = l_Lean_Compiler_LCNF_instInhabitedSpecState_default; +v___x_1902_ = lean_box(0); +v___x_1903_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1903_, 0, v___x_1902_); lean_ctor_set(v___x_1903_, 1, v___x_1901_); -lean_ctor_set_uint8(v___x_1903_, sizeof(void*)*2, v___x_1902_); -v___x_1904_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v___x_1894_, v___x_1903_, v___x_1895_, v___x_1899_); -lean_dec_ref(v___x_1903_); -lean_dec_ref(v___x_1894_); -if (lean_obj_tag(v___x_1904_) == 0) +return v___x_1903_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(lean_object* v_env_1904_, lean_object* v_declName_1905_){ +_start: { -goto v___jp_1881_; +lean_object* v___x_1906_; lean_object* v___x_1907_; lean_object* v___x_1915_; +v___x_1906_ = lean_obj_once(&l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0, &l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0_once, _init_l_Lean_Compiler_LCNF_getSpecEntryCore_x3f___closed__0); +v___x_1907_ = l_Lean_Compiler_LCNF_specExtension; +v___x_1915_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_1904_, v_declName_1905_); +if (lean_obj_tag(v___x_1915_) == 0) +{ +goto v___jp_1908_; } else { -lean_dec(v_val_1880_); -lean_dec(v_declName_1869_); -lean_dec_ref(v_env_1868_); -return v___x_1904_; -} -} -} -v___jp_1881_: +lean_object* v_val_1916_; lean_object* v___x_1930_; lean_object* v___x_1931_; lean_object* v___x_1932_; uint8_t v___x_1933_; +v_val_1916_ = lean_ctor_get(v___x_1915_, 0); +lean_inc(v_val_1916_); +lean_dec_ref(v___x_1915_); +v___x_1930_ = l___private_Lean_Environment_0__Lean_PersistentEnvExtension_getModuleIREntries_unsafe__1(lean_box(0), lean_box(0), lean_box(0), v___x_1906_, v___x_1907_, v_env_1904_, v_val_1916_); +v___x_1931_ = lean_unsigned_to_nat(0u); +v___x_1932_ = lean_array_get_size(v___x_1930_); +v___x_1933_ = lean_nat_dec_lt(v___x_1931_, v___x_1932_); +if (v___x_1933_ == 0) { -uint8_t v___x_1882_; lean_object* v___x_1883_; lean_object* v___x_1884_; lean_object* v___x_1885_; uint8_t v___x_1886_; -v___x_1882_ = 0; -v___x_1883_ = l_Lean_PersistentEnvExtension_getModuleEntries___redArg(v___x_1870_, v___x_1871_, v_env_1868_, v_val_1880_, v___x_1882_); -lean_dec(v_val_1880_); -v___x_1884_ = lean_unsigned_to_nat(0u); -v___x_1885_ = lean_array_get_size(v___x_1883_); -v___x_1886_ = lean_nat_dec_lt(v___x_1884_, v___x_1885_); -if (v___x_1886_ == 0) -{ -lean_dec_ref(v___x_1883_); -goto v___jp_1872_; +lean_dec_ref(v___x_1930_); +goto v___jp_1917_; } else { -lean_object* v___x_1887_; lean_object* v___x_1888_; uint8_t v___x_1889_; -v___x_1887_ = lean_unsigned_to_nat(1u); -v___x_1888_ = lean_nat_sub(v___x_1885_, v___x_1887_); -v___x_1889_ = lean_nat_dec_le(v___x_1884_, v___x_1888_); -if (v___x_1889_ == 0) +lean_object* v___x_1934_; lean_object* v___x_1935_; uint8_t v___x_1936_; +v___x_1934_ = lean_unsigned_to_nat(1u); +v___x_1935_ = lean_nat_sub(v___x_1932_, v___x_1934_); +v___x_1936_ = lean_nat_dec_le(v___x_1931_, v___x_1935_); +if (v___x_1936_ == 0) { -lean_dec(v___x_1888_); -lean_dec_ref(v___x_1883_); -goto v___jp_1872_; +lean_dec(v___x_1935_); +lean_dec_ref(v___x_1930_); +goto v___jp_1917_; } else { -lean_object* v___x_1890_; uint8_t v___x_1891_; lean_object* v___x_1892_; lean_object* v___x_1893_; -v___x_1890_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); -v___x_1891_ = 0; -lean_inc(v_declName_1869_); -v___x_1892_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_1892_, 0, v_declName_1869_); -lean_ctor_set(v___x_1892_, 1, v___x_1890_); -lean_ctor_set_uint8(v___x_1892_, sizeof(void*)*2, v___x_1891_); -v___x_1893_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v___x_1883_, v___x_1892_, v___x_1884_, v___x_1888_); -lean_dec_ref(v___x_1892_); -lean_dec_ref(v___x_1883_); -if (lean_obj_tag(v___x_1893_) == 0) +lean_object* v___x_1937_; uint8_t v___x_1938_; lean_object* v___x_1939_; lean_object* v___x_1940_; +v___x_1937_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); +v___x_1938_ = 0; +lean_inc(v_declName_1905_); +v___x_1939_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_1939_, 0, v_declName_1905_); +lean_ctor_set(v___x_1939_, 1, v___x_1937_); +lean_ctor_set_uint8(v___x_1939_, sizeof(void*)*2, v___x_1938_); +v___x_1940_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v___x_1930_, v___x_1939_, v___x_1931_, v___x_1935_); +lean_dec_ref(v___x_1939_); +lean_dec_ref(v___x_1930_); +if (lean_obj_tag(v___x_1940_) == 0) { -goto v___jp_1872_; +goto v___jp_1917_; } else { -lean_dec(v_declName_1869_); -lean_dec_ref(v_env_1868_); -return v___x_1893_; +lean_dec(v_val_1916_); +lean_dec(v_declName_1905_); +lean_dec_ref(v_env_1904_); +return v___x_1940_; } } } -} -} -v___jp_1872_: +v___jp_1917_: { -lean_object* v_toEnvExtension_1873_; lean_object* v_asyncMode_1874_; lean_object* v___x_1875_; lean_object* v___x_1876_; lean_object* v_snd_1877_; lean_object* v___x_1878_; -v_toEnvExtension_1873_ = lean_ctor_get(v___x_1871_, 0); -lean_inc_ref(v_toEnvExtension_1873_); -v_asyncMode_1874_ = lean_ctor_get(v_toEnvExtension_1873_, 2); -lean_inc(v_asyncMode_1874_); -lean_dec_ref(v_toEnvExtension_1873_); -v___x_1875_ = lean_box(0); -v___x_1876_ = l_Lean_PersistentEnvExtension_getState___redArg(v___x_1870_, v___x_1871_, v_env_1868_, v_asyncMode_1874_, v___x_1875_); -lean_dec(v_asyncMode_1874_); -v_snd_1877_ = lean_ctor_get(v___x_1876_, 1); -lean_inc(v_snd_1877_); -lean_dec(v___x_1876_); -v___x_1878_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_snd_1877_, v_declName_1869_); -lean_dec(v_declName_1869_); -return v___x_1878_; -} -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0(lean_object* v_00_u03b2_1905_, lean_object* v_x_1906_, lean_object* v_x_1907_){ -_start: +uint8_t v___x_1918_; lean_object* v___x_1919_; lean_object* v___x_1920_; lean_object* v___x_1921_; uint8_t v___x_1922_; +v___x_1918_ = 0; +v___x_1919_ = l_Lean_PersistentEnvExtension_getModuleEntries___redArg(v___x_1906_, v___x_1907_, v_env_1904_, v_val_1916_, v___x_1918_); +lean_dec(v_val_1916_); +v___x_1920_ = lean_unsigned_to_nat(0u); +v___x_1921_ = lean_array_get_size(v___x_1919_); +v___x_1922_ = lean_nat_dec_lt(v___x_1920_, v___x_1921_); +if (v___x_1922_ == 0) { -lean_object* v___x_1908_; -v___x_1908_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_x_1906_, v_x_1907_); -return v___x_1908_; +lean_dec_ref(v___x_1919_); +goto v___jp_1908_; } -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___boxed(lean_object* v_00_u03b2_1909_, lean_object* v_x_1910_, lean_object* v_x_1911_){ -_start: +else { -lean_object* v_res_1912_; -v_res_1912_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0(v_00_u03b2_1909_, v_x_1910_, v_x_1911_); -lean_dec(v_x_1911_); -return v_res_1912_; -} -} -LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1(lean_object* v_as_1913_, lean_object* v_k_1914_, lean_object* v_x_1915_, lean_object* v_x_1916_, lean_object* v_x_1917_){ -_start: +lean_object* v___x_1923_; lean_object* v___x_1924_; uint8_t v___x_1925_; +v___x_1923_ = lean_unsigned_to_nat(1u); +v___x_1924_ = lean_nat_sub(v___x_1921_, v___x_1923_); +v___x_1925_ = lean_nat_dec_le(v___x_1920_, v___x_1924_); +if (v___x_1925_ == 0) { -lean_object* v___x_1918_; -v___x_1918_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v_as_1913_, v_k_1914_, v_x_1915_, v_x_1916_); -return v___x_1918_; +lean_dec(v___x_1924_); +lean_dec_ref(v___x_1919_); +goto v___jp_1908_; } -} -LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___boxed(lean_object* v_as_1919_, lean_object* v_k_1920_, lean_object* v_x_1921_, lean_object* v_x_1922_, lean_object* v_x_1923_){ -_start: +else { -lean_object* v_res_1924_; -v_res_1924_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1(v_as_1919_, v_k_1920_, v_x_1921_, v_x_1922_, v_x_1923_); -lean_dec_ref(v_k_1920_); -lean_dec_ref(v_as_1919_); -return v_res_1924_; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0(lean_object* v_00_u03b2_1925_, lean_object* v_x_1926_, size_t v_x_1927_, lean_object* v_x_1928_){ -_start: +lean_object* v___x_1926_; uint8_t v___x_1927_; lean_object* v___x_1928_; lean_object* v___x_1929_; +v___x_1926_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_findAtSorted_x3f___closed__0)); +v___x_1927_ = 0; +lean_inc(v_declName_1905_); +v___x_1928_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_1928_, 0, v_declName_1905_); +lean_ctor_set(v___x_1928_, 1, v___x_1926_); +lean_ctor_set_uint8(v___x_1928_, sizeof(void*)*2, v___x_1927_); +v___x_1929_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v___x_1919_, v___x_1928_, v___x_1920_, v___x_1924_); +lean_dec_ref(v___x_1928_); +lean_dec_ref(v___x_1919_); +if (lean_obj_tag(v___x_1929_) == 0) { -lean_object* v___x_1929_; -v___x_1929_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1926_, v_x_1927_, v_x_1928_); +goto v___jp_1908_; +} +else +{ +lean_dec(v_declName_1905_); +lean_dec_ref(v_env_1904_); return v___x_1929_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1930_, lean_object* v_x_1931_, lean_object* v_x_1932_, lean_object* v_x_1933_){ +} +} +} +v___jp_1908_: +{ +lean_object* v_toEnvExtension_1909_; lean_object* v_asyncMode_1910_; lean_object* v___x_1911_; lean_object* v___x_1912_; lean_object* v_snd_1913_; lean_object* v___x_1914_; +v_toEnvExtension_1909_ = lean_ctor_get(v___x_1907_, 0); +lean_inc_ref(v_toEnvExtension_1909_); +v_asyncMode_1910_ = lean_ctor_get(v_toEnvExtension_1909_, 2); +lean_inc(v_asyncMode_1910_); +lean_dec_ref(v_toEnvExtension_1909_); +v___x_1911_ = lean_box(0); +v___x_1912_ = l_Lean_PersistentEnvExtension_getState___redArg(v___x_1906_, v___x_1907_, v_env_1904_, v_asyncMode_1910_, v___x_1911_); +lean_dec(v_asyncMode_1910_); +v_snd_1913_ = lean_ctor_get(v___x_1912_, 1); +lean_inc(v_snd_1913_); +lean_dec(v___x_1912_); +v___x_1914_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_snd_1913_, v_declName_1905_); +lean_dec(v_declName_1905_); +return v___x_1914_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0(lean_object* v_00_u03b2_1941_, lean_object* v_x_1942_, lean_object* v_x_1943_){ _start: { -size_t v_x_591__boxed_1934_; lean_object* v_res_1935_; -v_x_591__boxed_1934_ = lean_unbox_usize(v_x_1932_); -lean_dec(v_x_1932_); -v_res_1935_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0(v_00_u03b2_1930_, v_x_1931_, v_x_591__boxed_1934_, v_x_1933_); -lean_dec(v_x_1933_); -return v_res_1935_; +lean_object* v___x_1944_; +v___x_1944_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___redArg(v_x_1942_, v_x_1943_); +return v___x_1944_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_1936_, lean_object* v_keys_1937_, lean_object* v_vals_1938_, lean_object* v_heq_1939_, lean_object* v_i_1940_, lean_object* v_k_1941_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0___boxed(lean_object* v_00_u03b2_1945_, lean_object* v_x_1946_, lean_object* v_x_1947_){ _start: { -lean_object* v___x_1942_; -v___x_1942_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_keys_1937_, v_vals_1938_, v_i_1940_, v_k_1941_); -return v___x_1942_; +lean_object* v_res_1948_; +v_res_1948_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0(v_00_u03b2_1945_, v_x_1946_, v_x_1947_); +lean_dec(v_x_1947_); +return v_res_1948_; } } -LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b2_1943_, lean_object* v_keys_1944_, lean_object* v_vals_1945_, lean_object* v_heq_1946_, lean_object* v_i_1947_, lean_object* v_k_1948_){ +LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1(lean_object* v_as_1949_, lean_object* v_k_1950_, lean_object* v_x_1951_, lean_object* v_x_1952_, lean_object* v_x_1953_){ _start: { -lean_object* v_res_1949_; -v_res_1949_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1(v_00_u03b2_1943_, v_keys_1944_, v_vals_1945_, v_heq_1946_, v_i_1947_, v_k_1948_); -lean_dec(v_k_1948_); -lean_dec_ref(v_vals_1945_); -lean_dec_ref(v_keys_1944_); -return v_res_1949_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg___lam__0(lean_object* v_declName_1950_, lean_object* v_toPure_1951_, lean_object* v_____do__lift_1952_){ -_start: -{ -lean_object* v___x_1953_; lean_object* v___x_1954_; -v___x_1953_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_____do__lift_1952_, v_declName_1950_); -v___x_1954_ = lean_apply_2(v_toPure_1951_, lean_box(0), v___x_1953_); +lean_object* v___x_1954_; +v___x_1954_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___redArg(v_as_1949_, v_k_1950_, v_x_1951_, v_x_1952_); return v___x_1954_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg(lean_object* v_inst_1955_, lean_object* v_inst_1956_, lean_object* v_declName_1957_){ +LEAN_EXPORT lean_object* l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1___boxed(lean_object* v_as_1955_, lean_object* v_k_1956_, lean_object* v_x_1957_, lean_object* v_x_1958_, lean_object* v_x_1959_){ _start: { -lean_object* v_toApplicative_1958_; lean_object* v_toBind_1959_; lean_object* v_getEnv_1960_; lean_object* v_toPure_1961_; lean_object* v___f_1962_; lean_object* v___x_1963_; -v_toApplicative_1958_ = lean_ctor_get(v_inst_1955_, 0); -lean_inc_ref(v_toApplicative_1958_); -v_toBind_1959_ = lean_ctor_get(v_inst_1955_, 1); -lean_inc(v_toBind_1959_); -lean_dec_ref(v_inst_1955_); -v_getEnv_1960_ = lean_ctor_get(v_inst_1956_, 0); -lean_inc(v_getEnv_1960_); -lean_dec_ref(v_inst_1956_); -v_toPure_1961_ = lean_ctor_get(v_toApplicative_1958_, 1); -lean_inc(v_toPure_1961_); -lean_dec_ref(v_toApplicative_1958_); -v___f_1962_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg___lam__0), 3, 2); -lean_closure_set(v___f_1962_, 0, v_declName_1957_); -lean_closure_set(v___f_1962_, 1, v_toPure_1961_); -v___x_1963_ = lean_apply_4(v_toBind_1959_, lean_box(0), lean_box(0), v_getEnv_1960_, v___f_1962_); -return v___x_1963_; +lean_object* v_res_1960_; +v_res_1960_ = l_Array_binSearchAux___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__1(v_as_1955_, v_k_1956_, v_x_1957_, v_x_1958_, v_x_1959_); +lean_dec_ref(v_k_1956_); +lean_dec_ref(v_as_1955_); +return v_res_1960_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f(lean_object* v_m_1964_, lean_object* v_inst_1965_, lean_object* v_inst_1966_, lean_object* v_declName_1967_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0(lean_object* v_00_u03b2_1961_, lean_object* v_x_1962_, size_t v_x_1963_, lean_object* v_x_1964_){ _start: { -lean_object* v___x_1968_; -v___x_1968_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg(v_inst_1965_, v_inst_1966_, v_declName_1967_); -return v___x_1968_; +lean_object* v___x_1965_; +v___x_1965_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___redArg(v_x_1962_, v_x_1963_, v_x_1964_); +return v___x_1965_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate___redArg___lam__0(lean_object* v_declName_1969_, lean_object* v_toPure_1970_, lean_object* v_____do__lift_1971_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1966_, lean_object* v_x_1967_, lean_object* v_x_1968_, lean_object* v_x_1969_){ _start: { -lean_object* v___x_1972_; -v___x_1972_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_____do__lift_1971_, v_declName_1969_); -if (lean_obj_tag(v___x_1972_) == 0) -{ -uint8_t v___x_1973_; lean_object* v___x_1974_; lean_object* v___x_1975_; -v___x_1973_ = 0; -v___x_1974_ = lean_box(v___x_1973_); -v___x_1975_ = lean_apply_2(v_toPure_1970_, lean_box(0), v___x_1974_); -return v___x_1975_; +size_t v_x_591__boxed_1970_; lean_object* v_res_1971_; +v_x_591__boxed_1970_ = lean_unbox_usize(v_x_1968_); +lean_dec(v_x_1968_); +v_res_1971_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0(v_00_u03b2_1966_, v_x_1967_, v_x_591__boxed_1970_, v_x_1969_); +lean_dec(v_x_1969_); +return v_res_1971_; } -else +} +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_1972_, lean_object* v_keys_1973_, lean_object* v_vals_1974_, lean_object* v_heq_1975_, lean_object* v_i_1976_, lean_object* v_k_1977_){ +_start: { -uint8_t v___x_1976_; lean_object* v___x_1977_; lean_object* v___x_1978_; -lean_dec_ref(v___x_1972_); -v___x_1976_ = 1; -v___x_1977_ = lean_box(v___x_1976_); -v___x_1978_ = lean_apply_2(v_toPure_1970_, lean_box(0), v___x_1977_); +lean_object* v___x_1978_; +v___x_1978_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___redArg(v_keys_1973_, v_vals_1974_, v_i_1976_, v_k_1977_); return v___x_1978_; } } -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate___redArg(lean_object* v_inst_1979_, lean_object* v_inst_1980_, lean_object* v_declName_1981_){ +LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b2_1979_, lean_object* v_keys_1980_, lean_object* v_vals_1981_, lean_object* v_heq_1982_, lean_object* v_i_1983_, lean_object* v_k_1984_){ _start: { -lean_object* v_toApplicative_1982_; lean_object* v_toBind_1983_; lean_object* v_getEnv_1984_; lean_object* v_toPure_1985_; lean_object* v___f_1986_; lean_object* v___x_1987_; -v_toApplicative_1982_ = lean_ctor_get(v_inst_1979_, 0); -lean_inc_ref(v_toApplicative_1982_); -v_toBind_1983_ = lean_ctor_get(v_inst_1979_, 1); -lean_inc(v_toBind_1983_); -lean_dec_ref(v_inst_1979_); -v_getEnv_1984_ = lean_ctor_get(v_inst_1980_, 0); -lean_inc(v_getEnv_1984_); -lean_dec_ref(v_inst_1980_); -v_toPure_1985_ = lean_ctor_get(v_toApplicative_1982_, 1); -lean_inc(v_toPure_1985_); -lean_dec_ref(v_toApplicative_1982_); -v___f_1986_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_isSpecCandidate___redArg___lam__0), 3, 2); -lean_closure_set(v___f_1986_, 0, v_declName_1981_); -lean_closure_set(v___f_1986_, 1, v_toPure_1985_); -v___x_1987_ = lean_apply_4(v_toBind_1983_, lean_box(0), lean_box(0), v_getEnv_1984_, v___f_1986_); -return v___x_1987_; +lean_object* v_res_1985_; +v_res_1985_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_getSpecEntryCore_x3f_spec__0_spec__0_spec__1(v_00_u03b2_1979_, v_keys_1980_, v_vals_1981_, v_heq_1982_, v_i_1983_, v_k_1984_); +lean_dec(v_k_1984_); +lean_dec_ref(v_vals_1981_); +lean_dec_ref(v_keys_1980_); +return v_res_1985_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate(lean_object* v_m_1988_, lean_object* v_inst_1989_, lean_object* v_inst_1990_, lean_object* v_declName_1991_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg___lam__0(lean_object* v_declName_1986_, lean_object* v_toPure_1987_, lean_object* v_____do__lift_1988_){ _start: { -lean_object* v___x_1992_; -v___x_1992_ = l_Lean_Compiler_LCNF_isSpecCandidate___redArg(v_inst_1989_, v_inst_1990_, v_declName_1991_); -return v___x_1992_; +lean_object* v___x_1989_; lean_object* v___x_1990_; +v___x_1989_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_____do__lift_1988_, v_declName_1986_); +v___x_1990_ = lean_apply_2(v_toPure_1987_, lean_box(0), v___x_1989_); +return v___x_1990_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg(lean_object* v_inst_1991_, lean_object* v_inst_1992_, lean_object* v_declName_1993_){ +_start: +{ +lean_object* v_toApplicative_1994_; lean_object* v_toBind_1995_; lean_object* v_getEnv_1996_; lean_object* v_toPure_1997_; lean_object* v___f_1998_; lean_object* v___x_1999_; +v_toApplicative_1994_ = lean_ctor_get(v_inst_1991_, 0); +lean_inc_ref(v_toApplicative_1994_); +v_toBind_1995_ = lean_ctor_get(v_inst_1991_, 1); +lean_inc(v_toBind_1995_); +lean_dec_ref(v_inst_1991_); +v_getEnv_1996_ = lean_ctor_get(v_inst_1992_, 0); +lean_inc(v_getEnv_1996_); +lean_dec_ref(v_inst_1992_); +v_toPure_1997_ = lean_ctor_get(v_toApplicative_1994_, 1); +lean_inc(v_toPure_1997_); +lean_dec_ref(v_toApplicative_1994_); +v___f_1998_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg___lam__0), 3, 2); +lean_closure_set(v___f_1998_, 0, v_declName_1993_); +lean_closure_set(v___f_1998_, 1, v_toPure_1997_); +v___x_1999_ = lean_apply_4(v_toBind_1995_, lean_box(0), lean_box(0), v_getEnv_1996_, v___f_1998_); +return v___x_1999_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f(lean_object* v_m_2000_, lean_object* v_inst_2001_, lean_object* v_inst_2002_, lean_object* v_declName_2003_){ +_start: +{ +lean_object* v___x_2004_; +v___x_2004_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___redArg(v_inst_2001_, v_inst_2002_, v_declName_2003_); +return v___x_2004_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate___redArg___lam__0(lean_object* v_declName_2005_, lean_object* v_toPure_2006_, lean_object* v_____do__lift_2007_){ +_start: +{ +lean_object* v___x_2008_; +v___x_2008_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_____do__lift_2007_, v_declName_2005_); +if (lean_obj_tag(v___x_2008_) == 0) +{ +uint8_t v___x_2009_; lean_object* v___x_2010_; lean_object* v___x_2011_; +v___x_2009_ = 0; +v___x_2010_ = lean_box(v___x_2009_); +v___x_2011_ = lean_apply_2(v_toPure_2006_, lean_box(0), v___x_2010_); +return v___x_2011_; +} +else +{ +uint8_t v___x_2012_; lean_object* v___x_2013_; lean_object* v___x_2014_; +lean_dec_ref(v___x_2008_); +v___x_2012_ = 1; +v___x_2013_ = lean_box(v___x_2012_); +v___x_2014_ = lean_apply_2(v_toPure_2006_, lean_box(0), v___x_2013_); +return v___x_2014_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate___redArg(lean_object* v_inst_2015_, lean_object* v_inst_2016_, lean_object* v_declName_2017_){ +_start: +{ +lean_object* v_toApplicative_2018_; lean_object* v_toBind_2019_; lean_object* v_getEnv_2020_; lean_object* v_toPure_2021_; lean_object* v___f_2022_; lean_object* v___x_2023_; +v_toApplicative_2018_ = lean_ctor_get(v_inst_2015_, 0); +lean_inc_ref(v_toApplicative_2018_); +v_toBind_2019_ = lean_ctor_get(v_inst_2015_, 1); +lean_inc(v_toBind_2019_); +lean_dec_ref(v_inst_2015_); +v_getEnv_2020_ = lean_ctor_get(v_inst_2016_, 0); +lean_inc(v_getEnv_2020_); +lean_dec_ref(v_inst_2016_); +v_toPure_2021_ = lean_ctor_get(v_toApplicative_2018_, 1); +lean_inc(v_toPure_2021_); +lean_dec_ref(v_toApplicative_2018_); +v___f_2022_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_isSpecCandidate___redArg___lam__0), 3, 2); +lean_closure_set(v___f_2022_, 0, v_declName_2017_); +lean_closure_set(v___f_2022_, 1, v_toPure_2021_); +v___x_2023_ = lean_apply_4(v_toBind_2019_, lean_box(0), lean_box(0), v_getEnv_2020_, v___f_2022_); +return v___x_2023_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSpecCandidate(lean_object* v_m_2024_, lean_object* v_inst_2025_, lean_object* v_inst_2026_, lean_object* v_declName_2027_){ +_start: +{ +lean_object* v___x_2028_; +v___x_2028_ = l_Lean_Compiler_LCNF_isSpecCandidate___redArg(v_inst_2025_, v_inst_2026_, v_declName_2027_); +return v___x_2028_; } } LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_(){ _start: { -lean_object* v___x_2057_; uint8_t v___x_2058_; lean_object* v___x_2059_; lean_object* v___x_2060_; -v___x_2057_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__5)); -v___x_2058_ = 0; -v___x_2059_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_)); -v___x_2060_ = l_Lean_registerTraceClass(v___x_2057_, v___x_2058_, v___x_2059_); -return v___x_2060_; +lean_object* v___x_2093_; uint8_t v___x_2094_; lean_object* v___x_2095_; lean_object* v___x_2096_; +v___x_2093_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_saveSpecEntries_spec__4___closed__5)); +v___x_2094_ = 0; +v___x_2095_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_)); +v___x_2096_ = l_Lean_registerTraceClass(v___x_2093_, v___x_2094_, v___x_2095_); +return v___x_2096_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2____boxed(lean_object* v_a_2061_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2____boxed(lean_object* v_a_2097_){ _start: { -lean_object* v_res_2062_; -v_res_2062_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_(); -return v_res_2062_; +lean_object* v_res_2098_; +v_res_2098_ = l___private_Lean_Compiler_LCNF_SpecInfo_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SpecInfo_513551779____hygCtx___hyg_2_(); +return v_res_2098_; } } lean_object* runtime_initialize_Lean_Compiler_LCNF_FixedParams(uint8_t builtin); @@ -5848,8 +5970,6 @@ lean_dec_ref(res); res = runtime_initialize_Lean_Compiler_LCNF_InferType(builtin); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default = _init_l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo_default(); -l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo = _init_l_Lean_Compiler_LCNF_instInhabitedSpecParamInfo(); l_Lean_Compiler_LCNF_instInhabitedSpecState_default = _init_l_Lean_Compiler_LCNF_instInhabitedSpecState_default(); lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedSpecState_default); l_Lean_Compiler_LCNF_instInhabitedSpecState = _init_l_Lean_Compiler_LCNF_instInhabitedSpecState(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c index 16186fd026..5e3cc189c2 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c @@ -786,30 +786,36 @@ static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__1 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__1_value; static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2; -static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "H"}; +static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "W"}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__3 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__3_value; static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__3_value)}}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__4 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__4_value; static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5; -static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "N"}; +static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "H"}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__6 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__6_value; static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__6_value)}}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__7 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__7_value; static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8; -static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "U"}; +static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "N"}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__9 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__9_value; static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__9_value)}}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__10 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__10_value; static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11; -static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "O"}; +static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "U"}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__12 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__12_value; static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__12_value)}}; static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__13 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__13_value; static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14_once = LEAN_ONCE_CELL_INITIALIZER; static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14; +static const lean_string_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "O"}; +static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__15 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__15_value; +static const lean_ctor_object l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__15_value)}}; +static const lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__16 = (const lean_object*)&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__16_value; +static lean_once_cell_t l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17_once = LEAN_ONCE_CELL_INITIALIZER; +static lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17; LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(uint8_t, uint8_t, uint8_t, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -5326,14 +5332,14 @@ return v___x_1544_; } else { -lean_object* v_snd_1545_; lean_object* v_fst_1546_; lean_object* v___x_1548_; uint8_t v_isShared_1549_; uint8_t v_isSharedCheck_1592_; +lean_object* v_snd_1545_; lean_object* v_fst_1546_; lean_object* v___x_1548_; uint8_t v_isShared_1549_; uint8_t v_isSharedCheck_1605_; v_snd_1545_ = lean_ctor_get(v_b_1530_, 1); v_fst_1546_ = lean_ctor_get(v_b_1530_, 0); -v_isSharedCheck_1592_ = !lean_is_exclusive(v_b_1530_); -if (v_isSharedCheck_1592_ == 0) +v_isSharedCheck_1605_ = !lean_is_exclusive(v_b_1530_); +if (v_isSharedCheck_1605_ == 0) { v___x_1548_ = v_b_1530_; -v_isShared_1549_ = v_isSharedCheck_1592_; +v_isShared_1549_ = v_isSharedCheck_1605_; goto v_resetjp_1547_; } else @@ -5342,7 +5348,7 @@ lean_inc(v_snd_1545_); lean_inc(v_fst_1546_); lean_dec(v_b_1530_); v___x_1548_ = lean_box(0); -v_isShared_1549_ = v_isSharedCheck_1592_; +v_isShared_1549_ = v_isSharedCheck_1605_; goto v_resetjp_1547_; } v_resetjp_1547_: @@ -5379,29 +5385,29 @@ return v___x_1556_; } else { -lean_object* v___x_1559_; uint8_t v_isShared_1560_; uint8_t v_isSharedCheck_1588_; +lean_object* v___x_1559_; uint8_t v_isShared_1560_; uint8_t v_isSharedCheck_1601_; lean_inc(v_stop_1552_); lean_inc(v_start_1551_); lean_inc_ref(v_array_1550_); -v_isSharedCheck_1588_ = !lean_is_exclusive(v_snd_1545_); -if (v_isSharedCheck_1588_ == 0) +v_isSharedCheck_1601_ = !lean_is_exclusive(v_snd_1545_); +if (v_isSharedCheck_1601_ == 0) { -lean_object* v_unused_1589_; lean_object* v_unused_1590_; lean_object* v_unused_1591_; -v_unused_1589_ = lean_ctor_get(v_snd_1545_, 2); -lean_dec(v_unused_1589_); -v_unused_1590_ = lean_ctor_get(v_snd_1545_, 1); -lean_dec(v_unused_1590_); -v_unused_1591_ = lean_ctor_get(v_snd_1545_, 0); -lean_dec(v_unused_1591_); +lean_object* v_unused_1602_; lean_object* v_unused_1603_; lean_object* v_unused_1604_; +v_unused_1602_ = lean_ctor_get(v_snd_1545_, 2); +lean_dec(v_unused_1602_); +v_unused_1603_ = lean_ctor_get(v_snd_1545_, 1); +lean_dec(v_unused_1603_); +v_unused_1604_ = lean_ctor_get(v_snd_1545_, 0); +lean_dec(v_unused_1604_); v___x_1559_ = v_snd_1545_; -v_isShared_1560_ = v_isSharedCheck_1588_; +v_isShared_1560_ = v_isSharedCheck_1601_; goto v_resetjp_1558_; } else { lean_dec(v_snd_1545_); v___x_1559_ = lean_box(0); -v_isShared_1560_ = v_isSharedCheck_1588_; +v_isShared_1560_ = v_isSharedCheck_1601_; goto v_resetjp_1558_; } v_resetjp_1558_: @@ -5420,24 +5426,30 @@ goto v_reusejp_1565_; } else { -lean_object* v_reuseFailAlloc_1587_; -v_reuseFailAlloc_1587_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v_reuseFailAlloc_1587_, 0, v_array_1550_); -lean_ctor_set(v_reuseFailAlloc_1587_, 1, v___x_1564_); -lean_ctor_set(v_reuseFailAlloc_1587_, 2, v_stop_1552_); -v___x_1566_ = v_reuseFailAlloc_1587_; +lean_object* v_reuseFailAlloc_1600_; +v_reuseFailAlloc_1600_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v_reuseFailAlloc_1600_, 0, v_array_1550_); +lean_ctor_set(v_reuseFailAlloc_1600_, 1, v___x_1564_); +lean_ctor_set(v_reuseFailAlloc_1600_, 2, v_stop_1552_); +v___x_1566_ = v_reuseFailAlloc_1600_; goto v_reusejp_1565_; } v_reusejp_1565_: { -uint8_t v___x_1567_; -v___x_1567_ = lean_unbox(v_a_1561_); -if (v___x_1567_ == 4) +switch(lean_obj_tag(v_a_1561_)) { -lean_object* v___x_1568_; lean_object* v___x_1569_; lean_object* v___x_1571_; -lean_dec(v___x_1562_); -v___x_1568_ = lean_box(0); -v___x_1569_ = lean_array_push(v_fst_1546_, v___x_1568_); +case 0: +{ +lean_object* v___x_1567_; lean_object* v___x_1568_; +lean_inc(v___x_1562_); +v___x_1567_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1567_, 0, v___x_1562_); +v___x_1568_ = l_Lean_Compiler_LCNF_Closure_collectArg(v___x_1562_, v___y_1531_, v___y_1532_, v___y_1533_, v___y_1534_, v___y_1535_, v___y_1536_); +if (lean_obj_tag(v___x_1568_) == 0) +{ +lean_object* v___x_1569_; lean_object* v___x_1571_; +lean_dec_ref(v___x_1568_); +v___x_1569_ = lean_array_push(v_fst_1546_, v___x_1567_); if (v_isShared_1549_ == 0) { lean_ctor_set(v___x_1548_, 1, v___x_1566_); @@ -5462,80 +5474,155 @@ goto v___jp_1538_; } else { -lean_object* v___x_1573_; lean_object* v___x_1574_; -lean_inc(v___x_1562_); -v___x_1573_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_1573_, 0, v___x_1562_); -v___x_1574_ = l_Lean_Compiler_LCNF_Closure_collectArg(v___x_1562_, v___y_1531_, v___y_1532_, v___y_1533_, v___y_1534_, v___y_1535_, v___y_1536_); -if (lean_obj_tag(v___x_1574_) == 0) -{ -lean_object* v___x_1575_; lean_object* v___x_1577_; -lean_dec_ref(v___x_1574_); -v___x_1575_ = lean_array_push(v_fst_1546_, v___x_1573_); -if (v_isShared_1549_ == 0) -{ -lean_ctor_set(v___x_1548_, 1, v___x_1566_); -lean_ctor_set(v___x_1548_, 0, v___x_1575_); -v___x_1577_ = v___x_1548_; -goto v_reusejp_1576_; -} -else -{ -lean_object* v_reuseFailAlloc_1578_; -v_reuseFailAlloc_1578_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1578_, 0, v___x_1575_); -lean_ctor_set(v_reuseFailAlloc_1578_, 1, v___x_1566_); -v___x_1577_ = v_reuseFailAlloc_1578_; -goto v_reusejp_1576_; -} -v_reusejp_1576_: -{ -v_a_1539_ = v___x_1577_; -goto v___jp_1538_; -} -} -else -{ -lean_object* v_a_1579_; lean_object* v___x_1581_; uint8_t v_isShared_1582_; uint8_t v_isSharedCheck_1586_; -lean_dec_ref(v___x_1573_); +lean_object* v_a_1573_; lean_object* v___x_1575_; uint8_t v_isShared_1576_; uint8_t v_isSharedCheck_1580_; +lean_dec_ref(v___x_1567_); lean_dec_ref(v___x_1566_); lean_del_object(v___x_1548_); lean_dec(v_fst_1546_); -v_a_1579_ = lean_ctor_get(v___x_1574_, 0); -v_isSharedCheck_1586_ = !lean_is_exclusive(v___x_1574_); -if (v_isSharedCheck_1586_ == 0) +v_a_1573_ = lean_ctor_get(v___x_1568_, 0); +v_isSharedCheck_1580_ = !lean_is_exclusive(v___x_1568_); +if (v_isSharedCheck_1580_ == 0) { -v___x_1581_ = v___x_1574_; -v_isShared_1582_ = v_isSharedCheck_1586_; -goto v_resetjp_1580_; +v___x_1575_ = v___x_1568_; +v_isShared_1576_ = v_isSharedCheck_1580_; +goto v_resetjp_1574_; } else { -lean_inc(v_a_1579_); -lean_dec(v___x_1574_); -v___x_1581_ = lean_box(0); -v_isShared_1582_ = v_isSharedCheck_1586_; -goto v_resetjp_1580_; +lean_inc(v_a_1573_); +lean_dec(v___x_1568_); +v___x_1575_ = lean_box(0); +v_isShared_1576_ = v_isSharedCheck_1580_; +goto v_resetjp_1574_; } -v_resetjp_1580_: +v_resetjp_1574_: { -lean_object* v___x_1584_; -if (v_isShared_1582_ == 0) +lean_object* v___x_1578_; +if (v_isShared_1576_ == 0) { -v___x_1584_ = v___x_1581_; +v___x_1578_ = v___x_1575_; +goto v_reusejp_1577_; +} +else +{ +lean_object* v_reuseFailAlloc_1579_; +v_reuseFailAlloc_1579_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1579_, 0, v_a_1573_); +v___x_1578_ = v_reuseFailAlloc_1579_; +goto v_reusejp_1577_; +} +v_reusejp_1577_: +{ +return v___x_1578_; +} +} +} +} +case 4: +{ +lean_object* v___x_1581_; lean_object* v___x_1582_; lean_object* v___x_1584_; +lean_dec(v___x_1562_); +v___x_1581_ = lean_box(0); +v___x_1582_ = lean_array_push(v_fst_1546_, v___x_1581_); +if (v_isShared_1549_ == 0) +{ +lean_ctor_set(v___x_1548_, 1, v___x_1566_); +lean_ctor_set(v___x_1548_, 0, v___x_1582_); +v___x_1584_ = v___x_1548_; goto v_reusejp_1583_; } else { lean_object* v_reuseFailAlloc_1585_; -v_reuseFailAlloc_1585_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1585_, 0, v_a_1579_); +v_reuseFailAlloc_1585_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1585_, 0, v___x_1582_); +lean_ctor_set(v_reuseFailAlloc_1585_, 1, v___x_1566_); v___x_1584_ = v_reuseFailAlloc_1585_; goto v_reusejp_1583_; } v_reusejp_1583_: { -return v___x_1584_; +v_a_1539_ = v___x_1584_; +goto v___jp_1538_; +} +} +default: +{ +lean_object* v___x_1586_; lean_object* v___x_1587_; +lean_inc(v___x_1562_); +v___x_1586_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1586_, 0, v___x_1562_); +v___x_1587_ = l_Lean_Compiler_LCNF_Closure_collectArg(v___x_1562_, v___y_1531_, v___y_1532_, v___y_1533_, v___y_1534_, v___y_1535_, v___y_1536_); +if (lean_obj_tag(v___x_1587_) == 0) +{ +lean_object* v___x_1588_; lean_object* v___x_1590_; +lean_dec_ref(v___x_1587_); +v___x_1588_ = lean_array_push(v_fst_1546_, v___x_1586_); +if (v_isShared_1549_ == 0) +{ +lean_ctor_set(v___x_1548_, 1, v___x_1566_); +lean_ctor_set(v___x_1548_, 0, v___x_1588_); +v___x_1590_ = v___x_1548_; +goto v_reusejp_1589_; +} +else +{ +lean_object* v_reuseFailAlloc_1591_; +v_reuseFailAlloc_1591_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1591_, 0, v___x_1588_); +lean_ctor_set(v_reuseFailAlloc_1591_, 1, v___x_1566_); +v___x_1590_ = v_reuseFailAlloc_1591_; +goto v_reusejp_1589_; +} +v_reusejp_1589_: +{ +v_a_1539_ = v___x_1590_; +goto v___jp_1538_; +} +} +else +{ +lean_object* v_a_1592_; lean_object* v___x_1594_; uint8_t v_isShared_1595_; uint8_t v_isSharedCheck_1599_; +lean_dec_ref(v___x_1586_); +lean_dec_ref(v___x_1566_); +lean_del_object(v___x_1548_); +lean_dec(v_fst_1546_); +v_a_1592_ = lean_ctor_get(v___x_1587_, 0); +v_isSharedCheck_1599_ = !lean_is_exclusive(v___x_1587_); +if (v_isSharedCheck_1599_ == 0) +{ +v___x_1594_ = v___x_1587_; +v_isShared_1595_ = v_isSharedCheck_1599_; +goto v_resetjp_1593_; +} +else +{ +lean_inc(v_a_1592_); +lean_dec(v___x_1587_); +v___x_1594_ = lean_box(0); +v_isShared_1595_ = v_isSharedCheck_1599_; +goto v_resetjp_1593_; +} +v_resetjp_1593_: +{ +lean_object* v___x_1597_; +if (v_isShared_1595_ == 0) +{ +v___x_1597_ = v___x_1594_; +goto v_reusejp_1596_; +} +else +{ +lean_object* v_reuseFailAlloc_1598_; +v_reuseFailAlloc_1598_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1598_, 0, v_a_1592_); +v___x_1597_ = v_reuseFailAlloc_1598_; +goto v_reusejp_1596_; +} +v_reusejp_1596_: +{ +return v___x_1597_; +} } } } @@ -5556,2629 +5643,2653 @@ goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2___boxed(lean_object* v_as_1593_, lean_object* v_sz_1594_, lean_object* v_i_1595_, lean_object* v_b_1596_, lean_object* v___y_1597_, lean_object* v___y_1598_, lean_object* v___y_1599_, lean_object* v___y_1600_, lean_object* v___y_1601_, lean_object* v___y_1602_, lean_object* v___y_1603_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2___boxed(lean_object* v_as_1606_, lean_object* v_sz_1607_, lean_object* v_i_1608_, lean_object* v_b_1609_, lean_object* v___y_1610_, lean_object* v___y_1611_, lean_object* v___y_1612_, lean_object* v___y_1613_, lean_object* v___y_1614_, lean_object* v___y_1615_, lean_object* v___y_1616_){ _start: { -size_t v_sz_boxed_1604_; size_t v_i_boxed_1605_; lean_object* v_res_1606_; -v_sz_boxed_1604_ = lean_unbox_usize(v_sz_1594_); -lean_dec(v_sz_1594_); -v_i_boxed_1605_ = lean_unbox_usize(v_i_1595_); -lean_dec(v_i_1595_); -v_res_1606_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2(v_as_1593_, v_sz_boxed_1604_, v_i_boxed_1605_, v_b_1596_, v___y_1597_, v___y_1598_, v___y_1599_, v___y_1600_, v___y_1601_, v___y_1602_); -lean_dec(v___y_1602_); -lean_dec_ref(v___y_1601_); -lean_dec(v___y_1600_); -lean_dec_ref(v___y_1599_); -lean_dec(v___y_1598_); -lean_dec_ref(v___y_1597_); -lean_dec_ref(v_as_1593_); -return v_res_1606_; +size_t v_sz_boxed_1617_; size_t v_i_boxed_1618_; lean_object* v_res_1619_; +v_sz_boxed_1617_ = lean_unbox_usize(v_sz_1607_); +lean_dec(v_sz_1607_); +v_i_boxed_1618_ = lean_unbox_usize(v_i_1608_); +lean_dec(v_i_1608_); +v_res_1619_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2(v_as_1606_, v_sz_boxed_1617_, v_i_boxed_1618_, v_b_1609_, v___y_1610_, v___y_1611_, v___y_1612_, v___y_1613_, v___y_1614_, v___y_1615_); +lean_dec(v___y_1615_); +lean_dec_ref(v___y_1614_); +lean_dec(v___y_1613_); +lean_dec_ref(v___y_1612_); +lean_dec(v___y_1611_); +lean_dec_ref(v___y_1610_); +lean_dec_ref(v_as_1606_); +return v_res_1619_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1(lean_object* v_paramsInfo_1607_, size_t v_sz_1608_, size_t v___x_1609_, lean_object* v___x_1610_, lean_object* v___y_1611_, lean_object* v___y_1612_, lean_object* v___y_1613_, lean_object* v___y_1614_, lean_object* v___y_1615_, lean_object* v___y_1616_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1(lean_object* v_paramsInfo_1620_, size_t v_sz_1621_, size_t v___x_1622_, lean_object* v___x_1623_, lean_object* v___y_1624_, lean_object* v___y_1625_, lean_object* v___y_1626_, lean_object* v___y_1627_, lean_object* v___y_1628_, lean_object* v___y_1629_){ _start: { -lean_object* v___x_1618_; -v___x_1618_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2(v_paramsInfo_1607_, v_sz_1608_, v___x_1609_, v___x_1610_, v___y_1611_, v___y_1612_, v___y_1613_, v___y_1614_, v___y_1615_, v___y_1616_); -if (lean_obj_tag(v___x_1618_) == 0) +lean_object* v___x_1631_; +v___x_1631_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__2(v_paramsInfo_1620_, v_sz_1621_, v___x_1622_, v___x_1623_, v___y_1624_, v___y_1625_, v___y_1626_, v___y_1627_, v___y_1628_, v___y_1629_); +if (lean_obj_tag(v___x_1631_) == 0) { -lean_object* v_a_1619_; lean_object* v___x_1621_; uint8_t v_isShared_1622_; uint8_t v_isSharedCheck_1627_; -v_a_1619_ = lean_ctor_get(v___x_1618_, 0); -v_isSharedCheck_1627_ = !lean_is_exclusive(v___x_1618_); -if (v_isSharedCheck_1627_ == 0) +lean_object* v_a_1632_; lean_object* v___x_1634_; uint8_t v_isShared_1635_; uint8_t v_isSharedCheck_1640_; +v_a_1632_ = lean_ctor_get(v___x_1631_, 0); +v_isSharedCheck_1640_ = !lean_is_exclusive(v___x_1631_); +if (v_isSharedCheck_1640_ == 0) { -v___x_1621_ = v___x_1618_; -v_isShared_1622_ = v_isSharedCheck_1627_; -goto v_resetjp_1620_; +v___x_1634_ = v___x_1631_; +v_isShared_1635_ = v_isSharedCheck_1640_; +goto v_resetjp_1633_; } else { -lean_inc(v_a_1619_); -lean_dec(v___x_1618_); -v___x_1621_ = lean_box(0); -v_isShared_1622_ = v_isSharedCheck_1627_; -goto v_resetjp_1620_; +lean_inc(v_a_1632_); +lean_dec(v___x_1631_); +v___x_1634_ = lean_box(0); +v_isShared_1635_ = v_isSharedCheck_1640_; +goto v_resetjp_1633_; } -v_resetjp_1620_: +v_resetjp_1633_: { -lean_object* v_fst_1623_; lean_object* v___x_1625_; -v_fst_1623_ = lean_ctor_get(v_a_1619_, 0); -lean_inc(v_fst_1623_); -lean_dec(v_a_1619_); -if (v_isShared_1622_ == 0) +lean_object* v_fst_1636_; lean_object* v___x_1638_; +v_fst_1636_ = lean_ctor_get(v_a_1632_, 0); +lean_inc(v_fst_1636_); +lean_dec(v_a_1632_); +if (v_isShared_1635_ == 0) { -lean_ctor_set(v___x_1621_, 0, v_fst_1623_); -v___x_1625_ = v___x_1621_; -goto v_reusejp_1624_; +lean_ctor_set(v___x_1634_, 0, v_fst_1636_); +v___x_1638_ = v___x_1634_; +goto v_reusejp_1637_; } else { -lean_object* v_reuseFailAlloc_1626_; -v_reuseFailAlloc_1626_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1626_, 0, v_fst_1623_); -v___x_1625_ = v_reuseFailAlloc_1626_; -goto v_reusejp_1624_; +lean_object* v_reuseFailAlloc_1639_; +v_reuseFailAlloc_1639_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1639_, 0, v_fst_1636_); +v___x_1638_ = v_reuseFailAlloc_1639_; +goto v_reusejp_1637_; } -v_reusejp_1624_: +v_reusejp_1637_: { -return v___x_1625_; +return v___x_1638_; } } } else { -lean_object* v_a_1628_; lean_object* v___x_1630_; uint8_t v_isShared_1631_; uint8_t v_isSharedCheck_1635_; -v_a_1628_ = lean_ctor_get(v___x_1618_, 0); -v_isSharedCheck_1635_ = !lean_is_exclusive(v___x_1618_); -if (v_isSharedCheck_1635_ == 0) +lean_object* v_a_1641_; lean_object* v___x_1643_; uint8_t v_isShared_1644_; uint8_t v_isSharedCheck_1648_; +v_a_1641_ = lean_ctor_get(v___x_1631_, 0); +v_isSharedCheck_1648_ = !lean_is_exclusive(v___x_1631_); +if (v_isSharedCheck_1648_ == 0) { -v___x_1630_ = v___x_1618_; -v_isShared_1631_ = v_isSharedCheck_1635_; -goto v_resetjp_1629_; +v___x_1643_ = v___x_1631_; +v_isShared_1644_ = v_isSharedCheck_1648_; +goto v_resetjp_1642_; } else { -lean_inc(v_a_1628_); -lean_dec(v___x_1618_); -v___x_1630_ = lean_box(0); -v_isShared_1631_ = v_isSharedCheck_1635_; -goto v_resetjp_1629_; +lean_inc(v_a_1641_); +lean_dec(v___x_1631_); +v___x_1643_ = lean_box(0); +v_isShared_1644_ = v_isSharedCheck_1648_; +goto v_resetjp_1642_; } -v_resetjp_1629_: +v_resetjp_1642_: { -lean_object* v___x_1633_; -if (v_isShared_1631_ == 0) +lean_object* v___x_1646_; +if (v_isShared_1644_ == 0) { -v___x_1633_ = v___x_1630_; -goto v_reusejp_1632_; +v___x_1646_ = v___x_1643_; +goto v_reusejp_1645_; } else { -lean_object* v_reuseFailAlloc_1634_; -v_reuseFailAlloc_1634_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1634_, 0, v_a_1628_); -v___x_1633_ = v_reuseFailAlloc_1634_; -goto v_reusejp_1632_; +lean_object* v_reuseFailAlloc_1647_; +v_reuseFailAlloc_1647_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1647_, 0, v_a_1641_); +v___x_1646_ = v_reuseFailAlloc_1647_; +goto v_reusejp_1645_; } -v_reusejp_1632_: +v_reusejp_1645_: { -return v___x_1633_; +return v___x_1646_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1___boxed(lean_object* v_paramsInfo_1636_, lean_object* v_sz_1637_, lean_object* v___x_1638_, lean_object* v___x_1639_, lean_object* v___y_1640_, lean_object* v___y_1641_, lean_object* v___y_1642_, lean_object* v___y_1643_, lean_object* v___y_1644_, lean_object* v___y_1645_, lean_object* v___y_1646_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1___boxed(lean_object* v_paramsInfo_1649_, lean_object* v_sz_1650_, lean_object* v___x_1651_, lean_object* v___x_1652_, lean_object* v___y_1653_, lean_object* v___y_1654_, lean_object* v___y_1655_, lean_object* v___y_1656_, lean_object* v___y_1657_, lean_object* v___y_1658_, lean_object* v___y_1659_){ _start: { -size_t v_sz_boxed_1647_; size_t v___x_5115__boxed_1648_; lean_object* v_res_1649_; -v_sz_boxed_1647_ = lean_unbox_usize(v_sz_1637_); -lean_dec(v_sz_1637_); -v___x_5115__boxed_1648_ = lean_unbox_usize(v___x_1638_); -lean_dec(v___x_1638_); -v_res_1649_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1(v_paramsInfo_1636_, v_sz_boxed_1647_, v___x_5115__boxed_1648_, v___x_1639_, v___y_1640_, v___y_1641_, v___y_1642_, v___y_1643_, v___y_1644_, v___y_1645_); -lean_dec(v___y_1645_); -lean_dec_ref(v___y_1644_); -lean_dec(v___y_1643_); -lean_dec_ref(v___y_1642_); -lean_dec(v___y_1641_); -lean_dec_ref(v___y_1640_); -lean_dec_ref(v_paramsInfo_1636_); -return v_res_1649_; -} -} -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2(lean_object* v_scope_1650_, lean_object* v___y_1651_){ -_start: -{ -uint8_t v___x_1652_; -v___x_1652_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v___y_1651_, v_scope_1650_); -return v___x_1652_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2___boxed(lean_object* v_scope_1653_, lean_object* v___y_1654_){ -_start: -{ -uint8_t v_res_1655_; lean_object* v_r_1656_; -v_res_1655_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2(v_scope_1653_, v___y_1654_); +size_t v_sz_boxed_1660_; size_t v___x_5839__boxed_1661_; lean_object* v_res_1662_; +v_sz_boxed_1660_ = lean_unbox_usize(v_sz_1650_); +lean_dec(v_sz_1650_); +v___x_5839__boxed_1661_ = lean_unbox_usize(v___x_1651_); +lean_dec(v___x_1651_); +v_res_1662_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1(v_paramsInfo_1649_, v_sz_boxed_1660_, v___x_5839__boxed_1661_, v___x_1652_, v___y_1653_, v___y_1654_, v___y_1655_, v___y_1656_, v___y_1657_, v___y_1658_); +lean_dec(v___y_1658_); +lean_dec_ref(v___y_1657_); +lean_dec(v___y_1656_); +lean_dec_ref(v___y_1655_); lean_dec(v___y_1654_); -lean_dec(v_scope_1653_); -v_r_1656_ = lean_box(v_res_1655_); -return v_r_1656_; +lean_dec_ref(v___y_1653_); +lean_dec_ref(v_paramsInfo_1649_); +return v_res_1662_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(lean_object* v_paramsInfo_1661_, lean_object* v_args_1662_, lean_object* v_a_1663_, lean_object* v_a_1664_, lean_object* v_a_1665_, lean_object* v_a_1666_, lean_object* v_a_1667_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2(lean_object* v_scope_1663_, lean_object* v___y_1664_){ _start: { -lean_object* v___x_1669_; lean_object* v_lctx_1670_; lean_object* v___x_1672_; uint8_t v_isShared_1673_; uint8_t v_isSharedCheck_1691_; -v___x_1669_ = lean_st_ref_get(v_a_1665_); -v_lctx_1670_ = lean_ctor_get(v___x_1669_, 0); -v_isSharedCheck_1691_ = !lean_is_exclusive(v___x_1669_); -if (v_isSharedCheck_1691_ == 0) +uint8_t v___x_1665_; +v___x_1665_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v___y_1664_, v_scope_1663_); +return v___x_1665_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2___boxed(lean_object* v_scope_1666_, lean_object* v___y_1667_){ +_start: { -lean_object* v_unused_1692_; -v_unused_1692_ = lean_ctor_get(v___x_1669_, 1); -lean_dec(v_unused_1692_); -v___x_1672_ = v___x_1669_; -v_isShared_1673_ = v_isSharedCheck_1691_; -goto v_resetjp_1671_; +uint8_t v_res_1668_; lean_object* v_r_1669_; +v_res_1668_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2(v_scope_1666_, v___y_1667_); +lean_dec(v___y_1667_); +lean_dec(v_scope_1666_); +v_r_1669_ = lean_box(v_res_1668_); +return v_r_1669_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(lean_object* v_paramsInfo_1674_, lean_object* v_args_1675_, lean_object* v_a_1676_, lean_object* v_a_1677_, lean_object* v_a_1678_, lean_object* v_a_1679_, lean_object* v_a_1680_){ +_start: +{ +lean_object* v___x_1682_; lean_object* v_lctx_1683_; lean_object* v___x_1685_; uint8_t v_isShared_1686_; uint8_t v_isSharedCheck_1704_; +v___x_1682_ = lean_st_ref_get(v_a_1678_); +v_lctx_1683_ = lean_ctor_get(v___x_1682_, 0); +v_isSharedCheck_1704_ = !lean_is_exclusive(v___x_1682_); +if (v_isSharedCheck_1704_ == 0) +{ +lean_object* v_unused_1705_; +v_unused_1705_ = lean_ctor_get(v___x_1682_, 1); +lean_dec(v_unused_1705_); +v___x_1685_ = v___x_1682_; +v_isShared_1686_ = v_isSharedCheck_1704_; +goto v_resetjp_1684_; } else { -lean_inc(v_lctx_1670_); -lean_dec(v___x_1669_); -v___x_1672_ = lean_box(0); -v_isShared_1673_ = v_isSharedCheck_1691_; -goto v_resetjp_1671_; +lean_inc(v_lctx_1683_); +lean_dec(v___x_1682_); +v___x_1685_ = lean_box(0); +v_isShared_1686_ = v_isSharedCheck_1704_; +goto v_resetjp_1684_; } -v_resetjp_1671_: +v_resetjp_1684_: { -lean_object* v_scope_1674_; lean_object* v_ground_1675_; lean_object* v_underApplied_1676_; lean_object* v___x_1677_; lean_object* v___x_1678_; lean_object* v___x_1679_; lean_object* v___f_1680_; lean_object* v___x_1681_; lean_object* v___x_1683_; -v_scope_1674_ = lean_ctor_get(v_a_1663_, 0); -v_ground_1675_ = lean_ctor_get(v_a_1663_, 1); -v_underApplied_1676_ = lean_ctor_get(v_a_1663_, 2); -v___x_1677_ = lean_unsigned_to_nat(0u); -v___x_1678_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___closed__0)); -v___x_1679_ = lean_array_get_size(v_args_1662_); -lean_inc(v_ground_1675_); -lean_inc(v_underApplied_1676_); -v___f_1680_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__0___boxed), 4, 3); -lean_closure_set(v___f_1680_, 0, v_lctx_1670_); -lean_closure_set(v___f_1680_, 1, v_underApplied_1676_); -lean_closure_set(v___f_1680_, 2, v_ground_1675_); -v___x_1681_ = l_Array_toSubarray___redArg(v_args_1662_, v___x_1677_, v___x_1679_); -if (v_isShared_1673_ == 0) +lean_object* v_scope_1687_; lean_object* v_ground_1688_; lean_object* v_underApplied_1689_; lean_object* v___x_1690_; lean_object* v___x_1691_; lean_object* v___x_1692_; lean_object* v___f_1693_; lean_object* v___x_1694_; lean_object* v___x_1696_; +v_scope_1687_ = lean_ctor_get(v_a_1676_, 0); +v_ground_1688_ = lean_ctor_get(v_a_1676_, 1); +v_underApplied_1689_ = lean_ctor_get(v_a_1676_, 2); +v___x_1690_ = lean_unsigned_to_nat(0u); +v___x_1691_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___closed__0)); +v___x_1692_ = lean_array_get_size(v_args_1675_); +lean_inc(v_ground_1688_); +lean_inc(v_underApplied_1689_); +v___f_1693_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__0___boxed), 4, 3); +lean_closure_set(v___f_1693_, 0, v_lctx_1683_); +lean_closure_set(v___f_1693_, 1, v_underApplied_1689_); +lean_closure_set(v___f_1693_, 2, v_ground_1688_); +v___x_1694_ = l_Array_toSubarray___redArg(v_args_1675_, v___x_1690_, v___x_1692_); +if (v_isShared_1686_ == 0) { -lean_ctor_set(v___x_1672_, 1, v___x_1681_); -lean_ctor_set(v___x_1672_, 0, v___x_1678_); -v___x_1683_ = v___x_1672_; -goto v_reusejp_1682_; +lean_ctor_set(v___x_1685_, 1, v___x_1694_); +lean_ctor_set(v___x_1685_, 0, v___x_1691_); +v___x_1696_ = v___x_1685_; +goto v_reusejp_1695_; } else { -lean_object* v_reuseFailAlloc_1690_; -v_reuseFailAlloc_1690_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1690_, 0, v___x_1678_); -lean_ctor_set(v_reuseFailAlloc_1690_, 1, v___x_1681_); -v___x_1683_ = v_reuseFailAlloc_1690_; -goto v_reusejp_1682_; +lean_object* v_reuseFailAlloc_1703_; +v_reuseFailAlloc_1703_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1703_, 0, v___x_1691_); +lean_ctor_set(v_reuseFailAlloc_1703_, 1, v___x_1694_); +v___x_1696_ = v_reuseFailAlloc_1703_; +goto v_reusejp_1695_; } -v_reusejp_1682_: +v_reusejp_1695_: { -size_t v_sz_1684_; lean_object* v___x_1685_; lean_object* v___x_1686_; lean_object* v___f_1687_; lean_object* v___f_1688_; lean_object* v___x_1689_; -v_sz_1684_ = lean_array_size(v_paramsInfo_1661_); -v___x_1685_ = lean_box_usize(v_sz_1684_); -v___x_1686_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___boxed__const__1)); -v___f_1687_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1___boxed), 11, 4); -lean_closure_set(v___f_1687_, 0, v_paramsInfo_1661_); -lean_closure_set(v___f_1687_, 1, v___x_1685_); -lean_closure_set(v___f_1687_, 2, v___x_1686_); -lean_closure_set(v___f_1687_, 3, v___x_1683_); -lean_inc(v_scope_1674_); -v___f_1688_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2___boxed), 2, 1); -lean_closure_set(v___f_1688_, 0, v_scope_1674_); -v___x_1689_ = l_Lean_Compiler_LCNF_Closure_run___redArg(v___f_1687_, v___f_1688_, v___f_1680_, v_a_1664_, v_a_1665_, v_a_1666_, v_a_1667_); -return v___x_1689_; +size_t v_sz_1697_; lean_object* v___x_1698_; lean_object* v___x_1699_; lean_object* v___f_1700_; lean_object* v___f_1701_; lean_object* v___x_1702_; +v_sz_1697_ = lean_array_size(v_paramsInfo_1674_); +v___x_1698_ = lean_box_usize(v_sz_1697_); +v___x_1699_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___boxed__const__1)); +v___f_1700_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__1___boxed), 11, 4); +lean_closure_set(v___f_1700_, 0, v_paramsInfo_1674_); +lean_closure_set(v___f_1700_, 1, v___x_1698_); +lean_closure_set(v___f_1700_, 2, v___x_1699_); +lean_closure_set(v___f_1700_, 3, v___x_1696_); +lean_inc(v_scope_1687_); +v___f_1701_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___lam__2___boxed), 2, 1); +lean_closure_set(v___f_1701_, 0, v_scope_1687_); +v___x_1702_ = l_Lean_Compiler_LCNF_Closure_run___redArg(v___f_1700_, v___f_1701_, v___f_1693_, v_a_1677_, v_a_1678_, v_a_1679_, v_a_1680_); +return v___x_1702_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___boxed(lean_object* v_paramsInfo_1693_, lean_object* v_args_1694_, lean_object* v_a_1695_, lean_object* v_a_1696_, lean_object* v_a_1697_, lean_object* v_a_1698_, lean_object* v_a_1699_, lean_object* v_a_1700_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg___boxed(lean_object* v_paramsInfo_1706_, lean_object* v_args_1707_, lean_object* v_a_1708_, lean_object* v_a_1709_, lean_object* v_a_1710_, lean_object* v_a_1711_, lean_object* v_a_1712_, lean_object* v_a_1713_){ _start: { -lean_object* v_res_1701_; -v_res_1701_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_1693_, v_args_1694_, v_a_1695_, v_a_1696_, v_a_1697_, v_a_1698_, v_a_1699_); -lean_dec(v_a_1699_); -lean_dec_ref(v_a_1698_); -lean_dec(v_a_1697_); -lean_dec_ref(v_a_1696_); -lean_dec_ref(v_a_1695_); -return v_res_1701_; +lean_object* v_res_1714_; +v_res_1714_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_1706_, v_args_1707_, v_a_1708_, v_a_1709_, v_a_1710_, v_a_1711_, v_a_1712_); +lean_dec(v_a_1712_); +lean_dec_ref(v_a_1711_); +lean_dec(v_a_1710_); +lean_dec_ref(v_a_1709_); +lean_dec_ref(v_a_1708_); +return v_res_1714_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect(lean_object* v_paramsInfo_1702_, lean_object* v_args_1703_, lean_object* v_a_1704_, lean_object* v_a_1705_, lean_object* v_a_1706_, lean_object* v_a_1707_, lean_object* v_a_1708_, lean_object* v_a_1709_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect(lean_object* v_paramsInfo_1715_, lean_object* v_args_1716_, lean_object* v_a_1717_, lean_object* v_a_1718_, lean_object* v_a_1719_, lean_object* v_a_1720_, lean_object* v_a_1721_, lean_object* v_a_1722_){ _start: { -lean_object* v___x_1711_; -v___x_1711_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_1702_, v_args_1703_, v_a_1704_, v_a_1706_, v_a_1707_, v_a_1708_, v_a_1709_); -return v___x_1711_; +lean_object* v___x_1724_; +v___x_1724_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_1715_, v_args_1716_, v_a_1717_, v_a_1719_, v_a_1720_, v_a_1721_, v_a_1722_); +return v___x_1724_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___boxed(lean_object* v_paramsInfo_1712_, lean_object* v_args_1713_, lean_object* v_a_1714_, lean_object* v_a_1715_, lean_object* v_a_1716_, lean_object* v_a_1717_, lean_object* v_a_1718_, lean_object* v_a_1719_, lean_object* v_a_1720_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___boxed(lean_object* v_paramsInfo_1725_, lean_object* v_args_1726_, lean_object* v_a_1727_, lean_object* v_a_1728_, lean_object* v_a_1729_, lean_object* v_a_1730_, lean_object* v_a_1731_, lean_object* v_a_1732_, lean_object* v_a_1733_){ _start: { -lean_object* v_res_1721_; -v_res_1721_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect(v_paramsInfo_1712_, v_args_1713_, v_a_1714_, v_a_1715_, v_a_1716_, v_a_1717_, v_a_1718_, v_a_1719_); -lean_dec(v_a_1719_); -lean_dec_ref(v_a_1718_); -lean_dec(v_a_1717_); -lean_dec_ref(v_a_1716_); -lean_dec(v_a_1715_); -lean_dec_ref(v_a_1714_); -return v_res_1721_; -} -} -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0(lean_object* v_00_u03b2_1722_, lean_object* v_m_1723_, lean_object* v_a_1724_){ -_start: -{ -uint8_t v___x_1725_; -v___x_1725_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0___redArg(v_m_1723_, v_a_1724_); -return v___x_1725_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0___boxed(lean_object* v_00_u03b2_1726_, lean_object* v_m_1727_, lean_object* v_a_1728_){ -_start: -{ -uint8_t v_res_1729_; lean_object* v_r_1730_; -v_res_1729_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0(v_00_u03b2_1726_, v_m_1727_, v_a_1728_); +lean_object* v_res_1734_; +v_res_1734_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect(v_paramsInfo_1725_, v_args_1726_, v_a_1727_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_); +lean_dec(v_a_1732_); +lean_dec_ref(v_a_1731_); +lean_dec(v_a_1730_); +lean_dec_ref(v_a_1729_); lean_dec(v_a_1728_); -lean_dec_ref(v_m_1727_); -v_r_1730_ = lean_box(v_res_1729_); -return v_r_1730_; +lean_dec_ref(v_a_1727_); +return v_res_1734_; } } -LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1(lean_object* v_00_u03b2_1731_, lean_object* v_k_1732_, lean_object* v_t_1733_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0(lean_object* v_00_u03b2_1735_, lean_object* v_m_1736_, lean_object* v_a_1737_){ _start: { -uint8_t v___x_1734_; -v___x_1734_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_k_1732_, v_t_1733_); -return v___x_1734_; +uint8_t v___x_1738_; +v___x_1738_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0___redArg(v_m_1736_, v_a_1737_); +return v___x_1738_; } } -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___boxed(lean_object* v_00_u03b2_1735_, lean_object* v_k_1736_, lean_object* v_t_1737_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0___boxed(lean_object* v_00_u03b2_1739_, lean_object* v_m_1740_, lean_object* v_a_1741_){ _start: { -uint8_t v_res_1738_; lean_object* v_r_1739_; -v_res_1738_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1(v_00_u03b2_1735_, v_k_1736_, v_t_1737_); -lean_dec(v_t_1737_); -lean_dec(v_k_1736_); -v_r_1739_ = lean_box(v_res_1738_); -return v_r_1739_; +uint8_t v_res_1742_; lean_object* v_r_1743_; +v_res_1742_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0(v_00_u03b2_1739_, v_m_1740_, v_a_1741_); +lean_dec(v_a_1741_); +lean_dec_ref(v_m_1740_); +v_r_1743_ = lean_box(v_res_1742_); +return v_r_1743_; } } -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0(lean_object* v_00_u03b2_1740_, lean_object* v_a_1741_, lean_object* v_x_1742_){ +LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1(lean_object* v_00_u03b2_1744_, lean_object* v_k_1745_, lean_object* v_t_1746_){ _start: { -uint8_t v___x_1743_; -v___x_1743_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___redArg(v_a_1741_, v_x_1742_); -return v___x_1743_; +uint8_t v___x_1747_; +v___x_1747_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_k_1745_, v_t_1746_); +return v___x_1747_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1744_, lean_object* v_a_1745_, lean_object* v_x_1746_){ +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___boxed(lean_object* v_00_u03b2_1748_, lean_object* v_k_1749_, lean_object* v_t_1750_){ _start: { -uint8_t v_res_1747_; lean_object* v_r_1748_; -v_res_1747_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0(v_00_u03b2_1744_, v_a_1745_, v_x_1746_); -lean_dec(v_x_1746_); -lean_dec(v_a_1745_); -v_r_1748_ = lean_box(v_res_1747_); -return v_r_1748_; +uint8_t v_res_1751_; lean_object* v_r_1752_; +v_res_1751_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1(v_00_u03b2_1748_, v_k_1749_, v_t_1750_); +lean_dec(v_t_1750_); +lean_dec(v_k_1749_); +v_r_1752_ = lean_box(v_res_1751_); +return v_r_1752_; } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0(lean_object* v_ground_1749_, lean_object* v_x_1750_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0(lean_object* v_00_u03b2_1753_, lean_object* v_a_1754_, lean_object* v_x_1755_){ _start: { -uint8_t v___x_1751_; -v___x_1751_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_x_1750_, v_ground_1749_); -return v___x_1751_; +uint8_t v___x_1756_; +v___x_1756_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___redArg(v_a_1754_, v_x_1755_); +return v___x_1756_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed(lean_object* v_ground_1752_, lean_object* v_x_1753_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1757_, lean_object* v_a_1758_, lean_object* v_x_1759_){ _start: { -uint8_t v_res_1754_; lean_object* v_r_1755_; -v_res_1754_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0(v_ground_1752_, v_x_1753_); -lean_dec(v_x_1753_); -lean_dec(v_ground_1752_); -v_r_1755_ = lean_box(v_res_1754_); -return v_r_1755_; +uint8_t v_res_1760_; lean_object* v_r_1761_; +v_res_1760_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0(v_00_u03b2_1757_, v_a_1758_, v_x_1759_); +lean_dec(v_x_1759_); +lean_dec(v_a_1758_); +v_r_1761_ = lean_box(v_res_1760_); +return v_r_1761_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0(lean_object* v_f_1756_, lean_object* v_x_1757_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0(lean_object* v_ground_1762_, lean_object* v_x_1763_){ _start: { -lean_object* v___x_1758_; uint8_t v___x_1759_; -v___x_1758_ = lean_apply_1(v_f_1756_, v_x_1757_); -v___x_1759_ = lean_unbox(v___x_1758_); -return v___x_1759_; +uint8_t v___x_1764_; +v___x_1764_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_x_1763_, v_ground_1762_); +return v___x_1764_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed(lean_object* v_f_1760_, lean_object* v_x_1761_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed(lean_object* v_ground_1765_, lean_object* v_x_1766_){ _start: { -uint8_t v_res_1762_; lean_object* v_r_1763_; -v_res_1762_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0(v_f_1760_, v_x_1761_); -v_r_1763_ = lean_box(v_res_1762_); -return v_r_1763_; +uint8_t v_res_1767_; lean_object* v_r_1768_; +v_res_1767_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0(v_ground_1765_, v_x_1766_); +lean_dec(v_x_1766_); +lean_dec(v_ground_1765_); +v_r_1768_ = lean_box(v_res_1767_); +return v_r_1768_; } } -LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(lean_object* v_msg_1771_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0(lean_object* v_f_1769_, lean_object* v_x_1770_){ _start: { -lean_object* v___f_1772_; lean_object* v___f_1773_; lean_object* v___f_1774_; lean_object* v___f_1775_; lean_object* v___f_1776_; lean_object* v___f_1777_; lean_object* v___f_1778_; lean_object* v___x_1779_; lean_object* v___x_1780_; lean_object* v___x_1781_; lean_object* v___f_1782_; lean_object* v___f_1783_; lean_object* v___f_1784_; lean_object* v___f_1785_; lean_object* v___f_1786_; lean_object* v___x_1787_; lean_object* v___x_1788_; lean_object* v___x_1789_; lean_object* v___x_1790_; lean_object* v___x_1791_; lean_object* v___x_1792_; lean_object* v___x_1793_; lean_object* v___x_1794_; -v___f_1772_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__0)); -v___f_1773_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__1)); -v___f_1774_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__2)); -v___f_1775_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__3)); -v___f_1776_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__4)); -v___f_1777_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__5)); -v___f_1778_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__6)); -v___x_1779_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1779_, 0, v___f_1772_); -lean_ctor_set(v___x_1779_, 1, v___f_1773_); -v___x_1780_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_1780_, 0, v___x_1779_); -lean_ctor_set(v___x_1780_, 1, v___f_1774_); -lean_ctor_set(v___x_1780_, 2, v___f_1775_); -lean_ctor_set(v___x_1780_, 3, v___f_1776_); -lean_ctor_set(v___x_1780_, 4, v___f_1777_); -v___x_1781_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1781_, 0, v___x_1780_); -lean_ctor_set(v___x_1781_, 1, v___f_1778_); -lean_inc_ref(v___x_1781_); -v___f_1782_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__1), 5, 1); -lean_closure_set(v___f_1782_, 0, v___x_1781_); -lean_inc_ref(v___x_1781_); -v___f_1783_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__3), 5, 1); -lean_closure_set(v___f_1783_, 0, v___x_1781_); -lean_inc_ref(v___x_1781_); -v___f_1784_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__6), 5, 1); -lean_closure_set(v___f_1784_, 0, v___x_1781_); -lean_inc_ref(v___x_1781_); -v___f_1785_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__9), 5, 1); -lean_closure_set(v___f_1785_, 0, v___x_1781_); -lean_inc_ref(v___x_1781_); -v___f_1786_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__11), 5, 1); -lean_closure_set(v___f_1786_, 0, v___x_1781_); -v___x_1787_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1787_, 0, v___f_1782_); -lean_ctor_set(v___x_1787_, 1, v___f_1783_); -lean_inc_ref(v___x_1781_); -v___x_1788_ = lean_alloc_closure((void*)(l_OptionT_pure), 4, 2); -lean_closure_set(v___x_1788_, 0, lean_box(0)); -lean_closure_set(v___x_1788_, 1, v___x_1781_); -v___x_1789_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_1789_, 0, v___x_1787_); -lean_ctor_set(v___x_1789_, 1, v___x_1788_); -lean_ctor_set(v___x_1789_, 2, v___f_1784_); -lean_ctor_set(v___x_1789_, 3, v___f_1785_); -lean_ctor_set(v___x_1789_, 4, v___f_1786_); -v___x_1790_ = lean_alloc_closure((void*)(l_OptionT_bind), 6, 2); -lean_closure_set(v___x_1790_, 0, lean_box(0)); -lean_closure_set(v___x_1790_, 1, v___x_1781_); -v___x_1791_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1791_, 0, v___x_1789_); -lean_ctor_set(v___x_1791_, 1, v___x_1790_); -v___x_1792_ = lean_box(0); -v___x_1793_ = l_instInhabitedOfMonad___redArg(v___x_1791_, v___x_1792_); -v___x_1794_ = lean_panic_fn_borrowed(v___x_1793_, v_msg_1771_); -lean_dec(v___x_1793_); -return v___x_1794_; +lean_object* v___x_1771_; uint8_t v___x_1772_; +v___x_1771_ = lean_apply_1(v_f_1769_, v_x_1770_); +v___x_1772_ = lean_unbox(v___x_1771_); +return v___x_1772_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed(lean_object* v_f_1773_, lean_object* v_x_1774_){ +_start: +{ +uint8_t v_res_1775_; lean_object* v_r_1776_; +v_res_1775_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0(v_f_1773_, v_x_1774_); +v_r_1776_ = lean_box(v_res_1775_); +return v_r_1776_; +} +} +LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(lean_object* v_msg_1784_){ +_start: +{ +lean_object* v___f_1785_; lean_object* v___f_1786_; lean_object* v___f_1787_; lean_object* v___f_1788_; lean_object* v___f_1789_; lean_object* v___f_1790_; lean_object* v___f_1791_; lean_object* v___x_1792_; lean_object* v___x_1793_; lean_object* v___x_1794_; lean_object* v___f_1795_; lean_object* v___f_1796_; lean_object* v___f_1797_; lean_object* v___f_1798_; lean_object* v___f_1799_; lean_object* v___x_1800_; lean_object* v___x_1801_; lean_object* v___x_1802_; lean_object* v___x_1803_; lean_object* v___x_1804_; lean_object* v___x_1805_; lean_object* v___x_1806_; lean_object* v___x_1807_; +v___f_1785_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__0)); +v___f_1786_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__1)); +v___f_1787_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__2)); +v___f_1788_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__3)); +v___f_1789_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__4)); +v___f_1790_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__5)); +v___f_1791_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6___closed__6)); +v___x_1792_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1792_, 0, v___f_1785_); +lean_ctor_set(v___x_1792_, 1, v___f_1786_); +v___x_1793_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_1793_, 0, v___x_1792_); +lean_ctor_set(v___x_1793_, 1, v___f_1787_); +lean_ctor_set(v___x_1793_, 2, v___f_1788_); +lean_ctor_set(v___x_1793_, 3, v___f_1789_); +lean_ctor_set(v___x_1793_, 4, v___f_1790_); +v___x_1794_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1794_, 0, v___x_1793_); +lean_ctor_set(v___x_1794_, 1, v___f_1791_); +lean_inc_ref(v___x_1794_); +v___f_1795_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__1), 5, 1); +lean_closure_set(v___f_1795_, 0, v___x_1794_); +lean_inc_ref(v___x_1794_); +v___f_1796_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__3), 5, 1); +lean_closure_set(v___f_1796_, 0, v___x_1794_); +lean_inc_ref(v___x_1794_); +v___f_1797_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__6), 5, 1); +lean_closure_set(v___f_1797_, 0, v___x_1794_); +lean_inc_ref(v___x_1794_); +v___f_1798_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__9), 5, 1); +lean_closure_set(v___f_1798_, 0, v___x_1794_); +lean_inc_ref(v___x_1794_); +v___f_1799_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__11), 5, 1); +lean_closure_set(v___f_1799_, 0, v___x_1794_); +v___x_1800_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1800_, 0, v___f_1795_); +lean_ctor_set(v___x_1800_, 1, v___f_1796_); +lean_inc_ref(v___x_1794_); +v___x_1801_ = lean_alloc_closure((void*)(l_OptionT_pure), 4, 2); +lean_closure_set(v___x_1801_, 0, lean_box(0)); +lean_closure_set(v___x_1801_, 1, v___x_1794_); +v___x_1802_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_1802_, 0, v___x_1800_); +lean_ctor_set(v___x_1802_, 1, v___x_1801_); +lean_ctor_set(v___x_1802_, 2, v___f_1797_); +lean_ctor_set(v___x_1802_, 3, v___f_1798_); +lean_ctor_set(v___x_1802_, 4, v___f_1799_); +v___x_1803_ = lean_alloc_closure((void*)(l_OptionT_bind), 6, 2); +lean_closure_set(v___x_1803_, 0, lean_box(0)); +lean_closure_set(v___x_1803_, 1, v___x_1794_); +v___x_1804_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1804_, 0, v___x_1802_); +lean_ctor_set(v___x_1804_, 1, v___x_1803_); +v___x_1805_ = lean_box(0); +v___x_1806_ = l_instInhabitedOfMonad___redArg(v___x_1804_, v___x_1805_); +v___x_1807_ = lean_panic_fn_borrowed(v___x_1806_, v_msg_1784_); +lean_dec(v___x_1806_); +return v___x_1807_; } } static lean_object* _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4(void){ _start: { -lean_object* v___x_1800_; lean_object* v___x_1801_; lean_object* v___x_1802_; lean_object* v___x_1803_; lean_object* v___x_1804_; lean_object* v___x_1805_; -v___x_1800_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__3)); -v___x_1801_ = lean_unsigned_to_nat(40u); -v___x_1802_ = lean_unsigned_to_nat(49u); -v___x_1803_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__2)); -v___x_1804_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__1)); -v___x_1805_ = l_mkPanicMessageWithDecl(v___x_1804_, v___x_1803_, v___x_1802_, v___x_1801_, v___x_1800_); -return v___x_1805_; +lean_object* v___x_1813_; lean_object* v___x_1814_; lean_object* v___x_1815_; lean_object* v___x_1816_; lean_object* v___x_1817_; lean_object* v___x_1818_; +v___x_1813_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__3)); +v___x_1814_ = lean_unsigned_to_nat(40u); +v___x_1815_ = lean_unsigned_to_nat(49u); +v___x_1816_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__2)); +v___x_1817_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__1)); +v___x_1818_ = l_mkPanicMessageWithDecl(v___x_1817_, v___x_1816_, v___x_1815_, v___x_1814_, v___x_1813_); +return v___x_1818_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(lean_object* v_f_1806_, lean_object* v_e_1807_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(lean_object* v_f_1819_, lean_object* v_e_1820_){ _start: { -lean_object* v_ty_1809_; lean_object* v_body_1810_; uint8_t v___x_1813_; -v___x_1813_ = l_Lean_Expr_hasFVar(v_e_1807_); -if (v___x_1813_ == 0) +lean_object* v_ty_1822_; lean_object* v_body_1823_; uint8_t v___x_1826_; +v___x_1826_ = l_Lean_Expr_hasFVar(v_e_1820_); +if (v___x_1826_ == 0) { -lean_object* v___x_1814_; -lean_dec_ref(v_e_1807_); -lean_dec_ref(v_f_1806_); -v___x_1814_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_1814_; +lean_object* v___x_1827_; +lean_dec_ref(v_e_1820_); +lean_dec_ref(v_f_1819_); +v___x_1827_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_1827_; } else { -switch(lean_obj_tag(v_e_1807_)) +switch(lean_obj_tag(v_e_1820_)) { case 1: { -lean_object* v_fvarId_1815_; lean_object* v___x_1816_; -v_fvarId_1815_ = lean_ctor_get(v_e_1807_, 0); -lean_inc(v_fvarId_1815_); -lean_dec_ref(v_e_1807_); -v___x_1816_ = lean_apply_1(v_f_1806_, v_fvarId_1815_); -return v___x_1816_; +lean_object* v_fvarId_1828_; lean_object* v___x_1829_; +v_fvarId_1828_ = lean_ctor_get(v_e_1820_, 0); +lean_inc(v_fvarId_1828_); +lean_dec_ref(v_e_1820_); +v___x_1829_ = lean_apply_1(v_f_1819_, v_fvarId_1828_); +return v___x_1829_; } case 2: { -lean_object* v___x_1817_; lean_object* v___x_1818_; -lean_dec_ref(v_e_1807_); -lean_dec_ref(v_f_1806_); -v___x_1817_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); -v___x_1818_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1817_); -return v___x_1818_; +lean_object* v___x_1830_; lean_object* v___x_1831_; +lean_dec_ref(v_e_1820_); +lean_dec_ref(v_f_1819_); +v___x_1830_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); +v___x_1831_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1830_); +return v___x_1831_; } case 5: { -lean_object* v_fn_1819_; lean_object* v_arg_1820_; lean_object* v___x_1821_; -v_fn_1819_ = lean_ctor_get(v_e_1807_, 0); -lean_inc_ref(v_fn_1819_); -v_arg_1820_ = lean_ctor_get(v_e_1807_, 1); -lean_inc_ref(v_arg_1820_); -lean_dec_ref(v_e_1807_); -lean_inc_ref(v_f_1806_); -v___x_1821_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1806_, v_fn_1819_); -if (lean_obj_tag(v___x_1821_) == 0) +lean_object* v_fn_1832_; lean_object* v_arg_1833_; lean_object* v___x_1834_; +v_fn_1832_ = lean_ctor_get(v_e_1820_, 0); +lean_inc_ref(v_fn_1832_); +v_arg_1833_ = lean_ctor_get(v_e_1820_, 1); +lean_inc_ref(v_arg_1833_); +lean_dec_ref(v_e_1820_); +lean_inc_ref(v_f_1819_); +v___x_1834_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1819_, v_fn_1832_); +if (lean_obj_tag(v___x_1834_) == 0) { -lean_dec_ref(v_arg_1820_); -lean_dec_ref(v_f_1806_); -return v___x_1821_; +lean_dec_ref(v_arg_1833_); +lean_dec_ref(v_f_1819_); +return v___x_1834_; } else { -lean_dec_ref(v___x_1821_); -v_e_1807_ = v_arg_1820_; +lean_dec_ref(v___x_1834_); +v_e_1820_ = v_arg_1833_; goto _start; } } case 6: { -lean_object* v_binderType_1823_; lean_object* v_body_1824_; -v_binderType_1823_ = lean_ctor_get(v_e_1807_, 1); -lean_inc_ref(v_binderType_1823_); -v_body_1824_ = lean_ctor_get(v_e_1807_, 2); -lean_inc_ref(v_body_1824_); -lean_dec_ref(v_e_1807_); -v_ty_1809_ = v_binderType_1823_; -v_body_1810_ = v_body_1824_; -goto v___jp_1808_; +lean_object* v_binderType_1836_; lean_object* v_body_1837_; +v_binderType_1836_ = lean_ctor_get(v_e_1820_, 1); +lean_inc_ref(v_binderType_1836_); +v_body_1837_ = lean_ctor_get(v_e_1820_, 2); +lean_inc_ref(v_body_1837_); +lean_dec_ref(v_e_1820_); +v_ty_1822_ = v_binderType_1836_; +v_body_1823_ = v_body_1837_; +goto v___jp_1821_; } case 7: { -lean_object* v_binderType_1825_; lean_object* v_body_1826_; -v_binderType_1825_ = lean_ctor_get(v_e_1807_, 1); -lean_inc_ref(v_binderType_1825_); -v_body_1826_ = lean_ctor_get(v_e_1807_, 2); -lean_inc_ref(v_body_1826_); -lean_dec_ref(v_e_1807_); -v_ty_1809_ = v_binderType_1825_; -v_body_1810_ = v_body_1826_; -goto v___jp_1808_; +lean_object* v_binderType_1838_; lean_object* v_body_1839_; +v_binderType_1838_ = lean_ctor_get(v_e_1820_, 1); +lean_inc_ref(v_binderType_1838_); +v_body_1839_ = lean_ctor_get(v_e_1820_, 2); +lean_inc_ref(v_body_1839_); +lean_dec_ref(v_e_1820_); +v_ty_1822_ = v_binderType_1838_; +v_body_1823_ = v_body_1839_; +goto v___jp_1821_; } case 8: { -lean_object* v___x_1827_; lean_object* v___x_1828_; -lean_dec_ref(v_e_1807_); -lean_dec_ref(v_f_1806_); -v___x_1827_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); -v___x_1828_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1827_); -return v___x_1828_; +lean_object* v___x_1840_; lean_object* v___x_1841_; +lean_dec_ref(v_e_1820_); +lean_dec_ref(v_f_1819_); +v___x_1840_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); +v___x_1841_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1840_); +return v___x_1841_; } case 11: { -lean_object* v___x_1829_; lean_object* v___x_1830_; -lean_dec_ref(v_e_1807_); -lean_dec_ref(v_f_1806_); -v___x_1829_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); -v___x_1830_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1829_); -return v___x_1830_; -} -default: -{ -lean_object* v___x_1831_; -lean_dec_ref(v_e_1807_); -lean_dec_ref(v_f_1806_); -v___x_1831_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_1831_; -} -} -} -v___jp_1808_: -{ -lean_object* v___x_1811_; -lean_inc_ref(v_f_1806_); -v___x_1811_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1806_, v_ty_1809_); -if (lean_obj_tag(v___x_1811_) == 0) -{ -lean_dec_ref(v_body_1810_); -lean_dec_ref(v_f_1806_); -return v___x_1811_; -} -else -{ -lean_dec_ref(v___x_1811_); -v_e_1807_ = v_body_1810_; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(lean_object* v_f_1832_, lean_object* v_arg_1833_){ -_start: -{ -switch(lean_obj_tag(v_arg_1833_)) -{ -case 0: -{ -lean_object* v___x_1834_; -lean_dec_ref(v_f_1832_); -v___x_1834_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_1834_; -} -case 1: -{ -lean_object* v_fvarId_1835_; lean_object* v___x_1836_; -v_fvarId_1835_ = lean_ctor_get(v_arg_1833_, 0); -lean_inc(v_fvarId_1835_); -lean_dec_ref(v_arg_1833_); -v___x_1836_ = lean_apply_1(v_f_1832_, v_fvarId_1835_); -return v___x_1836_; -} -default: -{ -lean_object* v_expr_1837_; lean_object* v___x_1838_; -v_expr_1837_ = lean_ctor_get(v_arg_1833_, 0); -lean_inc_ref(v_expr_1837_); -lean_dec_ref(v_arg_1833_); -v___x_1838_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1832_, v_expr_1837_); -return v___x_1838_; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3(lean_object* v_f_1839_, lean_object* v_fvar_1840_){ -_start: -{ -lean_object* v___x_1841_; uint8_t v___x_1842_; -v___x_1841_ = lean_apply_1(v_f_1839_, v_fvar_1840_); -v___x_1842_ = lean_unbox(v___x_1841_); -if (v___x_1842_ == 0) -{ -lean_object* v___x_1843_; -v___x_1843_ = lean_box(0); +lean_object* v___x_1842_; lean_object* v___x_1843_; +lean_dec_ref(v_e_1820_); +lean_dec_ref(v_f_1819_); +v___x_1842_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__4); +v___x_1843_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5_spec__6(v___x_1842_); return v___x_1843_; } -else +default: { lean_object* v___x_1844_; +lean_dec_ref(v_e_1820_); +lean_dec_ref(v_f_1819_); v___x_1844_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); return v___x_1844_; } } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(lean_object* v_f_1845_, lean_object* v_x_1846_){ -_start: +v___jp_1821_: { -lean_object* v___x_1847_; lean_object* v___x_1848_; -v___x_1847_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); -lean_closure_set(v___x_1847_, 0, v_f_1845_); -v___x_1848_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v___x_1847_, v_x_1846_); -if (lean_obj_tag(v___x_1848_) == 1) +lean_object* v___x_1824_; +lean_inc_ref(v_f_1819_); +v___x_1824_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1819_, v_ty_1822_); +if (lean_obj_tag(v___x_1824_) == 0) { -uint8_t v___x_1849_; -lean_dec_ref(v___x_1848_); -v___x_1849_ = 1; -return v___x_1849_; +lean_dec_ref(v_body_1823_); +lean_dec_ref(v_f_1819_); +return v___x_1824_; } else { -uint8_t v___x_1850_; -lean_dec(v___x_1848_); -v___x_1850_ = 0; -return v___x_1850_; +lean_dec_ref(v___x_1824_); +v_e_1820_ = v_body_1823_; +goto _start; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1___boxed(lean_object* v_f_1851_, lean_object* v_x_1852_){ +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(lean_object* v_f_1845_, lean_object* v_arg_1846_){ _start: { -uint8_t v_res_1853_; lean_object* v_r_1854_; -v_res_1853_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(v_f_1851_, v_x_1852_); -v_r_1854_ = lean_box(v_res_1853_); -return v_r_1854_; +switch(lean_obj_tag(v_arg_1846_)) +{ +case 0: +{ +lean_object* v___x_1847_; +lean_dec_ref(v_f_1845_); +v___x_1847_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_1847_; } -} -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(lean_object* v_f_1855_, lean_object* v_x_1856_){ -_start: -{ -lean_object* v___f_1857_; uint8_t v___x_1858_; -v___f_1857_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); -lean_closure_set(v___f_1857_, 0, v_f_1855_); -v___x_1858_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(v___f_1857_, v_x_1856_); -return v___x_1858_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___boxed(lean_object* v_f_1859_, lean_object* v_x_1860_){ -_start: -{ -uint8_t v_res_1861_; lean_object* v_r_1862_; -v_res_1861_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(v_f_1859_, v_x_1860_); -v_r_1862_ = lean_box(v_res_1861_); -return v_r_1862_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(lean_object* v_e_1863_, lean_object* v_a_1864_){ -_start: -{ -lean_object* v_ground_1866_; lean_object* v___f_1867_; uint8_t v___x_1868_; lean_object* v___x_1869_; lean_object* v___x_1870_; -v_ground_1866_ = lean_ctor_get(v_a_1864_, 1); -lean_inc(v_ground_1866_); -v___f_1867_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed), 2, 1); -lean_closure_set(v___f_1867_, 0, v_ground_1866_); -v___x_1868_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(v___f_1867_, v_e_1863_); -v___x_1869_ = lean_box(v___x_1868_); -v___x_1870_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1870_, 0, v___x_1869_); -return v___x_1870_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___boxed(lean_object* v_e_1871_, lean_object* v_a_1872_, lean_object* v_a_1873_){ -_start: -{ -lean_object* v_res_1874_; -v_res_1874_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v_e_1871_, v_a_1872_); -lean_dec_ref(v_a_1872_); -return v_res_1874_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(uint8_t v___y_1875_, lean_object* v_as_1876_, size_t v_sz_1877_, size_t v_i_1878_, lean_object* v_b_1879_, lean_object* v___y_1880_, lean_object* v___y_1881_, lean_object* v___y_1882_, lean_object* v___y_1883_, lean_object* v___y_1884_, lean_object* v___y_1885_){ -_start: -{ -lean_object* v_a_1888_; uint8_t v___x_1892_; -v___x_1892_ = lean_usize_dec_lt(v_i_1878_, v_sz_1877_); -if (v___x_1892_ == 0) -{ -lean_object* v___x_1893_; -v___x_1893_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1893_, 0, v_b_1879_); -return v___x_1893_; -} -else -{ -lean_object* v_snd_1894_; lean_object* v___x_1896_; uint8_t v_isShared_1897_; uint8_t v_isSharedCheck_1967_; -v_snd_1894_ = lean_ctor_get(v_b_1879_, 1); -v_isSharedCheck_1967_ = !lean_is_exclusive(v_b_1879_); -if (v_isSharedCheck_1967_ == 0) -{ -lean_object* v_unused_1968_; -v_unused_1968_ = lean_ctor_get(v_b_1879_, 0); -lean_dec(v_unused_1968_); -v___x_1896_ = v_b_1879_; -v_isShared_1897_ = v_isSharedCheck_1967_; -goto v_resetjp_1895_; -} -else -{ -lean_inc(v_snd_1894_); -lean_dec(v_b_1879_); -v___x_1896_ = lean_box(0); -v_isShared_1897_ = v_isSharedCheck_1967_; -goto v_resetjp_1895_; -} -v_resetjp_1895_: -{ -lean_object* v_array_1898_; lean_object* v_start_1899_; lean_object* v_stop_1900_; lean_object* v___x_1901_; uint8_t v___x_1902_; -v_array_1898_ = lean_ctor_get(v_snd_1894_, 0); -v_start_1899_ = lean_ctor_get(v_snd_1894_, 1); -v_stop_1900_ = lean_ctor_get(v_snd_1894_, 2); -v___x_1901_ = lean_box(0); -v___x_1902_ = lean_nat_dec_lt(v_start_1899_, v_stop_1900_); -if (v___x_1902_ == 0) -{ -lean_object* v___x_1904_; -if (v_isShared_1897_ == 0) -{ -lean_ctor_set(v___x_1896_, 0, v___x_1901_); -v___x_1904_ = v___x_1896_; -goto v_reusejp_1903_; -} -else -{ -lean_object* v_reuseFailAlloc_1906_; -v_reuseFailAlloc_1906_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1906_, 0, v___x_1901_); -lean_ctor_set(v_reuseFailAlloc_1906_, 1, v_snd_1894_); -v___x_1904_ = v_reuseFailAlloc_1906_; -goto v_reusejp_1903_; -} -v_reusejp_1903_: -{ -lean_object* v___x_1905_; -v___x_1905_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1905_, 0, v___x_1904_); -return v___x_1905_; -} -} -else -{ -lean_object* v___x_1908_; uint8_t v_isShared_1909_; uint8_t v_isSharedCheck_1963_; -lean_inc(v_stop_1900_); -lean_inc(v_start_1899_); -lean_inc_ref(v_array_1898_); -v_isSharedCheck_1963_ = !lean_is_exclusive(v_snd_1894_); -if (v_isSharedCheck_1963_ == 0) -{ -lean_object* v_unused_1964_; lean_object* v_unused_1965_; lean_object* v_unused_1966_; -v_unused_1964_ = lean_ctor_get(v_snd_1894_, 2); -lean_dec(v_unused_1964_); -v_unused_1965_ = lean_ctor_get(v_snd_1894_, 1); -lean_dec(v_unused_1965_); -v_unused_1966_ = lean_ctor_get(v_snd_1894_, 0); -lean_dec(v_unused_1966_); -v___x_1908_ = v_snd_1894_; -v_isShared_1909_ = v_isSharedCheck_1963_; -goto v_resetjp_1907_; -} -else -{ -lean_dec(v_snd_1894_); -v___x_1908_ = lean_box(0); -v_isShared_1909_ = v_isSharedCheck_1963_; -goto v_resetjp_1907_; -} -v_resetjp_1907_: -{ -lean_object* v_a_1910_; lean_object* v___x_1911_; lean_object* v___x_1912_; lean_object* v___x_1913_; lean_object* v___x_1915_; -v_a_1910_ = lean_array_uget_borrowed(v_as_1876_, v_i_1878_); -v___x_1911_ = lean_array_fget(v_array_1898_, v_start_1899_); -v___x_1912_ = lean_unsigned_to_nat(1u); -v___x_1913_ = lean_nat_add(v_start_1899_, v___x_1912_); -lean_dec(v_start_1899_); -if (v_isShared_1909_ == 0) -{ -lean_ctor_set(v___x_1908_, 1, v___x_1913_); -v___x_1915_ = v___x_1908_; -goto v_reusejp_1914_; -} -else -{ -lean_object* v_reuseFailAlloc_1962_; -v_reuseFailAlloc_1962_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v_reuseFailAlloc_1962_, 0, v_array_1898_); -lean_ctor_set(v_reuseFailAlloc_1962_, 1, v___x_1913_); -lean_ctor_set(v_reuseFailAlloc_1962_, 2, v_stop_1900_); -v___x_1915_ = v_reuseFailAlloc_1962_; -goto v_reusejp_1914_; -} -v_reusejp_1914_: -{ -uint8_t v___x_1927_; -v___x_1927_ = lean_unbox(v_a_1910_); -switch(v___x_1927_) -{ case 1: { -if (v___y_1875_ == 0) -{ -lean_dec(v___x_1911_); -lean_del_object(v___x_1896_); -goto v___jp_1920_; -} -else -{ -if (lean_obj_tag(v___x_1911_) == 1) -{ -lean_object* v_fvarId_1928_; uint8_t v___x_1929_; lean_object* v___x_1930_; -v_fvarId_1928_ = lean_ctor_get(v___x_1911_, 0); -lean_inc(v_fvarId_1928_); -lean_dec_ref(v___x_1911_); -v___x_1929_ = 0; -v___x_1930_ = l_Lean_Compiler_LCNF_findParam_x3f___redArg(v___x_1929_, v_fvarId_1928_, v___y_1883_); -lean_dec(v_fvarId_1928_); -if (lean_obj_tag(v___x_1930_) == 0) -{ -lean_object* v_a_1931_; -v_a_1931_ = lean_ctor_get(v___x_1930_, 0); -lean_inc(v_a_1931_); -lean_dec_ref(v___x_1930_); -if (lean_obj_tag(v_a_1931_) == 0) -{ -lean_del_object(v___x_1896_); -goto v___jp_1920_; -} -else -{ -lean_dec_ref(v_a_1931_); -goto v___jp_1916_; -} -} -else -{ -lean_object* v_a_1932_; lean_object* v___x_1934_; uint8_t v_isShared_1935_; uint8_t v_isSharedCheck_1939_; -lean_dec_ref(v___x_1915_); -lean_del_object(v___x_1896_); -v_a_1932_ = lean_ctor_get(v___x_1930_, 0); -v_isSharedCheck_1939_ = !lean_is_exclusive(v___x_1930_); -if (v_isSharedCheck_1939_ == 0) -{ -v___x_1934_ = v___x_1930_; -v_isShared_1935_ = v_isSharedCheck_1939_; -goto v_resetjp_1933_; -} -else -{ -lean_inc(v_a_1932_); -lean_dec(v___x_1930_); -v___x_1934_ = lean_box(0); -v_isShared_1935_ = v_isSharedCheck_1939_; -goto v_resetjp_1933_; -} -v_resetjp_1933_: -{ -lean_object* v___x_1937_; -if (v_isShared_1935_ == 0) -{ -v___x_1937_ = v___x_1934_; -goto v_reusejp_1936_; -} -else -{ -lean_object* v_reuseFailAlloc_1938_; -v_reuseFailAlloc_1938_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1938_, 0, v_a_1932_); -v___x_1937_ = v_reuseFailAlloc_1938_; -goto v_reusejp_1936_; -} -v_reusejp_1936_: -{ -return v___x_1937_; -} -} -} -} -else -{ -lean_dec(v___x_1911_); -goto v___jp_1916_; -} -} -} -case 2: -{ -lean_dec(v___x_1911_); -lean_del_object(v___x_1896_); -goto v___jp_1925_; -} -case 4: -{ -lean_dec(v___x_1911_); -lean_del_object(v___x_1896_); -goto v___jp_1925_; +lean_object* v_fvarId_1848_; lean_object* v___x_1849_; +v_fvarId_1848_ = lean_ctor_get(v_arg_1846_, 0); +lean_inc(v_fvarId_1848_); +lean_dec_ref(v_arg_1846_); +v___x_1849_ = lean_apply_1(v_f_1845_, v_fvarId_1848_); +return v___x_1849_; } default: { -lean_object* v___x_1940_; -lean_del_object(v___x_1896_); -v___x_1940_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v___x_1911_, v___y_1880_); -if (lean_obj_tag(v___x_1940_) == 0) +lean_object* v_expr_1850_; lean_object* v___x_1851_; +v_expr_1850_ = lean_ctor_get(v_arg_1846_, 0); +lean_inc_ref(v_expr_1850_); +lean_dec_ref(v_arg_1846_); +v___x_1851_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_1845_, v_expr_1850_); +return v___x_1851_; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3(lean_object* v_f_1852_, lean_object* v_fvar_1853_){ +_start: { -lean_object* v_a_1941_; lean_object* v___x_1943_; uint8_t v_isShared_1944_; uint8_t v_isSharedCheck_1953_; -v_a_1941_ = lean_ctor_get(v___x_1940_, 0); -v_isSharedCheck_1953_ = !lean_is_exclusive(v___x_1940_); -if (v_isSharedCheck_1953_ == 0) +lean_object* v___x_1854_; uint8_t v___x_1855_; +v___x_1854_ = lean_apply_1(v_f_1852_, v_fvar_1853_); +v___x_1855_ = lean_unbox(v___x_1854_); +if (v___x_1855_ == 0) { -v___x_1943_ = v___x_1940_; -v_isShared_1944_ = v_isSharedCheck_1953_; -goto v_resetjp_1942_; +lean_object* v___x_1856_; +v___x_1856_ = lean_box(0); +return v___x_1856_; } else { -lean_inc(v_a_1941_); -lean_dec(v___x_1940_); -v___x_1943_ = lean_box(0); -v_isShared_1944_ = v_isSharedCheck_1953_; -goto v_resetjp_1942_; +lean_object* v___x_1857_; +v___x_1857_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_1857_; } -v_resetjp_1942_: +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(lean_object* v_f_1858_, lean_object* v_x_1859_){ +_start: { -uint8_t v___x_1945_; -v___x_1945_ = lean_unbox(v_a_1941_); -lean_dec(v_a_1941_); -if (v___x_1945_ == 0) +lean_object* v___x_1860_; lean_object* v___x_1861_; +v___x_1860_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); +lean_closure_set(v___x_1860_, 0, v_f_1858_); +v___x_1861_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v___x_1860_, v_x_1859_); +if (lean_obj_tag(v___x_1861_) == 1) { -lean_object* v___x_1946_; -lean_del_object(v___x_1943_); -v___x_1946_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1946_, 0, v___x_1901_); -lean_ctor_set(v___x_1946_, 1, v___x_1915_); -v_a_1888_ = v___x_1946_; -goto v___jp_1887_; +uint8_t v___x_1862_; +lean_dec_ref(v___x_1861_); +v___x_1862_ = 1; +return v___x_1862_; } else { -lean_object* v___x_1947_; lean_object* v___x_1948_; lean_object* v___x_1949_; lean_object* v___x_1951_; -v___x_1947_ = lean_box(v___x_1902_); -v___x_1948_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_1948_, 0, v___x_1947_); -v___x_1949_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1949_, 0, v___x_1948_); -lean_ctor_set(v___x_1949_, 1, v___x_1915_); -if (v_isShared_1944_ == 0) +uint8_t v___x_1863_; +lean_dec(v___x_1861_); +v___x_1863_ = 0; +return v___x_1863_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1___boxed(lean_object* v_f_1864_, lean_object* v_x_1865_){ +_start: { -lean_ctor_set(v___x_1943_, 0, v___x_1949_); -v___x_1951_ = v___x_1943_; -goto v_reusejp_1950_; +uint8_t v_res_1866_; lean_object* v_r_1867_; +v_res_1866_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(v_f_1864_, v_x_1865_); +v_r_1867_ = lean_box(v_res_1866_); +return v_r_1867_; +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(lean_object* v_f_1868_, lean_object* v_x_1869_){ +_start: +{ +lean_object* v___f_1870_; uint8_t v___x_1871_; +v___f_1870_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); +lean_closure_set(v___f_1870_, 0, v_f_1868_); +v___x_1871_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1(v___f_1870_, v_x_1869_); +return v___x_1871_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___boxed(lean_object* v_f_1872_, lean_object* v_x_1873_){ +_start: +{ +uint8_t v_res_1874_; lean_object* v_r_1875_; +v_res_1874_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(v_f_1872_, v_x_1873_); +v_r_1875_ = lean_box(v_res_1874_); +return v_r_1875_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(lean_object* v_e_1876_, lean_object* v_a_1877_){ +_start: +{ +lean_object* v_ground_1879_; lean_object* v___f_1880_; uint8_t v___x_1881_; lean_object* v___x_1882_; lean_object* v___x_1883_; +v_ground_1879_ = lean_ctor_get(v_a_1877_, 1); +lean_inc(v_ground_1879_); +v___f_1880_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed), 2, 1); +lean_closure_set(v___f_1880_, 0, v_ground_1879_); +v___x_1881_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0(v___f_1880_, v_e_1876_); +v___x_1882_ = lean_box(v___x_1881_); +v___x_1883_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1883_, 0, v___x_1882_); +return v___x_1883_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___boxed(lean_object* v_e_1884_, lean_object* v_a_1885_, lean_object* v_a_1886_){ +_start: +{ +lean_object* v_res_1887_; +v_res_1887_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v_e_1884_, v_a_1885_); +lean_dec_ref(v_a_1885_); +return v_res_1887_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(uint8_t v___y_1888_, lean_object* v_as_1889_, size_t v_sz_1890_, size_t v_i_1891_, lean_object* v_b_1892_, lean_object* v___y_1893_, lean_object* v___y_1894_, lean_object* v___y_1895_, lean_object* v___y_1896_, lean_object* v___y_1897_, lean_object* v___y_1898_){ +_start: +{ +lean_object* v_a_1901_; uint8_t v___x_1905_; +v___x_1905_ = lean_usize_dec_lt(v_i_1891_, v_sz_1890_); +if (v___x_1905_ == 0) +{ +lean_object* v___x_1906_; +v___x_1906_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1906_, 0, v_b_1892_); +return v___x_1906_; } else { -lean_object* v_reuseFailAlloc_1952_; -v_reuseFailAlloc_1952_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1952_, 0, v___x_1949_); -v___x_1951_ = v_reuseFailAlloc_1952_; -goto v_reusejp_1950_; -} -v_reusejp_1950_: +lean_object* v_snd_1907_; lean_object* v___x_1909_; uint8_t v_isShared_1910_; uint8_t v_isSharedCheck_1987_; +v_snd_1907_ = lean_ctor_get(v_b_1892_, 1); +v_isSharedCheck_1987_ = !lean_is_exclusive(v_b_1892_); +if (v_isSharedCheck_1987_ == 0) { -return v___x_1951_; -} -} -} +lean_object* v_unused_1988_; +v_unused_1988_ = lean_ctor_get(v_b_1892_, 0); +lean_dec(v_unused_1988_); +v___x_1909_ = v_b_1892_; +v_isShared_1910_ = v_isSharedCheck_1987_; +goto v_resetjp_1908_; } else { -lean_object* v_a_1954_; lean_object* v___x_1956_; uint8_t v_isShared_1957_; uint8_t v_isSharedCheck_1961_; -lean_dec_ref(v___x_1915_); -v_a_1954_ = lean_ctor_get(v___x_1940_, 0); -v_isSharedCheck_1961_ = !lean_is_exclusive(v___x_1940_); -if (v_isSharedCheck_1961_ == 0) +lean_inc(v_snd_1907_); +lean_dec(v_b_1892_); +v___x_1909_ = lean_box(0); +v_isShared_1910_ = v_isSharedCheck_1987_; +goto v_resetjp_1908_; +} +v_resetjp_1908_: { -v___x_1956_ = v___x_1940_; -v_isShared_1957_ = v_isSharedCheck_1961_; -goto v_resetjp_1955_; -} -else +lean_object* v_array_1911_; lean_object* v_start_1912_; lean_object* v_stop_1913_; lean_object* v___x_1914_; uint8_t v___x_1915_; +v_array_1911_ = lean_ctor_get(v_snd_1907_, 0); +v_start_1912_ = lean_ctor_get(v_snd_1907_, 1); +v_stop_1913_ = lean_ctor_get(v_snd_1907_, 2); +v___x_1914_ = lean_box(0); +v___x_1915_ = lean_nat_dec_lt(v_start_1912_, v_stop_1913_); +if (v___x_1915_ == 0) { -lean_inc(v_a_1954_); -lean_dec(v___x_1940_); -v___x_1956_ = lean_box(0); -v_isShared_1957_ = v_isSharedCheck_1961_; -goto v_resetjp_1955_; -} -v_resetjp_1955_: +lean_object* v___x_1917_; +if (v_isShared_1910_ == 0) { -lean_object* v___x_1959_; -if (v_isShared_1957_ == 0) -{ -v___x_1959_ = v___x_1956_; -goto v_reusejp_1958_; -} -else -{ -lean_object* v_reuseFailAlloc_1960_; -v_reuseFailAlloc_1960_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1960_, 0, v_a_1954_); -v___x_1959_ = v_reuseFailAlloc_1960_; -goto v_reusejp_1958_; -} -v_reusejp_1958_: -{ -return v___x_1959_; -} -} -} -} -} -v___jp_1916_: -{ -lean_object* v___x_1918_; -if (v_isShared_1897_ == 0) -{ -lean_ctor_set(v___x_1896_, 1, v___x_1915_); -lean_ctor_set(v___x_1896_, 0, v___x_1901_); -v___x_1918_ = v___x_1896_; -goto v_reusejp_1917_; +lean_ctor_set(v___x_1909_, 0, v___x_1914_); +v___x_1917_ = v___x_1909_; +goto v_reusejp_1916_; } else { lean_object* v_reuseFailAlloc_1919_; v_reuseFailAlloc_1919_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_1919_, 0, v___x_1901_); -lean_ctor_set(v_reuseFailAlloc_1919_, 1, v___x_1915_); -v___x_1918_ = v_reuseFailAlloc_1919_; -goto v_reusejp_1917_; +lean_ctor_set(v_reuseFailAlloc_1919_, 0, v___x_1914_); +lean_ctor_set(v_reuseFailAlloc_1919_, 1, v_snd_1907_); +v___x_1917_ = v_reuseFailAlloc_1919_; +goto v_reusejp_1916_; } -v_reusejp_1917_: +v_reusejp_1916_: { -v_a_1888_ = v___x_1918_; -goto v___jp_1887_; +lean_object* v___x_1918_; +v___x_1918_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1918_, 0, v___x_1917_); +return v___x_1918_; } } -v___jp_1920_: +else { -lean_object* v___x_1921_; lean_object* v___x_1922_; lean_object* v___x_1923_; lean_object* v___x_1924_; -v___x_1921_ = lean_box(v___x_1902_); -v___x_1922_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_1922_, 0, v___x_1921_); -v___x_1923_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1923_, 0, v___x_1922_); -lean_ctor_set(v___x_1923_, 1, v___x_1915_); -v___x_1924_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1924_, 0, v___x_1923_); -return v___x_1924_; -} -v___jp_1925_: +lean_object* v___x_1921_; uint8_t v_isShared_1922_; uint8_t v_isSharedCheck_1983_; +lean_inc(v_stop_1913_); +lean_inc(v_start_1912_); +lean_inc_ref(v_array_1911_); +v_isSharedCheck_1983_ = !lean_is_exclusive(v_snd_1907_); +if (v_isSharedCheck_1983_ == 0) { -lean_object* v___x_1926_; -v___x_1926_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_1926_, 0, v___x_1901_); -lean_ctor_set(v___x_1926_, 1, v___x_1915_); -v_a_1888_ = v___x_1926_; -goto v___jp_1887_; +lean_object* v_unused_1984_; lean_object* v_unused_1985_; lean_object* v_unused_1986_; +v_unused_1984_ = lean_ctor_get(v_snd_1907_, 2); +lean_dec(v_unused_1984_); +v_unused_1985_ = lean_ctor_get(v_snd_1907_, 1); +lean_dec(v_unused_1985_); +v_unused_1986_ = lean_ctor_get(v_snd_1907_, 0); +lean_dec(v_unused_1986_); +v___x_1921_ = v_snd_1907_; +v_isShared_1922_ = v_isSharedCheck_1983_; +goto v_resetjp_1920_; } -} -} -} -} -} -v___jp_1887_: +else { -size_t v___x_1889_; size_t v___x_1890_; -v___x_1889_ = ((size_t)1ULL); -v___x_1890_ = lean_usize_add(v_i_1878_, v___x_1889_); -v_i_1878_ = v___x_1890_; -v_b_1879_ = v_a_1888_; +lean_dec(v_snd_1907_); +v___x_1921_ = lean_box(0); +v_isShared_1922_ = v_isSharedCheck_1983_; +goto v_resetjp_1920_; +} +v_resetjp_1920_: +{ +lean_object* v_a_1923_; lean_object* v___x_1924_; lean_object* v___x_1925_; lean_object* v___x_1926_; lean_object* v___x_1928_; +v_a_1923_ = lean_array_uget_borrowed(v_as_1889_, v_i_1891_); +v___x_1924_ = lean_array_fget(v_array_1911_, v_start_1912_); +v___x_1925_ = lean_unsigned_to_nat(1u); +v___x_1926_ = lean_nat_add(v_start_1912_, v___x_1925_); +lean_dec(v_start_1912_); +if (v_isShared_1922_ == 0) +{ +lean_ctor_set(v___x_1921_, 1, v___x_1926_); +v___x_1928_ = v___x_1921_; +goto v_reusejp_1927_; +} +else +{ +lean_object* v_reuseFailAlloc_1982_; +v_reuseFailAlloc_1982_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v_reuseFailAlloc_1982_, 0, v_array_1911_); +lean_ctor_set(v_reuseFailAlloc_1982_, 1, v___x_1926_); +lean_ctor_set(v_reuseFailAlloc_1982_, 2, v_stop_1913_); +v___x_1928_ = v_reuseFailAlloc_1982_; +goto v_reusejp_1927_; +} +v_reusejp_1927_: +{ +lean_object* v___y_1939_; lean_object* v___y_1940_; lean_object* v___y_1941_; lean_object* v___y_1942_; lean_object* v___y_1943_; lean_object* v___y_1944_; +switch(lean_obj_tag(v_a_1923_)) +{ +case 0: +{ +uint8_t v_weak_1969_; +lean_del_object(v___x_1909_); +v_weak_1969_ = lean_ctor_get_uint8(v_a_1923_, 0); +if (v_weak_1969_ == 0) +{ +v___y_1939_ = v___y_1893_; +v___y_1940_ = v___y_1894_; +v___y_1941_ = v___y_1895_; +v___y_1942_ = v___y_1896_; +v___y_1943_ = v___y_1897_; +v___y_1944_ = v___y_1898_; +goto v___jp_1938_; +} +else +{ +lean_dec(v___x_1924_); +goto v___jp_1967_; +} +} +case 1: +{ +if (v___y_1888_ == 0) +{ +lean_dec(v___x_1924_); +lean_del_object(v___x_1909_); +goto v___jp_1933_; +} +else +{ +if (lean_obj_tag(v___x_1924_) == 1) +{ +lean_object* v_fvarId_1970_; uint8_t v___x_1971_; lean_object* v___x_1972_; +v_fvarId_1970_ = lean_ctor_get(v___x_1924_, 0); +lean_inc(v_fvarId_1970_); +lean_dec_ref(v___x_1924_); +v___x_1971_ = 0; +v___x_1972_ = l_Lean_Compiler_LCNF_findParam_x3f___redArg(v___x_1971_, v_fvarId_1970_, v___y_1896_); +lean_dec(v_fvarId_1970_); +if (lean_obj_tag(v___x_1972_) == 0) +{ +lean_object* v_a_1973_; +v_a_1973_ = lean_ctor_get(v___x_1972_, 0); +lean_inc(v_a_1973_); +lean_dec_ref(v___x_1972_); +if (lean_obj_tag(v_a_1973_) == 0) +{ +lean_del_object(v___x_1909_); +goto v___jp_1933_; +} +else +{ +lean_dec_ref(v_a_1973_); +goto v___jp_1929_; +} +} +else +{ +lean_object* v_a_1974_; lean_object* v___x_1976_; uint8_t v_isShared_1977_; uint8_t v_isSharedCheck_1981_; +lean_dec_ref(v___x_1928_); +lean_del_object(v___x_1909_); +v_a_1974_ = lean_ctor_get(v___x_1972_, 0); +v_isSharedCheck_1981_ = !lean_is_exclusive(v___x_1972_); +if (v_isSharedCheck_1981_ == 0) +{ +v___x_1976_ = v___x_1972_; +v_isShared_1977_ = v_isSharedCheck_1981_; +goto v_resetjp_1975_; +} +else +{ +lean_inc(v_a_1974_); +lean_dec(v___x_1972_); +v___x_1976_ = lean_box(0); +v_isShared_1977_ = v_isSharedCheck_1981_; +goto v_resetjp_1975_; +} +v_resetjp_1975_: +{ +lean_object* v___x_1979_; +if (v_isShared_1977_ == 0) +{ +v___x_1979_ = v___x_1976_; +goto v_reusejp_1978_; +} +else +{ +lean_object* v_reuseFailAlloc_1980_; +v_reuseFailAlloc_1980_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1980_, 0, v_a_1974_); +v___x_1979_ = v_reuseFailAlloc_1980_; +goto v_reusejp_1978_; +} +v_reusejp_1978_: +{ +return v___x_1979_; +} +} +} +} +else +{ +lean_dec(v___x_1924_); +goto v___jp_1929_; +} +} +} +case 3: +{ +lean_del_object(v___x_1909_); +v___y_1939_ = v___y_1893_; +v___y_1940_ = v___y_1894_; +v___y_1941_ = v___y_1895_; +v___y_1942_ = v___y_1896_; +v___y_1943_ = v___y_1897_; +v___y_1944_ = v___y_1898_; +goto v___jp_1938_; +} +default: +{ +lean_dec(v___x_1924_); +lean_del_object(v___x_1909_); +goto v___jp_1967_; +} +} +v___jp_1929_: +{ +lean_object* v___x_1931_; +if (v_isShared_1910_ == 0) +{ +lean_ctor_set(v___x_1909_, 1, v___x_1928_); +lean_ctor_set(v___x_1909_, 0, v___x_1914_); +v___x_1931_ = v___x_1909_; +goto v_reusejp_1930_; +} +else +{ +lean_object* v_reuseFailAlloc_1932_; +v_reuseFailAlloc_1932_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_1932_, 0, v___x_1914_); +lean_ctor_set(v_reuseFailAlloc_1932_, 1, v___x_1928_); +v___x_1931_ = v_reuseFailAlloc_1932_; +goto v_reusejp_1930_; +} +v_reusejp_1930_: +{ +v_a_1901_ = v___x_1931_; +goto v___jp_1900_; +} +} +v___jp_1933_: +{ +lean_object* v___x_1934_; lean_object* v___x_1935_; lean_object* v___x_1936_; lean_object* v___x_1937_; +v___x_1934_ = lean_box(v___x_1915_); +v___x_1935_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1935_, 0, v___x_1934_); +v___x_1936_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1936_, 0, v___x_1935_); +lean_ctor_set(v___x_1936_, 1, v___x_1928_); +v___x_1937_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1937_, 0, v___x_1936_); +return v___x_1937_; +} +v___jp_1938_: +{ +lean_object* v___x_1945_; +v___x_1945_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v___x_1924_, v___y_1939_); +if (lean_obj_tag(v___x_1945_) == 0) +{ +lean_object* v_a_1946_; lean_object* v___x_1948_; uint8_t v_isShared_1949_; uint8_t v_isSharedCheck_1958_; +v_a_1946_ = lean_ctor_get(v___x_1945_, 0); +v_isSharedCheck_1958_ = !lean_is_exclusive(v___x_1945_); +if (v_isSharedCheck_1958_ == 0) +{ +v___x_1948_ = v___x_1945_; +v_isShared_1949_ = v_isSharedCheck_1958_; +goto v_resetjp_1947_; +} +else +{ +lean_inc(v_a_1946_); +lean_dec(v___x_1945_); +v___x_1948_ = lean_box(0); +v_isShared_1949_ = v_isSharedCheck_1958_; +goto v_resetjp_1947_; +} +v_resetjp_1947_: +{ +uint8_t v___x_1950_; +v___x_1950_ = lean_unbox(v_a_1946_); +lean_dec(v_a_1946_); +if (v___x_1950_ == 0) +{ +lean_object* v___x_1951_; +lean_del_object(v___x_1948_); +v___x_1951_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1951_, 0, v___x_1914_); +lean_ctor_set(v___x_1951_, 1, v___x_1928_); +v_a_1901_ = v___x_1951_; +goto v___jp_1900_; +} +else +{ +lean_object* v___x_1952_; lean_object* v___x_1953_; lean_object* v___x_1954_; lean_object* v___x_1956_; +v___x_1952_ = lean_box(v___x_1915_); +v___x_1953_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_1953_, 0, v___x_1952_); +v___x_1954_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1954_, 0, v___x_1953_); +lean_ctor_set(v___x_1954_, 1, v___x_1928_); +if (v_isShared_1949_ == 0) +{ +lean_ctor_set(v___x_1948_, 0, v___x_1954_); +v___x_1956_ = v___x_1948_; +goto v_reusejp_1955_; +} +else +{ +lean_object* v_reuseFailAlloc_1957_; +v_reuseFailAlloc_1957_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1957_, 0, v___x_1954_); +v___x_1956_ = v_reuseFailAlloc_1957_; +goto v_reusejp_1955_; +} +v_reusejp_1955_: +{ +return v___x_1956_; +} +} +} +} +else +{ +lean_object* v_a_1959_; lean_object* v___x_1961_; uint8_t v_isShared_1962_; uint8_t v_isSharedCheck_1966_; +lean_dec_ref(v___x_1928_); +v_a_1959_ = lean_ctor_get(v___x_1945_, 0); +v_isSharedCheck_1966_ = !lean_is_exclusive(v___x_1945_); +if (v_isSharedCheck_1966_ == 0) +{ +v___x_1961_ = v___x_1945_; +v_isShared_1962_ = v_isSharedCheck_1966_; +goto v_resetjp_1960_; +} +else +{ +lean_inc(v_a_1959_); +lean_dec(v___x_1945_); +v___x_1961_ = lean_box(0); +v_isShared_1962_ = v_isSharedCheck_1966_; +goto v_resetjp_1960_; +} +v_resetjp_1960_: +{ +lean_object* v___x_1964_; +if (v_isShared_1962_ == 0) +{ +v___x_1964_ = v___x_1961_; +goto v_reusejp_1963_; +} +else +{ +lean_object* v_reuseFailAlloc_1965_; +v_reuseFailAlloc_1965_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1965_, 0, v_a_1959_); +v___x_1964_ = v_reuseFailAlloc_1965_; +goto v_reusejp_1963_; +} +v_reusejp_1963_: +{ +return v___x_1964_; +} +} +} +} +v___jp_1967_: +{ +lean_object* v___x_1968_; +v___x_1968_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_1968_, 0, v___x_1914_); +lean_ctor_set(v___x_1968_, 1, v___x_1928_); +v_a_1901_ = v___x_1968_; +goto v___jp_1900_; +} +} +} +} +} +} +v___jp_1900_: +{ +size_t v___x_1902_; size_t v___x_1903_; +v___x_1902_ = ((size_t)1ULL); +v___x_1903_ = lean_usize_add(v_i_1891_, v___x_1902_); +v_i_1891_ = v___x_1903_; +v_b_1892_ = v_a_1901_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1___boxed(lean_object* v___y_1969_, lean_object* v_as_1970_, lean_object* v_sz_1971_, lean_object* v_i_1972_, lean_object* v_b_1973_, lean_object* v___y_1974_, lean_object* v___y_1975_, lean_object* v___y_1976_, lean_object* v___y_1977_, lean_object* v___y_1978_, lean_object* v___y_1979_, lean_object* v___y_1980_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1___boxed(lean_object* v___y_1989_, lean_object* v_as_1990_, lean_object* v_sz_1991_, lean_object* v_i_1992_, lean_object* v_b_1993_, lean_object* v___y_1994_, lean_object* v___y_1995_, lean_object* v___y_1996_, lean_object* v___y_1997_, lean_object* v___y_1998_, lean_object* v___y_1999_, lean_object* v___y_2000_){ _start: { -uint8_t v___y_6397__boxed_1981_; size_t v_sz_boxed_1982_; size_t v_i_boxed_1983_; lean_object* v_res_1984_; -v___y_6397__boxed_1981_ = lean_unbox(v___y_1969_); -v_sz_boxed_1982_ = lean_unbox_usize(v_sz_1971_); -lean_dec(v_sz_1971_); -v_i_boxed_1983_ = lean_unbox_usize(v_i_1972_); -lean_dec(v_i_1972_); -v_res_1984_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(v___y_6397__boxed_1981_, v_as_1970_, v_sz_boxed_1982_, v_i_boxed_1983_, v_b_1973_, v___y_1974_, v___y_1975_, v___y_1976_, v___y_1977_, v___y_1978_, v___y_1979_); -lean_dec(v___y_1979_); -lean_dec_ref(v___y_1978_); -lean_dec(v___y_1977_); -lean_dec_ref(v___y_1976_); -lean_dec(v___y_1975_); -lean_dec_ref(v___y_1974_); -lean_dec_ref(v_as_1970_); -return v_res_1984_; +uint8_t v___y_6423__boxed_2001_; size_t v_sz_boxed_2002_; size_t v_i_boxed_2003_; lean_object* v_res_2004_; +v___y_6423__boxed_2001_ = lean_unbox(v___y_1989_); +v_sz_boxed_2002_ = lean_unbox_usize(v_sz_1991_); +lean_dec(v_sz_1991_); +v_i_boxed_2003_ = lean_unbox_usize(v_i_1992_); +lean_dec(v_i_1992_); +v_res_2004_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(v___y_6423__boxed_2001_, v_as_1990_, v_sz_boxed_2002_, v_i_boxed_2003_, v_b_1993_, v___y_1994_, v___y_1995_, v___y_1996_, v___y_1997_, v___y_1998_, v___y_1999_); +lean_dec(v___y_1999_); +lean_dec_ref(v___y_1998_); +lean_dec(v___y_1997_); +lean_dec_ref(v___y_1996_); +lean_dec(v___y_1995_); +lean_dec_ref(v___y_1994_); +lean_dec_ref(v_as_1990_); +return v_res_2004_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(lean_object* v_specEntry_1985_, lean_object* v_args_1986_, lean_object* v_a_1987_, lean_object* v_a_1988_, lean_object* v_a_1989_, lean_object* v_a_1990_, lean_object* v_a_1991_, lean_object* v_a_1992_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(lean_object* v_specEntry_2005_, lean_object* v_args_2006_, lean_object* v_a_2007_, lean_object* v_a_2008_, lean_object* v_a_2009_, lean_object* v_a_2010_, lean_object* v_a_2011_, lean_object* v_a_2012_){ _start: { -lean_object* v_paramsInfo_1994_; uint8_t v_alreadySpecialized_1995_; lean_object* v___x_1996_; lean_object* v___x_1997_; lean_object* v___x_1998_; lean_object* v___x_1999_; lean_object* v___x_2000_; size_t v_sz_2001_; size_t v___x_2002_; lean_object* v___x_2003_; -v_paramsInfo_1994_ = lean_ctor_get(v_specEntry_1985_, 1); -v_alreadySpecialized_1995_ = lean_ctor_get_uint8(v_specEntry_1985_, sizeof(void*)*2); -v___x_1996_ = lean_unsigned_to_nat(0u); -v___x_1997_ = lean_array_get_size(v_args_1986_); -v___x_1998_ = l_Array_toSubarray___redArg(v_args_1986_, v___x_1996_, v___x_1997_); -v___x_1999_ = lean_box(0); -v___x_2000_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_2000_, 0, v___x_1999_); -lean_ctor_set(v___x_2000_, 1, v___x_1998_); -v_sz_2001_ = lean_array_size(v_paramsInfo_1994_); -v___x_2002_ = ((size_t)0ULL); -v___x_2003_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(v_alreadySpecialized_1995_, v_paramsInfo_1994_, v_sz_2001_, v___x_2002_, v___x_2000_, v_a_1987_, v_a_1988_, v_a_1989_, v_a_1990_, v_a_1991_, v_a_1992_); -if (lean_obj_tag(v___x_2003_) == 0) +lean_object* v_paramsInfo_2014_; uint8_t v_alreadySpecialized_2015_; lean_object* v___x_2016_; lean_object* v___x_2017_; lean_object* v___x_2018_; lean_object* v___x_2019_; lean_object* v___x_2020_; size_t v_sz_2021_; size_t v___x_2022_; lean_object* v___x_2023_; +v_paramsInfo_2014_ = lean_ctor_get(v_specEntry_2005_, 1); +v_alreadySpecialized_2015_ = lean_ctor_get_uint8(v_specEntry_2005_, sizeof(void*)*2); +v___x_2016_ = lean_unsigned_to_nat(0u); +v___x_2017_ = lean_array_get_size(v_args_2006_); +v___x_2018_ = l_Array_toSubarray___redArg(v_args_2006_, v___x_2016_, v___x_2017_); +v___x_2019_ = lean_box(0); +v___x_2020_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_2020_, 0, v___x_2019_); +lean_ctor_set(v___x_2020_, 1, v___x_2018_); +v_sz_2021_ = lean_array_size(v_paramsInfo_2014_); +v___x_2022_ = ((size_t)0ULL); +v___x_2023_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__1(v_alreadySpecialized_2015_, v_paramsInfo_2014_, v_sz_2021_, v___x_2022_, v___x_2020_, v_a_2007_, v_a_2008_, v_a_2009_, v_a_2010_, v_a_2011_, v_a_2012_); +if (lean_obj_tag(v___x_2023_) == 0) { -lean_object* v_a_2004_; lean_object* v___x_2006_; uint8_t v_isShared_2007_; uint8_t v_isSharedCheck_2018_; -v_a_2004_ = lean_ctor_get(v___x_2003_, 0); -v_isSharedCheck_2018_ = !lean_is_exclusive(v___x_2003_); -if (v_isSharedCheck_2018_ == 0) +lean_object* v_a_2024_; lean_object* v___x_2026_; uint8_t v_isShared_2027_; uint8_t v_isSharedCheck_2038_; +v_a_2024_ = lean_ctor_get(v___x_2023_, 0); +v_isSharedCheck_2038_ = !lean_is_exclusive(v___x_2023_); +if (v_isSharedCheck_2038_ == 0) { -v___x_2006_ = v___x_2003_; -v_isShared_2007_ = v_isSharedCheck_2018_; -goto v_resetjp_2005_; +v___x_2026_ = v___x_2023_; +v_isShared_2027_ = v_isSharedCheck_2038_; +goto v_resetjp_2025_; } else { -lean_inc(v_a_2004_); -lean_dec(v___x_2003_); -v___x_2006_ = lean_box(0); -v_isShared_2007_ = v_isSharedCheck_2018_; -goto v_resetjp_2005_; +lean_inc(v_a_2024_); +lean_dec(v___x_2023_); +v___x_2026_ = lean_box(0); +v_isShared_2027_ = v_isSharedCheck_2038_; +goto v_resetjp_2025_; } -v_resetjp_2005_: +v_resetjp_2025_: { -lean_object* v_fst_2008_; -v_fst_2008_ = lean_ctor_get(v_a_2004_, 0); -lean_inc(v_fst_2008_); -lean_dec(v_a_2004_); -if (lean_obj_tag(v_fst_2008_) == 0) +lean_object* v_fst_2028_; +v_fst_2028_ = lean_ctor_get(v_a_2024_, 0); +lean_inc(v_fst_2028_); +lean_dec(v_a_2024_); +if (lean_obj_tag(v_fst_2028_) == 0) { -uint8_t v___x_2009_; lean_object* v___x_2010_; lean_object* v___x_2012_; -v___x_2009_ = 0; -v___x_2010_ = lean_box(v___x_2009_); -if (v_isShared_2007_ == 0) +uint8_t v___x_2029_; lean_object* v___x_2030_; lean_object* v___x_2032_; +v___x_2029_ = 0; +v___x_2030_ = lean_box(v___x_2029_); +if (v_isShared_2027_ == 0) { -lean_ctor_set(v___x_2006_, 0, v___x_2010_); -v___x_2012_ = v___x_2006_; -goto v_reusejp_2011_; +lean_ctor_set(v___x_2026_, 0, v___x_2030_); +v___x_2032_ = v___x_2026_; +goto v_reusejp_2031_; } else { -lean_object* v_reuseFailAlloc_2013_; -v_reuseFailAlloc_2013_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2013_, 0, v___x_2010_); -v___x_2012_ = v_reuseFailAlloc_2013_; -goto v_reusejp_2011_; +lean_object* v_reuseFailAlloc_2033_; +v_reuseFailAlloc_2033_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2033_, 0, v___x_2030_); +v___x_2032_ = v_reuseFailAlloc_2033_; +goto v_reusejp_2031_; } -v_reusejp_2011_: +v_reusejp_2031_: { -return v___x_2012_; +return v___x_2032_; } } else { -lean_object* v_val_2014_; lean_object* v___x_2016_; -v_val_2014_ = lean_ctor_get(v_fst_2008_, 0); -lean_inc(v_val_2014_); -lean_dec_ref(v_fst_2008_); -if (v_isShared_2007_ == 0) +lean_object* v_val_2034_; lean_object* v___x_2036_; +v_val_2034_ = lean_ctor_get(v_fst_2028_, 0); +lean_inc(v_val_2034_); +lean_dec_ref(v_fst_2028_); +if (v_isShared_2027_ == 0) { -lean_ctor_set(v___x_2006_, 0, v_val_2014_); -v___x_2016_ = v___x_2006_; -goto v_reusejp_2015_; +lean_ctor_set(v___x_2026_, 0, v_val_2034_); +v___x_2036_ = v___x_2026_; +goto v_reusejp_2035_; } else { -lean_object* v_reuseFailAlloc_2017_; -v_reuseFailAlloc_2017_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2017_, 0, v_val_2014_); -v___x_2016_ = v_reuseFailAlloc_2017_; -goto v_reusejp_2015_; +lean_object* v_reuseFailAlloc_2037_; +v_reuseFailAlloc_2037_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2037_, 0, v_val_2034_); +v___x_2036_ = v_reuseFailAlloc_2037_; +goto v_reusejp_2035_; } -v_reusejp_2015_: +v_reusejp_2035_: { -return v___x_2016_; +return v___x_2036_; } } } } else { -lean_object* v_a_2019_; lean_object* v___x_2021_; uint8_t v_isShared_2022_; uint8_t v_isSharedCheck_2026_; -v_a_2019_ = lean_ctor_get(v___x_2003_, 0); -v_isSharedCheck_2026_ = !lean_is_exclusive(v___x_2003_); -if (v_isSharedCheck_2026_ == 0) +lean_object* v_a_2039_; lean_object* v___x_2041_; uint8_t v_isShared_2042_; uint8_t v_isSharedCheck_2046_; +v_a_2039_ = lean_ctor_get(v___x_2023_, 0); +v_isSharedCheck_2046_ = !lean_is_exclusive(v___x_2023_); +if (v_isSharedCheck_2046_ == 0) { -v___x_2021_ = v___x_2003_; -v_isShared_2022_ = v_isSharedCheck_2026_; -goto v_resetjp_2020_; +v___x_2041_ = v___x_2023_; +v_isShared_2042_ = v_isSharedCheck_2046_; +goto v_resetjp_2040_; } else { -lean_inc(v_a_2019_); -lean_dec(v___x_2003_); -v___x_2021_ = lean_box(0); -v_isShared_2022_ = v_isSharedCheck_2026_; -goto v_resetjp_2020_; +lean_inc(v_a_2039_); +lean_dec(v___x_2023_); +v___x_2041_ = lean_box(0); +v_isShared_2042_ = v_isSharedCheck_2046_; +goto v_resetjp_2040_; } -v_resetjp_2020_: +v_resetjp_2040_: { -lean_object* v___x_2024_; -if (v_isShared_2022_ == 0) +lean_object* v___x_2044_; +if (v_isShared_2042_ == 0) { -v___x_2024_ = v___x_2021_; -goto v_reusejp_2023_; +v___x_2044_ = v___x_2041_; +goto v_reusejp_2043_; } else { -lean_object* v_reuseFailAlloc_2025_; -v_reuseFailAlloc_2025_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2025_, 0, v_a_2019_); -v___x_2024_ = v_reuseFailAlloc_2025_; -goto v_reusejp_2023_; +lean_object* v_reuseFailAlloc_2045_; +v_reuseFailAlloc_2045_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2045_, 0, v_a_2039_); +v___x_2044_ = v_reuseFailAlloc_2045_; +goto v_reusejp_2043_; } -v_reusejp_2023_: +v_reusejp_2043_: { -return v___x_2024_; +return v___x_2044_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize___boxed(lean_object* v_specEntry_2027_, lean_object* v_args_2028_, lean_object* v_a_2029_, lean_object* v_a_2030_, lean_object* v_a_2031_, lean_object* v_a_2032_, lean_object* v_a_2033_, lean_object* v_a_2034_, lean_object* v_a_2035_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize___boxed(lean_object* v_specEntry_2047_, lean_object* v_args_2048_, lean_object* v_a_2049_, lean_object* v_a_2050_, lean_object* v_a_2051_, lean_object* v_a_2052_, lean_object* v_a_2053_, lean_object* v_a_2054_, lean_object* v_a_2055_){ _start: { -lean_object* v_res_2036_; -v_res_2036_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(v_specEntry_2027_, v_args_2028_, v_a_2029_, v_a_2030_, v_a_2031_, v_a_2032_, v_a_2033_, v_a_2034_); -lean_dec(v_a_2034_); -lean_dec_ref(v_a_2033_); -lean_dec(v_a_2032_); -lean_dec_ref(v_a_2031_); -lean_dec(v_a_2030_); -lean_dec_ref(v_a_2029_); -lean_dec_ref(v_specEntry_2027_); -return v_res_2036_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0(lean_object* v_e_2037_, lean_object* v_a_2038_, lean_object* v_a_2039_, lean_object* v_a_2040_, lean_object* v_a_2041_, lean_object* v_a_2042_, lean_object* v_a_2043_){ -_start: -{ -lean_object* v___x_2045_; -v___x_2045_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v_e_2037_, v_a_2038_); -return v___x_2045_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___boxed(lean_object* v_e_2046_, lean_object* v_a_2047_, lean_object* v_a_2048_, lean_object* v_a_2049_, lean_object* v_a_2050_, lean_object* v_a_2051_, lean_object* v_a_2052_, lean_object* v_a_2053_){ -_start: -{ -lean_object* v_res_2054_; -v_res_2054_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0(v_e_2046_, v_a_2047_, v_a_2048_, v_a_2049_, v_a_2050_, v_a_2051_, v_a_2052_); +lean_object* v_res_2056_; +v_res_2056_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(v_specEntry_2047_, v_args_2048_, v_a_2049_, v_a_2050_, v_a_2051_, v_a_2052_, v_a_2053_, v_a_2054_); +lean_dec(v_a_2054_); +lean_dec_ref(v_a_2053_); lean_dec(v_a_2052_); lean_dec_ref(v_a_2051_); lean_dec(v_a_2050_); lean_dec_ref(v_a_2049_); -lean_dec(v_a_2048_); -lean_dec_ref(v_a_2047_); -return v_res_2054_; +lean_dec_ref(v_specEntry_2047_); +return v_res_2056_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4(uint8_t v_pu_2055_, lean_object* v_f_2056_, lean_object* v_arg_2057_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0(lean_object* v_e_2057_, lean_object* v_a_2058_, lean_object* v_a_2059_, lean_object* v_a_2060_, lean_object* v_a_2061_, lean_object* v_a_2062_, lean_object* v_a_2063_){ _start: { -lean_object* v___x_2058_; -v___x_2058_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_2056_, v_arg_2057_); -return v___x_2058_; +lean_object* v___x_2065_; +v___x_2065_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg(v_e_2057_, v_a_2058_); +return v___x_2065_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___boxed(lean_object* v_pu_2059_, lean_object* v_f_2060_, lean_object* v_arg_2061_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___boxed(lean_object* v_e_2066_, lean_object* v_a_2067_, lean_object* v_a_2068_, lean_object* v_a_2069_, lean_object* v_a_2070_, lean_object* v_a_2071_, lean_object* v_a_2072_, lean_object* v_a_2073_){ _start: { -uint8_t v_pu_boxed_2062_; lean_object* v_res_2063_; -v_pu_boxed_2062_ = lean_unbox(v_pu_2059_); -v_res_2063_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4(v_pu_boxed_2062_, v_f_2060_, v_arg_2061_); -return v_res_2063_; +lean_object* v_res_2074_; +v_res_2074_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0(v_e_2066_, v_a_2067_, v_a_2068_, v_a_2069_, v_a_2070_, v_a_2071_, v_a_2072_); +lean_dec(v_a_2072_); +lean_dec_ref(v_a_2071_); +lean_dec(v_a_2070_); +lean_dec_ref(v_a_2069_); +lean_dec(v_a_2068_); +lean_dec_ref(v_a_2067_); +return v_res_2074_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(lean_object* v_body_2064_, lean_object* v_xs_2065_, lean_object* v_values_2066_, lean_object* v_i_2067_, lean_object* v_subst_2068_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4(uint8_t v_pu_2075_, lean_object* v_f_2076_, lean_object* v_arg_2077_){ _start: { -lean_object* v___x_2069_; uint8_t v___x_2070_; -v___x_2069_ = lean_array_get_size(v_values_2066_); -v___x_2070_ = lean_nat_dec_lt(v_i_2067_, v___x_2069_); -if (v___x_2070_ == 0) +lean_object* v___x_2078_; +v___x_2078_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_2076_, v_arg_2077_); +return v___x_2078_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___boxed(lean_object* v_pu_2079_, lean_object* v_f_2080_, lean_object* v_arg_2081_){ +_start: { -uint8_t v___x_2071_; lean_object* v___x_2072_; lean_object* v___x_2073_; lean_object* v___x_2074_; -lean_dec(v_i_2067_); -v___x_2071_ = 0; -v___x_2072_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_2071_, v_body_2064_); -v___x_2073_ = lean_expr_abstract(v___x_2072_, v_xs_2065_); -lean_dec_ref(v___x_2072_); -v___x_2074_ = lean_expr_instantiate_rev(v___x_2073_, v_subst_2068_); -lean_dec_ref(v_subst_2068_); -lean_dec_ref(v___x_2073_); -return v___x_2074_; +uint8_t v_pu_boxed_2082_; lean_object* v_res_2083_; +v_pu_boxed_2082_ = lean_unbox(v_pu_2079_); +v_res_2083_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4(v_pu_boxed_2082_, v_f_2080_, v_arg_2081_); +return v_res_2083_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(lean_object* v_body_2084_, lean_object* v_xs_2085_, lean_object* v_values_2086_, lean_object* v_i_2087_, lean_object* v_subst_2088_){ +_start: +{ +lean_object* v___x_2089_; uint8_t v___x_2090_; +v___x_2089_ = lean_array_get_size(v_values_2086_); +v___x_2090_ = lean_nat_dec_lt(v_i_2087_, v___x_2089_); +if (v___x_2090_ == 0) +{ +uint8_t v___x_2091_; lean_object* v___x_2092_; lean_object* v___x_2093_; lean_object* v___x_2094_; +lean_dec(v_i_2087_); +v___x_2091_ = 0; +v___x_2092_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_2091_, v_body_2084_); +v___x_2093_ = lean_expr_abstract(v___x_2092_, v_xs_2085_); +lean_dec_ref(v___x_2092_); +v___x_2094_ = lean_expr_instantiate_rev(v___x_2093_, v_subst_2088_); +lean_dec_ref(v_subst_2088_); +lean_dec_ref(v___x_2093_); +return v___x_2094_; } else { -lean_object* v___x_2075_; lean_object* v_value_2076_; lean_object* v_value_2077_; lean_object* v___x_2078_; lean_object* v___x_2079_; lean_object* v___x_2080_; -v___x_2075_ = lean_array_fget_borrowed(v_values_2066_, v_i_2067_); -v_value_2076_ = lean_expr_abstract_range(v___x_2075_, v_i_2067_, v_xs_2065_); -v_value_2077_ = lean_expr_instantiate_rev(v_value_2076_, v_subst_2068_); -lean_dec_ref(v_value_2076_); -v___x_2078_ = lean_unsigned_to_nat(1u); -v___x_2079_ = lean_nat_add(v_i_2067_, v___x_2078_); -lean_dec(v_i_2067_); -v___x_2080_ = lean_array_push(v_subst_2068_, v_value_2077_); -v_i_2067_ = v___x_2079_; -v_subst_2068_ = v___x_2080_; +lean_object* v___x_2095_; lean_object* v_value_2096_; lean_object* v_value_2097_; lean_object* v___x_2098_; lean_object* v___x_2099_; lean_object* v___x_2100_; +v___x_2095_ = lean_array_fget_borrowed(v_values_2086_, v_i_2087_); +v_value_2096_ = lean_expr_abstract_range(v___x_2095_, v_i_2087_, v_xs_2085_); +v_value_2097_ = lean_expr_instantiate_rev(v_value_2096_, v_subst_2088_); +lean_dec_ref(v_value_2096_); +v___x_2098_ = lean_unsigned_to_nat(1u); +v___x_2099_ = lean_nat_add(v_i_2087_, v___x_2098_); +lean_dec(v_i_2087_); +v___x_2100_ = lean_array_push(v_subst_2088_, v_value_2097_); +v_i_2087_ = v___x_2099_; +v_subst_2088_ = v___x_2100_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go___boxed(lean_object* v_body_2082_, lean_object* v_xs_2083_, lean_object* v_values_2084_, lean_object* v_i_2085_, lean_object* v_subst_2086_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go___boxed(lean_object* v_body_2102_, lean_object* v_xs_2103_, lean_object* v_values_2104_, lean_object* v_i_2105_, lean_object* v_subst_2106_){ _start: { -lean_object* v_res_2087_; -v_res_2087_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(v_body_2082_, v_xs_2083_, v_values_2084_, v_i_2085_, v_subst_2086_); -lean_dec_ref(v_values_2084_); -lean_dec_ref(v_xs_2083_); -return v_res_2087_; +lean_object* v_res_2107_; +v_res_2107_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(v_body_2102_, v_xs_2103_, v_values_2104_, v_i_2105_, v_subst_2106_); +lean_dec_ref(v_values_2104_); +lean_dec_ref(v_xs_2103_); +return v_res_2107_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(size_t v_sz_2090_, size_t v_i_2091_, lean_object* v_bs_2092_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(size_t v_sz_2110_, size_t v_i_2111_, lean_object* v_bs_2112_){ _start: { -uint8_t v___x_2093_; -v___x_2093_ = lean_usize_dec_lt(v_i_2091_, v_sz_2090_); -if (v___x_2093_ == 0) +uint8_t v___x_2113_; +v___x_2113_ = lean_usize_dec_lt(v_i_2111_, v_sz_2110_); +if (v___x_2113_ == 0) { -return v_bs_2092_; +return v_bs_2112_; } else { -lean_object* v_v_2094_; lean_object* v___x_2095_; lean_object* v_bs_x27_2096_; lean_object* v___y_2098_; lean_object* v_decl_2104_; -v_v_2094_ = lean_array_uget(v_bs_2092_, v_i_2091_); -v___x_2095_ = lean_unsigned_to_nat(0u); -v_bs_x27_2096_ = lean_array_uset(v_bs_2092_, v_i_2091_, v___x_2095_); -if (lean_obj_tag(v_v_2094_) == 0) +lean_object* v_v_2114_; lean_object* v___x_2115_; lean_object* v_bs_x27_2116_; lean_object* v___y_2118_; lean_object* v_decl_2124_; +v_v_2114_ = lean_array_uget(v_bs_2112_, v_i_2111_); +v___x_2115_ = lean_unsigned_to_nat(0u); +v_bs_x27_2116_ = lean_array_uset(v_bs_2112_, v_i_2111_, v___x_2115_); +if (lean_obj_tag(v_v_2114_) == 0) { -lean_object* v_decl_2108_; lean_object* v_value_2109_; uint8_t v___x_2110_; lean_object* v___x_2111_; -v_decl_2108_ = lean_ctor_get(v_v_2094_, 0); -lean_inc_ref(v_decl_2108_); -lean_dec_ref(v_v_2094_); -v_value_2109_ = lean_ctor_get(v_decl_2108_, 3); -lean_inc(v_value_2109_); -lean_dec_ref(v_decl_2108_); -v___x_2110_ = 0; -v___x_2111_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_2110_, v_value_2109_); -v___y_2098_ = v___x_2111_; -goto v___jp_2097_; +lean_object* v_decl_2128_; lean_object* v_value_2129_; uint8_t v___x_2130_; lean_object* v___x_2131_; +v_decl_2128_ = lean_ctor_get(v_v_2114_, 0); +lean_inc_ref(v_decl_2128_); +lean_dec_ref(v_v_2114_); +v_value_2129_ = lean_ctor_get(v_decl_2128_, 3); +lean_inc(v_value_2129_); +lean_dec_ref(v_decl_2128_); +v___x_2130_ = 0; +v___x_2131_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_2130_, v_value_2129_); +v___y_2118_ = v___x_2131_; +goto v___jp_2117_; } else { -lean_object* v_decl_2112_; -v_decl_2112_ = lean_ctor_get(v_v_2094_, 0); -lean_inc_ref(v_decl_2112_); -lean_dec(v_v_2094_); -v_decl_2104_ = v_decl_2112_; -goto v___jp_2103_; +lean_object* v_decl_2132_; +v_decl_2132_ = lean_ctor_get(v_v_2114_, 0); +lean_inc_ref(v_decl_2132_); +lean_dec(v_v_2114_); +v_decl_2124_ = v_decl_2132_; +goto v___jp_2123_; } -v___jp_2097_: +v___jp_2117_: { -size_t v___x_2099_; size_t v___x_2100_; lean_object* v___x_2101_; -v___x_2099_ = ((size_t)1ULL); -v___x_2100_ = lean_usize_add(v_i_2091_, v___x_2099_); -v___x_2101_ = lean_array_uset(v_bs_x27_2096_, v_i_2091_, v___y_2098_); -v_i_2091_ = v___x_2100_; -v_bs_2092_ = v___x_2101_; +size_t v___x_2119_; size_t v___x_2120_; lean_object* v___x_2121_; +v___x_2119_ = ((size_t)1ULL); +v___x_2120_ = lean_usize_add(v_i_2111_, v___x_2119_); +v___x_2121_ = lean_array_uset(v_bs_x27_2116_, v_i_2111_, v___y_2118_); +v_i_2111_ = v___x_2120_; +v_bs_2112_ = v___x_2121_; goto _start; } -v___jp_2103_: +v___jp_2123_: { -uint8_t v___x_2105_; lean_object* v___x_2106_; lean_object* v___x_2107_; -v___x_2105_ = 0; -v___x_2106_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1___closed__0)); -v___x_2107_ = l_Lean_Compiler_LCNF_FunDecl_toExpr(v___x_2105_, v_decl_2104_, v___x_2106_); -v___y_2098_ = v___x_2107_; -goto v___jp_2097_; +uint8_t v___x_2125_; lean_object* v___x_2126_; lean_object* v___x_2127_; +v___x_2125_ = 0; +v___x_2126_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1___closed__0)); +v___x_2127_ = l_Lean_Compiler_LCNF_FunDecl_toExpr(v___x_2125_, v_decl_2124_, v___x_2126_); +v___y_2118_ = v___x_2127_; +goto v___jp_2117_; } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1___boxed(lean_object* v_sz_2113_, lean_object* v_i_2114_, lean_object* v_bs_2115_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1___boxed(lean_object* v_sz_2133_, lean_object* v_i_2134_, lean_object* v_bs_2135_){ _start: { -size_t v_sz_boxed_2116_; size_t v_i_boxed_2117_; lean_object* v_res_2118_; -v_sz_boxed_2116_ = lean_unbox_usize(v_sz_2113_); -lean_dec(v_sz_2113_); -v_i_boxed_2117_ = lean_unbox_usize(v_i_2114_); -lean_dec(v_i_2114_); -v_res_2118_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(v_sz_boxed_2116_, v_i_boxed_2117_, v_bs_2115_); -return v_res_2118_; +size_t v_sz_boxed_2136_; size_t v_i_boxed_2137_; lean_object* v_res_2138_; +v_sz_boxed_2136_ = lean_unbox_usize(v_sz_2133_); +lean_dec(v_sz_2133_); +v_i_boxed_2137_ = lean_unbox_usize(v_i_2134_); +lean_dec(v_i_2134_); +v_res_2138_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(v_sz_boxed_2136_, v_i_boxed_2137_, v_bs_2135_); +return v_res_2138_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(size_t v_sz_2119_, size_t v_i_2120_, lean_object* v_bs_2121_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(size_t v_sz_2139_, size_t v_i_2140_, lean_object* v_bs_2141_){ _start: { -uint8_t v___x_2122_; -v___x_2122_ = lean_usize_dec_lt(v_i_2120_, v_sz_2119_); -if (v___x_2122_ == 0) +uint8_t v___x_2142_; +v___x_2142_ = lean_usize_dec_lt(v_i_2140_, v_sz_2139_); +if (v___x_2142_ == 0) { -return v_bs_2121_; +return v_bs_2141_; } else { -lean_object* v_v_2123_; lean_object* v___x_2124_; lean_object* v_bs_x27_2125_; lean_object* v___x_2126_; lean_object* v___x_2127_; size_t v___x_2128_; size_t v___x_2129_; lean_object* v___x_2130_; -v_v_2123_ = lean_array_uget(v_bs_2121_, v_i_2120_); -v___x_2124_ = lean_unsigned_to_nat(0u); -v_bs_x27_2125_ = lean_array_uset(v_bs_2121_, v_i_2120_, v___x_2124_); -v___x_2126_ = l_Lean_Compiler_LCNF_CodeDecl_fvarId___redArg(v_v_2123_); -lean_dec(v_v_2123_); -v___x_2127_ = l_Lean_mkFVar(v___x_2126_); -v___x_2128_ = ((size_t)1ULL); -v___x_2129_ = lean_usize_add(v_i_2120_, v___x_2128_); -v___x_2130_ = lean_array_uset(v_bs_x27_2125_, v_i_2120_, v___x_2127_); -v_i_2120_ = v___x_2129_; -v_bs_2121_ = v___x_2130_; +lean_object* v_v_2143_; lean_object* v___x_2144_; lean_object* v_bs_x27_2145_; lean_object* v___x_2146_; lean_object* v___x_2147_; size_t v___x_2148_; size_t v___x_2149_; lean_object* v___x_2150_; +v_v_2143_ = lean_array_uget(v_bs_2141_, v_i_2140_); +v___x_2144_ = lean_unsigned_to_nat(0u); +v_bs_x27_2145_ = lean_array_uset(v_bs_2141_, v_i_2140_, v___x_2144_); +v___x_2146_ = l_Lean_Compiler_LCNF_CodeDecl_fvarId___redArg(v_v_2143_); +lean_dec(v_v_2143_); +v___x_2147_ = l_Lean_mkFVar(v___x_2146_); +v___x_2148_ = ((size_t)1ULL); +v___x_2149_ = lean_usize_add(v_i_2140_, v___x_2148_); +v___x_2150_ = lean_array_uset(v_bs_x27_2145_, v_i_2140_, v___x_2147_); +v_i_2140_ = v___x_2149_; +v_bs_2141_ = v___x_2150_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0___boxed(lean_object* v_sz_2132_, lean_object* v_i_2133_, lean_object* v_bs_2134_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0___boxed(lean_object* v_sz_2152_, lean_object* v_i_2153_, lean_object* v_bs_2154_){ _start: { -size_t v_sz_boxed_2135_; size_t v_i_boxed_2136_; lean_object* v_res_2137_; -v_sz_boxed_2135_ = lean_unbox_usize(v_sz_2132_); -lean_dec(v_sz_2132_); -v_i_boxed_2136_ = lean_unbox_usize(v_i_2133_); -lean_dec(v_i_2133_); -v_res_2137_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(v_sz_boxed_2135_, v_i_boxed_2136_, v_bs_2134_); -return v_res_2137_; +size_t v_sz_boxed_2155_; size_t v_i_boxed_2156_; lean_object* v_res_2157_; +v_sz_boxed_2155_ = lean_unbox_usize(v_sz_2152_); +lean_dec(v_sz_2152_); +v_i_boxed_2156_ = lean_unbox_usize(v_i_2153_); +lean_dec(v_i_2153_); +v_res_2157_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(v_sz_boxed_2155_, v_i_boxed_2156_, v_bs_2154_); +return v_res_2157_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(lean_object* v_decls_2140_, lean_object* v_body_2141_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(lean_object* v_decls_2160_, lean_object* v_body_2161_){ _start: { -size_t v_sz_2143_; size_t v___x_2144_; lean_object* v_xs_2145_; lean_object* v_values_2146_; lean_object* v___x_2147_; lean_object* v___x_2148_; lean_object* v___x_2149_; lean_object* v___x_2150_; -v_sz_2143_ = lean_array_size(v_decls_2140_); -v___x_2144_ = ((size_t)0ULL); -lean_inc_ref(v_decls_2140_); -v_xs_2145_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(v_sz_2143_, v___x_2144_, v_decls_2140_); -v_values_2146_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(v_sz_2143_, v___x_2144_, v_decls_2140_); -v___x_2147_ = lean_unsigned_to_nat(0u); -v___x_2148_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); -v___x_2149_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(v_body_2141_, v_xs_2145_, v_values_2146_, v___x_2147_, v___x_2148_); -lean_dec_ref(v_values_2146_); -lean_dec_ref(v_xs_2145_); -v___x_2150_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2150_, 0, v___x_2149_); -return v___x_2150_; +size_t v_sz_2163_; size_t v___x_2164_; lean_object* v_xs_2165_; lean_object* v_values_2166_; lean_object* v___x_2167_; lean_object* v___x_2168_; lean_object* v___x_2169_; lean_object* v___x_2170_; +v_sz_2163_ = lean_array_size(v_decls_2160_); +v___x_2164_ = ((size_t)0ULL); +lean_inc_ref(v_decls_2160_); +v_xs_2165_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__0(v_sz_2163_, v___x_2164_, v_decls_2160_); +v_values_2166_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_spec__1(v_sz_2163_, v___x_2164_, v_decls_2160_); +v___x_2167_ = lean_unsigned_to_nat(0u); +v___x_2168_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); +v___x_2169_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls_go(v_body_2161_, v_xs_2165_, v_values_2166_, v___x_2167_, v___x_2168_); +lean_dec_ref(v_values_2166_); +lean_dec_ref(v_xs_2165_); +v___x_2170_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2170_, 0, v___x_2169_); +return v___x_2170_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___boxed(lean_object* v_decls_2151_, lean_object* v_body_2152_, lean_object* v_a_2153_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___boxed(lean_object* v_decls_2171_, lean_object* v_body_2172_, lean_object* v_a_2173_){ _start: { -lean_object* v_res_2154_; -v_res_2154_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_2151_, v_body_2152_); -return v_res_2154_; +lean_object* v_res_2174_; +v_res_2174_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_2171_, v_body_2172_); +return v_res_2174_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls(lean_object* v_decls_2155_, lean_object* v_body_2156_, lean_object* v_a_2157_, lean_object* v_a_2158_, lean_object* v_a_2159_, lean_object* v_a_2160_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls(lean_object* v_decls_2175_, lean_object* v_body_2176_, lean_object* v_a_2177_, lean_object* v_a_2178_, lean_object* v_a_2179_, lean_object* v_a_2180_){ _start: { -lean_object* v___x_2162_; -v___x_2162_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_2155_, v_body_2156_); -return v___x_2162_; +lean_object* v___x_2182_; +v___x_2182_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_2175_, v_body_2176_); +return v___x_2182_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___boxed(lean_object* v_decls_2163_, lean_object* v_body_2164_, lean_object* v_a_2165_, lean_object* v_a_2166_, lean_object* v_a_2167_, lean_object* v_a_2168_, lean_object* v_a_2169_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___boxed(lean_object* v_decls_2183_, lean_object* v_body_2184_, lean_object* v_a_2185_, lean_object* v_a_2186_, lean_object* v_a_2187_, lean_object* v_a_2188_, lean_object* v_a_2189_){ _start: { -lean_object* v_res_2170_; -v_res_2170_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls(v_decls_2163_, v_body_2164_, v_a_2165_, v_a_2166_, v_a_2167_, v_a_2168_); -lean_dec(v_a_2168_); -lean_dec_ref(v_a_2167_); -lean_dec(v_a_2166_); -lean_dec_ref(v_a_2165_); -return v_res_2170_; +lean_object* v_res_2190_; +v_res_2190_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls(v_decls_2183_, v_body_2184_, v_a_2185_, v_a_2186_, v_a_2187_, v_a_2188_); +lean_dec(v_a_2188_); +lean_dec_ref(v_a_2187_); +lean_dec(v_a_2186_); +lean_dec_ref(v_a_2185_); +return v_res_2190_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0(lean_object* v_e_2171_, lean_object* v___y_2172_, lean_object* v___y_2173_, lean_object* v___y_2174_, lean_object* v___y_2175_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0(lean_object* v_e_2191_, lean_object* v___y_2192_, lean_object* v___y_2193_, lean_object* v___y_2194_, lean_object* v___y_2195_){ _start: { -lean_object* v___x_2177_; lean_object* v___x_2178_; -v___x_2177_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2177_, 0, v_e_2171_); -v___x_2178_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2178_, 0, v___x_2177_); -return v___x_2178_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0___boxed(lean_object* v_e_2179_, lean_object* v___y_2180_, lean_object* v___y_2181_, lean_object* v___y_2182_, lean_object* v___y_2183_, lean_object* v___y_2184_){ -_start: -{ -lean_object* v_res_2185_; -v_res_2185_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0(v_e_2179_, v___y_2180_, v___y_2181_, v___y_2182_, v___y_2183_); -lean_dec(v___y_2183_); -lean_dec_ref(v___y_2182_); -lean_dec(v___y_2181_); -lean_dec_ref(v___y_2180_); -return v_res_2185_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1(lean_object* v_e_2188_, lean_object* v___y_2189_, lean_object* v___y_2190_, lean_object* v___y_2191_, lean_object* v___y_2192_){ -_start: -{ -uint8_t v___x_2194_; uint8_t v___x_2195_; -v___x_2194_ = 0; -v___x_2195_ = l_Lean_Expr_isHeadBetaTarget(v_e_2188_, v___x_2194_); -if (v___x_2195_ == 0) -{ -lean_object* v___x_2196_; lean_object* v___x_2197_; -lean_dec_ref(v_e_2188_); -v___x_2196_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1___closed__0)); +lean_object* v___x_2197_; lean_object* v___x_2198_; v___x_2197_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2197_, 0, v___x_2196_); -return v___x_2197_; -} -else -{ -lean_object* v___x_2198_; lean_object* v___x_2199_; lean_object* v___x_2200_; -v___x_2198_ = l_Lean_Expr_headBeta(v_e_2188_); -v___x_2199_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_2199_, 0, v___x_2198_); -v___x_2200_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2200_, 0, v___x_2199_); -return v___x_2200_; +lean_ctor_set(v___x_2197_, 0, v_e_2191_); +v___x_2198_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2198_, 0, v___x_2197_); +return v___x_2198_; } } -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1___boxed(lean_object* v_e_2201_, lean_object* v___y_2202_, lean_object* v___y_2203_, lean_object* v___y_2204_, lean_object* v___y_2205_, lean_object* v___y_2206_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0___boxed(lean_object* v_e_2199_, lean_object* v___y_2200_, lean_object* v___y_2201_, lean_object* v___y_2202_, lean_object* v___y_2203_, lean_object* v___y_2204_){ _start: { -lean_object* v_res_2207_; -v_res_2207_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1(v_e_2201_, v___y_2202_, v___y_2203_, v___y_2204_, v___y_2205_); -lean_dec(v___y_2205_); -lean_dec_ref(v___y_2204_); +lean_object* v_res_2205_; +v_res_2205_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__0(v_e_2199_, v___y_2200_, v___y_2201_, v___y_2202_, v___y_2203_); lean_dec(v___y_2203_); lean_dec_ref(v___y_2202_); -return v_res_2207_; +lean_dec(v___y_2201_); +lean_dec_ref(v___y_2200_); +return v_res_2205_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_object* v_00_u03b1_2208_, lean_object* v_x_2209_, lean_object* v___y_2210_, lean_object* v___y_2211_, lean_object* v___y_2212_, lean_object* v___y_2213_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1(lean_object* v_e_2208_, lean_object* v___y_2209_, lean_object* v___y_2210_, lean_object* v___y_2211_, lean_object* v___y_2212_){ _start: { -lean_object* v___x_2215_; lean_object* v___x_2216_; -v___x_2215_ = lean_apply_1(v_x_2209_, lean_box(0)); -v___x_2216_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2216_, 0, v___x_2215_); -return v___x_2216_; +uint8_t v___x_2214_; uint8_t v___x_2215_; +v___x_2214_ = 0; +v___x_2215_ = l_Lean_Expr_isHeadBetaTarget(v_e_2208_, v___x_2214_); +if (v___x_2215_ == 0) +{ +lean_object* v___x_2216_; lean_object* v___x_2217_; +lean_dec_ref(v_e_2208_); +v___x_2216_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1___closed__0)); +v___x_2217_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2217_, 0, v___x_2216_); +return v___x_2217_; +} +else +{ +lean_object* v___x_2218_; lean_object* v___x_2219_; lean_object* v___x_2220_; +v___x_2218_ = l_Lean_Expr_headBeta(v_e_2208_); +v___x_2219_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_2219_, 0, v___x_2218_); +v___x_2220_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2220_, 0, v___x_2219_); +return v___x_2220_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0___boxed(lean_object* v_00_u03b1_2217_, lean_object* v_x_2218_, lean_object* v___y_2219_, lean_object* v___y_2220_, lean_object* v___y_2221_, lean_object* v___y_2222_, lean_object* v___y_2223_){ +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1___boxed(lean_object* v_e_2221_, lean_object* v___y_2222_, lean_object* v___y_2223_, lean_object* v___y_2224_, lean_object* v___y_2225_, lean_object* v___y_2226_){ _start: { -lean_object* v_res_2224_; -v_res_2224_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(v_00_u03b1_2217_, v_x_2218_, v___y_2219_, v___y_2220_, v___y_2221_, v___y_2222_); -lean_dec(v___y_2222_); -lean_dec_ref(v___y_2221_); -lean_dec(v___y_2220_); -lean_dec_ref(v___y_2219_); -return v_res_2224_; +lean_object* v_res_2227_; +v_res_2227_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___lam__1(v_e_2221_, v___y_2222_, v___y_2223_, v___y_2224_, v___y_2225_); +lean_dec(v___y_2225_); +lean_dec_ref(v___y_2224_); +lean_dec(v___y_2223_); +lean_dec_ref(v___y_2222_); +return v_res_2227_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(lean_object* v_a_2225_, lean_object* v_b_2226_, lean_object* v_x_2227_){ +LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_object* v_00_u03b1_2228_, lean_object* v_x_2229_, lean_object* v___y_2230_, lean_object* v___y_2231_, lean_object* v___y_2232_, lean_object* v___y_2233_){ _start: { -if (lean_obj_tag(v_x_2227_) == 0) -{ -lean_dec(v_b_2226_); -lean_dec_ref(v_a_2225_); -return v_x_2227_; -} -else -{ -lean_object* v_key_2228_; lean_object* v_value_2229_; lean_object* v_tail_2230_; lean_object* v___x_2232_; uint8_t v_isShared_2233_; uint8_t v_isSharedCheck_2242_; -v_key_2228_ = lean_ctor_get(v_x_2227_, 0); -v_value_2229_ = lean_ctor_get(v_x_2227_, 1); -v_tail_2230_ = lean_ctor_get(v_x_2227_, 2); -v_isSharedCheck_2242_ = !lean_is_exclusive(v_x_2227_); -if (v_isSharedCheck_2242_ == 0) -{ -v___x_2232_ = v_x_2227_; -v_isShared_2233_ = v_isSharedCheck_2242_; -goto v_resetjp_2231_; -} -else -{ -lean_inc(v_tail_2230_); -lean_inc(v_value_2229_); -lean_inc(v_key_2228_); -lean_dec(v_x_2227_); -v___x_2232_ = lean_box(0); -v_isShared_2233_ = v_isSharedCheck_2242_; -goto v_resetjp_2231_; -} -v_resetjp_2231_: -{ -uint8_t v___x_2234_; -v___x_2234_ = l_Lean_ExprStructEq_beq(v_key_2228_, v_a_2225_); -if (v___x_2234_ == 0) -{ -lean_object* v___x_2235_; lean_object* v___x_2237_; -v___x_2235_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_2225_, v_b_2226_, v_tail_2230_); -if (v_isShared_2233_ == 0) -{ -lean_ctor_set(v___x_2232_, 2, v___x_2235_); -v___x_2237_ = v___x_2232_; -goto v_reusejp_2236_; -} -else -{ -lean_object* v_reuseFailAlloc_2238_; -v_reuseFailAlloc_2238_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_2238_, 0, v_key_2228_); -lean_ctor_set(v_reuseFailAlloc_2238_, 1, v_value_2229_); -lean_ctor_set(v_reuseFailAlloc_2238_, 2, v___x_2235_); -v___x_2237_ = v_reuseFailAlloc_2238_; -goto v_reusejp_2236_; -} -v_reusejp_2236_: -{ -return v___x_2237_; +lean_object* v___x_2235_; lean_object* v___x_2236_; +v___x_2235_ = lean_apply_1(v_x_2229_, lean_box(0)); +v___x_2236_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2236_, 0, v___x_2235_); +return v___x_2236_; } } -else -{ -lean_object* v___x_2240_; -lean_dec(v_value_2229_); -lean_dec(v_key_2228_); -if (v_isShared_2233_ == 0) -{ -lean_ctor_set(v___x_2232_, 1, v_b_2226_); -lean_ctor_set(v___x_2232_, 0, v_a_2225_); -v___x_2240_ = v___x_2232_; -goto v_reusejp_2239_; -} -else -{ -lean_object* v_reuseFailAlloc_2241_; -v_reuseFailAlloc_2241_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_2241_, 0, v_a_2225_); -lean_ctor_set(v_reuseFailAlloc_2241_, 1, v_b_2226_); -lean_ctor_set(v_reuseFailAlloc_2241_, 2, v_tail_2230_); -v___x_2240_ = v_reuseFailAlloc_2241_; -goto v_reusejp_2239_; -} -v_reusejp_2239_: -{ -return v___x_2240_; -} -} -} -} -} -} -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(lean_object* v_a_2243_, lean_object* v_x_2244_){ +LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0___boxed(lean_object* v_00_u03b1_2237_, lean_object* v_x_2238_, lean_object* v___y_2239_, lean_object* v___y_2240_, lean_object* v___y_2241_, lean_object* v___y_2242_, lean_object* v___y_2243_){ _start: { -if (lean_obj_tag(v_x_2244_) == 0) +lean_object* v_res_2244_; +v_res_2244_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(v_00_u03b1_2237_, v_x_2238_, v___y_2239_, v___y_2240_, v___y_2241_, v___y_2242_); +lean_dec(v___y_2242_); +lean_dec_ref(v___y_2241_); +lean_dec(v___y_2240_); +lean_dec_ref(v___y_2239_); +return v_res_2244_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(lean_object* v_a_2245_, lean_object* v_b_2246_, lean_object* v_x_2247_){ +_start: { -uint8_t v___x_2245_; -v___x_2245_ = 0; -return v___x_2245_; +if (lean_obj_tag(v_x_2247_) == 0) +{ +lean_dec(v_b_2246_); +lean_dec_ref(v_a_2245_); +return v_x_2247_; } else { -lean_object* v_key_2246_; lean_object* v_tail_2247_; uint8_t v___x_2248_; -v_key_2246_ = lean_ctor_get(v_x_2244_, 0); -v_tail_2247_ = lean_ctor_get(v_x_2244_, 2); -v___x_2248_ = l_Lean_ExprStructEq_beq(v_key_2246_, v_a_2243_); -if (v___x_2248_ == 0) +lean_object* v_key_2248_; lean_object* v_value_2249_; lean_object* v_tail_2250_; lean_object* v___x_2252_; uint8_t v_isShared_2253_; uint8_t v_isSharedCheck_2262_; +v_key_2248_ = lean_ctor_get(v_x_2247_, 0); +v_value_2249_ = lean_ctor_get(v_x_2247_, 1); +v_tail_2250_ = lean_ctor_get(v_x_2247_, 2); +v_isSharedCheck_2262_ = !lean_is_exclusive(v_x_2247_); +if (v_isSharedCheck_2262_ == 0) { -v_x_2244_ = v_tail_2247_; +v___x_2252_ = v_x_2247_; +v_isShared_2253_ = v_isSharedCheck_2262_; +goto v_resetjp_2251_; +} +else +{ +lean_inc(v_tail_2250_); +lean_inc(v_value_2249_); +lean_inc(v_key_2248_); +lean_dec(v_x_2247_); +v___x_2252_ = lean_box(0); +v_isShared_2253_ = v_isSharedCheck_2262_; +goto v_resetjp_2251_; +} +v_resetjp_2251_: +{ +uint8_t v___x_2254_; +v___x_2254_ = l_Lean_ExprStructEq_beq(v_key_2248_, v_a_2245_); +if (v___x_2254_ == 0) +{ +lean_object* v___x_2255_; lean_object* v___x_2257_; +v___x_2255_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_2245_, v_b_2246_, v_tail_2250_); +if (v_isShared_2253_ == 0) +{ +lean_ctor_set(v___x_2252_, 2, v___x_2255_); +v___x_2257_ = v___x_2252_; +goto v_reusejp_2256_; +} +else +{ +lean_object* v_reuseFailAlloc_2258_; +v_reuseFailAlloc_2258_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_2258_, 0, v_key_2248_); +lean_ctor_set(v_reuseFailAlloc_2258_, 1, v_value_2249_); +lean_ctor_set(v_reuseFailAlloc_2258_, 2, v___x_2255_); +v___x_2257_ = v_reuseFailAlloc_2258_; +goto v_reusejp_2256_; +} +v_reusejp_2256_: +{ +return v___x_2257_; +} +} +else +{ +lean_object* v___x_2260_; +lean_dec(v_value_2249_); +lean_dec(v_key_2248_); +if (v_isShared_2253_ == 0) +{ +lean_ctor_set(v___x_2252_, 1, v_b_2246_); +lean_ctor_set(v___x_2252_, 0, v_a_2245_); +v___x_2260_ = v___x_2252_; +goto v_reusejp_2259_; +} +else +{ +lean_object* v_reuseFailAlloc_2261_; +v_reuseFailAlloc_2261_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_2261_, 0, v_a_2245_); +lean_ctor_set(v_reuseFailAlloc_2261_, 1, v_b_2246_); +lean_ctor_set(v_reuseFailAlloc_2261_, 2, v_tail_2250_); +v___x_2260_ = v_reuseFailAlloc_2261_; +goto v_reusejp_2259_; +} +v_reusejp_2259_: +{ +return v___x_2260_; +} +} +} +} +} +} +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(lean_object* v_a_2263_, lean_object* v_x_2264_){ +_start: +{ +if (lean_obj_tag(v_x_2264_) == 0) +{ +uint8_t v___x_2265_; +v___x_2265_ = 0; +return v___x_2265_; +} +else +{ +lean_object* v_key_2266_; lean_object* v_tail_2267_; uint8_t v___x_2268_; +v_key_2266_ = lean_ctor_get(v_x_2264_, 0); +v_tail_2267_ = lean_ctor_get(v_x_2264_, 2); +v___x_2268_ = l_Lean_ExprStructEq_beq(v_key_2266_, v_a_2263_); +if (v___x_2268_ == 0) +{ +v_x_2264_ = v_tail_2267_; goto _start; } else { -return v___x_2248_; +return v___x_2268_; } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg___boxed(lean_object* v_a_2250_, lean_object* v_x_2251_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg___boxed(lean_object* v_a_2270_, lean_object* v_x_2271_){ _start: { -uint8_t v_res_2252_; lean_object* v_r_2253_; -v_res_2252_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_2250_, v_x_2251_); -lean_dec(v_x_2251_); -lean_dec_ref(v_a_2250_); -v_r_2253_ = lean_box(v_res_2252_); -return v_r_2253_; +uint8_t v_res_2272_; lean_object* v_r_2273_; +v_res_2272_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_2270_, v_x_2271_); +lean_dec(v_x_2271_); +lean_dec_ref(v_a_2270_); +v_r_2273_ = lean_box(v_res_2272_); +return v_r_2273_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(lean_object* v_x_2254_, lean_object* v_x_2255_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(lean_object* v_x_2274_, lean_object* v_x_2275_){ _start: { -if (lean_obj_tag(v_x_2255_) == 0) +if (lean_obj_tag(v_x_2275_) == 0) { -return v_x_2254_; +return v_x_2274_; } else { -lean_object* v_key_2256_; lean_object* v_value_2257_; lean_object* v_tail_2258_; lean_object* v___x_2260_; uint8_t v_isShared_2261_; uint8_t v_isSharedCheck_2281_; -v_key_2256_ = lean_ctor_get(v_x_2255_, 0); -v_value_2257_ = lean_ctor_get(v_x_2255_, 1); -v_tail_2258_ = lean_ctor_get(v_x_2255_, 2); -v_isSharedCheck_2281_ = !lean_is_exclusive(v_x_2255_); -if (v_isSharedCheck_2281_ == 0) +lean_object* v_key_2276_; lean_object* v_value_2277_; lean_object* v_tail_2278_; lean_object* v___x_2280_; uint8_t v_isShared_2281_; uint8_t v_isSharedCheck_2301_; +v_key_2276_ = lean_ctor_get(v_x_2275_, 0); +v_value_2277_ = lean_ctor_get(v_x_2275_, 1); +v_tail_2278_ = lean_ctor_get(v_x_2275_, 2); +v_isSharedCheck_2301_ = !lean_is_exclusive(v_x_2275_); +if (v_isSharedCheck_2301_ == 0) { -v___x_2260_ = v_x_2255_; -v_isShared_2261_ = v_isSharedCheck_2281_; -goto v_resetjp_2259_; +v___x_2280_ = v_x_2275_; +v_isShared_2281_ = v_isSharedCheck_2301_; +goto v_resetjp_2279_; } else { -lean_inc(v_tail_2258_); -lean_inc(v_value_2257_); -lean_inc(v_key_2256_); -lean_dec(v_x_2255_); -v___x_2260_ = lean_box(0); -v_isShared_2261_ = v_isSharedCheck_2281_; -goto v_resetjp_2259_; +lean_inc(v_tail_2278_); +lean_inc(v_value_2277_); +lean_inc(v_key_2276_); +lean_dec(v_x_2275_); +v___x_2280_ = lean_box(0); +v_isShared_2281_ = v_isSharedCheck_2301_; +goto v_resetjp_2279_; } -v_resetjp_2259_: +v_resetjp_2279_: { -lean_object* v___x_2262_; uint64_t v___x_2263_; uint64_t v___x_2264_; uint64_t v___x_2265_; uint64_t v_fold_2266_; uint64_t v___x_2267_; uint64_t v___x_2268_; uint64_t v___x_2269_; size_t v___x_2270_; size_t v___x_2271_; size_t v___x_2272_; size_t v___x_2273_; size_t v___x_2274_; lean_object* v___x_2275_; lean_object* v___x_2277_; -v___x_2262_ = lean_array_get_size(v_x_2254_); -v___x_2263_ = l_Lean_ExprStructEq_hash(v_key_2256_); -v___x_2264_ = 32ULL; -v___x_2265_ = lean_uint64_shift_right(v___x_2263_, v___x_2264_); -v_fold_2266_ = lean_uint64_xor(v___x_2263_, v___x_2265_); -v___x_2267_ = 16ULL; -v___x_2268_ = lean_uint64_shift_right(v_fold_2266_, v___x_2267_); -v___x_2269_ = lean_uint64_xor(v_fold_2266_, v___x_2268_); -v___x_2270_ = lean_uint64_to_usize(v___x_2269_); -v___x_2271_ = lean_usize_of_nat(v___x_2262_); -v___x_2272_ = ((size_t)1ULL); -v___x_2273_ = lean_usize_sub(v___x_2271_, v___x_2272_); -v___x_2274_ = lean_usize_land(v___x_2270_, v___x_2273_); -v___x_2275_ = lean_array_uget_borrowed(v_x_2254_, v___x_2274_); -lean_inc(v___x_2275_); -if (v_isShared_2261_ == 0) +lean_object* v___x_2282_; uint64_t v___x_2283_; uint64_t v___x_2284_; uint64_t v___x_2285_; uint64_t v_fold_2286_; uint64_t v___x_2287_; uint64_t v___x_2288_; uint64_t v___x_2289_; size_t v___x_2290_; size_t v___x_2291_; size_t v___x_2292_; size_t v___x_2293_; size_t v___x_2294_; lean_object* v___x_2295_; lean_object* v___x_2297_; +v___x_2282_ = lean_array_get_size(v_x_2274_); +v___x_2283_ = l_Lean_ExprStructEq_hash(v_key_2276_); +v___x_2284_ = 32ULL; +v___x_2285_ = lean_uint64_shift_right(v___x_2283_, v___x_2284_); +v_fold_2286_ = lean_uint64_xor(v___x_2283_, v___x_2285_); +v___x_2287_ = 16ULL; +v___x_2288_ = lean_uint64_shift_right(v_fold_2286_, v___x_2287_); +v___x_2289_ = lean_uint64_xor(v_fold_2286_, v___x_2288_); +v___x_2290_ = lean_uint64_to_usize(v___x_2289_); +v___x_2291_ = lean_usize_of_nat(v___x_2282_); +v___x_2292_ = ((size_t)1ULL); +v___x_2293_ = lean_usize_sub(v___x_2291_, v___x_2292_); +v___x_2294_ = lean_usize_land(v___x_2290_, v___x_2293_); +v___x_2295_ = lean_array_uget_borrowed(v_x_2274_, v___x_2294_); +lean_inc(v___x_2295_); +if (v_isShared_2281_ == 0) { -lean_ctor_set(v___x_2260_, 2, v___x_2275_); -v___x_2277_ = v___x_2260_; -goto v_reusejp_2276_; +lean_ctor_set(v___x_2280_, 2, v___x_2295_); +v___x_2297_ = v___x_2280_; +goto v_reusejp_2296_; } else { -lean_object* v_reuseFailAlloc_2280_; -v_reuseFailAlloc_2280_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_2280_, 0, v_key_2256_); -lean_ctor_set(v_reuseFailAlloc_2280_, 1, v_value_2257_); -lean_ctor_set(v_reuseFailAlloc_2280_, 2, v___x_2275_); -v___x_2277_ = v_reuseFailAlloc_2280_; -goto v_reusejp_2276_; +lean_object* v_reuseFailAlloc_2300_; +v_reuseFailAlloc_2300_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_2300_, 0, v_key_2276_); +lean_ctor_set(v_reuseFailAlloc_2300_, 1, v_value_2277_); +lean_ctor_set(v_reuseFailAlloc_2300_, 2, v___x_2295_); +v___x_2297_ = v_reuseFailAlloc_2300_; +goto v_reusejp_2296_; } -v_reusejp_2276_: +v_reusejp_2296_: { -lean_object* v___x_2278_; -v___x_2278_ = lean_array_uset(v_x_2254_, v___x_2274_, v___x_2277_); -v_x_2254_ = v___x_2278_; -v_x_2255_ = v_tail_2258_; +lean_object* v___x_2298_; +v___x_2298_ = lean_array_uset(v_x_2274_, v___x_2294_, v___x_2297_); +v_x_2274_ = v___x_2298_; +v_x_2275_ = v_tail_2278_; goto _start; } } } } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(lean_object* v_i_2282_, lean_object* v_source_2283_, lean_object* v_target_2284_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(lean_object* v_i_2302_, lean_object* v_source_2303_, lean_object* v_target_2304_){ _start: { -lean_object* v___x_2285_; uint8_t v___x_2286_; -v___x_2285_ = lean_array_get_size(v_source_2283_); -v___x_2286_ = lean_nat_dec_lt(v_i_2282_, v___x_2285_); -if (v___x_2286_ == 0) +lean_object* v___x_2305_; uint8_t v___x_2306_; +v___x_2305_ = lean_array_get_size(v_source_2303_); +v___x_2306_ = lean_nat_dec_lt(v_i_2302_, v___x_2305_); +if (v___x_2306_ == 0) { -lean_dec_ref(v_source_2283_); -lean_dec(v_i_2282_); -return v_target_2284_; +lean_dec_ref(v_source_2303_); +lean_dec(v_i_2302_); +return v_target_2304_; } else { -lean_object* v_es_2287_; lean_object* v___x_2288_; lean_object* v_source_2289_; lean_object* v_target_2290_; lean_object* v___x_2291_; lean_object* v___x_2292_; -v_es_2287_ = lean_array_fget(v_source_2283_, v_i_2282_); -v___x_2288_ = lean_box(0); -v_source_2289_ = lean_array_fset(v_source_2283_, v_i_2282_, v___x_2288_); -v_target_2290_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(v_target_2284_, v_es_2287_); -v___x_2291_ = lean_unsigned_to_nat(1u); -v___x_2292_ = lean_nat_add(v_i_2282_, v___x_2291_); -lean_dec(v_i_2282_); -v_i_2282_ = v___x_2292_; -v_source_2283_ = v_source_2289_; -v_target_2284_ = v_target_2290_; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(lean_object* v_data_2294_){ -_start: -{ -lean_object* v___x_2295_; lean_object* v___x_2296_; lean_object* v_nbuckets_2297_; lean_object* v___x_2298_; lean_object* v___x_2299_; lean_object* v___x_2300_; lean_object* v___x_2301_; -v___x_2295_ = lean_array_get_size(v_data_2294_); -v___x_2296_ = lean_unsigned_to_nat(2u); -v_nbuckets_2297_ = lean_nat_mul(v___x_2295_, v___x_2296_); -v___x_2298_ = lean_unsigned_to_nat(0u); -v___x_2299_ = lean_box(0); -v___x_2300_ = lean_mk_array(v_nbuckets_2297_, v___x_2299_); -v___x_2301_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(v___x_2298_, v_data_2294_, v___x_2300_); -return v___x_2301_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(lean_object* v_m_2302_, lean_object* v_a_2303_, lean_object* v_b_2304_){ -_start: -{ -lean_object* v_size_2305_; lean_object* v_buckets_2306_; lean_object* v___x_2308_; uint8_t v_isShared_2309_; uint8_t v_isSharedCheck_2349_; -v_size_2305_ = lean_ctor_get(v_m_2302_, 0); -v_buckets_2306_ = lean_ctor_get(v_m_2302_, 1); -v_isSharedCheck_2349_ = !lean_is_exclusive(v_m_2302_); -if (v_isSharedCheck_2349_ == 0) -{ -v___x_2308_ = v_m_2302_; -v_isShared_2309_ = v_isSharedCheck_2349_; -goto v_resetjp_2307_; -} -else -{ -lean_inc(v_buckets_2306_); -lean_inc(v_size_2305_); -lean_dec(v_m_2302_); +lean_object* v_es_2307_; lean_object* v___x_2308_; lean_object* v_source_2309_; lean_object* v_target_2310_; lean_object* v___x_2311_; lean_object* v___x_2312_; +v_es_2307_ = lean_array_fget(v_source_2303_, v_i_2302_); v___x_2308_ = lean_box(0); -v_isShared_2309_ = v_isSharedCheck_2349_; -goto v_resetjp_2307_; -} -v_resetjp_2307_: -{ -lean_object* v___x_2310_; uint64_t v___x_2311_; uint64_t v___x_2312_; uint64_t v___x_2313_; uint64_t v_fold_2314_; uint64_t v___x_2315_; uint64_t v___x_2316_; uint64_t v___x_2317_; size_t v___x_2318_; size_t v___x_2319_; size_t v___x_2320_; size_t v___x_2321_; size_t v___x_2322_; lean_object* v_bkt_2323_; uint8_t v___x_2324_; -v___x_2310_ = lean_array_get_size(v_buckets_2306_); -v___x_2311_ = l_Lean_ExprStructEq_hash(v_a_2303_); -v___x_2312_ = 32ULL; -v___x_2313_ = lean_uint64_shift_right(v___x_2311_, v___x_2312_); -v_fold_2314_ = lean_uint64_xor(v___x_2311_, v___x_2313_); -v___x_2315_ = 16ULL; -v___x_2316_ = lean_uint64_shift_right(v_fold_2314_, v___x_2315_); -v___x_2317_ = lean_uint64_xor(v_fold_2314_, v___x_2316_); -v___x_2318_ = lean_uint64_to_usize(v___x_2317_); -v___x_2319_ = lean_usize_of_nat(v___x_2310_); -v___x_2320_ = ((size_t)1ULL); -v___x_2321_ = lean_usize_sub(v___x_2319_, v___x_2320_); -v___x_2322_ = lean_usize_land(v___x_2318_, v___x_2321_); -v_bkt_2323_ = lean_array_uget_borrowed(v_buckets_2306_, v___x_2322_); -v___x_2324_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_2303_, v_bkt_2323_); -if (v___x_2324_ == 0) -{ -lean_object* v___x_2325_; lean_object* v_size_x27_2326_; lean_object* v___x_2327_; lean_object* v_buckets_x27_2328_; lean_object* v___x_2329_; lean_object* v___x_2330_; lean_object* v___x_2331_; lean_object* v___x_2332_; lean_object* v___x_2333_; uint8_t v___x_2334_; -v___x_2325_ = lean_unsigned_to_nat(1u); -v_size_x27_2326_ = lean_nat_add(v_size_2305_, v___x_2325_); -lean_dec(v_size_2305_); -lean_inc(v_bkt_2323_); -v___x_2327_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v___x_2327_, 0, v_a_2303_); -lean_ctor_set(v___x_2327_, 1, v_b_2304_); -lean_ctor_set(v___x_2327_, 2, v_bkt_2323_); -v_buckets_x27_2328_ = lean_array_uset(v_buckets_2306_, v___x_2322_, v___x_2327_); -v___x_2329_ = lean_unsigned_to_nat(4u); -v___x_2330_ = lean_nat_mul(v_size_x27_2326_, v___x_2329_); -v___x_2331_ = lean_unsigned_to_nat(3u); -v___x_2332_ = lean_nat_div(v___x_2330_, v___x_2331_); -lean_dec(v___x_2330_); -v___x_2333_ = lean_array_get_size(v_buckets_x27_2328_); -v___x_2334_ = lean_nat_dec_le(v___x_2332_, v___x_2333_); -lean_dec(v___x_2332_); -if (v___x_2334_ == 0) -{ -lean_object* v_val_2335_; lean_object* v___x_2337_; -v_val_2335_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(v_buckets_x27_2328_); -if (v_isShared_2309_ == 0) -{ -lean_ctor_set(v___x_2308_, 1, v_val_2335_); -lean_ctor_set(v___x_2308_, 0, v_size_x27_2326_); -v___x_2337_ = v___x_2308_; -goto v_reusejp_2336_; -} -else -{ -lean_object* v_reuseFailAlloc_2338_; -v_reuseFailAlloc_2338_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_2338_, 0, v_size_x27_2326_); -lean_ctor_set(v_reuseFailAlloc_2338_, 1, v_val_2335_); -v___x_2337_ = v_reuseFailAlloc_2338_; -goto v_reusejp_2336_; -} -v_reusejp_2336_: -{ -return v___x_2337_; -} -} -else -{ -lean_object* v___x_2340_; -if (v_isShared_2309_ == 0) -{ -lean_ctor_set(v___x_2308_, 1, v_buckets_x27_2328_); -lean_ctor_set(v___x_2308_, 0, v_size_x27_2326_); -v___x_2340_ = v___x_2308_; -goto v_reusejp_2339_; -} -else -{ -lean_object* v_reuseFailAlloc_2341_; -v_reuseFailAlloc_2341_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_2341_, 0, v_size_x27_2326_); -lean_ctor_set(v_reuseFailAlloc_2341_, 1, v_buckets_x27_2328_); -v___x_2340_ = v_reuseFailAlloc_2341_; -goto v_reusejp_2339_; -} -v_reusejp_2339_: -{ -return v___x_2340_; +v_source_2309_ = lean_array_fset(v_source_2303_, v_i_2302_, v___x_2308_); +v_target_2310_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(v_target_2304_, v_es_2307_); +v___x_2311_ = lean_unsigned_to_nat(1u); +v___x_2312_ = lean_nat_add(v_i_2302_, v___x_2311_); +lean_dec(v_i_2302_); +v_i_2302_ = v___x_2312_; +v_source_2303_ = v_source_2309_; +v_target_2304_ = v_target_2310_; +goto _start; } } } -else -{ -lean_object* v___x_2342_; lean_object* v_buckets_x27_2343_; lean_object* v___x_2344_; lean_object* v___x_2345_; lean_object* v___x_2347_; -lean_inc(v_bkt_2323_); -v___x_2342_ = lean_box(0); -v_buckets_x27_2343_ = lean_array_uset(v_buckets_2306_, v___x_2322_, v___x_2342_); -v___x_2344_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_2303_, v_b_2304_, v_bkt_2323_); -v___x_2345_ = lean_array_uset(v_buckets_x27_2343_, v___x_2322_, v___x_2344_); -if (v_isShared_2309_ == 0) -{ -lean_ctor_set(v___x_2308_, 1, v___x_2345_); -v___x_2347_ = v___x_2308_; -goto v_reusejp_2346_; -} -else -{ -lean_object* v_reuseFailAlloc_2348_; -v_reuseFailAlloc_2348_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_2348_, 0, v_size_2305_); -lean_ctor_set(v_reuseFailAlloc_2348_, 1, v___x_2345_); -v___x_2347_ = v_reuseFailAlloc_2348_; -goto v_reusejp_2346_; -} -v_reusejp_2346_: -{ -return v___x_2347_; -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2(lean_object* v_a_2350_, lean_object* v_e_2351_, lean_object* v_a_2352_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(lean_object* v_data_2314_){ _start: { -lean_object* v___x_2354_; lean_object* v___x_2355_; lean_object* v___x_2356_; lean_object* v___x_2357_; -v___x_2354_ = lean_st_ref_take(v_a_2350_); -v___x_2355_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(v___x_2354_, v_e_2351_, v_a_2352_); -v___x_2356_ = lean_st_ref_set(v_a_2350_, v___x_2355_); -v___x_2357_ = lean_box(0); +lean_object* v___x_2315_; lean_object* v___x_2316_; lean_object* v_nbuckets_2317_; lean_object* v___x_2318_; lean_object* v___x_2319_; lean_object* v___x_2320_; lean_object* v___x_2321_; +v___x_2315_ = lean_array_get_size(v_data_2314_); +v___x_2316_ = lean_unsigned_to_nat(2u); +v_nbuckets_2317_ = lean_nat_mul(v___x_2315_, v___x_2316_); +v___x_2318_ = lean_unsigned_to_nat(0u); +v___x_2319_ = lean_box(0); +v___x_2320_ = lean_mk_array(v_nbuckets_2317_, v___x_2319_); +v___x_2321_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(v___x_2318_, v_data_2314_, v___x_2320_); +return v___x_2321_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(lean_object* v_m_2322_, lean_object* v_a_2323_, lean_object* v_b_2324_){ +_start: +{ +lean_object* v_size_2325_; lean_object* v_buckets_2326_; lean_object* v___x_2328_; uint8_t v_isShared_2329_; uint8_t v_isSharedCheck_2369_; +v_size_2325_ = lean_ctor_get(v_m_2322_, 0); +v_buckets_2326_ = lean_ctor_get(v_m_2322_, 1); +v_isSharedCheck_2369_ = !lean_is_exclusive(v_m_2322_); +if (v_isSharedCheck_2369_ == 0) +{ +v___x_2328_ = v_m_2322_; +v_isShared_2329_ = v_isSharedCheck_2369_; +goto v_resetjp_2327_; +} +else +{ +lean_inc(v_buckets_2326_); +lean_inc(v_size_2325_); +lean_dec(v_m_2322_); +v___x_2328_ = lean_box(0); +v_isShared_2329_ = v_isSharedCheck_2369_; +goto v_resetjp_2327_; +} +v_resetjp_2327_: +{ +lean_object* v___x_2330_; uint64_t v___x_2331_; uint64_t v___x_2332_; uint64_t v___x_2333_; uint64_t v_fold_2334_; uint64_t v___x_2335_; uint64_t v___x_2336_; uint64_t v___x_2337_; size_t v___x_2338_; size_t v___x_2339_; size_t v___x_2340_; size_t v___x_2341_; size_t v___x_2342_; lean_object* v_bkt_2343_; uint8_t v___x_2344_; +v___x_2330_ = lean_array_get_size(v_buckets_2326_); +v___x_2331_ = l_Lean_ExprStructEq_hash(v_a_2323_); +v___x_2332_ = 32ULL; +v___x_2333_ = lean_uint64_shift_right(v___x_2331_, v___x_2332_); +v_fold_2334_ = lean_uint64_xor(v___x_2331_, v___x_2333_); +v___x_2335_ = 16ULL; +v___x_2336_ = lean_uint64_shift_right(v_fold_2334_, v___x_2335_); +v___x_2337_ = lean_uint64_xor(v_fold_2334_, v___x_2336_); +v___x_2338_ = lean_uint64_to_usize(v___x_2337_); +v___x_2339_ = lean_usize_of_nat(v___x_2330_); +v___x_2340_ = ((size_t)1ULL); +v___x_2341_ = lean_usize_sub(v___x_2339_, v___x_2340_); +v___x_2342_ = lean_usize_land(v___x_2338_, v___x_2341_); +v_bkt_2343_ = lean_array_uget_borrowed(v_buckets_2326_, v___x_2342_); +v___x_2344_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_2323_, v_bkt_2343_); +if (v___x_2344_ == 0) +{ +lean_object* v___x_2345_; lean_object* v_size_x27_2346_; lean_object* v___x_2347_; lean_object* v_buckets_x27_2348_; lean_object* v___x_2349_; lean_object* v___x_2350_; lean_object* v___x_2351_; lean_object* v___x_2352_; lean_object* v___x_2353_; uint8_t v___x_2354_; +v___x_2345_ = lean_unsigned_to_nat(1u); +v_size_x27_2346_ = lean_nat_add(v_size_2325_, v___x_2345_); +lean_dec(v_size_2325_); +lean_inc(v_bkt_2343_); +v___x_2347_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v___x_2347_, 0, v_a_2323_); +lean_ctor_set(v___x_2347_, 1, v_b_2324_); +lean_ctor_set(v___x_2347_, 2, v_bkt_2343_); +v_buckets_x27_2348_ = lean_array_uset(v_buckets_2326_, v___x_2342_, v___x_2347_); +v___x_2349_ = lean_unsigned_to_nat(4u); +v___x_2350_ = lean_nat_mul(v_size_x27_2346_, v___x_2349_); +v___x_2351_ = lean_unsigned_to_nat(3u); +v___x_2352_ = lean_nat_div(v___x_2350_, v___x_2351_); +lean_dec(v___x_2350_); +v___x_2353_ = lean_array_get_size(v_buckets_x27_2348_); +v___x_2354_ = lean_nat_dec_le(v___x_2352_, v___x_2353_); +lean_dec(v___x_2352_); +if (v___x_2354_ == 0) +{ +lean_object* v_val_2355_; lean_object* v___x_2357_; +v_val_2355_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(v_buckets_x27_2348_); +if (v_isShared_2329_ == 0) +{ +lean_ctor_set(v___x_2328_, 1, v_val_2355_); +lean_ctor_set(v___x_2328_, 0, v_size_x27_2346_); +v___x_2357_ = v___x_2328_; +goto v_reusejp_2356_; +} +else +{ +lean_object* v_reuseFailAlloc_2358_; +v_reuseFailAlloc_2358_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_2358_, 0, v_size_x27_2346_); +lean_ctor_set(v_reuseFailAlloc_2358_, 1, v_val_2355_); +v___x_2357_ = v_reuseFailAlloc_2358_; +goto v_reusejp_2356_; +} +v_reusejp_2356_: +{ return v___x_2357_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2___boxed(lean_object* v_a_2358_, lean_object* v_e_2359_, lean_object* v_a_2360_, lean_object* v___y_2361_){ +else +{ +lean_object* v___x_2360_; +if (v_isShared_2329_ == 0) +{ +lean_ctor_set(v___x_2328_, 1, v_buckets_x27_2348_); +lean_ctor_set(v___x_2328_, 0, v_size_x27_2346_); +v___x_2360_ = v___x_2328_; +goto v_reusejp_2359_; +} +else +{ +lean_object* v_reuseFailAlloc_2361_; +v_reuseFailAlloc_2361_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_2361_, 0, v_size_x27_2346_); +lean_ctor_set(v_reuseFailAlloc_2361_, 1, v_buckets_x27_2348_); +v___x_2360_ = v_reuseFailAlloc_2361_; +goto v_reusejp_2359_; +} +v_reusejp_2359_: +{ +return v___x_2360_; +} +} +} +else +{ +lean_object* v___x_2362_; lean_object* v_buckets_x27_2363_; lean_object* v___x_2364_; lean_object* v___x_2365_; lean_object* v___x_2367_; +lean_inc(v_bkt_2343_); +v___x_2362_ = lean_box(0); +v_buckets_x27_2363_ = lean_array_uset(v_buckets_2326_, v___x_2342_, v___x_2362_); +v___x_2364_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_2323_, v_b_2324_, v_bkt_2343_); +v___x_2365_ = lean_array_uset(v_buckets_x27_2363_, v___x_2342_, v___x_2364_); +if (v_isShared_2329_ == 0) +{ +lean_ctor_set(v___x_2328_, 1, v___x_2365_); +v___x_2367_ = v___x_2328_; +goto v_reusejp_2366_; +} +else +{ +lean_object* v_reuseFailAlloc_2368_; +v_reuseFailAlloc_2368_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_2368_, 0, v_size_2325_); +lean_ctor_set(v_reuseFailAlloc_2368_, 1, v___x_2365_); +v___x_2367_ = v_reuseFailAlloc_2368_; +goto v_reusejp_2366_; +} +v_reusejp_2366_: +{ +return v___x_2367_; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2(lean_object* v_a_2370_, lean_object* v_e_2371_, lean_object* v_a_2372_){ _start: { -lean_object* v_res_2362_; -v_res_2362_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2(v_a_2358_, v_e_2359_, v_a_2360_); -lean_dec(v_a_2358_); -return v_res_2362_; +lean_object* v___x_2374_; lean_object* v___x_2375_; lean_object* v___x_2376_; lean_object* v___x_2377_; +v___x_2374_ = lean_st_ref_take(v_a_2370_); +v___x_2375_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(v___x_2374_, v_e_2371_, v_a_2372_); +v___x_2376_ = lean_st_ref_set(v_a_2370_, v___x_2375_); +v___x_2377_ = lean_box(0); +return v___x_2377_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_object* v_00_u03b1_2363_, lean_object* v_x_2364_, lean_object* v___y_2365_, lean_object* v___y_2366_, lean_object* v___y_2367_, lean_object* v___y_2368_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2___boxed(lean_object* v_a_2378_, lean_object* v_e_2379_, lean_object* v_a_2380_, lean_object* v___y_2381_){ _start: { -lean_object* v___x_2370_; lean_object* v___x_2371_; -v___x_2370_ = lean_apply_1(v_x_2364_, lean_box(0)); -v___x_2371_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2371_, 0, v___x_2370_); -return v___x_2371_; +lean_object* v_res_2382_; +v_res_2382_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2(v_a_2378_, v_e_2379_, v_a_2380_); +lean_dec(v_a_2378_); +return v_res_2382_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0___boxed(lean_object* v_00_u03b1_2372_, lean_object* v_x_2373_, lean_object* v___y_2374_, lean_object* v___y_2375_, lean_object* v___y_2376_, lean_object* v___y_2377_, lean_object* v___y_2378_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_object* v_00_u03b1_2383_, lean_object* v_x_2384_, lean_object* v___y_2385_, lean_object* v___y_2386_, lean_object* v___y_2387_, lean_object* v___y_2388_){ _start: { -lean_object* v_res_2379_; -v_res_2379_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(v_00_u03b1_2372_, v_x_2373_, v___y_2374_, v___y_2375_, v___y_2376_, v___y_2377_); -lean_dec(v___y_2377_); -lean_dec_ref(v___y_2376_); -lean_dec(v___y_2375_); -lean_dec_ref(v___y_2374_); -return v_res_2379_; +lean_object* v___x_2390_; lean_object* v___x_2391_; +v___x_2390_ = lean_apply_1(v_x_2384_, lean_box(0)); +v___x_2391_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2391_, 0, v___x_2390_); +return v___x_2391_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0(lean_object* v_k_2380_, lean_object* v___y_2381_, lean_object* v_b_2382_, lean_object* v___y_2383_, lean_object* v___y_2384_, lean_object* v___y_2385_, lean_object* v___y_2386_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0___boxed(lean_object* v_00_u03b1_2392_, lean_object* v_x_2393_, lean_object* v___y_2394_, lean_object* v___y_2395_, lean_object* v___y_2396_, lean_object* v___y_2397_, lean_object* v___y_2398_){ _start: { -lean_object* v___x_2388_; -lean_inc(v___y_2386_); -lean_inc_ref(v___y_2385_); -lean_inc(v___y_2384_); -lean_inc_ref(v___y_2383_); -lean_inc(v___y_2381_); -v___x_2388_ = lean_apply_7(v_k_2380_, v_b_2382_, v___y_2381_, v___y_2383_, v___y_2384_, v___y_2385_, v___y_2386_, lean_box(0)); -return v___x_2388_; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed(lean_object* v_k_2389_, lean_object* v___y_2390_, lean_object* v_b_2391_, lean_object* v___y_2392_, lean_object* v___y_2393_, lean_object* v___y_2394_, lean_object* v___y_2395_, lean_object* v___y_2396_){ -_start: -{ -lean_object* v_res_2397_; -v_res_2397_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0(v_k_2389_, v___y_2390_, v_b_2391_, v___y_2392_, v___y_2393_, v___y_2394_, v___y_2395_); +lean_object* v_res_2399_; +v_res_2399_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(v_00_u03b1_2392_, v_x_2393_, v___y_2394_, v___y_2395_, v___y_2396_, v___y_2397_); +lean_dec(v___y_2397_); +lean_dec_ref(v___y_2396_); lean_dec(v___y_2395_); lean_dec_ref(v___y_2394_); -lean_dec(v___y_2393_); -lean_dec_ref(v___y_2392_); -lean_dec(v___y_2390_); -return v_res_2397_; +return v_res_2399_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(lean_object* v_name_2398_, uint8_t v_bi_2399_, lean_object* v_type_2400_, lean_object* v_k_2401_, uint8_t v_kind_2402_, lean_object* v___y_2403_, lean_object* v___y_2404_, lean_object* v___y_2405_, lean_object* v___y_2406_, lean_object* v___y_2407_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0(lean_object* v_k_2400_, lean_object* v___y_2401_, lean_object* v_b_2402_, lean_object* v___y_2403_, lean_object* v___y_2404_, lean_object* v___y_2405_, lean_object* v___y_2406_){ _start: { -lean_object* v___f_2409_; lean_object* v___x_2410_; -lean_inc(v___y_2403_); -v___f_2409_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed), 8, 2); -lean_closure_set(v___f_2409_, 0, v_k_2401_); -lean_closure_set(v___f_2409_, 1, v___y_2403_); -v___x_2410_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_2398_, v_bi_2399_, v_type_2400_, v___f_2409_, v_kind_2402_, v___y_2404_, v___y_2405_, v___y_2406_, v___y_2407_); -if (lean_obj_tag(v___x_2410_) == 0) +lean_object* v___x_2408_; +lean_inc(v___y_2406_); +lean_inc_ref(v___y_2405_); +lean_inc(v___y_2404_); +lean_inc_ref(v___y_2403_); +lean_inc(v___y_2401_); +v___x_2408_ = lean_apply_7(v_k_2400_, v_b_2402_, v___y_2401_, v___y_2403_, v___y_2404_, v___y_2405_, v___y_2406_, lean_box(0)); +return v___x_2408_; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed(lean_object* v_k_2409_, lean_object* v___y_2410_, lean_object* v_b_2411_, lean_object* v___y_2412_, lean_object* v___y_2413_, lean_object* v___y_2414_, lean_object* v___y_2415_, lean_object* v___y_2416_){ +_start: { -return v___x_2410_; +lean_object* v_res_2417_; +v_res_2417_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0(v_k_2409_, v___y_2410_, v_b_2411_, v___y_2412_, v___y_2413_, v___y_2414_, v___y_2415_); +lean_dec(v___y_2415_); +lean_dec_ref(v___y_2414_); +lean_dec(v___y_2413_); +lean_dec_ref(v___y_2412_); +lean_dec(v___y_2410_); +return v_res_2417_; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(lean_object* v_name_2418_, uint8_t v_bi_2419_, lean_object* v_type_2420_, lean_object* v_k_2421_, uint8_t v_kind_2422_, lean_object* v___y_2423_, lean_object* v___y_2424_, lean_object* v___y_2425_, lean_object* v___y_2426_, lean_object* v___y_2427_){ +_start: +{ +lean_object* v___f_2429_; lean_object* v___x_2430_; +lean_inc(v___y_2423_); +v___f_2429_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed), 8, 2); +lean_closure_set(v___f_2429_, 0, v_k_2421_); +lean_closure_set(v___f_2429_, 1, v___y_2423_); +v___x_2430_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp(lean_box(0), v_name_2418_, v_bi_2419_, v_type_2420_, v___f_2429_, v_kind_2422_, v___y_2424_, v___y_2425_, v___y_2426_, v___y_2427_); +if (lean_obj_tag(v___x_2430_) == 0) +{ +return v___x_2430_; } else { -lean_object* v_a_2411_; lean_object* v___x_2413_; uint8_t v_isShared_2414_; uint8_t v_isSharedCheck_2418_; -v_a_2411_ = lean_ctor_get(v___x_2410_, 0); -v_isSharedCheck_2418_ = !lean_is_exclusive(v___x_2410_); -if (v_isSharedCheck_2418_ == 0) +lean_object* v_a_2431_; lean_object* v___x_2433_; uint8_t v_isShared_2434_; uint8_t v_isSharedCheck_2438_; +v_a_2431_ = lean_ctor_get(v___x_2430_, 0); +v_isSharedCheck_2438_ = !lean_is_exclusive(v___x_2430_); +if (v_isSharedCheck_2438_ == 0) { -v___x_2413_ = v___x_2410_; -v_isShared_2414_ = v_isSharedCheck_2418_; -goto v_resetjp_2412_; +v___x_2433_ = v___x_2430_; +v_isShared_2434_ = v_isSharedCheck_2438_; +goto v_resetjp_2432_; } else { -lean_inc(v_a_2411_); -lean_dec(v___x_2410_); -v___x_2413_ = lean_box(0); -v_isShared_2414_ = v_isSharedCheck_2418_; -goto v_resetjp_2412_; +lean_inc(v_a_2431_); +lean_dec(v___x_2430_); +v___x_2433_ = lean_box(0); +v_isShared_2434_ = v_isSharedCheck_2438_; +goto v_resetjp_2432_; } -v_resetjp_2412_: +v_resetjp_2432_: { -lean_object* v___x_2416_; -if (v_isShared_2414_ == 0) +lean_object* v___x_2436_; +if (v_isShared_2434_ == 0) { -v___x_2416_ = v___x_2413_; -goto v_reusejp_2415_; +v___x_2436_ = v___x_2433_; +goto v_reusejp_2435_; } else { -lean_object* v_reuseFailAlloc_2417_; -v_reuseFailAlloc_2417_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2417_, 0, v_a_2411_); -v___x_2416_ = v_reuseFailAlloc_2417_; -goto v_reusejp_2415_; +lean_object* v_reuseFailAlloc_2437_; +v_reuseFailAlloc_2437_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2437_, 0, v_a_2431_); +v___x_2436_ = v_reuseFailAlloc_2437_; +goto v_reusejp_2435_; } -v_reusejp_2415_: +v_reusejp_2435_: { -return v___x_2416_; +return v___x_2436_; } } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___boxed(lean_object* v_name_2419_, lean_object* v_bi_2420_, lean_object* v_type_2421_, lean_object* v_k_2422_, lean_object* v_kind_2423_, lean_object* v___y_2424_, lean_object* v___y_2425_, lean_object* v___y_2426_, lean_object* v___y_2427_, lean_object* v___y_2428_, lean_object* v___y_2429_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___boxed(lean_object* v_name_2439_, lean_object* v_bi_2440_, lean_object* v_type_2441_, lean_object* v_k_2442_, lean_object* v_kind_2443_, lean_object* v___y_2444_, lean_object* v___y_2445_, lean_object* v___y_2446_, lean_object* v___y_2447_, lean_object* v___y_2448_, lean_object* v___y_2449_){ _start: { -uint8_t v_bi_boxed_2430_; uint8_t v_kind_boxed_2431_; lean_object* v_res_2432_; -v_bi_boxed_2430_ = lean_unbox(v_bi_2420_); -v_kind_boxed_2431_ = lean_unbox(v_kind_2423_); -v_res_2432_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_name_2419_, v_bi_boxed_2430_, v_type_2421_, v_k_2422_, v_kind_boxed_2431_, v___y_2424_, v___y_2425_, v___y_2426_, v___y_2427_, v___y_2428_); -lean_dec(v___y_2428_); -lean_dec_ref(v___y_2427_); -lean_dec(v___y_2426_); -lean_dec_ref(v___y_2425_); -lean_dec(v___y_2424_); -return v_res_2432_; +uint8_t v_bi_boxed_2450_; uint8_t v_kind_boxed_2451_; lean_object* v_res_2452_; +v_bi_boxed_2450_ = lean_unbox(v_bi_2440_); +v_kind_boxed_2451_ = lean_unbox(v_kind_2443_); +v_res_2452_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_name_2439_, v_bi_boxed_2450_, v_type_2441_, v_k_2442_, v_kind_boxed_2451_, v___y_2444_, v___y_2445_, v___y_2446_, v___y_2447_, v___y_2448_); +lean_dec(v___y_2448_); +lean_dec_ref(v___y_2447_); +lean_dec(v___y_2446_); +lean_dec_ref(v___y_2445_); +lean_dec(v___y_2444_); +return v_res_2452_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(lean_object* v_name_2433_, lean_object* v_type_2434_, lean_object* v_val_2435_, lean_object* v_k_2436_, uint8_t v_nondep_2437_, uint8_t v_kind_2438_, lean_object* v___y_2439_, lean_object* v___y_2440_, lean_object* v___y_2441_, lean_object* v___y_2442_, lean_object* v___y_2443_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(lean_object* v_name_2453_, lean_object* v_type_2454_, lean_object* v_val_2455_, lean_object* v_k_2456_, uint8_t v_nondep_2457_, uint8_t v_kind_2458_, lean_object* v___y_2459_, lean_object* v___y_2460_, lean_object* v___y_2461_, lean_object* v___y_2462_, lean_object* v___y_2463_){ _start: { -lean_object* v___f_2445_; lean_object* v___x_2446_; -lean_inc(v___y_2439_); -v___f_2445_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed), 8, 2); -lean_closure_set(v___f_2445_, 0, v_k_2436_); -lean_closure_set(v___f_2445_, 1, v___y_2439_); -v___x_2446_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp(lean_box(0), v_name_2433_, v_type_2434_, v_val_2435_, v___f_2445_, v_nondep_2437_, v_kind_2438_, v___y_2440_, v___y_2441_, v___y_2442_, v___y_2443_); -if (lean_obj_tag(v___x_2446_) == 0) +lean_object* v___f_2465_; lean_object* v___x_2466_; +lean_inc(v___y_2459_); +v___f_2465_ = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg___lam__0___boxed), 8, 2); +lean_closure_set(v___f_2465_, 0, v_k_2456_); +lean_closure_set(v___f_2465_, 1, v___y_2459_); +v___x_2466_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp(lean_box(0), v_name_2453_, v_type_2454_, v_val_2455_, v___f_2465_, v_nondep_2457_, v_kind_2458_, v___y_2460_, v___y_2461_, v___y_2462_, v___y_2463_); +if (lean_obj_tag(v___x_2466_) == 0) { -return v___x_2446_; +return v___x_2466_; } else { -lean_object* v_a_2447_; lean_object* v___x_2449_; uint8_t v_isShared_2450_; uint8_t v_isSharedCheck_2454_; -v_a_2447_ = lean_ctor_get(v___x_2446_, 0); -v_isSharedCheck_2454_ = !lean_is_exclusive(v___x_2446_); -if (v_isSharedCheck_2454_ == 0) +lean_object* v_a_2467_; lean_object* v___x_2469_; uint8_t v_isShared_2470_; uint8_t v_isSharedCheck_2474_; +v_a_2467_ = lean_ctor_get(v___x_2466_, 0); +v_isSharedCheck_2474_ = !lean_is_exclusive(v___x_2466_); +if (v_isSharedCheck_2474_ == 0) { -v___x_2449_ = v___x_2446_; -v_isShared_2450_ = v_isSharedCheck_2454_; -goto v_resetjp_2448_; +v___x_2469_ = v___x_2466_; +v_isShared_2470_ = v_isSharedCheck_2474_; +goto v_resetjp_2468_; } else { -lean_inc(v_a_2447_); -lean_dec(v___x_2446_); -v___x_2449_ = lean_box(0); -v_isShared_2450_ = v_isSharedCheck_2454_; -goto v_resetjp_2448_; +lean_inc(v_a_2467_); +lean_dec(v___x_2466_); +v___x_2469_ = lean_box(0); +v_isShared_2470_ = v_isSharedCheck_2474_; +goto v_resetjp_2468_; } -v_resetjp_2448_: +v_resetjp_2468_: { -lean_object* v___x_2452_; -if (v_isShared_2450_ == 0) +lean_object* v___x_2472_; +if (v_isShared_2470_ == 0) { -v___x_2452_ = v___x_2449_; -goto v_reusejp_2451_; +v___x_2472_ = v___x_2469_; +goto v_reusejp_2471_; } else { -lean_object* v_reuseFailAlloc_2453_; -v_reuseFailAlloc_2453_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2453_, 0, v_a_2447_); -v___x_2452_ = v_reuseFailAlloc_2453_; -goto v_reusejp_2451_; +lean_object* v_reuseFailAlloc_2473_; +v_reuseFailAlloc_2473_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2473_, 0, v_a_2467_); +v___x_2472_ = v_reuseFailAlloc_2473_; +goto v_reusejp_2471_; } -v_reusejp_2451_: +v_reusejp_2471_: { -return v___x_2452_; +return v___x_2472_; } } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg___boxed(lean_object* v_name_2455_, lean_object* v_type_2456_, lean_object* v_val_2457_, lean_object* v_k_2458_, lean_object* v_nondep_2459_, lean_object* v_kind_2460_, lean_object* v___y_2461_, lean_object* v___y_2462_, lean_object* v___y_2463_, lean_object* v___y_2464_, lean_object* v___y_2465_, lean_object* v___y_2466_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg___boxed(lean_object* v_name_2475_, lean_object* v_type_2476_, lean_object* v_val_2477_, lean_object* v_k_2478_, lean_object* v_nondep_2479_, lean_object* v_kind_2480_, lean_object* v___y_2481_, lean_object* v___y_2482_, lean_object* v___y_2483_, lean_object* v___y_2484_, lean_object* v___y_2485_, lean_object* v___y_2486_){ _start: { -uint8_t v_nondep_boxed_2467_; uint8_t v_kind_boxed_2468_; lean_object* v_res_2469_; -v_nondep_boxed_2467_ = lean_unbox(v_nondep_2459_); -v_kind_boxed_2468_ = lean_unbox(v_kind_2460_); -v_res_2469_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_name_2455_, v_type_2456_, v_val_2457_, v_k_2458_, v_nondep_boxed_2467_, v_kind_boxed_2468_, v___y_2461_, v___y_2462_, v___y_2463_, v___y_2464_, v___y_2465_); -lean_dec(v___y_2465_); -lean_dec_ref(v___y_2464_); -lean_dec(v___y_2463_); -lean_dec_ref(v___y_2462_); -lean_dec(v___y_2461_); -return v_res_2469_; -} -} -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2(lean_object* v___x_2470_, lean_object* v___y_2471_, lean_object* v___y_2472_, lean_object* v___y_2473_, lean_object* v___y_2474_){ -_start: -{ -lean_object* v___x_2476_; -v___x_2476_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2476_, 0, v___x_2470_); -return v___x_2476_; -} -} -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2___boxed(lean_object* v___x_2477_, lean_object* v___y_2478_, lean_object* v___y_2479_, lean_object* v___y_2480_, lean_object* v___y_2481_, lean_object* v___y_2482_){ -_start: -{ -lean_object* v_res_2483_; -v_res_2483_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2(v___x_2477_, v___y_2478_, v___y_2479_, v___y_2480_, v___y_2481_); +uint8_t v_nondep_boxed_2487_; uint8_t v_kind_boxed_2488_; lean_object* v_res_2489_; +v_nondep_boxed_2487_ = lean_unbox(v_nondep_2479_); +v_kind_boxed_2488_ = lean_unbox(v_kind_2480_); +v_res_2489_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_name_2475_, v_type_2476_, v_val_2477_, v_k_2478_, v_nondep_boxed_2487_, v_kind_boxed_2488_, v___y_2481_, v___y_2482_, v___y_2483_, v___y_2484_, v___y_2485_); +lean_dec(v___y_2485_); +lean_dec_ref(v___y_2484_); +lean_dec(v___y_2483_); +lean_dec_ref(v___y_2482_); lean_dec(v___y_2481_); -lean_dec_ref(v___y_2480_); -lean_dec(v___y_2479_); -lean_dec_ref(v___y_2478_); -return v_res_2483_; +return v_res_2489_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(lean_object* v_a_2484_, lean_object* v_x_2485_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2(lean_object* v___x_2490_, lean_object* v___y_2491_, lean_object* v___y_2492_, lean_object* v___y_2493_, lean_object* v___y_2494_){ _start: { -if (lean_obj_tag(v_x_2485_) == 0) +lean_object* v___x_2496_; +v___x_2496_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2496_, 0, v___x_2490_); +return v___x_2496_; +} +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2___boxed(lean_object* v___x_2497_, lean_object* v___y_2498_, lean_object* v___y_2499_, lean_object* v___y_2500_, lean_object* v___y_2501_, lean_object* v___y_2502_){ +_start: { -lean_object* v___x_2486_; -v___x_2486_ = lean_box(0); -return v___x_2486_; +lean_object* v_res_2503_; +v_res_2503_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2(v___x_2497_, v___y_2498_, v___y_2499_, v___y_2500_, v___y_2501_); +lean_dec(v___y_2501_); +lean_dec_ref(v___y_2500_); +lean_dec(v___y_2499_); +lean_dec_ref(v___y_2498_); +return v_res_2503_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(lean_object* v_a_2504_, lean_object* v_x_2505_){ +_start: +{ +if (lean_obj_tag(v_x_2505_) == 0) +{ +lean_object* v___x_2506_; +v___x_2506_ = lean_box(0); +return v___x_2506_; } else { -lean_object* v_key_2487_; lean_object* v_value_2488_; lean_object* v_tail_2489_; uint8_t v___x_2490_; -v_key_2487_ = lean_ctor_get(v_x_2485_, 0); -v_value_2488_ = lean_ctor_get(v_x_2485_, 1); -v_tail_2489_ = lean_ctor_get(v_x_2485_, 2); -v___x_2490_ = l_Lean_ExprStructEq_beq(v_key_2487_, v_a_2484_); -if (v___x_2490_ == 0) +lean_object* v_key_2507_; lean_object* v_value_2508_; lean_object* v_tail_2509_; uint8_t v___x_2510_; +v_key_2507_ = lean_ctor_get(v_x_2505_, 0); +v_value_2508_ = lean_ctor_get(v_x_2505_, 1); +v_tail_2509_ = lean_ctor_get(v_x_2505_, 2); +v___x_2510_ = l_Lean_ExprStructEq_beq(v_key_2507_, v_a_2504_); +if (v___x_2510_ == 0) { -v_x_2485_ = v_tail_2489_; +v_x_2505_ = v_tail_2509_; goto _start; } else { -lean_object* v___x_2492_; -lean_inc(v_value_2488_); -v___x_2492_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_2492_, 0, v_value_2488_); -return v___x_2492_; +lean_object* v___x_2512_; +lean_inc(v_value_2508_); +v___x_2512_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_2512_, 0, v_value_2508_); +return v___x_2512_; } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg___boxed(lean_object* v_a_2493_, lean_object* v_x_2494_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg___boxed(lean_object* v_a_2513_, lean_object* v_x_2514_){ _start: { -lean_object* v_res_2495_; -v_res_2495_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_2493_, v_x_2494_); -lean_dec(v_x_2494_); -lean_dec_ref(v_a_2493_); -return v_res_2495_; +lean_object* v_res_2515_; +v_res_2515_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_2513_, v_x_2514_); +lean_dec(v_x_2514_); +lean_dec_ref(v_a_2513_); +return v_res_2515_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(lean_object* v_m_2496_, lean_object* v_a_2497_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(lean_object* v_m_2516_, lean_object* v_a_2517_){ _start: { -lean_object* v_buckets_2498_; lean_object* v___x_2499_; uint64_t v___x_2500_; uint64_t v___x_2501_; uint64_t v___x_2502_; uint64_t v_fold_2503_; uint64_t v___x_2504_; uint64_t v___x_2505_; uint64_t v___x_2506_; size_t v___x_2507_; size_t v___x_2508_; size_t v___x_2509_; size_t v___x_2510_; size_t v___x_2511_; lean_object* v___x_2512_; lean_object* v___x_2513_; -v_buckets_2498_ = lean_ctor_get(v_m_2496_, 1); -v___x_2499_ = lean_array_get_size(v_buckets_2498_); -v___x_2500_ = l_Lean_ExprStructEq_hash(v_a_2497_); -v___x_2501_ = 32ULL; -v___x_2502_ = lean_uint64_shift_right(v___x_2500_, v___x_2501_); -v_fold_2503_ = lean_uint64_xor(v___x_2500_, v___x_2502_); -v___x_2504_ = 16ULL; -v___x_2505_ = lean_uint64_shift_right(v_fold_2503_, v___x_2504_); -v___x_2506_ = lean_uint64_xor(v_fold_2503_, v___x_2505_); -v___x_2507_ = lean_uint64_to_usize(v___x_2506_); -v___x_2508_ = lean_usize_of_nat(v___x_2499_); -v___x_2509_ = ((size_t)1ULL); -v___x_2510_ = lean_usize_sub(v___x_2508_, v___x_2509_); -v___x_2511_ = lean_usize_land(v___x_2507_, v___x_2510_); -v___x_2512_ = lean_array_uget_borrowed(v_buckets_2498_, v___x_2511_); -v___x_2513_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_2497_, v___x_2512_); -return v___x_2513_; +lean_object* v_buckets_2518_; lean_object* v___x_2519_; uint64_t v___x_2520_; uint64_t v___x_2521_; uint64_t v___x_2522_; uint64_t v_fold_2523_; uint64_t v___x_2524_; uint64_t v___x_2525_; uint64_t v___x_2526_; size_t v___x_2527_; size_t v___x_2528_; size_t v___x_2529_; size_t v___x_2530_; size_t v___x_2531_; lean_object* v___x_2532_; lean_object* v___x_2533_; +v_buckets_2518_ = lean_ctor_get(v_m_2516_, 1); +v___x_2519_ = lean_array_get_size(v_buckets_2518_); +v___x_2520_ = l_Lean_ExprStructEq_hash(v_a_2517_); +v___x_2521_ = 32ULL; +v___x_2522_ = lean_uint64_shift_right(v___x_2520_, v___x_2521_); +v_fold_2523_ = lean_uint64_xor(v___x_2520_, v___x_2522_); +v___x_2524_ = 16ULL; +v___x_2525_ = lean_uint64_shift_right(v_fold_2523_, v___x_2524_); +v___x_2526_ = lean_uint64_xor(v_fold_2523_, v___x_2525_); +v___x_2527_ = lean_uint64_to_usize(v___x_2526_); +v___x_2528_ = lean_usize_of_nat(v___x_2519_); +v___x_2529_ = ((size_t)1ULL); +v___x_2530_ = lean_usize_sub(v___x_2528_, v___x_2529_); +v___x_2531_ = lean_usize_land(v___x_2527_, v___x_2530_); +v___x_2532_ = lean_array_uget_borrowed(v_buckets_2518_, v___x_2531_); +v___x_2533_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_2517_, v___x_2532_); +return v___x_2533_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg___boxed(lean_object* v_m_2514_, lean_object* v_a_2515_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg___boxed(lean_object* v_m_2534_, lean_object* v_a_2535_){ _start: { -lean_object* v_res_2516_; -v_res_2516_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_m_2514_, v_a_2515_); -lean_dec_ref(v_a_2515_); -lean_dec_ref(v_m_2514_); -return v_res_2516_; +lean_object* v_res_2536_; +v_res_2536_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_m_2534_, v_a_2535_); +lean_dec_ref(v_a_2535_); +lean_dec_ref(v_m_2534_); +return v_res_2536_; } } static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3(void){ _start: { -lean_object* v___x_2522_; lean_object* v___x_2523_; -v___x_2522_ = l_Lean_maxRecDepthErrorMessage; -v___x_2523_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_2523_, 0, v___x_2522_); -return v___x_2523_; +lean_object* v___x_2542_; lean_object* v___x_2543_; +v___x_2542_ = l_Lean_maxRecDepthErrorMessage; +v___x_2543_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_2543_, 0, v___x_2542_); +return v___x_2543_; } } static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4(void){ _start: { -lean_object* v___x_2524_; lean_object* v___x_2525_; -v___x_2524_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3); -v___x_2525_ = l_Lean_MessageData_ofFormat(v___x_2524_); -return v___x_2525_; +lean_object* v___x_2544_; lean_object* v___x_2545_; +v___x_2544_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__3); +v___x_2545_ = l_Lean_MessageData_ofFormat(v___x_2544_); +return v___x_2545_; } } static lean_object* _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5(void){ _start: { -lean_object* v___x_2526_; lean_object* v___x_2527_; lean_object* v___x_2528_; -v___x_2526_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4); -v___x_2527_ = ((lean_object*)(l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__2)); -v___x_2528_ = lean_alloc_ctor(8, 2, 0); -lean_ctor_set(v___x_2528_, 0, v___x_2527_); -lean_ctor_set(v___x_2528_, 1, v___x_2526_); -return v___x_2528_; +lean_object* v___x_2546_; lean_object* v___x_2547_; lean_object* v___x_2548_; +v___x_2546_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__4); +v___x_2547_ = ((lean_object*)(l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__2)); +v___x_2548_ = lean_alloc_ctor(8, 2, 0); +lean_ctor_set(v___x_2548_, 0, v___x_2547_); +lean_ctor_set(v___x_2548_, 1, v___x_2546_); +return v___x_2548_; } } -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(lean_object* v_ref_2529_){ +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(lean_object* v_ref_2549_){ _start: { -lean_object* v___x_2531_; lean_object* v___x_2532_; lean_object* v___x_2533_; -v___x_2531_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5); -v___x_2532_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_2532_, 0, v_ref_2529_); -lean_ctor_set(v___x_2532_, 1, v___x_2531_); -v___x_2533_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_2533_, 0, v___x_2532_); -return v___x_2533_; +lean_object* v___x_2551_; lean_object* v___x_2552_; lean_object* v___x_2553_; +v___x_2551_ = lean_obj_once(&l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5, &l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5_once, _init_l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___closed__5); +v___x_2552_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_2552_, 0, v_ref_2549_); +lean_ctor_set(v___x_2552_, 1, v___x_2551_); +v___x_2553_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_2553_, 0, v___x_2552_); +return v___x_2553_; } } -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___boxed(lean_object* v_ref_2534_, lean_object* v___y_2535_){ +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg___boxed(lean_object* v_ref_2554_, lean_object* v___y_2555_){ _start: { -lean_object* v_res_2536_; -v_res_2536_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_2534_); -return v_res_2536_; +lean_object* v_res_2556_; +v_res_2556_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_2554_); +return v_res_2556_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(lean_object* v_x_2537_, lean_object* v___y_2538_, lean_object* v___y_2539_, lean_object* v___y_2540_, lean_object* v___y_2541_, lean_object* v___y_2542_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(lean_object* v_x_2557_, lean_object* v___y_2558_, lean_object* v___y_2559_, lean_object* v___y_2560_, lean_object* v___y_2561_, lean_object* v___y_2562_){ _start: { -lean_object* v___y_2545_; lean_object* v_fileName_2554_; lean_object* v_fileMap_2555_; lean_object* v_options_2556_; lean_object* v_currRecDepth_2557_; lean_object* v_maxRecDepth_2558_; lean_object* v_ref_2559_; lean_object* v_currNamespace_2560_; lean_object* v_openDecls_2561_; lean_object* v_initHeartbeats_2562_; lean_object* v_maxHeartbeats_2563_; lean_object* v_quotContext_2564_; lean_object* v_currMacroScope_2565_; uint8_t v_diag_2566_; lean_object* v_cancelTk_x3f_2567_; uint8_t v_suppressElabErrors_2568_; lean_object* v_inheritedTraceOptions_2569_; uint8_t v___x_2570_; -v_fileName_2554_ = lean_ctor_get(v___y_2541_, 0); -v_fileMap_2555_ = lean_ctor_get(v___y_2541_, 1); -v_options_2556_ = lean_ctor_get(v___y_2541_, 2); -v_currRecDepth_2557_ = lean_ctor_get(v___y_2541_, 3); -v_maxRecDepth_2558_ = lean_ctor_get(v___y_2541_, 4); -v_ref_2559_ = lean_ctor_get(v___y_2541_, 5); -v_currNamespace_2560_ = lean_ctor_get(v___y_2541_, 6); -v_openDecls_2561_ = lean_ctor_get(v___y_2541_, 7); -v_initHeartbeats_2562_ = lean_ctor_get(v___y_2541_, 8); -v_maxHeartbeats_2563_ = lean_ctor_get(v___y_2541_, 9); -v_quotContext_2564_ = lean_ctor_get(v___y_2541_, 10); -v_currMacroScope_2565_ = lean_ctor_get(v___y_2541_, 11); -v_diag_2566_ = lean_ctor_get_uint8(v___y_2541_, sizeof(void*)*14); -v_cancelTk_x3f_2567_ = lean_ctor_get(v___y_2541_, 12); -v_suppressElabErrors_2568_ = lean_ctor_get_uint8(v___y_2541_, sizeof(void*)*14 + 1); -v_inheritedTraceOptions_2569_ = lean_ctor_get(v___y_2541_, 13); -v___x_2570_ = lean_nat_dec_eq(v_currRecDepth_2557_, v_maxRecDepth_2558_); -if (v___x_2570_ == 0) +lean_object* v___y_2565_; lean_object* v_fileName_2574_; lean_object* v_fileMap_2575_; lean_object* v_options_2576_; lean_object* v_currRecDepth_2577_; lean_object* v_maxRecDepth_2578_; lean_object* v_ref_2579_; lean_object* v_currNamespace_2580_; lean_object* v_openDecls_2581_; lean_object* v_initHeartbeats_2582_; lean_object* v_maxHeartbeats_2583_; lean_object* v_quotContext_2584_; lean_object* v_currMacroScope_2585_; uint8_t v_diag_2586_; lean_object* v_cancelTk_x3f_2587_; uint8_t v_suppressElabErrors_2588_; lean_object* v_inheritedTraceOptions_2589_; uint8_t v___x_2590_; +v_fileName_2574_ = lean_ctor_get(v___y_2561_, 0); +v_fileMap_2575_ = lean_ctor_get(v___y_2561_, 1); +v_options_2576_ = lean_ctor_get(v___y_2561_, 2); +v_currRecDepth_2577_ = lean_ctor_get(v___y_2561_, 3); +v_maxRecDepth_2578_ = lean_ctor_get(v___y_2561_, 4); +v_ref_2579_ = lean_ctor_get(v___y_2561_, 5); +v_currNamespace_2580_ = lean_ctor_get(v___y_2561_, 6); +v_openDecls_2581_ = lean_ctor_get(v___y_2561_, 7); +v_initHeartbeats_2582_ = lean_ctor_get(v___y_2561_, 8); +v_maxHeartbeats_2583_ = lean_ctor_get(v___y_2561_, 9); +v_quotContext_2584_ = lean_ctor_get(v___y_2561_, 10); +v_currMacroScope_2585_ = lean_ctor_get(v___y_2561_, 11); +v_diag_2586_ = lean_ctor_get_uint8(v___y_2561_, sizeof(void*)*14); +v_cancelTk_x3f_2587_ = lean_ctor_get(v___y_2561_, 12); +v_suppressElabErrors_2588_ = lean_ctor_get_uint8(v___y_2561_, sizeof(void*)*14 + 1); +v_inheritedTraceOptions_2589_ = lean_ctor_get(v___y_2561_, 13); +v___x_2590_ = lean_nat_dec_eq(v_currRecDepth_2577_, v_maxRecDepth_2578_); +if (v___x_2590_ == 0) { -lean_object* v___x_2571_; lean_object* v___x_2572_; lean_object* v___x_2573_; lean_object* v___x_2574_; -v___x_2571_ = lean_unsigned_to_nat(1u); -v___x_2572_ = lean_nat_add(v_currRecDepth_2557_, v___x_2571_); -lean_inc_ref(v_inheritedTraceOptions_2569_); -lean_inc(v_cancelTk_x3f_2567_); -lean_inc(v_currMacroScope_2565_); -lean_inc(v_quotContext_2564_); -lean_inc(v_maxHeartbeats_2563_); -lean_inc(v_initHeartbeats_2562_); -lean_inc(v_openDecls_2561_); -lean_inc(v_currNamespace_2560_); -lean_inc(v_ref_2559_); -lean_inc(v_maxRecDepth_2558_); -lean_inc_ref(v_options_2556_); -lean_inc_ref(v_fileMap_2555_); -lean_inc_ref(v_fileName_2554_); -v___x_2573_ = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(v___x_2573_, 0, v_fileName_2554_); -lean_ctor_set(v___x_2573_, 1, v_fileMap_2555_); -lean_ctor_set(v___x_2573_, 2, v_options_2556_); -lean_ctor_set(v___x_2573_, 3, v___x_2572_); -lean_ctor_set(v___x_2573_, 4, v_maxRecDepth_2558_); -lean_ctor_set(v___x_2573_, 5, v_ref_2559_); -lean_ctor_set(v___x_2573_, 6, v_currNamespace_2560_); -lean_ctor_set(v___x_2573_, 7, v_openDecls_2561_); -lean_ctor_set(v___x_2573_, 8, v_initHeartbeats_2562_); -lean_ctor_set(v___x_2573_, 9, v_maxHeartbeats_2563_); -lean_ctor_set(v___x_2573_, 10, v_quotContext_2564_); -lean_ctor_set(v___x_2573_, 11, v_currMacroScope_2565_); -lean_ctor_set(v___x_2573_, 12, v_cancelTk_x3f_2567_); -lean_ctor_set(v___x_2573_, 13, v_inheritedTraceOptions_2569_); -lean_ctor_set_uint8(v___x_2573_, sizeof(void*)*14, v_diag_2566_); -lean_ctor_set_uint8(v___x_2573_, sizeof(void*)*14 + 1, v_suppressElabErrors_2568_); -lean_inc(v___y_2542_); -lean_inc(v___y_2540_); -lean_inc_ref(v___y_2539_); -lean_inc(v___y_2538_); -v___x_2574_ = lean_apply_6(v_x_2537_, v___y_2538_, v___y_2539_, v___y_2540_, v___x_2573_, v___y_2542_, lean_box(0)); -v___y_2545_ = v___x_2574_; -goto v___jp_2544_; +lean_object* v___x_2591_; lean_object* v___x_2592_; lean_object* v___x_2593_; lean_object* v___x_2594_; +v___x_2591_ = lean_unsigned_to_nat(1u); +v___x_2592_ = lean_nat_add(v_currRecDepth_2577_, v___x_2591_); +lean_inc_ref(v_inheritedTraceOptions_2589_); +lean_inc(v_cancelTk_x3f_2587_); +lean_inc(v_currMacroScope_2585_); +lean_inc(v_quotContext_2584_); +lean_inc(v_maxHeartbeats_2583_); +lean_inc(v_initHeartbeats_2582_); +lean_inc(v_openDecls_2581_); +lean_inc(v_currNamespace_2580_); +lean_inc(v_ref_2579_); +lean_inc(v_maxRecDepth_2578_); +lean_inc_ref(v_options_2576_); +lean_inc_ref(v_fileMap_2575_); +lean_inc_ref(v_fileName_2574_); +v___x_2593_ = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(v___x_2593_, 0, v_fileName_2574_); +lean_ctor_set(v___x_2593_, 1, v_fileMap_2575_); +lean_ctor_set(v___x_2593_, 2, v_options_2576_); +lean_ctor_set(v___x_2593_, 3, v___x_2592_); +lean_ctor_set(v___x_2593_, 4, v_maxRecDepth_2578_); +lean_ctor_set(v___x_2593_, 5, v_ref_2579_); +lean_ctor_set(v___x_2593_, 6, v_currNamespace_2580_); +lean_ctor_set(v___x_2593_, 7, v_openDecls_2581_); +lean_ctor_set(v___x_2593_, 8, v_initHeartbeats_2582_); +lean_ctor_set(v___x_2593_, 9, v_maxHeartbeats_2583_); +lean_ctor_set(v___x_2593_, 10, v_quotContext_2584_); +lean_ctor_set(v___x_2593_, 11, v_currMacroScope_2585_); +lean_ctor_set(v___x_2593_, 12, v_cancelTk_x3f_2587_); +lean_ctor_set(v___x_2593_, 13, v_inheritedTraceOptions_2589_); +lean_ctor_set_uint8(v___x_2593_, sizeof(void*)*14, v_diag_2586_); +lean_ctor_set_uint8(v___x_2593_, sizeof(void*)*14 + 1, v_suppressElabErrors_2588_); +lean_inc(v___y_2562_); +lean_inc(v___y_2560_); +lean_inc_ref(v___y_2559_); +lean_inc(v___y_2558_); +v___x_2594_ = lean_apply_6(v_x_2557_, v___y_2558_, v___y_2559_, v___y_2560_, v___x_2593_, v___y_2562_, lean_box(0)); +v___y_2565_ = v___x_2594_; +goto v___jp_2564_; } else { -lean_object* v___x_2575_; -lean_dec_ref(v_x_2537_); -lean_inc(v_ref_2559_); -v___x_2575_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_2559_); -v___y_2545_ = v___x_2575_; -goto v___jp_2544_; +lean_object* v___x_2595_; +lean_dec_ref(v_x_2557_); +lean_inc(v_ref_2579_); +v___x_2595_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_2579_); +v___y_2565_ = v___x_2595_; +goto v___jp_2564_; } -v___jp_2544_: +v___jp_2564_: { -if (lean_obj_tag(v___y_2545_) == 0) +if (lean_obj_tag(v___y_2565_) == 0) { -return v___y_2545_; +return v___y_2565_; } else { -lean_object* v_a_2546_; lean_object* v___x_2548_; uint8_t v_isShared_2549_; uint8_t v_isSharedCheck_2553_; -v_a_2546_ = lean_ctor_get(v___y_2545_, 0); -v_isSharedCheck_2553_ = !lean_is_exclusive(v___y_2545_); -if (v_isSharedCheck_2553_ == 0) +lean_object* v_a_2566_; lean_object* v___x_2568_; uint8_t v_isShared_2569_; uint8_t v_isSharedCheck_2573_; +v_a_2566_ = lean_ctor_get(v___y_2565_, 0); +v_isSharedCheck_2573_ = !lean_is_exclusive(v___y_2565_); +if (v_isSharedCheck_2573_ == 0) { -v___x_2548_ = v___y_2545_; -v_isShared_2549_ = v_isSharedCheck_2553_; -goto v_resetjp_2547_; +v___x_2568_ = v___y_2565_; +v_isShared_2569_ = v_isSharedCheck_2573_; +goto v_resetjp_2567_; } else { -lean_inc(v_a_2546_); -lean_dec(v___y_2545_); -v___x_2548_ = lean_box(0); -v_isShared_2549_ = v_isSharedCheck_2553_; -goto v_resetjp_2547_; +lean_inc(v_a_2566_); +lean_dec(v___y_2565_); +v___x_2568_ = lean_box(0); +v_isShared_2569_ = v_isSharedCheck_2573_; +goto v_resetjp_2567_; } -v_resetjp_2547_: +v_resetjp_2567_: { -lean_object* v___x_2551_; -if (v_isShared_2549_ == 0) +lean_object* v___x_2571_; +if (v_isShared_2569_ == 0) { -v___x_2551_ = v___x_2548_; -goto v_reusejp_2550_; +v___x_2571_ = v___x_2568_; +goto v_reusejp_2570_; } else { -lean_object* v_reuseFailAlloc_2552_; -v_reuseFailAlloc_2552_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2552_, 0, v_a_2546_); -v___x_2551_ = v_reuseFailAlloc_2552_; -goto v_reusejp_2550_; +lean_object* v_reuseFailAlloc_2572_; +v_reuseFailAlloc_2572_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2572_, 0, v_a_2566_); +v___x_2571_ = v_reuseFailAlloc_2572_; +goto v_reusejp_2570_; } -v_reusejp_2550_: +v_reusejp_2570_: { -return v___x_2551_; +return v___x_2571_; } } } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg___boxed(lean_object* v_x_2576_, lean_object* v___y_2577_, lean_object* v___y_2578_, lean_object* v___y_2579_, lean_object* v___y_2580_, lean_object* v___y_2581_, lean_object* v___y_2582_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg___boxed(lean_object* v_x_2596_, lean_object* v___y_2597_, lean_object* v___y_2598_, lean_object* v___y_2599_, lean_object* v___y_2600_, lean_object* v___y_2601_, lean_object* v___y_2602_){ _start: { -lean_object* v_res_2583_; -v_res_2583_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v_x_2576_, v___y_2577_, v___y_2578_, v___y_2579_, v___y_2580_, v___y_2581_); -lean_dec(v___y_2581_); -lean_dec_ref(v___y_2580_); -lean_dec(v___y_2579_); -lean_dec_ref(v___y_2578_); -lean_dec(v___y_2577_); -return v_res_2583_; +lean_object* v_res_2603_; +v_res_2603_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v_x_2596_, v___y_2597_, v___y_2598_, v___y_2599_, v___y_2600_, v___y_2601_); +lean_dec(v___y_2601_); +lean_dec_ref(v___y_2600_); +lean_dec(v___y_2599_); +lean_dec_ref(v___y_2598_); +lean_dec(v___y_2597_); +return v_res_2603_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0(lean_object* v_fvars_2584_, lean_object* v_pre_2585_, lean_object* v_post_2586_, uint8_t v_usedLetOnly_2587_, uint8_t v_skipConstInApp_2588_, uint8_t v_skipInstances_2589_, lean_object* v_body_2590_, lean_object* v_x_2591_, lean_object* v___y_2592_, lean_object* v___y_2593_, lean_object* v___y_2594_, lean_object* v___y_2595_, lean_object* v___y_2596_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0(lean_object* v_fvars_2604_, lean_object* v_pre_2605_, lean_object* v_post_2606_, uint8_t v_usedLetOnly_2607_, uint8_t v_skipConstInApp_2608_, uint8_t v_skipInstances_2609_, lean_object* v_body_2610_, lean_object* v_x_2611_, lean_object* v___y_2612_, lean_object* v___y_2613_, lean_object* v___y_2614_, lean_object* v___y_2615_, lean_object* v___y_2616_){ _start: { -lean_object* v___x_2598_; lean_object* v___x_2599_; -v___x_2598_ = lean_array_push(v_fvars_2584_, v_x_2591_); -v___x_2599_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_2585_, v_post_2586_, v_usedLetOnly_2587_, v_skipConstInApp_2588_, v_skipInstances_2589_, v___x_2598_, v_body_2590_, v___y_2592_, v___y_2593_, v___y_2594_, v___y_2595_, v___y_2596_); -return v___x_2599_; +lean_object* v___x_2618_; lean_object* v___x_2619_; +v___x_2618_ = lean_array_push(v_fvars_2604_, v_x_2611_); +v___x_2619_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_2605_, v_post_2606_, v_usedLetOnly_2607_, v_skipConstInApp_2608_, v_skipInstances_2609_, v___x_2618_, v_body_2610_, v___y_2612_, v___y_2613_, v___y_2614_, v___y_2615_, v___y_2616_); +return v___x_2619_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0___boxed(lean_object* v_fvars_2600_, lean_object* v_pre_2601_, lean_object* v_post_2602_, lean_object* v_usedLetOnly_2603_, lean_object* v_skipConstInApp_2604_, lean_object* v_skipInstances_2605_, lean_object* v_body_2606_, lean_object* v_x_2607_, lean_object* v___y_2608_, lean_object* v___y_2609_, lean_object* v___y_2610_, lean_object* v___y_2611_, lean_object* v___y_2612_, lean_object* v___y_2613_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0___boxed(lean_object* v_fvars_2620_, lean_object* v_pre_2621_, lean_object* v_post_2622_, lean_object* v_usedLetOnly_2623_, lean_object* v_skipConstInApp_2624_, lean_object* v_skipInstances_2625_, lean_object* v_body_2626_, lean_object* v_x_2627_, lean_object* v___y_2628_, lean_object* v___y_2629_, lean_object* v___y_2630_, lean_object* v___y_2631_, lean_object* v___y_2632_, lean_object* v___y_2633_){ _start: { -uint8_t v_usedLetOnly_boxed_2614_; uint8_t v_skipConstInApp_boxed_2615_; uint8_t v_skipInstances_boxed_2616_; lean_object* v_res_2617_; -v_usedLetOnly_boxed_2614_ = lean_unbox(v_usedLetOnly_2603_); -v_skipConstInApp_boxed_2615_ = lean_unbox(v_skipConstInApp_2604_); -v_skipInstances_boxed_2616_ = lean_unbox(v_skipInstances_2605_); -v_res_2617_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0(v_fvars_2600_, v_pre_2601_, v_post_2602_, v_usedLetOnly_boxed_2614_, v_skipConstInApp_boxed_2615_, v_skipInstances_boxed_2616_, v_body_2606_, v_x_2607_, v___y_2608_, v___y_2609_, v___y_2610_, v___y_2611_, v___y_2612_); -lean_dec(v___y_2612_); -lean_dec_ref(v___y_2611_); -lean_dec(v___y_2610_); -lean_dec_ref(v___y_2609_); -lean_dec(v___y_2608_); -return v_res_2617_; +uint8_t v_usedLetOnly_boxed_2634_; uint8_t v_skipConstInApp_boxed_2635_; uint8_t v_skipInstances_boxed_2636_; lean_object* v_res_2637_; +v_usedLetOnly_boxed_2634_ = lean_unbox(v_usedLetOnly_2623_); +v_skipConstInApp_boxed_2635_ = lean_unbox(v_skipConstInApp_2624_); +v_skipInstances_boxed_2636_ = lean_unbox(v_skipInstances_2625_); +v_res_2637_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0(v_fvars_2620_, v_pre_2621_, v_post_2622_, v_usedLetOnly_boxed_2634_, v_skipConstInApp_boxed_2635_, v_skipInstances_boxed_2636_, v_body_2626_, v_x_2627_, v___y_2628_, v___y_2629_, v___y_2630_, v___y_2631_, v___y_2632_); +lean_dec(v___y_2632_); +lean_dec_ref(v___y_2631_); +lean_dec(v___y_2630_); +lean_dec_ref(v___y_2629_); +lean_dec(v___y_2628_); +return v_res_2637_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(lean_object* v_pre_2618_, lean_object* v_post_2619_, uint8_t v_usedLetOnly_2620_, uint8_t v_skipConstInApp_2621_, uint8_t v_skipInstances_2622_, lean_object* v_e_2623_, lean_object* v_a_2624_, lean_object* v___y_2625_, lean_object* v___y_2626_, lean_object* v___y_2627_, lean_object* v___y_2628_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(lean_object* v_pre_2638_, lean_object* v_post_2639_, uint8_t v_usedLetOnly_2640_, uint8_t v_skipConstInApp_2641_, uint8_t v_skipInstances_2642_, lean_object* v_e_2643_, lean_object* v_a_2644_, lean_object* v___y_2645_, lean_object* v___y_2646_, lean_object* v___y_2647_, lean_object* v___y_2648_){ _start: { -lean_object* v___x_2630_; -lean_inc_ref(v_post_2619_); -lean_inc(v___y_2628_); -lean_inc_ref(v___y_2627_); -lean_inc(v___y_2626_); -lean_inc_ref(v___y_2625_); -lean_inc_ref(v_e_2623_); -v___x_2630_ = lean_apply_6(v_post_2619_, v_e_2623_, v___y_2625_, v___y_2626_, v___y_2627_, v___y_2628_, lean_box(0)); -if (lean_obj_tag(v___x_2630_) == 0) +lean_object* v___x_2650_; +lean_inc_ref(v_post_2639_); +lean_inc(v___y_2648_); +lean_inc_ref(v___y_2647_); +lean_inc(v___y_2646_); +lean_inc_ref(v___y_2645_); +lean_inc_ref(v_e_2643_); +v___x_2650_ = lean_apply_6(v_post_2639_, v_e_2643_, v___y_2645_, v___y_2646_, v___y_2647_, v___y_2648_, lean_box(0)); +if (lean_obj_tag(v___x_2650_) == 0) { -lean_object* v_a_2631_; lean_object* v___x_2633_; uint8_t v_isShared_2634_; uint8_t v_isSharedCheck_2649_; -v_a_2631_ = lean_ctor_get(v___x_2630_, 0); -v_isSharedCheck_2649_ = !lean_is_exclusive(v___x_2630_); -if (v_isSharedCheck_2649_ == 0) +lean_object* v_a_2651_; lean_object* v___x_2653_; uint8_t v_isShared_2654_; uint8_t v_isSharedCheck_2669_; +v_a_2651_ = lean_ctor_get(v___x_2650_, 0); +v_isSharedCheck_2669_ = !lean_is_exclusive(v___x_2650_); +if (v_isSharedCheck_2669_ == 0) { -v___x_2633_ = v___x_2630_; -v_isShared_2634_ = v_isSharedCheck_2649_; -goto v_resetjp_2632_; +v___x_2653_ = v___x_2650_; +v_isShared_2654_ = v_isSharedCheck_2669_; +goto v_resetjp_2652_; } else { -lean_inc(v_a_2631_); -lean_dec(v___x_2630_); -v___x_2633_ = lean_box(0); -v_isShared_2634_ = v_isSharedCheck_2649_; -goto v_resetjp_2632_; +lean_inc(v_a_2651_); +lean_dec(v___x_2650_); +v___x_2653_ = lean_box(0); +v_isShared_2654_ = v_isSharedCheck_2669_; +goto v_resetjp_2652_; } -v_resetjp_2632_: +v_resetjp_2652_: { -switch(lean_obj_tag(v_a_2631_)) +switch(lean_obj_tag(v_a_2651_)) { case 0: { -lean_object* v_e_2635_; lean_object* v___x_2637_; -lean_dec_ref(v_e_2623_); -lean_dec_ref(v_post_2619_); -lean_dec_ref(v_pre_2618_); -v_e_2635_ = lean_ctor_get(v_a_2631_, 0); -lean_inc_ref(v_e_2635_); -lean_dec_ref(v_a_2631_); -if (v_isShared_2634_ == 0) +lean_object* v_e_2655_; lean_object* v___x_2657_; +lean_dec_ref(v_e_2643_); +lean_dec_ref(v_post_2639_); +lean_dec_ref(v_pre_2638_); +v_e_2655_ = lean_ctor_get(v_a_2651_, 0); +lean_inc_ref(v_e_2655_); +lean_dec_ref(v_a_2651_); +if (v_isShared_2654_ == 0) { -lean_ctor_set(v___x_2633_, 0, v_e_2635_); -v___x_2637_ = v___x_2633_; -goto v_reusejp_2636_; +lean_ctor_set(v___x_2653_, 0, v_e_2655_); +v___x_2657_ = v___x_2653_; +goto v_reusejp_2656_; } else { -lean_object* v_reuseFailAlloc_2638_; -v_reuseFailAlloc_2638_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2638_, 0, v_e_2635_); -v___x_2637_ = v_reuseFailAlloc_2638_; -goto v_reusejp_2636_; +lean_object* v_reuseFailAlloc_2658_; +v_reuseFailAlloc_2658_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2658_, 0, v_e_2655_); +v___x_2657_ = v_reuseFailAlloc_2658_; +goto v_reusejp_2656_; } -v_reusejp_2636_: +v_reusejp_2656_: { -return v___x_2637_; +return v___x_2657_; } } case 1: { -lean_object* v_e_2639_; lean_object* v___x_2640_; -lean_del_object(v___x_2633_); -lean_dec_ref(v_e_2623_); -v_e_2639_ = lean_ctor_get(v_a_2631_, 0); -lean_inc_ref(v_e_2639_); -lean_dec_ref(v_a_2631_); -v___x_2640_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2618_, v_post_2619_, v_usedLetOnly_2620_, v_skipConstInApp_2621_, v_skipInstances_2622_, v_e_2639_, v_a_2624_, v___y_2625_, v___y_2626_, v___y_2627_, v___y_2628_); -return v___x_2640_; +lean_object* v_e_2659_; lean_object* v___x_2660_; +lean_del_object(v___x_2653_); +lean_dec_ref(v_e_2643_); +v_e_2659_ = lean_ctor_get(v_a_2651_, 0); +lean_inc_ref(v_e_2659_); +lean_dec_ref(v_a_2651_); +v___x_2660_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2638_, v_post_2639_, v_usedLetOnly_2640_, v_skipConstInApp_2641_, v_skipInstances_2642_, v_e_2659_, v_a_2644_, v___y_2645_, v___y_2646_, v___y_2647_, v___y_2648_); +return v___x_2660_; } default: { -lean_object* v_e_x3f_2641_; -lean_dec_ref(v_post_2619_); -lean_dec_ref(v_pre_2618_); -v_e_x3f_2641_ = lean_ctor_get(v_a_2631_, 0); -lean_inc(v_e_x3f_2641_); -lean_dec_ref(v_a_2631_); -if (lean_obj_tag(v_e_x3f_2641_) == 0) +lean_object* v_e_x3f_2661_; +lean_dec_ref(v_post_2639_); +lean_dec_ref(v_pre_2638_); +v_e_x3f_2661_ = lean_ctor_get(v_a_2651_, 0); +lean_inc(v_e_x3f_2661_); +lean_dec_ref(v_a_2651_); +if (lean_obj_tag(v_e_x3f_2661_) == 0) { -lean_object* v___x_2643_; -if (v_isShared_2634_ == 0) +lean_object* v___x_2663_; +if (v_isShared_2654_ == 0) { -lean_ctor_set(v___x_2633_, 0, v_e_2623_); -v___x_2643_ = v___x_2633_; -goto v_reusejp_2642_; +lean_ctor_set(v___x_2653_, 0, v_e_2643_); +v___x_2663_ = v___x_2653_; +goto v_reusejp_2662_; } else { -lean_object* v_reuseFailAlloc_2644_; -v_reuseFailAlloc_2644_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2644_, 0, v_e_2623_); -v___x_2643_ = v_reuseFailAlloc_2644_; -goto v_reusejp_2642_; +lean_object* v_reuseFailAlloc_2664_; +v_reuseFailAlloc_2664_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2664_, 0, v_e_2643_); +v___x_2663_ = v_reuseFailAlloc_2664_; +goto v_reusejp_2662_; } -v_reusejp_2642_: +v_reusejp_2662_: { -return v___x_2643_; +return v___x_2663_; } } else { -lean_object* v_val_2645_; lean_object* v___x_2647_; -lean_dec_ref(v_e_2623_); -v_val_2645_ = lean_ctor_get(v_e_x3f_2641_, 0); -lean_inc(v_val_2645_); -lean_dec_ref(v_e_x3f_2641_); -if (v_isShared_2634_ == 0) +lean_object* v_val_2665_; lean_object* v___x_2667_; +lean_dec_ref(v_e_2643_); +v_val_2665_ = lean_ctor_get(v_e_x3f_2661_, 0); +lean_inc(v_val_2665_); +lean_dec_ref(v_e_x3f_2661_); +if (v_isShared_2654_ == 0) { -lean_ctor_set(v___x_2633_, 0, v_val_2645_); -v___x_2647_ = v___x_2633_; -goto v_reusejp_2646_; +lean_ctor_set(v___x_2653_, 0, v_val_2665_); +v___x_2667_ = v___x_2653_; +goto v_reusejp_2666_; } else { -lean_object* v_reuseFailAlloc_2648_; -v_reuseFailAlloc_2648_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2648_, 0, v_val_2645_); -v___x_2647_ = v_reuseFailAlloc_2648_; -goto v_reusejp_2646_; +lean_object* v_reuseFailAlloc_2668_; +v_reuseFailAlloc_2668_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2668_, 0, v_val_2665_); +v___x_2667_ = v_reuseFailAlloc_2668_; +goto v_reusejp_2666_; } -v_reusejp_2646_: +v_reusejp_2666_: { -return v___x_2647_; +return v___x_2667_; } } } @@ -8187,285 +8298,285 @@ return v___x_2647_; } else { -lean_object* v_a_2650_; lean_object* v___x_2652_; uint8_t v_isShared_2653_; uint8_t v_isSharedCheck_2657_; -lean_dec_ref(v_e_2623_); -lean_dec_ref(v_post_2619_); -lean_dec_ref(v_pre_2618_); -v_a_2650_ = lean_ctor_get(v___x_2630_, 0); -v_isSharedCheck_2657_ = !lean_is_exclusive(v___x_2630_); -if (v_isSharedCheck_2657_ == 0) +lean_object* v_a_2670_; lean_object* v___x_2672_; uint8_t v_isShared_2673_; uint8_t v_isSharedCheck_2677_; +lean_dec_ref(v_e_2643_); +lean_dec_ref(v_post_2639_); +lean_dec_ref(v_pre_2638_); +v_a_2670_ = lean_ctor_get(v___x_2650_, 0); +v_isSharedCheck_2677_ = !lean_is_exclusive(v___x_2650_); +if (v_isSharedCheck_2677_ == 0) { -v___x_2652_ = v___x_2630_; -v_isShared_2653_ = v_isSharedCheck_2657_; -goto v_resetjp_2651_; +v___x_2672_ = v___x_2650_; +v_isShared_2673_ = v_isSharedCheck_2677_; +goto v_resetjp_2671_; } else { -lean_inc(v_a_2650_); -lean_dec(v___x_2630_); -v___x_2652_ = lean_box(0); -v_isShared_2653_ = v_isSharedCheck_2657_; -goto v_resetjp_2651_; +lean_inc(v_a_2670_); +lean_dec(v___x_2650_); +v___x_2672_ = lean_box(0); +v_isShared_2673_ = v_isSharedCheck_2677_; +goto v_resetjp_2671_; } -v_resetjp_2651_: +v_resetjp_2671_: { -lean_object* v___x_2655_; -if (v_isShared_2653_ == 0) +lean_object* v___x_2675_; +if (v_isShared_2673_ == 0) { -v___x_2655_ = v___x_2652_; -goto v_reusejp_2654_; +v___x_2675_ = v___x_2672_; +goto v_reusejp_2674_; } else { -lean_object* v_reuseFailAlloc_2656_; -v_reuseFailAlloc_2656_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2656_, 0, v_a_2650_); -v___x_2655_ = v_reuseFailAlloc_2656_; -goto v_reusejp_2654_; +lean_object* v_reuseFailAlloc_2676_; +v_reuseFailAlloc_2676_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2676_, 0, v_a_2670_); +v___x_2675_ = v_reuseFailAlloc_2676_; +goto v_reusejp_2674_; } -v_reusejp_2654_: +v_reusejp_2674_: { -return v___x_2655_; +return v___x_2675_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(lean_object* v_pre_2658_, lean_object* v_post_2659_, uint8_t v_usedLetOnly_2660_, uint8_t v_skipConstInApp_2661_, uint8_t v_skipInstances_2662_, lean_object* v_fvars_2663_, lean_object* v_e_2664_, lean_object* v_a_2665_, lean_object* v___y_2666_, lean_object* v___y_2667_, lean_object* v___y_2668_, lean_object* v___y_2669_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(lean_object* v_pre_2678_, lean_object* v_post_2679_, uint8_t v_usedLetOnly_2680_, uint8_t v_skipConstInApp_2681_, uint8_t v_skipInstances_2682_, lean_object* v_fvars_2683_, lean_object* v_e_2684_, lean_object* v_a_2685_, lean_object* v___y_2686_, lean_object* v___y_2687_, lean_object* v___y_2688_, lean_object* v___y_2689_){ _start: { -if (lean_obj_tag(v_e_2664_) == 6) +if (lean_obj_tag(v_e_2684_) == 6) { -lean_object* v_binderName_2671_; lean_object* v_binderType_2672_; lean_object* v_body_2673_; uint8_t v_binderInfo_2674_; lean_object* v___x_2675_; lean_object* v___x_2676_; -v_binderName_2671_ = lean_ctor_get(v_e_2664_, 0); -lean_inc(v_binderName_2671_); -v_binderType_2672_ = lean_ctor_get(v_e_2664_, 1); -lean_inc_ref(v_binderType_2672_); -v_body_2673_ = lean_ctor_get(v_e_2664_, 2); -lean_inc_ref(v_body_2673_); -v_binderInfo_2674_ = lean_ctor_get_uint8(v_e_2664_, sizeof(void*)*3 + 8); -lean_dec_ref(v_e_2664_); -v___x_2675_ = lean_expr_instantiate_rev(v_binderType_2672_, v_fvars_2663_); -lean_dec_ref(v_binderType_2672_); -lean_inc_ref(v_post_2659_); -lean_inc_ref(v_pre_2658_); -v___x_2676_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2658_, v_post_2659_, v_usedLetOnly_2660_, v_skipConstInApp_2661_, v_skipInstances_2662_, v___x_2675_, v_a_2665_, v___y_2666_, v___y_2667_, v___y_2668_, v___y_2669_); -if (lean_obj_tag(v___x_2676_) == 0) +lean_object* v_binderName_2691_; lean_object* v_binderType_2692_; lean_object* v_body_2693_; uint8_t v_binderInfo_2694_; lean_object* v___x_2695_; lean_object* v___x_2696_; +v_binderName_2691_ = lean_ctor_get(v_e_2684_, 0); +lean_inc(v_binderName_2691_); +v_binderType_2692_ = lean_ctor_get(v_e_2684_, 1); +lean_inc_ref(v_binderType_2692_); +v_body_2693_ = lean_ctor_get(v_e_2684_, 2); +lean_inc_ref(v_body_2693_); +v_binderInfo_2694_ = lean_ctor_get_uint8(v_e_2684_, sizeof(void*)*3 + 8); +lean_dec_ref(v_e_2684_); +v___x_2695_ = lean_expr_instantiate_rev(v_binderType_2692_, v_fvars_2683_); +lean_dec_ref(v_binderType_2692_); +lean_inc_ref(v_post_2679_); +lean_inc_ref(v_pre_2678_); +v___x_2696_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2678_, v_post_2679_, v_usedLetOnly_2680_, v_skipConstInApp_2681_, v_skipInstances_2682_, v___x_2695_, v_a_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_); +if (lean_obj_tag(v___x_2696_) == 0) { -lean_object* v_a_2677_; lean_object* v___x_2678_; lean_object* v___x_2679_; lean_object* v___x_2680_; lean_object* v___f_2681_; uint8_t v___x_2682_; lean_object* v___x_2683_; -v_a_2677_ = lean_ctor_get(v___x_2676_, 0); -lean_inc(v_a_2677_); -lean_dec_ref(v___x_2676_); -v___x_2678_ = lean_box(v_usedLetOnly_2660_); -v___x_2679_ = lean_box(v_skipConstInApp_2661_); -v___x_2680_ = lean_box(v_skipInstances_2662_); -v___f_2681_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0___boxed), 14, 7); -lean_closure_set(v___f_2681_, 0, v_fvars_2663_); -lean_closure_set(v___f_2681_, 1, v_pre_2658_); -lean_closure_set(v___f_2681_, 2, v_post_2659_); -lean_closure_set(v___f_2681_, 3, v___x_2678_); -lean_closure_set(v___f_2681_, 4, v___x_2679_); -lean_closure_set(v___f_2681_, 5, v___x_2680_); -lean_closure_set(v___f_2681_, 6, v_body_2673_); -v___x_2682_ = 0; -v___x_2683_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_binderName_2671_, v_binderInfo_2674_, v_a_2677_, v___f_2681_, v___x_2682_, v_a_2665_, v___y_2666_, v___y_2667_, v___y_2668_, v___y_2669_); -return v___x_2683_; +lean_object* v_a_2697_; lean_object* v___x_2698_; lean_object* v___x_2699_; lean_object* v___x_2700_; lean_object* v___f_2701_; uint8_t v___x_2702_; lean_object* v___x_2703_; +v_a_2697_ = lean_ctor_get(v___x_2696_, 0); +lean_inc(v_a_2697_); +lean_dec_ref(v___x_2696_); +v___x_2698_ = lean_box(v_usedLetOnly_2680_); +v___x_2699_ = lean_box(v_skipConstInApp_2681_); +v___x_2700_ = lean_box(v_skipInstances_2682_); +v___f_2701_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___lam__0___boxed), 14, 7); +lean_closure_set(v___f_2701_, 0, v_fvars_2683_); +lean_closure_set(v___f_2701_, 1, v_pre_2678_); +lean_closure_set(v___f_2701_, 2, v_post_2679_); +lean_closure_set(v___f_2701_, 3, v___x_2698_); +lean_closure_set(v___f_2701_, 4, v___x_2699_); +lean_closure_set(v___f_2701_, 5, v___x_2700_); +lean_closure_set(v___f_2701_, 6, v_body_2693_); +v___x_2702_ = 0; +v___x_2703_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_binderName_2691_, v_binderInfo_2694_, v_a_2697_, v___f_2701_, v___x_2702_, v_a_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_); +return v___x_2703_; } else { -lean_dec_ref(v_body_2673_); -lean_dec(v_binderName_2671_); -lean_dec_ref(v_fvars_2663_); -lean_dec_ref(v_post_2659_); -lean_dec_ref(v_pre_2658_); -return v___x_2676_; +lean_dec_ref(v_body_2693_); +lean_dec(v_binderName_2691_); +lean_dec_ref(v_fvars_2683_); +lean_dec_ref(v_post_2679_); +lean_dec_ref(v_pre_2678_); +return v___x_2696_; } } else { -lean_object* v___x_2684_; lean_object* v___x_2685_; -v___x_2684_ = lean_expr_instantiate_rev(v_e_2664_, v_fvars_2663_); -lean_dec_ref(v_e_2664_); -lean_inc_ref(v_post_2659_); -lean_inc_ref(v_pre_2658_); -v___x_2685_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2658_, v_post_2659_, v_usedLetOnly_2660_, v_skipConstInApp_2661_, v_skipInstances_2662_, v___x_2684_, v_a_2665_, v___y_2666_, v___y_2667_, v___y_2668_, v___y_2669_); -if (lean_obj_tag(v___x_2685_) == 0) +lean_object* v___x_2704_; lean_object* v___x_2705_; +v___x_2704_ = lean_expr_instantiate_rev(v_e_2684_, v_fvars_2683_); +lean_dec_ref(v_e_2684_); +lean_inc_ref(v_post_2679_); +lean_inc_ref(v_pre_2678_); +v___x_2705_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2678_, v_post_2679_, v_usedLetOnly_2680_, v_skipConstInApp_2681_, v_skipInstances_2682_, v___x_2704_, v_a_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_); +if (lean_obj_tag(v___x_2705_) == 0) { -lean_object* v_a_2686_; uint8_t v___x_2687_; uint8_t v___x_2688_; uint8_t v___x_2689_; lean_object* v___x_2690_; -v_a_2686_ = lean_ctor_get(v___x_2685_, 0); -lean_inc(v_a_2686_); -lean_dec_ref(v___x_2685_); -v___x_2687_ = 0; -v___x_2688_ = 1; -v___x_2689_ = 1; -v___x_2690_ = l_Lean_Meta_mkLambdaFVars(v_fvars_2663_, v_a_2686_, v___x_2687_, v_usedLetOnly_2660_, v___x_2687_, v___x_2688_, v___x_2689_, v___y_2666_, v___y_2667_, v___y_2668_, v___y_2669_); -lean_dec_ref(v_fvars_2663_); -if (lean_obj_tag(v___x_2690_) == 0) +lean_object* v_a_2706_; uint8_t v___x_2707_; uint8_t v___x_2708_; uint8_t v___x_2709_; lean_object* v___x_2710_; +v_a_2706_ = lean_ctor_get(v___x_2705_, 0); +lean_inc(v_a_2706_); +lean_dec_ref(v___x_2705_); +v___x_2707_ = 0; +v___x_2708_ = 1; +v___x_2709_ = 1; +v___x_2710_ = l_Lean_Meta_mkLambdaFVars(v_fvars_2683_, v_a_2706_, v___x_2707_, v_usedLetOnly_2680_, v___x_2707_, v___x_2708_, v___x_2709_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_); +lean_dec_ref(v_fvars_2683_); +if (lean_obj_tag(v___x_2710_) == 0) { -lean_object* v_a_2691_; lean_object* v___x_2692_; -v_a_2691_ = lean_ctor_get(v___x_2690_, 0); -lean_inc(v_a_2691_); -lean_dec_ref(v___x_2690_); -v___x_2692_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2658_, v_post_2659_, v_usedLetOnly_2660_, v_skipConstInApp_2661_, v_skipInstances_2662_, v_a_2691_, v_a_2665_, v___y_2666_, v___y_2667_, v___y_2668_, v___y_2669_); -return v___x_2692_; +lean_object* v_a_2711_; lean_object* v___x_2712_; +v_a_2711_ = lean_ctor_get(v___x_2710_, 0); +lean_inc(v_a_2711_); +lean_dec_ref(v___x_2710_); +v___x_2712_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2678_, v_post_2679_, v_usedLetOnly_2680_, v_skipConstInApp_2681_, v_skipInstances_2682_, v_a_2711_, v_a_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_); +return v___x_2712_; } else { -lean_dec_ref(v_post_2659_); -lean_dec_ref(v_pre_2658_); -return v___x_2690_; +lean_dec_ref(v_post_2679_); +lean_dec_ref(v_pre_2678_); +return v___x_2710_; } } else { -lean_dec_ref(v_fvars_2663_); -lean_dec_ref(v_post_2659_); -lean_dec_ref(v_pre_2658_); -return v___x_2685_; +lean_dec_ref(v_fvars_2683_); +lean_dec_ref(v_post_2679_); +lean_dec_ref(v_pre_2678_); +return v___x_2705_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0(lean_object* v_fvars_2693_, lean_object* v_pre_2694_, lean_object* v_post_2695_, uint8_t v_usedLetOnly_2696_, uint8_t v_skipConstInApp_2697_, uint8_t v_skipInstances_2698_, lean_object* v_body_2699_, lean_object* v_x_2700_, lean_object* v___y_2701_, lean_object* v___y_2702_, lean_object* v___y_2703_, lean_object* v___y_2704_, lean_object* v___y_2705_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0(lean_object* v_fvars_2713_, lean_object* v_pre_2714_, lean_object* v_post_2715_, uint8_t v_usedLetOnly_2716_, uint8_t v_skipConstInApp_2717_, uint8_t v_skipInstances_2718_, lean_object* v_body_2719_, lean_object* v_x_2720_, lean_object* v___y_2721_, lean_object* v___y_2722_, lean_object* v___y_2723_, lean_object* v___y_2724_, lean_object* v___y_2725_){ _start: { -lean_object* v___x_2707_; lean_object* v___x_2708_; -v___x_2707_ = lean_array_push(v_fvars_2693_, v_x_2700_); -v___x_2708_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_2694_, v_post_2695_, v_usedLetOnly_2696_, v_skipConstInApp_2697_, v_skipInstances_2698_, v___x_2707_, v_body_2699_, v___y_2701_, v___y_2702_, v___y_2703_, v___y_2704_, v___y_2705_); -return v___x_2708_; +lean_object* v___x_2727_; lean_object* v___x_2728_; +v___x_2727_ = lean_array_push(v_fvars_2713_, v_x_2720_); +v___x_2728_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_2714_, v_post_2715_, v_usedLetOnly_2716_, v_skipConstInApp_2717_, v_skipInstances_2718_, v___x_2727_, v_body_2719_, v___y_2721_, v___y_2722_, v___y_2723_, v___y_2724_, v___y_2725_); +return v___x_2728_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0___boxed(lean_object* v_fvars_2709_, lean_object* v_pre_2710_, lean_object* v_post_2711_, lean_object* v_usedLetOnly_2712_, lean_object* v_skipConstInApp_2713_, lean_object* v_skipInstances_2714_, lean_object* v_body_2715_, lean_object* v_x_2716_, lean_object* v___y_2717_, lean_object* v___y_2718_, lean_object* v___y_2719_, lean_object* v___y_2720_, lean_object* v___y_2721_, lean_object* v___y_2722_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0___boxed(lean_object* v_fvars_2729_, lean_object* v_pre_2730_, lean_object* v_post_2731_, lean_object* v_usedLetOnly_2732_, lean_object* v_skipConstInApp_2733_, lean_object* v_skipInstances_2734_, lean_object* v_body_2735_, lean_object* v_x_2736_, lean_object* v___y_2737_, lean_object* v___y_2738_, lean_object* v___y_2739_, lean_object* v___y_2740_, lean_object* v___y_2741_, lean_object* v___y_2742_){ _start: { -uint8_t v_usedLetOnly_boxed_2723_; uint8_t v_skipConstInApp_boxed_2724_; uint8_t v_skipInstances_boxed_2725_; lean_object* v_res_2726_; -v_usedLetOnly_boxed_2723_ = lean_unbox(v_usedLetOnly_2712_); -v_skipConstInApp_boxed_2724_ = lean_unbox(v_skipConstInApp_2713_); -v_skipInstances_boxed_2725_ = lean_unbox(v_skipInstances_2714_); -v_res_2726_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0(v_fvars_2709_, v_pre_2710_, v_post_2711_, v_usedLetOnly_boxed_2723_, v_skipConstInApp_boxed_2724_, v_skipInstances_boxed_2725_, v_body_2715_, v_x_2716_, v___y_2717_, v___y_2718_, v___y_2719_, v___y_2720_, v___y_2721_); -lean_dec(v___y_2721_); -lean_dec_ref(v___y_2720_); -lean_dec(v___y_2719_); -lean_dec_ref(v___y_2718_); -lean_dec(v___y_2717_); -return v_res_2726_; +uint8_t v_usedLetOnly_boxed_2743_; uint8_t v_skipConstInApp_boxed_2744_; uint8_t v_skipInstances_boxed_2745_; lean_object* v_res_2746_; +v_usedLetOnly_boxed_2743_ = lean_unbox(v_usedLetOnly_2732_); +v_skipConstInApp_boxed_2744_ = lean_unbox(v_skipConstInApp_2733_); +v_skipInstances_boxed_2745_ = lean_unbox(v_skipInstances_2734_); +v_res_2746_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0(v_fvars_2729_, v_pre_2730_, v_post_2731_, v_usedLetOnly_boxed_2743_, v_skipConstInApp_boxed_2744_, v_skipInstances_boxed_2745_, v_body_2735_, v_x_2736_, v___y_2737_, v___y_2738_, v___y_2739_, v___y_2740_, v___y_2741_); +lean_dec(v___y_2741_); +lean_dec_ref(v___y_2740_); +lean_dec(v___y_2739_); +lean_dec_ref(v___y_2738_); +lean_dec(v___y_2737_); +return v_res_2746_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(lean_object* v_pre_2727_, lean_object* v_post_2728_, uint8_t v_usedLetOnly_2729_, uint8_t v_skipConstInApp_2730_, uint8_t v_skipInstances_2731_, lean_object* v_fvars_2732_, lean_object* v_e_2733_, lean_object* v_a_2734_, lean_object* v___y_2735_, lean_object* v___y_2736_, lean_object* v___y_2737_, lean_object* v___y_2738_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(lean_object* v_pre_2747_, lean_object* v_post_2748_, uint8_t v_usedLetOnly_2749_, uint8_t v_skipConstInApp_2750_, uint8_t v_skipInstances_2751_, lean_object* v_fvars_2752_, lean_object* v_e_2753_, lean_object* v_a_2754_, lean_object* v___y_2755_, lean_object* v___y_2756_, lean_object* v___y_2757_, lean_object* v___y_2758_){ _start: { -if (lean_obj_tag(v_e_2733_) == 8) +if (lean_obj_tag(v_e_2753_) == 8) { -lean_object* v_declName_2740_; lean_object* v_type_2741_; lean_object* v_value_2742_; lean_object* v_body_2743_; uint8_t v_nondep_2744_; lean_object* v___x_2745_; lean_object* v___x_2746_; -v_declName_2740_ = lean_ctor_get(v_e_2733_, 0); -lean_inc(v_declName_2740_); -v_type_2741_ = lean_ctor_get(v_e_2733_, 1); -lean_inc_ref(v_type_2741_); -v_value_2742_ = lean_ctor_get(v_e_2733_, 2); -lean_inc_ref(v_value_2742_); -v_body_2743_ = lean_ctor_get(v_e_2733_, 3); -lean_inc_ref(v_body_2743_); -v_nondep_2744_ = lean_ctor_get_uint8(v_e_2733_, sizeof(void*)*4 + 8); -lean_dec_ref(v_e_2733_); -v___x_2745_ = lean_expr_instantiate_rev(v_type_2741_, v_fvars_2732_); -lean_dec_ref(v_type_2741_); -lean_inc_ref(v_post_2728_); -lean_inc_ref(v_pre_2727_); -v___x_2746_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2727_, v_post_2728_, v_usedLetOnly_2729_, v_skipConstInApp_2730_, v_skipInstances_2731_, v___x_2745_, v_a_2734_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -if (lean_obj_tag(v___x_2746_) == 0) +lean_object* v_declName_2760_; lean_object* v_type_2761_; lean_object* v_value_2762_; lean_object* v_body_2763_; uint8_t v_nondep_2764_; lean_object* v___x_2765_; lean_object* v___x_2766_; +v_declName_2760_ = lean_ctor_get(v_e_2753_, 0); +lean_inc(v_declName_2760_); +v_type_2761_ = lean_ctor_get(v_e_2753_, 1); +lean_inc_ref(v_type_2761_); +v_value_2762_ = lean_ctor_get(v_e_2753_, 2); +lean_inc_ref(v_value_2762_); +v_body_2763_ = lean_ctor_get(v_e_2753_, 3); +lean_inc_ref(v_body_2763_); +v_nondep_2764_ = lean_ctor_get_uint8(v_e_2753_, sizeof(void*)*4 + 8); +lean_dec_ref(v_e_2753_); +v___x_2765_ = lean_expr_instantiate_rev(v_type_2761_, v_fvars_2752_); +lean_dec_ref(v_type_2761_); +lean_inc_ref(v_post_2748_); +lean_inc_ref(v_pre_2747_); +v___x_2766_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2747_, v_post_2748_, v_usedLetOnly_2749_, v_skipConstInApp_2750_, v_skipInstances_2751_, v___x_2765_, v_a_2754_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +if (lean_obj_tag(v___x_2766_) == 0) { -lean_object* v_a_2747_; lean_object* v___x_2748_; lean_object* v___x_2749_; -v_a_2747_ = lean_ctor_get(v___x_2746_, 0); -lean_inc(v_a_2747_); -lean_dec_ref(v___x_2746_); -v___x_2748_ = lean_expr_instantiate_rev(v_value_2742_, v_fvars_2732_); -lean_dec_ref(v_value_2742_); -lean_inc_ref(v_post_2728_); -lean_inc_ref(v_pre_2727_); -v___x_2749_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2727_, v_post_2728_, v_usedLetOnly_2729_, v_skipConstInApp_2730_, v_skipInstances_2731_, v___x_2748_, v_a_2734_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -if (lean_obj_tag(v___x_2749_) == 0) +lean_object* v_a_2767_; lean_object* v___x_2768_; lean_object* v___x_2769_; +v_a_2767_ = lean_ctor_get(v___x_2766_, 0); +lean_inc(v_a_2767_); +lean_dec_ref(v___x_2766_); +v___x_2768_ = lean_expr_instantiate_rev(v_value_2762_, v_fvars_2752_); +lean_dec_ref(v_value_2762_); +lean_inc_ref(v_post_2748_); +lean_inc_ref(v_pre_2747_); +v___x_2769_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2747_, v_post_2748_, v_usedLetOnly_2749_, v_skipConstInApp_2750_, v_skipInstances_2751_, v___x_2768_, v_a_2754_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +if (lean_obj_tag(v___x_2769_) == 0) { -lean_object* v_a_2750_; lean_object* v___x_2751_; lean_object* v___x_2752_; lean_object* v___x_2753_; lean_object* v___f_2754_; uint8_t v___x_2755_; lean_object* v___x_2756_; -v_a_2750_ = lean_ctor_get(v___x_2749_, 0); -lean_inc(v_a_2750_); -lean_dec_ref(v___x_2749_); -v___x_2751_ = lean_box(v_usedLetOnly_2729_); -v___x_2752_ = lean_box(v_skipConstInApp_2730_); -v___x_2753_ = lean_box(v_skipInstances_2731_); -v___f_2754_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0___boxed), 14, 7); -lean_closure_set(v___f_2754_, 0, v_fvars_2732_); -lean_closure_set(v___f_2754_, 1, v_pre_2727_); -lean_closure_set(v___f_2754_, 2, v_post_2728_); -lean_closure_set(v___f_2754_, 3, v___x_2751_); -lean_closure_set(v___f_2754_, 4, v___x_2752_); -lean_closure_set(v___f_2754_, 5, v___x_2753_); -lean_closure_set(v___f_2754_, 6, v_body_2743_); -v___x_2755_ = 0; -v___x_2756_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_declName_2740_, v_a_2747_, v_a_2750_, v___f_2754_, v_nondep_2744_, v___x_2755_, v_a_2734_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -return v___x_2756_; +lean_object* v_a_2770_; lean_object* v___x_2771_; lean_object* v___x_2772_; lean_object* v___x_2773_; lean_object* v___f_2774_; uint8_t v___x_2775_; lean_object* v___x_2776_; +v_a_2770_ = lean_ctor_get(v___x_2769_, 0); +lean_inc(v_a_2770_); +lean_dec_ref(v___x_2769_); +v___x_2771_ = lean_box(v_usedLetOnly_2749_); +v___x_2772_ = lean_box(v_skipConstInApp_2750_); +v___x_2773_ = lean_box(v_skipInstances_2751_); +v___f_2774_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___lam__0___boxed), 14, 7); +lean_closure_set(v___f_2774_, 0, v_fvars_2752_); +lean_closure_set(v___f_2774_, 1, v_pre_2747_); +lean_closure_set(v___f_2774_, 2, v_post_2748_); +lean_closure_set(v___f_2774_, 3, v___x_2771_); +lean_closure_set(v___f_2774_, 4, v___x_2772_); +lean_closure_set(v___f_2774_, 5, v___x_2773_); +lean_closure_set(v___f_2774_, 6, v_body_2763_); +v___x_2775_ = 0; +v___x_2776_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_declName_2760_, v_a_2767_, v_a_2770_, v___f_2774_, v_nondep_2764_, v___x_2775_, v_a_2754_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +return v___x_2776_; } else { -lean_dec(v_a_2747_); -lean_dec_ref(v_body_2743_); -lean_dec(v_declName_2740_); -lean_dec_ref(v_fvars_2732_); -lean_dec_ref(v_post_2728_); -lean_dec_ref(v_pre_2727_); -return v___x_2749_; +lean_dec(v_a_2767_); +lean_dec_ref(v_body_2763_); +lean_dec(v_declName_2760_); +lean_dec_ref(v_fvars_2752_); +lean_dec_ref(v_post_2748_); +lean_dec_ref(v_pre_2747_); +return v___x_2769_; } } else { -lean_dec_ref(v_body_2743_); -lean_dec_ref(v_value_2742_); -lean_dec(v_declName_2740_); -lean_dec_ref(v_fvars_2732_); -lean_dec_ref(v_post_2728_); -lean_dec_ref(v_pre_2727_); -return v___x_2746_; +lean_dec_ref(v_body_2763_); +lean_dec_ref(v_value_2762_); +lean_dec(v_declName_2760_); +lean_dec_ref(v_fvars_2752_); +lean_dec_ref(v_post_2748_); +lean_dec_ref(v_pre_2747_); +return v___x_2766_; } } else { -lean_object* v___x_2757_; lean_object* v___x_2758_; -v___x_2757_ = lean_expr_instantiate_rev(v_e_2733_, v_fvars_2732_); -lean_dec_ref(v_e_2733_); -lean_inc_ref(v_post_2728_); -lean_inc_ref(v_pre_2727_); -v___x_2758_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2727_, v_post_2728_, v_usedLetOnly_2729_, v_skipConstInApp_2730_, v_skipInstances_2731_, v___x_2757_, v_a_2734_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -if (lean_obj_tag(v___x_2758_) == 0) +lean_object* v___x_2777_; lean_object* v___x_2778_; +v___x_2777_ = lean_expr_instantiate_rev(v_e_2753_, v_fvars_2752_); +lean_dec_ref(v_e_2753_); +lean_inc_ref(v_post_2748_); +lean_inc_ref(v_pre_2747_); +v___x_2778_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2747_, v_post_2748_, v_usedLetOnly_2749_, v_skipConstInApp_2750_, v_skipInstances_2751_, v___x_2777_, v_a_2754_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +if (lean_obj_tag(v___x_2778_) == 0) { -lean_object* v_a_2759_; uint8_t v___x_2760_; uint8_t v___x_2761_; lean_object* v___x_2762_; -v_a_2759_ = lean_ctor_get(v___x_2758_, 0); -lean_inc(v_a_2759_); -lean_dec_ref(v___x_2758_); -v___x_2760_ = 0; -v___x_2761_ = 1; -v___x_2762_ = l_Lean_Meta_mkLetFVars(v_fvars_2732_, v_a_2759_, v_usedLetOnly_2729_, v___x_2760_, v___x_2761_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -lean_dec_ref(v_fvars_2732_); -if (lean_obj_tag(v___x_2762_) == 0) +lean_object* v_a_2779_; uint8_t v___x_2780_; uint8_t v___x_2781_; lean_object* v___x_2782_; +v_a_2779_ = lean_ctor_get(v___x_2778_, 0); +lean_inc(v_a_2779_); +lean_dec_ref(v___x_2778_); +v___x_2780_ = 0; +v___x_2781_ = 1; +v___x_2782_ = l_Lean_Meta_mkLetFVars(v_fvars_2752_, v_a_2779_, v_usedLetOnly_2749_, v___x_2780_, v___x_2781_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +lean_dec_ref(v_fvars_2752_); +if (lean_obj_tag(v___x_2782_) == 0) { -lean_object* v_a_2763_; lean_object* v___x_2764_; -v_a_2763_ = lean_ctor_get(v___x_2762_, 0); -lean_inc(v_a_2763_); -lean_dec_ref(v___x_2762_); -v___x_2764_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2727_, v_post_2728_, v_usedLetOnly_2729_, v_skipConstInApp_2730_, v_skipInstances_2731_, v_a_2763_, v_a_2734_, v___y_2735_, v___y_2736_, v___y_2737_, v___y_2738_); -return v___x_2764_; +lean_object* v_a_2783_; lean_object* v___x_2784_; +v_a_2783_ = lean_ctor_get(v___x_2782_, 0); +lean_inc(v_a_2783_); +lean_dec_ref(v___x_2782_); +v___x_2784_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2747_, v_post_2748_, v_usedLetOnly_2749_, v_skipConstInApp_2750_, v_skipInstances_2751_, v_a_2783_, v_a_2754_, v___y_2755_, v___y_2756_, v___y_2757_, v___y_2758_); +return v___x_2784_; } else { -lean_dec_ref(v_post_2728_); -lean_dec_ref(v_pre_2727_); -return v___x_2762_; +lean_dec_ref(v_post_2748_); +lean_dec_ref(v_pre_2747_); +return v___x_2782_; } } else { -lean_dec_ref(v_fvars_2732_); -lean_dec_ref(v_post_2728_); -lean_dec_ref(v_pre_2727_); -return v___x_2758_; +lean_dec_ref(v_fvars_2752_); +lean_dec_ref(v_post_2748_); +lean_dec_ref(v_pre_2747_); +return v___x_2778_; } } } @@ -8473,909 +8584,909 @@ return v___x_2758_; static lean_object* _init_l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0(void){ _start: { -lean_object* v___x_2765_; lean_object* v_dummy_2766_; -v___x_2765_ = lean_box(0); -v_dummy_2766_ = l_Lean_Expr_sort___override(v___x_2765_); -return v_dummy_2766_; +lean_object* v___x_2785_; lean_object* v_dummy_2786_; +v___x_2785_ = lean_box(0); +v_dummy_2786_ = l_Lean_Expr_sort___override(v___x_2785_); +return v_dummy_2786_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(lean_object* v_pre_2767_, lean_object* v_post_2768_, uint8_t v_usedLetOnly_2769_, uint8_t v_skipConstInApp_2770_, uint8_t v_skipInstances_2771_, size_t v_sz_2772_, size_t v_i_2773_, lean_object* v_bs_2774_, lean_object* v___y_2775_, lean_object* v___y_2776_, lean_object* v___y_2777_, lean_object* v___y_2778_, lean_object* v___y_2779_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(lean_object* v_pre_2787_, lean_object* v_post_2788_, uint8_t v_usedLetOnly_2789_, uint8_t v_skipConstInApp_2790_, uint8_t v_skipInstances_2791_, size_t v_sz_2792_, size_t v_i_2793_, lean_object* v_bs_2794_, lean_object* v___y_2795_, lean_object* v___y_2796_, lean_object* v___y_2797_, lean_object* v___y_2798_, lean_object* v___y_2799_){ _start: { -uint8_t v___x_2781_; -v___x_2781_ = lean_usize_dec_lt(v_i_2773_, v_sz_2772_); -if (v___x_2781_ == 0) +uint8_t v___x_2801_; +v___x_2801_ = lean_usize_dec_lt(v_i_2793_, v_sz_2792_); +if (v___x_2801_ == 0) { -lean_object* v___x_2782_; -lean_dec_ref(v_post_2768_); -lean_dec_ref(v_pre_2767_); -v___x_2782_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2782_, 0, v_bs_2774_); -return v___x_2782_; +lean_object* v___x_2802_; +lean_dec_ref(v_post_2788_); +lean_dec_ref(v_pre_2787_); +v___x_2802_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2802_, 0, v_bs_2794_); +return v___x_2802_; } else { -lean_object* v_v_2783_; lean_object* v___x_2784_; -v_v_2783_ = lean_array_uget_borrowed(v_bs_2774_, v_i_2773_); -lean_inc(v_v_2783_); -lean_inc_ref(v_post_2768_); -lean_inc_ref(v_pre_2767_); -v___x_2784_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2767_, v_post_2768_, v_usedLetOnly_2769_, v_skipConstInApp_2770_, v_skipInstances_2771_, v_v_2783_, v___y_2775_, v___y_2776_, v___y_2777_, v___y_2778_, v___y_2779_); -if (lean_obj_tag(v___x_2784_) == 0) +lean_object* v_v_2803_; lean_object* v___x_2804_; +v_v_2803_ = lean_array_uget_borrowed(v_bs_2794_, v_i_2793_); +lean_inc(v_v_2803_); +lean_inc_ref(v_post_2788_); +lean_inc_ref(v_pre_2787_); +v___x_2804_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2787_, v_post_2788_, v_usedLetOnly_2789_, v_skipConstInApp_2790_, v_skipInstances_2791_, v_v_2803_, v___y_2795_, v___y_2796_, v___y_2797_, v___y_2798_, v___y_2799_); +if (lean_obj_tag(v___x_2804_) == 0) { -lean_object* v_a_2785_; lean_object* v___x_2786_; lean_object* v_bs_x27_2787_; size_t v___x_2788_; size_t v___x_2789_; lean_object* v___x_2790_; -v_a_2785_ = lean_ctor_get(v___x_2784_, 0); -lean_inc(v_a_2785_); -lean_dec_ref(v___x_2784_); -v___x_2786_ = lean_unsigned_to_nat(0u); -v_bs_x27_2787_ = lean_array_uset(v_bs_2774_, v_i_2773_, v___x_2786_); -v___x_2788_ = ((size_t)1ULL); -v___x_2789_ = lean_usize_add(v_i_2773_, v___x_2788_); -v___x_2790_ = lean_array_uset(v_bs_x27_2787_, v_i_2773_, v_a_2785_); -v_i_2773_ = v___x_2789_; -v_bs_2774_ = v___x_2790_; +lean_object* v_a_2805_; lean_object* v___x_2806_; lean_object* v_bs_x27_2807_; size_t v___x_2808_; size_t v___x_2809_; lean_object* v___x_2810_; +v_a_2805_ = lean_ctor_get(v___x_2804_, 0); +lean_inc(v_a_2805_); +lean_dec_ref(v___x_2804_); +v___x_2806_ = lean_unsigned_to_nat(0u); +v_bs_x27_2807_ = lean_array_uset(v_bs_2794_, v_i_2793_, v___x_2806_); +v___x_2808_ = ((size_t)1ULL); +v___x_2809_ = lean_usize_add(v_i_2793_, v___x_2808_); +v___x_2810_ = lean_array_uset(v_bs_x27_2807_, v_i_2793_, v_a_2805_); +v_i_2793_ = v___x_2809_; +v_bs_2794_ = v___x_2810_; goto _start; } else { -lean_object* v_a_2792_; lean_object* v___x_2794_; uint8_t v_isShared_2795_; uint8_t v_isSharedCheck_2799_; -lean_dec_ref(v_bs_2774_); -lean_dec_ref(v_post_2768_); -lean_dec_ref(v_pre_2767_); -v_a_2792_ = lean_ctor_get(v___x_2784_, 0); -v_isSharedCheck_2799_ = !lean_is_exclusive(v___x_2784_); -if (v_isSharedCheck_2799_ == 0) +lean_object* v_a_2812_; lean_object* v___x_2814_; uint8_t v_isShared_2815_; uint8_t v_isSharedCheck_2819_; +lean_dec_ref(v_bs_2794_); +lean_dec_ref(v_post_2788_); +lean_dec_ref(v_pre_2787_); +v_a_2812_ = lean_ctor_get(v___x_2804_, 0); +v_isSharedCheck_2819_ = !lean_is_exclusive(v___x_2804_); +if (v_isSharedCheck_2819_ == 0) { -v___x_2794_ = v___x_2784_; -v_isShared_2795_ = v_isSharedCheck_2799_; -goto v_resetjp_2793_; +v___x_2814_ = v___x_2804_; +v_isShared_2815_ = v_isSharedCheck_2819_; +goto v_resetjp_2813_; } else { -lean_inc(v_a_2792_); -lean_dec(v___x_2784_); -v___x_2794_ = lean_box(0); -v_isShared_2795_ = v_isSharedCheck_2799_; -goto v_resetjp_2793_; +lean_inc(v_a_2812_); +lean_dec(v___x_2804_); +v___x_2814_ = lean_box(0); +v_isShared_2815_ = v_isSharedCheck_2819_; +goto v_resetjp_2813_; } -v_resetjp_2793_: +v_resetjp_2813_: { -lean_object* v___x_2797_; -if (v_isShared_2795_ == 0) -{ -v___x_2797_ = v___x_2794_; -goto v_reusejp_2796_; -} -else -{ -lean_object* v_reuseFailAlloc_2798_; -v_reuseFailAlloc_2798_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2798_, 0, v_a_2792_); -v___x_2797_ = v_reuseFailAlloc_2798_; -goto v_reusejp_2796_; -} -v_reusejp_2796_: -{ -return v___x_2797_; -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0(lean_object* v_pre_2800_, lean_object* v_post_2801_, uint8_t v_usedLetOnly_2802_, uint8_t v_skipConstInApp_2803_, uint8_t v_skipInstances_2804_, lean_object* v___x_2805_, lean_object* v___y_2806_, lean_object* v_b_2807_, lean_object* v_a_2808_, lean_object* v___y_2809_, lean_object* v___y_2810_, lean_object* v___y_2811_, lean_object* v___y_2812_){ -_start: -{ -lean_object* v___x_2814_; -v___x_2814_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2800_, v_post_2801_, v_usedLetOnly_2802_, v_skipConstInApp_2803_, v_skipInstances_2804_, v___x_2805_, v___y_2806_, v___y_2809_, v___y_2810_, v___y_2811_, v___y_2812_); -if (lean_obj_tag(v___x_2814_) == 0) -{ -lean_object* v_a_2815_; lean_object* v___x_2817_; uint8_t v_isShared_2818_; uint8_t v_isSharedCheck_2824_; -v_a_2815_ = lean_ctor_get(v___x_2814_, 0); -v_isSharedCheck_2824_ = !lean_is_exclusive(v___x_2814_); -if (v_isSharedCheck_2824_ == 0) +lean_object* v___x_2817_; +if (v_isShared_2815_ == 0) { v___x_2817_ = v___x_2814_; -v_isShared_2818_ = v_isSharedCheck_2824_; -goto v_resetjp_2816_; +goto v_reusejp_2816_; } else { -lean_inc(v_a_2815_); -lean_dec(v___x_2814_); -v___x_2817_ = lean_box(0); -v_isShared_2818_ = v_isSharedCheck_2824_; -goto v_resetjp_2816_; +lean_object* v_reuseFailAlloc_2818_; +v_reuseFailAlloc_2818_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2818_, 0, v_a_2812_); +v___x_2817_ = v_reuseFailAlloc_2818_; +goto v_reusejp_2816_; } -v_resetjp_2816_: +v_reusejp_2816_: { -lean_object* v___x_2819_; lean_object* v___x_2820_; lean_object* v___x_2822_; -v___x_2819_ = lean_array_fset(v_b_2807_, v_a_2808_, v_a_2815_); -v___x_2820_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_2820_, 0, v___x_2819_); -if (v_isShared_2818_ == 0) -{ -lean_ctor_set(v___x_2817_, 0, v___x_2820_); -v___x_2822_ = v___x_2817_; -goto v_reusejp_2821_; -} -else -{ -lean_object* v_reuseFailAlloc_2823_; -v_reuseFailAlloc_2823_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2823_, 0, v___x_2820_); -v___x_2822_ = v_reuseFailAlloc_2823_; -goto v_reusejp_2821_; -} -v_reusejp_2821_: -{ -return v___x_2822_; -} -} -} -else -{ -lean_object* v_a_2825_; lean_object* v___x_2827_; uint8_t v_isShared_2828_; uint8_t v_isSharedCheck_2832_; -lean_dec_ref(v_b_2807_); -v_a_2825_ = lean_ctor_get(v___x_2814_, 0); -v_isSharedCheck_2832_ = !lean_is_exclusive(v___x_2814_); -if (v_isSharedCheck_2832_ == 0) -{ -v___x_2827_ = v___x_2814_; -v_isShared_2828_ = v_isSharedCheck_2832_; -goto v_resetjp_2826_; -} -else -{ -lean_inc(v_a_2825_); -lean_dec(v___x_2814_); -v___x_2827_ = lean_box(0); -v_isShared_2828_ = v_isSharedCheck_2832_; -goto v_resetjp_2826_; -} -v_resetjp_2826_: -{ -lean_object* v___x_2830_; -if (v_isShared_2828_ == 0) -{ -v___x_2830_ = v___x_2827_; -goto v_reusejp_2829_; -} -else -{ -lean_object* v_reuseFailAlloc_2831_; -v_reuseFailAlloc_2831_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2831_, 0, v_a_2825_); -v___x_2830_ = v_reuseFailAlloc_2831_; -goto v_reusejp_2829_; -} -v_reusejp_2829_: -{ -return v___x_2830_; +return v___x_2817_; } } } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed(lean_object* v_pre_2833_, lean_object* v_post_2834_, lean_object* v_usedLetOnly_2835_, lean_object* v_skipConstInApp_2836_, lean_object* v_skipInstances_2837_, lean_object* v___x_2838_, lean_object* v___y_2839_, lean_object* v_b_2840_, lean_object* v_a_2841_, lean_object* v___y_2842_, lean_object* v___y_2843_, lean_object* v___y_2844_, lean_object* v___y_2845_, lean_object* v___y_2846_){ +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0(lean_object* v_pre_2820_, lean_object* v_post_2821_, uint8_t v_usedLetOnly_2822_, uint8_t v_skipConstInApp_2823_, uint8_t v_skipInstances_2824_, lean_object* v___x_2825_, lean_object* v___y_2826_, lean_object* v_b_2827_, lean_object* v_a_2828_, lean_object* v___y_2829_, lean_object* v___y_2830_, lean_object* v___y_2831_, lean_object* v___y_2832_){ _start: { -uint8_t v_usedLetOnly_boxed_2847_; uint8_t v_skipConstInApp_boxed_2848_; uint8_t v_skipInstances_boxed_2849_; lean_object* v_res_2850_; -v_usedLetOnly_boxed_2847_ = lean_unbox(v_usedLetOnly_2835_); -v_skipConstInApp_boxed_2848_ = lean_unbox(v_skipConstInApp_2836_); -v_skipInstances_boxed_2849_ = lean_unbox(v_skipInstances_2837_); -v_res_2850_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0(v_pre_2833_, v_post_2834_, v_usedLetOnly_boxed_2847_, v_skipConstInApp_boxed_2848_, v_skipInstances_boxed_2849_, v___x_2838_, v___y_2839_, v_b_2840_, v_a_2841_, v___y_2842_, v___y_2843_, v___y_2844_, v___y_2845_); -lean_dec(v___y_2845_); -lean_dec_ref(v___y_2844_); -lean_dec(v___y_2843_); -lean_dec_ref(v___y_2842_); -lean_dec(v_a_2841_); -lean_dec(v___y_2839_); -return v_res_2850_; +lean_object* v___x_2834_; +v___x_2834_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2820_, v_post_2821_, v_usedLetOnly_2822_, v_skipConstInApp_2823_, v_skipInstances_2824_, v___x_2825_, v___y_2826_, v___y_2829_, v___y_2830_, v___y_2831_, v___y_2832_); +if (lean_obj_tag(v___x_2834_) == 0) +{ +lean_object* v_a_2835_; lean_object* v___x_2837_; uint8_t v_isShared_2838_; uint8_t v_isSharedCheck_2844_; +v_a_2835_ = lean_ctor_get(v___x_2834_, 0); +v_isSharedCheck_2844_ = !lean_is_exclusive(v___x_2834_); +if (v_isSharedCheck_2844_ == 0) +{ +v___x_2837_ = v___x_2834_; +v_isShared_2838_ = v_isSharedCheck_2844_; +goto v_resetjp_2836_; +} +else +{ +lean_inc(v_a_2835_); +lean_dec(v___x_2834_); +v___x_2837_ = lean_box(0); +v_isShared_2838_ = v_isSharedCheck_2844_; +goto v_resetjp_2836_; +} +v_resetjp_2836_: +{ +lean_object* v___x_2839_; lean_object* v___x_2840_; lean_object* v___x_2842_; +v___x_2839_ = lean_array_fset(v_b_2827_, v_a_2828_, v_a_2835_); +v___x_2840_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_2840_, 0, v___x_2839_); +if (v_isShared_2838_ == 0) +{ +lean_ctor_set(v___x_2837_, 0, v___x_2840_); +v___x_2842_ = v___x_2837_; +goto v_reusejp_2841_; +} +else +{ +lean_object* v_reuseFailAlloc_2843_; +v_reuseFailAlloc_2843_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2843_, 0, v___x_2840_); +v___x_2842_ = v_reuseFailAlloc_2843_; +goto v_reusejp_2841_; +} +v_reusejp_2841_: +{ +return v___x_2842_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(lean_object* v_upperBound_2851_, lean_object* v___x_2852_, lean_object* v_pre_2853_, lean_object* v_post_2854_, uint8_t v_usedLetOnly_2855_, uint8_t v_skipConstInApp_2856_, uint8_t v_skipInstances_2857_, lean_object* v_a_2858_, lean_object* v_b_2859_, lean_object* v___y_2860_, lean_object* v___y_2861_, lean_object* v___y_2862_, lean_object* v___y_2863_, lean_object* v___y_2864_){ +} +else +{ +lean_object* v_a_2845_; lean_object* v___x_2847_; uint8_t v_isShared_2848_; uint8_t v_isSharedCheck_2852_; +lean_dec_ref(v_b_2827_); +v_a_2845_ = lean_ctor_get(v___x_2834_, 0); +v_isSharedCheck_2852_ = !lean_is_exclusive(v___x_2834_); +if (v_isSharedCheck_2852_ == 0) +{ +v___x_2847_ = v___x_2834_; +v_isShared_2848_ = v_isSharedCheck_2852_; +goto v_resetjp_2846_; +} +else +{ +lean_inc(v_a_2845_); +lean_dec(v___x_2834_); +v___x_2847_ = lean_box(0); +v_isShared_2848_ = v_isSharedCheck_2852_; +goto v_resetjp_2846_; +} +v_resetjp_2846_: +{ +lean_object* v___x_2850_; +if (v_isShared_2848_ == 0) +{ +v___x_2850_ = v___x_2847_; +goto v_reusejp_2849_; +} +else +{ +lean_object* v_reuseFailAlloc_2851_; +v_reuseFailAlloc_2851_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2851_, 0, v_a_2845_); +v___x_2850_ = v_reuseFailAlloc_2851_; +goto v_reusejp_2849_; +} +v_reusejp_2849_: +{ +return v___x_2850_; +} +} +} +} +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed(lean_object* v_pre_2853_, lean_object* v_post_2854_, lean_object* v_usedLetOnly_2855_, lean_object* v_skipConstInApp_2856_, lean_object* v_skipInstances_2857_, lean_object* v___x_2858_, lean_object* v___y_2859_, lean_object* v_b_2860_, lean_object* v_a_2861_, lean_object* v___y_2862_, lean_object* v___y_2863_, lean_object* v___y_2864_, lean_object* v___y_2865_, lean_object* v___y_2866_){ _start: { -lean_object* v___y_2867_; uint8_t v___x_2890_; -v___x_2890_ = lean_nat_dec_lt(v_a_2858_, v_upperBound_2851_); -if (v___x_2890_ == 0) +uint8_t v_usedLetOnly_boxed_2867_; uint8_t v_skipConstInApp_boxed_2868_; uint8_t v_skipInstances_boxed_2869_; lean_object* v_res_2870_; +v_usedLetOnly_boxed_2867_ = lean_unbox(v_usedLetOnly_2855_); +v_skipConstInApp_boxed_2868_ = lean_unbox(v_skipConstInApp_2856_); +v_skipInstances_boxed_2869_ = lean_unbox(v_skipInstances_2857_); +v_res_2870_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0(v_pre_2853_, v_post_2854_, v_usedLetOnly_boxed_2867_, v_skipConstInApp_boxed_2868_, v_skipInstances_boxed_2869_, v___x_2858_, v___y_2859_, v_b_2860_, v_a_2861_, v___y_2862_, v___y_2863_, v___y_2864_, v___y_2865_); +lean_dec(v___y_2865_); +lean_dec_ref(v___y_2864_); +lean_dec(v___y_2863_); +lean_dec_ref(v___y_2862_); +lean_dec(v_a_2861_); +lean_dec(v___y_2859_); +return v_res_2870_; +} +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(lean_object* v_upperBound_2871_, lean_object* v___x_2872_, lean_object* v_pre_2873_, lean_object* v_post_2874_, uint8_t v_usedLetOnly_2875_, uint8_t v_skipConstInApp_2876_, uint8_t v_skipInstances_2877_, lean_object* v_a_2878_, lean_object* v_b_2879_, lean_object* v___y_2880_, lean_object* v___y_2881_, lean_object* v___y_2882_, lean_object* v___y_2883_, lean_object* v___y_2884_){ +_start: { -lean_object* v___x_2891_; -lean_dec(v_a_2858_); -lean_dec_ref(v_post_2854_); -lean_dec_ref(v_pre_2853_); -v___x_2891_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_2891_, 0, v_b_2859_); -return v___x_2891_; +lean_object* v___y_2887_; uint8_t v___x_2910_; +v___x_2910_ = lean_nat_dec_lt(v_a_2878_, v_upperBound_2871_); +if (v___x_2910_ == 0) +{ +lean_object* v___x_2911_; +lean_dec(v_a_2878_); +lean_dec_ref(v_post_2874_); +lean_dec_ref(v_pre_2873_); +v___x_2911_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_2911_, 0, v_b_2879_); +return v___x_2911_; } else { -lean_object* v___x_2892_; lean_object* v___x_2893_; uint8_t v___x_2894_; -v___x_2892_ = lean_array_fget_borrowed(v_b_2859_, v_a_2858_); -v___x_2893_ = lean_array_get_size(v___x_2852_); -v___x_2894_ = lean_nat_dec_lt(v_a_2858_, v___x_2893_); -if (v___x_2894_ == 0) +lean_object* v___x_2912_; lean_object* v___x_2913_; uint8_t v___x_2914_; +v___x_2912_ = lean_array_fget_borrowed(v_b_2879_, v_a_2878_); +v___x_2913_ = lean_array_get_size(v___x_2872_); +v___x_2914_ = lean_nat_dec_lt(v_a_2878_, v___x_2913_); +if (v___x_2914_ == 0) { -lean_object* v___x_2895_; lean_object* v___x_2896_; lean_object* v___x_2897_; lean_object* v___f_2898_; -lean_inc(v___x_2892_); -v___x_2895_ = lean_box(v_usedLetOnly_2855_); -v___x_2896_ = lean_box(v_skipConstInApp_2856_); -v___x_2897_ = lean_box(v_skipInstances_2857_); -lean_inc(v_a_2858_); -lean_inc(v___y_2860_); -lean_inc_ref(v_post_2854_); -lean_inc_ref(v_pre_2853_); -v___f_2898_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed), 14, 9); -lean_closure_set(v___f_2898_, 0, v_pre_2853_); -lean_closure_set(v___f_2898_, 1, v_post_2854_); -lean_closure_set(v___f_2898_, 2, v___x_2895_); -lean_closure_set(v___f_2898_, 3, v___x_2896_); -lean_closure_set(v___f_2898_, 4, v___x_2897_); -lean_closure_set(v___f_2898_, 5, v___x_2892_); -lean_closure_set(v___f_2898_, 6, v___y_2860_); -lean_closure_set(v___f_2898_, 7, v_b_2859_); -lean_closure_set(v___f_2898_, 8, v_a_2858_); -v___y_2867_ = v___f_2898_; -goto v___jp_2866_; +lean_object* v___x_2915_; lean_object* v___x_2916_; lean_object* v___x_2917_; lean_object* v___f_2918_; +lean_inc(v___x_2912_); +v___x_2915_ = lean_box(v_usedLetOnly_2875_); +v___x_2916_ = lean_box(v_skipConstInApp_2876_); +v___x_2917_ = lean_box(v_skipInstances_2877_); +lean_inc(v_a_2878_); +lean_inc(v___y_2880_); +lean_inc_ref(v_post_2874_); +lean_inc_ref(v_pre_2873_); +v___f_2918_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed), 14, 9); +lean_closure_set(v___f_2918_, 0, v_pre_2873_); +lean_closure_set(v___f_2918_, 1, v_post_2874_); +lean_closure_set(v___f_2918_, 2, v___x_2915_); +lean_closure_set(v___f_2918_, 3, v___x_2916_); +lean_closure_set(v___f_2918_, 4, v___x_2917_); +lean_closure_set(v___f_2918_, 5, v___x_2912_); +lean_closure_set(v___f_2918_, 6, v___y_2880_); +lean_closure_set(v___f_2918_, 7, v_b_2879_); +lean_closure_set(v___f_2918_, 8, v_a_2878_); +v___y_2887_ = v___f_2918_; +goto v___jp_2886_; } else { -lean_object* v___x_2899_; uint8_t v_isInstance_2900_; -v___x_2899_ = lean_array_fget_borrowed(v___x_2852_, v_a_2858_); -v_isInstance_2900_ = lean_ctor_get_uint8(v___x_2899_, sizeof(void*)*1 + 4); -if (v_isInstance_2900_ == 0) +lean_object* v___x_2919_; uint8_t v_isInstance_2920_; +v___x_2919_ = lean_array_fget_borrowed(v___x_2872_, v_a_2878_); +v_isInstance_2920_ = lean_ctor_get_uint8(v___x_2919_, sizeof(void*)*1 + 4); +if (v_isInstance_2920_ == 0) { -lean_object* v___x_2901_; lean_object* v___x_2902_; lean_object* v___x_2903_; lean_object* v___f_2904_; -lean_inc(v___x_2892_); -v___x_2901_ = lean_box(v_usedLetOnly_2855_); -v___x_2902_ = lean_box(v_skipConstInApp_2856_); -v___x_2903_ = lean_box(v_skipInstances_2857_); -lean_inc(v_a_2858_); -lean_inc(v___y_2860_); -lean_inc_ref(v_post_2854_); -lean_inc_ref(v_pre_2853_); -v___f_2904_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed), 14, 9); -lean_closure_set(v___f_2904_, 0, v_pre_2853_); -lean_closure_set(v___f_2904_, 1, v_post_2854_); -lean_closure_set(v___f_2904_, 2, v___x_2901_); -lean_closure_set(v___f_2904_, 3, v___x_2902_); -lean_closure_set(v___f_2904_, 4, v___x_2903_); -lean_closure_set(v___f_2904_, 5, v___x_2892_); -lean_closure_set(v___f_2904_, 6, v___y_2860_); -lean_closure_set(v___f_2904_, 7, v_b_2859_); -lean_closure_set(v___f_2904_, 8, v_a_2858_); -v___y_2867_ = v___f_2904_; -goto v___jp_2866_; +lean_object* v___x_2921_; lean_object* v___x_2922_; lean_object* v___x_2923_; lean_object* v___f_2924_; +lean_inc(v___x_2912_); +v___x_2921_ = lean_box(v_usedLetOnly_2875_); +v___x_2922_ = lean_box(v_skipConstInApp_2876_); +v___x_2923_ = lean_box(v_skipInstances_2877_); +lean_inc(v_a_2878_); +lean_inc(v___y_2880_); +lean_inc_ref(v_post_2874_); +lean_inc_ref(v_pre_2873_); +v___f_2924_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__0___boxed), 14, 9); +lean_closure_set(v___f_2924_, 0, v_pre_2873_); +lean_closure_set(v___f_2924_, 1, v_post_2874_); +lean_closure_set(v___f_2924_, 2, v___x_2921_); +lean_closure_set(v___f_2924_, 3, v___x_2922_); +lean_closure_set(v___f_2924_, 4, v___x_2923_); +lean_closure_set(v___f_2924_, 5, v___x_2912_); +lean_closure_set(v___f_2924_, 6, v___y_2880_); +lean_closure_set(v___f_2924_, 7, v_b_2879_); +lean_closure_set(v___f_2924_, 8, v_a_2878_); +v___y_2887_ = v___f_2924_; +goto v___jp_2886_; } else { -lean_object* v___x_2905_; lean_object* v___f_2906_; -v___x_2905_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_2905_, 0, v_b_2859_); -v___f_2906_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2___boxed), 6, 1); -lean_closure_set(v___f_2906_, 0, v___x_2905_); -v___y_2867_ = v___f_2906_; -goto v___jp_2866_; +lean_object* v___x_2925_; lean_object* v___f_2926_; +v___x_2925_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_2925_, 0, v_b_2879_); +v___f_2926_ = lean_alloc_closure((void*)(l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___lam__2___boxed), 6, 1); +lean_closure_set(v___f_2926_, 0, v___x_2925_); +v___y_2887_ = v___f_2926_; +goto v___jp_2886_; } } } -v___jp_2866_: +v___jp_2886_: { -lean_object* v___x_2868_; -lean_inc(v___y_2864_); -lean_inc_ref(v___y_2863_); -lean_inc(v___y_2862_); -lean_inc_ref(v___y_2861_); -v___x_2868_ = lean_apply_5(v___y_2867_, v___y_2861_, v___y_2862_, v___y_2863_, v___y_2864_, lean_box(0)); -if (lean_obj_tag(v___x_2868_) == 0) +lean_object* v___x_2888_; +lean_inc(v___y_2884_); +lean_inc_ref(v___y_2883_); +lean_inc(v___y_2882_); +lean_inc_ref(v___y_2881_); +v___x_2888_ = lean_apply_5(v___y_2887_, v___y_2881_, v___y_2882_, v___y_2883_, v___y_2884_, lean_box(0)); +if (lean_obj_tag(v___x_2888_) == 0) { -lean_object* v_a_2869_; lean_object* v___x_2871_; uint8_t v_isShared_2872_; uint8_t v_isSharedCheck_2881_; -v_a_2869_ = lean_ctor_get(v___x_2868_, 0); -v_isSharedCheck_2881_ = !lean_is_exclusive(v___x_2868_); -if (v_isSharedCheck_2881_ == 0) +lean_object* v_a_2889_; lean_object* v___x_2891_; uint8_t v_isShared_2892_; uint8_t v_isSharedCheck_2901_; +v_a_2889_ = lean_ctor_get(v___x_2888_, 0); +v_isSharedCheck_2901_ = !lean_is_exclusive(v___x_2888_); +if (v_isSharedCheck_2901_ == 0) { -v___x_2871_ = v___x_2868_; -v_isShared_2872_ = v_isSharedCheck_2881_; -goto v_resetjp_2870_; +v___x_2891_ = v___x_2888_; +v_isShared_2892_ = v_isSharedCheck_2901_; +goto v_resetjp_2890_; } else { -lean_inc(v_a_2869_); -lean_dec(v___x_2868_); -v___x_2871_ = lean_box(0); -v_isShared_2872_ = v_isSharedCheck_2881_; -goto v_resetjp_2870_; +lean_inc(v_a_2889_); +lean_dec(v___x_2888_); +v___x_2891_ = lean_box(0); +v_isShared_2892_ = v_isSharedCheck_2901_; +goto v_resetjp_2890_; } -v_resetjp_2870_: +v_resetjp_2890_: { -if (lean_obj_tag(v_a_2869_) == 0) +if (lean_obj_tag(v_a_2889_) == 0) { -lean_object* v_a_2873_; lean_object* v___x_2875_; -lean_dec(v_a_2858_); -lean_dec_ref(v_post_2854_); -lean_dec_ref(v_pre_2853_); -v_a_2873_ = lean_ctor_get(v_a_2869_, 0); -lean_inc(v_a_2873_); -lean_dec_ref(v_a_2869_); -if (v_isShared_2872_ == 0) +lean_object* v_a_2893_; lean_object* v___x_2895_; +lean_dec(v_a_2878_); +lean_dec_ref(v_post_2874_); +lean_dec_ref(v_pre_2873_); +v_a_2893_ = lean_ctor_get(v_a_2889_, 0); +lean_inc(v_a_2893_); +lean_dec_ref(v_a_2889_); +if (v_isShared_2892_ == 0) { -lean_ctor_set(v___x_2871_, 0, v_a_2873_); -v___x_2875_ = v___x_2871_; -goto v_reusejp_2874_; +lean_ctor_set(v___x_2891_, 0, v_a_2893_); +v___x_2895_ = v___x_2891_; +goto v_reusejp_2894_; } else { -lean_object* v_reuseFailAlloc_2876_; -v_reuseFailAlloc_2876_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2876_, 0, v_a_2873_); -v___x_2875_ = v_reuseFailAlloc_2876_; -goto v_reusejp_2874_; +lean_object* v_reuseFailAlloc_2896_; +v_reuseFailAlloc_2896_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2896_, 0, v_a_2893_); +v___x_2895_ = v_reuseFailAlloc_2896_; +goto v_reusejp_2894_; } -v_reusejp_2874_: +v_reusejp_2894_: { -return v___x_2875_; +return v___x_2895_; } } else { -lean_object* v_a_2877_; lean_object* v___x_2878_; lean_object* v___x_2879_; -lean_del_object(v___x_2871_); -v_a_2877_ = lean_ctor_get(v_a_2869_, 0); -lean_inc(v_a_2877_); -lean_dec_ref(v_a_2869_); -v___x_2878_ = lean_unsigned_to_nat(1u); -v___x_2879_ = lean_nat_add(v_a_2858_, v___x_2878_); -lean_dec(v_a_2858_); -v_a_2858_ = v___x_2879_; -v_b_2859_ = v_a_2877_; +lean_object* v_a_2897_; lean_object* v___x_2898_; lean_object* v___x_2899_; +lean_del_object(v___x_2891_); +v_a_2897_ = lean_ctor_get(v_a_2889_, 0); +lean_inc(v_a_2897_); +lean_dec_ref(v_a_2889_); +v___x_2898_ = lean_unsigned_to_nat(1u); +v___x_2899_ = lean_nat_add(v_a_2878_, v___x_2898_); +lean_dec(v_a_2878_); +v_a_2878_ = v___x_2899_; +v_b_2879_ = v_a_2897_; goto _start; } } } else { -lean_object* v_a_2882_; lean_object* v___x_2884_; uint8_t v_isShared_2885_; uint8_t v_isSharedCheck_2889_; -lean_dec(v_a_2858_); -lean_dec_ref(v_post_2854_); -lean_dec_ref(v_pre_2853_); -v_a_2882_ = lean_ctor_get(v___x_2868_, 0); -v_isSharedCheck_2889_ = !lean_is_exclusive(v___x_2868_); -if (v_isSharedCheck_2889_ == 0) +lean_object* v_a_2902_; lean_object* v___x_2904_; uint8_t v_isShared_2905_; uint8_t v_isSharedCheck_2909_; +lean_dec(v_a_2878_); +lean_dec_ref(v_post_2874_); +lean_dec_ref(v_pre_2873_); +v_a_2902_ = lean_ctor_get(v___x_2888_, 0); +v_isSharedCheck_2909_ = !lean_is_exclusive(v___x_2888_); +if (v_isSharedCheck_2909_ == 0) { -v___x_2884_ = v___x_2868_; -v_isShared_2885_ = v_isSharedCheck_2889_; -goto v_resetjp_2883_; +v___x_2904_ = v___x_2888_; +v_isShared_2905_ = v_isSharedCheck_2909_; +goto v_resetjp_2903_; } else { -lean_inc(v_a_2882_); -lean_dec(v___x_2868_); -v___x_2884_ = lean_box(0); -v_isShared_2885_ = v_isSharedCheck_2889_; -goto v_resetjp_2883_; +lean_inc(v_a_2902_); +lean_dec(v___x_2888_); +v___x_2904_ = lean_box(0); +v_isShared_2905_ = v_isSharedCheck_2909_; +goto v_resetjp_2903_; } -v_resetjp_2883_: +v_resetjp_2903_: { -lean_object* v___x_2887_; -if (v_isShared_2885_ == 0) +lean_object* v___x_2907_; +if (v_isShared_2905_ == 0) { -v___x_2887_ = v___x_2884_; -goto v_reusejp_2886_; +v___x_2907_ = v___x_2904_; +goto v_reusejp_2906_; } else { -lean_object* v_reuseFailAlloc_2888_; -v_reuseFailAlloc_2888_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2888_, 0, v_a_2882_); -v___x_2887_ = v_reuseFailAlloc_2888_; -goto v_reusejp_2886_; +lean_object* v_reuseFailAlloc_2908_; +v_reuseFailAlloc_2908_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2908_, 0, v_a_2902_); +v___x_2907_ = v_reuseFailAlloc_2908_; +goto v_reusejp_2906_; } -v_reusejp_2886_: +v_reusejp_2906_: { -return v___x_2887_; +return v___x_2907_; } } } } } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(uint8_t v_skipInstances_2907_, lean_object* v_pre_2908_, lean_object* v_post_2909_, uint8_t v_usedLetOnly_2910_, uint8_t v_skipConstInApp_2911_, lean_object* v_x_2912_, lean_object* v_x_2913_, lean_object* v_x_2914_, lean_object* v___y_2915_, lean_object* v___y_2916_, lean_object* v___y_2917_, lean_object* v___y_2918_, lean_object* v___y_2919_){ +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(uint8_t v_skipInstances_2927_, lean_object* v_pre_2928_, lean_object* v_post_2929_, uint8_t v_usedLetOnly_2930_, uint8_t v_skipConstInApp_2931_, lean_object* v_x_2932_, lean_object* v_x_2933_, lean_object* v_x_2934_, lean_object* v___y_2935_, lean_object* v___y_2936_, lean_object* v___y_2937_, lean_object* v___y_2938_, lean_object* v___y_2939_){ _start: { -lean_object* v_f_2922_; lean_object* v___y_2923_; lean_object* v___y_2924_; lean_object* v___y_2925_; lean_object* v___y_2926_; lean_object* v___y_2927_; -if (lean_obj_tag(v_x_2912_) == 5) +lean_object* v_f_2942_; lean_object* v___y_2943_; lean_object* v___y_2944_; lean_object* v___y_2945_; lean_object* v___y_2946_; lean_object* v___y_2947_; +if (lean_obj_tag(v_x_2932_) == 5) { -lean_object* v_fn_2970_; lean_object* v_arg_2971_; lean_object* v___x_2972_; lean_object* v___x_2973_; lean_object* v___x_2974_; -v_fn_2970_ = lean_ctor_get(v_x_2912_, 0); -lean_inc_ref(v_fn_2970_); -v_arg_2971_ = lean_ctor_get(v_x_2912_, 1); -lean_inc_ref(v_arg_2971_); -lean_dec_ref(v_x_2912_); -v___x_2972_ = lean_array_set(v_x_2913_, v_x_2914_, v_arg_2971_); -v___x_2973_ = lean_unsigned_to_nat(1u); -v___x_2974_ = lean_nat_sub(v_x_2914_, v___x_2973_); -lean_dec(v_x_2914_); -v_x_2912_ = v_fn_2970_; -v_x_2913_ = v___x_2972_; -v_x_2914_ = v___x_2974_; +lean_object* v_fn_2990_; lean_object* v_arg_2991_; lean_object* v___x_2992_; lean_object* v___x_2993_; lean_object* v___x_2994_; +v_fn_2990_ = lean_ctor_get(v_x_2932_, 0); +lean_inc_ref(v_fn_2990_); +v_arg_2991_ = lean_ctor_get(v_x_2932_, 1); +lean_inc_ref(v_arg_2991_); +lean_dec_ref(v_x_2932_); +v___x_2992_ = lean_array_set(v_x_2933_, v_x_2934_, v_arg_2991_); +v___x_2993_ = lean_unsigned_to_nat(1u); +v___x_2994_ = lean_nat_sub(v_x_2934_, v___x_2993_); +lean_dec(v_x_2934_); +v_x_2932_ = v_fn_2990_; +v_x_2933_ = v___x_2992_; +v_x_2934_ = v___x_2994_; goto _start; } else { -lean_dec(v_x_2914_); -if (v_skipConstInApp_2911_ == 0) +lean_dec(v_x_2934_); +if (v_skipConstInApp_2931_ == 0) { -goto v___jp_2967_; +goto v___jp_2987_; } else { -uint8_t v___x_2976_; -v___x_2976_ = l_Lean_Expr_isConst(v_x_2912_); -if (v___x_2976_ == 0) +uint8_t v___x_2996_; +v___x_2996_ = l_Lean_Expr_isConst(v_x_2932_); +if (v___x_2996_ == 0) { -goto v___jp_2967_; +goto v___jp_2987_; } else { -v_f_2922_ = v_x_2912_; -v___y_2923_ = v___y_2915_; -v___y_2924_ = v___y_2916_; -v___y_2925_ = v___y_2917_; -v___y_2926_ = v___y_2918_; -v___y_2927_ = v___y_2919_; -goto v___jp_2921_; +v_f_2942_ = v_x_2932_; +v___y_2943_ = v___y_2935_; +v___y_2944_ = v___y_2936_; +v___y_2945_ = v___y_2937_; +v___y_2946_ = v___y_2938_; +v___y_2947_ = v___y_2939_; +goto v___jp_2941_; } } } -v___jp_2921_: +v___jp_2941_: { -if (v_skipInstances_2907_ == 0) +if (v_skipInstances_2927_ == 0) { -size_t v_sz_2928_; size_t v___x_2929_; lean_object* v___x_2930_; -v_sz_2928_ = lean_array_size(v_x_2913_); -v___x_2929_ = ((size_t)0ULL); -lean_inc_ref(v_post_2909_); -lean_inc_ref(v_pre_2908_); -v___x_2930_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(v_pre_2908_, v_post_2909_, v_usedLetOnly_2910_, v_skipConstInApp_2911_, v_skipInstances_2907_, v_sz_2928_, v___x_2929_, v_x_2913_, v___y_2923_, v___y_2924_, v___y_2925_, v___y_2926_, v___y_2927_); -if (lean_obj_tag(v___x_2930_) == 0) -{ -lean_object* v_a_2931_; lean_object* v___x_2932_; lean_object* v___x_2933_; -v_a_2931_ = lean_ctor_get(v___x_2930_, 0); -lean_inc(v_a_2931_); -lean_dec_ref(v___x_2930_); -v___x_2932_ = l_Lean_mkAppN(v_f_2922_, v_a_2931_); -lean_dec(v_a_2931_); -v___x_2933_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2908_, v_post_2909_, v_usedLetOnly_2910_, v_skipConstInApp_2911_, v_skipInstances_2907_, v___x_2932_, v___y_2923_, v___y_2924_, v___y_2925_, v___y_2926_, v___y_2927_); -return v___x_2933_; -} -else -{ -lean_object* v_a_2934_; lean_object* v___x_2936_; uint8_t v_isShared_2937_; uint8_t v_isSharedCheck_2941_; -lean_dec_ref(v_f_2922_); -lean_dec_ref(v_post_2909_); -lean_dec_ref(v_pre_2908_); -v_a_2934_ = lean_ctor_get(v___x_2930_, 0); -v_isSharedCheck_2941_ = !lean_is_exclusive(v___x_2930_); -if (v_isSharedCheck_2941_ == 0) -{ -v___x_2936_ = v___x_2930_; -v_isShared_2937_ = v_isSharedCheck_2941_; -goto v_resetjp_2935_; -} -else -{ -lean_inc(v_a_2934_); -lean_dec(v___x_2930_); -v___x_2936_ = lean_box(0); -v_isShared_2937_ = v_isSharedCheck_2941_; -goto v_resetjp_2935_; -} -v_resetjp_2935_: -{ -lean_object* v___x_2939_; -if (v_isShared_2937_ == 0) -{ -v___x_2939_ = v___x_2936_; -goto v_reusejp_2938_; -} -else -{ -lean_object* v_reuseFailAlloc_2940_; -v_reuseFailAlloc_2940_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2940_, 0, v_a_2934_); -v___x_2939_ = v_reuseFailAlloc_2940_; -goto v_reusejp_2938_; -} -v_reusejp_2938_: -{ -return v___x_2939_; -} -} -} -} -else -{ -lean_object* v___x_2942_; lean_object* v___x_2943_; -v___x_2942_ = lean_array_get_size(v_x_2913_); -lean_inc_ref(v_f_2922_); -v___x_2943_ = l_Lean_Meta_getFunInfoNArgs(v_f_2922_, v___x_2942_, v___y_2924_, v___y_2925_, v___y_2926_, v___y_2927_); -if (lean_obj_tag(v___x_2943_) == 0) -{ -lean_object* v_a_2944_; lean_object* v_paramInfo_2945_; lean_object* v___x_2946_; lean_object* v___x_2947_; -v_a_2944_ = lean_ctor_get(v___x_2943_, 0); -lean_inc(v_a_2944_); -lean_dec_ref(v___x_2943_); -v_paramInfo_2945_ = lean_ctor_get(v_a_2944_, 0); -lean_inc_ref(v_paramInfo_2945_); -lean_dec(v_a_2944_); -v___x_2946_ = lean_unsigned_to_nat(0u); -lean_inc_ref(v_post_2909_); -lean_inc_ref(v_pre_2908_); -v___x_2947_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v___x_2942_, v_paramInfo_2945_, v_pre_2908_, v_post_2909_, v_usedLetOnly_2910_, v_skipConstInApp_2911_, v_skipInstances_2907_, v___x_2946_, v_x_2913_, v___y_2923_, v___y_2924_, v___y_2925_, v___y_2926_, v___y_2927_); -lean_dec_ref(v_paramInfo_2945_); -if (lean_obj_tag(v___x_2947_) == 0) -{ -lean_object* v_a_2948_; lean_object* v___x_2949_; lean_object* v___x_2950_; -v_a_2948_ = lean_ctor_get(v___x_2947_, 0); -lean_inc(v_a_2948_); -lean_dec_ref(v___x_2947_); -v___x_2949_ = l_Lean_mkAppN(v_f_2922_, v_a_2948_); -lean_dec(v_a_2948_); -v___x_2950_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2908_, v_post_2909_, v_usedLetOnly_2910_, v_skipConstInApp_2911_, v_skipInstances_2907_, v___x_2949_, v___y_2923_, v___y_2924_, v___y_2925_, v___y_2926_, v___y_2927_); -return v___x_2950_; -} -else -{ -lean_object* v_a_2951_; lean_object* v___x_2953_; uint8_t v_isShared_2954_; uint8_t v_isSharedCheck_2958_; -lean_dec_ref(v_f_2922_); -lean_dec_ref(v_post_2909_); -lean_dec_ref(v_pre_2908_); -v_a_2951_ = lean_ctor_get(v___x_2947_, 0); -v_isSharedCheck_2958_ = !lean_is_exclusive(v___x_2947_); -if (v_isSharedCheck_2958_ == 0) -{ -v___x_2953_ = v___x_2947_; -v_isShared_2954_ = v_isSharedCheck_2958_; -goto v_resetjp_2952_; -} -else +size_t v_sz_2948_; size_t v___x_2949_; lean_object* v___x_2950_; +v_sz_2948_ = lean_array_size(v_x_2933_); +v___x_2949_ = ((size_t)0ULL); +lean_inc_ref(v_post_2929_); +lean_inc_ref(v_pre_2928_); +v___x_2950_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(v_pre_2928_, v_post_2929_, v_usedLetOnly_2930_, v_skipConstInApp_2931_, v_skipInstances_2927_, v_sz_2948_, v___x_2949_, v_x_2933_, v___y_2943_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_); +if (lean_obj_tag(v___x_2950_) == 0) { +lean_object* v_a_2951_; lean_object* v___x_2952_; lean_object* v___x_2953_; +v_a_2951_ = lean_ctor_get(v___x_2950_, 0); lean_inc(v_a_2951_); -lean_dec(v___x_2947_); -v___x_2953_ = lean_box(0); -v_isShared_2954_ = v_isSharedCheck_2958_; -goto v_resetjp_2952_; -} -v_resetjp_2952_: -{ -lean_object* v___x_2956_; -if (v_isShared_2954_ == 0) -{ -v___x_2956_ = v___x_2953_; -goto v_reusejp_2955_; +lean_dec_ref(v___x_2950_); +v___x_2952_ = l_Lean_mkAppN(v_f_2942_, v_a_2951_); +lean_dec(v_a_2951_); +v___x_2953_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2928_, v_post_2929_, v_usedLetOnly_2930_, v_skipConstInApp_2931_, v_skipInstances_2927_, v___x_2952_, v___y_2943_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_); +return v___x_2953_; } else { -lean_object* v_reuseFailAlloc_2957_; -v_reuseFailAlloc_2957_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2957_, 0, v_a_2951_); -v___x_2956_ = v_reuseFailAlloc_2957_; -goto v_reusejp_2955_; -} -v_reusejp_2955_: +lean_object* v_a_2954_; lean_object* v___x_2956_; uint8_t v_isShared_2957_; uint8_t v_isSharedCheck_2961_; +lean_dec_ref(v_f_2942_); +lean_dec_ref(v_post_2929_); +lean_dec_ref(v_pre_2928_); +v_a_2954_ = lean_ctor_get(v___x_2950_, 0); +v_isSharedCheck_2961_ = !lean_is_exclusive(v___x_2950_); +if (v_isSharedCheck_2961_ == 0) { -return v___x_2956_; +v___x_2956_ = v___x_2950_; +v_isShared_2957_ = v_isSharedCheck_2961_; +goto v_resetjp_2955_; +} +else +{ +lean_inc(v_a_2954_); +lean_dec(v___x_2950_); +v___x_2956_ = lean_box(0); +v_isShared_2957_ = v_isSharedCheck_2961_; +goto v_resetjp_2955_; +} +v_resetjp_2955_: +{ +lean_object* v___x_2959_; +if (v_isShared_2957_ == 0) +{ +v___x_2959_ = v___x_2956_; +goto v_reusejp_2958_; +} +else +{ +lean_object* v_reuseFailAlloc_2960_; +v_reuseFailAlloc_2960_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2960_, 0, v_a_2954_); +v___x_2959_ = v_reuseFailAlloc_2960_; +goto v_reusejp_2958_; +} +v_reusejp_2958_: +{ +return v___x_2959_; } } } } else { -lean_object* v_a_2959_; lean_object* v___x_2961_; uint8_t v_isShared_2962_; uint8_t v_isSharedCheck_2966_; -lean_dec_ref(v_f_2922_); -lean_dec_ref(v_x_2913_); -lean_dec_ref(v_post_2909_); -lean_dec_ref(v_pre_2908_); -v_a_2959_ = lean_ctor_get(v___x_2943_, 0); -v_isSharedCheck_2966_ = !lean_is_exclusive(v___x_2943_); -if (v_isSharedCheck_2966_ == 0) +lean_object* v___x_2962_; lean_object* v___x_2963_; +v___x_2962_ = lean_array_get_size(v_x_2933_); +lean_inc_ref(v_f_2942_); +v___x_2963_ = l_Lean_Meta_getFunInfoNArgs(v_f_2942_, v___x_2962_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_); +if (lean_obj_tag(v___x_2963_) == 0) { -v___x_2961_ = v___x_2943_; -v_isShared_2962_ = v_isSharedCheck_2966_; -goto v_resetjp_2960_; +lean_object* v_a_2964_; lean_object* v_paramInfo_2965_; lean_object* v___x_2966_; lean_object* v___x_2967_; +v_a_2964_ = lean_ctor_get(v___x_2963_, 0); +lean_inc(v_a_2964_); +lean_dec_ref(v___x_2963_); +v_paramInfo_2965_ = lean_ctor_get(v_a_2964_, 0); +lean_inc_ref(v_paramInfo_2965_); +lean_dec(v_a_2964_); +v___x_2966_ = lean_unsigned_to_nat(0u); +lean_inc_ref(v_post_2929_); +lean_inc_ref(v_pre_2928_); +v___x_2967_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v___x_2962_, v_paramInfo_2965_, v_pre_2928_, v_post_2929_, v_usedLetOnly_2930_, v_skipConstInApp_2931_, v_skipInstances_2927_, v___x_2966_, v_x_2933_, v___y_2943_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_); +lean_dec_ref(v_paramInfo_2965_); +if (lean_obj_tag(v___x_2967_) == 0) +{ +lean_object* v_a_2968_; lean_object* v___x_2969_; lean_object* v___x_2970_; +v_a_2968_ = lean_ctor_get(v___x_2967_, 0); +lean_inc(v_a_2968_); +lean_dec_ref(v___x_2967_); +v___x_2969_ = l_Lean_mkAppN(v_f_2942_, v_a_2968_); +lean_dec(v_a_2968_); +v___x_2970_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2928_, v_post_2929_, v_usedLetOnly_2930_, v_skipConstInApp_2931_, v_skipInstances_2927_, v___x_2969_, v___y_2943_, v___y_2944_, v___y_2945_, v___y_2946_, v___y_2947_); +return v___x_2970_; } else { -lean_inc(v_a_2959_); -lean_dec(v___x_2943_); -v___x_2961_ = lean_box(0); -v_isShared_2962_ = v_isSharedCheck_2966_; -goto v_resetjp_2960_; -} -v_resetjp_2960_: +lean_object* v_a_2971_; lean_object* v___x_2973_; uint8_t v_isShared_2974_; uint8_t v_isSharedCheck_2978_; +lean_dec_ref(v_f_2942_); +lean_dec_ref(v_post_2929_); +lean_dec_ref(v_pre_2928_); +v_a_2971_ = lean_ctor_get(v___x_2967_, 0); +v_isSharedCheck_2978_ = !lean_is_exclusive(v___x_2967_); +if (v_isSharedCheck_2978_ == 0) { -lean_object* v___x_2964_; -if (v_isShared_2962_ == 0) -{ -v___x_2964_ = v___x_2961_; -goto v_reusejp_2963_; +v___x_2973_ = v___x_2967_; +v_isShared_2974_ = v_isSharedCheck_2978_; +goto v_resetjp_2972_; } else { -lean_object* v_reuseFailAlloc_2965_; -v_reuseFailAlloc_2965_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_2965_, 0, v_a_2959_); -v___x_2964_ = v_reuseFailAlloc_2965_; -goto v_reusejp_2963_; +lean_inc(v_a_2971_); +lean_dec(v___x_2967_); +v___x_2973_ = lean_box(0); +v_isShared_2974_ = v_isSharedCheck_2978_; +goto v_resetjp_2972_; } -v_reusejp_2963_: +v_resetjp_2972_: { -return v___x_2964_; -} -} -} -} -} -v___jp_2967_: +lean_object* v___x_2976_; +if (v_isShared_2974_ == 0) { -lean_object* v___x_2968_; -lean_inc_ref(v_post_2909_); -lean_inc_ref(v_pre_2908_); -v___x_2968_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2908_, v_post_2909_, v_usedLetOnly_2910_, v_skipConstInApp_2911_, v_skipInstances_2907_, v_x_2912_, v___y_2915_, v___y_2916_, v___y_2917_, v___y_2918_, v___y_2919_); -if (lean_obj_tag(v___x_2968_) == 0) -{ -lean_object* v_a_2969_; -v_a_2969_ = lean_ctor_get(v___x_2968_, 0); -lean_inc(v_a_2969_); -lean_dec_ref(v___x_2968_); -v_f_2922_ = v_a_2969_; -v___y_2923_ = v___y_2915_; -v___y_2924_ = v___y_2916_; -v___y_2925_ = v___y_2917_; -v___y_2926_ = v___y_2918_; -v___y_2927_ = v___y_2919_; -goto v___jp_2921_; +v___x_2976_ = v___x_2973_; +goto v_reusejp_2975_; } else { -lean_dec_ref(v_x_2913_); -lean_dec_ref(v_post_2909_); -lean_dec_ref(v_pre_2908_); -return v___x_2968_; +lean_object* v_reuseFailAlloc_2977_; +v_reuseFailAlloc_2977_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2977_, 0, v_a_2971_); +v___x_2976_ = v_reuseFailAlloc_2977_; +goto v_reusejp_2975_; +} +v_reusejp_2975_: +{ +return v___x_2976_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1(lean_object* v_pre_2977_, lean_object* v_e_2978_, lean_object* v_post_2979_, uint8_t v_usedLetOnly_2980_, uint8_t v_skipConstInApp_2981_, uint8_t v_skipInstances_2982_, lean_object* v___y_2983_, lean_object* v___y_2984_, lean_object* v___y_2985_, lean_object* v___y_2986_, lean_object* v___y_2987_){ +else +{ +lean_object* v_a_2979_; lean_object* v___x_2981_; uint8_t v_isShared_2982_; uint8_t v_isSharedCheck_2986_; +lean_dec_ref(v_f_2942_); +lean_dec_ref(v_x_2933_); +lean_dec_ref(v_post_2929_); +lean_dec_ref(v_pre_2928_); +v_a_2979_ = lean_ctor_get(v___x_2963_, 0); +v_isSharedCheck_2986_ = !lean_is_exclusive(v___x_2963_); +if (v_isSharedCheck_2986_ == 0) +{ +v___x_2981_ = v___x_2963_; +v_isShared_2982_ = v_isSharedCheck_2986_; +goto v_resetjp_2980_; +} +else +{ +lean_inc(v_a_2979_); +lean_dec(v___x_2963_); +v___x_2981_ = lean_box(0); +v_isShared_2982_ = v_isSharedCheck_2986_; +goto v_resetjp_2980_; +} +v_resetjp_2980_: +{ +lean_object* v___x_2984_; +if (v_isShared_2982_ == 0) +{ +v___x_2984_ = v___x_2981_; +goto v_reusejp_2983_; +} +else +{ +lean_object* v_reuseFailAlloc_2985_; +v_reuseFailAlloc_2985_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_2985_, 0, v_a_2979_); +v___x_2984_ = v_reuseFailAlloc_2985_; +goto v_reusejp_2983_; +} +v_reusejp_2983_: +{ +return v___x_2984_; +} +} +} +} +} +v___jp_2987_: +{ +lean_object* v___x_2988_; +lean_inc_ref(v_post_2929_); +lean_inc_ref(v_pre_2928_); +v___x_2988_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2928_, v_post_2929_, v_usedLetOnly_2930_, v_skipConstInApp_2931_, v_skipInstances_2927_, v_x_2932_, v___y_2935_, v___y_2936_, v___y_2937_, v___y_2938_, v___y_2939_); +if (lean_obj_tag(v___x_2988_) == 0) +{ +lean_object* v_a_2989_; +v_a_2989_ = lean_ctor_get(v___x_2988_, 0); +lean_inc(v_a_2989_); +lean_dec_ref(v___x_2988_); +v_f_2942_ = v_a_2989_; +v___y_2943_ = v___y_2935_; +v___y_2944_ = v___y_2936_; +v___y_2945_ = v___y_2937_; +v___y_2946_ = v___y_2938_; +v___y_2947_ = v___y_2939_; +goto v___jp_2941_; +} +else +{ +lean_dec_ref(v_x_2933_); +lean_dec_ref(v_post_2929_); +lean_dec_ref(v_pre_2928_); +return v___x_2988_; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1(lean_object* v_pre_2997_, lean_object* v_e_2998_, lean_object* v_post_2999_, uint8_t v_usedLetOnly_3000_, uint8_t v_skipConstInApp_3001_, uint8_t v_skipInstances_3002_, lean_object* v___y_3003_, lean_object* v___y_3004_, lean_object* v___y_3005_, lean_object* v___y_3006_, lean_object* v___y_3007_){ _start: { -lean_object* v___x_2989_; -lean_inc_ref(v_pre_2977_); -lean_inc(v___y_2987_); -lean_inc_ref(v___y_2986_); -lean_inc(v___y_2985_); -lean_inc_ref(v___y_2984_); -lean_inc_ref(v_e_2978_); -v___x_2989_ = lean_apply_6(v_pre_2977_, v_e_2978_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_, lean_box(0)); -if (lean_obj_tag(v___x_2989_) == 0) +lean_object* v___x_3009_; +lean_inc_ref(v_pre_2997_); +lean_inc(v___y_3007_); +lean_inc_ref(v___y_3006_); +lean_inc(v___y_3005_); +lean_inc_ref(v___y_3004_); +lean_inc_ref(v_e_2998_); +v___x_3009_ = lean_apply_6(v_pre_2997_, v_e_2998_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_, lean_box(0)); +if (lean_obj_tag(v___x_3009_) == 0) { -lean_object* v_a_2990_; lean_object* v___x_2992_; uint8_t v_isShared_2993_; uint8_t v_isSharedCheck_3038_; -v_a_2990_ = lean_ctor_get(v___x_2989_, 0); -v_isSharedCheck_3038_ = !lean_is_exclusive(v___x_2989_); -if (v_isSharedCheck_3038_ == 0) +lean_object* v_a_3010_; lean_object* v___x_3012_; uint8_t v_isShared_3013_; uint8_t v_isSharedCheck_3058_; +v_a_3010_ = lean_ctor_get(v___x_3009_, 0); +v_isSharedCheck_3058_ = !lean_is_exclusive(v___x_3009_); +if (v_isSharedCheck_3058_ == 0) { -v___x_2992_ = v___x_2989_; -v_isShared_2993_ = v_isSharedCheck_3038_; -goto v_resetjp_2991_; +v___x_3012_ = v___x_3009_; +v_isShared_3013_ = v_isSharedCheck_3058_; +goto v_resetjp_3011_; } else { -lean_inc(v_a_2990_); -lean_dec(v___x_2989_); -v___x_2992_ = lean_box(0); -v_isShared_2993_ = v_isSharedCheck_3038_; -goto v_resetjp_2991_; +lean_inc(v_a_3010_); +lean_dec(v___x_3009_); +v___x_3012_ = lean_box(0); +v_isShared_3013_ = v_isSharedCheck_3058_; +goto v_resetjp_3011_; } -v_resetjp_2991_: +v_resetjp_3011_: { -lean_object* v___y_2995_; -switch(lean_obj_tag(v_a_2990_)) +lean_object* v___y_3015_; +switch(lean_obj_tag(v_a_3010_)) { case 0: { -lean_object* v_e_3030_; lean_object* v___x_3032_; -lean_dec_ref(v_post_2979_); -lean_dec_ref(v_e_2978_); -lean_dec_ref(v_pre_2977_); -v_e_3030_ = lean_ctor_get(v_a_2990_, 0); -lean_inc_ref(v_e_3030_); -lean_dec_ref(v_a_2990_); -if (v_isShared_2993_ == 0) +lean_object* v_e_3050_; lean_object* v___x_3052_; +lean_dec_ref(v_post_2999_); +lean_dec_ref(v_e_2998_); +lean_dec_ref(v_pre_2997_); +v_e_3050_ = lean_ctor_get(v_a_3010_, 0); +lean_inc_ref(v_e_3050_); +lean_dec_ref(v_a_3010_); +if (v_isShared_3013_ == 0) { -lean_ctor_set(v___x_2992_, 0, v_e_3030_); -v___x_3032_ = v___x_2992_; -goto v_reusejp_3031_; +lean_ctor_set(v___x_3012_, 0, v_e_3050_); +v___x_3052_ = v___x_3012_; +goto v_reusejp_3051_; } else { -lean_object* v_reuseFailAlloc_3033_; -v_reuseFailAlloc_3033_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3033_, 0, v_e_3030_); -v___x_3032_ = v_reuseFailAlloc_3033_; -goto v_reusejp_3031_; +lean_object* v_reuseFailAlloc_3053_; +v_reuseFailAlloc_3053_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3053_, 0, v_e_3050_); +v___x_3052_ = v_reuseFailAlloc_3053_; +goto v_reusejp_3051_; } -v_reusejp_3031_: +v_reusejp_3051_: { -return v___x_3032_; +return v___x_3052_; } } case 1: { -lean_object* v_e_3034_; lean_object* v___x_3035_; -lean_del_object(v___x_2992_); -lean_dec_ref(v_e_2978_); -v_e_3034_ = lean_ctor_get(v_a_2990_, 0); -lean_inc_ref(v_e_3034_); -lean_dec_ref(v_a_2990_); -v___x_3035_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v_e_3034_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3035_; +lean_object* v_e_3054_; lean_object* v___x_3055_; +lean_del_object(v___x_3012_); +lean_dec_ref(v_e_2998_); +v_e_3054_ = lean_ctor_get(v_a_3010_, 0); +lean_inc_ref(v_e_3054_); +lean_dec_ref(v_a_3010_); +v___x_3055_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v_e_3054_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3055_; } default: { -lean_object* v_e_x3f_3036_; -lean_del_object(v___x_2992_); -v_e_x3f_3036_ = lean_ctor_get(v_a_2990_, 0); -lean_inc(v_e_x3f_3036_); -lean_dec_ref(v_a_2990_); -if (lean_obj_tag(v_e_x3f_3036_) == 0) +lean_object* v_e_x3f_3056_; +lean_del_object(v___x_3012_); +v_e_x3f_3056_ = lean_ctor_get(v_a_3010_, 0); +lean_inc(v_e_x3f_3056_); +lean_dec_ref(v_a_3010_); +if (lean_obj_tag(v_e_x3f_3056_) == 0) { -v___y_2995_ = v_e_2978_; -goto v___jp_2994_; +v___y_3015_ = v_e_2998_; +goto v___jp_3014_; } else { -lean_object* v_val_3037_; -lean_dec_ref(v_e_2978_); -v_val_3037_ = lean_ctor_get(v_e_x3f_3036_, 0); -lean_inc(v_val_3037_); -lean_dec_ref(v_e_x3f_3036_); -v___y_2995_ = v_val_3037_; -goto v___jp_2994_; +lean_object* v_val_3057_; +lean_dec_ref(v_e_2998_); +v_val_3057_ = lean_ctor_get(v_e_x3f_3056_, 0); +lean_inc(v_val_3057_); +lean_dec_ref(v_e_x3f_3056_); +v___y_3015_ = v_val_3057_; +goto v___jp_3014_; } } } -v___jp_2994_: +v___jp_3014_: { -switch(lean_obj_tag(v___y_2995_)) +switch(lean_obj_tag(v___y_3015_)) { case 7: { -lean_object* v___x_2996_; lean_object* v___x_2997_; -v___x_2996_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); -v___x_2997_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___x_2996_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_2997_; +lean_object* v___x_3016_; lean_object* v___x_3017_; +v___x_3016_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); +v___x_3017_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___x_3016_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3017_; } case 6: { -lean_object* v___x_2998_; lean_object* v___x_2999_; -v___x_2998_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); -v___x_2999_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___x_2998_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_2999_; +lean_object* v___x_3018_; lean_object* v___x_3019_; +v___x_3018_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); +v___x_3019_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___x_3018_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3019_; } case 8: { -lean_object* v___x_3000_; lean_object* v___x_3001_; -v___x_3000_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); -v___x_3001_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___x_3000_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3001_; +lean_object* v___x_3020_; lean_object* v___x_3021_; +v___x_3020_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg___closed__0)); +v___x_3021_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___x_3020_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3021_; } case 5: { -lean_object* v_dummy_3002_; lean_object* v_nargs_3003_; lean_object* v___x_3004_; lean_object* v___x_3005_; lean_object* v___x_3006_; lean_object* v___x_3007_; -v_dummy_3002_ = lean_obj_once(&l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0, &l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0_once, _init_l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0); -v_nargs_3003_ = l_Lean_Expr_getAppNumArgs(v___y_2995_); -lean_inc(v_nargs_3003_); -v___x_3004_ = lean_mk_array(v_nargs_3003_, v_dummy_3002_); -v___x_3005_ = lean_unsigned_to_nat(1u); -v___x_3006_ = lean_nat_sub(v_nargs_3003_, v___x_3005_); -lean_dec(v_nargs_3003_); -v___x_3007_ = l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(v_skipInstances_2982_, v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v___y_2995_, v___x_3004_, v___x_3006_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3007_; +lean_object* v_dummy_3022_; lean_object* v_nargs_3023_; lean_object* v___x_3024_; lean_object* v___x_3025_; lean_object* v___x_3026_; lean_object* v___x_3027_; +v_dummy_3022_ = lean_obj_once(&l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0, &l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0_once, _init_l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___closed__0); +v_nargs_3023_ = l_Lean_Expr_getAppNumArgs(v___y_3015_); +lean_inc(v_nargs_3023_); +v___x_3024_ = lean_mk_array(v_nargs_3023_, v_dummy_3022_); +v___x_3025_ = lean_unsigned_to_nat(1u); +v___x_3026_ = lean_nat_sub(v_nargs_3023_, v___x_3025_); +lean_dec(v_nargs_3023_); +v___x_3027_ = l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(v_skipInstances_3002_, v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v___y_3015_, v___x_3024_, v___x_3026_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3027_; } case 10: { -lean_object* v_data_3008_; lean_object* v_expr_3009_; lean_object* v___x_3010_; -v_data_3008_ = lean_ctor_get(v___y_2995_, 0); -v_expr_3009_ = lean_ctor_get(v___y_2995_, 1); -lean_inc_ref(v_expr_3009_); -lean_inc_ref(v_post_2979_); -lean_inc_ref(v_pre_2977_); -v___x_3010_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v_expr_3009_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -if (lean_obj_tag(v___x_3010_) == 0) +lean_object* v_data_3028_; lean_object* v_expr_3029_; lean_object* v___x_3030_; +v_data_3028_ = lean_ctor_get(v___y_3015_, 0); +v_expr_3029_ = lean_ctor_get(v___y_3015_, 1); +lean_inc_ref(v_expr_3029_); +lean_inc_ref(v_post_2999_); +lean_inc_ref(v_pre_2997_); +v___x_3030_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v_expr_3029_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +if (lean_obj_tag(v___x_3030_) == 0) { -lean_object* v_a_3011_; size_t v___x_3012_; size_t v___x_3013_; uint8_t v___x_3014_; -v_a_3011_ = lean_ctor_get(v___x_3010_, 0); -lean_inc(v_a_3011_); -lean_dec_ref(v___x_3010_); -v___x_3012_ = lean_ptr_addr(v_expr_3009_); -v___x_3013_ = lean_ptr_addr(v_a_3011_); -v___x_3014_ = lean_usize_dec_eq(v___x_3012_, v___x_3013_); -if (v___x_3014_ == 0) +lean_object* v_a_3031_; size_t v___x_3032_; size_t v___x_3033_; uint8_t v___x_3034_; +v_a_3031_ = lean_ctor_get(v___x_3030_, 0); +lean_inc(v_a_3031_); +lean_dec_ref(v___x_3030_); +v___x_3032_ = lean_ptr_addr(v_expr_3029_); +v___x_3033_ = lean_ptr_addr(v_a_3031_); +v___x_3034_ = lean_usize_dec_eq(v___x_3032_, v___x_3033_); +if (v___x_3034_ == 0) { -lean_object* v___x_3015_; lean_object* v___x_3016_; -lean_inc(v_data_3008_); -lean_dec_ref(v___y_2995_); -v___x_3015_ = l_Lean_Expr_mdata___override(v_data_3008_, v_a_3011_); -v___x_3016_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___x_3015_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3016_; +lean_object* v___x_3035_; lean_object* v___x_3036_; +lean_inc(v_data_3028_); +lean_dec_ref(v___y_3015_); +v___x_3035_ = l_Lean_Expr_mdata___override(v_data_3028_, v_a_3031_); +v___x_3036_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___x_3035_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3036_; } else { -lean_object* v___x_3017_; -lean_dec(v_a_3011_); -v___x_3017_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3017_; +lean_object* v___x_3037_; +lean_dec(v_a_3031_); +v___x_3037_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3037_; } } else { -lean_dec_ref(v___y_2995_); -lean_dec_ref(v_post_2979_); -lean_dec_ref(v_pre_2977_); -return v___x_3010_; +lean_dec_ref(v___y_3015_); +lean_dec_ref(v_post_2999_); +lean_dec_ref(v_pre_2997_); +return v___x_3030_; } } case 11: { -lean_object* v_typeName_3018_; lean_object* v_idx_3019_; lean_object* v_struct_3020_; lean_object* v___x_3021_; -v_typeName_3018_ = lean_ctor_get(v___y_2995_, 0); -v_idx_3019_ = lean_ctor_get(v___y_2995_, 1); -v_struct_3020_ = lean_ctor_get(v___y_2995_, 2); -lean_inc_ref(v_struct_3020_); -lean_inc_ref(v_post_2979_); -lean_inc_ref(v_pre_2977_); -v___x_3021_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v_struct_3020_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -if (lean_obj_tag(v___x_3021_) == 0) +lean_object* v_typeName_3038_; lean_object* v_idx_3039_; lean_object* v_struct_3040_; lean_object* v___x_3041_; +v_typeName_3038_ = lean_ctor_get(v___y_3015_, 0); +v_idx_3039_ = lean_ctor_get(v___y_3015_, 1); +v_struct_3040_ = lean_ctor_get(v___y_3015_, 2); +lean_inc_ref(v_struct_3040_); +lean_inc_ref(v_post_2999_); +lean_inc_ref(v_pre_2997_); +v___x_3041_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v_struct_3040_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +if (lean_obj_tag(v___x_3041_) == 0) { -lean_object* v_a_3022_; size_t v___x_3023_; size_t v___x_3024_; uint8_t v___x_3025_; -v_a_3022_ = lean_ctor_get(v___x_3021_, 0); -lean_inc(v_a_3022_); -lean_dec_ref(v___x_3021_); -v___x_3023_ = lean_ptr_addr(v_struct_3020_); -v___x_3024_ = lean_ptr_addr(v_a_3022_); -v___x_3025_ = lean_usize_dec_eq(v___x_3023_, v___x_3024_); -if (v___x_3025_ == 0) +lean_object* v_a_3042_; size_t v___x_3043_; size_t v___x_3044_; uint8_t v___x_3045_; +v_a_3042_ = lean_ctor_get(v___x_3041_, 0); +lean_inc(v_a_3042_); +lean_dec_ref(v___x_3041_); +v___x_3043_ = lean_ptr_addr(v_struct_3040_); +v___x_3044_ = lean_ptr_addr(v_a_3042_); +v___x_3045_ = lean_usize_dec_eq(v___x_3043_, v___x_3044_); +if (v___x_3045_ == 0) { -lean_object* v___x_3026_; lean_object* v___x_3027_; -lean_inc(v_idx_3019_); -lean_inc(v_typeName_3018_); -lean_dec_ref(v___y_2995_); -v___x_3026_ = l_Lean_Expr_proj___override(v_typeName_3018_, v_idx_3019_, v_a_3022_); -v___x_3027_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___x_3026_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3027_; +lean_object* v___x_3046_; lean_object* v___x_3047_; +lean_inc(v_idx_3039_); +lean_inc(v_typeName_3038_); +lean_dec_ref(v___y_3015_); +v___x_3046_ = l_Lean_Expr_proj___override(v_typeName_3038_, v_idx_3039_, v_a_3042_); +v___x_3047_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___x_3046_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3047_; } else { -lean_object* v___x_3028_; -lean_dec(v_a_3022_); -v___x_3028_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3028_; +lean_object* v___x_3048_; +lean_dec(v_a_3042_); +v___x_3048_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3048_; } } else { -lean_dec_ref(v___y_2995_); -lean_dec_ref(v_post_2979_); -lean_dec_ref(v_pre_2977_); -return v___x_3021_; +lean_dec_ref(v___y_3015_); +lean_dec_ref(v_post_2999_); +lean_dec_ref(v_pre_2997_); +return v___x_3041_; } } default: { -lean_object* v___x_3029_; -v___x_3029_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2977_, v_post_2979_, v_usedLetOnly_2980_, v_skipConstInApp_2981_, v_skipInstances_2982_, v___y_2995_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_); -return v___x_3029_; +lean_object* v___x_3049_; +v___x_3049_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_2997_, v_post_2999_, v_usedLetOnly_3000_, v_skipConstInApp_3001_, v_skipInstances_3002_, v___y_3015_, v___y_3003_, v___y_3004_, v___y_3005_, v___y_3006_, v___y_3007_); +return v___x_3049_; } } } @@ -9383,1619 +9494,1619 @@ return v___x_3029_; } else { -lean_object* v_a_3039_; lean_object* v___x_3041_; uint8_t v_isShared_3042_; uint8_t v_isSharedCheck_3046_; -lean_dec_ref(v_post_2979_); -lean_dec_ref(v_e_2978_); -lean_dec_ref(v_pre_2977_); -v_a_3039_ = lean_ctor_get(v___x_2989_, 0); -v_isSharedCheck_3046_ = !lean_is_exclusive(v___x_2989_); -if (v_isSharedCheck_3046_ == 0) +lean_object* v_a_3059_; lean_object* v___x_3061_; uint8_t v_isShared_3062_; uint8_t v_isSharedCheck_3066_; +lean_dec_ref(v_post_2999_); +lean_dec_ref(v_e_2998_); +lean_dec_ref(v_pre_2997_); +v_a_3059_ = lean_ctor_get(v___x_3009_, 0); +v_isSharedCheck_3066_ = !lean_is_exclusive(v___x_3009_); +if (v_isSharedCheck_3066_ == 0) { -v___x_3041_ = v___x_2989_; -v_isShared_3042_ = v_isSharedCheck_3046_; -goto v_resetjp_3040_; +v___x_3061_ = v___x_3009_; +v_isShared_3062_ = v_isSharedCheck_3066_; +goto v_resetjp_3060_; } else { -lean_inc(v_a_3039_); -lean_dec(v___x_2989_); -v___x_3041_ = lean_box(0); -v_isShared_3042_ = v_isSharedCheck_3046_; -goto v_resetjp_3040_; +lean_inc(v_a_3059_); +lean_dec(v___x_3009_); +v___x_3061_ = lean_box(0); +v_isShared_3062_ = v_isSharedCheck_3066_; +goto v_resetjp_3060_; } -v_resetjp_3040_: +v_resetjp_3060_: { -lean_object* v___x_3044_; -if (v_isShared_3042_ == 0) +lean_object* v___x_3064_; +if (v_isShared_3062_ == 0) { -v___x_3044_ = v___x_3041_; -goto v_reusejp_3043_; +v___x_3064_ = v___x_3061_; +goto v_reusejp_3063_; } else { -lean_object* v_reuseFailAlloc_3045_; -v_reuseFailAlloc_3045_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3045_, 0, v_a_3039_); -v___x_3044_ = v_reuseFailAlloc_3045_; -goto v_reusejp_3043_; +lean_object* v_reuseFailAlloc_3065_; +v_reuseFailAlloc_3065_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3065_, 0, v_a_3059_); +v___x_3064_ = v_reuseFailAlloc_3065_; +goto v_reusejp_3063_; } -v_reusejp_3043_: +v_reusejp_3063_: { -return v___x_3044_; +return v___x_3064_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___boxed(lean_object* v_pre_3047_, lean_object* v_e_3048_, lean_object* v_post_3049_, lean_object* v_usedLetOnly_3050_, lean_object* v_skipConstInApp_3051_, lean_object* v_skipInstances_3052_, lean_object* v___y_3053_, lean_object* v___y_3054_, lean_object* v___y_3055_, lean_object* v___y_3056_, lean_object* v___y_3057_, lean_object* v___y_3058_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___boxed(lean_object* v_pre_3067_, lean_object* v_e_3068_, lean_object* v_post_3069_, lean_object* v_usedLetOnly_3070_, lean_object* v_skipConstInApp_3071_, lean_object* v_skipInstances_3072_, lean_object* v___y_3073_, lean_object* v___y_3074_, lean_object* v___y_3075_, lean_object* v___y_3076_, lean_object* v___y_3077_, lean_object* v___y_3078_){ _start: { -uint8_t v_usedLetOnly_boxed_3059_; uint8_t v_skipConstInApp_boxed_3060_; uint8_t v_skipInstances_boxed_3061_; lean_object* v_res_3062_; -v_usedLetOnly_boxed_3059_ = lean_unbox(v_usedLetOnly_3050_); -v_skipConstInApp_boxed_3060_ = lean_unbox(v_skipConstInApp_3051_); -v_skipInstances_boxed_3061_ = lean_unbox(v_skipInstances_3052_); -v_res_3062_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1(v_pre_3047_, v_e_3048_, v_post_3049_, v_usedLetOnly_boxed_3059_, v_skipConstInApp_boxed_3060_, v_skipInstances_boxed_3061_, v___y_3053_, v___y_3054_, v___y_3055_, v___y_3056_, v___y_3057_); -lean_dec(v___y_3057_); -lean_dec_ref(v___y_3056_); -lean_dec(v___y_3055_); -lean_dec_ref(v___y_3054_); -lean_dec(v___y_3053_); -return v_res_3062_; +uint8_t v_usedLetOnly_boxed_3079_; uint8_t v_skipConstInApp_boxed_3080_; uint8_t v_skipInstances_boxed_3081_; lean_object* v_res_3082_; +v_usedLetOnly_boxed_3079_ = lean_unbox(v_usedLetOnly_3070_); +v_skipConstInApp_boxed_3080_ = lean_unbox(v_skipConstInApp_3071_); +v_skipInstances_boxed_3081_ = lean_unbox(v_skipInstances_3072_); +v_res_3082_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1(v_pre_3067_, v_e_3068_, v_post_3069_, v_usedLetOnly_boxed_3079_, v_skipConstInApp_boxed_3080_, v_skipInstances_boxed_3081_, v___y_3073_, v___y_3074_, v___y_3075_, v___y_3076_, v___y_3077_); +lean_dec(v___y_3077_); +lean_dec_ref(v___y_3076_); +lean_dec(v___y_3075_); +lean_dec_ref(v___y_3074_); +lean_dec(v___y_3073_); +return v_res_3082_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(lean_object* v_pre_3063_, lean_object* v_post_3064_, uint8_t v_usedLetOnly_3065_, uint8_t v_skipConstInApp_3066_, uint8_t v_skipInstances_3067_, lean_object* v_e_3068_, lean_object* v_a_3069_, lean_object* v___y_3070_, lean_object* v___y_3071_, lean_object* v___y_3072_, lean_object* v___y_3073_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(lean_object* v_pre_3083_, lean_object* v_post_3084_, uint8_t v_usedLetOnly_3085_, uint8_t v_skipConstInApp_3086_, uint8_t v_skipInstances_3087_, lean_object* v_e_3088_, lean_object* v_a_3089_, lean_object* v___y_3090_, lean_object* v___y_3091_, lean_object* v___y_3092_, lean_object* v___y_3093_){ _start: { -lean_object* v___x_3075_; lean_object* v___x_3076_; -lean_inc(v_a_3069_); -v___x_3075_ = lean_alloc_closure((void*)(l_ST_Prim_Ref_get___boxed), 4, 3); -lean_closure_set(v___x_3075_, 0, lean_box(0)); -lean_closure_set(v___x_3075_, 1, lean_box(0)); -lean_closure_set(v___x_3075_, 2, v_a_3069_); -v___x_3076_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_box(0), v___x_3075_, v___y_3070_, v___y_3071_, v___y_3072_, v___y_3073_); -if (lean_obj_tag(v___x_3076_) == 0) +lean_object* v___x_3095_; lean_object* v___x_3096_; +lean_inc(v_a_3089_); +v___x_3095_ = lean_alloc_closure((void*)(l_ST_Prim_Ref_get___boxed), 4, 3); +lean_closure_set(v___x_3095_, 0, lean_box(0)); +lean_closure_set(v___x_3095_, 1, lean_box(0)); +lean_closure_set(v___x_3095_, 2, v_a_3089_); +v___x_3096_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_box(0), v___x_3095_, v___y_3090_, v___y_3091_, v___y_3092_, v___y_3093_); +if (lean_obj_tag(v___x_3096_) == 0) { -lean_object* v_a_3077_; lean_object* v___x_3079_; uint8_t v_isShared_3080_; uint8_t v_isSharedCheck_3110_; -v_a_3077_ = lean_ctor_get(v___x_3076_, 0); -v_isSharedCheck_3110_ = !lean_is_exclusive(v___x_3076_); -if (v_isSharedCheck_3110_ == 0) +lean_object* v_a_3097_; lean_object* v___x_3099_; uint8_t v_isShared_3100_; uint8_t v_isSharedCheck_3130_; +v_a_3097_ = lean_ctor_get(v___x_3096_, 0); +v_isSharedCheck_3130_ = !lean_is_exclusive(v___x_3096_); +if (v_isSharedCheck_3130_ == 0) { -v___x_3079_ = v___x_3076_; -v_isShared_3080_ = v_isSharedCheck_3110_; -goto v_resetjp_3078_; +v___x_3099_ = v___x_3096_; +v_isShared_3100_ = v_isSharedCheck_3130_; +goto v_resetjp_3098_; } else { -lean_inc(v_a_3077_); -lean_dec(v___x_3076_); -v___x_3079_ = lean_box(0); -v_isShared_3080_ = v_isSharedCheck_3110_; -goto v_resetjp_3078_; +lean_inc(v_a_3097_); +lean_dec(v___x_3096_); +v___x_3099_ = lean_box(0); +v_isShared_3100_ = v_isSharedCheck_3130_; +goto v_resetjp_3098_; } -v_resetjp_3078_: +v_resetjp_3098_: { -lean_object* v___x_3081_; -v___x_3081_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_a_3077_, v_e_3068_); -lean_dec(v_a_3077_); -if (lean_obj_tag(v___x_3081_) == 0) +lean_object* v___x_3101_; +v___x_3101_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_a_3097_, v_e_3088_); +lean_dec(v_a_3097_); +if (lean_obj_tag(v___x_3101_) == 0) { -lean_object* v___x_3082_; lean_object* v___x_3083_; lean_object* v___x_3084_; lean_object* v___f_3085_; lean_object* v___x_3086_; -lean_del_object(v___x_3079_); -v___x_3082_ = lean_box(v_usedLetOnly_3065_); -v___x_3083_ = lean_box(v_skipConstInApp_3066_); -v___x_3084_ = lean_box(v_skipInstances_3067_); -lean_inc_ref(v_e_3068_); -v___f_3085_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___boxed), 12, 6); -lean_closure_set(v___f_3085_, 0, v_pre_3063_); -lean_closure_set(v___f_3085_, 1, v_e_3068_); -lean_closure_set(v___f_3085_, 2, v_post_3064_); -lean_closure_set(v___f_3085_, 3, v___x_3082_); -lean_closure_set(v___f_3085_, 4, v___x_3083_); -lean_closure_set(v___f_3085_, 5, v___x_3084_); -v___x_3086_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v___f_3085_, v_a_3069_, v___y_3070_, v___y_3071_, v___y_3072_, v___y_3073_); -if (lean_obj_tag(v___x_3086_) == 0) +lean_object* v___x_3102_; lean_object* v___x_3103_; lean_object* v___x_3104_; lean_object* v___f_3105_; lean_object* v___x_3106_; +lean_del_object(v___x_3099_); +v___x_3102_ = lean_box(v_usedLetOnly_3085_); +v___x_3103_ = lean_box(v_skipConstInApp_3086_); +v___x_3104_ = lean_box(v_skipInstances_3087_); +lean_inc_ref(v_e_3088_); +v___f_3105_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__1___boxed), 12, 6); +lean_closure_set(v___f_3105_, 0, v_pre_3083_); +lean_closure_set(v___f_3105_, 1, v_e_3088_); +lean_closure_set(v___f_3105_, 2, v_post_3084_); +lean_closure_set(v___f_3105_, 3, v___x_3102_); +lean_closure_set(v___f_3105_, 4, v___x_3103_); +lean_closure_set(v___f_3105_, 5, v___x_3104_); +v___x_3106_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v___f_3105_, v_a_3089_, v___y_3090_, v___y_3091_, v___y_3092_, v___y_3093_); +if (lean_obj_tag(v___x_3106_) == 0) { -lean_object* v_a_3087_; lean_object* v___f_3088_; lean_object* v___x_3089_; -v_a_3087_ = lean_ctor_get(v___x_3086_, 0); -lean_inc(v_a_3087_); -lean_dec_ref(v___x_3086_); -lean_inc(v_a_3087_); -lean_inc(v_a_3069_); -v___f_3088_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2___boxed), 4, 3); -lean_closure_set(v___f_3088_, 0, v_a_3069_); -lean_closure_set(v___f_3088_, 1, v_e_3068_); -lean_closure_set(v___f_3088_, 2, v_a_3087_); -v___x_3089_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_box(0), v___f_3088_, v___y_3070_, v___y_3071_, v___y_3072_, v___y_3073_); -if (lean_obj_tag(v___x_3089_) == 0) +lean_object* v_a_3107_; lean_object* v___f_3108_; lean_object* v___x_3109_; +v_a_3107_ = lean_ctor_get(v___x_3106_, 0); +lean_inc(v_a_3107_); +lean_dec_ref(v___x_3106_); +lean_inc(v_a_3107_); +lean_inc(v_a_3089_); +v___f_3108_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__2___boxed), 4, 3); +lean_closure_set(v___f_3108_, 0, v_a_3089_); +lean_closure_set(v___f_3108_, 1, v_e_3088_); +lean_closure_set(v___f_3108_, 2, v_a_3107_); +v___x_3109_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___lam__0(lean_box(0), v___f_3108_, v___y_3090_, v___y_3091_, v___y_3092_, v___y_3093_); +if (lean_obj_tag(v___x_3109_) == 0) { -lean_object* v___x_3091_; uint8_t v_isShared_3092_; uint8_t v_isSharedCheck_3096_; -v_isSharedCheck_3096_ = !lean_is_exclusive(v___x_3089_); -if (v_isSharedCheck_3096_ == 0) +lean_object* v___x_3111_; uint8_t v_isShared_3112_; uint8_t v_isSharedCheck_3116_; +v_isSharedCheck_3116_ = !lean_is_exclusive(v___x_3109_); +if (v_isSharedCheck_3116_ == 0) { -lean_object* v_unused_3097_; -v_unused_3097_ = lean_ctor_get(v___x_3089_, 0); -lean_dec(v_unused_3097_); -v___x_3091_ = v___x_3089_; -v_isShared_3092_ = v_isSharedCheck_3096_; -goto v_resetjp_3090_; +lean_object* v_unused_3117_; +v_unused_3117_ = lean_ctor_get(v___x_3109_, 0); +lean_dec(v_unused_3117_); +v___x_3111_ = v___x_3109_; +v_isShared_3112_ = v_isSharedCheck_3116_; +goto v_resetjp_3110_; } else { -lean_dec(v___x_3089_); -v___x_3091_ = lean_box(0); -v_isShared_3092_ = v_isSharedCheck_3096_; -goto v_resetjp_3090_; +lean_dec(v___x_3109_); +v___x_3111_ = lean_box(0); +v_isShared_3112_ = v_isSharedCheck_3116_; +goto v_resetjp_3110_; } -v_resetjp_3090_: +v_resetjp_3110_: { -lean_object* v___x_3094_; -if (v_isShared_3092_ == 0) +lean_object* v___x_3114_; +if (v_isShared_3112_ == 0) { -lean_ctor_set(v___x_3091_, 0, v_a_3087_); -v___x_3094_ = v___x_3091_; -goto v_reusejp_3093_; +lean_ctor_set(v___x_3111_, 0, v_a_3107_); +v___x_3114_ = v___x_3111_; +goto v_reusejp_3113_; } else { -lean_object* v_reuseFailAlloc_3095_; -v_reuseFailAlloc_3095_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3095_, 0, v_a_3087_); -v___x_3094_ = v_reuseFailAlloc_3095_; -goto v_reusejp_3093_; +lean_object* v_reuseFailAlloc_3115_; +v_reuseFailAlloc_3115_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3115_, 0, v_a_3107_); +v___x_3114_ = v_reuseFailAlloc_3115_; +goto v_reusejp_3113_; } -v_reusejp_3093_: +v_reusejp_3113_: { -return v___x_3094_; +return v___x_3114_; } } } else { -lean_object* v_a_3098_; lean_object* v___x_3100_; uint8_t v_isShared_3101_; uint8_t v_isSharedCheck_3105_; -lean_dec(v_a_3087_); -v_a_3098_ = lean_ctor_get(v___x_3089_, 0); -v_isSharedCheck_3105_ = !lean_is_exclusive(v___x_3089_); -if (v_isSharedCheck_3105_ == 0) +lean_object* v_a_3118_; lean_object* v___x_3120_; uint8_t v_isShared_3121_; uint8_t v_isSharedCheck_3125_; +lean_dec(v_a_3107_); +v_a_3118_ = lean_ctor_get(v___x_3109_, 0); +v_isSharedCheck_3125_ = !lean_is_exclusive(v___x_3109_); +if (v_isSharedCheck_3125_ == 0) { -v___x_3100_ = v___x_3089_; -v_isShared_3101_ = v_isSharedCheck_3105_; -goto v_resetjp_3099_; +v___x_3120_ = v___x_3109_; +v_isShared_3121_ = v_isSharedCheck_3125_; +goto v_resetjp_3119_; } else { -lean_inc(v_a_3098_); -lean_dec(v___x_3089_); -v___x_3100_ = lean_box(0); -v_isShared_3101_ = v_isSharedCheck_3105_; -goto v_resetjp_3099_; +lean_inc(v_a_3118_); +lean_dec(v___x_3109_); +v___x_3120_ = lean_box(0); +v_isShared_3121_ = v_isSharedCheck_3125_; +goto v_resetjp_3119_; } -v_resetjp_3099_: +v_resetjp_3119_: { -lean_object* v___x_3103_; -if (v_isShared_3101_ == 0) +lean_object* v___x_3123_; +if (v_isShared_3121_ == 0) { -v___x_3103_ = v___x_3100_; -goto v_reusejp_3102_; +v___x_3123_ = v___x_3120_; +goto v_reusejp_3122_; } else { -lean_object* v_reuseFailAlloc_3104_; -v_reuseFailAlloc_3104_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3104_, 0, v_a_3098_); -v___x_3103_ = v_reuseFailAlloc_3104_; -goto v_reusejp_3102_; +lean_object* v_reuseFailAlloc_3124_; +v_reuseFailAlloc_3124_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3124_, 0, v_a_3118_); +v___x_3123_ = v_reuseFailAlloc_3124_; +goto v_reusejp_3122_; } -v_reusejp_3102_: +v_reusejp_3122_: { -return v___x_3103_; +return v___x_3123_; } } } } else { -lean_dec_ref(v_e_3068_); -return v___x_3086_; +lean_dec_ref(v_e_3088_); +return v___x_3106_; } } else { -lean_object* v_val_3106_; lean_object* v___x_3108_; -lean_dec_ref(v_e_3068_); -lean_dec_ref(v_post_3064_); -lean_dec_ref(v_pre_3063_); -v_val_3106_ = lean_ctor_get(v___x_3081_, 0); -lean_inc(v_val_3106_); -lean_dec_ref(v___x_3081_); -if (v_isShared_3080_ == 0) +lean_object* v_val_3126_; lean_object* v___x_3128_; +lean_dec_ref(v_e_3088_); +lean_dec_ref(v_post_3084_); +lean_dec_ref(v_pre_3083_); +v_val_3126_ = lean_ctor_get(v___x_3101_, 0); +lean_inc(v_val_3126_); +lean_dec_ref(v___x_3101_); +if (v_isShared_3100_ == 0) { -lean_ctor_set(v___x_3079_, 0, v_val_3106_); -v___x_3108_ = v___x_3079_; -goto v_reusejp_3107_; +lean_ctor_set(v___x_3099_, 0, v_val_3126_); +v___x_3128_ = v___x_3099_; +goto v_reusejp_3127_; } else { -lean_object* v_reuseFailAlloc_3109_; -v_reuseFailAlloc_3109_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3109_, 0, v_val_3106_); -v___x_3108_ = v_reuseFailAlloc_3109_; -goto v_reusejp_3107_; +lean_object* v_reuseFailAlloc_3129_; +v_reuseFailAlloc_3129_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3129_, 0, v_val_3126_); +v___x_3128_ = v_reuseFailAlloc_3129_; +goto v_reusejp_3127_; } -v_reusejp_3107_: +v_reusejp_3127_: { -return v___x_3108_; +return v___x_3128_; } } } } else { -lean_object* v_a_3111_; lean_object* v___x_3113_; uint8_t v_isShared_3114_; uint8_t v_isSharedCheck_3118_; -lean_dec_ref(v_e_3068_); -lean_dec_ref(v_post_3064_); -lean_dec_ref(v_pre_3063_); -v_a_3111_ = lean_ctor_get(v___x_3076_, 0); -v_isSharedCheck_3118_ = !lean_is_exclusive(v___x_3076_); -if (v_isSharedCheck_3118_ == 0) +lean_object* v_a_3131_; lean_object* v___x_3133_; uint8_t v_isShared_3134_; uint8_t v_isSharedCheck_3138_; +lean_dec_ref(v_e_3088_); +lean_dec_ref(v_post_3084_); +lean_dec_ref(v_pre_3083_); +v_a_3131_ = lean_ctor_get(v___x_3096_, 0); +v_isSharedCheck_3138_ = !lean_is_exclusive(v___x_3096_); +if (v_isSharedCheck_3138_ == 0) { -v___x_3113_ = v___x_3076_; -v_isShared_3114_ = v_isSharedCheck_3118_; -goto v_resetjp_3112_; +v___x_3133_ = v___x_3096_; +v_isShared_3134_ = v_isSharedCheck_3138_; +goto v_resetjp_3132_; } else { -lean_inc(v_a_3111_); -lean_dec(v___x_3076_); -v___x_3113_ = lean_box(0); -v_isShared_3114_ = v_isSharedCheck_3118_; -goto v_resetjp_3112_; +lean_inc(v_a_3131_); +lean_dec(v___x_3096_); +v___x_3133_ = lean_box(0); +v_isShared_3134_ = v_isSharedCheck_3138_; +goto v_resetjp_3132_; } -v_resetjp_3112_: +v_resetjp_3132_: { -lean_object* v___x_3116_; -if (v_isShared_3114_ == 0) +lean_object* v___x_3136_; +if (v_isShared_3134_ == 0) { -v___x_3116_ = v___x_3113_; -goto v_reusejp_3115_; +v___x_3136_ = v___x_3133_; +goto v_reusejp_3135_; } else { -lean_object* v_reuseFailAlloc_3117_; -v_reuseFailAlloc_3117_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3117_, 0, v_a_3111_); -v___x_3116_ = v_reuseFailAlloc_3117_; -goto v_reusejp_3115_; +lean_object* v_reuseFailAlloc_3137_; +v_reuseFailAlloc_3137_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3137_, 0, v_a_3131_); +v___x_3136_ = v_reuseFailAlloc_3137_; +goto v_reusejp_3135_; } -v_reusejp_3115_: +v_reusejp_3135_: { -return v___x_3116_; +return v___x_3136_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0___boxed(lean_object* v_fvars_3119_, lean_object* v_pre_3120_, lean_object* v_post_3121_, lean_object* v_usedLetOnly_3122_, lean_object* v_skipConstInApp_3123_, lean_object* v_skipInstances_3124_, lean_object* v_body_3125_, lean_object* v_x_3126_, lean_object* v___y_3127_, lean_object* v___y_3128_, lean_object* v___y_3129_, lean_object* v___y_3130_, lean_object* v___y_3131_, lean_object* v___y_3132_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0___boxed(lean_object* v_fvars_3139_, lean_object* v_pre_3140_, lean_object* v_post_3141_, lean_object* v_usedLetOnly_3142_, lean_object* v_skipConstInApp_3143_, lean_object* v_skipInstances_3144_, lean_object* v_body_3145_, lean_object* v_x_3146_, lean_object* v___y_3147_, lean_object* v___y_3148_, lean_object* v___y_3149_, lean_object* v___y_3150_, lean_object* v___y_3151_, lean_object* v___y_3152_){ _start: { -uint8_t v_usedLetOnly_boxed_3133_; uint8_t v_skipConstInApp_boxed_3134_; uint8_t v_skipInstances_boxed_3135_; lean_object* v_res_3136_; -v_usedLetOnly_boxed_3133_ = lean_unbox(v_usedLetOnly_3122_); -v_skipConstInApp_boxed_3134_ = lean_unbox(v_skipConstInApp_3123_); -v_skipInstances_boxed_3135_ = lean_unbox(v_skipInstances_3124_); -v_res_3136_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0(v_fvars_3119_, v_pre_3120_, v_post_3121_, v_usedLetOnly_boxed_3133_, v_skipConstInApp_boxed_3134_, v_skipInstances_boxed_3135_, v_body_3125_, v_x_3126_, v___y_3127_, v___y_3128_, v___y_3129_, v___y_3130_, v___y_3131_); -lean_dec(v___y_3131_); -lean_dec_ref(v___y_3130_); -lean_dec(v___y_3129_); -lean_dec_ref(v___y_3128_); -lean_dec(v___y_3127_); -return v_res_3136_; +uint8_t v_usedLetOnly_boxed_3153_; uint8_t v_skipConstInApp_boxed_3154_; uint8_t v_skipInstances_boxed_3155_; lean_object* v_res_3156_; +v_usedLetOnly_boxed_3153_ = lean_unbox(v_usedLetOnly_3142_); +v_skipConstInApp_boxed_3154_ = lean_unbox(v_skipConstInApp_3143_); +v_skipInstances_boxed_3155_ = lean_unbox(v_skipInstances_3144_); +v_res_3156_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0(v_fvars_3139_, v_pre_3140_, v_post_3141_, v_usedLetOnly_boxed_3153_, v_skipConstInApp_boxed_3154_, v_skipInstances_boxed_3155_, v_body_3145_, v_x_3146_, v___y_3147_, v___y_3148_, v___y_3149_, v___y_3150_, v___y_3151_); +lean_dec(v___y_3151_); +lean_dec_ref(v___y_3150_); +lean_dec(v___y_3149_); +lean_dec_ref(v___y_3148_); +lean_dec(v___y_3147_); +return v_res_3156_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(lean_object* v_pre_3137_, lean_object* v_post_3138_, uint8_t v_usedLetOnly_3139_, uint8_t v_skipConstInApp_3140_, uint8_t v_skipInstances_3141_, lean_object* v_fvars_3142_, lean_object* v_e_3143_, lean_object* v_a_3144_, lean_object* v___y_3145_, lean_object* v___y_3146_, lean_object* v___y_3147_, lean_object* v___y_3148_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(lean_object* v_pre_3157_, lean_object* v_post_3158_, uint8_t v_usedLetOnly_3159_, uint8_t v_skipConstInApp_3160_, uint8_t v_skipInstances_3161_, lean_object* v_fvars_3162_, lean_object* v_e_3163_, lean_object* v_a_3164_, lean_object* v___y_3165_, lean_object* v___y_3166_, lean_object* v___y_3167_, lean_object* v___y_3168_){ _start: { -if (lean_obj_tag(v_e_3143_) == 7) +if (lean_obj_tag(v_e_3163_) == 7) { -lean_object* v_binderName_3150_; lean_object* v_binderType_3151_; lean_object* v_body_3152_; uint8_t v_binderInfo_3153_; lean_object* v___x_3154_; lean_object* v___x_3155_; -v_binderName_3150_ = lean_ctor_get(v_e_3143_, 0); -lean_inc(v_binderName_3150_); -v_binderType_3151_ = lean_ctor_get(v_e_3143_, 1); -lean_inc_ref(v_binderType_3151_); -v_body_3152_ = lean_ctor_get(v_e_3143_, 2); -lean_inc_ref(v_body_3152_); -v_binderInfo_3153_ = lean_ctor_get_uint8(v_e_3143_, sizeof(void*)*3 + 8); -lean_dec_ref(v_e_3143_); -v___x_3154_ = lean_expr_instantiate_rev(v_binderType_3151_, v_fvars_3142_); -lean_dec_ref(v_binderType_3151_); -lean_inc_ref(v_post_3138_); -lean_inc_ref(v_pre_3137_); -v___x_3155_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3137_, v_post_3138_, v_usedLetOnly_3139_, v_skipConstInApp_3140_, v_skipInstances_3141_, v___x_3154_, v_a_3144_, v___y_3145_, v___y_3146_, v___y_3147_, v___y_3148_); -if (lean_obj_tag(v___x_3155_) == 0) +lean_object* v_binderName_3170_; lean_object* v_binderType_3171_; lean_object* v_body_3172_; uint8_t v_binderInfo_3173_; lean_object* v___x_3174_; lean_object* v___x_3175_; +v_binderName_3170_ = lean_ctor_get(v_e_3163_, 0); +lean_inc(v_binderName_3170_); +v_binderType_3171_ = lean_ctor_get(v_e_3163_, 1); +lean_inc_ref(v_binderType_3171_); +v_body_3172_ = lean_ctor_get(v_e_3163_, 2); +lean_inc_ref(v_body_3172_); +v_binderInfo_3173_ = lean_ctor_get_uint8(v_e_3163_, sizeof(void*)*3 + 8); +lean_dec_ref(v_e_3163_); +v___x_3174_ = lean_expr_instantiate_rev(v_binderType_3171_, v_fvars_3162_); +lean_dec_ref(v_binderType_3171_); +lean_inc_ref(v_post_3158_); +lean_inc_ref(v_pre_3157_); +v___x_3175_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3157_, v_post_3158_, v_usedLetOnly_3159_, v_skipConstInApp_3160_, v_skipInstances_3161_, v___x_3174_, v_a_3164_, v___y_3165_, v___y_3166_, v___y_3167_, v___y_3168_); +if (lean_obj_tag(v___x_3175_) == 0) { -lean_object* v_a_3156_; lean_object* v___x_3157_; lean_object* v___x_3158_; lean_object* v___x_3159_; lean_object* v___f_3160_; uint8_t v___x_3161_; lean_object* v___x_3162_; -v_a_3156_ = lean_ctor_get(v___x_3155_, 0); -lean_inc(v_a_3156_); -lean_dec_ref(v___x_3155_); -v___x_3157_ = lean_box(v_usedLetOnly_3139_); -v___x_3158_ = lean_box(v_skipConstInApp_3140_); -v___x_3159_ = lean_box(v_skipInstances_3141_); -v___f_3160_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0___boxed), 14, 7); -lean_closure_set(v___f_3160_, 0, v_fvars_3142_); -lean_closure_set(v___f_3160_, 1, v_pre_3137_); -lean_closure_set(v___f_3160_, 2, v_post_3138_); -lean_closure_set(v___f_3160_, 3, v___x_3157_); -lean_closure_set(v___f_3160_, 4, v___x_3158_); -lean_closure_set(v___f_3160_, 5, v___x_3159_); -lean_closure_set(v___f_3160_, 6, v_body_3152_); -v___x_3161_ = 0; -v___x_3162_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_binderName_3150_, v_binderInfo_3153_, v_a_3156_, v___f_3160_, v___x_3161_, v_a_3144_, v___y_3145_, v___y_3146_, v___y_3147_, v___y_3148_); -return v___x_3162_; +lean_object* v_a_3176_; lean_object* v___x_3177_; lean_object* v___x_3178_; lean_object* v___x_3179_; lean_object* v___f_3180_; uint8_t v___x_3181_; lean_object* v___x_3182_; +v_a_3176_ = lean_ctor_get(v___x_3175_, 0); +lean_inc(v_a_3176_); +lean_dec_ref(v___x_3175_); +v___x_3177_ = lean_box(v_usedLetOnly_3159_); +v___x_3178_ = lean_box(v_skipConstInApp_3160_); +v___x_3179_ = lean_box(v_skipInstances_3161_); +v___f_3180_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0___boxed), 14, 7); +lean_closure_set(v___f_3180_, 0, v_fvars_3162_); +lean_closure_set(v___f_3180_, 1, v_pre_3157_); +lean_closure_set(v___f_3180_, 2, v_post_3158_); +lean_closure_set(v___f_3180_, 3, v___x_3177_); +lean_closure_set(v___f_3180_, 4, v___x_3178_); +lean_closure_set(v___f_3180_, 5, v___x_3179_); +lean_closure_set(v___f_3180_, 6, v_body_3172_); +v___x_3181_ = 0; +v___x_3182_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_binderName_3170_, v_binderInfo_3173_, v_a_3176_, v___f_3180_, v___x_3181_, v_a_3164_, v___y_3165_, v___y_3166_, v___y_3167_, v___y_3168_); +return v___x_3182_; } else { -lean_dec_ref(v_body_3152_); -lean_dec(v_binderName_3150_); -lean_dec_ref(v_fvars_3142_); -lean_dec_ref(v_post_3138_); -lean_dec_ref(v_pre_3137_); -return v___x_3155_; +lean_dec_ref(v_body_3172_); +lean_dec(v_binderName_3170_); +lean_dec_ref(v_fvars_3162_); +lean_dec_ref(v_post_3158_); +lean_dec_ref(v_pre_3157_); +return v___x_3175_; } } else { -lean_object* v___x_3163_; lean_object* v___x_3164_; -v___x_3163_ = lean_expr_instantiate_rev(v_e_3143_, v_fvars_3142_); -lean_dec_ref(v_e_3143_); -lean_inc_ref(v_post_3138_); -lean_inc_ref(v_pre_3137_); -v___x_3164_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3137_, v_post_3138_, v_usedLetOnly_3139_, v_skipConstInApp_3140_, v_skipInstances_3141_, v___x_3163_, v_a_3144_, v___y_3145_, v___y_3146_, v___y_3147_, v___y_3148_); -if (lean_obj_tag(v___x_3164_) == 0) +lean_object* v___x_3183_; lean_object* v___x_3184_; +v___x_3183_ = lean_expr_instantiate_rev(v_e_3163_, v_fvars_3162_); +lean_dec_ref(v_e_3163_); +lean_inc_ref(v_post_3158_); +lean_inc_ref(v_pre_3157_); +v___x_3184_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3157_, v_post_3158_, v_usedLetOnly_3159_, v_skipConstInApp_3160_, v_skipInstances_3161_, v___x_3183_, v_a_3164_, v___y_3165_, v___y_3166_, v___y_3167_, v___y_3168_); +if (lean_obj_tag(v___x_3184_) == 0) { -lean_object* v_a_3165_; uint8_t v___x_3166_; uint8_t v___x_3167_; uint8_t v___x_3168_; lean_object* v___x_3169_; -v_a_3165_ = lean_ctor_get(v___x_3164_, 0); -lean_inc(v_a_3165_); -lean_dec_ref(v___x_3164_); -v___x_3166_ = 0; -v___x_3167_ = 1; -v___x_3168_ = 1; -v___x_3169_ = l_Lean_Meta_mkForallFVars(v_fvars_3142_, v_a_3165_, v___x_3166_, v_usedLetOnly_3139_, v___x_3167_, v___x_3168_, v___y_3145_, v___y_3146_, v___y_3147_, v___y_3148_); -lean_dec_ref(v_fvars_3142_); -if (lean_obj_tag(v___x_3169_) == 0) +lean_object* v_a_3185_; uint8_t v___x_3186_; uint8_t v___x_3187_; uint8_t v___x_3188_; lean_object* v___x_3189_; +v_a_3185_ = lean_ctor_get(v___x_3184_, 0); +lean_inc(v_a_3185_); +lean_dec_ref(v___x_3184_); +v___x_3186_ = 0; +v___x_3187_ = 1; +v___x_3188_ = 1; +v___x_3189_ = l_Lean_Meta_mkForallFVars(v_fvars_3162_, v_a_3185_, v___x_3186_, v_usedLetOnly_3159_, v___x_3187_, v___x_3188_, v___y_3165_, v___y_3166_, v___y_3167_, v___y_3168_); +lean_dec_ref(v_fvars_3162_); +if (lean_obj_tag(v___x_3189_) == 0) { -lean_object* v_a_3170_; lean_object* v___x_3171_; -v_a_3170_ = lean_ctor_get(v___x_3169_, 0); -lean_inc(v_a_3170_); -lean_dec_ref(v___x_3169_); -v___x_3171_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_3137_, v_post_3138_, v_usedLetOnly_3139_, v_skipConstInApp_3140_, v_skipInstances_3141_, v_a_3170_, v_a_3144_, v___y_3145_, v___y_3146_, v___y_3147_, v___y_3148_); -return v___x_3171_; +lean_object* v_a_3190_; lean_object* v___x_3191_; +v_a_3190_ = lean_ctor_get(v___x_3189_, 0); +lean_inc(v_a_3190_); +lean_dec_ref(v___x_3189_); +v___x_3191_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_3157_, v_post_3158_, v_usedLetOnly_3159_, v_skipConstInApp_3160_, v_skipInstances_3161_, v_a_3190_, v_a_3164_, v___y_3165_, v___y_3166_, v___y_3167_, v___y_3168_); +return v___x_3191_; } else { -lean_dec_ref(v_post_3138_); -lean_dec_ref(v_pre_3137_); -return v___x_3169_; +lean_dec_ref(v_post_3158_); +lean_dec_ref(v_pre_3157_); +return v___x_3189_; } } else { -lean_dec_ref(v_fvars_3142_); -lean_dec_ref(v_post_3138_); -lean_dec_ref(v_pre_3137_); -return v___x_3164_; +lean_dec_ref(v_fvars_3162_); +lean_dec_ref(v_post_3158_); +lean_dec_ref(v_pre_3157_); +return v___x_3184_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0(lean_object* v_fvars_3172_, lean_object* v_pre_3173_, lean_object* v_post_3174_, uint8_t v_usedLetOnly_3175_, uint8_t v_skipConstInApp_3176_, uint8_t v_skipInstances_3177_, lean_object* v_body_3178_, lean_object* v_x_3179_, lean_object* v___y_3180_, lean_object* v___y_3181_, lean_object* v___y_3182_, lean_object* v___y_3183_, lean_object* v___y_3184_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___lam__0(lean_object* v_fvars_3192_, lean_object* v_pre_3193_, lean_object* v_post_3194_, uint8_t v_usedLetOnly_3195_, uint8_t v_skipConstInApp_3196_, uint8_t v_skipInstances_3197_, lean_object* v_body_3198_, lean_object* v_x_3199_, lean_object* v___y_3200_, lean_object* v___y_3201_, lean_object* v___y_3202_, lean_object* v___y_3203_, lean_object* v___y_3204_){ _start: { -lean_object* v___x_3186_; lean_object* v___x_3187_; -v___x_3186_ = lean_array_push(v_fvars_3172_, v_x_3179_); -v___x_3187_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_3173_, v_post_3174_, v_usedLetOnly_3175_, v_skipConstInApp_3176_, v_skipInstances_3177_, v___x_3186_, v_body_3178_, v___y_3180_, v___y_3181_, v___y_3182_, v___y_3183_, v___y_3184_); -return v___x_3187_; +lean_object* v___x_3206_; lean_object* v___x_3207_; +v___x_3206_ = lean_array_push(v_fvars_3192_, v_x_3199_); +v___x_3207_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_3193_, v_post_3194_, v_usedLetOnly_3195_, v_skipConstInApp_3196_, v_skipInstances_3197_, v___x_3206_, v_body_3198_, v___y_3200_, v___y_3201_, v___y_3202_, v___y_3203_, v___y_3204_); +return v___x_3207_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3___boxed(lean_object* v_pre_3188_, lean_object* v_post_3189_, lean_object* v_usedLetOnly_3190_, lean_object* v_skipConstInApp_3191_, lean_object* v_skipInstances_3192_, lean_object* v_e_3193_, lean_object* v_a_3194_, lean_object* v___y_3195_, lean_object* v___y_3196_, lean_object* v___y_3197_, lean_object* v___y_3198_, lean_object* v___y_3199_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3___boxed(lean_object* v_pre_3208_, lean_object* v_post_3209_, lean_object* v_usedLetOnly_3210_, lean_object* v_skipConstInApp_3211_, lean_object* v_skipInstances_3212_, lean_object* v_e_3213_, lean_object* v_a_3214_, lean_object* v___y_3215_, lean_object* v___y_3216_, lean_object* v___y_3217_, lean_object* v___y_3218_, lean_object* v___y_3219_){ _start: { -uint8_t v_usedLetOnly_boxed_3200_; uint8_t v_skipConstInApp_boxed_3201_; uint8_t v_skipInstances_boxed_3202_; lean_object* v_res_3203_; -v_usedLetOnly_boxed_3200_ = lean_unbox(v_usedLetOnly_3190_); -v_skipConstInApp_boxed_3201_ = lean_unbox(v_skipConstInApp_3191_); -v_skipInstances_boxed_3202_ = lean_unbox(v_skipInstances_3192_); -v_res_3203_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_3188_, v_post_3189_, v_usedLetOnly_boxed_3200_, v_skipConstInApp_boxed_3201_, v_skipInstances_boxed_3202_, v_e_3193_, v_a_3194_, v___y_3195_, v___y_3196_, v___y_3197_, v___y_3198_); -lean_dec(v___y_3198_); -lean_dec_ref(v___y_3197_); -lean_dec(v___y_3196_); -lean_dec_ref(v___y_3195_); -lean_dec(v_a_3194_); -return v_res_3203_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2___boxed(lean_object* v_pre_3204_, lean_object* v_post_3205_, lean_object* v_usedLetOnly_3206_, lean_object* v_skipConstInApp_3207_, lean_object* v_skipInstances_3208_, lean_object* v_sz_3209_, lean_object* v_i_3210_, lean_object* v_bs_3211_, lean_object* v___y_3212_, lean_object* v___y_3213_, lean_object* v___y_3214_, lean_object* v___y_3215_, lean_object* v___y_3216_, lean_object* v___y_3217_){ -_start: -{ -uint8_t v_usedLetOnly_boxed_3218_; uint8_t v_skipConstInApp_boxed_3219_; uint8_t v_skipInstances_boxed_3220_; size_t v_sz_boxed_3221_; size_t v_i_boxed_3222_; lean_object* v_res_3223_; -v_usedLetOnly_boxed_3218_ = lean_unbox(v_usedLetOnly_3206_); -v_skipConstInApp_boxed_3219_ = lean_unbox(v_skipConstInApp_3207_); -v_skipInstances_boxed_3220_ = lean_unbox(v_skipInstances_3208_); -v_sz_boxed_3221_ = lean_unbox_usize(v_sz_3209_); -lean_dec(v_sz_3209_); -v_i_boxed_3222_ = lean_unbox_usize(v_i_3210_); -lean_dec(v_i_3210_); -v_res_3223_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(v_pre_3204_, v_post_3205_, v_usedLetOnly_boxed_3218_, v_skipConstInApp_boxed_3219_, v_skipInstances_boxed_3220_, v_sz_boxed_3221_, v_i_boxed_3222_, v_bs_3211_, v___y_3212_, v___y_3213_, v___y_3214_, v___y_3215_, v___y_3216_); +uint8_t v_usedLetOnly_boxed_3220_; uint8_t v_skipConstInApp_boxed_3221_; uint8_t v_skipInstances_boxed_3222_; lean_object* v_res_3223_; +v_usedLetOnly_boxed_3220_ = lean_unbox(v_usedLetOnly_3210_); +v_skipConstInApp_boxed_3221_ = lean_unbox(v_skipConstInApp_3211_); +v_skipInstances_boxed_3222_ = lean_unbox(v_skipInstances_3212_); +v_res_3223_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitPost___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__3(v_pre_3208_, v_post_3209_, v_usedLetOnly_boxed_3220_, v_skipConstInApp_boxed_3221_, v_skipInstances_boxed_3222_, v_e_3213_, v_a_3214_, v___y_3215_, v___y_3216_, v___y_3217_, v___y_3218_); +lean_dec(v___y_3218_); +lean_dec_ref(v___y_3217_); lean_dec(v___y_3216_); lean_dec_ref(v___y_3215_); -lean_dec(v___y_3214_); -lean_dec_ref(v___y_3213_); -lean_dec(v___y_3212_); +lean_dec(v_a_3214_); return v_res_3223_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___boxed(lean_object* v_pre_3224_, lean_object* v_post_3225_, lean_object* v_usedLetOnly_3226_, lean_object* v_skipConstInApp_3227_, lean_object* v_skipInstances_3228_, lean_object* v_e_3229_, lean_object* v_a_3230_, lean_object* v___y_3231_, lean_object* v___y_3232_, lean_object* v___y_3233_, lean_object* v___y_3234_, lean_object* v___y_3235_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2___boxed(lean_object* v_pre_3224_, lean_object* v_post_3225_, lean_object* v_usedLetOnly_3226_, lean_object* v_skipConstInApp_3227_, lean_object* v_skipInstances_3228_, lean_object* v_sz_3229_, lean_object* v_i_3230_, lean_object* v_bs_3231_, lean_object* v___y_3232_, lean_object* v___y_3233_, lean_object* v___y_3234_, lean_object* v___y_3235_, lean_object* v___y_3236_, lean_object* v___y_3237_){ _start: { -uint8_t v_usedLetOnly_boxed_3236_; uint8_t v_skipConstInApp_boxed_3237_; uint8_t v_skipInstances_boxed_3238_; lean_object* v_res_3239_; -v_usedLetOnly_boxed_3236_ = lean_unbox(v_usedLetOnly_3226_); -v_skipConstInApp_boxed_3237_ = lean_unbox(v_skipConstInApp_3227_); -v_skipInstances_boxed_3238_ = lean_unbox(v_skipInstances_3228_); -v_res_3239_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3224_, v_post_3225_, v_usedLetOnly_boxed_3236_, v_skipConstInApp_boxed_3237_, v_skipInstances_boxed_3238_, v_e_3229_, v_a_3230_, v___y_3231_, v___y_3232_, v___y_3233_, v___y_3234_); +uint8_t v_usedLetOnly_boxed_3238_; uint8_t v_skipConstInApp_boxed_3239_; uint8_t v_skipInstances_boxed_3240_; size_t v_sz_boxed_3241_; size_t v_i_boxed_3242_; lean_object* v_res_3243_; +v_usedLetOnly_boxed_3238_ = lean_unbox(v_usedLetOnly_3226_); +v_skipConstInApp_boxed_3239_ = lean_unbox(v_skipConstInApp_3227_); +v_skipInstances_boxed_3240_ = lean_unbox(v_skipInstances_3228_); +v_sz_boxed_3241_ = lean_unbox_usize(v_sz_3229_); +lean_dec(v_sz_3229_); +v_i_boxed_3242_ = lean_unbox_usize(v_i_3230_); +lean_dec(v_i_3230_); +v_res_3243_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__2(v_pre_3224_, v_post_3225_, v_usedLetOnly_boxed_3238_, v_skipConstInApp_boxed_3239_, v_skipInstances_boxed_3240_, v_sz_boxed_3241_, v_i_boxed_3242_, v_bs_3231_, v___y_3232_, v___y_3233_, v___y_3234_, v___y_3235_, v___y_3236_); +lean_dec(v___y_3236_); +lean_dec_ref(v___y_3235_); lean_dec(v___y_3234_); lean_dec_ref(v___y_3233_); lean_dec(v___y_3232_); -lean_dec_ref(v___y_3231_); -lean_dec(v_a_3230_); -return v_res_3239_; +return v_res_3243_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___boxed(lean_object* v_pre_3240_, lean_object* v_post_3241_, lean_object* v_usedLetOnly_3242_, lean_object* v_skipConstInApp_3243_, lean_object* v_skipInstances_3244_, lean_object* v_fvars_3245_, lean_object* v_e_3246_, lean_object* v_a_3247_, lean_object* v___y_3248_, lean_object* v___y_3249_, lean_object* v___y_3250_, lean_object* v___y_3251_, lean_object* v___y_3252_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1___boxed(lean_object* v_pre_3244_, lean_object* v_post_3245_, lean_object* v_usedLetOnly_3246_, lean_object* v_skipConstInApp_3247_, lean_object* v_skipInstances_3248_, lean_object* v_e_3249_, lean_object* v_a_3250_, lean_object* v___y_3251_, lean_object* v___y_3252_, lean_object* v___y_3253_, lean_object* v___y_3254_, lean_object* v___y_3255_){ _start: { -uint8_t v_usedLetOnly_boxed_3253_; uint8_t v_skipConstInApp_boxed_3254_; uint8_t v_skipInstances_boxed_3255_; lean_object* v_res_3256_; -v_usedLetOnly_boxed_3253_ = lean_unbox(v_usedLetOnly_3242_); -v_skipConstInApp_boxed_3254_ = lean_unbox(v_skipConstInApp_3243_); -v_skipInstances_boxed_3255_ = lean_unbox(v_skipInstances_3244_); -v_res_3256_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_3240_, v_post_3241_, v_usedLetOnly_boxed_3253_, v_skipConstInApp_boxed_3254_, v_skipInstances_boxed_3255_, v_fvars_3245_, v_e_3246_, v_a_3247_, v___y_3248_, v___y_3249_, v___y_3250_, v___y_3251_); -lean_dec(v___y_3251_); -lean_dec_ref(v___y_3250_); -lean_dec(v___y_3249_); -lean_dec_ref(v___y_3248_); -lean_dec(v_a_3247_); -return v_res_3256_; +uint8_t v_usedLetOnly_boxed_3256_; uint8_t v_skipConstInApp_boxed_3257_; uint8_t v_skipInstances_boxed_3258_; lean_object* v_res_3259_; +v_usedLetOnly_boxed_3256_ = lean_unbox(v_usedLetOnly_3246_); +v_skipConstInApp_boxed_3257_ = lean_unbox(v_skipConstInApp_3247_); +v_skipInstances_boxed_3258_ = lean_unbox(v_skipInstances_3248_); +v_res_3259_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3244_, v_post_3245_, v_usedLetOnly_boxed_3256_, v_skipConstInApp_boxed_3257_, v_skipInstances_boxed_3258_, v_e_3249_, v_a_3250_, v___y_3251_, v___y_3252_, v___y_3253_, v___y_3254_); +lean_dec(v___y_3254_); +lean_dec_ref(v___y_3253_); +lean_dec(v___y_3252_); +lean_dec_ref(v___y_3251_); +lean_dec(v_a_3250_); +return v_res_3259_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___boxed(lean_object* v_pre_3257_, lean_object* v_post_3258_, lean_object* v_usedLetOnly_3259_, lean_object* v_skipConstInApp_3260_, lean_object* v_skipInstances_3261_, lean_object* v_fvars_3262_, lean_object* v_e_3263_, lean_object* v_a_3264_, lean_object* v___y_3265_, lean_object* v___y_3266_, lean_object* v___y_3267_, lean_object* v___y_3268_, lean_object* v___y_3269_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6___boxed(lean_object* v_pre_3260_, lean_object* v_post_3261_, lean_object* v_usedLetOnly_3262_, lean_object* v_skipConstInApp_3263_, lean_object* v_skipInstances_3264_, lean_object* v_fvars_3265_, lean_object* v_e_3266_, lean_object* v_a_3267_, lean_object* v___y_3268_, lean_object* v___y_3269_, lean_object* v___y_3270_, lean_object* v___y_3271_, lean_object* v___y_3272_){ _start: { -uint8_t v_usedLetOnly_boxed_3270_; uint8_t v_skipConstInApp_boxed_3271_; uint8_t v_skipInstances_boxed_3272_; lean_object* v_res_3273_; -v_usedLetOnly_boxed_3270_ = lean_unbox(v_usedLetOnly_3259_); -v_skipConstInApp_boxed_3271_ = lean_unbox(v_skipConstInApp_3260_); -v_skipInstances_boxed_3272_ = lean_unbox(v_skipInstances_3261_); -v_res_3273_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_3257_, v_post_3258_, v_usedLetOnly_boxed_3270_, v_skipConstInApp_boxed_3271_, v_skipInstances_boxed_3272_, v_fvars_3262_, v_e_3263_, v_a_3264_, v___y_3265_, v___y_3266_, v___y_3267_, v___y_3268_); -lean_dec(v___y_3268_); -lean_dec_ref(v___y_3267_); -lean_dec(v___y_3266_); -lean_dec_ref(v___y_3265_); -lean_dec(v_a_3264_); -return v_res_3273_; +uint8_t v_usedLetOnly_boxed_3273_; uint8_t v_skipConstInApp_boxed_3274_; uint8_t v_skipInstances_boxed_3275_; lean_object* v_res_3276_; +v_usedLetOnly_boxed_3273_ = lean_unbox(v_usedLetOnly_3262_); +v_skipConstInApp_boxed_3274_ = lean_unbox(v_skipConstInApp_3263_); +v_skipInstances_boxed_3275_ = lean_unbox(v_skipInstances_3264_); +v_res_3276_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6(v_pre_3260_, v_post_3261_, v_usedLetOnly_boxed_3273_, v_skipConstInApp_boxed_3274_, v_skipInstances_boxed_3275_, v_fvars_3265_, v_e_3266_, v_a_3267_, v___y_3268_, v___y_3269_, v___y_3270_, v___y_3271_); +lean_dec(v___y_3271_); +lean_dec_ref(v___y_3270_); +lean_dec(v___y_3269_); +lean_dec_ref(v___y_3268_); +lean_dec(v_a_3267_); +return v_res_3276_; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___boxed(lean_object* v_pre_3274_, lean_object* v_post_3275_, lean_object* v_usedLetOnly_3276_, lean_object* v_skipConstInApp_3277_, lean_object* v_skipInstances_3278_, lean_object* v_fvars_3279_, lean_object* v_e_3280_, lean_object* v_a_3281_, lean_object* v___y_3282_, lean_object* v___y_3283_, lean_object* v___y_3284_, lean_object* v___y_3285_, lean_object* v___y_3286_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7___boxed(lean_object* v_pre_3277_, lean_object* v_post_3278_, lean_object* v_usedLetOnly_3279_, lean_object* v_skipConstInApp_3280_, lean_object* v_skipInstances_3281_, lean_object* v_fvars_3282_, lean_object* v_e_3283_, lean_object* v_a_3284_, lean_object* v___y_3285_, lean_object* v___y_3286_, lean_object* v___y_3287_, lean_object* v___y_3288_, lean_object* v___y_3289_){ _start: { -uint8_t v_usedLetOnly_boxed_3287_; uint8_t v_skipConstInApp_boxed_3288_; uint8_t v_skipInstances_boxed_3289_; lean_object* v_res_3290_; -v_usedLetOnly_boxed_3287_ = lean_unbox(v_usedLetOnly_3276_); -v_skipConstInApp_boxed_3288_ = lean_unbox(v_skipConstInApp_3277_); -v_skipInstances_boxed_3289_ = lean_unbox(v_skipInstances_3278_); -v_res_3290_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_3274_, v_post_3275_, v_usedLetOnly_boxed_3287_, v_skipConstInApp_boxed_3288_, v_skipInstances_boxed_3289_, v_fvars_3279_, v_e_3280_, v_a_3281_, v___y_3282_, v___y_3283_, v___y_3284_, v___y_3285_); -lean_dec(v___y_3285_); -lean_dec_ref(v___y_3284_); -lean_dec(v___y_3283_); -lean_dec_ref(v___y_3282_); -lean_dec(v_a_3281_); -return v_res_3290_; +uint8_t v_usedLetOnly_boxed_3290_; uint8_t v_skipConstInApp_boxed_3291_; uint8_t v_skipInstances_boxed_3292_; lean_object* v_res_3293_; +v_usedLetOnly_boxed_3290_ = lean_unbox(v_usedLetOnly_3279_); +v_skipConstInApp_boxed_3291_ = lean_unbox(v_skipConstInApp_3280_); +v_skipInstances_boxed_3292_ = lean_unbox(v_skipInstances_3281_); +v_res_3293_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLambda___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__7(v_pre_3277_, v_post_3278_, v_usedLetOnly_boxed_3290_, v_skipConstInApp_boxed_3291_, v_skipInstances_boxed_3292_, v_fvars_3282_, v_e_3283_, v_a_3284_, v___y_3285_, v___y_3286_, v___y_3287_, v___y_3288_); +lean_dec(v___y_3288_); +lean_dec_ref(v___y_3287_); +lean_dec(v___y_3286_); +lean_dec_ref(v___y_3285_); +lean_dec(v_a_3284_); +return v_res_3293_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___boxed(lean_object* v_upperBound_3291_, lean_object* v___x_3292_, lean_object* v_pre_3293_, lean_object* v_post_3294_, lean_object* v_usedLetOnly_3295_, lean_object* v_skipConstInApp_3296_, lean_object* v_skipInstances_3297_, lean_object* v_a_3298_, lean_object* v_b_3299_, lean_object* v___y_3300_, lean_object* v___y_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_, lean_object* v___y_3304_, lean_object* v___y_3305_){ +LEAN_EXPORT lean_object* l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8___boxed(lean_object* v_pre_3294_, lean_object* v_post_3295_, lean_object* v_usedLetOnly_3296_, lean_object* v_skipConstInApp_3297_, lean_object* v_skipInstances_3298_, lean_object* v_fvars_3299_, lean_object* v_e_3300_, lean_object* v_a_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_, lean_object* v___y_3304_, lean_object* v___y_3305_, lean_object* v___y_3306_){ _start: { -uint8_t v_usedLetOnly_boxed_3306_; uint8_t v_skipConstInApp_boxed_3307_; uint8_t v_skipInstances_boxed_3308_; lean_object* v_res_3309_; -v_usedLetOnly_boxed_3306_ = lean_unbox(v_usedLetOnly_3295_); -v_skipConstInApp_boxed_3307_ = lean_unbox(v_skipConstInApp_3296_); -v_skipInstances_boxed_3308_ = lean_unbox(v_skipInstances_3297_); -v_res_3309_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v_upperBound_3291_, v___x_3292_, v_pre_3293_, v_post_3294_, v_usedLetOnly_boxed_3306_, v_skipConstInApp_boxed_3307_, v_skipInstances_boxed_3308_, v_a_3298_, v_b_3299_, v___y_3300_, v___y_3301_, v___y_3302_, v___y_3303_, v___y_3304_); -lean_dec(v___y_3304_); -lean_dec_ref(v___y_3303_); -lean_dec(v___y_3302_); -lean_dec_ref(v___y_3301_); -lean_dec(v___y_3300_); -lean_dec_ref(v___x_3292_); -lean_dec(v_upperBound_3291_); -return v_res_3309_; +uint8_t v_usedLetOnly_boxed_3307_; uint8_t v_skipConstInApp_boxed_3308_; uint8_t v_skipInstances_boxed_3309_; lean_object* v_res_3310_; +v_usedLetOnly_boxed_3307_ = lean_unbox(v_usedLetOnly_3296_); +v_skipConstInApp_boxed_3308_ = lean_unbox(v_skipConstInApp_3297_); +v_skipInstances_boxed_3309_ = lean_unbox(v_skipInstances_3298_); +v_res_3310_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8(v_pre_3294_, v_post_3295_, v_usedLetOnly_boxed_3307_, v_skipConstInApp_boxed_3308_, v_skipInstances_boxed_3309_, v_fvars_3299_, v_e_3300_, v_a_3301_, v___y_3302_, v___y_3303_, v___y_3304_, v___y_3305_); +lean_dec(v___y_3305_); +lean_dec_ref(v___y_3304_); +lean_dec(v___y_3303_); +lean_dec_ref(v___y_3302_); +lean_dec(v_a_3301_); +return v_res_3310_; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9___boxed(lean_object* v_skipInstances_3310_, lean_object* v_pre_3311_, lean_object* v_post_3312_, lean_object* v_usedLetOnly_3313_, lean_object* v_skipConstInApp_3314_, lean_object* v_x_3315_, lean_object* v_x_3316_, lean_object* v_x_3317_, lean_object* v___y_3318_, lean_object* v___y_3319_, lean_object* v___y_3320_, lean_object* v___y_3321_, lean_object* v___y_3322_, lean_object* v___y_3323_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg___boxed(lean_object* v_upperBound_3311_, lean_object* v___x_3312_, lean_object* v_pre_3313_, lean_object* v_post_3314_, lean_object* v_usedLetOnly_3315_, lean_object* v_skipConstInApp_3316_, lean_object* v_skipInstances_3317_, lean_object* v_a_3318_, lean_object* v_b_3319_, lean_object* v___y_3320_, lean_object* v___y_3321_, lean_object* v___y_3322_, lean_object* v___y_3323_, lean_object* v___y_3324_, lean_object* v___y_3325_){ _start: { -uint8_t v_skipInstances_boxed_3324_; uint8_t v_usedLetOnly_boxed_3325_; uint8_t v_skipConstInApp_boxed_3326_; lean_object* v_res_3327_; -v_skipInstances_boxed_3324_ = lean_unbox(v_skipInstances_3310_); -v_usedLetOnly_boxed_3325_ = lean_unbox(v_usedLetOnly_3313_); -v_skipConstInApp_boxed_3326_ = lean_unbox(v_skipConstInApp_3314_); -v_res_3327_ = l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(v_skipInstances_boxed_3324_, v_pre_3311_, v_post_3312_, v_usedLetOnly_boxed_3325_, v_skipConstInApp_boxed_3326_, v_x_3315_, v_x_3316_, v_x_3317_, v___y_3318_, v___y_3319_, v___y_3320_, v___y_3321_, v___y_3322_); +uint8_t v_usedLetOnly_boxed_3326_; uint8_t v_skipConstInApp_boxed_3327_; uint8_t v_skipInstances_boxed_3328_; lean_object* v_res_3329_; +v_usedLetOnly_boxed_3326_ = lean_unbox(v_usedLetOnly_3315_); +v_skipConstInApp_boxed_3327_ = lean_unbox(v_skipConstInApp_3316_); +v_skipInstances_boxed_3328_ = lean_unbox(v_skipInstances_3317_); +v_res_3329_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v_upperBound_3311_, v___x_3312_, v_pre_3313_, v_post_3314_, v_usedLetOnly_boxed_3326_, v_skipConstInApp_boxed_3327_, v_skipInstances_boxed_3328_, v_a_3318_, v_b_3319_, v___y_3320_, v___y_3321_, v___y_3322_, v___y_3323_, v___y_3324_); +lean_dec(v___y_3324_); +lean_dec_ref(v___y_3323_); lean_dec(v___y_3322_); lean_dec_ref(v___y_3321_); lean_dec(v___y_3320_); -lean_dec_ref(v___y_3319_); -lean_dec(v___y_3318_); -return v_res_3327_; +lean_dec_ref(v___x_3312_); +lean_dec(v_upperBound_3311_); +return v_res_3329_; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9___boxed(lean_object* v_skipInstances_3330_, lean_object* v_pre_3331_, lean_object* v_post_3332_, lean_object* v_usedLetOnly_3333_, lean_object* v_skipConstInApp_3334_, lean_object* v_x_3335_, lean_object* v_x_3336_, lean_object* v_x_3337_, lean_object* v___y_3338_, lean_object* v___y_3339_, lean_object* v___y_3340_, lean_object* v___y_3341_, lean_object* v___y_3342_, lean_object* v___y_3343_){ +_start: +{ +uint8_t v_skipInstances_boxed_3344_; uint8_t v_usedLetOnly_boxed_3345_; uint8_t v_skipConstInApp_boxed_3346_; lean_object* v_res_3347_; +v_skipInstances_boxed_3344_ = lean_unbox(v_skipInstances_3330_); +v_usedLetOnly_boxed_3345_ = lean_unbox(v_usedLetOnly_3333_); +v_skipConstInApp_boxed_3346_ = lean_unbox(v_skipConstInApp_3334_); +v_res_3347_ = l_Lean_Expr_withAppAux___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__9(v_skipInstances_boxed_3344_, v_pre_3331_, v_post_3332_, v_usedLetOnly_boxed_3345_, v_skipConstInApp_boxed_3346_, v_x_3335_, v_x_3336_, v_x_3337_, v___y_3338_, v___y_3339_, v___y_3340_, v___y_3341_, v___y_3342_); +lean_dec(v___y_3342_); +lean_dec_ref(v___y_3341_); +lean_dec(v___y_3340_); +lean_dec_ref(v___y_3339_); +lean_dec(v___y_3338_); +return v_res_3347_; } } static lean_object* _init_l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0(void){ _start: { -lean_object* v___x_3328_; lean_object* v___x_3329_; -v___x_3328_ = lean_obj_once(&l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2_, &l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2__once, _init_l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2_); -v___x_3329_ = lean_alloc_closure((void*)(l_ST_Prim_mkRef___boxed), 4, 3); -lean_closure_set(v___x_3329_, 0, lean_box(0)); -lean_closure_set(v___x_3329_, 1, lean_box(0)); -lean_closure_set(v___x_3329_, 2, v___x_3328_); -return v___x_3329_; +lean_object* v___x_3348_; lean_object* v___x_3349_; +v___x_3348_ = lean_obj_once(&l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2_, &l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2__once, _init_l_Lean_Compiler_LCNF_Specialize_initFn___lam__3___closed__1_00___x40_Lean_Compiler_LCNF_Specialize_552794905____hygCtx___hyg_2_); +v___x_3349_ = lean_alloc_closure((void*)(l_ST_Prim_mkRef___boxed), 4, 3); +lean_closure_set(v___x_3349_, 0, lean_box(0)); +lean_closure_set(v___x_3349_, 1, lean_box(0)); +lean_closure_set(v___x_3349_, 2, v___x_3348_); +return v___x_3349_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(lean_object* v_input_3330_, lean_object* v_pre_3331_, lean_object* v_post_3332_, uint8_t v_usedLetOnly_3333_, uint8_t v_skipConstInApp_3334_, lean_object* v___y_3335_, lean_object* v___y_3336_, lean_object* v___y_3337_, lean_object* v___y_3338_){ +LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(lean_object* v_input_3350_, lean_object* v_pre_3351_, lean_object* v_post_3352_, uint8_t v_usedLetOnly_3353_, uint8_t v_skipConstInApp_3354_, lean_object* v___y_3355_, lean_object* v___y_3356_, lean_object* v___y_3357_, lean_object* v___y_3358_){ _start: { -lean_object* v___x_3340_; lean_object* v___x_3341_; lean_object* v_a_3342_; uint8_t v___x_3343_; lean_object* v___x_3344_; -v___x_3340_ = lean_obj_once(&l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0, &l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0_once, _init_l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0); -v___x_3341_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_box(0), v___x_3340_, v___y_3335_, v___y_3336_, v___y_3337_, v___y_3338_); -v_a_3342_ = lean_ctor_get(v___x_3341_, 0); -lean_inc(v_a_3342_); -lean_dec_ref(v___x_3341_); -v___x_3343_ = 0; -v___x_3344_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3331_, v_post_3332_, v_usedLetOnly_3333_, v_skipConstInApp_3334_, v___x_3343_, v_input_3330_, v_a_3342_, v___y_3335_, v___y_3336_, v___y_3337_, v___y_3338_); -if (lean_obj_tag(v___x_3344_) == 0) +lean_object* v___x_3360_; lean_object* v___x_3361_; lean_object* v_a_3362_; uint8_t v___x_3363_; lean_object* v___x_3364_; +v___x_3360_ = lean_obj_once(&l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0, &l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0_once, _init_l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___closed__0); +v___x_3361_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_box(0), v___x_3360_, v___y_3355_, v___y_3356_, v___y_3357_, v___y_3358_); +v_a_3362_ = lean_ctor_get(v___x_3361_, 0); +lean_inc(v_a_3362_); +lean_dec_ref(v___x_3361_); +v___x_3363_ = 0; +v___x_3364_ = l___private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1(v_pre_3351_, v_post_3352_, v_usedLetOnly_3353_, v_skipConstInApp_3354_, v___x_3363_, v_input_3350_, v_a_3362_, v___y_3355_, v___y_3356_, v___y_3357_, v___y_3358_); +if (lean_obj_tag(v___x_3364_) == 0) { -lean_object* v_a_3345_; lean_object* v___x_3346_; lean_object* v___x_3347_; lean_object* v___x_3349_; uint8_t v_isShared_3350_; uint8_t v_isSharedCheck_3354_; -v_a_3345_ = lean_ctor_get(v___x_3344_, 0); -lean_inc(v_a_3345_); -lean_dec_ref(v___x_3344_); -v___x_3346_ = lean_alloc_closure((void*)(l_ST_Prim_Ref_get___boxed), 4, 3); -lean_closure_set(v___x_3346_, 0, lean_box(0)); -lean_closure_set(v___x_3346_, 1, lean_box(0)); -lean_closure_set(v___x_3346_, 2, v_a_3342_); -v___x_3347_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_box(0), v___x_3346_, v___y_3335_, v___y_3336_, v___y_3337_, v___y_3338_); -v_isSharedCheck_3354_ = !lean_is_exclusive(v___x_3347_); -if (v_isSharedCheck_3354_ == 0) +lean_object* v_a_3365_; lean_object* v___x_3366_; lean_object* v___x_3367_; lean_object* v___x_3369_; uint8_t v_isShared_3370_; uint8_t v_isSharedCheck_3374_; +v_a_3365_ = lean_ctor_get(v___x_3364_, 0); +lean_inc(v_a_3365_); +lean_dec_ref(v___x_3364_); +v___x_3366_ = lean_alloc_closure((void*)(l_ST_Prim_Ref_get___boxed), 4, 3); +lean_closure_set(v___x_3366_, 0, lean_box(0)); +lean_closure_set(v___x_3366_, 1, lean_box(0)); +lean_closure_set(v___x_3366_, 2, v_a_3362_); +v___x_3367_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___lam__0(lean_box(0), v___x_3366_, v___y_3355_, v___y_3356_, v___y_3357_, v___y_3358_); +v_isSharedCheck_3374_ = !lean_is_exclusive(v___x_3367_); +if (v_isSharedCheck_3374_ == 0) { -lean_object* v_unused_3355_; -v_unused_3355_ = lean_ctor_get(v___x_3347_, 0); -lean_dec(v_unused_3355_); -v___x_3349_ = v___x_3347_; -v_isShared_3350_ = v_isSharedCheck_3354_; -goto v_resetjp_3348_; +lean_object* v_unused_3375_; +v_unused_3375_ = lean_ctor_get(v___x_3367_, 0); +lean_dec(v_unused_3375_); +v___x_3369_ = v___x_3367_; +v_isShared_3370_ = v_isSharedCheck_3374_; +goto v_resetjp_3368_; } else { -lean_dec(v___x_3347_); -v___x_3349_ = lean_box(0); -v_isShared_3350_ = v_isSharedCheck_3354_; -goto v_resetjp_3348_; +lean_dec(v___x_3367_); +v___x_3369_ = lean_box(0); +v_isShared_3370_ = v_isSharedCheck_3374_; +goto v_resetjp_3368_; } -v_resetjp_3348_: +v_resetjp_3368_: { -lean_object* v___x_3352_; -if (v_isShared_3350_ == 0) +lean_object* v___x_3372_; +if (v_isShared_3370_ == 0) { -lean_ctor_set(v___x_3349_, 0, v_a_3345_); -v___x_3352_ = v___x_3349_; -goto v_reusejp_3351_; +lean_ctor_set(v___x_3369_, 0, v_a_3365_); +v___x_3372_ = v___x_3369_; +goto v_reusejp_3371_; } else { -lean_object* v_reuseFailAlloc_3353_; -v_reuseFailAlloc_3353_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3353_, 0, v_a_3345_); -v___x_3352_ = v_reuseFailAlloc_3353_; -goto v_reusejp_3351_; +lean_object* v_reuseFailAlloc_3373_; +v_reuseFailAlloc_3373_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3373_, 0, v_a_3365_); +v___x_3372_ = v_reuseFailAlloc_3373_; +goto v_reusejp_3371_; } -v_reusejp_3351_: +v_reusejp_3371_: { -return v___x_3352_; +return v___x_3372_; } } } else { -lean_dec(v_a_3342_); -return v___x_3344_; +lean_dec(v_a_3362_); +return v___x_3364_; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___boxed(lean_object* v_input_3356_, lean_object* v_pre_3357_, lean_object* v_post_3358_, lean_object* v_usedLetOnly_3359_, lean_object* v_skipConstInApp_3360_, lean_object* v___y_3361_, lean_object* v___y_3362_, lean_object* v___y_3363_, lean_object* v___y_3364_, lean_object* v___y_3365_){ +LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1___boxed(lean_object* v_input_3376_, lean_object* v_pre_3377_, lean_object* v_post_3378_, lean_object* v_usedLetOnly_3379_, lean_object* v_skipConstInApp_3380_, lean_object* v___y_3381_, lean_object* v___y_3382_, lean_object* v___y_3383_, lean_object* v___y_3384_, lean_object* v___y_3385_){ _start: { -uint8_t v_usedLetOnly_boxed_3366_; uint8_t v_skipConstInApp_boxed_3367_; lean_object* v_res_3368_; -v_usedLetOnly_boxed_3366_ = lean_unbox(v_usedLetOnly_3359_); -v_skipConstInApp_boxed_3367_ = lean_unbox(v_skipConstInApp_3360_); -v_res_3368_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(v_input_3356_, v_pre_3357_, v_post_3358_, v_usedLetOnly_boxed_3366_, v_skipConstInApp_boxed_3367_, v___y_3361_, v___y_3362_, v___y_3363_, v___y_3364_); -lean_dec(v___y_3364_); -lean_dec_ref(v___y_3363_); -lean_dec(v___y_3362_); -lean_dec_ref(v___y_3361_); -return v_res_3368_; +uint8_t v_usedLetOnly_boxed_3386_; uint8_t v_skipConstInApp_boxed_3387_; lean_object* v_res_3388_; +v_usedLetOnly_boxed_3386_ = lean_unbox(v_usedLetOnly_3379_); +v_skipConstInApp_boxed_3387_ = lean_unbox(v_skipConstInApp_3380_); +v_res_3388_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(v_input_3376_, v_pre_3377_, v_post_3378_, v_usedLetOnly_boxed_3386_, v_skipConstInApp_boxed_3387_, v___y_3381_, v___y_3382_, v___y_3383_, v___y_3384_); +lean_dec(v___y_3384_); +lean_dec_ref(v___y_3383_); +lean_dec(v___y_3382_); +lean_dec_ref(v___y_3381_); +return v_res_3388_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(lean_object* v_a_3369_, lean_object* v_params_3370_, lean_object* v_params_3371_, lean_object* v_i_3372_, lean_object* v_a_3373_, lean_object* v_a_3374_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(lean_object* v_a_3389_, lean_object* v_params_3390_, lean_object* v_params_3391_, lean_object* v_i_3392_, lean_object* v_a_3393_, lean_object* v_a_3394_){ _start: { -lean_object* v___x_3375_; uint8_t v___x_3376_; -v___x_3375_ = lean_array_get_size(v_params_3371_); -v___x_3376_ = lean_nat_dec_lt(v_i_3372_, v___x_3375_); -if (v___x_3376_ == 0) +lean_object* v___x_3395_; uint8_t v___x_3396_; +v___x_3395_ = lean_array_get_size(v_params_3391_); +v___x_3396_ = lean_nat_dec_lt(v_i_3392_, v___x_3395_); +if (v___x_3396_ == 0) { -uint8_t v___x_3377_; lean_object* v___x_3378_; lean_object* v___x_3379_; lean_object* v___x_3380_; lean_object* v___x_3381_; -lean_dec(v_i_3372_); -v___x_3377_ = 0; -v___x_3378_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Expr_abstract_x27_go(v_a_3374_, v_a_3373_, v_a_3369_); -v___x_3379_ = lean_array_get_size(v_params_3370_); -v___x_3380_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_mkLambdaM_go(v___x_3377_, v_params_3370_, v_a_3373_, v_a_3374_, v___x_3379_, v___x_3378_); -v___x_3381_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_3381_, 0, v___x_3380_); -lean_ctor_set(v___x_3381_, 1, v_a_3374_); -return v___x_3381_; +uint8_t v___x_3397_; lean_object* v___x_3398_; lean_object* v___x_3399_; lean_object* v___x_3400_; lean_object* v___x_3401_; +lean_dec(v_i_3392_); +v___x_3397_ = 0; +v___x_3398_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Expr_abstract_x27_go(v_a_3394_, v_a_3393_, v_a_3389_); +v___x_3399_ = lean_array_get_size(v_params_3390_); +v___x_3400_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_mkLambdaM_go(v___x_3397_, v_params_3390_, v_a_3393_, v_a_3394_, v___x_3399_, v___x_3398_); +v___x_3401_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_3401_, 0, v___x_3400_); +lean_ctor_set(v___x_3401_, 1, v_a_3394_); +return v___x_3401_; } else { -lean_object* v___x_3382_; lean_object* v_fvarId_3383_; lean_object* v___x_3384_; lean_object* v___x_3385_; lean_object* v___x_3386_; lean_object* v___x_3387_; -v___x_3382_ = lean_array_fget_borrowed(v_params_3371_, v_i_3372_); -v_fvarId_3383_ = lean_ctor_get(v___x_3382_, 0); -v___x_3384_ = lean_unsigned_to_nat(1u); -v___x_3385_ = lean_nat_add(v_i_3372_, v___x_3384_); -lean_dec(v_i_3372_); -lean_inc(v_a_3373_); -lean_inc(v_fvarId_3383_); -v___x_3386_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_instSingletonFVarIdFVarIdSet_spec__1___redArg(v_fvarId_3383_, v_a_3373_, v_a_3374_); -v___x_3387_ = lean_nat_add(v_a_3373_, v___x_3384_); -lean_dec(v_a_3373_); -v_i_3372_ = v___x_3385_; -v_a_3373_ = v___x_3387_; -v_a_3374_ = v___x_3386_; +lean_object* v___x_3402_; lean_object* v_fvarId_3403_; lean_object* v___x_3404_; lean_object* v___x_3405_; lean_object* v___x_3406_; lean_object* v___x_3407_; +v___x_3402_ = lean_array_fget_borrowed(v_params_3391_, v_i_3392_); +v_fvarId_3403_ = lean_ctor_get(v___x_3402_, 0); +v___x_3404_ = lean_unsigned_to_nat(1u); +v___x_3405_ = lean_nat_add(v_i_3392_, v___x_3404_); +lean_dec(v_i_3392_); +lean_inc(v_a_3393_); +lean_inc(v_fvarId_3403_); +v___x_3406_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_instSingletonFVarIdFVarIdSet_spec__1___redArg(v_fvarId_3403_, v_a_3393_, v_a_3394_); +v___x_3407_ = lean_nat_add(v_a_3393_, v___x_3404_); +lean_dec(v_a_3393_); +v_i_3392_ = v___x_3405_; +v_a_3393_ = v___x_3407_; +v_a_3394_ = v___x_3406_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg___boxed(lean_object* v_a_3389_, lean_object* v_params_3390_, lean_object* v_params_3391_, lean_object* v_i_3392_, lean_object* v_a_3393_, lean_object* v_a_3394_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg___boxed(lean_object* v_a_3409_, lean_object* v_params_3410_, lean_object* v_params_3411_, lean_object* v_i_3412_, lean_object* v_a_3413_, lean_object* v_a_3414_){ _start: { -lean_object* v_res_3395_; -v_res_3395_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3389_, v_params_3390_, v_params_3391_, v_i_3392_, v_a_3393_, v_a_3394_); -lean_dec_ref(v_params_3391_); -lean_dec_ref(v_params_3390_); -return v_res_3395_; +lean_object* v_res_3415_; +v_res_3415_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3409_, v_params_3410_, v_params_3411_, v_i_3412_, v_a_3413_, v_a_3414_); +lean_dec_ref(v_params_3411_); +lean_dec_ref(v_params_3410_); +return v_res_3415_; } } static uint64_t _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1(void){ _start: { -lean_object* v___x_3402_; uint64_t v___x_3403_; -v___x_3402_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__0)); -v___x_3403_ = l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(v___x_3402_); -return v___x_3403_; +lean_object* v___x_3422_; uint64_t v___x_3423_; +v___x_3422_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__0)); +v___x_3423_ = l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(v___x_3422_); +return v___x_3423_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2(void){ _start: { -uint64_t v___x_3404_; lean_object* v___x_3405_; lean_object* v___x_3406_; -v___x_3404_ = lean_uint64_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1); -v___x_3405_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__0)); -v___x_3406_ = lean_alloc_ctor(0, 1, 8); -lean_ctor_set(v___x_3406_, 0, v___x_3405_); -lean_ctor_set_uint64(v___x_3406_, sizeof(void*)*1, v___x_3404_); -return v___x_3406_; +uint64_t v___x_3424_; lean_object* v___x_3425_; lean_object* v___x_3426_; +v___x_3424_ = lean_uint64_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__1); +v___x_3425_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__0)); +v___x_3426_ = lean_alloc_ctor(0, 1, 8); +lean_ctor_set(v___x_3426_, 0, v___x_3425_); +lean_ctor_set_uint64(v___x_3426_, sizeof(void*)*1, v___x_3424_); +return v___x_3426_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3(void){ _start: { -lean_object* v___x_3407_; -v___x_3407_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_3407_; +lean_object* v___x_3427_; +v___x_3427_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_3427_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4(void){ _start: { -lean_object* v___x_3408_; lean_object* v___x_3409_; -v___x_3408_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3); -v___x_3409_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3409_, 0, v___x_3408_); -return v___x_3409_; +lean_object* v___x_3428_; lean_object* v___x_3429_; +v___x_3428_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__3); +v___x_3429_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3429_, 0, v___x_3428_); +return v___x_3429_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5(void){ _start: { -lean_object* v___x_3410_; lean_object* v___x_3411_; lean_object* v___x_3412_; -v___x_3410_ = lean_unsigned_to_nat(32u); -v___x_3411_ = lean_mk_empty_array_with_capacity(v___x_3410_); -v___x_3412_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3412_, 0, v___x_3411_); -return v___x_3412_; +lean_object* v___x_3430_; lean_object* v___x_3431_; lean_object* v___x_3432_; +v___x_3430_ = lean_unsigned_to_nat(32u); +v___x_3431_ = lean_mk_empty_array_with_capacity(v___x_3430_); +v___x_3432_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3432_, 0, v___x_3431_); +return v___x_3432_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6(void){ _start: { -size_t v___x_3413_; lean_object* v___x_3414_; lean_object* v___x_3415_; lean_object* v___x_3416_; lean_object* v___x_3417_; lean_object* v___x_3418_; -v___x_3413_ = ((size_t)5ULL); -v___x_3414_ = lean_unsigned_to_nat(0u); -v___x_3415_ = lean_unsigned_to_nat(32u); -v___x_3416_ = lean_mk_empty_array_with_capacity(v___x_3415_); -v___x_3417_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5); -v___x_3418_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1); -lean_ctor_set(v___x_3418_, 0, v___x_3417_); -lean_ctor_set(v___x_3418_, 1, v___x_3416_); -lean_ctor_set(v___x_3418_, 2, v___x_3414_); -lean_ctor_set(v___x_3418_, 3, v___x_3414_); -lean_ctor_set_usize(v___x_3418_, 4, v___x_3413_); -return v___x_3418_; +size_t v___x_3433_; lean_object* v___x_3434_; lean_object* v___x_3435_; lean_object* v___x_3436_; lean_object* v___x_3437_; lean_object* v___x_3438_; +v___x_3433_ = ((size_t)5ULL); +v___x_3434_ = lean_unsigned_to_nat(0u); +v___x_3435_ = lean_unsigned_to_nat(32u); +v___x_3436_ = lean_mk_empty_array_with_capacity(v___x_3435_); +v___x_3437_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__5); +v___x_3438_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(v___x_3438_, 0, v___x_3437_); +lean_ctor_set(v___x_3438_, 1, v___x_3436_); +lean_ctor_set(v___x_3438_, 2, v___x_3434_); +lean_ctor_set(v___x_3438_, 3, v___x_3434_); +lean_ctor_set_usize(v___x_3438_, 4, v___x_3433_); +return v___x_3438_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7(void){ _start: { -lean_object* v___x_3419_; lean_object* v___x_3420_; lean_object* v___x_3421_; lean_object* v___x_3422_; -v___x_3419_ = lean_box(1); -v___x_3420_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6); -v___x_3421_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); -v___x_3422_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v___x_3422_, 0, v___x_3421_); -lean_ctor_set(v___x_3422_, 1, v___x_3420_); -lean_ctor_set(v___x_3422_, 2, v___x_3419_); -return v___x_3422_; +lean_object* v___x_3439_; lean_object* v___x_3440_; lean_object* v___x_3441_; lean_object* v___x_3442_; +v___x_3439_ = lean_box(1); +v___x_3440_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6); +v___x_3441_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); +v___x_3442_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v___x_3442_, 0, v___x_3441_); +lean_ctor_set(v___x_3442_, 1, v___x_3440_); +lean_ctor_set(v___x_3442_, 2, v___x_3439_); +return v___x_3442_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9(void){ _start: { -uint8_t v___x_3425_; lean_object* v___x_3426_; lean_object* v___x_3427_; lean_object* v___x_3428_; lean_object* v___x_3429_; lean_object* v___x_3430_; uint8_t v___x_3431_; lean_object* v___x_3432_; lean_object* v___x_3433_; -v___x_3425_ = 1; -v___x_3426_ = lean_unsigned_to_nat(0u); -v___x_3427_ = lean_box(0); -v___x_3428_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__8)); -v___x_3429_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7); -v___x_3430_ = lean_box(1); -v___x_3431_ = 0; -v___x_3432_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2); -v___x_3433_ = lean_alloc_ctor(0, 7, 4); -lean_ctor_set(v___x_3433_, 0, v___x_3432_); -lean_ctor_set(v___x_3433_, 1, v___x_3430_); -lean_ctor_set(v___x_3433_, 2, v___x_3429_); -lean_ctor_set(v___x_3433_, 3, v___x_3428_); -lean_ctor_set(v___x_3433_, 4, v___x_3427_); -lean_ctor_set(v___x_3433_, 5, v___x_3426_); -lean_ctor_set(v___x_3433_, 6, v___x_3427_); -lean_ctor_set_uint8(v___x_3433_, sizeof(void*)*7, v___x_3431_); -lean_ctor_set_uint8(v___x_3433_, sizeof(void*)*7 + 1, v___x_3431_); -lean_ctor_set_uint8(v___x_3433_, sizeof(void*)*7 + 2, v___x_3431_); -lean_ctor_set_uint8(v___x_3433_, sizeof(void*)*7 + 3, v___x_3425_); -return v___x_3433_; +uint8_t v___x_3445_; lean_object* v___x_3446_; lean_object* v___x_3447_; lean_object* v___x_3448_; lean_object* v___x_3449_; lean_object* v___x_3450_; uint8_t v___x_3451_; lean_object* v___x_3452_; lean_object* v___x_3453_; +v___x_3445_ = 1; +v___x_3446_ = lean_unsigned_to_nat(0u); +v___x_3447_ = lean_box(0); +v___x_3448_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__8)); +v___x_3449_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__7); +v___x_3450_ = lean_box(1); +v___x_3451_ = 0; +v___x_3452_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__2); +v___x_3453_ = lean_alloc_ctor(0, 7, 4); +lean_ctor_set(v___x_3453_, 0, v___x_3452_); +lean_ctor_set(v___x_3453_, 1, v___x_3450_); +lean_ctor_set(v___x_3453_, 2, v___x_3449_); +lean_ctor_set(v___x_3453_, 3, v___x_3448_); +lean_ctor_set(v___x_3453_, 4, v___x_3447_); +lean_ctor_set(v___x_3453_, 5, v___x_3446_); +lean_ctor_set(v___x_3453_, 6, v___x_3447_); +lean_ctor_set_uint8(v___x_3453_, sizeof(void*)*7, v___x_3451_); +lean_ctor_set_uint8(v___x_3453_, sizeof(void*)*7 + 1, v___x_3451_); +lean_ctor_set_uint8(v___x_3453_, sizeof(void*)*7 + 2, v___x_3451_); +lean_ctor_set_uint8(v___x_3453_, sizeof(void*)*7 + 3, v___x_3445_); +return v___x_3453_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10(void){ _start: { -lean_object* v___x_3434_; lean_object* v___x_3435_; lean_object* v___x_3436_; -v___x_3434_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); -v___x_3435_ = lean_unsigned_to_nat(0u); -v___x_3436_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v___x_3436_, 0, v___x_3435_); -lean_ctor_set(v___x_3436_, 1, v___x_3435_); -lean_ctor_set(v___x_3436_, 2, v___x_3435_); -lean_ctor_set(v___x_3436_, 3, v___x_3434_); -lean_ctor_set(v___x_3436_, 4, v___x_3434_); -lean_ctor_set(v___x_3436_, 5, v___x_3434_); -lean_ctor_set(v___x_3436_, 6, v___x_3434_); -lean_ctor_set(v___x_3436_, 7, v___x_3434_); -lean_ctor_set(v___x_3436_, 8, v___x_3434_); -return v___x_3436_; +lean_object* v___x_3454_; lean_object* v___x_3455_; lean_object* v___x_3456_; +v___x_3454_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); +v___x_3455_ = lean_unsigned_to_nat(0u); +v___x_3456_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v___x_3456_, 0, v___x_3455_); +lean_ctor_set(v___x_3456_, 1, v___x_3455_); +lean_ctor_set(v___x_3456_, 2, v___x_3455_); +lean_ctor_set(v___x_3456_, 3, v___x_3454_); +lean_ctor_set(v___x_3456_, 4, v___x_3454_); +lean_ctor_set(v___x_3456_, 5, v___x_3454_); +lean_ctor_set(v___x_3456_, 6, v___x_3454_); +lean_ctor_set(v___x_3456_, 7, v___x_3454_); +lean_ctor_set(v___x_3456_, 8, v___x_3454_); +return v___x_3456_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11(void){ _start: { -lean_object* v___x_3437_; lean_object* v___x_3438_; -v___x_3437_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); -v___x_3438_ = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(v___x_3438_, 0, v___x_3437_); -lean_ctor_set(v___x_3438_, 1, v___x_3437_); -lean_ctor_set(v___x_3438_, 2, v___x_3437_); -lean_ctor_set(v___x_3438_, 3, v___x_3437_); -lean_ctor_set(v___x_3438_, 4, v___x_3437_); -lean_ctor_set(v___x_3438_, 5, v___x_3437_); -return v___x_3438_; +lean_object* v___x_3457_; lean_object* v___x_3458_; +v___x_3457_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); +v___x_3458_ = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(v___x_3458_, 0, v___x_3457_); +lean_ctor_set(v___x_3458_, 1, v___x_3457_); +lean_ctor_set(v___x_3458_, 2, v___x_3457_); +lean_ctor_set(v___x_3458_, 3, v___x_3457_); +lean_ctor_set(v___x_3458_, 4, v___x_3457_); +lean_ctor_set(v___x_3458_, 5, v___x_3457_); +return v___x_3458_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12(void){ _start: { -lean_object* v___x_3439_; lean_object* v___x_3440_; -v___x_3439_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); -v___x_3440_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_3440_, 0, v___x_3439_); -lean_ctor_set(v___x_3440_, 1, v___x_3439_); -lean_ctor_set(v___x_3440_, 2, v___x_3439_); -lean_ctor_set(v___x_3440_, 3, v___x_3439_); -lean_ctor_set(v___x_3440_, 4, v___x_3439_); -return v___x_3440_; +lean_object* v___x_3459_; lean_object* v___x_3460_; +v___x_3459_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__4); +v___x_3460_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_3460_, 0, v___x_3459_); +lean_ctor_set(v___x_3460_, 1, v___x_3459_); +lean_ctor_set(v___x_3460_, 2, v___x_3459_); +lean_ctor_set(v___x_3460_, 3, v___x_3459_); +lean_ctor_set(v___x_3460_, 4, v___x_3459_); +return v___x_3460_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13(void){ _start: { -lean_object* v___x_3441_; lean_object* v___x_3442_; lean_object* v___x_3443_; lean_object* v___x_3444_; lean_object* v___x_3445_; lean_object* v___x_3446_; -v___x_3441_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12); -v___x_3442_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6); -v___x_3443_ = lean_box(1); -v___x_3444_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11); -v___x_3445_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10); -v___x_3446_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_3446_, 0, v___x_3445_); -lean_ctor_set(v___x_3446_, 1, v___x_3444_); -lean_ctor_set(v___x_3446_, 2, v___x_3443_); -lean_ctor_set(v___x_3446_, 3, v___x_3442_); -lean_ctor_set(v___x_3446_, 4, v___x_3441_); -return v___x_3446_; +lean_object* v___x_3461_; lean_object* v___x_3462_; lean_object* v___x_3463_; lean_object* v___x_3464_; lean_object* v___x_3465_; lean_object* v___x_3466_; +v___x_3461_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__12); +v___x_3462_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__6); +v___x_3463_ = lean_box(1); +v___x_3464_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__11); +v___x_3465_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__10); +v___x_3466_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_3466_, 0, v___x_3465_); +lean_ctor_set(v___x_3466_, 1, v___x_3464_); +lean_ctor_set(v___x_3466_, 2, v___x_3463_); +lean_ctor_set(v___x_3466_, 3, v___x_3462_); +lean_ctor_set(v___x_3466_, 4, v___x_3461_); +return v___x_3466_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(lean_object* v_params_3449_, lean_object* v_decls_3450_, lean_object* v_body_3451_, lean_object* v_a_3452_, lean_object* v_a_3453_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(lean_object* v_params_3469_, lean_object* v_decls_3470_, lean_object* v_body_3471_, lean_object* v_a_3472_, lean_object* v_a_3473_){ _start: { -lean_object* v_a_3456_; lean_object* v___x_3459_; lean_object* v_a_3460_; lean_object* v___x_3461_; lean_object* v___x_3462_; lean_object* v___x_3463_; uint8_t v___x_3464_; uint8_t v___x_3465_; lean_object* v___x_3466_; lean_object* v___x_3467_; lean_object* v___x_3468_; lean_object* v_fst_3469_; lean_object* v___f_3470_; lean_object* v___f_3471_; lean_object* v___x_3472_; -v___x_3459_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_3450_, v_body_3451_); -v_a_3460_ = lean_ctor_get(v___x_3459_, 0); -lean_inc(v_a_3460_); -lean_dec_ref(v___x_3459_); -v___x_3461_ = lean_box(1); -v___x_3462_ = lean_unsigned_to_nat(0u); -v___x_3463_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3460_, v_params_3449_, v_params_3449_, v___x_3462_, v___x_3462_, v___x_3461_); -v___x_3464_ = 1; -v___x_3465_ = 0; -v___x_3466_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9); -v___x_3467_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13); -v___x_3468_ = lean_st_mk_ref(v___x_3467_); -v_fst_3469_ = lean_ctor_get(v___x_3463_, 0); -lean_inc(v_fst_3469_); -lean_dec_ref(v___x_3463_); -v___f_3470_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__14)); -v___f_3471_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__15)); -v___x_3472_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(v_fst_3469_, v___f_3471_, v___f_3470_, v___x_3464_, v___x_3465_, v___x_3466_, v___x_3468_, v_a_3452_, v_a_3453_); -if (lean_obj_tag(v___x_3472_) == 0) +lean_object* v_a_3476_; lean_object* v___x_3479_; lean_object* v_a_3480_; lean_object* v___x_3481_; lean_object* v___x_3482_; lean_object* v___x_3483_; uint8_t v___x_3484_; uint8_t v___x_3485_; lean_object* v___x_3486_; lean_object* v___x_3487_; lean_object* v___x_3488_; lean_object* v_fst_3489_; lean_object* v___f_3490_; lean_object* v___f_3491_; lean_object* v___x_3492_; +v___x_3479_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_expandCodeDecls___redArg(v_decls_3470_, v_body_3471_); +v_a_3480_ = lean_ctor_get(v___x_3479_, 0); +lean_inc(v_a_3480_); +lean_dec_ref(v___x_3479_); +v___x_3481_ = lean_box(1); +v___x_3482_ = lean_unsigned_to_nat(0u); +v___x_3483_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3480_, v_params_3469_, v_params_3469_, v___x_3482_, v___x_3482_, v___x_3481_); +v___x_3484_ = 1; +v___x_3485_ = 0; +v___x_3486_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__9); +v___x_3487_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__13); +v___x_3488_ = lean_st_mk_ref(v___x_3487_); +v_fst_3489_ = lean_ctor_get(v___x_3483_, 0); +lean_inc(v_fst_3489_); +lean_dec_ref(v___x_3483_); +v___f_3490_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__14)); +v___f_3491_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___closed__15)); +v___x_3492_ = l_Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1(v_fst_3489_, v___f_3491_, v___f_3490_, v___x_3484_, v___x_3485_, v___x_3486_, v___x_3488_, v_a_3472_, v_a_3473_); +if (lean_obj_tag(v___x_3492_) == 0) { -lean_object* v_a_3473_; lean_object* v___x_3474_; -v_a_3473_ = lean_ctor_get(v___x_3472_, 0); -lean_inc(v_a_3473_); -lean_dec_ref(v___x_3472_); -v___x_3474_ = lean_st_ref_get(v___x_3468_); -lean_dec(v___x_3468_); -lean_dec(v___x_3474_); -v_a_3456_ = v_a_3473_; -goto v___jp_3455_; +lean_object* v_a_3493_; lean_object* v___x_3494_; +v_a_3493_ = lean_ctor_get(v___x_3492_, 0); +lean_inc(v_a_3493_); +lean_dec_ref(v___x_3492_); +v___x_3494_ = lean_st_ref_get(v___x_3488_); +lean_dec(v___x_3488_); +lean_dec(v___x_3494_); +v_a_3476_ = v_a_3493_; +goto v___jp_3475_; } else { -lean_dec(v___x_3468_); -if (lean_obj_tag(v___x_3472_) == 0) +lean_dec(v___x_3488_); +if (lean_obj_tag(v___x_3492_) == 0) { -lean_object* v_a_3475_; -v_a_3475_ = lean_ctor_get(v___x_3472_, 0); -lean_inc(v_a_3475_); -lean_dec_ref(v___x_3472_); -v_a_3456_ = v_a_3475_; -goto v___jp_3455_; +lean_object* v_a_3495_; +v_a_3495_ = lean_ctor_get(v___x_3492_, 0); +lean_inc(v_a_3495_); +lean_dec_ref(v___x_3492_); +v_a_3476_ = v_a_3495_; +goto v___jp_3475_; } else { -lean_object* v_a_3476_; lean_object* v___x_3478_; uint8_t v_isShared_3479_; uint8_t v_isSharedCheck_3483_; -v_a_3476_ = lean_ctor_get(v___x_3472_, 0); -v_isSharedCheck_3483_ = !lean_is_exclusive(v___x_3472_); -if (v_isSharedCheck_3483_ == 0) +lean_object* v_a_3496_; lean_object* v___x_3498_; uint8_t v_isShared_3499_; uint8_t v_isSharedCheck_3503_; +v_a_3496_ = lean_ctor_get(v___x_3492_, 0); +v_isSharedCheck_3503_ = !lean_is_exclusive(v___x_3492_); +if (v_isSharedCheck_3503_ == 0) { -v___x_3478_ = v___x_3472_; -v_isShared_3479_ = v_isSharedCheck_3483_; -goto v_resetjp_3477_; +v___x_3498_ = v___x_3492_; +v_isShared_3499_ = v_isSharedCheck_3503_; +goto v_resetjp_3497_; } else { -lean_inc(v_a_3476_); -lean_dec(v___x_3472_); -v___x_3478_ = lean_box(0); -v_isShared_3479_ = v_isSharedCheck_3483_; -goto v_resetjp_3477_; +lean_inc(v_a_3496_); +lean_dec(v___x_3492_); +v___x_3498_ = lean_box(0); +v_isShared_3499_ = v_isSharedCheck_3503_; +goto v_resetjp_3497_; } -v_resetjp_3477_: +v_resetjp_3497_: { -lean_object* v___x_3481_; -if (v_isShared_3479_ == 0) +lean_object* v___x_3501_; +if (v_isShared_3499_ == 0) { -v___x_3481_ = v___x_3478_; -goto v_reusejp_3480_; +v___x_3501_ = v___x_3498_; +goto v_reusejp_3500_; } else { -lean_object* v_reuseFailAlloc_3482_; -v_reuseFailAlloc_3482_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3482_, 0, v_a_3476_); -v___x_3481_ = v_reuseFailAlloc_3482_; -goto v_reusejp_3480_; +lean_object* v_reuseFailAlloc_3502_; +v_reuseFailAlloc_3502_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3502_, 0, v_a_3496_); +v___x_3501_ = v_reuseFailAlloc_3502_; +goto v_reusejp_3500_; } -v_reusejp_3480_: +v_reusejp_3500_: { -return v___x_3481_; +return v___x_3501_; } } } } -v___jp_3455_: +v___jp_3475_: { -lean_object* v___x_3457_; lean_object* v___x_3458_; -v___x_3457_ = l_Lean_Compiler_LCNF_normLevelParams(v_a_3456_); -v___x_3458_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3458_, 0, v___x_3457_); -return v___x_3458_; +lean_object* v___x_3477_; lean_object* v___x_3478_; +v___x_3477_ = l_Lean_Compiler_LCNF_normLevelParams(v_a_3476_); +v___x_3478_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3478_, 0, v___x_3477_); +return v___x_3478_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___boxed(lean_object* v_params_3484_, lean_object* v_decls_3485_, lean_object* v_body_3486_, lean_object* v_a_3487_, lean_object* v_a_3488_, lean_object* v_a_3489_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg___boxed(lean_object* v_params_3504_, lean_object* v_decls_3505_, lean_object* v_body_3506_, lean_object* v_a_3507_, lean_object* v_a_3508_, lean_object* v_a_3509_){ _start: { -lean_object* v_res_3490_; -v_res_3490_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_params_3484_, v_decls_3485_, v_body_3486_, v_a_3487_, v_a_3488_); -lean_dec(v_a_3488_); -lean_dec_ref(v_a_3487_); -lean_dec_ref(v_params_3484_); -return v_res_3490_; +lean_object* v_res_3510_; +v_res_3510_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_params_3504_, v_decls_3505_, v_body_3506_, v_a_3507_, v_a_3508_); +lean_dec(v_a_3508_); +lean_dec_ref(v_a_3507_); +lean_dec_ref(v_params_3504_); +return v_res_3510_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey(lean_object* v_params_3491_, lean_object* v_decls_3492_, lean_object* v_body_3493_, lean_object* v_a_3494_, lean_object* v_a_3495_, lean_object* v_a_3496_, lean_object* v_a_3497_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey(lean_object* v_params_3511_, lean_object* v_decls_3512_, lean_object* v_body_3513_, lean_object* v_a_3514_, lean_object* v_a_3515_, lean_object* v_a_3516_, lean_object* v_a_3517_){ _start: { -lean_object* v___x_3499_; -v___x_3499_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_params_3491_, v_decls_3492_, v_body_3493_, v_a_3496_, v_a_3497_); -return v___x_3499_; +lean_object* v___x_3519_; +v___x_3519_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_params_3511_, v_decls_3512_, v_body_3513_, v_a_3516_, v_a_3517_); +return v___x_3519_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___boxed(lean_object* v_params_3500_, lean_object* v_decls_3501_, lean_object* v_body_3502_, lean_object* v_a_3503_, lean_object* v_a_3504_, lean_object* v_a_3505_, lean_object* v_a_3506_, lean_object* v_a_3507_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___boxed(lean_object* v_params_3520_, lean_object* v_decls_3521_, lean_object* v_body_3522_, lean_object* v_a_3523_, lean_object* v_a_3524_, lean_object* v_a_3525_, lean_object* v_a_3526_, lean_object* v_a_3527_){ _start: { -lean_object* v_res_3508_; -v_res_3508_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey(v_params_3500_, v_decls_3501_, v_body_3502_, v_a_3503_, v_a_3504_, v_a_3505_, v_a_3506_); -lean_dec(v_a_3506_); -lean_dec_ref(v_a_3505_); -lean_dec(v_a_3504_); -lean_dec_ref(v_a_3503_); -lean_dec_ref(v_params_3500_); -return v_res_3508_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0(lean_object* v_a_3509_, lean_object* v_params_3510_, uint8_t v_pu_3511_, lean_object* v_params_3512_, lean_object* v_i_3513_, lean_object* v_a_3514_, lean_object* v_a_3515_){ -_start: -{ -lean_object* v___x_3516_; -lean_inc(v_a_3514_); -v___x_3516_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3509_, v_params_3510_, v_params_3512_, v_i_3513_, v_a_3514_, v_a_3515_); -return v___x_3516_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___boxed(lean_object* v_a_3517_, lean_object* v_params_3518_, lean_object* v_pu_3519_, lean_object* v_params_3520_, lean_object* v_i_3521_, lean_object* v_a_3522_, lean_object* v_a_3523_){ -_start: -{ -uint8_t v_pu_boxed_3524_; lean_object* v_res_3525_; -v_pu_boxed_3524_ = lean_unbox(v_pu_3519_); -v_res_3525_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0(v_a_3517_, v_params_3518_, v_pu_boxed_3524_, v_params_3520_, v_i_3521_, v_a_3522_, v_a_3523_); -lean_dec(v_a_3522_); +lean_object* v_res_3528_; +v_res_3528_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey(v_params_3520_, v_decls_3521_, v_body_3522_, v_a_3523_, v_a_3524_, v_a_3525_, v_a_3526_); +lean_dec(v_a_3526_); +lean_dec_ref(v_a_3525_); +lean_dec(v_a_3524_); +lean_dec_ref(v_a_3523_); lean_dec_ref(v_params_3520_); -lean_dec_ref(v_params_3518_); -return v_res_3525_; +return v_res_3528_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4(lean_object* v_upperBound_3526_, lean_object* v___x_3527_, lean_object* v_pre_3528_, lean_object* v_post_3529_, uint8_t v_usedLetOnly_3530_, uint8_t v_skipConstInApp_3531_, uint8_t v_skipInstances_3532_, lean_object* v___x_3533_, lean_object* v_inst_3534_, lean_object* v_R_3535_, lean_object* v_a_3536_, lean_object* v_b_3537_, lean_object* v_c_3538_, lean_object* v___y_3539_, lean_object* v___y_3540_, lean_object* v___y_3541_, lean_object* v___y_3542_, lean_object* v___y_3543_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0(lean_object* v_a_3529_, lean_object* v_params_3530_, uint8_t v_pu_3531_, lean_object* v_params_3532_, lean_object* v_i_3533_, lean_object* v_a_3534_, lean_object* v_a_3535_){ _start: { -lean_object* v___x_3545_; -v___x_3545_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v_upperBound_3526_, v___x_3527_, v_pre_3528_, v_post_3529_, v_usedLetOnly_3530_, v_skipConstInApp_3531_, v_skipInstances_3532_, v_a_3536_, v_b_3537_, v___y_3539_, v___y_3540_, v___y_3541_, v___y_3542_, v___y_3543_); -return v___x_3545_; +lean_object* v___x_3536_; +lean_inc(v_a_3534_); +v___x_3536_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___redArg(v_a_3529_, v_params_3530_, v_params_3532_, v_i_3533_, v_a_3534_, v_a_3535_); +return v___x_3536_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0___boxed(lean_object* v_a_3537_, lean_object* v_params_3538_, lean_object* v_pu_3539_, lean_object* v_params_3540_, lean_object* v_i_3541_, lean_object* v_a_3542_, lean_object* v_a_3543_){ +_start: +{ +uint8_t v_pu_boxed_3544_; lean_object* v_res_3545_; +v_pu_boxed_3544_ = lean_unbox(v_pu_3539_); +v_res_3545_ = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__0(v_a_3537_, v_params_3538_, v_pu_boxed_3544_, v_params_3540_, v_i_3541_, v_a_3542_, v_a_3543_); +lean_dec(v_a_3542_); +lean_dec_ref(v_params_3540_); +lean_dec_ref(v_params_3538_); +return v_res_3545_; +} +} +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4(lean_object* v_upperBound_3546_, lean_object* v___x_3547_, lean_object* v_pre_3548_, lean_object* v_post_3549_, uint8_t v_usedLetOnly_3550_, uint8_t v_skipConstInApp_3551_, uint8_t v_skipInstances_3552_, lean_object* v___x_3553_, lean_object* v_inst_3554_, lean_object* v_R_3555_, lean_object* v_a_3556_, lean_object* v_b_3557_, lean_object* v_c_3558_, lean_object* v___y_3559_, lean_object* v___y_3560_, lean_object* v___y_3561_, lean_object* v___y_3562_, lean_object* v___y_3563_){ +_start: +{ +lean_object* v___x_3565_; +v___x_3565_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___redArg(v_upperBound_3546_, v___x_3547_, v_pre_3548_, v_post_3549_, v_usedLetOnly_3550_, v_skipConstInApp_3551_, v_skipInstances_3552_, v_a_3556_, v_b_3557_, v___y_3559_, v___y_3560_, v___y_3561_, v___y_3562_, v___y_3563_); +return v___x_3565_; } } LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4___boxed(lean_object** _args){ -lean_object* v_upperBound_3546_ = _args[0]; -lean_object* v___x_3547_ = _args[1]; -lean_object* v_pre_3548_ = _args[2]; -lean_object* v_post_3549_ = _args[3]; -lean_object* v_usedLetOnly_3550_ = _args[4]; -lean_object* v_skipConstInApp_3551_ = _args[5]; -lean_object* v_skipInstances_3552_ = _args[6]; -lean_object* v___x_3553_ = _args[7]; -lean_object* v_inst_3554_ = _args[8]; -lean_object* v_R_3555_ = _args[9]; -lean_object* v_a_3556_ = _args[10]; -lean_object* v_b_3557_ = _args[11]; -lean_object* v_c_3558_ = _args[12]; -lean_object* v___y_3559_ = _args[13]; -lean_object* v___y_3560_ = _args[14]; -lean_object* v___y_3561_ = _args[15]; -lean_object* v___y_3562_ = _args[16]; -lean_object* v___y_3563_ = _args[17]; -lean_object* v___y_3564_ = _args[18]; +lean_object* v_upperBound_3566_ = _args[0]; +lean_object* v___x_3567_ = _args[1]; +lean_object* v_pre_3568_ = _args[2]; +lean_object* v_post_3569_ = _args[3]; +lean_object* v_usedLetOnly_3570_ = _args[4]; +lean_object* v_skipConstInApp_3571_ = _args[5]; +lean_object* v_skipInstances_3572_ = _args[6]; +lean_object* v___x_3573_ = _args[7]; +lean_object* v_inst_3574_ = _args[8]; +lean_object* v_R_3575_ = _args[9]; +lean_object* v_a_3576_ = _args[10]; +lean_object* v_b_3577_ = _args[11]; +lean_object* v_c_3578_ = _args[12]; +lean_object* v___y_3579_ = _args[13]; +lean_object* v___y_3580_ = _args[14]; +lean_object* v___y_3581_ = _args[15]; +lean_object* v___y_3582_ = _args[16]; +lean_object* v___y_3583_ = _args[17]; +lean_object* v___y_3584_ = _args[18]; _start: { -uint8_t v_usedLetOnly_boxed_3565_; uint8_t v_skipConstInApp_boxed_3566_; uint8_t v_skipInstances_boxed_3567_; lean_object* v_res_3568_; -v_usedLetOnly_boxed_3565_ = lean_unbox(v_usedLetOnly_3550_); -v_skipConstInApp_boxed_3566_ = lean_unbox(v_skipConstInApp_3551_); -v_skipInstances_boxed_3567_ = lean_unbox(v_skipInstances_3552_); -v_res_3568_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4(v_upperBound_3546_, v___x_3547_, v_pre_3548_, v_post_3549_, v_usedLetOnly_boxed_3565_, v_skipConstInApp_boxed_3566_, v_skipInstances_boxed_3567_, v___x_3553_, v_inst_3554_, v_R_3555_, v_a_3556_, v_b_3557_, v_c_3558_, v___y_3559_, v___y_3560_, v___y_3561_, v___y_3562_, v___y_3563_); -lean_dec(v___y_3563_); -lean_dec_ref(v___y_3562_); -lean_dec(v___y_3561_); -lean_dec_ref(v___y_3560_); -lean_dec(v___y_3559_); -lean_dec(v___x_3553_); -lean_dec_ref(v___x_3547_); -lean_dec(v_upperBound_3546_); -return v_res_3568_; +uint8_t v_usedLetOnly_boxed_3585_; uint8_t v_skipConstInApp_boxed_3586_; uint8_t v_skipInstances_boxed_3587_; lean_object* v_res_3588_; +v_usedLetOnly_boxed_3585_ = lean_unbox(v_usedLetOnly_3570_); +v_skipConstInApp_boxed_3586_ = lean_unbox(v_skipConstInApp_3571_); +v_skipInstances_boxed_3587_ = lean_unbox(v_skipInstances_3572_); +v_res_3588_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__4(v_upperBound_3566_, v___x_3567_, v_pre_3568_, v_post_3569_, v_usedLetOnly_boxed_3585_, v_skipConstInApp_boxed_3586_, v_skipInstances_boxed_3587_, v___x_3573_, v_inst_3574_, v_R_3575_, v_a_3576_, v_b_3577_, v_c_3578_, v___y_3579_, v___y_3580_, v___y_3581_, v___y_3582_, v___y_3583_); +lean_dec(v___y_3583_); +lean_dec_ref(v___y_3582_); +lean_dec(v___y_3581_); +lean_dec_ref(v___y_3580_); +lean_dec(v___y_3579_); +lean_dec(v___x_3573_); +lean_dec_ref(v___x_3567_); +lean_dec(v_upperBound_3566_); +return v_res_3588_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5(lean_object* v_00_u03b2_3569_, lean_object* v_m_3570_, lean_object* v_a_3571_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5(lean_object* v_00_u03b2_3589_, lean_object* v_m_3590_, lean_object* v_a_3591_){ _start: { -lean_object* v___x_3572_; -v___x_3572_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_m_3570_, v_a_3571_); -return v___x_3572_; +lean_object* v___x_3592_; +v___x_3592_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___redArg(v_m_3590_, v_a_3591_); +return v___x_3592_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___boxed(lean_object* v_00_u03b2_3573_, lean_object* v_m_3574_, lean_object* v_a_3575_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5___boxed(lean_object* v_00_u03b2_3593_, lean_object* v_m_3594_, lean_object* v_a_3595_){ _start: { -lean_object* v_res_3576_; -v_res_3576_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5(v_00_u03b2_3573_, v_m_3574_, v_a_3575_); -lean_dec_ref(v_a_3575_); -lean_dec_ref(v_m_3574_); -return v_res_3576_; +lean_object* v_res_3596_; +v_res_3596_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5(v_00_u03b2_3593_, v_m_3594_, v_a_3595_); +lean_dec_ref(v_a_3595_); +lean_dec_ref(v_m_3594_); +return v_res_3596_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8(lean_object* v_00_u03b1_3577_, lean_object* v_name_3578_, uint8_t v_bi_3579_, lean_object* v_type_3580_, lean_object* v_k_3581_, uint8_t v_kind_3582_, lean_object* v___y_3583_, lean_object* v___y_3584_, lean_object* v___y_3585_, lean_object* v___y_3586_, lean_object* v___y_3587_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8(lean_object* v_00_u03b1_3597_, lean_object* v_name_3598_, uint8_t v_bi_3599_, lean_object* v_type_3600_, lean_object* v_k_3601_, uint8_t v_kind_3602_, lean_object* v___y_3603_, lean_object* v___y_3604_, lean_object* v___y_3605_, lean_object* v___y_3606_, lean_object* v___y_3607_){ _start: { -lean_object* v___x_3589_; -v___x_3589_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_name_3578_, v_bi_3579_, v_type_3580_, v_k_3581_, v_kind_3582_, v___y_3583_, v___y_3584_, v___y_3585_, v___y_3586_, v___y_3587_); -return v___x_3589_; +lean_object* v___x_3609_; +v___x_3609_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___redArg(v_name_3598_, v_bi_3599_, v_type_3600_, v_k_3601_, v_kind_3602_, v___y_3603_, v___y_3604_, v___y_3605_, v___y_3606_, v___y_3607_); +return v___x_3609_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___boxed(lean_object* v_00_u03b1_3590_, lean_object* v_name_3591_, lean_object* v_bi_3592_, lean_object* v_type_3593_, lean_object* v_k_3594_, lean_object* v_kind_3595_, lean_object* v___y_3596_, lean_object* v___y_3597_, lean_object* v___y_3598_, lean_object* v___y_3599_, lean_object* v___y_3600_, lean_object* v___y_3601_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8___boxed(lean_object* v_00_u03b1_3610_, lean_object* v_name_3611_, lean_object* v_bi_3612_, lean_object* v_type_3613_, lean_object* v_k_3614_, lean_object* v_kind_3615_, lean_object* v___y_3616_, lean_object* v___y_3617_, lean_object* v___y_3618_, lean_object* v___y_3619_, lean_object* v___y_3620_, lean_object* v___y_3621_){ _start: { -uint8_t v_bi_boxed_3602_; uint8_t v_kind_boxed_3603_; lean_object* v_res_3604_; -v_bi_boxed_3602_ = lean_unbox(v_bi_3592_); -v_kind_boxed_3603_ = lean_unbox(v_kind_3595_); -v_res_3604_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8(v_00_u03b1_3590_, v_name_3591_, v_bi_boxed_3602_, v_type_3593_, v_k_3594_, v_kind_boxed_3603_, v___y_3596_, v___y_3597_, v___y_3598_, v___y_3599_, v___y_3600_); -lean_dec(v___y_3600_); -lean_dec_ref(v___y_3599_); -lean_dec(v___y_3598_); -lean_dec_ref(v___y_3597_); -lean_dec(v___y_3596_); -return v_res_3604_; +uint8_t v_bi_boxed_3622_; uint8_t v_kind_boxed_3623_; lean_object* v_res_3624_; +v_bi_boxed_3622_ = lean_unbox(v_bi_3612_); +v_kind_boxed_3623_ = lean_unbox(v_kind_3615_); +v_res_3624_ = l_Lean_Meta_withLocalDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitForall___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__6_spec__8(v_00_u03b1_3610_, v_name_3611_, v_bi_boxed_3622_, v_type_3613_, v_k_3614_, v_kind_boxed_3623_, v___y_3616_, v___y_3617_, v___y_3618_, v___y_3619_, v___y_3620_); +lean_dec(v___y_3620_); +lean_dec_ref(v___y_3619_); +lean_dec(v___y_3618_); +lean_dec_ref(v___y_3617_); +lean_dec(v___y_3616_); +return v_res_3624_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11(lean_object* v_00_u03b1_3605_, lean_object* v_name_3606_, lean_object* v_type_3607_, lean_object* v_val_3608_, lean_object* v_k_3609_, uint8_t v_nondep_3610_, uint8_t v_kind_3611_, lean_object* v___y_3612_, lean_object* v___y_3613_, lean_object* v___y_3614_, lean_object* v___y_3615_, lean_object* v___y_3616_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11(lean_object* v_00_u03b1_3625_, lean_object* v_name_3626_, lean_object* v_type_3627_, lean_object* v_val_3628_, lean_object* v_k_3629_, uint8_t v_nondep_3630_, uint8_t v_kind_3631_, lean_object* v___y_3632_, lean_object* v___y_3633_, lean_object* v___y_3634_, lean_object* v___y_3635_, lean_object* v___y_3636_){ _start: { -lean_object* v___x_3618_; -v___x_3618_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_name_3606_, v_type_3607_, v_val_3608_, v_k_3609_, v_nondep_3610_, v_kind_3611_, v___y_3612_, v___y_3613_, v___y_3614_, v___y_3615_, v___y_3616_); -return v___x_3618_; +lean_object* v___x_3638_; +v___x_3638_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___redArg(v_name_3626_, v_type_3627_, v_val_3628_, v_k_3629_, v_nondep_3630_, v_kind_3631_, v___y_3632_, v___y_3633_, v___y_3634_, v___y_3635_, v___y_3636_); +return v___x_3638_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___boxed(lean_object* v_00_u03b1_3619_, lean_object* v_name_3620_, lean_object* v_type_3621_, lean_object* v_val_3622_, lean_object* v_k_3623_, lean_object* v_nondep_3624_, lean_object* v_kind_3625_, lean_object* v___y_3626_, lean_object* v___y_3627_, lean_object* v___y_3628_, lean_object* v___y_3629_, lean_object* v___y_3630_, lean_object* v___y_3631_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11___boxed(lean_object* v_00_u03b1_3639_, lean_object* v_name_3640_, lean_object* v_type_3641_, lean_object* v_val_3642_, lean_object* v_k_3643_, lean_object* v_nondep_3644_, lean_object* v_kind_3645_, lean_object* v___y_3646_, lean_object* v___y_3647_, lean_object* v___y_3648_, lean_object* v___y_3649_, lean_object* v___y_3650_, lean_object* v___y_3651_){ _start: { -uint8_t v_nondep_boxed_3632_; uint8_t v_kind_boxed_3633_; lean_object* v_res_3634_; -v_nondep_boxed_3632_ = lean_unbox(v_nondep_3624_); -v_kind_boxed_3633_ = lean_unbox(v_kind_3625_); -v_res_3634_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11(v_00_u03b1_3619_, v_name_3620_, v_type_3621_, v_val_3622_, v_k_3623_, v_nondep_boxed_3632_, v_kind_boxed_3633_, v___y_3626_, v___y_3627_, v___y_3628_, v___y_3629_, v___y_3630_); -lean_dec(v___y_3630_); -lean_dec_ref(v___y_3629_); -lean_dec(v___y_3628_); -lean_dec_ref(v___y_3627_); -lean_dec(v___y_3626_); -return v_res_3634_; -} -} -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14(lean_object* v_00_u03b1_3635_, lean_object* v_ref_3636_, lean_object* v___y_3637_, lean_object* v___y_3638_, lean_object* v___y_3639_, lean_object* v___y_3640_){ -_start: -{ -lean_object* v___x_3642_; -v___x_3642_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_3636_); -return v___x_3642_; -} -} -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___boxed(lean_object* v_00_u03b1_3643_, lean_object* v_ref_3644_, lean_object* v___y_3645_, lean_object* v___y_3646_, lean_object* v___y_3647_, lean_object* v___y_3648_, lean_object* v___y_3649_){ -_start: -{ -lean_object* v_res_3650_; -v_res_3650_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14(v_00_u03b1_3643_, v_ref_3644_, v___y_3645_, v___y_3646_, v___y_3647_, v___y_3648_); +uint8_t v_nondep_boxed_3652_; uint8_t v_kind_boxed_3653_; lean_object* v_res_3654_; +v_nondep_boxed_3652_ = lean_unbox(v_nondep_3644_); +v_kind_boxed_3653_ = lean_unbox(v_kind_3645_); +v_res_3654_ = l_Lean_Meta_withLetDecl___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit_visitLet___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__8_spec__11(v_00_u03b1_3639_, v_name_3640_, v_type_3641_, v_val_3642_, v_k_3643_, v_nondep_boxed_3652_, v_kind_boxed_3653_, v___y_3646_, v___y_3647_, v___y_3648_, v___y_3649_, v___y_3650_); +lean_dec(v___y_3650_); +lean_dec_ref(v___y_3649_); lean_dec(v___y_3648_); lean_dec_ref(v___y_3647_); lean_dec(v___y_3646_); -lean_dec_ref(v___y_3645_); -return v_res_3650_; +return v_res_3654_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10(lean_object* v_00_u03b1_3651_, lean_object* v_x_3652_, lean_object* v___y_3653_, lean_object* v___y_3654_, lean_object* v___y_3655_, lean_object* v___y_3656_, lean_object* v___y_3657_){ +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14(lean_object* v_00_u03b1_3655_, lean_object* v_ref_3656_, lean_object* v___y_3657_, lean_object* v___y_3658_, lean_object* v___y_3659_, lean_object* v___y_3660_){ _start: { -lean_object* v___x_3659_; -v___x_3659_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v_x_3652_, v___y_3653_, v___y_3654_, v___y_3655_, v___y_3656_, v___y_3657_); -return v___x_3659_; +lean_object* v___x_3662_; +v___x_3662_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___redArg(v_ref_3656_); +return v___x_3662_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___boxed(lean_object* v_00_u03b1_3660_, lean_object* v_x_3661_, lean_object* v___y_3662_, lean_object* v___y_3663_, lean_object* v___y_3664_, lean_object* v___y_3665_, lean_object* v___y_3666_, lean_object* v___y_3667_){ +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14___boxed(lean_object* v_00_u03b1_3663_, lean_object* v_ref_3664_, lean_object* v___y_3665_, lean_object* v___y_3666_, lean_object* v___y_3667_, lean_object* v___y_3668_, lean_object* v___y_3669_){ _start: { -lean_object* v_res_3668_; -v_res_3668_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10(v_00_u03b1_3660_, v_x_3661_, v___y_3662_, v___y_3663_, v___y_3664_, v___y_3665_, v___y_3666_); +lean_object* v_res_3670_; +v_res_3670_ = l_Lean_throwMaxRecDepthAt___at___00Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10_spec__14(v_00_u03b1_3663_, v_ref_3664_, v___y_3665_, v___y_3666_, v___y_3667_, v___y_3668_); +lean_dec(v___y_3668_); +lean_dec_ref(v___y_3667_); lean_dec(v___y_3666_); lean_dec_ref(v___y_3665_); -lean_dec(v___y_3664_); -lean_dec_ref(v___y_3663_); -lean_dec(v___y_3662_); -return v_res_3668_; +return v_res_3670_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11(lean_object* v_00_u03b2_3669_, lean_object* v_m_3670_, lean_object* v_a_3671_, lean_object* v_b_3672_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10(lean_object* v_00_u03b1_3671_, lean_object* v_x_3672_, lean_object* v___y_3673_, lean_object* v___y_3674_, lean_object* v___y_3675_, lean_object* v___y_3676_, lean_object* v___y_3677_){ _start: { -lean_object* v___x_3673_; -v___x_3673_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(v_m_3670_, v_a_3671_, v_b_3672_); -return v___x_3673_; +lean_object* v___x_3679_; +v___x_3679_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___redArg(v_x_3672_, v___y_3673_, v___y_3674_, v___y_3675_, v___y_3676_, v___y_3677_); +return v___x_3679_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6(lean_object* v_00_u03b2_3674_, lean_object* v_a_3675_, lean_object* v_x_3676_){ +LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10___boxed(lean_object* v_00_u03b1_3680_, lean_object* v_x_3681_, lean_object* v___y_3682_, lean_object* v___y_3683_, lean_object* v___y_3684_, lean_object* v___y_3685_, lean_object* v___y_3686_, lean_object* v___y_3687_){ _start: { -lean_object* v___x_3677_; -v___x_3677_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_3675_, v_x_3676_); -return v___x_3677_; +lean_object* v_res_3688_; +v_res_3688_ = l_Lean_Meta_withIncRecDepth___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__10(v_00_u03b1_3680_, v_x_3681_, v___y_3682_, v___y_3683_, v___y_3684_, v___y_3685_, v___y_3686_); +lean_dec(v___y_3686_); +lean_dec_ref(v___y_3685_); +lean_dec(v___y_3684_); +lean_dec_ref(v___y_3683_); +lean_dec(v___y_3682_); +return v_res_3688_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___boxed(lean_object* v_00_u03b2_3678_, lean_object* v_a_3679_, lean_object* v_x_3680_){ -_start: -{ -lean_object* v_res_3681_; -v_res_3681_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6(v_00_u03b2_3678_, v_a_3679_, v_x_3680_); -lean_dec(v_x_3680_); -lean_dec_ref(v_a_3679_); -return v_res_3681_; -} -} -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16(lean_object* v_00_u03b2_3682_, lean_object* v_a_3683_, lean_object* v_x_3684_){ -_start: -{ -uint8_t v___x_3685_; -v___x_3685_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_3683_, v_x_3684_); -return v___x_3685_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___boxed(lean_object* v_00_u03b2_3686_, lean_object* v_a_3687_, lean_object* v_x_3688_){ -_start: -{ -uint8_t v_res_3689_; lean_object* v_r_3690_; -v_res_3689_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16(v_00_u03b2_3686_, v_a_3687_, v_x_3688_); -lean_dec(v_x_3688_); -lean_dec_ref(v_a_3687_); -v_r_3690_ = lean_box(v_res_3689_); -return v_r_3690_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17(lean_object* v_00_u03b2_3691_, lean_object* v_data_3692_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11(lean_object* v_00_u03b2_3689_, lean_object* v_m_3690_, lean_object* v_a_3691_, lean_object* v_b_3692_){ _start: { lean_object* v___x_3693_; -v___x_3693_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(v_data_3692_); +v___x_3693_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11___redArg(v_m_3690_, v_a_3691_, v_b_3692_); return v___x_3693_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18(lean_object* v_00_u03b2_3694_, lean_object* v_a_3695_, lean_object* v_b_3696_, lean_object* v_x_3697_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6(lean_object* v_00_u03b2_3694_, lean_object* v_a_3695_, lean_object* v_x_3696_){ _start: { -lean_object* v___x_3698_; -v___x_3698_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_3695_, v_b_3696_, v_x_3697_); -return v___x_3698_; +lean_object* v___x_3697_; +v___x_3697_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___redArg(v_a_3695_, v_x_3696_); +return v___x_3697_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18(lean_object* v_00_u03b2_3699_, lean_object* v_i_3700_, lean_object* v_source_3701_, lean_object* v_target_3702_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6___boxed(lean_object* v_00_u03b2_3698_, lean_object* v_a_3699_, lean_object* v_x_3700_){ _start: { -lean_object* v___x_3703_; -v___x_3703_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(v_i_3700_, v_source_3701_, v_target_3702_); -return v___x_3703_; +lean_object* v_res_3701_; +v_res_3701_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__5_spec__6(v_00_u03b2_3698_, v_a_3699_, v_x_3700_); +lean_dec(v_x_3700_); +lean_dec_ref(v_a_3699_); +return v_res_3701_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19(lean_object* v_00_u03b2_3704_, lean_object* v_x_3705_, lean_object* v_x_3706_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16(lean_object* v_00_u03b2_3702_, lean_object* v_a_3703_, lean_object* v_x_3704_){ _start: { -lean_object* v___x_3707_; -v___x_3707_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(v_x_3705_, v_x_3706_); -return v___x_3707_; +uint8_t v___x_3705_; +v___x_3705_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___redArg(v_a_3703_, v_x_3704_); +return v___x_3705_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16___boxed(lean_object* v_00_u03b2_3706_, lean_object* v_a_3707_, lean_object* v_x_3708_){ +_start: +{ +uint8_t v_res_3709_; lean_object* v_r_3710_; +v_res_3709_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__16(v_00_u03b2_3706_, v_a_3707_, v_x_3708_); +lean_dec(v_x_3708_); +lean_dec_ref(v_a_3707_); +v_r_3710_ = lean_box(v_res_3709_); +return v_r_3710_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17(lean_object* v_00_u03b2_3711_, lean_object* v_data_3712_){ +_start: +{ +lean_object* v___x_3713_; +v___x_3713_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17___redArg(v_data_3712_); +return v___x_3713_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18(lean_object* v_00_u03b2_3714_, lean_object* v_a_3715_, lean_object* v_b_3716_, lean_object* v_x_3717_){ +_start: +{ +lean_object* v___x_3718_; +v___x_3718_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__18___redArg(v_a_3715_, v_b_3716_, v_x_3717_); +return v___x_3718_; +} +} +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18(lean_object* v_00_u03b2_3719_, lean_object* v_i_3720_, lean_object* v_source_3721_, lean_object* v_target_3722_){ +_start: +{ +lean_object* v___x_3723_; +v___x_3723_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18___redArg(v_i_3720_, v_source_3721_, v_target_3722_); +return v___x_3723_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19(lean_object* v_00_u03b2_3724_, lean_object* v_x_3725_, lean_object* v_x_3726_){ +_start: +{ +lean_object* v___x_3727_; +v___x_3727_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Meta_Transform_0__Lean_Meta_transformWithCache_visit___at___00Lean_Meta_transform___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey_spec__1_spec__1_spec__11_spec__17_spec__18_spec__19___redArg(v_x_3725_, v_x_3726_); +return v___x_3727_; } } static lean_object* _init_l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0(void){ _start: { -uint8_t v___x_3708_; lean_object* v___x_3709_; -v___x_3708_ = 0; -v___x_3709_ = l_Lean_Compiler_LCNF_instInhabitedDecl_default(v___x_3708_); -return v___x_3709_; +uint8_t v___x_3728_; lean_object* v___x_3729_; +v___x_3728_ = 0; +v___x_3729_ = l_Lean_Compiler_LCNF_instInhabitedDecl_default(v___x_3728_); +return v___x_3729_; } } -LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(lean_object* v_msg_3710_, uint8_t v___y_3711_, lean_object* v___y_3712_, lean_object* v___y_3713_, lean_object* v___y_3714_, lean_object* v___y_3715_, lean_object* v___y_3716_){ +LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(lean_object* v_msg_3730_, uint8_t v___y_3731_, lean_object* v___y_3732_, lean_object* v___y_3733_, lean_object* v___y_3734_, lean_object* v___y_3735_, lean_object* v___y_3736_){ _start: { -lean_object* v___x_3718_; lean_object* v_toApplicative_3719_; lean_object* v_toFunctor_3720_; lean_object* v_toSeq_3721_; lean_object* v_toSeqLeft_3722_; lean_object* v_toSeqRight_3723_; lean_object* v___f_3724_; lean_object* v___f_3725_; lean_object* v___f_3726_; lean_object* v___f_3727_; lean_object* v___x_3728_; lean_object* v___f_3729_; lean_object* v___f_3730_; lean_object* v___f_3731_; lean_object* v___x_3732_; lean_object* v___x_3733_; lean_object* v___x_3734_; lean_object* v_toApplicative_3735_; lean_object* v___x_3737_; uint8_t v_isShared_3738_; uint8_t v_isSharedCheck_3769_; -v___x_3718_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1); -v_toApplicative_3719_ = lean_ctor_get(v___x_3718_, 0); -lean_inc_ref(v_toApplicative_3719_); -v_toFunctor_3720_ = lean_ctor_get(v_toApplicative_3719_, 0); -lean_inc_ref(v_toFunctor_3720_); -v_toSeq_3721_ = lean_ctor_get(v_toApplicative_3719_, 2); -lean_inc(v_toSeq_3721_); -v_toSeqLeft_3722_ = lean_ctor_get(v_toApplicative_3719_, 3); -lean_inc(v_toSeqLeft_3722_); -v_toSeqRight_3723_ = lean_ctor_get(v_toApplicative_3719_, 4); -lean_inc(v_toSeqRight_3723_); -lean_dec_ref(v_toApplicative_3719_); -v___f_3724_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__2)); -v___f_3725_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__3)); -lean_inc_ref(v_toFunctor_3720_); -v___f_3726_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); -lean_closure_set(v___f_3726_, 0, v_toFunctor_3720_); -v___f_3727_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_3727_, 0, v_toFunctor_3720_); -v___x_3728_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_3728_, 0, v___f_3726_); -lean_ctor_set(v___x_3728_, 1, v___f_3727_); -v___f_3729_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_3729_, 0, v_toSeqRight_3723_); -v___f_3730_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); -lean_closure_set(v___f_3730_, 0, v_toSeqLeft_3722_); -v___f_3731_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); -lean_closure_set(v___f_3731_, 0, v_toSeq_3721_); -v___x_3732_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_3732_, 0, v___x_3728_); -lean_ctor_set(v___x_3732_, 1, v___f_3724_); -lean_ctor_set(v___x_3732_, 2, v___f_3731_); -lean_ctor_set(v___x_3732_, 3, v___f_3730_); -lean_ctor_set(v___x_3732_, 4, v___f_3729_); -v___x_3733_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_3733_, 0, v___x_3732_); -lean_ctor_set(v___x_3733_, 1, v___f_3725_); -v___x_3734_ = l_StateRefT_x27_instMonad___redArg(v___x_3733_); -v_toApplicative_3735_ = lean_ctor_get(v___x_3734_, 0); -v_isSharedCheck_3769_ = !lean_is_exclusive(v___x_3734_); -if (v_isSharedCheck_3769_ == 0) +lean_object* v___x_3738_; lean_object* v_toApplicative_3739_; lean_object* v_toFunctor_3740_; lean_object* v_toSeq_3741_; lean_object* v_toSeqLeft_3742_; lean_object* v_toSeqRight_3743_; lean_object* v___f_3744_; lean_object* v___f_3745_; lean_object* v___f_3746_; lean_object* v___f_3747_; lean_object* v___x_3748_; lean_object* v___f_3749_; lean_object* v___f_3750_; lean_object* v___f_3751_; lean_object* v___x_3752_; lean_object* v___x_3753_; lean_object* v___x_3754_; lean_object* v_toApplicative_3755_; lean_object* v___x_3757_; uint8_t v_isShared_3758_; uint8_t v_isSharedCheck_3789_; +v___x_3738_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1); +v_toApplicative_3739_ = lean_ctor_get(v___x_3738_, 0); +lean_inc_ref(v_toApplicative_3739_); +v_toFunctor_3740_ = lean_ctor_get(v_toApplicative_3739_, 0); +lean_inc_ref(v_toFunctor_3740_); +v_toSeq_3741_ = lean_ctor_get(v_toApplicative_3739_, 2); +lean_inc(v_toSeq_3741_); +v_toSeqLeft_3742_ = lean_ctor_get(v_toApplicative_3739_, 3); +lean_inc(v_toSeqLeft_3742_); +v_toSeqRight_3743_ = lean_ctor_get(v_toApplicative_3739_, 4); +lean_inc(v_toSeqRight_3743_); +lean_dec_ref(v_toApplicative_3739_); +v___f_3744_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__2)); +v___f_3745_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__3)); +lean_inc_ref(v_toFunctor_3740_); +v___f_3746_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); +lean_closure_set(v___f_3746_, 0, v_toFunctor_3740_); +v___f_3747_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_3747_, 0, v_toFunctor_3740_); +v___x_3748_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_3748_, 0, v___f_3746_); +lean_ctor_set(v___x_3748_, 1, v___f_3747_); +v___f_3749_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_3749_, 0, v_toSeqRight_3743_); +v___f_3750_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); +lean_closure_set(v___f_3750_, 0, v_toSeqLeft_3742_); +v___f_3751_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); +lean_closure_set(v___f_3751_, 0, v_toSeq_3741_); +v___x_3752_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_3752_, 0, v___x_3748_); +lean_ctor_set(v___x_3752_, 1, v___f_3744_); +lean_ctor_set(v___x_3752_, 2, v___f_3751_); +lean_ctor_set(v___x_3752_, 3, v___f_3750_); +lean_ctor_set(v___x_3752_, 4, v___f_3749_); +v___x_3753_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_3753_, 0, v___x_3752_); +lean_ctor_set(v___x_3753_, 1, v___f_3745_); +v___x_3754_ = l_StateRefT_x27_instMonad___redArg(v___x_3753_); +v_toApplicative_3755_ = lean_ctor_get(v___x_3754_, 0); +v_isSharedCheck_3789_ = !lean_is_exclusive(v___x_3754_); +if (v_isSharedCheck_3789_ == 0) { -lean_object* v_unused_3770_; -v_unused_3770_ = lean_ctor_get(v___x_3734_, 1); -lean_dec(v_unused_3770_); -v___x_3737_ = v___x_3734_; -v_isShared_3738_ = v_isSharedCheck_3769_; -goto v_resetjp_3736_; +lean_object* v_unused_3790_; +v_unused_3790_ = lean_ctor_get(v___x_3754_, 1); +lean_dec(v_unused_3790_); +v___x_3757_ = v___x_3754_; +v_isShared_3758_ = v_isSharedCheck_3789_; +goto v_resetjp_3756_; } else { -lean_inc(v_toApplicative_3735_); -lean_dec(v___x_3734_); -v___x_3737_ = lean_box(0); -v_isShared_3738_ = v_isSharedCheck_3769_; -goto v_resetjp_3736_; +lean_inc(v_toApplicative_3755_); +lean_dec(v___x_3754_); +v___x_3757_ = lean_box(0); +v_isShared_3758_ = v_isSharedCheck_3789_; +goto v_resetjp_3756_; } -v_resetjp_3736_: +v_resetjp_3756_: { -lean_object* v_toFunctor_3739_; lean_object* v_toSeq_3740_; lean_object* v_toSeqLeft_3741_; lean_object* v_toSeqRight_3742_; lean_object* v___x_3744_; uint8_t v_isShared_3745_; uint8_t v_isSharedCheck_3767_; -v_toFunctor_3739_ = lean_ctor_get(v_toApplicative_3735_, 0); -v_toSeq_3740_ = lean_ctor_get(v_toApplicative_3735_, 2); -v_toSeqLeft_3741_ = lean_ctor_get(v_toApplicative_3735_, 3); -v_toSeqRight_3742_ = lean_ctor_get(v_toApplicative_3735_, 4); -v_isSharedCheck_3767_ = !lean_is_exclusive(v_toApplicative_3735_); -if (v_isSharedCheck_3767_ == 0) +lean_object* v_toFunctor_3759_; lean_object* v_toSeq_3760_; lean_object* v_toSeqLeft_3761_; lean_object* v_toSeqRight_3762_; lean_object* v___x_3764_; uint8_t v_isShared_3765_; uint8_t v_isSharedCheck_3787_; +v_toFunctor_3759_ = lean_ctor_get(v_toApplicative_3755_, 0); +v_toSeq_3760_ = lean_ctor_get(v_toApplicative_3755_, 2); +v_toSeqLeft_3761_ = lean_ctor_get(v_toApplicative_3755_, 3); +v_toSeqRight_3762_ = lean_ctor_get(v_toApplicative_3755_, 4); +v_isSharedCheck_3787_ = !lean_is_exclusive(v_toApplicative_3755_); +if (v_isSharedCheck_3787_ == 0) { -lean_object* v_unused_3768_; -v_unused_3768_ = lean_ctor_get(v_toApplicative_3735_, 1); -lean_dec(v_unused_3768_); -v___x_3744_ = v_toApplicative_3735_; -v_isShared_3745_ = v_isSharedCheck_3767_; -goto v_resetjp_3743_; +lean_object* v_unused_3788_; +v_unused_3788_ = lean_ctor_get(v_toApplicative_3755_, 1); +lean_dec(v_unused_3788_); +v___x_3764_ = v_toApplicative_3755_; +v_isShared_3765_ = v_isSharedCheck_3787_; +goto v_resetjp_3763_; } else { -lean_inc(v_toSeqRight_3742_); -lean_inc(v_toSeqLeft_3741_); -lean_inc(v_toSeq_3740_); -lean_inc(v_toFunctor_3739_); -lean_dec(v_toApplicative_3735_); -v___x_3744_ = lean_box(0); -v_isShared_3745_ = v_isSharedCheck_3767_; -goto v_resetjp_3743_; +lean_inc(v_toSeqRight_3762_); +lean_inc(v_toSeqLeft_3761_); +lean_inc(v_toSeq_3760_); +lean_inc(v_toFunctor_3759_); +lean_dec(v_toApplicative_3755_); +v___x_3764_ = lean_box(0); +v_isShared_3765_ = v_isSharedCheck_3787_; +goto v_resetjp_3763_; } -v_resetjp_3743_: +v_resetjp_3763_: { -lean_object* v___f_3746_; lean_object* v___f_3747_; lean_object* v___f_3748_; lean_object* v___f_3749_; lean_object* v___x_3750_; lean_object* v___f_3751_; lean_object* v___f_3752_; lean_object* v___f_3753_; lean_object* v___x_3755_; -v___f_3746_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__6)); -v___f_3747_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__7)); -lean_inc_ref(v_toFunctor_3739_); -v___f_3748_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); -lean_closure_set(v___f_3748_, 0, v_toFunctor_3739_); -v___f_3749_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_3749_, 0, v_toFunctor_3739_); -v___x_3750_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_3750_, 0, v___f_3748_); -lean_ctor_set(v___x_3750_, 1, v___f_3749_); -v___f_3751_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_3751_, 0, v_toSeqRight_3742_); -v___f_3752_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); -lean_closure_set(v___f_3752_, 0, v_toSeqLeft_3741_); -v___f_3753_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); -lean_closure_set(v___f_3753_, 0, v_toSeq_3740_); -if (v_isShared_3745_ == 0) +lean_object* v___f_3766_; lean_object* v___f_3767_; lean_object* v___f_3768_; lean_object* v___f_3769_; lean_object* v___x_3770_; lean_object* v___f_3771_; lean_object* v___f_3772_; lean_object* v___f_3773_; lean_object* v___x_3775_; +v___f_3766_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__6)); +v___f_3767_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__7)); +lean_inc_ref(v_toFunctor_3759_); +v___f_3768_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); +lean_closure_set(v___f_3768_, 0, v_toFunctor_3759_); +v___f_3769_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_3769_, 0, v_toFunctor_3759_); +v___x_3770_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_3770_, 0, v___f_3768_); +lean_ctor_set(v___x_3770_, 1, v___f_3769_); +v___f_3771_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_3771_, 0, v_toSeqRight_3762_); +v___f_3772_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); +lean_closure_set(v___f_3772_, 0, v_toSeqLeft_3761_); +v___f_3773_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); +lean_closure_set(v___f_3773_, 0, v_toSeq_3760_); +if (v_isShared_3765_ == 0) { -lean_ctor_set(v___x_3744_, 4, v___f_3751_); -lean_ctor_set(v___x_3744_, 3, v___f_3752_); -lean_ctor_set(v___x_3744_, 2, v___f_3753_); -lean_ctor_set(v___x_3744_, 1, v___f_3746_); -lean_ctor_set(v___x_3744_, 0, v___x_3750_); -v___x_3755_ = v___x_3744_; -goto v_reusejp_3754_; +lean_ctor_set(v___x_3764_, 4, v___f_3771_); +lean_ctor_set(v___x_3764_, 3, v___f_3772_); +lean_ctor_set(v___x_3764_, 2, v___f_3773_); +lean_ctor_set(v___x_3764_, 1, v___f_3766_); +lean_ctor_set(v___x_3764_, 0, v___x_3770_); +v___x_3775_ = v___x_3764_; +goto v_reusejp_3774_; } else { -lean_object* v_reuseFailAlloc_3766_; -v_reuseFailAlloc_3766_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v_reuseFailAlloc_3766_, 0, v___x_3750_); -lean_ctor_set(v_reuseFailAlloc_3766_, 1, v___f_3746_); -lean_ctor_set(v_reuseFailAlloc_3766_, 2, v___f_3753_); -lean_ctor_set(v_reuseFailAlloc_3766_, 3, v___f_3752_); -lean_ctor_set(v_reuseFailAlloc_3766_, 4, v___f_3751_); -v___x_3755_ = v_reuseFailAlloc_3766_; -goto v_reusejp_3754_; +lean_object* v_reuseFailAlloc_3786_; +v_reuseFailAlloc_3786_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v_reuseFailAlloc_3786_, 0, v___x_3770_); +lean_ctor_set(v_reuseFailAlloc_3786_, 1, v___f_3766_); +lean_ctor_set(v_reuseFailAlloc_3786_, 2, v___f_3773_); +lean_ctor_set(v_reuseFailAlloc_3786_, 3, v___f_3772_); +lean_ctor_set(v_reuseFailAlloc_3786_, 4, v___f_3771_); +v___x_3775_ = v_reuseFailAlloc_3786_; +goto v_reusejp_3774_; } -v_reusejp_3754_: +v_reusejp_3774_: { -lean_object* v___x_3757_; -if (v_isShared_3738_ == 0) +lean_object* v___x_3777_; +if (v_isShared_3758_ == 0) { -lean_ctor_set(v___x_3737_, 1, v___f_3747_); -lean_ctor_set(v___x_3737_, 0, v___x_3755_); -v___x_3757_ = v___x_3737_; -goto v_reusejp_3756_; +lean_ctor_set(v___x_3757_, 1, v___f_3767_); +lean_ctor_set(v___x_3757_, 0, v___x_3775_); +v___x_3777_ = v___x_3757_; +goto v_reusejp_3776_; } else { -lean_object* v_reuseFailAlloc_3765_; -v_reuseFailAlloc_3765_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_3765_, 0, v___x_3755_); -lean_ctor_set(v_reuseFailAlloc_3765_, 1, v___f_3747_); -v___x_3757_ = v_reuseFailAlloc_3765_; -goto v_reusejp_3756_; +lean_object* v_reuseFailAlloc_3785_; +v_reuseFailAlloc_3785_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_3785_, 0, v___x_3775_); +lean_ctor_set(v_reuseFailAlloc_3785_, 1, v___f_3767_); +v___x_3777_ = v_reuseFailAlloc_3785_; +goto v_reusejp_3776_; } -v_reusejp_3756_: +v_reusejp_3776_: { -lean_object* v___x_3758_; lean_object* v___x_3759_; lean_object* v___x_3760_; lean_object* v___f_3761_; lean_object* v___x_13524__overap_3762_; lean_object* v___x_3763_; lean_object* v___x_3764_; -v___x_3758_ = l_StateRefT_x27_instMonad___redArg(v___x_3757_); -v___x_3759_ = lean_obj_once(&l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0, &l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0_once, _init_l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0); -v___x_3760_ = l_instInhabitedOfMonad___redArg(v___x_3758_, v___x_3759_); -v___f_3761_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); -lean_closure_set(v___f_3761_, 0, v___x_3760_); -v___x_13524__overap_3762_ = lean_panic_fn_borrowed(v___f_3761_, v_msg_3710_); -lean_dec_ref(v___f_3761_); -v___x_3763_ = lean_box(v___y_3711_); -lean_inc(v___y_3716_); -lean_inc_ref(v___y_3715_); -lean_inc(v___y_3714_); -lean_inc_ref(v___y_3713_); -lean_inc(v___y_3712_); -v___x_3764_ = lean_apply_7(v___x_13524__overap_3762_, v___x_3763_, v___y_3712_, v___y_3713_, v___y_3714_, v___y_3715_, v___y_3716_, lean_box(0)); -return v___x_3764_; +lean_object* v___x_3778_; lean_object* v___x_3779_; lean_object* v___x_3780_; lean_object* v___f_3781_; lean_object* v___x_13524__overap_3782_; lean_object* v___x_3783_; lean_object* v___x_3784_; +v___x_3778_ = l_StateRefT_x27_instMonad___redArg(v___x_3777_); +v___x_3779_ = lean_obj_once(&l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0, &l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0_once, _init_l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___closed__0); +v___x_3780_ = l_instInhabitedOfMonad___redArg(v___x_3778_, v___x_3779_); +v___f_3781_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); +lean_closure_set(v___f_3781_, 0, v___x_3780_); +v___x_13524__overap_3782_ = lean_panic_fn_borrowed(v___f_3781_, v_msg_3730_); +lean_dec_ref(v___f_3781_); +v___x_3783_ = lean_box(v___y_3731_); +lean_inc(v___y_3736_); +lean_inc_ref(v___y_3735_); +lean_inc(v___y_3734_); +lean_inc_ref(v___y_3733_); +lean_inc(v___y_3732_); +v___x_3784_ = lean_apply_7(v___x_13524__overap_3782_, v___x_3783_, v___y_3732_, v___y_3733_, v___y_3734_, v___y_3735_, v___y_3736_, lean_box(0)); +return v___x_3784_; } } } } } } -LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___boxed(lean_object* v_msg_3771_, lean_object* v___y_3772_, lean_object* v___y_3773_, lean_object* v___y_3774_, lean_object* v___y_3775_, lean_object* v___y_3776_, lean_object* v___y_3777_, lean_object* v___y_3778_){ +LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5___boxed(lean_object* v_msg_3791_, lean_object* v___y_3792_, lean_object* v___y_3793_, lean_object* v___y_3794_, lean_object* v___y_3795_, lean_object* v___y_3796_, lean_object* v___y_3797_, lean_object* v___y_3798_){ _start: { -uint8_t v___y_13992__boxed_3779_; lean_object* v_res_3780_; -v___y_13992__boxed_3779_ = lean_unbox(v___y_3772_); -v_res_3780_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(v_msg_3771_, v___y_13992__boxed_3779_, v___y_3773_, v___y_3774_, v___y_3775_, v___y_3776_, v___y_3777_); -lean_dec(v___y_3777_); -lean_dec_ref(v___y_3776_); -lean_dec(v___y_3775_); -lean_dec_ref(v___y_3774_); -lean_dec(v___y_3773_); -return v_res_3780_; +uint8_t v___y_13992__boxed_3799_; lean_object* v_res_3800_; +v___y_13992__boxed_3799_ = lean_unbox(v___y_3792_); +v_res_3800_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(v_msg_3791_, v___y_13992__boxed_3799_, v___y_3793_, v___y_3794_, v___y_3795_, v___y_3796_, v___y_3797_); +lean_dec(v___y_3797_); +lean_dec_ref(v___y_3796_); +lean_dec(v___y_3795_); +lean_dec_ref(v___y_3794_); +lean_dec(v___y_3793_); +return v_res_3800_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(lean_object* v___x_3781_, lean_object* v_us_3782_, lean_object* v_a_3783_, lean_object* v_b_3784_, uint8_t v___y_3785_, lean_object* v___y_3786_, lean_object* v___y_3787_, lean_object* v___y_3788_, lean_object* v___y_3789_, lean_object* v___y_3790_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(lean_object* v___x_3801_, lean_object* v_us_3802_, lean_object* v_a_3803_, lean_object* v_b_3804_, uint8_t v___y_3805_, lean_object* v___y_3806_, lean_object* v___y_3807_, lean_object* v___y_3808_, lean_object* v___y_3809_, lean_object* v___y_3810_){ _start: { -lean_object* v_array_3792_; lean_object* v_start_3793_; lean_object* v_stop_3794_; lean_object* v___x_3796_; uint8_t v_isShared_3797_; uint8_t v_isSharedCheck_3832_; -v_array_3792_ = lean_ctor_get(v_a_3783_, 0); -v_start_3793_ = lean_ctor_get(v_a_3783_, 1); -v_stop_3794_ = lean_ctor_get(v_a_3783_, 2); -v_isSharedCheck_3832_ = !lean_is_exclusive(v_a_3783_); -if (v_isSharedCheck_3832_ == 0) +lean_object* v_array_3812_; lean_object* v_start_3813_; lean_object* v_stop_3814_; lean_object* v___x_3816_; uint8_t v_isShared_3817_; uint8_t v_isSharedCheck_3852_; +v_array_3812_ = lean_ctor_get(v_a_3803_, 0); +v_start_3813_ = lean_ctor_get(v_a_3803_, 1); +v_stop_3814_ = lean_ctor_get(v_a_3803_, 2); +v_isSharedCheck_3852_ = !lean_is_exclusive(v_a_3803_); +if (v_isSharedCheck_3852_ == 0) { -v___x_3796_ = v_a_3783_; -v_isShared_3797_ = v_isSharedCheck_3832_; -goto v_resetjp_3795_; +v___x_3816_ = v_a_3803_; +v_isShared_3817_ = v_isSharedCheck_3852_; +goto v_resetjp_3815_; } else { -lean_inc(v_stop_3794_); -lean_inc(v_start_3793_); -lean_inc(v_array_3792_); -lean_dec(v_a_3783_); -v___x_3796_ = lean_box(0); -v_isShared_3797_ = v_isSharedCheck_3832_; -goto v_resetjp_3795_; +lean_inc(v_stop_3814_); +lean_inc(v_start_3813_); +lean_inc(v_array_3812_); +lean_dec(v_a_3803_); +v___x_3816_ = lean_box(0); +v_isShared_3817_ = v_isSharedCheck_3852_; +goto v_resetjp_3815_; } -v_resetjp_3795_: +v_resetjp_3815_: { -uint8_t v___x_3798_; -v___x_3798_ = lean_nat_dec_lt(v_start_3793_, v_stop_3794_); -if (v___x_3798_ == 0) -{ -lean_object* v___x_3799_; -lean_del_object(v___x_3796_); -lean_dec(v_stop_3794_); -lean_dec(v_start_3793_); -lean_dec_ref(v_array_3792_); -lean_dec(v_us_3782_); -lean_dec_ref(v___x_3781_); -v___x_3799_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3799_, 0, v_b_3784_); -return v___x_3799_; -} -else -{ -lean_object* v___x_3800_; lean_object* v_fvarId_3801_; lean_object* v_binderName_3802_; lean_object* v_type_3803_; uint8_t v_borrow_3804_; lean_object* v___x_3806_; uint8_t v_isShared_3807_; uint8_t v_isSharedCheck_3831_; -v___x_3800_ = lean_array_fget(v_array_3792_, v_start_3793_); -v_fvarId_3801_ = lean_ctor_get(v___x_3800_, 0); -v_binderName_3802_ = lean_ctor_get(v___x_3800_, 1); -v_type_3803_ = lean_ctor_get(v___x_3800_, 2); -v_borrow_3804_ = lean_ctor_get_uint8(v___x_3800_, sizeof(void*)*3); -v_isSharedCheck_3831_ = !lean_is_exclusive(v___x_3800_); -if (v_isSharedCheck_3831_ == 0) -{ -v___x_3806_ = v___x_3800_; -v_isShared_3807_ = v_isSharedCheck_3831_; -goto v_resetjp_3805_; -} -else -{ -lean_inc(v_type_3803_); -lean_inc(v_binderName_3802_); -lean_inc(v_fvarId_3801_); -lean_dec(v___x_3800_); -v___x_3806_ = lean_box(0); -v_isShared_3807_ = v_isSharedCheck_3831_; -goto v_resetjp_3805_; -} -v_resetjp_3805_: -{ -lean_object* v_levelParams_3808_; uint8_t v___x_3809_; lean_object* v___x_3810_; lean_object* v___x_3812_; -v_levelParams_3808_ = lean_ctor_get(v___x_3781_, 1); -v___x_3809_ = 0; -lean_inc(v_us_3782_); -lean_inc(v_levelParams_3808_); -v___x_3810_ = l_Lean_Expr_instantiateLevelParamsNoCache(v_type_3803_, v_levelParams_3808_, v_us_3782_); -if (v_isShared_3807_ == 0) -{ -lean_ctor_set(v___x_3806_, 2, v___x_3810_); -v___x_3812_ = v___x_3806_; -goto v_reusejp_3811_; -} -else -{ -lean_object* v_reuseFailAlloc_3830_; -v_reuseFailAlloc_3830_ = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(v_reuseFailAlloc_3830_, 0, v_fvarId_3801_); -lean_ctor_set(v_reuseFailAlloc_3830_, 1, v_binderName_3802_); -lean_ctor_set(v_reuseFailAlloc_3830_, 2, v___x_3810_); -lean_ctor_set_uint8(v_reuseFailAlloc_3830_, sizeof(void*)*3, v_borrow_3804_); -v___x_3812_ = v_reuseFailAlloc_3830_; -goto v_reusejp_3811_; -} -v_reusejp_3811_: -{ -lean_object* v___x_3813_; -v___x_3813_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_3809_, v___x_3812_, v___y_3785_, v___y_3786_, v___y_3787_, v___y_3788_, v___y_3789_, v___y_3790_); -if (lean_obj_tag(v___x_3813_) == 0) -{ -lean_object* v_a_3814_; lean_object* v___x_3815_; lean_object* v___x_3816_; lean_object* v___x_3818_; -v_a_3814_ = lean_ctor_get(v___x_3813_, 0); -lean_inc(v_a_3814_); -lean_dec_ref(v___x_3813_); -v___x_3815_ = lean_unsigned_to_nat(1u); -v___x_3816_ = lean_nat_add(v_start_3793_, v___x_3815_); -lean_dec(v_start_3793_); -if (v_isShared_3797_ == 0) -{ -lean_ctor_set(v___x_3796_, 1, v___x_3816_); -v___x_3818_ = v___x_3796_; -goto v_reusejp_3817_; -} -else -{ -lean_object* v_reuseFailAlloc_3821_; -v_reuseFailAlloc_3821_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v_reuseFailAlloc_3821_, 0, v_array_3792_); -lean_ctor_set(v_reuseFailAlloc_3821_, 1, v___x_3816_); -lean_ctor_set(v_reuseFailAlloc_3821_, 2, v_stop_3794_); -v___x_3818_ = v_reuseFailAlloc_3821_; -goto v_reusejp_3817_; -} -v_reusejp_3817_: +uint8_t v___x_3818_; +v___x_3818_ = lean_nat_dec_lt(v_start_3813_, v_stop_3814_); +if (v___x_3818_ == 0) { lean_object* v___x_3819_; -v___x_3819_ = lean_array_push(v_b_3784_, v_a_3814_); -v_a_3783_ = v___x_3818_; -v_b_3784_ = v___x_3819_; +lean_del_object(v___x_3816_); +lean_dec(v_stop_3814_); +lean_dec(v_start_3813_); +lean_dec_ref(v_array_3812_); +lean_dec(v_us_3802_); +lean_dec_ref(v___x_3801_); +v___x_3819_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3819_, 0, v_b_3804_); +return v___x_3819_; +} +else +{ +lean_object* v___x_3820_; lean_object* v_fvarId_3821_; lean_object* v_binderName_3822_; lean_object* v_type_3823_; uint8_t v_borrow_3824_; lean_object* v___x_3826_; uint8_t v_isShared_3827_; uint8_t v_isSharedCheck_3851_; +v___x_3820_ = lean_array_fget(v_array_3812_, v_start_3813_); +v_fvarId_3821_ = lean_ctor_get(v___x_3820_, 0); +v_binderName_3822_ = lean_ctor_get(v___x_3820_, 1); +v_type_3823_ = lean_ctor_get(v___x_3820_, 2); +v_borrow_3824_ = lean_ctor_get_uint8(v___x_3820_, sizeof(void*)*3); +v_isSharedCheck_3851_ = !lean_is_exclusive(v___x_3820_); +if (v_isSharedCheck_3851_ == 0) +{ +v___x_3826_ = v___x_3820_; +v_isShared_3827_ = v_isSharedCheck_3851_; +goto v_resetjp_3825_; +} +else +{ +lean_inc(v_type_3823_); +lean_inc(v_binderName_3822_); +lean_inc(v_fvarId_3821_); +lean_dec(v___x_3820_); +v___x_3826_ = lean_box(0); +v_isShared_3827_ = v_isSharedCheck_3851_; +goto v_resetjp_3825_; +} +v_resetjp_3825_: +{ +lean_object* v_levelParams_3828_; uint8_t v___x_3829_; lean_object* v___x_3830_; lean_object* v___x_3832_; +v_levelParams_3828_ = lean_ctor_get(v___x_3801_, 1); +v___x_3829_ = 0; +lean_inc(v_us_3802_); +lean_inc(v_levelParams_3828_); +v___x_3830_ = l_Lean_Expr_instantiateLevelParamsNoCache(v_type_3823_, v_levelParams_3828_, v_us_3802_); +if (v_isShared_3827_ == 0) +{ +lean_ctor_set(v___x_3826_, 2, v___x_3830_); +v___x_3832_ = v___x_3826_; +goto v_reusejp_3831_; +} +else +{ +lean_object* v_reuseFailAlloc_3850_; +v_reuseFailAlloc_3850_ = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(v_reuseFailAlloc_3850_, 0, v_fvarId_3821_); +lean_ctor_set(v_reuseFailAlloc_3850_, 1, v_binderName_3822_); +lean_ctor_set(v_reuseFailAlloc_3850_, 2, v___x_3830_); +lean_ctor_set_uint8(v_reuseFailAlloc_3850_, sizeof(void*)*3, v_borrow_3824_); +v___x_3832_ = v_reuseFailAlloc_3850_; +goto v_reusejp_3831_; +} +v_reusejp_3831_: +{ +lean_object* v___x_3833_; +v___x_3833_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_3829_, v___x_3832_, v___y_3805_, v___y_3806_, v___y_3807_, v___y_3808_, v___y_3809_, v___y_3810_); +if (lean_obj_tag(v___x_3833_) == 0) +{ +lean_object* v_a_3834_; lean_object* v___x_3835_; lean_object* v___x_3836_; lean_object* v___x_3838_; +v_a_3834_ = lean_ctor_get(v___x_3833_, 0); +lean_inc(v_a_3834_); +lean_dec_ref(v___x_3833_); +v___x_3835_ = lean_unsigned_to_nat(1u); +v___x_3836_ = lean_nat_add(v_start_3813_, v___x_3835_); +lean_dec(v_start_3813_); +if (v_isShared_3817_ == 0) +{ +lean_ctor_set(v___x_3816_, 1, v___x_3836_); +v___x_3838_ = v___x_3816_; +goto v_reusejp_3837_; +} +else +{ +lean_object* v_reuseFailAlloc_3841_; +v_reuseFailAlloc_3841_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v_reuseFailAlloc_3841_, 0, v_array_3812_); +lean_ctor_set(v_reuseFailAlloc_3841_, 1, v___x_3836_); +lean_ctor_set(v_reuseFailAlloc_3841_, 2, v_stop_3814_); +v___x_3838_ = v_reuseFailAlloc_3841_; +goto v_reusejp_3837_; +} +v_reusejp_3837_: +{ +lean_object* v___x_3839_; +v___x_3839_ = lean_array_push(v_b_3804_, v_a_3834_); +v_a_3803_ = v___x_3838_; +v_b_3804_ = v___x_3839_; goto _start; } } else { -lean_object* v_a_3822_; lean_object* v___x_3824_; uint8_t v_isShared_3825_; uint8_t v_isSharedCheck_3829_; -lean_del_object(v___x_3796_); -lean_dec(v_stop_3794_); -lean_dec(v_start_3793_); -lean_dec_ref(v_array_3792_); -lean_dec_ref(v_b_3784_); -lean_dec(v_us_3782_); -lean_dec_ref(v___x_3781_); -v_a_3822_ = lean_ctor_get(v___x_3813_, 0); -v_isSharedCheck_3829_ = !lean_is_exclusive(v___x_3813_); -if (v_isSharedCheck_3829_ == 0) +lean_object* v_a_3842_; lean_object* v___x_3844_; uint8_t v_isShared_3845_; uint8_t v_isSharedCheck_3849_; +lean_del_object(v___x_3816_); +lean_dec(v_stop_3814_); +lean_dec(v_start_3813_); +lean_dec_ref(v_array_3812_); +lean_dec_ref(v_b_3804_); +lean_dec(v_us_3802_); +lean_dec_ref(v___x_3801_); +v_a_3842_ = lean_ctor_get(v___x_3833_, 0); +v_isSharedCheck_3849_ = !lean_is_exclusive(v___x_3833_); +if (v_isSharedCheck_3849_ == 0) { -v___x_3824_ = v___x_3813_; -v_isShared_3825_ = v_isSharedCheck_3829_; -goto v_resetjp_3823_; +v___x_3844_ = v___x_3833_; +v_isShared_3845_ = v_isSharedCheck_3849_; +goto v_resetjp_3843_; } else { -lean_inc(v_a_3822_); -lean_dec(v___x_3813_); -v___x_3824_ = lean_box(0); -v_isShared_3825_ = v_isSharedCheck_3829_; -goto v_resetjp_3823_; +lean_inc(v_a_3842_); +lean_dec(v___x_3833_); +v___x_3844_ = lean_box(0); +v_isShared_3845_ = v_isSharedCheck_3849_; +goto v_resetjp_3843_; } -v_resetjp_3823_: +v_resetjp_3843_: { -lean_object* v___x_3827_; -if (v_isShared_3825_ == 0) +lean_object* v___x_3847_; +if (v_isShared_3845_ == 0) { -v___x_3827_ = v___x_3824_; -goto v_reusejp_3826_; +v___x_3847_ = v___x_3844_; +goto v_reusejp_3846_; } else { -lean_object* v_reuseFailAlloc_3828_; -v_reuseFailAlloc_3828_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3828_, 0, v_a_3822_); -v___x_3827_ = v_reuseFailAlloc_3828_; -goto v_reusejp_3826_; +lean_object* v_reuseFailAlloc_3848_; +v_reuseFailAlloc_3848_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3848_, 0, v_a_3842_); +v___x_3847_ = v_reuseFailAlloc_3848_; +goto v_reusejp_3846_; } -v_reusejp_3826_: +v_reusejp_3846_: { -return v___x_3827_; +return v___x_3847_; } } } @@ -11005,1327 +11116,1132 @@ return v___x_3827_; } } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg___boxed(lean_object* v___x_3833_, lean_object* v_us_3834_, lean_object* v_a_3835_, lean_object* v_b_3836_, lean_object* v___y_3837_, lean_object* v___y_3838_, lean_object* v___y_3839_, lean_object* v___y_3840_, lean_object* v___y_3841_, lean_object* v___y_3842_, lean_object* v___y_3843_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg___boxed(lean_object* v___x_3853_, lean_object* v_us_3854_, lean_object* v_a_3855_, lean_object* v_b_3856_, lean_object* v___y_3857_, lean_object* v___y_3858_, lean_object* v___y_3859_, lean_object* v___y_3860_, lean_object* v___y_3861_, lean_object* v___y_3862_, lean_object* v___y_3863_){ _start: { -uint8_t v___y_14100__boxed_3844_; lean_object* v_res_3845_; -v___y_14100__boxed_3844_ = lean_unbox(v___y_3837_); -v_res_3845_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v___x_3833_, v_us_3834_, v_a_3835_, v_b_3836_, v___y_14100__boxed_3844_, v___y_3838_, v___y_3839_, v___y_3840_, v___y_3841_, v___y_3842_); -lean_dec(v___y_3842_); -lean_dec_ref(v___y_3841_); -lean_dec(v___y_3840_); -lean_dec_ref(v___y_3839_); -lean_dec(v___y_3838_); -return v_res_3845_; +uint8_t v___y_14100__boxed_3864_; lean_object* v_res_3865_; +v___y_14100__boxed_3864_ = lean_unbox(v___y_3857_); +v_res_3865_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v___x_3853_, v_us_3854_, v_a_3855_, v_b_3856_, v___y_14100__boxed_3864_, v___y_3858_, v___y_3859_, v___y_3860_, v___y_3861_, v___y_3862_); +lean_dec(v___y_3862_); +lean_dec_ref(v___y_3861_); +lean_dec(v___y_3860_); +lean_dec_ref(v___y_3859_); +lean_dec(v___y_3858_); +return v_res_3865_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(size_t v_sz_3846_, size_t v_i_3847_, lean_object* v_bs_3848_, uint8_t v___y_3849_, lean_object* v___y_3850_, lean_object* v___y_3851_, lean_object* v___y_3852_, lean_object* v___y_3853_, lean_object* v___y_3854_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(size_t v_sz_3866_, size_t v_i_3867_, lean_object* v_bs_3868_, uint8_t v___y_3869_, lean_object* v___y_3870_, lean_object* v___y_3871_, lean_object* v___y_3872_, lean_object* v___y_3873_, lean_object* v___y_3874_){ _start: { -uint8_t v___x_3856_; -v___x_3856_ = lean_usize_dec_lt(v_i_3847_, v_sz_3846_); -if (v___x_3856_ == 0) +uint8_t v___x_3876_; +v___x_3876_ = lean_usize_dec_lt(v_i_3867_, v_sz_3866_); +if (v___x_3876_ == 0) { -lean_object* v___x_3857_; -v___x_3857_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3857_, 0, v_bs_3848_); -return v___x_3857_; +lean_object* v___x_3877_; +v___x_3877_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3877_, 0, v_bs_3868_); +return v___x_3877_; } else { -uint8_t v___x_3858_; lean_object* v_v_3859_; lean_object* v___x_3860_; -v___x_3858_ = 0; -v_v_3859_ = lean_array_uget_borrowed(v_bs_3848_, v_i_3847_); -lean_inc(v_v_3859_); -v___x_3860_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_3858_, v_v_3859_, v___y_3849_, v___y_3850_, v___y_3851_, v___y_3852_, v___y_3853_, v___y_3854_); -if (lean_obj_tag(v___x_3860_) == 0) +uint8_t v___x_3878_; lean_object* v_v_3879_; lean_object* v___x_3880_; +v___x_3878_ = 0; +v_v_3879_ = lean_array_uget_borrowed(v_bs_3868_, v_i_3867_); +lean_inc(v_v_3879_); +v___x_3880_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_3878_, v_v_3879_, v___y_3869_, v___y_3870_, v___y_3871_, v___y_3872_, v___y_3873_, v___y_3874_); +if (lean_obj_tag(v___x_3880_) == 0) { -lean_object* v_a_3861_; lean_object* v___x_3862_; lean_object* v_bs_x27_3863_; size_t v___x_3864_; size_t v___x_3865_; lean_object* v___x_3866_; -v_a_3861_ = lean_ctor_get(v___x_3860_, 0); -lean_inc(v_a_3861_); -lean_dec_ref(v___x_3860_); -v___x_3862_ = lean_unsigned_to_nat(0u); -v_bs_x27_3863_ = lean_array_uset(v_bs_3848_, v_i_3847_, v___x_3862_); -v___x_3864_ = ((size_t)1ULL); -v___x_3865_ = lean_usize_add(v_i_3847_, v___x_3864_); -v___x_3866_ = lean_array_uset(v_bs_x27_3863_, v_i_3847_, v_a_3861_); -v_i_3847_ = v___x_3865_; -v_bs_3848_ = v___x_3866_; +lean_object* v_a_3881_; lean_object* v___x_3882_; lean_object* v_bs_x27_3883_; size_t v___x_3884_; size_t v___x_3885_; lean_object* v___x_3886_; +v_a_3881_ = lean_ctor_get(v___x_3880_, 0); +lean_inc(v_a_3881_); +lean_dec_ref(v___x_3880_); +v___x_3882_ = lean_unsigned_to_nat(0u); +v_bs_x27_3883_ = lean_array_uset(v_bs_3868_, v_i_3867_, v___x_3882_); +v___x_3884_ = ((size_t)1ULL); +v___x_3885_ = lean_usize_add(v_i_3867_, v___x_3884_); +v___x_3886_ = lean_array_uset(v_bs_x27_3883_, v_i_3867_, v_a_3881_); +v_i_3867_ = v___x_3885_; +v_bs_3868_ = v___x_3886_; goto _start; } else { -lean_object* v_a_3868_; lean_object* v___x_3870_; uint8_t v_isShared_3871_; uint8_t v_isSharedCheck_3875_; -lean_dec_ref(v_bs_3848_); -v_a_3868_ = lean_ctor_get(v___x_3860_, 0); -v_isSharedCheck_3875_ = !lean_is_exclusive(v___x_3860_); -if (v_isSharedCheck_3875_ == 0) +lean_object* v_a_3888_; lean_object* v___x_3890_; uint8_t v_isShared_3891_; uint8_t v_isSharedCheck_3895_; +lean_dec_ref(v_bs_3868_); +v_a_3888_ = lean_ctor_get(v___x_3880_, 0); +v_isSharedCheck_3895_ = !lean_is_exclusive(v___x_3880_); +if (v_isSharedCheck_3895_ == 0) { -v___x_3870_ = v___x_3860_; -v_isShared_3871_ = v_isSharedCheck_3875_; -goto v_resetjp_3869_; +v___x_3890_ = v___x_3880_; +v_isShared_3891_ = v_isSharedCheck_3895_; +goto v_resetjp_3889_; } else { -lean_inc(v_a_3868_); -lean_dec(v___x_3860_); -v___x_3870_ = lean_box(0); -v_isShared_3871_ = v_isSharedCheck_3875_; -goto v_resetjp_3869_; +lean_inc(v_a_3888_); +lean_dec(v___x_3880_); +v___x_3890_ = lean_box(0); +v_isShared_3891_ = v_isSharedCheck_3895_; +goto v_resetjp_3889_; } -v_resetjp_3869_: +v_resetjp_3889_: { -lean_object* v___x_3873_; -if (v_isShared_3871_ == 0) +lean_object* v___x_3893_; +if (v_isShared_3891_ == 0) { -v___x_3873_ = v___x_3870_; -goto v_reusejp_3872_; +v___x_3893_ = v___x_3890_; +goto v_reusejp_3892_; } else { -lean_object* v_reuseFailAlloc_3874_; -v_reuseFailAlloc_3874_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3874_, 0, v_a_3868_); -v___x_3873_ = v_reuseFailAlloc_3874_; -goto v_reusejp_3872_; +lean_object* v_reuseFailAlloc_3894_; +v_reuseFailAlloc_3894_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3894_, 0, v_a_3888_); +v___x_3893_ = v_reuseFailAlloc_3894_; +goto v_reusejp_3892_; } -v_reusejp_3872_: +v_reusejp_3892_: { -return v___x_3873_; +return v___x_3893_; } } } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0___boxed(lean_object* v_sz_3876_, lean_object* v_i_3877_, lean_object* v_bs_3878_, lean_object* v___y_3879_, lean_object* v___y_3880_, lean_object* v___y_3881_, lean_object* v___y_3882_, lean_object* v___y_3883_, lean_object* v___y_3884_, lean_object* v___y_3885_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0___boxed(lean_object* v_sz_3896_, lean_object* v_i_3897_, lean_object* v_bs_3898_, lean_object* v___y_3899_, lean_object* v___y_3900_, lean_object* v___y_3901_, lean_object* v___y_3902_, lean_object* v___y_3903_, lean_object* v___y_3904_, lean_object* v___y_3905_){ _start: { -size_t v_sz_boxed_3886_; size_t v_i_boxed_3887_; uint8_t v___y_14189__boxed_3888_; lean_object* v_res_3889_; -v_sz_boxed_3886_ = lean_unbox_usize(v_sz_3876_); -lean_dec(v_sz_3876_); -v_i_boxed_3887_ = lean_unbox_usize(v_i_3877_); -lean_dec(v_i_3877_); -v___y_14189__boxed_3888_ = lean_unbox(v___y_3879_); -v_res_3889_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(v_sz_boxed_3886_, v_i_boxed_3887_, v_bs_3878_, v___y_14189__boxed_3888_, v___y_3880_, v___y_3881_, v___y_3882_, v___y_3883_, v___y_3884_); -lean_dec(v___y_3884_); -lean_dec_ref(v___y_3883_); -lean_dec(v___y_3882_); -lean_dec_ref(v___y_3881_); -lean_dec(v___y_3880_); -return v_res_3889_; +size_t v_sz_boxed_3906_; size_t v_i_boxed_3907_; uint8_t v___y_14189__boxed_3908_; lean_object* v_res_3909_; +v_sz_boxed_3906_ = lean_unbox_usize(v_sz_3896_); +lean_dec(v_sz_3896_); +v_i_boxed_3907_ = lean_unbox_usize(v_i_3897_); +lean_dec(v_i_3897_); +v___y_14189__boxed_3908_ = lean_unbox(v___y_3899_); +v_res_3909_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(v_sz_boxed_3906_, v_i_boxed_3907_, v_bs_3898_, v___y_14189__boxed_3908_, v___y_3900_, v___y_3901_, v___y_3902_, v___y_3903_, v___y_3904_); +lean_dec(v___y_3904_); +lean_dec_ref(v___y_3903_); +lean_dec(v___y_3902_); +lean_dec_ref(v___y_3901_); +lean_dec(v___y_3900_); +return v_res_3909_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(size_t v_sz_3890_, size_t v_i_3891_, lean_object* v_bs_3892_, uint8_t v___y_3893_, lean_object* v___y_3894_, lean_object* v___y_3895_, lean_object* v___y_3896_, lean_object* v___y_3897_, lean_object* v___y_3898_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(size_t v_sz_3910_, size_t v_i_3911_, lean_object* v_bs_3912_, uint8_t v___y_3913_, lean_object* v___y_3914_, lean_object* v___y_3915_, lean_object* v___y_3916_, lean_object* v___y_3917_, lean_object* v___y_3918_){ _start: { -uint8_t v___x_3900_; -v___x_3900_ = lean_usize_dec_lt(v_i_3891_, v_sz_3890_); -if (v___x_3900_ == 0) +uint8_t v___x_3920_; +v___x_3920_ = lean_usize_dec_lt(v_i_3911_, v_sz_3910_); +if (v___x_3920_ == 0) { -lean_object* v___x_3901_; -v___x_3901_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_3901_, 0, v_bs_3892_); -return v___x_3901_; +lean_object* v___x_3921_; +v___x_3921_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_3921_, 0, v_bs_3912_); +return v___x_3921_; } else { -uint8_t v___x_3902_; lean_object* v_v_3903_; lean_object* v___x_3904_; -v___x_3902_ = 0; -v_v_3903_ = lean_array_uget_borrowed(v_bs_3892_, v_i_3891_); -lean_inc(v_v_3903_); -v___x_3904_ = l_Lean_Compiler_LCNF_Internalize_internalizeCodeDecl(v___x_3902_, v_v_3903_, v___y_3893_, v___y_3894_, v___y_3895_, v___y_3896_, v___y_3897_, v___y_3898_); -if (lean_obj_tag(v___x_3904_) == 0) +uint8_t v___x_3922_; lean_object* v_v_3923_; lean_object* v___x_3924_; +v___x_3922_ = 0; +v_v_3923_ = lean_array_uget_borrowed(v_bs_3912_, v_i_3911_); +lean_inc(v_v_3923_); +v___x_3924_ = l_Lean_Compiler_LCNF_Internalize_internalizeCodeDecl(v___x_3922_, v_v_3923_, v___y_3913_, v___y_3914_, v___y_3915_, v___y_3916_, v___y_3917_, v___y_3918_); +if (lean_obj_tag(v___x_3924_) == 0) { -lean_object* v_a_3905_; lean_object* v___x_3906_; lean_object* v_bs_x27_3907_; size_t v___x_3908_; size_t v___x_3909_; lean_object* v___x_3910_; -v_a_3905_ = lean_ctor_get(v___x_3904_, 0); -lean_inc(v_a_3905_); -lean_dec_ref(v___x_3904_); -v___x_3906_ = lean_unsigned_to_nat(0u); -v_bs_x27_3907_ = lean_array_uset(v_bs_3892_, v_i_3891_, v___x_3906_); -v___x_3908_ = ((size_t)1ULL); -v___x_3909_ = lean_usize_add(v_i_3891_, v___x_3908_); -v___x_3910_ = lean_array_uset(v_bs_x27_3907_, v_i_3891_, v_a_3905_); -v_i_3891_ = v___x_3909_; -v_bs_3892_ = v___x_3910_; +lean_object* v_a_3925_; lean_object* v___x_3926_; lean_object* v_bs_x27_3927_; size_t v___x_3928_; size_t v___x_3929_; lean_object* v___x_3930_; +v_a_3925_ = lean_ctor_get(v___x_3924_, 0); +lean_inc(v_a_3925_); +lean_dec_ref(v___x_3924_); +v___x_3926_ = lean_unsigned_to_nat(0u); +v_bs_x27_3927_ = lean_array_uset(v_bs_3912_, v_i_3911_, v___x_3926_); +v___x_3928_ = ((size_t)1ULL); +v___x_3929_ = lean_usize_add(v_i_3911_, v___x_3928_); +v___x_3930_ = lean_array_uset(v_bs_x27_3927_, v_i_3911_, v_a_3925_); +v_i_3911_ = v___x_3929_; +v_bs_3912_ = v___x_3930_; goto _start; } else { -lean_object* v_a_3912_; lean_object* v___x_3914_; uint8_t v_isShared_3915_; uint8_t v_isSharedCheck_3919_; -lean_dec_ref(v_bs_3892_); -v_a_3912_ = lean_ctor_get(v___x_3904_, 0); -v_isSharedCheck_3919_ = !lean_is_exclusive(v___x_3904_); -if (v_isSharedCheck_3919_ == 0) +lean_object* v_a_3932_; lean_object* v___x_3934_; uint8_t v_isShared_3935_; uint8_t v_isSharedCheck_3939_; +lean_dec_ref(v_bs_3912_); +v_a_3932_ = lean_ctor_get(v___x_3924_, 0); +v_isSharedCheck_3939_ = !lean_is_exclusive(v___x_3924_); +if (v_isSharedCheck_3939_ == 0) { -v___x_3914_ = v___x_3904_; -v_isShared_3915_ = v_isSharedCheck_3919_; -goto v_resetjp_3913_; +v___x_3934_ = v___x_3924_; +v_isShared_3935_ = v_isSharedCheck_3939_; +goto v_resetjp_3933_; } else { -lean_inc(v_a_3912_); -lean_dec(v___x_3904_); -v___x_3914_ = lean_box(0); -v_isShared_3915_ = v_isSharedCheck_3919_; -goto v_resetjp_3913_; +lean_inc(v_a_3932_); +lean_dec(v___x_3924_); +v___x_3934_ = lean_box(0); +v_isShared_3935_ = v_isSharedCheck_3939_; +goto v_resetjp_3933_; } -v_resetjp_3913_: +v_resetjp_3933_: { -lean_object* v___x_3917_; -if (v_isShared_3915_ == 0) +lean_object* v___x_3937_; +if (v_isShared_3935_ == 0) { -v___x_3917_ = v___x_3914_; -goto v_reusejp_3916_; +v___x_3937_ = v___x_3934_; +goto v_reusejp_3936_; } else { -lean_object* v_reuseFailAlloc_3918_; -v_reuseFailAlloc_3918_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_3918_, 0, v_a_3912_); -v___x_3917_ = v_reuseFailAlloc_3918_; -goto v_reusejp_3916_; +lean_object* v_reuseFailAlloc_3938_; +v_reuseFailAlloc_3938_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_3938_, 0, v_a_3932_); +v___x_3937_ = v_reuseFailAlloc_3938_; +goto v_reusejp_3936_; } -v_reusejp_3916_: +v_reusejp_3936_: { -return v___x_3917_; +return v___x_3937_; } } } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1___boxed(lean_object* v_sz_3920_, lean_object* v_i_3921_, lean_object* v_bs_3922_, lean_object* v___y_3923_, lean_object* v___y_3924_, lean_object* v___y_3925_, lean_object* v___y_3926_, lean_object* v___y_3927_, lean_object* v___y_3928_, lean_object* v___y_3929_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1___boxed(lean_object* v_sz_3940_, lean_object* v_i_3941_, lean_object* v_bs_3942_, lean_object* v___y_3943_, lean_object* v___y_3944_, lean_object* v___y_3945_, lean_object* v___y_3946_, lean_object* v___y_3947_, lean_object* v___y_3948_, lean_object* v___y_3949_){ _start: { -size_t v_sz_boxed_3930_; size_t v_i_boxed_3931_; uint8_t v___y_14246__boxed_3932_; lean_object* v_res_3933_; -v_sz_boxed_3930_ = lean_unbox_usize(v_sz_3920_); -lean_dec(v_sz_3920_); -v_i_boxed_3931_ = lean_unbox_usize(v_i_3921_); -lean_dec(v_i_3921_); -v___y_14246__boxed_3932_ = lean_unbox(v___y_3923_); -v_res_3933_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(v_sz_boxed_3930_, v_i_boxed_3931_, v_bs_3922_, v___y_14246__boxed_3932_, v___y_3924_, v___y_3925_, v___y_3926_, v___y_3927_, v___y_3928_); -lean_dec(v___y_3928_); -lean_dec_ref(v___y_3927_); -lean_dec(v___y_3926_); -lean_dec_ref(v___y_3925_); -lean_dec(v___y_3924_); -return v_res_3933_; +size_t v_sz_boxed_3950_; size_t v_i_boxed_3951_; uint8_t v___y_14246__boxed_3952_; lean_object* v_res_3953_; +v_sz_boxed_3950_ = lean_unbox_usize(v_sz_3940_); +lean_dec(v_sz_3940_); +v_i_boxed_3951_ = lean_unbox_usize(v_i_3941_); +lean_dec(v_i_3941_); +v___y_14246__boxed_3952_ = lean_unbox(v___y_3943_); +v_res_3953_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(v_sz_boxed_3950_, v_i_boxed_3951_, v_bs_3942_, v___y_14246__boxed_3952_, v___y_3944_, v___y_3945_, v___y_3946_, v___y_3947_, v___y_3948_); +lean_dec(v___y_3948_); +lean_dec_ref(v___y_3947_); +lean_dec(v___y_3946_); +lean_dec_ref(v___y_3945_); +lean_dec(v___y_3944_); +return v_res_3953_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(lean_object* v_a_3934_, lean_object* v_b_3935_, lean_object* v_x_3936_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(lean_object* v_a_3954_, lean_object* v_b_3955_, lean_object* v_x_3956_){ _start: { -if (lean_obj_tag(v_x_3936_) == 0) +if (lean_obj_tag(v_x_3956_) == 0) { -lean_dec(v_b_3935_); -lean_dec(v_a_3934_); -return v_x_3936_; +lean_dec(v_b_3955_); +lean_dec(v_a_3954_); +return v_x_3956_; } else { -lean_object* v_key_3937_; lean_object* v_value_3938_; lean_object* v_tail_3939_; lean_object* v___x_3941_; uint8_t v_isShared_3942_; uint8_t v_isSharedCheck_3951_; -v_key_3937_ = lean_ctor_get(v_x_3936_, 0); -v_value_3938_ = lean_ctor_get(v_x_3936_, 1); -v_tail_3939_ = lean_ctor_get(v_x_3936_, 2); -v_isSharedCheck_3951_ = !lean_is_exclusive(v_x_3936_); -if (v_isSharedCheck_3951_ == 0) +lean_object* v_key_3957_; lean_object* v_value_3958_; lean_object* v_tail_3959_; lean_object* v___x_3961_; uint8_t v_isShared_3962_; uint8_t v_isSharedCheck_3971_; +v_key_3957_ = lean_ctor_get(v_x_3956_, 0); +v_value_3958_ = lean_ctor_get(v_x_3956_, 1); +v_tail_3959_ = lean_ctor_get(v_x_3956_, 2); +v_isSharedCheck_3971_ = !lean_is_exclusive(v_x_3956_); +if (v_isSharedCheck_3971_ == 0) { -v___x_3941_ = v_x_3936_; -v_isShared_3942_ = v_isSharedCheck_3951_; -goto v_resetjp_3940_; +v___x_3961_ = v_x_3956_; +v_isShared_3962_ = v_isSharedCheck_3971_; +goto v_resetjp_3960_; } else { -lean_inc(v_tail_3939_); -lean_inc(v_value_3938_); -lean_inc(v_key_3937_); -lean_dec(v_x_3936_); -v___x_3941_ = lean_box(0); -v_isShared_3942_ = v_isSharedCheck_3951_; -goto v_resetjp_3940_; +lean_inc(v_tail_3959_); +lean_inc(v_value_3958_); +lean_inc(v_key_3957_); +lean_dec(v_x_3956_); +v___x_3961_ = lean_box(0); +v_isShared_3962_ = v_isSharedCheck_3971_; +goto v_resetjp_3960_; } -v_resetjp_3940_: +v_resetjp_3960_: { -uint8_t v___x_3943_; -v___x_3943_ = l_Lean_instBEqFVarId_beq(v_key_3937_, v_a_3934_); -if (v___x_3943_ == 0) +uint8_t v___x_3963_; +v___x_3963_ = l_Lean_instBEqFVarId_beq(v_key_3957_, v_a_3954_); +if (v___x_3963_ == 0) { -lean_object* v___x_3944_; lean_object* v___x_3946_; -v___x_3944_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_3934_, v_b_3935_, v_tail_3939_); -if (v_isShared_3942_ == 0) +lean_object* v___x_3964_; lean_object* v___x_3966_; +v___x_3964_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_3954_, v_b_3955_, v_tail_3959_); +if (v_isShared_3962_ == 0) { -lean_ctor_set(v___x_3941_, 2, v___x_3944_); -v___x_3946_ = v___x_3941_; -goto v_reusejp_3945_; +lean_ctor_set(v___x_3961_, 2, v___x_3964_); +v___x_3966_ = v___x_3961_; +goto v_reusejp_3965_; } else { -lean_object* v_reuseFailAlloc_3947_; -v_reuseFailAlloc_3947_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_3947_, 0, v_key_3937_); -lean_ctor_set(v_reuseFailAlloc_3947_, 1, v_value_3938_); -lean_ctor_set(v_reuseFailAlloc_3947_, 2, v___x_3944_); -v___x_3946_ = v_reuseFailAlloc_3947_; -goto v_reusejp_3945_; +lean_object* v_reuseFailAlloc_3967_; +v_reuseFailAlloc_3967_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_3967_, 0, v_key_3957_); +lean_ctor_set(v_reuseFailAlloc_3967_, 1, v_value_3958_); +lean_ctor_set(v_reuseFailAlloc_3967_, 2, v___x_3964_); +v___x_3966_ = v_reuseFailAlloc_3967_; +goto v_reusejp_3965_; } -v_reusejp_3945_: +v_reusejp_3965_: { -return v___x_3946_; +return v___x_3966_; } } else { -lean_object* v___x_3949_; -lean_dec(v_value_3938_); -lean_dec(v_key_3937_); -if (v_isShared_3942_ == 0) +lean_object* v___x_3969_; +lean_dec(v_value_3958_); +lean_dec(v_key_3957_); +if (v_isShared_3962_ == 0) { -lean_ctor_set(v___x_3941_, 1, v_b_3935_); -lean_ctor_set(v___x_3941_, 0, v_a_3934_); -v___x_3949_ = v___x_3941_; -goto v_reusejp_3948_; +lean_ctor_set(v___x_3961_, 1, v_b_3955_); +lean_ctor_set(v___x_3961_, 0, v_a_3954_); +v___x_3969_ = v___x_3961_; +goto v_reusejp_3968_; } else { -lean_object* v_reuseFailAlloc_3950_; -v_reuseFailAlloc_3950_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_3950_, 0, v_a_3934_); -lean_ctor_set(v_reuseFailAlloc_3950_, 1, v_b_3935_); -lean_ctor_set(v_reuseFailAlloc_3950_, 2, v_tail_3939_); -v___x_3949_ = v_reuseFailAlloc_3950_; -goto v_reusejp_3948_; +lean_object* v_reuseFailAlloc_3970_; +v_reuseFailAlloc_3970_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_3970_, 0, v_a_3954_); +lean_ctor_set(v_reuseFailAlloc_3970_, 1, v_b_3955_); +lean_ctor_set(v_reuseFailAlloc_3970_, 2, v_tail_3959_); +v___x_3969_ = v_reuseFailAlloc_3970_; +goto v_reusejp_3968_; } -v_reusejp_3948_: +v_reusejp_3968_: { -return v___x_3949_; +return v___x_3969_; } } } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(lean_object* v_x_3952_, lean_object* v_x_3953_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(lean_object* v_x_3972_, lean_object* v_x_3973_){ _start: { -if (lean_obj_tag(v_x_3953_) == 0) +if (lean_obj_tag(v_x_3973_) == 0) { -return v_x_3952_; +return v_x_3972_; } else { -lean_object* v_key_3954_; lean_object* v_value_3955_; lean_object* v_tail_3956_; lean_object* v___x_3958_; uint8_t v_isShared_3959_; uint8_t v_isSharedCheck_3979_; -v_key_3954_ = lean_ctor_get(v_x_3953_, 0); -v_value_3955_ = lean_ctor_get(v_x_3953_, 1); -v_tail_3956_ = lean_ctor_get(v_x_3953_, 2); -v_isSharedCheck_3979_ = !lean_is_exclusive(v_x_3953_); -if (v_isSharedCheck_3979_ == 0) +lean_object* v_key_3974_; lean_object* v_value_3975_; lean_object* v_tail_3976_; lean_object* v___x_3978_; uint8_t v_isShared_3979_; uint8_t v_isSharedCheck_3999_; +v_key_3974_ = lean_ctor_get(v_x_3973_, 0); +v_value_3975_ = lean_ctor_get(v_x_3973_, 1); +v_tail_3976_ = lean_ctor_get(v_x_3973_, 2); +v_isSharedCheck_3999_ = !lean_is_exclusive(v_x_3973_); +if (v_isSharedCheck_3999_ == 0) { -v___x_3958_ = v_x_3953_; -v_isShared_3959_ = v_isSharedCheck_3979_; -goto v_resetjp_3957_; +v___x_3978_ = v_x_3973_; +v_isShared_3979_ = v_isSharedCheck_3999_; +goto v_resetjp_3977_; } else { -lean_inc(v_tail_3956_); -lean_inc(v_value_3955_); -lean_inc(v_key_3954_); -lean_dec(v_x_3953_); -v___x_3958_ = lean_box(0); -v_isShared_3959_ = v_isSharedCheck_3979_; -goto v_resetjp_3957_; +lean_inc(v_tail_3976_); +lean_inc(v_value_3975_); +lean_inc(v_key_3974_); +lean_dec(v_x_3973_); +v___x_3978_ = lean_box(0); +v_isShared_3979_ = v_isSharedCheck_3999_; +goto v_resetjp_3977_; } -v_resetjp_3957_: +v_resetjp_3977_: { -lean_object* v___x_3960_; uint64_t v___x_3961_; uint64_t v___x_3962_; uint64_t v___x_3963_; uint64_t v_fold_3964_; uint64_t v___x_3965_; uint64_t v___x_3966_; uint64_t v___x_3967_; size_t v___x_3968_; size_t v___x_3969_; size_t v___x_3970_; size_t v___x_3971_; size_t v___x_3972_; lean_object* v___x_3973_; lean_object* v___x_3975_; -v___x_3960_ = lean_array_get_size(v_x_3952_); -v___x_3961_ = l_Lean_instHashableFVarId_hash(v_key_3954_); -v___x_3962_ = 32ULL; -v___x_3963_ = lean_uint64_shift_right(v___x_3961_, v___x_3962_); -v_fold_3964_ = lean_uint64_xor(v___x_3961_, v___x_3963_); -v___x_3965_ = 16ULL; -v___x_3966_ = lean_uint64_shift_right(v_fold_3964_, v___x_3965_); -v___x_3967_ = lean_uint64_xor(v_fold_3964_, v___x_3966_); -v___x_3968_ = lean_uint64_to_usize(v___x_3967_); -v___x_3969_ = lean_usize_of_nat(v___x_3960_); -v___x_3970_ = ((size_t)1ULL); -v___x_3971_ = lean_usize_sub(v___x_3969_, v___x_3970_); -v___x_3972_ = lean_usize_land(v___x_3968_, v___x_3971_); -v___x_3973_ = lean_array_uget_borrowed(v_x_3952_, v___x_3972_); -lean_inc(v___x_3973_); -if (v_isShared_3959_ == 0) +lean_object* v___x_3980_; uint64_t v___x_3981_; uint64_t v___x_3982_; uint64_t v___x_3983_; uint64_t v_fold_3984_; uint64_t v___x_3985_; uint64_t v___x_3986_; uint64_t v___x_3987_; size_t v___x_3988_; size_t v___x_3989_; size_t v___x_3990_; size_t v___x_3991_; size_t v___x_3992_; lean_object* v___x_3993_; lean_object* v___x_3995_; +v___x_3980_ = lean_array_get_size(v_x_3972_); +v___x_3981_ = l_Lean_instHashableFVarId_hash(v_key_3974_); +v___x_3982_ = 32ULL; +v___x_3983_ = lean_uint64_shift_right(v___x_3981_, v___x_3982_); +v_fold_3984_ = lean_uint64_xor(v___x_3981_, v___x_3983_); +v___x_3985_ = 16ULL; +v___x_3986_ = lean_uint64_shift_right(v_fold_3984_, v___x_3985_); +v___x_3987_ = lean_uint64_xor(v_fold_3984_, v___x_3986_); +v___x_3988_ = lean_uint64_to_usize(v___x_3987_); +v___x_3989_ = lean_usize_of_nat(v___x_3980_); +v___x_3990_ = ((size_t)1ULL); +v___x_3991_ = lean_usize_sub(v___x_3989_, v___x_3990_); +v___x_3992_ = lean_usize_land(v___x_3988_, v___x_3991_); +v___x_3993_ = lean_array_uget_borrowed(v_x_3972_, v___x_3992_); +lean_inc(v___x_3993_); +if (v_isShared_3979_ == 0) { -lean_ctor_set(v___x_3958_, 2, v___x_3973_); -v___x_3975_ = v___x_3958_; -goto v_reusejp_3974_; +lean_ctor_set(v___x_3978_, 2, v___x_3993_); +v___x_3995_ = v___x_3978_; +goto v_reusejp_3994_; } else { -lean_object* v_reuseFailAlloc_3978_; -v_reuseFailAlloc_3978_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_3978_, 0, v_key_3954_); -lean_ctor_set(v_reuseFailAlloc_3978_, 1, v_value_3955_); -lean_ctor_set(v_reuseFailAlloc_3978_, 2, v___x_3973_); -v___x_3975_ = v_reuseFailAlloc_3978_; -goto v_reusejp_3974_; +lean_object* v_reuseFailAlloc_3998_; +v_reuseFailAlloc_3998_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_3998_, 0, v_key_3974_); +lean_ctor_set(v_reuseFailAlloc_3998_, 1, v_value_3975_); +lean_ctor_set(v_reuseFailAlloc_3998_, 2, v___x_3993_); +v___x_3995_ = v_reuseFailAlloc_3998_; +goto v_reusejp_3994_; } -v_reusejp_3974_: +v_reusejp_3994_: { -lean_object* v___x_3976_; -v___x_3976_ = lean_array_uset(v_x_3952_, v___x_3972_, v___x_3975_); -v_x_3952_ = v___x_3976_; -v_x_3953_ = v_tail_3956_; +lean_object* v___x_3996_; +v___x_3996_ = lean_array_uset(v_x_3972_, v___x_3992_, v___x_3995_); +v_x_3972_ = v___x_3996_; +v_x_3973_ = v_tail_3976_; goto _start; } } } } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(lean_object* v_i_3980_, lean_object* v_source_3981_, lean_object* v_target_3982_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(lean_object* v_i_4000_, lean_object* v_source_4001_, lean_object* v_target_4002_){ _start: { -lean_object* v___x_3983_; uint8_t v___x_3984_; -v___x_3983_ = lean_array_get_size(v_source_3981_); -v___x_3984_ = lean_nat_dec_lt(v_i_3980_, v___x_3983_); -if (v___x_3984_ == 0) +lean_object* v___x_4003_; uint8_t v___x_4004_; +v___x_4003_ = lean_array_get_size(v_source_4001_); +v___x_4004_ = lean_nat_dec_lt(v_i_4000_, v___x_4003_); +if (v___x_4004_ == 0) { -lean_dec_ref(v_source_3981_); -lean_dec(v_i_3980_); -return v_target_3982_; +lean_dec_ref(v_source_4001_); +lean_dec(v_i_4000_); +return v_target_4002_; } else { -lean_object* v_es_3985_; lean_object* v___x_3986_; lean_object* v_source_3987_; lean_object* v_target_3988_; lean_object* v___x_3989_; lean_object* v___x_3990_; -v_es_3985_ = lean_array_fget(v_source_3981_, v_i_3980_); -v___x_3986_ = lean_box(0); -v_source_3987_ = lean_array_fset(v_source_3981_, v_i_3980_, v___x_3986_); -v_target_3988_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(v_target_3982_, v_es_3985_); -v___x_3989_ = lean_unsigned_to_nat(1u); -v___x_3990_ = lean_nat_add(v_i_3980_, v___x_3989_); -lean_dec(v_i_3980_); -v_i_3980_ = v___x_3990_; -v_source_3981_ = v_source_3987_; -v_target_3982_ = v_target_3988_; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(lean_object* v_data_3992_){ -_start: -{ -lean_object* v___x_3993_; lean_object* v___x_3994_; lean_object* v_nbuckets_3995_; lean_object* v___x_3996_; lean_object* v___x_3997_; lean_object* v___x_3998_; lean_object* v___x_3999_; -v___x_3993_ = lean_array_get_size(v_data_3992_); -v___x_3994_ = lean_unsigned_to_nat(2u); -v_nbuckets_3995_ = lean_nat_mul(v___x_3993_, v___x_3994_); -v___x_3996_ = lean_unsigned_to_nat(0u); -v___x_3997_ = lean_box(0); -v___x_3998_ = lean_mk_array(v_nbuckets_3995_, v___x_3997_); -v___x_3999_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(v___x_3996_, v_data_3992_, v___x_3998_); -return v___x_3999_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(lean_object* v_m_4000_, lean_object* v_a_4001_, lean_object* v_b_4002_){ -_start: -{ -lean_object* v_size_4003_; lean_object* v_buckets_4004_; lean_object* v___x_4006_; uint8_t v_isShared_4007_; uint8_t v_isSharedCheck_4047_; -v_size_4003_ = lean_ctor_get(v_m_4000_, 0); -v_buckets_4004_ = lean_ctor_get(v_m_4000_, 1); -v_isSharedCheck_4047_ = !lean_is_exclusive(v_m_4000_); -if (v_isSharedCheck_4047_ == 0) -{ -v___x_4006_ = v_m_4000_; -v_isShared_4007_ = v_isSharedCheck_4047_; -goto v_resetjp_4005_; -} -else -{ -lean_inc(v_buckets_4004_); -lean_inc(v_size_4003_); -lean_dec(v_m_4000_); +lean_object* v_es_4005_; lean_object* v___x_4006_; lean_object* v_source_4007_; lean_object* v_target_4008_; lean_object* v___x_4009_; lean_object* v___x_4010_; +v_es_4005_ = lean_array_fget(v_source_4001_, v_i_4000_); v___x_4006_ = lean_box(0); -v_isShared_4007_ = v_isSharedCheck_4047_; -goto v_resetjp_4005_; -} -v_resetjp_4005_: -{ -lean_object* v___x_4008_; uint64_t v___x_4009_; uint64_t v___x_4010_; uint64_t v___x_4011_; uint64_t v_fold_4012_; uint64_t v___x_4013_; uint64_t v___x_4014_; uint64_t v___x_4015_; size_t v___x_4016_; size_t v___x_4017_; size_t v___x_4018_; size_t v___x_4019_; size_t v___x_4020_; lean_object* v_bkt_4021_; uint8_t v___x_4022_; -v___x_4008_ = lean_array_get_size(v_buckets_4004_); -v___x_4009_ = l_Lean_instHashableFVarId_hash(v_a_4001_); -v___x_4010_ = 32ULL; -v___x_4011_ = lean_uint64_shift_right(v___x_4009_, v___x_4010_); -v_fold_4012_ = lean_uint64_xor(v___x_4009_, v___x_4011_); -v___x_4013_ = 16ULL; -v___x_4014_ = lean_uint64_shift_right(v_fold_4012_, v___x_4013_); -v___x_4015_ = lean_uint64_xor(v_fold_4012_, v___x_4014_); -v___x_4016_ = lean_uint64_to_usize(v___x_4015_); -v___x_4017_ = lean_usize_of_nat(v___x_4008_); -v___x_4018_ = ((size_t)1ULL); -v___x_4019_ = lean_usize_sub(v___x_4017_, v___x_4018_); -v___x_4020_ = lean_usize_land(v___x_4016_, v___x_4019_); -v_bkt_4021_ = lean_array_uget_borrowed(v_buckets_4004_, v___x_4020_); -v___x_4022_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___redArg(v_a_4001_, v_bkt_4021_); -if (v___x_4022_ == 0) -{ -lean_object* v___x_4023_; lean_object* v_size_x27_4024_; lean_object* v___x_4025_; lean_object* v_buckets_x27_4026_; lean_object* v___x_4027_; lean_object* v___x_4028_; lean_object* v___x_4029_; lean_object* v___x_4030_; lean_object* v___x_4031_; uint8_t v___x_4032_; -v___x_4023_ = lean_unsigned_to_nat(1u); -v_size_x27_4024_ = lean_nat_add(v_size_4003_, v___x_4023_); -lean_dec(v_size_4003_); -lean_inc(v_bkt_4021_); -v___x_4025_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v___x_4025_, 0, v_a_4001_); -lean_ctor_set(v___x_4025_, 1, v_b_4002_); -lean_ctor_set(v___x_4025_, 2, v_bkt_4021_); -v_buckets_x27_4026_ = lean_array_uset(v_buckets_4004_, v___x_4020_, v___x_4025_); -v___x_4027_ = lean_unsigned_to_nat(4u); -v___x_4028_ = lean_nat_mul(v_size_x27_4024_, v___x_4027_); -v___x_4029_ = lean_unsigned_to_nat(3u); -v___x_4030_ = lean_nat_div(v___x_4028_, v___x_4029_); -lean_dec(v___x_4028_); -v___x_4031_ = lean_array_get_size(v_buckets_x27_4026_); -v___x_4032_ = lean_nat_dec_le(v___x_4030_, v___x_4031_); -lean_dec(v___x_4030_); -if (v___x_4032_ == 0) -{ -lean_object* v_val_4033_; lean_object* v___x_4035_; -v_val_4033_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(v_buckets_x27_4026_); -if (v_isShared_4007_ == 0) -{ -lean_ctor_set(v___x_4006_, 1, v_val_4033_); -lean_ctor_set(v___x_4006_, 0, v_size_x27_4024_); -v___x_4035_ = v___x_4006_; -goto v_reusejp_4034_; -} -else -{ -lean_object* v_reuseFailAlloc_4036_; -v_reuseFailAlloc_4036_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4036_, 0, v_size_x27_4024_); -lean_ctor_set(v_reuseFailAlloc_4036_, 1, v_val_4033_); -v___x_4035_ = v_reuseFailAlloc_4036_; -goto v_reusejp_4034_; -} -v_reusejp_4034_: -{ -return v___x_4035_; -} -} -else -{ -lean_object* v___x_4038_; -if (v_isShared_4007_ == 0) -{ -lean_ctor_set(v___x_4006_, 1, v_buckets_x27_4026_); -lean_ctor_set(v___x_4006_, 0, v_size_x27_4024_); -v___x_4038_ = v___x_4006_; -goto v_reusejp_4037_; -} -else -{ -lean_object* v_reuseFailAlloc_4039_; -v_reuseFailAlloc_4039_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4039_, 0, v_size_x27_4024_); -lean_ctor_set(v_reuseFailAlloc_4039_, 1, v_buckets_x27_4026_); -v___x_4038_ = v_reuseFailAlloc_4039_; -goto v_reusejp_4037_; -} -v_reusejp_4037_: -{ -return v___x_4038_; +v_source_4007_ = lean_array_fset(v_source_4001_, v_i_4000_, v___x_4006_); +v_target_4008_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(v_target_4002_, v_es_4005_); +v___x_4009_ = lean_unsigned_to_nat(1u); +v___x_4010_ = lean_nat_add(v_i_4000_, v___x_4009_); +lean_dec(v_i_4000_); +v_i_4000_ = v___x_4010_; +v_source_4001_ = v_source_4007_; +v_target_4002_ = v_target_4008_; +goto _start; } } } -else -{ -lean_object* v___x_4040_; lean_object* v_buckets_x27_4041_; lean_object* v___x_4042_; lean_object* v___x_4043_; lean_object* v___x_4045_; -lean_inc(v_bkt_4021_); -v___x_4040_ = lean_box(0); -v_buckets_x27_4041_ = lean_array_uset(v_buckets_4004_, v___x_4020_, v___x_4040_); -v___x_4042_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_4001_, v_b_4002_, v_bkt_4021_); -v___x_4043_ = lean_array_uset(v_buckets_x27_4041_, v___x_4020_, v___x_4042_); -if (v_isShared_4007_ == 0) -{ -lean_ctor_set(v___x_4006_, 1, v___x_4043_); -v___x_4045_ = v___x_4006_; -goto v_reusejp_4044_; -} -else -{ -lean_object* v_reuseFailAlloc_4046_; -v_reuseFailAlloc_4046_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4046_, 0, v_size_4003_); -lean_ctor_set(v_reuseFailAlloc_4046_, 1, v___x_4043_); -v___x_4045_ = v_reuseFailAlloc_4046_; -goto v_reusejp_4044_; -} -v_reusejp_4044_: -{ -return v___x_4045_; -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(lean_object* v___x_4048_, lean_object* v_us_4049_, lean_object* v_as_4050_, size_t v_sz_4051_, size_t v_i_4052_, lean_object* v_b_4053_, uint8_t v___y_4054_, lean_object* v___y_4055_, lean_object* v___y_4056_, lean_object* v___y_4057_, lean_object* v___y_4058_, lean_object* v___y_4059_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(lean_object* v_data_4012_){ _start: { -lean_object* v_a_4062_; uint8_t v___x_4066_; -v___x_4066_ = lean_usize_dec_lt(v_i_4052_, v_sz_4051_); -if (v___x_4066_ == 0) +lean_object* v___x_4013_; lean_object* v___x_4014_; lean_object* v_nbuckets_4015_; lean_object* v___x_4016_; lean_object* v___x_4017_; lean_object* v___x_4018_; lean_object* v___x_4019_; +v___x_4013_ = lean_array_get_size(v_data_4012_); +v___x_4014_ = lean_unsigned_to_nat(2u); +v_nbuckets_4015_ = lean_nat_mul(v___x_4013_, v___x_4014_); +v___x_4016_ = lean_unsigned_to_nat(0u); +v___x_4017_ = lean_box(0); +v___x_4018_ = lean_mk_array(v_nbuckets_4015_, v___x_4017_); +v___x_4019_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(v___x_4016_, v_data_4012_, v___x_4018_); +return v___x_4019_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(lean_object* v_m_4020_, lean_object* v_a_4021_, lean_object* v_b_4022_){ +_start: { -lean_object* v___x_4067_; -lean_dec(v_us_4049_); -lean_dec_ref(v___x_4048_); -v___x_4067_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4067_, 0, v_b_4053_); -return v___x_4067_; +lean_object* v_size_4023_; lean_object* v_buckets_4024_; lean_object* v___x_4026_; uint8_t v_isShared_4027_; uint8_t v_isSharedCheck_4067_; +v_size_4023_ = lean_ctor_get(v_m_4020_, 0); +v_buckets_4024_ = lean_ctor_get(v_m_4020_, 1); +v_isSharedCheck_4067_ = !lean_is_exclusive(v_m_4020_); +if (v_isSharedCheck_4067_ == 0) +{ +v___x_4026_ = v_m_4020_; +v_isShared_4027_ = v_isSharedCheck_4067_; +goto v_resetjp_4025_; } else { -lean_object* v_snd_4068_; lean_object* v_fst_4069_; lean_object* v___x_4071_; uint8_t v_isShared_4072_; uint8_t v_isSharedCheck_4133_; -v_snd_4068_ = lean_ctor_get(v_b_4053_, 1); -v_fst_4069_ = lean_ctor_get(v_b_4053_, 0); -v_isSharedCheck_4133_ = !lean_is_exclusive(v_b_4053_); -if (v_isSharedCheck_4133_ == 0) +lean_inc(v_buckets_4024_); +lean_inc(v_size_4023_); +lean_dec(v_m_4020_); +v___x_4026_ = lean_box(0); +v_isShared_4027_ = v_isSharedCheck_4067_; +goto v_resetjp_4025_; +} +v_resetjp_4025_: { -v___x_4071_ = v_b_4053_; -v_isShared_4072_ = v_isSharedCheck_4133_; -goto v_resetjp_4070_; +lean_object* v___x_4028_; uint64_t v___x_4029_; uint64_t v___x_4030_; uint64_t v___x_4031_; uint64_t v_fold_4032_; uint64_t v___x_4033_; uint64_t v___x_4034_; uint64_t v___x_4035_; size_t v___x_4036_; size_t v___x_4037_; size_t v___x_4038_; size_t v___x_4039_; size_t v___x_4040_; lean_object* v_bkt_4041_; uint8_t v___x_4042_; +v___x_4028_ = lean_array_get_size(v_buckets_4024_); +v___x_4029_ = l_Lean_instHashableFVarId_hash(v_a_4021_); +v___x_4030_ = 32ULL; +v___x_4031_ = lean_uint64_shift_right(v___x_4029_, v___x_4030_); +v_fold_4032_ = lean_uint64_xor(v___x_4029_, v___x_4031_); +v___x_4033_ = 16ULL; +v___x_4034_ = lean_uint64_shift_right(v_fold_4032_, v___x_4033_); +v___x_4035_ = lean_uint64_xor(v_fold_4032_, v___x_4034_); +v___x_4036_ = lean_uint64_to_usize(v___x_4035_); +v___x_4037_ = lean_usize_of_nat(v___x_4028_); +v___x_4038_ = ((size_t)1ULL); +v___x_4039_ = lean_usize_sub(v___x_4037_, v___x_4038_); +v___x_4040_ = lean_usize_land(v___x_4036_, v___x_4039_); +v_bkt_4041_ = lean_array_uget_borrowed(v_buckets_4024_, v___x_4040_); +v___x_4042_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__0_spec__0___redArg(v_a_4021_, v_bkt_4041_); +if (v___x_4042_ == 0) +{ +lean_object* v___x_4043_; lean_object* v_size_x27_4044_; lean_object* v___x_4045_; lean_object* v_buckets_x27_4046_; lean_object* v___x_4047_; lean_object* v___x_4048_; lean_object* v___x_4049_; lean_object* v___x_4050_; lean_object* v___x_4051_; uint8_t v___x_4052_; +v___x_4043_ = lean_unsigned_to_nat(1u); +v_size_x27_4044_ = lean_nat_add(v_size_4023_, v___x_4043_); +lean_dec(v_size_4023_); +lean_inc(v_bkt_4041_); +v___x_4045_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v___x_4045_, 0, v_a_4021_); +lean_ctor_set(v___x_4045_, 1, v_b_4022_); +lean_ctor_set(v___x_4045_, 2, v_bkt_4041_); +v_buckets_x27_4046_ = lean_array_uset(v_buckets_4024_, v___x_4040_, v___x_4045_); +v___x_4047_ = lean_unsigned_to_nat(4u); +v___x_4048_ = lean_nat_mul(v_size_x27_4044_, v___x_4047_); +v___x_4049_ = lean_unsigned_to_nat(3u); +v___x_4050_ = lean_nat_div(v___x_4048_, v___x_4049_); +lean_dec(v___x_4048_); +v___x_4051_ = lean_array_get_size(v_buckets_x27_4046_); +v___x_4052_ = lean_nat_dec_le(v___x_4050_, v___x_4051_); +lean_dec(v___x_4050_); +if (v___x_4052_ == 0) +{ +lean_object* v_val_4053_; lean_object* v___x_4055_; +v_val_4053_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(v_buckets_x27_4046_); +if (v_isShared_4027_ == 0) +{ +lean_ctor_set(v___x_4026_, 1, v_val_4053_); +lean_ctor_set(v___x_4026_, 0, v_size_x27_4044_); +v___x_4055_ = v___x_4026_; +goto v_reusejp_4054_; } else { -lean_inc(v_snd_4068_); -lean_inc(v_fst_4069_); -lean_dec(v_b_4053_); -v___x_4071_ = lean_box(0); -v_isShared_4072_ = v_isSharedCheck_4133_; -goto v_resetjp_4070_; +lean_object* v_reuseFailAlloc_4056_; +v_reuseFailAlloc_4056_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4056_, 0, v_size_x27_4044_); +lean_ctor_set(v_reuseFailAlloc_4056_, 1, v_val_4053_); +v___x_4055_ = v_reuseFailAlloc_4056_; +goto v_reusejp_4054_; } -v_resetjp_4070_: +v_reusejp_4054_: { -lean_object* v_array_4073_; lean_object* v_start_4074_; lean_object* v_stop_4075_; uint8_t v___x_4076_; -v_array_4073_ = lean_ctor_get(v_snd_4068_, 0); -v_start_4074_ = lean_ctor_get(v_snd_4068_, 1); -v_stop_4075_ = lean_ctor_get(v_snd_4068_, 2); -v___x_4076_ = lean_nat_dec_lt(v_start_4074_, v_stop_4075_); -if (v___x_4076_ == 0) -{ -lean_object* v___x_4078_; -lean_dec(v_us_4049_); -lean_dec_ref(v___x_4048_); -if (v_isShared_4072_ == 0) -{ -v___x_4078_ = v___x_4071_; -goto v_reusejp_4077_; -} -else -{ -lean_object* v_reuseFailAlloc_4080_; -v_reuseFailAlloc_4080_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4080_, 0, v_fst_4069_); -lean_ctor_set(v_reuseFailAlloc_4080_, 1, v_snd_4068_); -v___x_4078_ = v_reuseFailAlloc_4080_; -goto v_reusejp_4077_; -} -v_reusejp_4077_: -{ -lean_object* v___x_4079_; -v___x_4079_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4079_, 0, v___x_4078_); -return v___x_4079_; +return v___x_4055_; } } else { -lean_object* v___x_4082_; uint8_t v_isShared_4083_; uint8_t v_isSharedCheck_4129_; -lean_inc(v_stop_4075_); -lean_inc(v_start_4074_); -lean_inc_ref(v_array_4073_); -v_isSharedCheck_4129_ = !lean_is_exclusive(v_snd_4068_); -if (v_isSharedCheck_4129_ == 0) +lean_object* v___x_4058_; +if (v_isShared_4027_ == 0) { -lean_object* v_unused_4130_; lean_object* v_unused_4131_; lean_object* v_unused_4132_; -v_unused_4130_ = lean_ctor_get(v_snd_4068_, 2); -lean_dec(v_unused_4130_); -v_unused_4131_ = lean_ctor_get(v_snd_4068_, 1); -lean_dec(v_unused_4131_); -v_unused_4132_ = lean_ctor_get(v_snd_4068_, 0); -lean_dec(v_unused_4132_); -v___x_4082_ = v_snd_4068_; -v_isShared_4083_ = v_isSharedCheck_4129_; -goto v_resetjp_4081_; +lean_ctor_set(v___x_4026_, 1, v_buckets_x27_4046_); +lean_ctor_set(v___x_4026_, 0, v_size_x27_4044_); +v___x_4058_ = v___x_4026_; +goto v_reusejp_4057_; } else { -lean_dec(v_snd_4068_); -v___x_4082_ = lean_box(0); -v_isShared_4083_ = v_isSharedCheck_4129_; -goto v_resetjp_4081_; +lean_object* v_reuseFailAlloc_4059_; +v_reuseFailAlloc_4059_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4059_, 0, v_size_x27_4044_); +lean_ctor_set(v_reuseFailAlloc_4059_, 1, v_buckets_x27_4046_); +v___x_4058_ = v_reuseFailAlloc_4059_; +goto v_reusejp_4057_; } -v_resetjp_4081_: +v_reusejp_4057_: { -uint8_t v___x_4084_; lean_object* v_a_4085_; lean_object* v___x_4086_; lean_object* v___x_4087_; lean_object* v___x_4088_; lean_object* v___x_4090_; -v___x_4084_ = 0; -v_a_4085_ = lean_array_uget(v_as_4050_, v_i_4052_); -v___x_4086_ = lean_array_fget(v_array_4073_, v_start_4074_); -v___x_4087_ = lean_unsigned_to_nat(1u); -v___x_4088_ = lean_nat_add(v_start_4074_, v___x_4087_); -lean_dec(v_start_4074_); -if (v_isShared_4083_ == 0) -{ -lean_ctor_set(v___x_4082_, 1, v___x_4088_); -v___x_4090_ = v___x_4082_; -goto v_reusejp_4089_; +return v___x_4058_; +} +} } else { -lean_object* v_reuseFailAlloc_4128_; -v_reuseFailAlloc_4128_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v_reuseFailAlloc_4128_, 0, v_array_4073_); -lean_ctor_set(v_reuseFailAlloc_4128_, 1, v___x_4088_); -lean_ctor_set(v_reuseFailAlloc_4128_, 2, v_stop_4075_); -v___x_4090_ = v_reuseFailAlloc_4128_; -goto v_reusejp_4089_; +lean_object* v___x_4060_; lean_object* v_buckets_x27_4061_; lean_object* v___x_4062_; lean_object* v___x_4063_; lean_object* v___x_4065_; +lean_inc(v_bkt_4041_); +v___x_4060_ = lean_box(0); +v_buckets_x27_4061_ = lean_array_uset(v_buckets_4024_, v___x_4040_, v___x_4060_); +v___x_4062_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_4021_, v_b_4022_, v_bkt_4041_); +v___x_4063_ = lean_array_uset(v_buckets_x27_4061_, v___x_4040_, v___x_4062_); +if (v_isShared_4027_ == 0) +{ +lean_ctor_set(v___x_4026_, 1, v___x_4063_); +v___x_4065_ = v___x_4026_; +goto v_reusejp_4064_; } -v_reusejp_4089_: +else { -if (lean_obj_tag(v___x_4086_) == 1) +lean_object* v_reuseFailAlloc_4066_; +v_reuseFailAlloc_4066_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4066_, 0, v_size_4023_); +lean_ctor_set(v_reuseFailAlloc_4066_, 1, v___x_4063_); +v___x_4065_ = v_reuseFailAlloc_4066_; +goto v_reusejp_4064_; +} +v_reusejp_4064_: { -lean_object* v_val_4091_; lean_object* v___x_4092_; lean_object* v___x_4093_; lean_object* v_fvarId_4094_; lean_object* v___x_4095_; lean_object* v___x_4096_; lean_object* v___x_4097_; lean_object* v___x_4099_; -v_val_4091_ = lean_ctor_get(v___x_4086_, 0); -lean_inc(v_val_4091_); -lean_dec_ref(v___x_4086_); -v___x_4092_ = lean_st_ref_get(v___y_4055_); -v___x_4093_ = lean_st_ref_take(v___y_4055_); -v_fvarId_4094_ = lean_ctor_get(v_a_4085_, 0); -lean_inc(v_fvarId_4094_); -lean_dec(v_a_4085_); -v___x_4095_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normArgImp(v___x_4084_, v___x_4092_, v_val_4091_, v___x_4076_); -lean_dec(v___x_4092_); -v___x_4096_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(v___x_4093_, v_fvarId_4094_, v___x_4095_); -v___x_4097_ = lean_st_ref_set(v___y_4055_, v___x_4096_); -if (v_isShared_4072_ == 0) +return v___x_4065_; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(lean_object* v___x_4068_, lean_object* v_us_4069_, lean_object* v_as_4070_, size_t v_sz_4071_, size_t v_i_4072_, lean_object* v_b_4073_, uint8_t v___y_4074_, lean_object* v___y_4075_, lean_object* v___y_4076_, lean_object* v___y_4077_, lean_object* v___y_4078_, lean_object* v___y_4079_){ +_start: { -lean_ctor_set(v___x_4071_, 1, v___x_4090_); -v___x_4099_ = v___x_4071_; -goto v_reusejp_4098_; +lean_object* v_a_4082_; uint8_t v___x_4086_; +v___x_4086_ = lean_usize_dec_lt(v_i_4072_, v_sz_4071_); +if (v___x_4086_ == 0) +{ +lean_object* v___x_4087_; +lean_dec(v_us_4069_); +lean_dec_ref(v___x_4068_); +v___x_4087_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4087_, 0, v_b_4073_); +return v___x_4087_; +} +else +{ +lean_object* v_snd_4088_; lean_object* v_fst_4089_; lean_object* v___x_4091_; uint8_t v_isShared_4092_; uint8_t v_isSharedCheck_4153_; +v_snd_4088_ = lean_ctor_get(v_b_4073_, 1); +v_fst_4089_ = lean_ctor_get(v_b_4073_, 0); +v_isSharedCheck_4153_ = !lean_is_exclusive(v_b_4073_); +if (v_isSharedCheck_4153_ == 0) +{ +v___x_4091_ = v_b_4073_; +v_isShared_4092_ = v_isSharedCheck_4153_; +goto v_resetjp_4090_; +} +else +{ +lean_inc(v_snd_4088_); +lean_inc(v_fst_4089_); +lean_dec(v_b_4073_); +v___x_4091_ = lean_box(0); +v_isShared_4092_ = v_isSharedCheck_4153_; +goto v_resetjp_4090_; +} +v_resetjp_4090_: +{ +lean_object* v_array_4093_; lean_object* v_start_4094_; lean_object* v_stop_4095_; uint8_t v___x_4096_; +v_array_4093_ = lean_ctor_get(v_snd_4088_, 0); +v_start_4094_ = lean_ctor_get(v_snd_4088_, 1); +v_stop_4095_ = lean_ctor_get(v_snd_4088_, 2); +v___x_4096_ = lean_nat_dec_lt(v_start_4094_, v_stop_4095_); +if (v___x_4096_ == 0) +{ +lean_object* v___x_4098_; +lean_dec(v_us_4069_); +lean_dec_ref(v___x_4068_); +if (v_isShared_4092_ == 0) +{ +v___x_4098_ = v___x_4091_; +goto v_reusejp_4097_; } else { lean_object* v_reuseFailAlloc_4100_; v_reuseFailAlloc_4100_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4100_, 0, v_fst_4069_); -lean_ctor_set(v_reuseFailAlloc_4100_, 1, v___x_4090_); -v___x_4099_ = v_reuseFailAlloc_4100_; -goto v_reusejp_4098_; +lean_ctor_set(v_reuseFailAlloc_4100_, 0, v_fst_4089_); +lean_ctor_set(v_reuseFailAlloc_4100_, 1, v_snd_4088_); +v___x_4098_ = v_reuseFailAlloc_4100_; +goto v_reusejp_4097_; } -v_reusejp_4098_: +v_reusejp_4097_: { -v_a_4062_ = v___x_4099_; -goto v___jp_4061_; +lean_object* v___x_4099_; +v___x_4099_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4099_, 0, v___x_4098_); +return v___x_4099_; } } else { -lean_object* v_fvarId_4101_; lean_object* v_binderName_4102_; lean_object* v_type_4103_; uint8_t v_borrow_4104_; lean_object* v___x_4106_; uint8_t v_isShared_4107_; uint8_t v_isSharedCheck_4127_; -lean_dec(v___x_4086_); -v_fvarId_4101_ = lean_ctor_get(v_a_4085_, 0); -v_binderName_4102_ = lean_ctor_get(v_a_4085_, 1); -v_type_4103_ = lean_ctor_get(v_a_4085_, 2); -v_borrow_4104_ = lean_ctor_get_uint8(v_a_4085_, sizeof(void*)*3); -v_isSharedCheck_4127_ = !lean_is_exclusive(v_a_4085_); -if (v_isSharedCheck_4127_ == 0) +lean_object* v___x_4102_; uint8_t v_isShared_4103_; uint8_t v_isSharedCheck_4149_; +lean_inc(v_stop_4095_); +lean_inc(v_start_4094_); +lean_inc_ref(v_array_4093_); +v_isSharedCheck_4149_ = !lean_is_exclusive(v_snd_4088_); +if (v_isSharedCheck_4149_ == 0) { -v___x_4106_ = v_a_4085_; -v_isShared_4107_ = v_isSharedCheck_4127_; -goto v_resetjp_4105_; +lean_object* v_unused_4150_; lean_object* v_unused_4151_; lean_object* v_unused_4152_; +v_unused_4150_ = lean_ctor_get(v_snd_4088_, 2); +lean_dec(v_unused_4150_); +v_unused_4151_ = lean_ctor_get(v_snd_4088_, 1); +lean_dec(v_unused_4151_); +v_unused_4152_ = lean_ctor_get(v_snd_4088_, 0); +lean_dec(v_unused_4152_); +v___x_4102_ = v_snd_4088_; +v_isShared_4103_ = v_isSharedCheck_4149_; +goto v_resetjp_4101_; } else { -lean_inc(v_type_4103_); -lean_inc(v_binderName_4102_); -lean_inc(v_fvarId_4101_); -lean_dec(v_a_4085_); -v___x_4106_ = lean_box(0); -v_isShared_4107_ = v_isSharedCheck_4127_; -goto v_resetjp_4105_; +lean_dec(v_snd_4088_); +v___x_4102_ = lean_box(0); +v_isShared_4103_ = v_isSharedCheck_4149_; +goto v_resetjp_4101_; } -v_resetjp_4105_: +v_resetjp_4101_: { -lean_object* v_levelParams_4108_; lean_object* v___x_4109_; lean_object* v___x_4111_; -v_levelParams_4108_ = lean_ctor_get(v___x_4048_, 1); -lean_inc(v_us_4049_); -lean_inc(v_levelParams_4108_); -v___x_4109_ = l_Lean_Expr_instantiateLevelParamsNoCache(v_type_4103_, v_levelParams_4108_, v_us_4049_); -if (v_isShared_4107_ == 0) +uint8_t v___x_4104_; lean_object* v_a_4105_; lean_object* v___x_4106_; lean_object* v___x_4107_; lean_object* v___x_4108_; lean_object* v___x_4110_; +v___x_4104_ = 0; +v_a_4105_ = lean_array_uget(v_as_4070_, v_i_4072_); +v___x_4106_ = lean_array_fget(v_array_4093_, v_start_4094_); +v___x_4107_ = lean_unsigned_to_nat(1u); +v___x_4108_ = lean_nat_add(v_start_4094_, v___x_4107_); +lean_dec(v_start_4094_); +if (v_isShared_4103_ == 0) { -lean_ctor_set(v___x_4106_, 2, v___x_4109_); -v___x_4111_ = v___x_4106_; -goto v_reusejp_4110_; +lean_ctor_set(v___x_4102_, 1, v___x_4108_); +v___x_4110_ = v___x_4102_; +goto v_reusejp_4109_; } else { -lean_object* v_reuseFailAlloc_4126_; -v_reuseFailAlloc_4126_ = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(v_reuseFailAlloc_4126_, 0, v_fvarId_4101_); -lean_ctor_set(v_reuseFailAlloc_4126_, 1, v_binderName_4102_); -lean_ctor_set(v_reuseFailAlloc_4126_, 2, v___x_4109_); -lean_ctor_set_uint8(v_reuseFailAlloc_4126_, sizeof(void*)*3, v_borrow_4104_); -v___x_4111_ = v_reuseFailAlloc_4126_; -goto v_reusejp_4110_; +lean_object* v_reuseFailAlloc_4148_; +v_reuseFailAlloc_4148_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v_reuseFailAlloc_4148_, 0, v_array_4093_); +lean_ctor_set(v_reuseFailAlloc_4148_, 1, v___x_4108_); +lean_ctor_set(v_reuseFailAlloc_4148_, 2, v_stop_4095_); +v___x_4110_ = v_reuseFailAlloc_4148_; +goto v_reusejp_4109_; } -v_reusejp_4110_: +v_reusejp_4109_: { -lean_object* v___x_4112_; -v___x_4112_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_4084_, v___x_4111_, v___y_4054_, v___y_4055_, v___y_4056_, v___y_4057_, v___y_4058_, v___y_4059_); -if (lean_obj_tag(v___x_4112_) == 0) +if (lean_obj_tag(v___x_4106_) == 1) { -lean_object* v_a_4113_; lean_object* v___x_4114_; lean_object* v___x_4116_; -v_a_4113_ = lean_ctor_get(v___x_4112_, 0); -lean_inc(v_a_4113_); -lean_dec_ref(v___x_4112_); -v___x_4114_ = lean_array_push(v_fst_4069_, v_a_4113_); -if (v_isShared_4072_ == 0) -{ -lean_ctor_set(v___x_4071_, 1, v___x_4090_); -lean_ctor_set(v___x_4071_, 0, v___x_4114_); -v___x_4116_ = v___x_4071_; -goto v_reusejp_4115_; -} -else -{ -lean_object* v_reuseFailAlloc_4117_; -v_reuseFailAlloc_4117_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4117_, 0, v___x_4114_); -lean_ctor_set(v_reuseFailAlloc_4117_, 1, v___x_4090_); -v___x_4116_ = v_reuseFailAlloc_4117_; -goto v_reusejp_4115_; -} -v_reusejp_4115_: -{ -v_a_4062_ = v___x_4116_; -goto v___jp_4061_; -} -} -else -{ -lean_object* v_a_4118_; lean_object* v___x_4120_; uint8_t v_isShared_4121_; uint8_t v_isSharedCheck_4125_; -lean_dec_ref(v___x_4090_); -lean_del_object(v___x_4071_); -lean_dec(v_fst_4069_); -lean_dec(v_us_4049_); -lean_dec_ref(v___x_4048_); -v_a_4118_ = lean_ctor_get(v___x_4112_, 0); -v_isSharedCheck_4125_ = !lean_is_exclusive(v___x_4112_); -if (v_isSharedCheck_4125_ == 0) -{ -v___x_4120_ = v___x_4112_; -v_isShared_4121_ = v_isSharedCheck_4125_; -goto v_resetjp_4119_; -} -else -{ -lean_inc(v_a_4118_); +lean_object* v_val_4111_; lean_object* v___x_4112_; lean_object* v___x_4113_; lean_object* v_fvarId_4114_; lean_object* v___x_4115_; lean_object* v___x_4116_; lean_object* v___x_4117_; lean_object* v___x_4119_; +v_val_4111_ = lean_ctor_get(v___x_4106_, 0); +lean_inc(v_val_4111_); +lean_dec_ref(v___x_4106_); +v___x_4112_ = lean_st_ref_get(v___y_4075_); +v___x_4113_ = lean_st_ref_take(v___y_4075_); +v_fvarId_4114_ = lean_ctor_get(v_a_4105_, 0); +lean_inc(v_fvarId_4114_); +lean_dec(v_a_4105_); +v___x_4115_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normArgImp(v___x_4104_, v___x_4112_, v_val_4111_, v___x_4096_); lean_dec(v___x_4112_); -v___x_4120_ = lean_box(0); -v_isShared_4121_ = v_isSharedCheck_4125_; -goto v_resetjp_4119_; -} -v_resetjp_4119_: +v___x_4116_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(v___x_4113_, v_fvarId_4114_, v___x_4115_); +v___x_4117_ = lean_st_ref_set(v___y_4075_, v___x_4116_); +if (v_isShared_4092_ == 0) { -lean_object* v___x_4123_; -if (v_isShared_4121_ == 0) -{ -v___x_4123_ = v___x_4120_; -goto v_reusejp_4122_; +lean_ctor_set(v___x_4091_, 1, v___x_4110_); +v___x_4119_ = v___x_4091_; +goto v_reusejp_4118_; } else { -lean_object* v_reuseFailAlloc_4124_; -v_reuseFailAlloc_4124_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4124_, 0, v_a_4118_); -v___x_4123_ = v_reuseFailAlloc_4124_; -goto v_reusejp_4122_; +lean_object* v_reuseFailAlloc_4120_; +v_reuseFailAlloc_4120_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4120_, 0, v_fst_4089_); +lean_ctor_set(v_reuseFailAlloc_4120_, 1, v___x_4110_); +v___x_4119_ = v_reuseFailAlloc_4120_; +goto v_reusejp_4118_; } -v_reusejp_4122_: +v_reusejp_4118_: { -return v___x_4123_; +v_a_4082_ = v___x_4119_; +goto v___jp_4081_; } } -} -} -} -} -} -} -} -} -} -v___jp_4061_: +else { -size_t v___x_4063_; size_t v___x_4064_; -v___x_4063_ = ((size_t)1ULL); -v___x_4064_ = lean_usize_add(v_i_4052_, v___x_4063_); -v_i_4052_ = v___x_4064_; -v_b_4053_ = v_a_4062_; +lean_object* v_fvarId_4121_; lean_object* v_binderName_4122_; lean_object* v_type_4123_; uint8_t v_borrow_4124_; lean_object* v___x_4126_; uint8_t v_isShared_4127_; uint8_t v_isSharedCheck_4147_; +lean_dec(v___x_4106_); +v_fvarId_4121_ = lean_ctor_get(v_a_4105_, 0); +v_binderName_4122_ = lean_ctor_get(v_a_4105_, 1); +v_type_4123_ = lean_ctor_get(v_a_4105_, 2); +v_borrow_4124_ = lean_ctor_get_uint8(v_a_4105_, sizeof(void*)*3); +v_isSharedCheck_4147_ = !lean_is_exclusive(v_a_4105_); +if (v_isSharedCheck_4147_ == 0) +{ +v___x_4126_ = v_a_4105_; +v_isShared_4127_ = v_isSharedCheck_4147_; +goto v_resetjp_4125_; +} +else +{ +lean_inc(v_type_4123_); +lean_inc(v_binderName_4122_); +lean_inc(v_fvarId_4121_); +lean_dec(v_a_4105_); +v___x_4126_ = lean_box(0); +v_isShared_4127_ = v_isSharedCheck_4147_; +goto v_resetjp_4125_; +} +v_resetjp_4125_: +{ +lean_object* v_levelParams_4128_; lean_object* v___x_4129_; lean_object* v___x_4131_; +v_levelParams_4128_ = lean_ctor_get(v___x_4068_, 1); +lean_inc(v_us_4069_); +lean_inc(v_levelParams_4128_); +v___x_4129_ = l_Lean_Expr_instantiateLevelParamsNoCache(v_type_4123_, v_levelParams_4128_, v_us_4069_); +if (v_isShared_4127_ == 0) +{ +lean_ctor_set(v___x_4126_, 2, v___x_4129_); +v___x_4131_ = v___x_4126_; +goto v_reusejp_4130_; +} +else +{ +lean_object* v_reuseFailAlloc_4146_; +v_reuseFailAlloc_4146_ = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(v_reuseFailAlloc_4146_, 0, v_fvarId_4121_); +lean_ctor_set(v_reuseFailAlloc_4146_, 1, v_binderName_4122_); +lean_ctor_set(v_reuseFailAlloc_4146_, 2, v___x_4129_); +lean_ctor_set_uint8(v_reuseFailAlloc_4146_, sizeof(void*)*3, v_borrow_4124_); +v___x_4131_ = v_reuseFailAlloc_4146_; +goto v_reusejp_4130_; +} +v_reusejp_4130_: +{ +lean_object* v___x_4132_; +v___x_4132_ = l_Lean_Compiler_LCNF_Internalize_internalizeParam(v___x_4104_, v___x_4131_, v___y_4074_, v___y_4075_, v___y_4076_, v___y_4077_, v___y_4078_, v___y_4079_); +if (lean_obj_tag(v___x_4132_) == 0) +{ +lean_object* v_a_4133_; lean_object* v___x_4134_; lean_object* v___x_4136_; +v_a_4133_ = lean_ctor_get(v___x_4132_, 0); +lean_inc(v_a_4133_); +lean_dec_ref(v___x_4132_); +v___x_4134_ = lean_array_push(v_fst_4089_, v_a_4133_); +if (v_isShared_4092_ == 0) +{ +lean_ctor_set(v___x_4091_, 1, v___x_4110_); +lean_ctor_set(v___x_4091_, 0, v___x_4134_); +v___x_4136_ = v___x_4091_; +goto v_reusejp_4135_; +} +else +{ +lean_object* v_reuseFailAlloc_4137_; +v_reuseFailAlloc_4137_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4137_, 0, v___x_4134_); +lean_ctor_set(v_reuseFailAlloc_4137_, 1, v___x_4110_); +v___x_4136_ = v_reuseFailAlloc_4137_; +goto v_reusejp_4135_; +} +v_reusejp_4135_: +{ +v_a_4082_ = v___x_4136_; +goto v___jp_4081_; +} +} +else +{ +lean_object* v_a_4138_; lean_object* v___x_4140_; uint8_t v_isShared_4141_; uint8_t v_isSharedCheck_4145_; +lean_dec_ref(v___x_4110_); +lean_del_object(v___x_4091_); +lean_dec(v_fst_4089_); +lean_dec(v_us_4069_); +lean_dec_ref(v___x_4068_); +v_a_4138_ = lean_ctor_get(v___x_4132_, 0); +v_isSharedCheck_4145_ = !lean_is_exclusive(v___x_4132_); +if (v_isSharedCheck_4145_ == 0) +{ +v___x_4140_ = v___x_4132_; +v_isShared_4141_ = v_isSharedCheck_4145_; +goto v_resetjp_4139_; +} +else +{ +lean_inc(v_a_4138_); +lean_dec(v___x_4132_); +v___x_4140_ = lean_box(0); +v_isShared_4141_ = v_isSharedCheck_4145_; +goto v_resetjp_4139_; +} +v_resetjp_4139_: +{ +lean_object* v___x_4143_; +if (v_isShared_4141_ == 0) +{ +v___x_4143_ = v___x_4140_; +goto v_reusejp_4142_; +} +else +{ +lean_object* v_reuseFailAlloc_4144_; +v_reuseFailAlloc_4144_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4144_, 0, v_a_4138_); +v___x_4143_ = v_reuseFailAlloc_4144_; +goto v_reusejp_4142_; +} +v_reusejp_4142_: +{ +return v___x_4143_; +} +} +} +} +} +} +} +} +} +} +} +v___jp_4081_: +{ +size_t v___x_4083_; size_t v___x_4084_; +v___x_4083_ = ((size_t)1ULL); +v___x_4084_ = lean_usize_add(v_i_4072_, v___x_4083_); +v_i_4072_ = v___x_4084_; +v_b_4073_ = v_a_4082_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3___boxed(lean_object* v___x_4134_, lean_object* v_us_4135_, lean_object* v_as_4136_, lean_object* v_sz_4137_, lean_object* v_i_4138_, lean_object* v_b_4139_, lean_object* v___y_4140_, lean_object* v___y_4141_, lean_object* v___y_4142_, lean_object* v___y_4143_, lean_object* v___y_4144_, lean_object* v___y_4145_, lean_object* v___y_4146_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3___boxed(lean_object* v___x_4154_, lean_object* v_us_4155_, lean_object* v_as_4156_, lean_object* v_sz_4157_, lean_object* v_i_4158_, lean_object* v_b_4159_, lean_object* v___y_4160_, lean_object* v___y_4161_, lean_object* v___y_4162_, lean_object* v___y_4163_, lean_object* v___y_4164_, lean_object* v___y_4165_, lean_object* v___y_4166_){ _start: { -size_t v_sz_boxed_4147_; size_t v_i_boxed_4148_; uint8_t v___y_14494__boxed_4149_; lean_object* v_res_4150_; -v_sz_boxed_4147_ = lean_unbox_usize(v_sz_4137_); -lean_dec(v_sz_4137_); -v_i_boxed_4148_ = lean_unbox_usize(v_i_4138_); -lean_dec(v_i_4138_); -v___y_14494__boxed_4149_ = lean_unbox(v___y_4140_); -v_res_4150_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(v___x_4134_, v_us_4135_, v_as_4136_, v_sz_boxed_4147_, v_i_boxed_4148_, v_b_4139_, v___y_14494__boxed_4149_, v___y_4141_, v___y_4142_, v___y_4143_, v___y_4144_, v___y_4145_); -lean_dec(v___y_4145_); -lean_dec_ref(v___y_4144_); -lean_dec(v___y_4143_); -lean_dec_ref(v___y_4142_); -lean_dec(v___y_4141_); -lean_dec_ref(v_as_4136_); -return v_res_4150_; +size_t v_sz_boxed_4167_; size_t v_i_boxed_4168_; uint8_t v___y_14494__boxed_4169_; lean_object* v_res_4170_; +v_sz_boxed_4167_ = lean_unbox_usize(v_sz_4157_); +lean_dec(v_sz_4157_); +v_i_boxed_4168_ = lean_unbox_usize(v_i_4158_); +lean_dec(v_i_4158_); +v___y_14494__boxed_4169_ = lean_unbox(v___y_4160_); +v_res_4170_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(v___x_4154_, v_us_4155_, v_as_4156_, v_sz_boxed_4167_, v_i_boxed_4168_, v_b_4159_, v___y_14494__boxed_4169_, v___y_4161_, v___y_4162_, v___y_4163_, v___y_4164_, v___y_4165_); +lean_dec(v___y_4165_); +lean_dec_ref(v___y_4164_); +lean_dec(v___y_4163_); +lean_dec_ref(v___y_4162_); +lean_dec(v___y_4161_); +lean_dec_ref(v_as_4156_); +return v_res_4170_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3(void){ _start: { -lean_object* v___x_4154_; lean_object* v___x_4155_; lean_object* v___x_4156_; lean_object* v___x_4157_; lean_object* v___x_4158_; lean_object* v___x_4159_; -v___x_4154_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__2)); -v___x_4155_ = lean_unsigned_to_nat(35u); -v___x_4156_ = lean_unsigned_to_nat(334u); -v___x_4157_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__1)); -v___x_4158_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); -v___x_4159_ = l_mkPanicMessageWithDecl(v___x_4158_, v___x_4157_, v___x_4156_, v___x_4155_, v___x_4154_); -return v___x_4159_; +lean_object* v___x_4174_; lean_object* v___x_4175_; lean_object* v___x_4176_; lean_object* v___x_4177_; lean_object* v___x_4178_; lean_object* v___x_4179_; +v___x_4174_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__2)); +v___x_4175_ = lean_unsigned_to_nat(35u); +v___x_4176_ = lean_unsigned_to_nat(335u); +v___x_4177_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__1)); +v___x_4178_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); +v___x_4179_ = l_mkPanicMessageWithDecl(v___x_4178_, v___x_4177_, v___x_4176_, v___x_4175_, v___x_4174_); +return v___x_4179_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(lean_object* v_us_4160_, lean_object* v_argMask_4161_, lean_object* v_params_4162_, lean_object* v_decls_4163_, lean_object* v_levelParamsNew_4164_, lean_object* v_decl_4165_, lean_object* v_nameNew_4166_, uint8_t v_a_4167_, lean_object* v_a_4168_, lean_object* v_a_4169_, lean_object* v_a_4170_, lean_object* v_a_4171_, lean_object* v_a_4172_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(lean_object* v_us_4180_, lean_object* v_argMask_4181_, lean_object* v_params_4182_, lean_object* v_decls_4183_, lean_object* v_levelParamsNew_4184_, lean_object* v_decl_4185_, lean_object* v_nameNew_4186_, uint8_t v_a_4187_, lean_object* v_a_4188_, lean_object* v_a_4189_, lean_object* v_a_4190_, lean_object* v_a_4191_, lean_object* v_a_4192_){ _start: { -lean_object* v_value_4174_; -v_value_4174_ = lean_ctor_get(v_decl_4165_, 1); -lean_inc_ref(v_value_4174_); -if (lean_obj_tag(v_value_4174_) == 0) +lean_object* v_value_4194_; +v_value_4194_ = lean_ctor_get(v_decl_4185_, 1); +lean_inc_ref(v_value_4194_); +if (lean_obj_tag(v_value_4194_) == 0) { -lean_object* v_toSignature_4175_; uint8_t v_recursive_4176_; lean_object* v___x_4178_; uint8_t v_isShared_4179_; uint8_t v_isSharedCheck_4292_; -v_toSignature_4175_ = lean_ctor_get(v_decl_4165_, 0); -v_recursive_4176_ = lean_ctor_get_uint8(v_decl_4165_, sizeof(void*)*3); -v_isSharedCheck_4292_ = !lean_is_exclusive(v_decl_4165_); -if (v_isSharedCheck_4292_ == 0) +lean_object* v_toSignature_4195_; uint8_t v_recursive_4196_; lean_object* v___x_4198_; uint8_t v_isShared_4199_; uint8_t v_isSharedCheck_4312_; +v_toSignature_4195_ = lean_ctor_get(v_decl_4185_, 0); +v_recursive_4196_ = lean_ctor_get_uint8(v_decl_4185_, sizeof(void*)*3); +v_isSharedCheck_4312_ = !lean_is_exclusive(v_decl_4185_); +if (v_isSharedCheck_4312_ == 0) { -lean_object* v_unused_4293_; lean_object* v_unused_4294_; -v_unused_4293_ = lean_ctor_get(v_decl_4165_, 2); -lean_dec(v_unused_4293_); -v_unused_4294_ = lean_ctor_get(v_decl_4165_, 1); -lean_dec(v_unused_4294_); -v___x_4178_ = v_decl_4165_; -v_isShared_4179_ = v_isSharedCheck_4292_; -goto v_resetjp_4177_; +lean_object* v_unused_4313_; lean_object* v_unused_4314_; +v_unused_4313_ = lean_ctor_get(v_decl_4185_, 2); +lean_dec(v_unused_4313_); +v_unused_4314_ = lean_ctor_get(v_decl_4185_, 1); +lean_dec(v_unused_4314_); +v___x_4198_ = v_decl_4185_; +v_isShared_4199_ = v_isSharedCheck_4312_; +goto v_resetjp_4197_; } else { -lean_inc(v_toSignature_4175_); -lean_dec(v_decl_4165_); -v___x_4178_ = lean_box(0); -v_isShared_4179_ = v_isSharedCheck_4292_; -goto v_resetjp_4177_; +lean_inc(v_toSignature_4195_); +lean_dec(v_decl_4185_); +v___x_4198_ = lean_box(0); +v_isShared_4199_ = v_isSharedCheck_4312_; +goto v_resetjp_4197_; } -v_resetjp_4177_: +v_resetjp_4197_: { -lean_object* v_code_4180_; lean_object* v___x_4182_; uint8_t v_isShared_4183_; uint8_t v_isSharedCheck_4291_; -v_code_4180_ = lean_ctor_get(v_value_4174_, 0); -v_isSharedCheck_4291_ = !lean_is_exclusive(v_value_4174_); -if (v_isSharedCheck_4291_ == 0) +lean_object* v_code_4200_; lean_object* v___x_4202_; uint8_t v_isShared_4203_; uint8_t v_isSharedCheck_4311_; +v_code_4200_ = lean_ctor_get(v_value_4194_, 0); +v_isSharedCheck_4311_ = !lean_is_exclusive(v_value_4194_); +if (v_isSharedCheck_4311_ == 0) { -v___x_4182_ = v_value_4174_; -v_isShared_4183_ = v_isSharedCheck_4291_; -goto v_resetjp_4181_; +v___x_4202_ = v_value_4194_; +v_isShared_4203_ = v_isSharedCheck_4311_; +goto v_resetjp_4201_; } else { -lean_inc(v_code_4180_); -lean_dec(v_value_4174_); -v___x_4182_ = lean_box(0); -v_isShared_4183_ = v_isSharedCheck_4291_; -goto v_resetjp_4181_; +lean_inc(v_code_4200_); +lean_dec(v_value_4194_); +v___x_4202_ = lean_box(0); +v_isShared_4203_ = v_isSharedCheck_4311_; +goto v_resetjp_4201_; } -v_resetjp_4181_: +v_resetjp_4201_: { -size_t v_sz_4184_; size_t v___x_4185_; lean_object* v___x_4186_; -v_sz_4184_ = lean_array_size(v_params_4162_); -v___x_4185_ = ((size_t)0ULL); -v___x_4186_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(v_sz_4184_, v___x_4185_, v_params_4162_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4186_) == 0) +size_t v_sz_4204_; size_t v___x_4205_; lean_object* v___x_4206_; +v_sz_4204_ = lean_array_size(v_params_4182_); +v___x_4205_ = ((size_t)0ULL); +v___x_4206_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__0(v_sz_4204_, v___x_4205_, v_params_4182_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4206_) == 0) { -lean_object* v_a_4187_; size_t v_sz_4188_; lean_object* v___x_4189_; -v_a_4187_ = lean_ctor_get(v___x_4186_, 0); -lean_inc(v_a_4187_); -lean_dec_ref(v___x_4186_); -v_sz_4188_ = lean_array_size(v_decls_4163_); -v___x_4189_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(v_sz_4188_, v___x_4185_, v_decls_4163_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4189_) == 0) +lean_object* v_a_4207_; size_t v_sz_4208_; lean_object* v___x_4209_; +v_a_4207_ = lean_ctor_get(v___x_4206_, 0); +lean_inc(v_a_4207_); +lean_dec_ref(v___x_4206_); +v_sz_4208_ = lean_array_size(v_decls_4183_); +v___x_4209_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__1(v_sz_4208_, v___x_4205_, v_decls_4183_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4209_) == 0) { -lean_object* v_a_4190_; lean_object* v_levelParams_4191_; lean_object* v_params_4192_; uint8_t v_safe_4193_; lean_object* v___x_4194_; lean_object* v___x_4195_; lean_object* v___x_4196_; lean_object* v___x_4197_; size_t v_sz_4198_; lean_object* v___x_4199_; -v_a_4190_ = lean_ctor_get(v___x_4189_, 0); -lean_inc(v_a_4190_); -lean_dec_ref(v___x_4189_); -v_levelParams_4191_ = lean_ctor_get(v_toSignature_4175_, 1); -lean_inc(v_levelParams_4191_); -v_params_4192_ = lean_ctor_get(v_toSignature_4175_, 3); -v_safe_4193_ = lean_ctor_get_uint8(v_toSignature_4175_, sizeof(void*)*4); -v___x_4194_ = lean_array_get_size(v_argMask_4161_); -v___x_4195_ = lean_unsigned_to_nat(0u); -v___x_4196_ = l_Array_toSubarray___redArg(v_argMask_4161_, v___x_4195_, v___x_4194_); -v___x_4197_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_4197_, 0, v_a_4187_); -lean_ctor_set(v___x_4197_, 1, v___x_4196_); -v_sz_4198_ = lean_array_size(v_params_4192_); -lean_inc(v_us_4160_); -lean_inc_ref(v_toSignature_4175_); -v___x_4199_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(v_toSignature_4175_, v_us_4160_, v_params_4192_, v_sz_4198_, v___x_4185_, v___x_4197_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4199_) == 0) +lean_object* v_a_4210_; lean_object* v_levelParams_4211_; lean_object* v_params_4212_; uint8_t v_safe_4213_; lean_object* v___x_4214_; lean_object* v___x_4215_; lean_object* v___x_4216_; lean_object* v___x_4217_; size_t v_sz_4218_; lean_object* v___x_4219_; +v_a_4210_ = lean_ctor_get(v___x_4209_, 0); +lean_inc(v_a_4210_); +lean_dec_ref(v___x_4209_); +v_levelParams_4211_ = lean_ctor_get(v_toSignature_4195_, 1); +lean_inc(v_levelParams_4211_); +v_params_4212_ = lean_ctor_get(v_toSignature_4195_, 3); +v_safe_4213_ = lean_ctor_get_uint8(v_toSignature_4195_, sizeof(void*)*4); +v___x_4214_ = lean_array_get_size(v_argMask_4181_); +v___x_4215_ = lean_unsigned_to_nat(0u); +v___x_4216_ = l_Array_toSubarray___redArg(v_argMask_4181_, v___x_4215_, v___x_4214_); +v___x_4217_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_4217_, 0, v_a_4207_); +lean_ctor_set(v___x_4217_, 1, v___x_4216_); +v_sz_4218_ = lean_array_size(v_params_4212_); +lean_inc(v_us_4180_); +lean_inc_ref(v_toSignature_4195_); +v___x_4219_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__3(v_toSignature_4195_, v_us_4180_, v_params_4212_, v_sz_4218_, v___x_4205_, v___x_4217_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4219_) == 0) { -lean_object* v_a_4200_; lean_object* v_fst_4201_; uint8_t v___x_4202_; lean_object* v_lower_4204_; lean_object* v_upper_4205_; lean_object* v___x_4265_; uint8_t v___x_4266_; -v_a_4200_ = lean_ctor_get(v___x_4199_, 0); -lean_inc(v_a_4200_); -lean_dec_ref(v___x_4199_); -v_fst_4201_ = lean_ctor_get(v_a_4200_, 0); -lean_inc(v_fst_4201_); -lean_dec(v_a_4200_); -v___x_4202_ = 0; -v___x_4265_ = lean_array_get_size(v_params_4192_); -v___x_4266_ = lean_nat_dec_le(v___x_4194_, v___x_4195_); -if (v___x_4266_ == 0) +lean_object* v_a_4220_; lean_object* v_fst_4221_; uint8_t v___x_4222_; lean_object* v_lower_4224_; lean_object* v_upper_4225_; lean_object* v___x_4285_; uint8_t v___x_4286_; +v_a_4220_ = lean_ctor_get(v___x_4219_, 0); +lean_inc(v_a_4220_); +lean_dec_ref(v___x_4219_); +v_fst_4221_ = lean_ctor_get(v_a_4220_, 0); +lean_inc(v_fst_4221_); +lean_dec(v_a_4220_); +v___x_4222_ = 0; +v___x_4285_ = lean_array_get_size(v_params_4212_); +v___x_4286_ = lean_nat_dec_le(v___x_4214_, v___x_4215_); +if (v___x_4286_ == 0) { -v_lower_4204_ = v___x_4194_; -v_upper_4205_ = v___x_4265_; -goto v___jp_4203_; +v_lower_4224_ = v___x_4214_; +v_upper_4225_ = v___x_4285_; +goto v___jp_4223_; } else { -v_lower_4204_ = v___x_4195_; -v_upper_4205_ = v___x_4265_; -goto v___jp_4203_; +v_lower_4224_ = v___x_4215_; +v_upper_4225_ = v___x_4285_; +goto v___jp_4223_; } -v___jp_4203_: +v___jp_4223_: { -lean_object* v___x_4206_; lean_object* v___x_4207_; -lean_inc_ref(v_params_4192_); -v___x_4206_ = l_Array_toSubarray___redArg(v_params_4192_, v_lower_4204_, v_upper_4205_); -lean_inc(v_us_4160_); -v___x_4207_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v_toSignature_4175_, v_us_4160_, v___x_4206_, v_fst_4201_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4207_) == 0) +lean_object* v___x_4226_; lean_object* v___x_4227_; +lean_inc_ref(v_params_4212_); +v___x_4226_ = l_Array_toSubarray___redArg(v_params_4212_, v_lower_4224_, v_upper_4225_); +lean_inc(v_us_4180_); +v___x_4227_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v_toSignature_4195_, v_us_4180_, v___x_4226_, v_fst_4221_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4227_) == 0) { -lean_object* v_a_4208_; lean_object* v___x_4209_; lean_object* v___x_4210_; -v_a_4208_ = lean_ctor_get(v___x_4207_, 0); -lean_inc(v_a_4208_); -lean_dec_ref(v___x_4207_); -v___x_4209_ = l_Lean_Compiler_LCNF_Code_instantiateValueLevelParams(v_code_4180_, v_levelParams_4191_, v_us_4160_); -v___x_4210_ = l_Lean_Compiler_LCNF_Internalize_internalizeCode(v___x_4202_, v___x_4209_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4210_) == 0) +lean_object* v_a_4228_; lean_object* v___x_4229_; lean_object* v___x_4230_; +v_a_4228_ = lean_ctor_get(v___x_4227_, 0); +lean_inc(v_a_4228_); +lean_dec_ref(v___x_4227_); +v___x_4229_ = l_Lean_Compiler_LCNF_Code_instantiateValueLevelParams(v_code_4200_, v_levelParams_4211_, v_us_4180_); +v___x_4230_ = l_Lean_Compiler_LCNF_Internalize_internalizeCode(v___x_4222_, v___x_4229_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4230_) == 0) { -lean_object* v_a_4211_; lean_object* v___x_4212_; lean_object* v___x_4213_; -v_a_4211_ = lean_ctor_get(v___x_4210_, 0); -lean_inc(v_a_4211_); -lean_dec_ref(v___x_4210_); -v___x_4212_ = l_Lean_Compiler_LCNF_attachCodeDecls(v___x_4202_, v_a_4190_, v_a_4211_); -lean_dec(v_a_4190_); -lean_inc_ref(v___x_4212_); -v___x_4213_ = l_Lean_Compiler_LCNF_Code_inferType(v___x_4202_, v___x_4212_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -if (lean_obj_tag(v___x_4213_) == 0) +lean_object* v_a_4231_; lean_object* v___x_4232_; lean_object* v___x_4233_; +v_a_4231_ = lean_ctor_get(v___x_4230_, 0); +lean_inc(v_a_4231_); +lean_dec_ref(v___x_4230_); +v___x_4232_ = l_Lean_Compiler_LCNF_attachCodeDecls(v___x_4222_, v_a_4210_, v_a_4231_); +lean_dec(v_a_4210_); +lean_inc_ref(v___x_4232_); +v___x_4233_ = l_Lean_Compiler_LCNF_Code_inferType(v___x_4222_, v___x_4232_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +if (lean_obj_tag(v___x_4233_) == 0) { -lean_object* v_a_4214_; lean_object* v___x_4215_; -v_a_4214_ = lean_ctor_get(v___x_4213_, 0); -lean_inc(v_a_4214_); -lean_dec_ref(v___x_4213_); -lean_inc(v_a_4208_); -v___x_4215_ = l_Lean_Compiler_LCNF_mkForallParams(v___x_4202_, v_a_4208_, v_a_4214_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -lean_dec(v_a_4214_); -if (lean_obj_tag(v___x_4215_) == 0) +lean_object* v_a_4234_; lean_object* v___x_4235_; +v_a_4234_ = lean_ctor_get(v___x_4233_, 0); +lean_inc(v_a_4234_); +lean_dec_ref(v___x_4233_); +lean_inc(v_a_4228_); +v___x_4235_ = l_Lean_Compiler_LCNF_mkForallParams(v___x_4222_, v_a_4228_, v_a_4234_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +lean_dec(v_a_4234_); +if (lean_obj_tag(v___x_4235_) == 0) { -lean_object* v_a_4216_; lean_object* v___x_4218_; uint8_t v_isShared_4219_; uint8_t v_isSharedCheck_4232_; -v_a_4216_ = lean_ctor_get(v___x_4215_, 0); -v_isSharedCheck_4232_ = !lean_is_exclusive(v___x_4215_); -if (v_isSharedCheck_4232_ == 0) -{ -v___x_4218_ = v___x_4215_; -v_isShared_4219_ = v_isSharedCheck_4232_; -goto v_resetjp_4217_; -} -else -{ -lean_inc(v_a_4216_); -lean_dec(v___x_4215_); -v___x_4218_ = lean_box(0); -v_isShared_4219_ = v_isSharedCheck_4232_; -goto v_resetjp_4217_; -} -v_resetjp_4217_: -{ -lean_object* v___x_4221_; -if (v_isShared_4183_ == 0) -{ -lean_ctor_set(v___x_4182_, 0, v___x_4212_); -v___x_4221_ = v___x_4182_; -goto v_reusejp_4220_; -} -else -{ -lean_object* v_reuseFailAlloc_4231_; -v_reuseFailAlloc_4231_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4231_, 0, v___x_4212_); -v___x_4221_ = v_reuseFailAlloc_4231_; -goto v_reusejp_4220_; -} -v_reusejp_4220_: -{ -lean_object* v___x_4222_; lean_object* v___x_4223_; lean_object* v___x_4225_; -v___x_4222_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v___x_4222_, 0, v_nameNew_4166_); -lean_ctor_set(v___x_4222_, 1, v_levelParamsNew_4164_); -lean_ctor_set(v___x_4222_, 2, v_a_4216_); -lean_ctor_set(v___x_4222_, 3, v_a_4208_); -lean_ctor_set_uint8(v___x_4222_, sizeof(void*)*4, v_safe_4193_); -v___x_4223_ = lean_box(0); -if (v_isShared_4179_ == 0) -{ -lean_ctor_set(v___x_4178_, 2, v___x_4223_); -lean_ctor_set(v___x_4178_, 1, v___x_4221_); -lean_ctor_set(v___x_4178_, 0, v___x_4222_); -v___x_4225_ = v___x_4178_; -goto v_reusejp_4224_; -} -else -{ -lean_object* v_reuseFailAlloc_4230_; -v_reuseFailAlloc_4230_ = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(v_reuseFailAlloc_4230_, 0, v___x_4222_); -lean_ctor_set(v_reuseFailAlloc_4230_, 1, v___x_4221_); -lean_ctor_set(v_reuseFailAlloc_4230_, 2, v___x_4223_); -lean_ctor_set_uint8(v_reuseFailAlloc_4230_, sizeof(void*)*3, v_recursive_4176_); -v___x_4225_ = v_reuseFailAlloc_4230_; -goto v_reusejp_4224_; -} -v_reusejp_4224_: -{ -lean_object* v___x_4226_; lean_object* v___x_4228_; -v___x_4226_ = l_Lean_Compiler_LCNF_Decl_setLevelParams(v___x_4225_); -if (v_isShared_4219_ == 0) -{ -lean_ctor_set(v___x_4218_, 0, v___x_4226_); -v___x_4228_ = v___x_4218_; -goto v_reusejp_4227_; -} -else -{ -lean_object* v_reuseFailAlloc_4229_; -v_reuseFailAlloc_4229_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4229_, 0, v___x_4226_); -v___x_4228_ = v_reuseFailAlloc_4229_; -goto v_reusejp_4227_; -} -v_reusejp_4227_: -{ -return v___x_4228_; -} -} -} -} -} -else -{ -lean_object* v_a_4233_; lean_object* v___x_4235_; uint8_t v_isShared_4236_; uint8_t v_isSharedCheck_4240_; -lean_dec_ref(v___x_4212_); -lean_dec(v_a_4208_); -lean_del_object(v___x_4182_); -lean_del_object(v___x_4178_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -v_a_4233_ = lean_ctor_get(v___x_4215_, 0); -v_isSharedCheck_4240_ = !lean_is_exclusive(v___x_4215_); -if (v_isSharedCheck_4240_ == 0) -{ -v___x_4235_ = v___x_4215_; -v_isShared_4236_ = v_isSharedCheck_4240_; -goto v_resetjp_4234_; -} -else -{ -lean_inc(v_a_4233_); -lean_dec(v___x_4215_); -v___x_4235_ = lean_box(0); -v_isShared_4236_ = v_isSharedCheck_4240_; -goto v_resetjp_4234_; -} -v_resetjp_4234_: -{ -lean_object* v___x_4238_; -if (v_isShared_4236_ == 0) +lean_object* v_a_4236_; lean_object* v___x_4238_; uint8_t v_isShared_4239_; uint8_t v_isSharedCheck_4252_; +v_a_4236_ = lean_ctor_get(v___x_4235_, 0); +v_isSharedCheck_4252_ = !lean_is_exclusive(v___x_4235_); +if (v_isSharedCheck_4252_ == 0) { v___x_4238_ = v___x_4235_; -goto v_reusejp_4237_; +v_isShared_4239_ = v_isSharedCheck_4252_; +goto v_resetjp_4237_; } else { -lean_object* v_reuseFailAlloc_4239_; -v_reuseFailAlloc_4239_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4239_, 0, v_a_4233_); -v___x_4238_ = v_reuseFailAlloc_4239_; -goto v_reusejp_4237_; +lean_inc(v_a_4236_); +lean_dec(v___x_4235_); +v___x_4238_ = lean_box(0); +v_isShared_4239_ = v_isSharedCheck_4252_; +goto v_resetjp_4237_; } -v_reusejp_4237_: +v_resetjp_4237_: { -return v___x_4238_; -} -} -} +lean_object* v___x_4241_; +if (v_isShared_4203_ == 0) +{ +lean_ctor_set(v___x_4202_, 0, v___x_4232_); +v___x_4241_ = v___x_4202_; +goto v_reusejp_4240_; } else { -lean_object* v_a_4241_; lean_object* v___x_4243_; uint8_t v_isShared_4244_; uint8_t v_isSharedCheck_4248_; -lean_dec_ref(v___x_4212_); -lean_dec(v_a_4208_); -lean_del_object(v___x_4182_); -lean_del_object(v___x_4178_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -v_a_4241_ = lean_ctor_get(v___x_4213_, 0); -v_isSharedCheck_4248_ = !lean_is_exclusive(v___x_4213_); -if (v_isSharedCheck_4248_ == 0) -{ -v___x_4243_ = v___x_4213_; -v_isShared_4244_ = v_isSharedCheck_4248_; -goto v_resetjp_4242_; +lean_object* v_reuseFailAlloc_4251_; +v_reuseFailAlloc_4251_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4251_, 0, v___x_4232_); +v___x_4241_ = v_reuseFailAlloc_4251_; +goto v_reusejp_4240_; } -else +v_reusejp_4240_: { -lean_inc(v_a_4241_); -lean_dec(v___x_4213_); +lean_object* v___x_4242_; lean_object* v___x_4243_; lean_object* v___x_4245_; +v___x_4242_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v___x_4242_, 0, v_nameNew_4186_); +lean_ctor_set(v___x_4242_, 1, v_levelParamsNew_4184_); +lean_ctor_set(v___x_4242_, 2, v_a_4236_); +lean_ctor_set(v___x_4242_, 3, v_a_4228_); +lean_ctor_set_uint8(v___x_4242_, sizeof(void*)*4, v_safe_4213_); v___x_4243_ = lean_box(0); -v_isShared_4244_ = v_isSharedCheck_4248_; -goto v_resetjp_4242_; -} -v_resetjp_4242_: +if (v_isShared_4199_ == 0) { -lean_object* v___x_4246_; -if (v_isShared_4244_ == 0) -{ -v___x_4246_ = v___x_4243_; -goto v_reusejp_4245_; +lean_ctor_set(v___x_4198_, 2, v___x_4243_); +lean_ctor_set(v___x_4198_, 1, v___x_4241_); +lean_ctor_set(v___x_4198_, 0, v___x_4242_); +v___x_4245_ = v___x_4198_; +goto v_reusejp_4244_; } else { -lean_object* v_reuseFailAlloc_4247_; -v_reuseFailAlloc_4247_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4247_, 0, v_a_4241_); -v___x_4246_ = v_reuseFailAlloc_4247_; -goto v_reusejp_4245_; +lean_object* v_reuseFailAlloc_4250_; +v_reuseFailAlloc_4250_ = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(v_reuseFailAlloc_4250_, 0, v___x_4242_); +lean_ctor_set(v_reuseFailAlloc_4250_, 1, v___x_4241_); +lean_ctor_set(v_reuseFailAlloc_4250_, 2, v___x_4243_); +lean_ctor_set_uint8(v_reuseFailAlloc_4250_, sizeof(void*)*3, v_recursive_4196_); +v___x_4245_ = v_reuseFailAlloc_4250_; +goto v_reusejp_4244_; } -v_reusejp_4245_: +v_reusejp_4244_: { -return v___x_4246_; -} -} -} +lean_object* v___x_4246_; lean_object* v___x_4248_; +v___x_4246_ = l_Lean_Compiler_LCNF_Decl_setLevelParams(v___x_4245_); +if (v_isShared_4239_ == 0) +{ +lean_ctor_set(v___x_4238_, 0, v___x_4246_); +v___x_4248_ = v___x_4238_; +goto v_reusejp_4247_; } else { -lean_object* v_a_4249_; lean_object* v___x_4251_; uint8_t v_isShared_4252_; uint8_t v_isSharedCheck_4256_; -lean_dec(v_a_4208_); -lean_dec(v_a_4190_); -lean_del_object(v___x_4182_); -lean_del_object(v___x_4178_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -v_a_4249_ = lean_ctor_get(v___x_4210_, 0); -v_isSharedCheck_4256_ = !lean_is_exclusive(v___x_4210_); -if (v_isSharedCheck_4256_ == 0) -{ -v___x_4251_ = v___x_4210_; -v_isShared_4252_ = v_isSharedCheck_4256_; -goto v_resetjp_4250_; +lean_object* v_reuseFailAlloc_4249_; +v_reuseFailAlloc_4249_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4249_, 0, v___x_4246_); +v___x_4248_ = v_reuseFailAlloc_4249_; +goto v_reusejp_4247_; } -else +v_reusejp_4247_: { -lean_inc(v_a_4249_); -lean_dec(v___x_4210_); -v___x_4251_ = lean_box(0); -v_isShared_4252_ = v_isSharedCheck_4256_; -goto v_resetjp_4250_; -} -v_resetjp_4250_: -{ -lean_object* v___x_4254_; -if (v_isShared_4252_ == 0) -{ -v___x_4254_ = v___x_4251_; -goto v_reusejp_4253_; -} -else -{ -lean_object* v_reuseFailAlloc_4255_; -v_reuseFailAlloc_4255_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4255_, 0, v_a_4249_); -v___x_4254_ = v_reuseFailAlloc_4255_; -goto v_reusejp_4253_; -} -v_reusejp_4253_: -{ -return v___x_4254_; -} -} -} -} -else -{ -lean_object* v_a_4257_; lean_object* v___x_4259_; uint8_t v_isShared_4260_; uint8_t v_isSharedCheck_4264_; -lean_dec(v_levelParams_4191_); -lean_dec(v_a_4190_); -lean_del_object(v___x_4182_); -lean_dec_ref(v_code_4180_); -lean_del_object(v___x_4178_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -lean_dec(v_us_4160_); -v_a_4257_ = lean_ctor_get(v___x_4207_, 0); -v_isSharedCheck_4264_ = !lean_is_exclusive(v___x_4207_); -if (v_isSharedCheck_4264_ == 0) -{ -v___x_4259_ = v___x_4207_; -v_isShared_4260_ = v_isSharedCheck_4264_; -goto v_resetjp_4258_; -} -else -{ -lean_inc(v_a_4257_); -lean_dec(v___x_4207_); -v___x_4259_ = lean_box(0); -v_isShared_4260_ = v_isSharedCheck_4264_; -goto v_resetjp_4258_; -} -v_resetjp_4258_: -{ -lean_object* v___x_4262_; -if (v_isShared_4260_ == 0) -{ -v___x_4262_ = v___x_4259_; -goto v_reusejp_4261_; -} -else -{ -lean_object* v_reuseFailAlloc_4263_; -v_reuseFailAlloc_4263_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4263_, 0, v_a_4257_); -v___x_4262_ = v_reuseFailAlloc_4263_; -goto v_reusejp_4261_; -} -v_reusejp_4261_: -{ -return v___x_4262_; +return v___x_4248_; } } } @@ -12333,153 +12249,348 @@ return v___x_4262_; } else { -lean_object* v_a_4267_; lean_object* v___x_4269_; uint8_t v_isShared_4270_; uint8_t v_isSharedCheck_4274_; -lean_dec(v_levelParams_4191_); -lean_dec(v_a_4190_); -lean_del_object(v___x_4182_); -lean_dec_ref(v_code_4180_); -lean_del_object(v___x_4178_); -lean_dec_ref(v_toSignature_4175_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -lean_dec(v_us_4160_); -v_a_4267_ = lean_ctor_get(v___x_4199_, 0); -v_isSharedCheck_4274_ = !lean_is_exclusive(v___x_4199_); -if (v_isSharedCheck_4274_ == 0) +lean_object* v_a_4253_; lean_object* v___x_4255_; uint8_t v_isShared_4256_; uint8_t v_isSharedCheck_4260_; +lean_dec_ref(v___x_4232_); +lean_dec(v_a_4228_); +lean_del_object(v___x_4202_); +lean_del_object(v___x_4198_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +v_a_4253_ = lean_ctor_get(v___x_4235_, 0); +v_isSharedCheck_4260_ = !lean_is_exclusive(v___x_4235_); +if (v_isSharedCheck_4260_ == 0) { -v___x_4269_ = v___x_4199_; -v_isShared_4270_ = v_isSharedCheck_4274_; -goto v_resetjp_4268_; +v___x_4255_ = v___x_4235_; +v_isShared_4256_ = v_isSharedCheck_4260_; +goto v_resetjp_4254_; } else { -lean_inc(v_a_4267_); -lean_dec(v___x_4199_); -v___x_4269_ = lean_box(0); -v_isShared_4270_ = v_isSharedCheck_4274_; -goto v_resetjp_4268_; +lean_inc(v_a_4253_); +lean_dec(v___x_4235_); +v___x_4255_ = lean_box(0); +v_isShared_4256_ = v_isSharedCheck_4260_; +goto v_resetjp_4254_; } -v_resetjp_4268_: +v_resetjp_4254_: { -lean_object* v___x_4272_; -if (v_isShared_4270_ == 0) +lean_object* v___x_4258_; +if (v_isShared_4256_ == 0) { -v___x_4272_ = v___x_4269_; -goto v_reusejp_4271_; +v___x_4258_ = v___x_4255_; +goto v_reusejp_4257_; } else { -lean_object* v_reuseFailAlloc_4273_; -v_reuseFailAlloc_4273_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4273_, 0, v_a_4267_); -v___x_4272_ = v_reuseFailAlloc_4273_; -goto v_reusejp_4271_; +lean_object* v_reuseFailAlloc_4259_; +v_reuseFailAlloc_4259_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4259_, 0, v_a_4253_); +v___x_4258_ = v_reuseFailAlloc_4259_; +goto v_reusejp_4257_; } -v_reusejp_4271_: +v_reusejp_4257_: { -return v___x_4272_; +return v___x_4258_; } } } } else { -lean_object* v_a_4275_; lean_object* v___x_4277_; uint8_t v_isShared_4278_; uint8_t v_isSharedCheck_4282_; -lean_dec(v_a_4187_); -lean_del_object(v___x_4182_); -lean_dec_ref(v_code_4180_); -lean_del_object(v___x_4178_); -lean_dec_ref(v_toSignature_4175_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -lean_dec_ref(v_argMask_4161_); -lean_dec(v_us_4160_); -v_a_4275_ = lean_ctor_get(v___x_4189_, 0); -v_isSharedCheck_4282_ = !lean_is_exclusive(v___x_4189_); -if (v_isSharedCheck_4282_ == 0) +lean_object* v_a_4261_; lean_object* v___x_4263_; uint8_t v_isShared_4264_; uint8_t v_isSharedCheck_4268_; +lean_dec_ref(v___x_4232_); +lean_dec(v_a_4228_); +lean_del_object(v___x_4202_); +lean_del_object(v___x_4198_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +v_a_4261_ = lean_ctor_get(v___x_4233_, 0); +v_isSharedCheck_4268_ = !lean_is_exclusive(v___x_4233_); +if (v_isSharedCheck_4268_ == 0) { -v___x_4277_ = v___x_4189_; -v_isShared_4278_ = v_isSharedCheck_4282_; -goto v_resetjp_4276_; +v___x_4263_ = v___x_4233_; +v_isShared_4264_ = v_isSharedCheck_4268_; +goto v_resetjp_4262_; } else { -lean_inc(v_a_4275_); -lean_dec(v___x_4189_); -v___x_4277_ = lean_box(0); -v_isShared_4278_ = v_isSharedCheck_4282_; -goto v_resetjp_4276_; +lean_inc(v_a_4261_); +lean_dec(v___x_4233_); +v___x_4263_ = lean_box(0); +v_isShared_4264_ = v_isSharedCheck_4268_; +goto v_resetjp_4262_; } -v_resetjp_4276_: +v_resetjp_4262_: { -lean_object* v___x_4280_; -if (v_isShared_4278_ == 0) +lean_object* v___x_4266_; +if (v_isShared_4264_ == 0) { -v___x_4280_ = v___x_4277_; -goto v_reusejp_4279_; +v___x_4266_ = v___x_4263_; +goto v_reusejp_4265_; } else { -lean_object* v_reuseFailAlloc_4281_; -v_reuseFailAlloc_4281_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4281_, 0, v_a_4275_); -v___x_4280_ = v_reuseFailAlloc_4281_; -goto v_reusejp_4279_; +lean_object* v_reuseFailAlloc_4267_; +v_reuseFailAlloc_4267_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4267_, 0, v_a_4261_); +v___x_4266_ = v_reuseFailAlloc_4267_; +goto v_reusejp_4265_; } -v_reusejp_4279_: +v_reusejp_4265_: { -return v___x_4280_; +return v___x_4266_; } } } } else { -lean_object* v_a_4283_; lean_object* v___x_4285_; uint8_t v_isShared_4286_; uint8_t v_isSharedCheck_4290_; -lean_del_object(v___x_4182_); -lean_dec_ref(v_code_4180_); -lean_del_object(v___x_4178_); -lean_dec_ref(v_toSignature_4175_); -lean_dec(v_nameNew_4166_); -lean_dec(v_levelParamsNew_4164_); -lean_dec_ref(v_decls_4163_); -lean_dec_ref(v_argMask_4161_); -lean_dec(v_us_4160_); -v_a_4283_ = lean_ctor_get(v___x_4186_, 0); -v_isSharedCheck_4290_ = !lean_is_exclusive(v___x_4186_); -if (v_isSharedCheck_4290_ == 0) +lean_object* v_a_4269_; lean_object* v___x_4271_; uint8_t v_isShared_4272_; uint8_t v_isSharedCheck_4276_; +lean_dec(v_a_4228_); +lean_dec(v_a_4210_); +lean_del_object(v___x_4202_); +lean_del_object(v___x_4198_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +v_a_4269_ = lean_ctor_get(v___x_4230_, 0); +v_isSharedCheck_4276_ = !lean_is_exclusive(v___x_4230_); +if (v_isSharedCheck_4276_ == 0) { -v___x_4285_ = v___x_4186_; -v_isShared_4286_ = v_isSharedCheck_4290_; -goto v_resetjp_4284_; +v___x_4271_ = v___x_4230_; +v_isShared_4272_ = v_isSharedCheck_4276_; +goto v_resetjp_4270_; } else { -lean_inc(v_a_4283_); -lean_dec(v___x_4186_); -v___x_4285_ = lean_box(0); -v_isShared_4286_ = v_isSharedCheck_4290_; -goto v_resetjp_4284_; +lean_inc(v_a_4269_); +lean_dec(v___x_4230_); +v___x_4271_ = lean_box(0); +v_isShared_4272_ = v_isSharedCheck_4276_; +goto v_resetjp_4270_; } -v_resetjp_4284_: +v_resetjp_4270_: { -lean_object* v___x_4288_; -if (v_isShared_4286_ == 0) +lean_object* v___x_4274_; +if (v_isShared_4272_ == 0) { -v___x_4288_ = v___x_4285_; -goto v_reusejp_4287_; +v___x_4274_ = v___x_4271_; +goto v_reusejp_4273_; } else { -lean_object* v_reuseFailAlloc_4289_; -v_reuseFailAlloc_4289_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4289_, 0, v_a_4283_); -v___x_4288_ = v_reuseFailAlloc_4289_; -goto v_reusejp_4287_; +lean_object* v_reuseFailAlloc_4275_; +v_reuseFailAlloc_4275_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4275_, 0, v_a_4269_); +v___x_4274_ = v_reuseFailAlloc_4275_; +goto v_reusejp_4273_; } -v_reusejp_4287_: +v_reusejp_4273_: { -return v___x_4288_; +return v___x_4274_; +} +} +} +} +else +{ +lean_object* v_a_4277_; lean_object* v___x_4279_; uint8_t v_isShared_4280_; uint8_t v_isSharedCheck_4284_; +lean_dec(v_levelParams_4211_); +lean_dec(v_a_4210_); +lean_del_object(v___x_4202_); +lean_dec_ref(v_code_4200_); +lean_del_object(v___x_4198_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +lean_dec(v_us_4180_); +v_a_4277_ = lean_ctor_get(v___x_4227_, 0); +v_isSharedCheck_4284_ = !lean_is_exclusive(v___x_4227_); +if (v_isSharedCheck_4284_ == 0) +{ +v___x_4279_ = v___x_4227_; +v_isShared_4280_ = v_isSharedCheck_4284_; +goto v_resetjp_4278_; +} +else +{ +lean_inc(v_a_4277_); +lean_dec(v___x_4227_); +v___x_4279_ = lean_box(0); +v_isShared_4280_ = v_isSharedCheck_4284_; +goto v_resetjp_4278_; +} +v_resetjp_4278_: +{ +lean_object* v___x_4282_; +if (v_isShared_4280_ == 0) +{ +v___x_4282_ = v___x_4279_; +goto v_reusejp_4281_; +} +else +{ +lean_object* v_reuseFailAlloc_4283_; +v_reuseFailAlloc_4283_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4283_, 0, v_a_4277_); +v___x_4282_ = v_reuseFailAlloc_4283_; +goto v_reusejp_4281_; +} +v_reusejp_4281_: +{ +return v___x_4282_; +} +} +} +} +} +else +{ +lean_object* v_a_4287_; lean_object* v___x_4289_; uint8_t v_isShared_4290_; uint8_t v_isSharedCheck_4294_; +lean_dec(v_levelParams_4211_); +lean_dec(v_a_4210_); +lean_del_object(v___x_4202_); +lean_dec_ref(v_code_4200_); +lean_del_object(v___x_4198_); +lean_dec_ref(v_toSignature_4195_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +lean_dec(v_us_4180_); +v_a_4287_ = lean_ctor_get(v___x_4219_, 0); +v_isSharedCheck_4294_ = !lean_is_exclusive(v___x_4219_); +if (v_isSharedCheck_4294_ == 0) +{ +v___x_4289_ = v___x_4219_; +v_isShared_4290_ = v_isSharedCheck_4294_; +goto v_resetjp_4288_; +} +else +{ +lean_inc(v_a_4287_); +lean_dec(v___x_4219_); +v___x_4289_ = lean_box(0); +v_isShared_4290_ = v_isSharedCheck_4294_; +goto v_resetjp_4288_; +} +v_resetjp_4288_: +{ +lean_object* v___x_4292_; +if (v_isShared_4290_ == 0) +{ +v___x_4292_ = v___x_4289_; +goto v_reusejp_4291_; +} +else +{ +lean_object* v_reuseFailAlloc_4293_; +v_reuseFailAlloc_4293_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4293_, 0, v_a_4287_); +v___x_4292_ = v_reuseFailAlloc_4293_; +goto v_reusejp_4291_; +} +v_reusejp_4291_: +{ +return v___x_4292_; +} +} +} +} +else +{ +lean_object* v_a_4295_; lean_object* v___x_4297_; uint8_t v_isShared_4298_; uint8_t v_isSharedCheck_4302_; +lean_dec(v_a_4207_); +lean_del_object(v___x_4202_); +lean_dec_ref(v_code_4200_); +lean_del_object(v___x_4198_); +lean_dec_ref(v_toSignature_4195_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +lean_dec_ref(v_argMask_4181_); +lean_dec(v_us_4180_); +v_a_4295_ = lean_ctor_get(v___x_4209_, 0); +v_isSharedCheck_4302_ = !lean_is_exclusive(v___x_4209_); +if (v_isSharedCheck_4302_ == 0) +{ +v___x_4297_ = v___x_4209_; +v_isShared_4298_ = v_isSharedCheck_4302_; +goto v_resetjp_4296_; +} +else +{ +lean_inc(v_a_4295_); +lean_dec(v___x_4209_); +v___x_4297_ = lean_box(0); +v_isShared_4298_ = v_isSharedCheck_4302_; +goto v_resetjp_4296_; +} +v_resetjp_4296_: +{ +lean_object* v___x_4300_; +if (v_isShared_4298_ == 0) +{ +v___x_4300_ = v___x_4297_; +goto v_reusejp_4299_; +} +else +{ +lean_object* v_reuseFailAlloc_4301_; +v_reuseFailAlloc_4301_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4301_, 0, v_a_4295_); +v___x_4300_ = v_reuseFailAlloc_4301_; +goto v_reusejp_4299_; +} +v_reusejp_4299_: +{ +return v___x_4300_; +} +} +} +} +else +{ +lean_object* v_a_4303_; lean_object* v___x_4305_; uint8_t v_isShared_4306_; uint8_t v_isSharedCheck_4310_; +lean_del_object(v___x_4202_); +lean_dec_ref(v_code_4200_); +lean_del_object(v___x_4198_); +lean_dec_ref(v_toSignature_4195_); +lean_dec(v_nameNew_4186_); +lean_dec(v_levelParamsNew_4184_); +lean_dec_ref(v_decls_4183_); +lean_dec_ref(v_argMask_4181_); +lean_dec(v_us_4180_); +v_a_4303_ = lean_ctor_get(v___x_4206_, 0); +v_isSharedCheck_4310_ = !lean_is_exclusive(v___x_4206_); +if (v_isSharedCheck_4310_ == 0) +{ +v___x_4305_ = v___x_4206_; +v_isShared_4306_ = v_isSharedCheck_4310_; +goto v_resetjp_4304_; +} +else +{ +lean_inc(v_a_4303_); +lean_dec(v___x_4206_); +v___x_4305_ = lean_box(0); +v_isShared_4306_ = v_isSharedCheck_4310_; +goto v_resetjp_4304_; +} +v_resetjp_4304_: +{ +lean_object* v___x_4308_; +if (v_isShared_4306_ == 0) +{ +v___x_4308_ = v___x_4305_; +goto v_reusejp_4307_; +} +else +{ +lean_object* v_reuseFailAlloc_4309_; +v_reuseFailAlloc_4309_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4309_, 0, v_a_4303_); +v___x_4308_ = v_reuseFailAlloc_4309_; +goto v_reusejp_4307_; +} +v_reusejp_4307_: +{ +return v___x_4308_; } } } @@ -12488,370 +12599,370 @@ return v___x_4288_; } else { -lean_object* v___x_4295_; lean_object* v___x_4296_; -lean_dec_ref(v_value_4174_); -lean_dec(v_nameNew_4166_); -lean_dec_ref(v_decl_4165_); -lean_dec(v_levelParamsNew_4164_); -lean_dec_ref(v_decls_4163_); -lean_dec_ref(v_params_4162_); -lean_dec_ref(v_argMask_4161_); -lean_dec(v_us_4160_); -v___x_4295_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3); -v___x_4296_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(v___x_4295_, v_a_4167_, v_a_4168_, v_a_4169_, v_a_4170_, v_a_4171_, v_a_4172_); -return v___x_4296_; +lean_object* v___x_4315_; lean_object* v___x_4316_; +lean_dec_ref(v_value_4194_); +lean_dec(v_nameNew_4186_); +lean_dec_ref(v_decl_4185_); +lean_dec(v_levelParamsNew_4184_); +lean_dec_ref(v_decls_4183_); +lean_dec_ref(v_params_4182_); +lean_dec_ref(v_argMask_4181_); +lean_dec(v_us_4180_); +v___x_4315_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__3); +v___x_4316_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__5(v___x_4315_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_, v_a_4191_, v_a_4192_); +return v___x_4316_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___boxed(lean_object* v_us_4297_, lean_object* v_argMask_4298_, lean_object* v_params_4299_, lean_object* v_decls_4300_, lean_object* v_levelParamsNew_4301_, lean_object* v_decl_4302_, lean_object* v_nameNew_4303_, lean_object* v_a_4304_, lean_object* v_a_4305_, lean_object* v_a_4306_, lean_object* v_a_4307_, lean_object* v_a_4308_, lean_object* v_a_4309_, lean_object* v_a_4310_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___boxed(lean_object* v_us_4317_, lean_object* v_argMask_4318_, lean_object* v_params_4319_, lean_object* v_decls_4320_, lean_object* v_levelParamsNew_4321_, lean_object* v_decl_4322_, lean_object* v_nameNew_4323_, lean_object* v_a_4324_, lean_object* v_a_4325_, lean_object* v_a_4326_, lean_object* v_a_4327_, lean_object* v_a_4328_, lean_object* v_a_4329_, lean_object* v_a_4330_){ _start: { -uint8_t v_a_boxed_4311_; lean_object* v_res_4312_; -v_a_boxed_4311_ = lean_unbox(v_a_4304_); -v_res_4312_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(v_us_4297_, v_argMask_4298_, v_params_4299_, v_decls_4300_, v_levelParamsNew_4301_, v_decl_4302_, v_nameNew_4303_, v_a_boxed_4311_, v_a_4305_, v_a_4306_, v_a_4307_, v_a_4308_, v_a_4309_); -lean_dec(v_a_4309_); -lean_dec_ref(v_a_4308_); -lean_dec(v_a_4307_); -lean_dec_ref(v_a_4306_); -lean_dec(v_a_4305_); -return v_res_4312_; +uint8_t v_a_boxed_4331_; lean_object* v_res_4332_; +v_a_boxed_4331_ = lean_unbox(v_a_4324_); +v_res_4332_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(v_us_4317_, v_argMask_4318_, v_params_4319_, v_decls_4320_, v_levelParamsNew_4321_, v_decl_4322_, v_nameNew_4323_, v_a_boxed_4331_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_); +lean_dec(v_a_4329_); +lean_dec_ref(v_a_4328_); +lean_dec(v_a_4327_); +lean_dec_ref(v_a_4326_); +lean_dec(v_a_4325_); +return v_res_4332_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2(lean_object* v_00_u03b2_4313_, lean_object* v_m_4314_, lean_object* v_a_4315_, lean_object* v_b_4316_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2(lean_object* v_00_u03b2_4333_, lean_object* v_m_4334_, lean_object* v_a_4335_, lean_object* v_b_4336_){ _start: { -lean_object* v___x_4317_; -v___x_4317_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(v_m_4314_, v_a_4315_, v_b_4316_); -return v___x_4317_; +lean_object* v___x_4337_; +v___x_4337_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2___redArg(v_m_4334_, v_a_4335_, v_b_4336_); +return v___x_4337_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4(lean_object* v___x_4318_, lean_object* v_us_4319_, lean_object* v_inst_4320_, lean_object* v_R_4321_, lean_object* v_a_4322_, lean_object* v_b_4323_, lean_object* v_c_4324_, uint8_t v___y_4325_, lean_object* v___y_4326_, lean_object* v___y_4327_, lean_object* v___y_4328_, lean_object* v___y_4329_, lean_object* v___y_4330_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4(lean_object* v___x_4338_, lean_object* v_us_4339_, lean_object* v_inst_4340_, lean_object* v_R_4341_, lean_object* v_a_4342_, lean_object* v_b_4343_, lean_object* v_c_4344_, uint8_t v___y_4345_, lean_object* v___y_4346_, lean_object* v___y_4347_, lean_object* v___y_4348_, lean_object* v___y_4349_, lean_object* v___y_4350_){ _start: { -lean_object* v___x_4332_; -v___x_4332_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v___x_4318_, v_us_4319_, v_a_4322_, v_b_4323_, v___y_4325_, v___y_4326_, v___y_4327_, v___y_4328_, v___y_4329_, v___y_4330_); -return v___x_4332_; +lean_object* v___x_4352_; +v___x_4352_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___redArg(v___x_4338_, v_us_4339_, v_a_4342_, v_b_4343_, v___y_4345_, v___y_4346_, v___y_4347_, v___y_4348_, v___y_4349_, v___y_4350_); +return v___x_4352_; } } -LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___boxed(lean_object* v___x_4333_, lean_object* v_us_4334_, lean_object* v_inst_4335_, lean_object* v_R_4336_, lean_object* v_a_4337_, lean_object* v_b_4338_, lean_object* v_c_4339_, lean_object* v___y_4340_, lean_object* v___y_4341_, lean_object* v___y_4342_, lean_object* v___y_4343_, lean_object* v___y_4344_, lean_object* v___y_4345_, lean_object* v___y_4346_){ +LEAN_EXPORT lean_object* l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4___boxed(lean_object* v___x_4353_, lean_object* v_us_4354_, lean_object* v_inst_4355_, lean_object* v_R_4356_, lean_object* v_a_4357_, lean_object* v_b_4358_, lean_object* v_c_4359_, lean_object* v___y_4360_, lean_object* v___y_4361_, lean_object* v___y_4362_, lean_object* v___y_4363_, lean_object* v___y_4364_, lean_object* v___y_4365_, lean_object* v___y_4366_){ _start: { -uint8_t v___y_14895__boxed_4347_; lean_object* v_res_4348_; -v___y_14895__boxed_4347_ = lean_unbox(v___y_4340_); -v_res_4348_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4(v___x_4333_, v_us_4334_, v_inst_4335_, v_R_4336_, v_a_4337_, v_b_4338_, v_c_4339_, v___y_14895__boxed_4347_, v___y_4341_, v___y_4342_, v___y_4343_, v___y_4344_, v___y_4345_); -lean_dec(v___y_4345_); -lean_dec_ref(v___y_4344_); -lean_dec(v___y_4343_); -lean_dec_ref(v___y_4342_); -lean_dec(v___y_4341_); -return v_res_4348_; +uint8_t v___y_14895__boxed_4367_; lean_object* v_res_4368_; +v___y_14895__boxed_4367_ = lean_unbox(v___y_4360_); +v_res_4368_ = l_WellFounded_opaqueFix_u2083___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__4(v___x_4353_, v_us_4354_, v_inst_4355_, v_R_4356_, v_a_4357_, v_b_4358_, v_c_4359_, v___y_14895__boxed_4367_, v___y_4361_, v___y_4362_, v___y_4363_, v___y_4364_, v___y_4365_); +lean_dec(v___y_4365_); +lean_dec_ref(v___y_4364_); +lean_dec(v___y_4363_); +lean_dec_ref(v___y_4362_); +lean_dec(v___y_4361_); +return v_res_4368_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2(lean_object* v_00_u03b2_4349_, lean_object* v_data_4350_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2(lean_object* v_00_u03b2_4369_, lean_object* v_data_4370_){ _start: { -lean_object* v___x_4351_; -v___x_4351_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(v_data_4350_); -return v___x_4351_; +lean_object* v___x_4371_; +v___x_4371_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2___redArg(v_data_4370_); +return v___x_4371_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3(lean_object* v_00_u03b2_4352_, lean_object* v_a_4353_, lean_object* v_b_4354_, lean_object* v_x_4355_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3(lean_object* v_00_u03b2_4372_, lean_object* v_a_4373_, lean_object* v_b_4374_, lean_object* v_x_4375_){ _start: { -lean_object* v___x_4356_; -v___x_4356_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_4353_, v_b_4354_, v_x_4355_); -return v___x_4356_; +lean_object* v___x_4376_; +v___x_4376_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__3___redArg(v_a_4373_, v_b_4374_, v_x_4375_); +return v___x_4376_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4(lean_object* v_00_u03b2_4357_, lean_object* v_i_4358_, lean_object* v_source_4359_, lean_object* v_target_4360_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4(lean_object* v_00_u03b2_4377_, lean_object* v_i_4378_, lean_object* v_source_4379_, lean_object* v_target_4380_){ _start: { -lean_object* v___x_4361_; -v___x_4361_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(v_i_4358_, v_source_4359_, v_target_4360_); -return v___x_4361_; +lean_object* v___x_4381_; +v___x_4381_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4___redArg(v_i_4378_, v_source_4379_, v_target_4380_); +return v___x_4381_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7(lean_object* v_00_u03b2_4362_, lean_object* v_x_4363_, lean_object* v_x_4364_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7(lean_object* v_00_u03b2_4382_, lean_object* v_x_4383_, lean_object* v_x_4384_){ _start: { -lean_object* v___x_4365_; -v___x_4365_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(v_x_4363_, v_x_4364_); -return v___x_4365_; +lean_object* v___x_4385_; +v___x_4385_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go_spec__2_spec__2_spec__4_spec__7___redArg(v_x_4383_, v_x_4384_); +return v___x_4385_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0(void){ _start: { -lean_object* v___x_4366_; lean_object* v___x_4367_; lean_object* v___x_4368_; -v___x_4366_ = lean_box(0); -v___x_4367_ = lean_unsigned_to_nat(16u); -v___x_4368_ = lean_mk_array(v___x_4367_, v___x_4366_); -return v___x_4368_; +lean_object* v___x_4386_; lean_object* v___x_4387_; lean_object* v___x_4388_; +v___x_4386_ = lean_box(0); +v___x_4387_ = lean_unsigned_to_nat(16u); +v___x_4388_ = lean_mk_array(v___x_4387_, v___x_4386_); +return v___x_4388_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1(void){ _start: { -lean_object* v___x_4369_; lean_object* v___x_4370_; lean_object* v___x_4371_; -v___x_4369_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0); -v___x_4370_ = lean_unsigned_to_nat(0u); -v___x_4371_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_4371_, 0, v___x_4370_); -lean_ctor_set(v___x_4371_, 1, v___x_4369_); -return v___x_4371_; +lean_object* v___x_4389_; lean_object* v___x_4390_; lean_object* v___x_4391_; +v___x_4389_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__0); +v___x_4390_ = lean_unsigned_to_nat(0u); +v___x_4391_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_4391_, 0, v___x_4390_); +lean_ctor_set(v___x_4391_, 1, v___x_4389_); +return v___x_4391_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(lean_object* v_decl_4378_, lean_object* v_us_4379_, lean_object* v_argMask_4380_, lean_object* v_params_4381_, lean_object* v_decls_4382_, lean_object* v_levelParamsNew_4383_, lean_object* v_a_4384_, lean_object* v_a_4385_, lean_object* v_a_4386_, lean_object* v_a_4387_, lean_object* v_a_4388_, lean_object* v_a_4389_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(lean_object* v_decl_4398_, lean_object* v_us_4399_, lean_object* v_argMask_4400_, lean_object* v_params_4401_, lean_object* v_decls_4402_, lean_object* v_levelParamsNew_4403_, lean_object* v_a_4404_, lean_object* v_a_4405_, lean_object* v_a_4406_, lean_object* v_a_4407_, lean_object* v_a_4408_, lean_object* v_a_4409_){ _start: { -lean_object* v___x_4391_; lean_object* v___x_4392_; lean_object* v_toSignature_4393_; uint8_t v___x_4394_; lean_object* v___x_4395_; uint8_t v___x_4396_; lean_object* v___x_4397_; -v___x_4391_ = lean_st_ref_get(v_a_4385_); -v___x_4392_ = lean_st_ref_get(v_a_4385_); -v_toSignature_4393_ = lean_ctor_get(v_decl_4378_, 0); -lean_inc_ref(v_toSignature_4393_); -v___x_4394_ = 0; -v___x_4395_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1); -v___x_4396_ = 0; -v___x_4397_ = l_Lean_Compiler_LCNF_Decl_internalize(v___x_4394_, v_decl_4378_, v___x_4395_, v___x_4396_, v_a_4386_, v_a_4387_, v_a_4388_, v_a_4389_); -if (lean_obj_tag(v___x_4397_) == 0) +lean_object* v___x_4411_; lean_object* v___x_4412_; lean_object* v_toSignature_4413_; uint8_t v___x_4414_; lean_object* v___x_4415_; uint8_t v___x_4416_; lean_object* v___x_4417_; +v___x_4411_ = lean_st_ref_get(v_a_4405_); +v___x_4412_ = lean_st_ref_get(v_a_4405_); +v_toSignature_4413_ = lean_ctor_get(v_decl_4398_, 0); +lean_inc_ref(v_toSignature_4413_); +v___x_4414_ = 0; +v___x_4415_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1); +v___x_4416_ = 0; +v___x_4417_ = l_Lean_Compiler_LCNF_Decl_internalize(v___x_4414_, v_decl_4398_, v___x_4415_, v___x_4416_, v_a_4406_, v_a_4407_, v_a_4408_, v_a_4409_); +if (lean_obj_tag(v___x_4417_) == 0) { -lean_object* v_a_4398_; lean_object* v_a_4400_; lean_object* v___x_4418_; lean_object* v_name_4419_; lean_object* v_declName_4420_; lean_object* v_processedDecls_4421_; lean_object* v_workingDecls_4422_; lean_object* v___x_4423_; lean_object* v___x_4424_; lean_object* v___x_4425_; lean_object* v___x_4426_; lean_object* v___x_4427_; lean_object* v___x_4428_; lean_object* v___x_4429_; lean_object* v___x_4430_; lean_object* v___x_4431_; lean_object* v___x_4432_; -v_a_4398_ = lean_ctor_get(v___x_4397_, 0); -lean_inc(v_a_4398_); -lean_dec_ref(v___x_4397_); -v___x_4418_ = lean_st_mk_ref(v___x_4395_); -v_name_4419_ = lean_ctor_get(v_toSignature_4393_, 0); -lean_inc(v_name_4419_); -lean_dec_ref(v_toSignature_4393_); -v_declName_4420_ = lean_ctor_get(v_a_4384_, 3); -v_processedDecls_4421_ = lean_ctor_get(v___x_4391_, 0); -lean_inc_ref(v_processedDecls_4421_); -lean_dec(v___x_4391_); -v_workingDecls_4422_ = lean_ctor_get(v___x_4392_, 1); -lean_inc_ref(v_workingDecls_4422_); -lean_dec(v___x_4392_); -v___x_4423_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__3)); -v___x_4424_ = l_Lean_Name_appendCore(v_name_4419_, v___x_4423_); -lean_dec(v_name_4419_); -lean_inc(v_declName_4420_); -v___x_4425_ = l_Lean_Name_appendCore(v___x_4424_, v_declName_4420_); -lean_dec(v___x_4424_); -v___x_4426_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__5)); -v___x_4427_ = l_Lean_Name_appendCore(v___x_4425_, v___x_4426_); -lean_dec(v___x_4425_); -v___x_4428_ = lean_array_get_size(v_processedDecls_4421_); -lean_dec_ref(v_processedDecls_4421_); -v___x_4429_ = lean_array_get_size(v_workingDecls_4422_); -lean_dec_ref(v_workingDecls_4422_); -v___x_4430_ = lean_nat_add(v___x_4428_, v___x_4429_); -v___x_4431_ = lean_name_append_index_after(v___x_4427_, v___x_4430_); -lean_inc(v_a_4398_); -v___x_4432_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(v_us_4379_, v_argMask_4380_, v_params_4381_, v_decls_4382_, v_levelParamsNew_4383_, v_a_4398_, v___x_4431_, v___x_4396_, v___x_4418_, v_a_4386_, v_a_4387_, v_a_4388_, v_a_4389_); -if (lean_obj_tag(v___x_4432_) == 0) +lean_object* v_a_4418_; lean_object* v_a_4420_; lean_object* v___x_4438_; lean_object* v_name_4439_; lean_object* v_declName_4440_; lean_object* v_processedDecls_4441_; lean_object* v_workingDecls_4442_; lean_object* v___x_4443_; lean_object* v___x_4444_; lean_object* v___x_4445_; lean_object* v___x_4446_; lean_object* v___x_4447_; lean_object* v___x_4448_; lean_object* v___x_4449_; lean_object* v___x_4450_; lean_object* v___x_4451_; lean_object* v___x_4452_; +v_a_4418_ = lean_ctor_get(v___x_4417_, 0); +lean_inc(v_a_4418_); +lean_dec_ref(v___x_4417_); +v___x_4438_ = lean_st_mk_ref(v___x_4415_); +v_name_4439_ = lean_ctor_get(v_toSignature_4413_, 0); +lean_inc(v_name_4439_); +lean_dec_ref(v_toSignature_4413_); +v_declName_4440_ = lean_ctor_get(v_a_4404_, 3); +v_processedDecls_4441_ = lean_ctor_get(v___x_4411_, 0); +lean_inc_ref(v_processedDecls_4441_); +lean_dec(v___x_4411_); +v_workingDecls_4442_ = lean_ctor_get(v___x_4412_, 1); +lean_inc_ref(v_workingDecls_4442_); +lean_dec(v___x_4412_); +v___x_4443_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__3)); +v___x_4444_ = l_Lean_Name_appendCore(v_name_4439_, v___x_4443_); +lean_dec(v_name_4439_); +lean_inc(v_declName_4440_); +v___x_4445_ = l_Lean_Name_appendCore(v___x_4444_, v_declName_4440_); +lean_dec(v___x_4444_); +v___x_4446_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__5)); +v___x_4447_ = l_Lean_Name_appendCore(v___x_4445_, v___x_4446_); +lean_dec(v___x_4445_); +v___x_4448_ = lean_array_get_size(v_processedDecls_4441_); +lean_dec_ref(v_processedDecls_4441_); +v___x_4449_ = lean_array_get_size(v_workingDecls_4442_); +lean_dec_ref(v_workingDecls_4442_); +v___x_4450_ = lean_nat_add(v___x_4448_, v___x_4449_); +v___x_4451_ = lean_name_append_index_after(v___x_4447_, v___x_4450_); +lean_inc(v_a_4418_); +v___x_4452_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go(v_us_4399_, v_argMask_4400_, v_params_4401_, v_decls_4402_, v_levelParamsNew_4403_, v_a_4418_, v___x_4451_, v___x_4416_, v___x_4438_, v_a_4406_, v_a_4407_, v_a_4408_, v_a_4409_); +if (lean_obj_tag(v___x_4452_) == 0) { -lean_object* v_a_4433_; lean_object* v___x_4434_; -v_a_4433_ = lean_ctor_get(v___x_4432_, 0); -lean_inc(v_a_4433_); -lean_dec_ref(v___x_4432_); -v___x_4434_ = lean_st_ref_get(v___x_4418_); -lean_dec(v___x_4418_); -lean_dec(v___x_4434_); -v_a_4400_ = v_a_4433_; -goto v___jp_4399_; +lean_object* v_a_4453_; lean_object* v___x_4454_; +v_a_4453_ = lean_ctor_get(v___x_4452_, 0); +lean_inc(v_a_4453_); +lean_dec_ref(v___x_4452_); +v___x_4454_ = lean_st_ref_get(v___x_4438_); +lean_dec(v___x_4438_); +lean_dec(v___x_4454_); +v_a_4420_ = v_a_4453_; +goto v___jp_4419_; } else { -lean_dec(v___x_4418_); -if (lean_obj_tag(v___x_4432_) == 0) +lean_dec(v___x_4438_); +if (lean_obj_tag(v___x_4452_) == 0) { -lean_object* v_a_4435_; -v_a_4435_ = lean_ctor_get(v___x_4432_, 0); -lean_inc(v_a_4435_); -lean_dec_ref(v___x_4432_); -v_a_4400_ = v_a_4435_; -goto v___jp_4399_; +lean_object* v_a_4455_; +v_a_4455_ = lean_ctor_get(v___x_4452_, 0); +lean_inc(v_a_4455_); +lean_dec_ref(v___x_4452_); +v_a_4420_ = v_a_4455_; +goto v___jp_4419_; } else { -lean_object* v_a_4436_; lean_object* v___x_4437_; -v_a_4436_ = lean_ctor_get(v___x_4432_, 0); -lean_inc(v_a_4436_); -lean_dec_ref(v___x_4432_); -v___x_4437_ = l_Lean_Compiler_LCNF_eraseDecl(v___x_4394_, v_a_4398_, v_a_4386_, v_a_4387_, v_a_4388_, v_a_4389_); -if (lean_obj_tag(v___x_4437_) == 0) +lean_object* v_a_4456_; lean_object* v___x_4457_; +v_a_4456_ = lean_ctor_get(v___x_4452_, 0); +lean_inc(v_a_4456_); +lean_dec_ref(v___x_4452_); +v___x_4457_ = l_Lean_Compiler_LCNF_eraseDecl(v___x_4414_, v_a_4418_, v_a_4406_, v_a_4407_, v_a_4408_, v_a_4409_); +if (lean_obj_tag(v___x_4457_) == 0) { -lean_object* v___x_4439_; uint8_t v_isShared_4440_; uint8_t v_isSharedCheck_4444_; -v_isSharedCheck_4444_ = !lean_is_exclusive(v___x_4437_); -if (v_isSharedCheck_4444_ == 0) +lean_object* v___x_4459_; uint8_t v_isShared_4460_; uint8_t v_isSharedCheck_4464_; +v_isSharedCheck_4464_ = !lean_is_exclusive(v___x_4457_); +if (v_isSharedCheck_4464_ == 0) { -lean_object* v_unused_4445_; -v_unused_4445_ = lean_ctor_get(v___x_4437_, 0); -lean_dec(v_unused_4445_); -v___x_4439_ = v___x_4437_; -v_isShared_4440_ = v_isSharedCheck_4444_; -goto v_resetjp_4438_; +lean_object* v_unused_4465_; +v_unused_4465_ = lean_ctor_get(v___x_4457_, 0); +lean_dec(v_unused_4465_); +v___x_4459_ = v___x_4457_; +v_isShared_4460_ = v_isSharedCheck_4464_; +goto v_resetjp_4458_; } else { -lean_dec(v___x_4437_); -v___x_4439_ = lean_box(0); -v_isShared_4440_ = v_isSharedCheck_4444_; -goto v_resetjp_4438_; +lean_dec(v___x_4457_); +v___x_4459_ = lean_box(0); +v_isShared_4460_ = v_isSharedCheck_4464_; +goto v_resetjp_4458_; } -v_resetjp_4438_: +v_resetjp_4458_: { -lean_object* v___x_4442_; -if (v_isShared_4440_ == 0) +lean_object* v___x_4462_; +if (v_isShared_4460_ == 0) { -lean_ctor_set_tag(v___x_4439_, 1); -lean_ctor_set(v___x_4439_, 0, v_a_4436_); -v___x_4442_ = v___x_4439_; -goto v_reusejp_4441_; +lean_ctor_set_tag(v___x_4459_, 1); +lean_ctor_set(v___x_4459_, 0, v_a_4456_); +v___x_4462_ = v___x_4459_; +goto v_reusejp_4461_; } else { -lean_object* v_reuseFailAlloc_4443_; -v_reuseFailAlloc_4443_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4443_, 0, v_a_4436_); -v___x_4442_ = v_reuseFailAlloc_4443_; -goto v_reusejp_4441_; +lean_object* v_reuseFailAlloc_4463_; +v_reuseFailAlloc_4463_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4463_, 0, v_a_4456_); +v___x_4462_ = v_reuseFailAlloc_4463_; +goto v_reusejp_4461_; } -v_reusejp_4441_: +v_reusejp_4461_: { -return v___x_4442_; +return v___x_4462_; } } } else { -lean_object* v_a_4446_; lean_object* v___x_4448_; uint8_t v_isShared_4449_; uint8_t v_isSharedCheck_4453_; -lean_dec(v_a_4436_); -v_a_4446_ = lean_ctor_get(v___x_4437_, 0); -v_isSharedCheck_4453_ = !lean_is_exclusive(v___x_4437_); -if (v_isSharedCheck_4453_ == 0) +lean_object* v_a_4466_; lean_object* v___x_4468_; uint8_t v_isShared_4469_; uint8_t v_isSharedCheck_4473_; +lean_dec(v_a_4456_); +v_a_4466_ = lean_ctor_get(v___x_4457_, 0); +v_isSharedCheck_4473_ = !lean_is_exclusive(v___x_4457_); +if (v_isSharedCheck_4473_ == 0) { -v___x_4448_ = v___x_4437_; -v_isShared_4449_ = v_isSharedCheck_4453_; -goto v_resetjp_4447_; +v___x_4468_ = v___x_4457_; +v_isShared_4469_ = v_isSharedCheck_4473_; +goto v_resetjp_4467_; } else { -lean_inc(v_a_4446_); -lean_dec(v___x_4437_); -v___x_4448_ = lean_box(0); -v_isShared_4449_ = v_isSharedCheck_4453_; -goto v_resetjp_4447_; +lean_inc(v_a_4466_); +lean_dec(v___x_4457_); +v___x_4468_ = lean_box(0); +v_isShared_4469_ = v_isSharedCheck_4473_; +goto v_resetjp_4467_; } -v_resetjp_4447_: +v_resetjp_4467_: { -lean_object* v___x_4451_; -if (v_isShared_4449_ == 0) +lean_object* v___x_4471_; +if (v_isShared_4469_ == 0) { -v___x_4451_ = v___x_4448_; -goto v_reusejp_4450_; +v___x_4471_ = v___x_4468_; +goto v_reusejp_4470_; } else { -lean_object* v_reuseFailAlloc_4452_; -v_reuseFailAlloc_4452_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4452_, 0, v_a_4446_); -v___x_4451_ = v_reuseFailAlloc_4452_; -goto v_reusejp_4450_; +lean_object* v_reuseFailAlloc_4472_; +v_reuseFailAlloc_4472_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4472_, 0, v_a_4466_); +v___x_4471_ = v_reuseFailAlloc_4472_; +goto v_reusejp_4470_; } -v_reusejp_4450_: +v_reusejp_4470_: { -return v___x_4451_; +return v___x_4471_; } } } } } -v___jp_4399_: +v___jp_4419_: { -lean_object* v___x_4401_; -v___x_4401_ = l_Lean_Compiler_LCNF_eraseDecl(v___x_4394_, v_a_4398_, v_a_4386_, v_a_4387_, v_a_4388_, v_a_4389_); -if (lean_obj_tag(v___x_4401_) == 0) +lean_object* v___x_4421_; +v___x_4421_ = l_Lean_Compiler_LCNF_eraseDecl(v___x_4414_, v_a_4418_, v_a_4406_, v_a_4407_, v_a_4408_, v_a_4409_); +if (lean_obj_tag(v___x_4421_) == 0) { -lean_object* v___x_4403_; uint8_t v_isShared_4404_; uint8_t v_isSharedCheck_4408_; -v_isSharedCheck_4408_ = !lean_is_exclusive(v___x_4401_); -if (v_isSharedCheck_4408_ == 0) +lean_object* v___x_4423_; uint8_t v_isShared_4424_; uint8_t v_isSharedCheck_4428_; +v_isSharedCheck_4428_ = !lean_is_exclusive(v___x_4421_); +if (v_isSharedCheck_4428_ == 0) { -lean_object* v_unused_4409_; -v_unused_4409_ = lean_ctor_get(v___x_4401_, 0); -lean_dec(v_unused_4409_); -v___x_4403_ = v___x_4401_; -v_isShared_4404_ = v_isSharedCheck_4408_; -goto v_resetjp_4402_; +lean_object* v_unused_4429_; +v_unused_4429_ = lean_ctor_get(v___x_4421_, 0); +lean_dec(v_unused_4429_); +v___x_4423_ = v___x_4421_; +v_isShared_4424_ = v_isSharedCheck_4428_; +goto v_resetjp_4422_; } else { -lean_dec(v___x_4401_); -v___x_4403_ = lean_box(0); -v_isShared_4404_ = v_isSharedCheck_4408_; -goto v_resetjp_4402_; +lean_dec(v___x_4421_); +v___x_4423_ = lean_box(0); +v_isShared_4424_ = v_isSharedCheck_4428_; +goto v_resetjp_4422_; } -v_resetjp_4402_: +v_resetjp_4422_: { -lean_object* v___x_4406_; -if (v_isShared_4404_ == 0) +lean_object* v___x_4426_; +if (v_isShared_4424_ == 0) { -lean_ctor_set(v___x_4403_, 0, v_a_4400_); -v___x_4406_ = v___x_4403_; -goto v_reusejp_4405_; +lean_ctor_set(v___x_4423_, 0, v_a_4420_); +v___x_4426_ = v___x_4423_; +goto v_reusejp_4425_; } else { -lean_object* v_reuseFailAlloc_4407_; -v_reuseFailAlloc_4407_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4407_, 0, v_a_4400_); -v___x_4406_ = v_reuseFailAlloc_4407_; -goto v_reusejp_4405_; +lean_object* v_reuseFailAlloc_4427_; +v_reuseFailAlloc_4427_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4427_, 0, v_a_4420_); +v___x_4426_ = v_reuseFailAlloc_4427_; +goto v_reusejp_4425_; } -v_reusejp_4405_: +v_reusejp_4425_: { -return v___x_4406_; +return v___x_4426_; } } } else { -lean_object* v_a_4410_; lean_object* v___x_4412_; uint8_t v_isShared_4413_; uint8_t v_isSharedCheck_4417_; -lean_dec_ref(v_a_4400_); -v_a_4410_ = lean_ctor_get(v___x_4401_, 0); -v_isSharedCheck_4417_ = !lean_is_exclusive(v___x_4401_); -if (v_isSharedCheck_4417_ == 0) +lean_object* v_a_4430_; lean_object* v___x_4432_; uint8_t v_isShared_4433_; uint8_t v_isSharedCheck_4437_; +lean_dec_ref(v_a_4420_); +v_a_4430_ = lean_ctor_get(v___x_4421_, 0); +v_isSharedCheck_4437_ = !lean_is_exclusive(v___x_4421_); +if (v_isSharedCheck_4437_ == 0) { -v___x_4412_ = v___x_4401_; -v_isShared_4413_ = v_isSharedCheck_4417_; -goto v_resetjp_4411_; +v___x_4432_ = v___x_4421_; +v_isShared_4433_ = v_isSharedCheck_4437_; +goto v_resetjp_4431_; } else { -lean_inc(v_a_4410_); -lean_dec(v___x_4401_); -v___x_4412_ = lean_box(0); -v_isShared_4413_ = v_isSharedCheck_4417_; -goto v_resetjp_4411_; +lean_inc(v_a_4430_); +lean_dec(v___x_4421_); +v___x_4432_ = lean_box(0); +v_isShared_4433_ = v_isSharedCheck_4437_; +goto v_resetjp_4431_; } -v_resetjp_4411_: +v_resetjp_4431_: { -lean_object* v___x_4415_; -if (v_isShared_4413_ == 0) +lean_object* v___x_4435_; +if (v_isShared_4433_ == 0) { -v___x_4415_ = v___x_4412_; -goto v_reusejp_4414_; +v___x_4435_ = v___x_4432_; +goto v_reusejp_4434_; } else { -lean_object* v_reuseFailAlloc_4416_; -v_reuseFailAlloc_4416_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4416_, 0, v_a_4410_); -v___x_4415_ = v_reuseFailAlloc_4416_; -goto v_reusejp_4414_; +lean_object* v_reuseFailAlloc_4436_; +v_reuseFailAlloc_4436_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4436_, 0, v_a_4430_); +v___x_4435_ = v_reuseFailAlloc_4436_; +goto v_reusejp_4434_; } -v_reusejp_4414_: +v_reusejp_4434_: { -return v___x_4415_; +return v___x_4435_; } } } @@ -12859,195 +12970,193 @@ return v___x_4415_; } else { -lean_dec_ref(v_toSignature_4393_); -lean_dec(v___x_4392_); -lean_dec(v___x_4391_); -lean_dec(v_levelParamsNew_4383_); -lean_dec_ref(v_decls_4382_); -lean_dec_ref(v_params_4381_); -lean_dec_ref(v_argMask_4380_); -lean_dec(v_us_4379_); -return v___x_4397_; +lean_dec_ref(v_toSignature_4413_); +lean_dec(v___x_4412_); +lean_dec(v___x_4411_); +lean_dec(v_levelParamsNew_4403_); +lean_dec_ref(v_decls_4402_); +lean_dec_ref(v_params_4401_); +lean_dec_ref(v_argMask_4400_); +lean_dec(v_us_4399_); +return v___x_4417_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___boxed(lean_object* v_decl_4454_, lean_object* v_us_4455_, lean_object* v_argMask_4456_, lean_object* v_params_4457_, lean_object* v_decls_4458_, lean_object* v_levelParamsNew_4459_, lean_object* v_a_4460_, lean_object* v_a_4461_, lean_object* v_a_4462_, lean_object* v_a_4463_, lean_object* v_a_4464_, lean_object* v_a_4465_, lean_object* v_a_4466_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___boxed(lean_object* v_decl_4474_, lean_object* v_us_4475_, lean_object* v_argMask_4476_, lean_object* v_params_4477_, lean_object* v_decls_4478_, lean_object* v_levelParamsNew_4479_, lean_object* v_a_4480_, lean_object* v_a_4481_, lean_object* v_a_4482_, lean_object* v_a_4483_, lean_object* v_a_4484_, lean_object* v_a_4485_, lean_object* v_a_4486_){ _start: { -lean_object* v_res_4467_; -v_res_4467_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(v_decl_4454_, v_us_4455_, v_argMask_4456_, v_params_4457_, v_decls_4458_, v_levelParamsNew_4459_, v_a_4460_, v_a_4461_, v_a_4462_, v_a_4463_, v_a_4464_, v_a_4465_); -lean_dec(v_a_4465_); -lean_dec_ref(v_a_4464_); -lean_dec(v_a_4463_); -lean_dec_ref(v_a_4462_); -lean_dec(v_a_4461_); -lean_dec_ref(v_a_4460_); -return v_res_4467_; +lean_object* v_res_4487_; +v_res_4487_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(v_decl_4474_, v_us_4475_, v_argMask_4476_, v_params_4477_, v_decls_4478_, v_levelParamsNew_4479_, v_a_4480_, v_a_4481_, v_a_4482_, v_a_4483_, v_a_4484_, v_a_4485_); +lean_dec(v_a_4485_); +lean_dec_ref(v_a_4484_); +lean_dec(v_a_4483_); +lean_dec_ref(v_a_4482_); +lean_dec(v_a_4481_); +lean_dec_ref(v_a_4480_); +return v_res_4487_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(lean_object* v_as_4468_, size_t v_sz_4469_, size_t v_i_4470_, lean_object* v_b_4471_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(lean_object* v_as_4488_, size_t v_sz_4489_, size_t v_i_4490_, lean_object* v_b_4491_){ _start: { -lean_object* v_a_4473_; uint8_t v___x_4477_; -v___x_4477_ = lean_usize_dec_lt(v_i_4470_, v_sz_4469_); -if (v___x_4477_ == 0) +lean_object* v_a_4493_; uint8_t v___x_4497_; +v___x_4497_ = lean_usize_dec_lt(v_i_4490_, v_sz_4489_); +if (v___x_4497_ == 0) { -return v_b_4471_; +return v_b_4491_; } else { -lean_object* v_snd_4478_; lean_object* v_fst_4479_; lean_object* v___x_4481_; uint8_t v_isShared_4482_; uint8_t v_isSharedCheck_4512_; -v_snd_4478_ = lean_ctor_get(v_b_4471_, 1); -v_fst_4479_ = lean_ctor_get(v_b_4471_, 0); -v_isSharedCheck_4512_ = !lean_is_exclusive(v_b_4471_); -if (v_isSharedCheck_4512_ == 0) +lean_object* v_snd_4498_; lean_object* v_fst_4499_; lean_object* v___x_4501_; uint8_t v_isShared_4502_; uint8_t v_isSharedCheck_4531_; +v_snd_4498_ = lean_ctor_get(v_b_4491_, 1); +v_fst_4499_ = lean_ctor_get(v_b_4491_, 0); +v_isSharedCheck_4531_ = !lean_is_exclusive(v_b_4491_); +if (v_isSharedCheck_4531_ == 0) { -v___x_4481_ = v_b_4471_; -v_isShared_4482_ = v_isSharedCheck_4512_; -goto v_resetjp_4480_; +v___x_4501_ = v_b_4491_; +v_isShared_4502_ = v_isSharedCheck_4531_; +goto v_resetjp_4500_; } else { -lean_inc(v_snd_4478_); -lean_inc(v_fst_4479_); -lean_dec(v_b_4471_); -v___x_4481_ = lean_box(0); -v_isShared_4482_ = v_isSharedCheck_4512_; -goto v_resetjp_4480_; +lean_inc(v_snd_4498_); +lean_inc(v_fst_4499_); +lean_dec(v_b_4491_); +v___x_4501_ = lean_box(0); +v_isShared_4502_ = v_isSharedCheck_4531_; +goto v_resetjp_4500_; } -v_resetjp_4480_: +v_resetjp_4500_: { -lean_object* v_array_4483_; lean_object* v_start_4484_; lean_object* v_stop_4485_; uint8_t v___x_4486_; -v_array_4483_ = lean_ctor_get(v_snd_4478_, 0); -v_start_4484_ = lean_ctor_get(v_snd_4478_, 1); -v_stop_4485_ = lean_ctor_get(v_snd_4478_, 2); -v___x_4486_ = lean_nat_dec_lt(v_start_4484_, v_stop_4485_); -if (v___x_4486_ == 0) +lean_object* v_array_4503_; lean_object* v_start_4504_; lean_object* v_stop_4505_; uint8_t v___x_4506_; +v_array_4503_ = lean_ctor_get(v_snd_4498_, 0); +v_start_4504_ = lean_ctor_get(v_snd_4498_, 1); +v_stop_4505_ = lean_ctor_get(v_snd_4498_, 2); +v___x_4506_ = lean_nat_dec_lt(v_start_4504_, v_stop_4505_); +if (v___x_4506_ == 0) { -lean_object* v___x_4488_; -if (v_isShared_4482_ == 0) +lean_object* v___x_4508_; +if (v_isShared_4502_ == 0) { -v___x_4488_ = v___x_4481_; -goto v_reusejp_4487_; +v___x_4508_ = v___x_4501_; +goto v_reusejp_4507_; } else { -lean_object* v_reuseFailAlloc_4489_; -v_reuseFailAlloc_4489_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4489_, 0, v_fst_4479_); -lean_ctor_set(v_reuseFailAlloc_4489_, 1, v_snd_4478_); -v___x_4488_ = v_reuseFailAlloc_4489_; -goto v_reusejp_4487_; +lean_object* v_reuseFailAlloc_4509_; +v_reuseFailAlloc_4509_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4509_, 0, v_fst_4499_); +lean_ctor_set(v_reuseFailAlloc_4509_, 1, v_snd_4498_); +v___x_4508_ = v_reuseFailAlloc_4509_; +goto v_reusejp_4507_; } -v_reusejp_4487_: +v_reusejp_4507_: { -return v___x_4488_; +return v___x_4508_; } } else { -lean_object* v___x_4491_; uint8_t v_isShared_4492_; uint8_t v_isSharedCheck_4508_; -lean_inc(v_stop_4485_); -lean_inc(v_start_4484_); -lean_inc_ref(v_array_4483_); -v_isSharedCheck_4508_ = !lean_is_exclusive(v_snd_4478_); -if (v_isSharedCheck_4508_ == 0) +lean_object* v___x_4511_; uint8_t v_isShared_4512_; uint8_t v_isSharedCheck_4527_; +lean_inc(v_stop_4505_); +lean_inc(v_start_4504_); +lean_inc_ref(v_array_4503_); +v_isSharedCheck_4527_ = !lean_is_exclusive(v_snd_4498_); +if (v_isSharedCheck_4527_ == 0) { -lean_object* v_unused_4509_; lean_object* v_unused_4510_; lean_object* v_unused_4511_; -v_unused_4509_ = lean_ctor_get(v_snd_4478_, 2); -lean_dec(v_unused_4509_); -v_unused_4510_ = lean_ctor_get(v_snd_4478_, 1); -lean_dec(v_unused_4510_); -v_unused_4511_ = lean_ctor_get(v_snd_4478_, 0); -lean_dec(v_unused_4511_); -v___x_4491_ = v_snd_4478_; -v_isShared_4492_ = v_isSharedCheck_4508_; -goto v_resetjp_4490_; +lean_object* v_unused_4528_; lean_object* v_unused_4529_; lean_object* v_unused_4530_; +v_unused_4528_ = lean_ctor_get(v_snd_4498_, 2); +lean_dec(v_unused_4528_); +v_unused_4529_ = lean_ctor_get(v_snd_4498_, 1); +lean_dec(v_unused_4529_); +v_unused_4530_ = lean_ctor_get(v_snd_4498_, 0); +lean_dec(v_unused_4530_); +v___x_4511_ = v_snd_4498_; +v_isShared_4512_ = v_isSharedCheck_4527_; +goto v_resetjp_4510_; } else { -lean_dec(v_snd_4478_); -v___x_4491_ = lean_box(0); -v_isShared_4492_ = v_isSharedCheck_4508_; -goto v_resetjp_4490_; +lean_dec(v_snd_4498_); +v___x_4511_ = lean_box(0); +v_isShared_4512_ = v_isSharedCheck_4527_; +goto v_resetjp_4510_; } -v_resetjp_4490_: +v_resetjp_4510_: { -lean_object* v_a_4493_; lean_object* v___x_4494_; lean_object* v___x_4495_; lean_object* v___x_4496_; lean_object* v___x_4498_; -v_a_4493_ = lean_array_uget_borrowed(v_as_4468_, v_i_4470_); -v___x_4494_ = lean_array_fget(v_array_4483_, v_start_4484_); -v___x_4495_ = lean_unsigned_to_nat(1u); -v___x_4496_ = lean_nat_add(v_start_4484_, v___x_4495_); -lean_dec(v_start_4484_); -if (v_isShared_4492_ == 0) +lean_object* v_a_4513_; lean_object* v___x_4514_; lean_object* v___x_4515_; lean_object* v___x_4516_; lean_object* v___x_4518_; +v_a_4513_ = lean_array_uget_borrowed(v_as_4488_, v_i_4490_); +v___x_4514_ = lean_array_fget(v_array_4503_, v_start_4504_); +v___x_4515_ = lean_unsigned_to_nat(1u); +v___x_4516_ = lean_nat_add(v_start_4504_, v___x_4515_); +lean_dec(v_start_4504_); +if (v_isShared_4512_ == 0) { -lean_ctor_set(v___x_4491_, 1, v___x_4496_); -v___x_4498_ = v___x_4491_; -goto v_reusejp_4497_; +lean_ctor_set(v___x_4511_, 1, v___x_4516_); +v___x_4518_ = v___x_4511_; +goto v_reusejp_4517_; } else { -lean_object* v_reuseFailAlloc_4507_; -v_reuseFailAlloc_4507_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v_reuseFailAlloc_4507_, 0, v_array_4483_); -lean_ctor_set(v_reuseFailAlloc_4507_, 1, v___x_4496_); -lean_ctor_set(v_reuseFailAlloc_4507_, 2, v_stop_4485_); -v___x_4498_ = v_reuseFailAlloc_4507_; -goto v_reusejp_4497_; +lean_object* v_reuseFailAlloc_4526_; +v_reuseFailAlloc_4526_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v_reuseFailAlloc_4526_, 0, v_array_4503_); +lean_ctor_set(v_reuseFailAlloc_4526_, 1, v___x_4516_); +lean_ctor_set(v_reuseFailAlloc_4526_, 2, v_stop_4505_); +v___x_4518_ = v_reuseFailAlloc_4526_; +goto v_reusejp_4517_; } -v_reusejp_4497_: +v_reusejp_4517_: { -uint8_t v___x_4499_; -v___x_4499_ = lean_unbox(v_a_4493_); -if (v___x_4499_ == 4) +if (lean_obj_tag(v_a_4513_) == 4) { -lean_object* v___x_4500_; lean_object* v___x_4502_; -v___x_4500_ = lean_array_push(v_fst_4479_, v___x_4494_); -if (v_isShared_4482_ == 0) +lean_object* v___x_4519_; lean_object* v___x_4521_; +v___x_4519_ = lean_array_push(v_fst_4499_, v___x_4514_); +if (v_isShared_4502_ == 0) { -lean_ctor_set(v___x_4481_, 1, v___x_4498_); -lean_ctor_set(v___x_4481_, 0, v___x_4500_); -v___x_4502_ = v___x_4481_; -goto v_reusejp_4501_; +lean_ctor_set(v___x_4501_, 1, v___x_4518_); +lean_ctor_set(v___x_4501_, 0, v___x_4519_); +v___x_4521_ = v___x_4501_; +goto v_reusejp_4520_; } else { -lean_object* v_reuseFailAlloc_4503_; -v_reuseFailAlloc_4503_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4503_, 0, v___x_4500_); -lean_ctor_set(v_reuseFailAlloc_4503_, 1, v___x_4498_); -v___x_4502_ = v_reuseFailAlloc_4503_; -goto v_reusejp_4501_; +lean_object* v_reuseFailAlloc_4522_; +v_reuseFailAlloc_4522_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4522_, 0, v___x_4519_); +lean_ctor_set(v_reuseFailAlloc_4522_, 1, v___x_4518_); +v___x_4521_ = v_reuseFailAlloc_4522_; +goto v_reusejp_4520_; } -v_reusejp_4501_: +v_reusejp_4520_: { -v_a_4473_ = v___x_4502_; -goto v___jp_4472_; +v_a_4493_ = v___x_4521_; +goto v___jp_4492_; } } else { -lean_object* v___x_4505_; -lean_dec(v___x_4494_); -if (v_isShared_4482_ == 0) +lean_object* v___x_4524_; +lean_dec(v___x_4514_); +if (v_isShared_4502_ == 0) { -lean_ctor_set(v___x_4481_, 1, v___x_4498_); -v___x_4505_ = v___x_4481_; -goto v_reusejp_4504_; +lean_ctor_set(v___x_4501_, 1, v___x_4518_); +v___x_4524_ = v___x_4501_; +goto v_reusejp_4523_; } else { -lean_object* v_reuseFailAlloc_4506_; -v_reuseFailAlloc_4506_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_4506_, 0, v_fst_4479_); -lean_ctor_set(v_reuseFailAlloc_4506_, 1, v___x_4498_); -v___x_4505_ = v_reuseFailAlloc_4506_; -goto v_reusejp_4504_; +lean_object* v_reuseFailAlloc_4525_; +v_reuseFailAlloc_4525_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_4525_, 0, v_fst_4499_); +lean_ctor_set(v_reuseFailAlloc_4525_, 1, v___x_4518_); +v___x_4524_ = v_reuseFailAlloc_4525_; +goto v_reusejp_4523_; } -v_reusejp_4504_: +v_reusejp_4523_: { -v_a_4473_ = v___x_4505_; -goto v___jp_4472_; +v_a_4493_ = v___x_4524_; +goto v___jp_4492_; } } } @@ -13055,1684 +13164,1684 @@ goto v___jp_4472_; } } } -v___jp_4472_: +v___jp_4492_: { -size_t v___x_4474_; size_t v___x_4475_; -v___x_4474_ = ((size_t)1ULL); -v___x_4475_ = lean_usize_add(v_i_4470_, v___x_4474_); -v_i_4470_ = v___x_4475_; -v_b_4471_ = v_a_4473_; +size_t v___x_4494_; size_t v___x_4495_; +v___x_4494_ = ((size_t)1ULL); +v___x_4495_ = lean_usize_add(v_i_4490_, v___x_4494_); +v_i_4490_ = v___x_4495_; +v_b_4491_ = v_a_4493_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0___boxed(lean_object* v_as_4513_, lean_object* v_sz_4514_, lean_object* v_i_4515_, lean_object* v_b_4516_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0___boxed(lean_object* v_as_4532_, lean_object* v_sz_4533_, lean_object* v_i_4534_, lean_object* v_b_4535_){ _start: { -size_t v_sz_boxed_4517_; size_t v_i_boxed_4518_; lean_object* v_res_4519_; -v_sz_boxed_4517_ = lean_unbox_usize(v_sz_4514_); -lean_dec(v_sz_4514_); -v_i_boxed_4518_ = lean_unbox_usize(v_i_4515_); -lean_dec(v_i_4515_); -v_res_4519_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(v_as_4513_, v_sz_boxed_4517_, v_i_boxed_4518_, v_b_4516_); -lean_dec_ref(v_as_4513_); -return v_res_4519_; +size_t v_sz_boxed_4536_; size_t v_i_boxed_4537_; lean_object* v_res_4538_; +v_sz_boxed_4536_ = lean_unbox_usize(v_sz_4533_); +lean_dec(v_sz_4533_); +v_i_boxed_4537_ = lean_unbox_usize(v_i_4534_); +lean_dec(v_i_4534_); +v_res_4538_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(v_as_4532_, v_sz_boxed_4536_, v_i_boxed_4537_, v_b_4535_); +lean_dec_ref(v_as_4532_); +return v_res_4538_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(lean_object* v_paramsInfo_4522_, lean_object* v_args_4523_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(lean_object* v_paramsInfo_4541_, lean_object* v_args_4542_){ _start: { -lean_object* v___x_4524_; lean_object* v_result_4525_; lean_object* v___x_4526_; lean_object* v___x_4527_; lean_object* v___x_4528_; size_t v_sz_4529_; size_t v___x_4530_; lean_object* v___x_4531_; lean_object* v_fst_4532_; lean_object* v_lower_4534_; lean_object* v_upper_4535_; lean_object* v___x_4539_; uint8_t v___x_4540_; -v___x_4524_ = lean_unsigned_to_nat(0u); -v_result_4525_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___closed__0)); -v___x_4526_ = lean_array_get_size(v_args_4523_); -lean_inc_ref(v_args_4523_); -v___x_4527_ = l_Array_toSubarray___redArg(v_args_4523_, v___x_4524_, v___x_4526_); -v___x_4528_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_4528_, 0, v_result_4525_); -lean_ctor_set(v___x_4528_, 1, v___x_4527_); -v_sz_4529_ = lean_array_size(v_paramsInfo_4522_); -v___x_4530_ = ((size_t)0ULL); -v___x_4531_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(v_paramsInfo_4522_, v_sz_4529_, v___x_4530_, v___x_4528_); -v_fst_4532_ = lean_ctor_get(v___x_4531_, 0); -lean_inc(v_fst_4532_); -lean_dec_ref(v___x_4531_); -v___x_4539_ = lean_array_get_size(v_paramsInfo_4522_); -v___x_4540_ = lean_nat_dec_le(v___x_4539_, v___x_4524_); -if (v___x_4540_ == 0) +lean_object* v___x_4543_; lean_object* v_result_4544_; lean_object* v___x_4545_; lean_object* v___x_4546_; lean_object* v___x_4547_; size_t v_sz_4548_; size_t v___x_4549_; lean_object* v___x_4550_; lean_object* v_fst_4551_; lean_object* v_lower_4553_; lean_object* v_upper_4554_; lean_object* v___x_4558_; uint8_t v___x_4559_; +v___x_4543_ = lean_unsigned_to_nat(0u); +v_result_4544_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___closed__0)); +v___x_4545_ = lean_array_get_size(v_args_4542_); +lean_inc_ref(v_args_4542_); +v___x_4546_ = l_Array_toSubarray___redArg(v_args_4542_, v___x_4543_, v___x_4545_); +v___x_4547_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_4547_, 0, v_result_4544_); +lean_ctor_set(v___x_4547_, 1, v___x_4546_); +v_sz_4548_ = lean_array_size(v_paramsInfo_4541_); +v___x_4549_ = ((size_t)0ULL); +v___x_4550_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs_spec__0(v_paramsInfo_4541_, v_sz_4548_, v___x_4549_, v___x_4547_); +v_fst_4551_ = lean_ctor_get(v___x_4550_, 0); +lean_inc(v_fst_4551_); +lean_dec_ref(v___x_4550_); +v___x_4558_ = lean_array_get_size(v_paramsInfo_4541_); +v___x_4559_ = lean_nat_dec_le(v___x_4558_, v___x_4543_); +if (v___x_4559_ == 0) { -v_lower_4534_ = v___x_4539_; -v_upper_4535_ = v___x_4526_; -goto v___jp_4533_; +v_lower_4553_ = v___x_4558_; +v_upper_4554_ = v___x_4545_; +goto v___jp_4552_; } else { -v_lower_4534_ = v___x_4524_; -v_upper_4535_ = v___x_4526_; -goto v___jp_4533_; +v_lower_4553_ = v___x_4543_; +v_upper_4554_ = v___x_4545_; +goto v___jp_4552_; } -v___jp_4533_: +v___jp_4552_: { -lean_object* v___x_4536_; lean_object* v___x_4537_; lean_object* v___x_4538_; -v___x_4536_ = l_Array_toSubarray___redArg(v_args_4523_, v_lower_4534_, v_upper_4535_); -v___x_4537_ = l_Subarray_copy___redArg(v___x_4536_); -v___x_4538_ = l_Array_append___redArg(v_fst_4532_, v___x_4537_); -lean_dec_ref(v___x_4537_); -return v___x_4538_; +lean_object* v___x_4555_; lean_object* v___x_4556_; lean_object* v___x_4557_; +v___x_4555_ = l_Array_toSubarray___redArg(v_args_4542_, v_lower_4553_, v_upper_4554_); +v___x_4556_ = l_Subarray_copy___redArg(v___x_4555_); +v___x_4557_ = l_Array_append___redArg(v_fst_4551_, v___x_4556_); +lean_dec_ref(v___x_4556_); +return v___x_4557_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___boxed(lean_object* v_paramsInfo_4541_, lean_object* v_args_4542_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___boxed(lean_object* v_paramsInfo_4560_, lean_object* v_args_4561_){ _start: { -lean_object* v_res_4543_; -v_res_4543_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(v_paramsInfo_4541_, v_args_4542_); -lean_dec_ref(v_paramsInfo_4541_); -return v_res_4543_; +lean_object* v_res_4562_; +v_res_4562_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(v_paramsInfo_4560_, v_args_4561_); +lean_dec_ref(v_paramsInfo_4560_); +return v_res_4562_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(lean_object* v_as_4544_, size_t v_i_4545_, size_t v_stop_4546_, lean_object* v_b_4547_, lean_object* v___y_4548_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(lean_object* v_as_4563_, size_t v_i_4564_, size_t v_stop_4565_, lean_object* v_b_4566_, lean_object* v___y_4567_){ _start: { -uint8_t v___x_4550_; -v___x_4550_ = lean_usize_dec_eq(v_i_4545_, v_stop_4546_); -if (v___x_4550_ == 0) +uint8_t v___x_4569_; +v___x_4569_ = lean_usize_dec_eq(v_i_4564_, v_stop_4565_); +if (v___x_4569_ == 0) { -lean_object* v___x_4551_; lean_object* v_fvarId_4552_; lean_object* v_type_4553_; lean_object* v___x_4554_; -v___x_4551_ = lean_array_uget_borrowed(v_as_4544_, v_i_4545_); -v_fvarId_4552_ = lean_ctor_get(v___x_4551_, 0); -v_type_4553_ = lean_ctor_get(v___x_4551_, 2); -lean_inc_ref(v_type_4553_); -v___x_4554_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_4553_, v___y_4548_); -if (lean_obj_tag(v___x_4554_) == 0) +lean_object* v___x_4570_; lean_object* v_fvarId_4571_; lean_object* v_type_4572_; lean_object* v___x_4573_; +v___x_4570_ = lean_array_uget_borrowed(v_as_4563_, v_i_4564_); +v_fvarId_4571_ = lean_ctor_get(v___x_4570_, 0); +v_type_4572_ = lean_ctor_get(v___x_4570_, 2); +lean_inc_ref(v_type_4572_); +v___x_4573_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_4572_, v___y_4567_); +if (lean_obj_tag(v___x_4573_) == 0) { -lean_object* v_a_4555_; lean_object* v_a_4557_; uint8_t v___y_4564_; uint8_t v___x_4565_; -v_a_4555_ = lean_ctor_get(v___x_4554_, 0); -lean_inc(v_a_4555_); -lean_dec_ref(v___x_4554_); -lean_inc_ref(v_type_4553_); -v___x_4565_ = l_Lean_Compiler_LCNF_isTypeFormerType(v_type_4553_); -if (v___x_4565_ == 0) +lean_object* v_a_4574_; lean_object* v_a_4576_; uint8_t v___y_4583_; uint8_t v___x_4584_; +v_a_4574_ = lean_ctor_get(v___x_4573_, 0); +lean_inc(v_a_4574_); +lean_dec_ref(v___x_4573_); +lean_inc_ref(v_type_4572_); +v___x_4584_ = l_Lean_Compiler_LCNF_isTypeFormerType(v_type_4572_); +if (v___x_4584_ == 0) { -if (lean_obj_tag(v_a_4555_) == 0) +if (lean_obj_tag(v_a_4574_) == 0) { -v___y_4564_ = v___x_4565_; -goto v___jp_4563_; +v___y_4583_ = v___x_4584_; +goto v___jp_4582_; } else { -lean_dec_ref(v_a_4555_); -goto v___jp_4561_; +lean_dec_ref(v_a_4574_); +goto v___jp_4580_; } } else { -lean_dec(v_a_4555_); -v___y_4564_ = v___x_4565_; -goto v___jp_4563_; +lean_dec(v_a_4574_); +v___y_4583_ = v___x_4584_; +goto v___jp_4582_; } -v___jp_4556_: +v___jp_4575_: { -size_t v___x_4558_; size_t v___x_4559_; -v___x_4558_ = ((size_t)1ULL); -v___x_4559_ = lean_usize_add(v_i_4545_, v___x_4558_); -v_i_4545_ = v___x_4559_; -v_b_4547_ = v_a_4557_; +size_t v___x_4577_; size_t v___x_4578_; +v___x_4577_ = ((size_t)1ULL); +v___x_4578_ = lean_usize_add(v_i_4564_, v___x_4577_); +v_i_4564_ = v___x_4578_; +v_b_4566_ = v_a_4576_; goto _start; } -v___jp_4561_: +v___jp_4580_: { -lean_object* v___x_4562_; -lean_inc(v_fvarId_4552_); -v___x_4562_ = l_Lean_FVarIdSet_insert(v_b_4547_, v_fvarId_4552_); -v_a_4557_ = v___x_4562_; -goto v___jp_4556_; +lean_object* v___x_4581_; +lean_inc(v_fvarId_4571_); +v___x_4581_ = l_Lean_FVarIdSet_insert(v_b_4566_, v_fvarId_4571_); +v_a_4576_ = v___x_4581_; +goto v___jp_4575_; } -v___jp_4563_: +v___jp_4582_: { -if (v___y_4564_ == 0) +if (v___y_4583_ == 0) { -v_a_4557_ = v_b_4547_; -goto v___jp_4556_; +v_a_4576_ = v_b_4566_; +goto v___jp_4575_; } else { -goto v___jp_4561_; +goto v___jp_4580_; } } } else { -lean_object* v_a_4566_; lean_object* v___x_4568_; uint8_t v_isShared_4569_; uint8_t v_isSharedCheck_4573_; -lean_dec(v_b_4547_); -v_a_4566_ = lean_ctor_get(v___x_4554_, 0); -v_isSharedCheck_4573_ = !lean_is_exclusive(v___x_4554_); -if (v_isSharedCheck_4573_ == 0) +lean_object* v_a_4585_; lean_object* v___x_4587_; uint8_t v_isShared_4588_; uint8_t v_isSharedCheck_4592_; +lean_dec(v_b_4566_); +v_a_4585_ = lean_ctor_get(v___x_4573_, 0); +v_isSharedCheck_4592_ = !lean_is_exclusive(v___x_4573_); +if (v_isSharedCheck_4592_ == 0) { -v___x_4568_ = v___x_4554_; -v_isShared_4569_ = v_isSharedCheck_4573_; -goto v_resetjp_4567_; +v___x_4587_ = v___x_4573_; +v_isShared_4588_ = v_isSharedCheck_4592_; +goto v_resetjp_4586_; } else { -lean_inc(v_a_4566_); -lean_dec(v___x_4554_); -v___x_4568_ = lean_box(0); -v_isShared_4569_ = v_isSharedCheck_4573_; -goto v_resetjp_4567_; +lean_inc(v_a_4585_); +lean_dec(v___x_4573_); +v___x_4587_ = lean_box(0); +v_isShared_4588_ = v_isSharedCheck_4592_; +goto v_resetjp_4586_; } -v_resetjp_4567_: +v_resetjp_4586_: { -lean_object* v___x_4571_; -if (v_isShared_4569_ == 0) +lean_object* v___x_4590_; +if (v_isShared_4588_ == 0) { -v___x_4571_ = v___x_4568_; -goto v_reusejp_4570_; +v___x_4590_ = v___x_4587_; +goto v_reusejp_4589_; } else { -lean_object* v_reuseFailAlloc_4572_; -v_reuseFailAlloc_4572_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4572_, 0, v_a_4566_); -v___x_4571_ = v_reuseFailAlloc_4572_; -goto v_reusejp_4570_; +lean_object* v_reuseFailAlloc_4591_; +v_reuseFailAlloc_4591_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4591_, 0, v_a_4585_); +v___x_4590_ = v_reuseFailAlloc_4591_; +goto v_reusejp_4589_; } -v_reusejp_4570_: +v_reusejp_4589_: { -return v___x_4571_; +return v___x_4590_; } } } } else { -lean_object* v___x_4574_; -v___x_4574_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4574_, 0, v_b_4547_); -return v___x_4574_; +lean_object* v___x_4593_; +v___x_4593_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4593_, 0, v_b_4566_); +return v___x_4593_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg___boxed(lean_object* v_as_4575_, lean_object* v_i_4576_, lean_object* v_stop_4577_, lean_object* v_b_4578_, lean_object* v___y_4579_, lean_object* v___y_4580_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg___boxed(lean_object* v_as_4594_, lean_object* v_i_4595_, lean_object* v_stop_4596_, lean_object* v_b_4597_, lean_object* v___y_4598_, lean_object* v___y_4599_){ _start: { -size_t v_i_boxed_4581_; size_t v_stop_boxed_4582_; lean_object* v_res_4583_; -v_i_boxed_4581_ = lean_unbox_usize(v_i_4576_); -lean_dec(v_i_4576_); -v_stop_boxed_4582_ = lean_unbox_usize(v_stop_4577_); -lean_dec(v_stop_4577_); -v_res_4583_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_as_4575_, v_i_boxed_4581_, v_stop_boxed_4582_, v_b_4578_, v___y_4579_); -lean_dec(v___y_4579_); -lean_dec_ref(v_as_4575_); -return v_res_4583_; +size_t v_i_boxed_4600_; size_t v_stop_boxed_4601_; lean_object* v_res_4602_; +v_i_boxed_4600_ = lean_unbox_usize(v_i_4595_); +lean_dec(v_i_4595_); +v_stop_boxed_4601_ = lean_unbox_usize(v_stop_4596_); +lean_dec(v_stop_4596_); +v_res_4602_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_as_4594_, v_i_boxed_4600_, v_stop_boxed_4601_, v_b_4597_, v___y_4598_); +lean_dec(v___y_4598_); +lean_dec_ref(v_as_4594_); +return v_res_4602_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(lean_object* v_params_4584_, lean_object* v_a_4585_, lean_object* v_a_4586_, lean_object* v_a_4587_, lean_object* v_a_4588_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(lean_object* v_params_4603_, lean_object* v_a_4604_, lean_object* v_a_4605_, lean_object* v_a_4606_, lean_object* v_a_4607_){ _start: { -lean_object* v___x_4590_; lean_object* v___x_4591_; lean_object* v___x_4592_; uint8_t v___x_4593_; -v___x_4590_ = lean_box(1); -v___x_4591_ = lean_unsigned_to_nat(0u); -v___x_4592_ = lean_array_get_size(v_params_4584_); -v___x_4593_ = lean_nat_dec_lt(v___x_4591_, v___x_4592_); -if (v___x_4593_ == 0) +lean_object* v___x_4609_; lean_object* v___x_4610_; lean_object* v___x_4611_; uint8_t v___x_4612_; +v___x_4609_ = lean_box(1); +v___x_4610_ = lean_unsigned_to_nat(0u); +v___x_4611_ = lean_array_get_size(v_params_4603_); +v___x_4612_ = lean_nat_dec_lt(v___x_4610_, v___x_4611_); +if (v___x_4612_ == 0) { -lean_object* v___x_4594_; -v___x_4594_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4594_, 0, v___x_4590_); -return v___x_4594_; +lean_object* v___x_4613_; +v___x_4613_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4613_, 0, v___x_4609_); +return v___x_4613_; } else { -uint8_t v___x_4595_; -v___x_4595_ = lean_nat_dec_le(v___x_4592_, v___x_4592_); -if (v___x_4595_ == 0) +uint8_t v___x_4614_; +v___x_4614_ = lean_nat_dec_le(v___x_4611_, v___x_4611_); +if (v___x_4614_ == 0) { -if (v___x_4593_ == 0) +if (v___x_4612_ == 0) { -lean_object* v___x_4596_; -v___x_4596_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4596_, 0, v___x_4590_); -return v___x_4596_; +lean_object* v___x_4615_; +v___x_4615_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4615_, 0, v___x_4609_); +return v___x_4615_; } else { -size_t v___x_4597_; size_t v___x_4598_; lean_object* v___x_4599_; -v___x_4597_ = ((size_t)0ULL); -v___x_4598_ = lean_usize_of_nat(v___x_4592_); -v___x_4599_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_params_4584_, v___x_4597_, v___x_4598_, v___x_4590_, v_a_4588_); -return v___x_4599_; +size_t v___x_4616_; size_t v___x_4617_; lean_object* v___x_4618_; +v___x_4616_ = ((size_t)0ULL); +v___x_4617_ = lean_usize_of_nat(v___x_4611_); +v___x_4618_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_params_4603_, v___x_4616_, v___x_4617_, v___x_4609_, v_a_4607_); +return v___x_4618_; } } else { -size_t v___x_4600_; size_t v___x_4601_; lean_object* v___x_4602_; -v___x_4600_ = ((size_t)0ULL); -v___x_4601_ = lean_usize_of_nat(v___x_4592_); -v___x_4602_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_params_4584_, v___x_4600_, v___x_4601_, v___x_4590_, v_a_4588_); -return v___x_4602_; +size_t v___x_4619_; size_t v___x_4620_; lean_object* v___x_4621_; +v___x_4619_ = ((size_t)0ULL); +v___x_4620_ = lean_usize_of_nat(v___x_4611_); +v___x_4621_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_params_4603_, v___x_4619_, v___x_4620_, v___x_4609_, v_a_4607_); +return v___x_4621_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars___boxed(lean_object* v_params_4603_, lean_object* v_a_4604_, lean_object* v_a_4605_, lean_object* v_a_4606_, lean_object* v_a_4607_, lean_object* v_a_4608_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars___boxed(lean_object* v_params_4622_, lean_object* v_a_4623_, lean_object* v_a_4624_, lean_object* v_a_4625_, lean_object* v_a_4626_, lean_object* v_a_4627_){ _start: { -lean_object* v_res_4609_; -v_res_4609_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(v_params_4603_, v_a_4604_, v_a_4605_, v_a_4606_, v_a_4607_); -lean_dec(v_a_4607_); -lean_dec_ref(v_a_4606_); -lean_dec(v_a_4605_); -lean_dec_ref(v_a_4604_); -lean_dec_ref(v_params_4603_); -return v_res_4609_; +lean_object* v_res_4628_; +v_res_4628_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(v_params_4622_, v_a_4623_, v_a_4624_, v_a_4625_, v_a_4626_); +lean_dec(v_a_4626_); +lean_dec_ref(v_a_4625_); +lean_dec(v_a_4624_); +lean_dec_ref(v_a_4623_); +lean_dec_ref(v_params_4622_); +return v_res_4628_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0(lean_object* v_as_4610_, size_t v_i_4611_, size_t v_stop_4612_, lean_object* v_b_4613_, lean_object* v___y_4614_, lean_object* v___y_4615_, lean_object* v___y_4616_, lean_object* v___y_4617_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0(lean_object* v_as_4629_, size_t v_i_4630_, size_t v_stop_4631_, lean_object* v_b_4632_, lean_object* v___y_4633_, lean_object* v___y_4634_, lean_object* v___y_4635_, lean_object* v___y_4636_){ _start: { -lean_object* v___x_4619_; -v___x_4619_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_as_4610_, v_i_4611_, v_stop_4612_, v_b_4613_, v___y_4617_); -return v___x_4619_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___boxed(lean_object* v_as_4620_, lean_object* v_i_4621_, lean_object* v_stop_4622_, lean_object* v_b_4623_, lean_object* v___y_4624_, lean_object* v___y_4625_, lean_object* v___y_4626_, lean_object* v___y_4627_, lean_object* v___y_4628_){ -_start: -{ -size_t v_i_boxed_4629_; size_t v_stop_boxed_4630_; lean_object* v_res_4631_; -v_i_boxed_4629_ = lean_unbox_usize(v_i_4621_); -lean_dec(v_i_4621_); -v_stop_boxed_4630_ = lean_unbox_usize(v_stop_4622_); -lean_dec(v_stop_4622_); -v_res_4631_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0(v_as_4620_, v_i_boxed_4629_, v_stop_boxed_4630_, v_b_4623_, v___y_4624_, v___y_4625_, v___y_4626_, v___y_4627_); -lean_dec(v___y_4627_); -lean_dec_ref(v___y_4626_); -lean_dec(v___y_4625_); -lean_dec_ref(v___y_4624_); -lean_dec_ref(v_as_4620_); -return v_res_4631_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(lean_object* v_declName_4632_, lean_object* v___y_4633_){ -_start: -{ -lean_object* v___x_4635_; lean_object* v_env_4636_; lean_object* v___x_4637_; lean_object* v___x_4638_; -v___x_4635_ = lean_st_ref_get(v___y_4633_); -v_env_4636_ = lean_ctor_get(v___x_4635_, 0); -lean_inc_ref(v_env_4636_); -lean_dec(v___x_4635_); -v___x_4637_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_env_4636_, v_declName_4632_); -v___x_4638_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4638_, 0, v___x_4637_); +lean_object* v___x_4638_; +v___x_4638_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___redArg(v_as_4629_, v_i_4630_, v_stop_4631_, v_b_4632_, v___y_4636_); return v___x_4638_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg___boxed(lean_object* v_declName_4639_, lean_object* v___y_4640_, lean_object* v___y_4641_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0___boxed(lean_object* v_as_4639_, lean_object* v_i_4640_, lean_object* v_stop_4641_, lean_object* v_b_4642_, lean_object* v___y_4643_, lean_object* v___y_4644_, lean_object* v___y_4645_, lean_object* v___y_4646_, lean_object* v___y_4647_){ _start: { -lean_object* v_res_4642_; -v_res_4642_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4639_, v___y_4640_); -lean_dec(v___y_4640_); -return v_res_4642_; +size_t v_i_boxed_4648_; size_t v_stop_boxed_4649_; lean_object* v_res_4650_; +v_i_boxed_4648_ = lean_unbox_usize(v_i_4640_); +lean_dec(v_i_4640_); +v_stop_boxed_4649_ = lean_unbox_usize(v_stop_4641_); +lean_dec(v_stop_4641_); +v_res_4650_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars_spec__0(v_as_4639_, v_i_boxed_4648_, v_stop_boxed_4649_, v_b_4642_, v___y_4643_, v___y_4644_, v___y_4645_, v___y_4646_); +lean_dec(v___y_4646_); +lean_dec_ref(v___y_4645_); +lean_dec(v___y_4644_); +lean_dec_ref(v___y_4643_); +lean_dec_ref(v_as_4639_); +return v_res_4650_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1(lean_object* v_declName_4643_, lean_object* v___y_4644_, lean_object* v___y_4645_, lean_object* v___y_4646_, lean_object* v___y_4647_, lean_object* v___y_4648_, lean_object* v___y_4649_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(lean_object* v_declName_4651_, lean_object* v___y_4652_){ _start: { -lean_object* v___x_4651_; -v___x_4651_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4643_, v___y_4649_); -return v___x_4651_; +lean_object* v___x_4654_; lean_object* v_env_4655_; lean_object* v___x_4656_; lean_object* v___x_4657_; +v___x_4654_ = lean_st_ref_get(v___y_4652_); +v_env_4655_ = lean_ctor_get(v___x_4654_, 0); +lean_inc_ref(v_env_4655_); +lean_dec(v___x_4654_); +v___x_4656_ = l_Lean_Compiler_LCNF_getSpecEntryCore_x3f(v_env_4655_, v_declName_4651_); +v___x_4657_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4657_, 0, v___x_4656_); +return v___x_4657_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___boxed(lean_object* v_declName_4652_, lean_object* v___y_4653_, lean_object* v___y_4654_, lean_object* v___y_4655_, lean_object* v___y_4656_, lean_object* v___y_4657_, lean_object* v___y_4658_, lean_object* v___y_4659_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg___boxed(lean_object* v_declName_4658_, lean_object* v___y_4659_, lean_object* v___y_4660_){ _start: { -lean_object* v_res_4660_; -v_res_4660_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1(v_declName_4652_, v___y_4653_, v___y_4654_, v___y_4655_, v___y_4656_, v___y_4657_, v___y_4658_); -lean_dec(v___y_4658_); -lean_dec_ref(v___y_4657_); -lean_dec(v___y_4656_); -lean_dec_ref(v___y_4655_); -lean_dec(v___y_4654_); -lean_dec_ref(v___y_4653_); -return v_res_4660_; +lean_object* v_res_4661_; +v_res_4661_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4658_, v___y_4659_); +lean_dec(v___y_4659_); +return v_res_4661_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(lean_object* v_a_4661_, lean_object* v_x_4662_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1(lean_object* v_declName_4662_, lean_object* v___y_4663_, lean_object* v___y_4664_, lean_object* v___y_4665_, lean_object* v___y_4666_, lean_object* v___y_4667_, lean_object* v___y_4668_){ _start: { -if (lean_obj_tag(v_x_4662_) == 0) +lean_object* v___x_4670_; +v___x_4670_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4662_, v___y_4668_); +return v___x_4670_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___boxed(lean_object* v_declName_4671_, lean_object* v___y_4672_, lean_object* v___y_4673_, lean_object* v___y_4674_, lean_object* v___y_4675_, lean_object* v___y_4676_, lean_object* v___y_4677_, lean_object* v___y_4678_){ +_start: { -lean_object* v___x_4663_; -v___x_4663_ = lean_box(0); -return v___x_4663_; +lean_object* v_res_4679_; +v_res_4679_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1(v_declName_4671_, v___y_4672_, v___y_4673_, v___y_4674_, v___y_4675_, v___y_4676_, v___y_4677_); +lean_dec(v___y_4677_); +lean_dec_ref(v___y_4676_); +lean_dec(v___y_4675_); +lean_dec_ref(v___y_4674_); +lean_dec(v___y_4673_); +lean_dec_ref(v___y_4672_); +return v_res_4679_; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(lean_object* v_a_4680_, lean_object* v_x_4681_){ +_start: +{ +if (lean_obj_tag(v_x_4681_) == 0) +{ +lean_object* v___x_4682_; +v___x_4682_ = lean_box(0); +return v___x_4682_; } else { -lean_object* v_key_4664_; lean_object* v_value_4665_; lean_object* v_tail_4666_; uint8_t v___x_4667_; -v_key_4664_ = lean_ctor_get(v_x_4662_, 0); -v_value_4665_ = lean_ctor_get(v_x_4662_, 1); -v_tail_4666_ = lean_ctor_get(v_x_4662_, 2); -v___x_4667_ = lean_name_eq(v_key_4664_, v_a_4661_); -if (v___x_4667_ == 0) +lean_object* v_key_4683_; lean_object* v_value_4684_; lean_object* v_tail_4685_; uint8_t v___x_4686_; +v_key_4683_ = lean_ctor_get(v_x_4681_, 0); +v_value_4684_ = lean_ctor_get(v_x_4681_, 1); +v_tail_4685_ = lean_ctor_get(v_x_4681_, 2); +v___x_4686_ = lean_name_eq(v_key_4683_, v_a_4680_); +if (v___x_4686_ == 0) { -v_x_4662_ = v_tail_4666_; +v_x_4681_ = v_tail_4685_; goto _start; } else { -lean_object* v___x_4669_; -lean_inc(v_value_4665_); -v___x_4669_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_4669_, 0, v_value_4665_); -return v___x_4669_; +lean_object* v___x_4688_; +lean_inc(v_value_4684_); +v___x_4688_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_4688_, 0, v_value_4684_); +return v___x_4688_; } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg___boxed(lean_object* v_a_4670_, lean_object* v_x_4671_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg___boxed(lean_object* v_a_4689_, lean_object* v_x_4690_){ _start: { -lean_object* v_res_4672_; -v_res_4672_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4670_, v_x_4671_); -lean_dec(v_x_4671_); -lean_dec(v_a_4670_); -return v_res_4672_; +lean_object* v_res_4691_; +v_res_4691_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4689_, v_x_4690_); +lean_dec(v_x_4690_); +lean_dec(v_a_4689_); +return v_res_4691_; } } static uint64_t _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0(void){ _start: { -lean_object* v___x_4673_; uint64_t v___x_4674_; -v___x_4673_ = lean_unsigned_to_nat(1723u); -v___x_4674_ = lean_uint64_of_nat(v___x_4673_); -return v___x_4674_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(lean_object* v_m_4675_, lean_object* v_a_4676_){ -_start: -{ -lean_object* v_buckets_4677_; lean_object* v___x_4678_; uint64_t v___y_4680_; -v_buckets_4677_ = lean_ctor_get(v_m_4675_, 1); -v___x_4678_ = lean_array_get_size(v_buckets_4677_); -if (lean_obj_tag(v_a_4676_) == 0) -{ -uint64_t v___x_4694_; -v___x_4694_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); -v___y_4680_ = v___x_4694_; -goto v___jp_4679_; -} -else -{ -uint64_t v_hash_4695_; -v_hash_4695_ = lean_ctor_get_uint64(v_a_4676_, sizeof(void*)*2); -v___y_4680_ = v_hash_4695_; -goto v___jp_4679_; -} -v___jp_4679_: -{ -uint64_t v___x_4681_; uint64_t v___x_4682_; uint64_t v_fold_4683_; uint64_t v___x_4684_; uint64_t v___x_4685_; uint64_t v___x_4686_; size_t v___x_4687_; size_t v___x_4688_; size_t v___x_4689_; size_t v___x_4690_; size_t v___x_4691_; lean_object* v___x_4692_; lean_object* v___x_4693_; -v___x_4681_ = 32ULL; -v___x_4682_ = lean_uint64_shift_right(v___y_4680_, v___x_4681_); -v_fold_4683_ = lean_uint64_xor(v___y_4680_, v___x_4682_); -v___x_4684_ = 16ULL; -v___x_4685_ = lean_uint64_shift_right(v_fold_4683_, v___x_4684_); -v___x_4686_ = lean_uint64_xor(v_fold_4683_, v___x_4685_); -v___x_4687_ = lean_uint64_to_usize(v___x_4686_); -v___x_4688_ = lean_usize_of_nat(v___x_4678_); -v___x_4689_ = ((size_t)1ULL); -v___x_4690_ = lean_usize_sub(v___x_4688_, v___x_4689_); -v___x_4691_ = lean_usize_land(v___x_4687_, v___x_4690_); -v___x_4692_ = lean_array_uget_borrowed(v_buckets_4677_, v___x_4691_); -v___x_4693_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4676_, v___x_4692_); +lean_object* v___x_4692_; uint64_t v___x_4693_; +v___x_4692_ = lean_unsigned_to_nat(1723u); +v___x_4693_ = lean_uint64_of_nat(v___x_4692_); return v___x_4693_; } } -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___boxed(lean_object* v_m_4696_, lean_object* v_a_4697_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(lean_object* v_m_4694_, lean_object* v_a_4695_){ _start: { -lean_object* v_res_4698_; -v_res_4698_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_m_4696_, v_a_4697_); -lean_dec(v_a_4697_); -lean_dec_ref(v_m_4696_); -return v_res_4698_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(lean_object* v_declName_4699_, lean_object* v_a_4700_, lean_object* v_a_4701_, lean_object* v_a_4702_, lean_object* v_a_4703_, lean_object* v_a_4704_, lean_object* v_a_4705_){ -_start: +lean_object* v_buckets_4696_; lean_object* v___x_4697_; uint64_t v___y_4699_; +v_buckets_4696_ = lean_ctor_get(v_m_4694_, 1); +v___x_4697_ = lean_array_get_size(v_buckets_4696_); +if (lean_obj_tag(v_a_4695_) == 0) { -lean_object* v___x_4707_; lean_object* v_localSpecParamInfo_4708_; lean_object* v___x_4709_; -v___x_4707_ = lean_st_ref_get(v_a_4701_); -v_localSpecParamInfo_4708_ = lean_ctor_get(v___x_4707_, 2); -lean_inc_ref(v_localSpecParamInfo_4708_); -lean_dec(v___x_4707_); -v___x_4709_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_localSpecParamInfo_4708_, v_declName_4699_); -lean_dec_ref(v_localSpecParamInfo_4708_); -if (lean_obj_tag(v___x_4709_) == 1) -{ -lean_object* v_val_4710_; lean_object* v___x_4712_; uint8_t v_isShared_4713_; uint8_t v_isSharedCheck_4720_; -v_val_4710_ = lean_ctor_get(v___x_4709_, 0); -v_isSharedCheck_4720_ = !lean_is_exclusive(v___x_4709_); -if (v_isSharedCheck_4720_ == 0) -{ -v___x_4712_ = v___x_4709_; -v_isShared_4713_ = v_isSharedCheck_4720_; -goto v_resetjp_4711_; +uint64_t v___x_4713_; +v___x_4713_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); +v___y_4699_ = v___x_4713_; +goto v___jp_4698_; } else { -lean_inc(v_val_4710_); -lean_dec(v___x_4709_); -v___x_4712_ = lean_box(0); -v_isShared_4713_ = v_isSharedCheck_4720_; -goto v_resetjp_4711_; +uint64_t v_hash_4714_; +v_hash_4714_ = lean_ctor_get_uint64(v_a_4695_, sizeof(void*)*2); +v___y_4699_ = v_hash_4714_; +goto v___jp_4698_; } -v_resetjp_4711_: +v___jp_4698_: { -uint8_t v___x_4714_; lean_object* v___x_4715_; lean_object* v___x_4717_; -v___x_4714_ = 1; -v___x_4715_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_4715_, 0, v_declName_4699_); -lean_ctor_set(v___x_4715_, 1, v_val_4710_); -lean_ctor_set_uint8(v___x_4715_, sizeof(void*)*2, v___x_4714_); -if (v_isShared_4713_ == 0) +uint64_t v___x_4700_; uint64_t v___x_4701_; uint64_t v_fold_4702_; uint64_t v___x_4703_; uint64_t v___x_4704_; uint64_t v___x_4705_; size_t v___x_4706_; size_t v___x_4707_; size_t v___x_4708_; size_t v___x_4709_; size_t v___x_4710_; lean_object* v___x_4711_; lean_object* v___x_4712_; +v___x_4700_ = 32ULL; +v___x_4701_ = lean_uint64_shift_right(v___y_4699_, v___x_4700_); +v_fold_4702_ = lean_uint64_xor(v___y_4699_, v___x_4701_); +v___x_4703_ = 16ULL; +v___x_4704_ = lean_uint64_shift_right(v_fold_4702_, v___x_4703_); +v___x_4705_ = lean_uint64_xor(v_fold_4702_, v___x_4704_); +v___x_4706_ = lean_uint64_to_usize(v___x_4705_); +v___x_4707_ = lean_usize_of_nat(v___x_4697_); +v___x_4708_ = ((size_t)1ULL); +v___x_4709_ = lean_usize_sub(v___x_4707_, v___x_4708_); +v___x_4710_ = lean_usize_land(v___x_4706_, v___x_4709_); +v___x_4711_ = lean_array_uget_borrowed(v_buckets_4696_, v___x_4710_); +v___x_4712_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4695_, v___x_4711_); +return v___x_4712_; +} +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___boxed(lean_object* v_m_4715_, lean_object* v_a_4716_){ +_start: { -lean_ctor_set(v___x_4712_, 0, v___x_4715_); -v___x_4717_ = v___x_4712_; -goto v_reusejp_4716_; +lean_object* v_res_4717_; +v_res_4717_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_m_4715_, v_a_4716_); +lean_dec(v_a_4716_); +lean_dec_ref(v_m_4715_); +return v_res_4717_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(lean_object* v_declName_4718_, lean_object* v_a_4719_, lean_object* v_a_4720_, lean_object* v_a_4721_, lean_object* v_a_4722_, lean_object* v_a_4723_, lean_object* v_a_4724_){ +_start: +{ +lean_object* v___x_4726_; lean_object* v_localSpecParamInfo_4727_; lean_object* v___x_4728_; +v___x_4726_ = lean_st_ref_get(v_a_4720_); +v_localSpecParamInfo_4727_ = lean_ctor_get(v___x_4726_, 2); +lean_inc_ref(v_localSpecParamInfo_4727_); +lean_dec(v___x_4726_); +v___x_4728_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_localSpecParamInfo_4727_, v_declName_4718_); +lean_dec_ref(v_localSpecParamInfo_4727_); +if (lean_obj_tag(v___x_4728_) == 1) +{ +lean_object* v_val_4729_; lean_object* v___x_4731_; uint8_t v_isShared_4732_; uint8_t v_isSharedCheck_4739_; +v_val_4729_ = lean_ctor_get(v___x_4728_, 0); +v_isSharedCheck_4739_ = !lean_is_exclusive(v___x_4728_); +if (v_isSharedCheck_4739_ == 0) +{ +v___x_4731_ = v___x_4728_; +v_isShared_4732_ = v_isSharedCheck_4739_; +goto v_resetjp_4730_; } else { -lean_object* v_reuseFailAlloc_4719_; -v_reuseFailAlloc_4719_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_4719_, 0, v___x_4715_); -v___x_4717_ = v_reuseFailAlloc_4719_; -goto v_reusejp_4716_; +lean_inc(v_val_4729_); +lean_dec(v___x_4728_); +v___x_4731_ = lean_box(0); +v_isShared_4732_ = v_isSharedCheck_4739_; +goto v_resetjp_4730_; } -v_reusejp_4716_: +v_resetjp_4730_: { -lean_object* v___x_4718_; -v___x_4718_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4718_, 0, v___x_4717_); -return v___x_4718_; +uint8_t v___x_4733_; lean_object* v___x_4734_; lean_object* v___x_4736_; +v___x_4733_ = 1; +v___x_4734_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_4734_, 0, v_declName_4718_); +lean_ctor_set(v___x_4734_, 1, v_val_4729_); +lean_ctor_set_uint8(v___x_4734_, sizeof(void*)*2, v___x_4733_); +if (v_isShared_4732_ == 0) +{ +lean_ctor_set(v___x_4731_, 0, v___x_4734_); +v___x_4736_ = v___x_4731_; +goto v_reusejp_4735_; +} +else +{ +lean_object* v_reuseFailAlloc_4738_; +v_reuseFailAlloc_4738_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_4738_, 0, v___x_4734_); +v___x_4736_ = v_reuseFailAlloc_4738_; +goto v_reusejp_4735_; +} +v_reusejp_4735_: +{ +lean_object* v___x_4737_; +v___x_4737_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4737_, 0, v___x_4736_); +return v___x_4737_; } } } else { -lean_object* v___x_4721_; -lean_dec(v___x_4709_); -v___x_4721_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4699_, v_a_4705_); -return v___x_4721_; +lean_object* v___x_4740_; +lean_dec(v___x_4728_); +v___x_4740_ = l_Lean_Compiler_LCNF_getSpecEntry_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__1___redArg(v_declName_4718_, v_a_4724_); +return v___x_4740_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f___boxed(lean_object* v_declName_4722_, lean_object* v_a_4723_, lean_object* v_a_4724_, lean_object* v_a_4725_, lean_object* v_a_4726_, lean_object* v_a_4727_, lean_object* v_a_4728_, lean_object* v_a_4729_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f___boxed(lean_object* v_declName_4741_, lean_object* v_a_4742_, lean_object* v_a_4743_, lean_object* v_a_4744_, lean_object* v_a_4745_, lean_object* v_a_4746_, lean_object* v_a_4747_, lean_object* v_a_4748_){ _start: { -lean_object* v_res_4730_; -v_res_4730_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(v_declName_4722_, v_a_4723_, v_a_4724_, v_a_4725_, v_a_4726_, v_a_4727_, v_a_4728_); -lean_dec(v_a_4728_); -lean_dec_ref(v_a_4727_); -lean_dec(v_a_4726_); -lean_dec_ref(v_a_4725_); -lean_dec(v_a_4724_); -lean_dec_ref(v_a_4723_); -return v_res_4730_; +lean_object* v_res_4749_; +v_res_4749_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(v_declName_4741_, v_a_4742_, v_a_4743_, v_a_4744_, v_a_4745_, v_a_4746_, v_a_4747_); +lean_dec(v_a_4747_); +lean_dec_ref(v_a_4746_); +lean_dec(v_a_4745_); +lean_dec_ref(v_a_4744_); +lean_dec(v_a_4743_); +lean_dec_ref(v_a_4742_); +return v_res_4749_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0(lean_object* v_00_u03b2_4731_, lean_object* v_m_4732_, lean_object* v_a_4733_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0(lean_object* v_00_u03b2_4750_, lean_object* v_m_4751_, lean_object* v_a_4752_){ _start: { -lean_object* v___x_4734_; -v___x_4734_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_m_4732_, v_a_4733_); -return v___x_4734_; +lean_object* v___x_4753_; +v___x_4753_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_m_4751_, v_a_4752_); +return v___x_4753_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___boxed(lean_object* v_00_u03b2_4735_, lean_object* v_m_4736_, lean_object* v_a_4737_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___boxed(lean_object* v_00_u03b2_4754_, lean_object* v_m_4755_, lean_object* v_a_4756_){ _start: { -lean_object* v_res_4738_; -v_res_4738_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0(v_00_u03b2_4735_, v_m_4736_, v_a_4737_); -lean_dec(v_a_4737_); -lean_dec_ref(v_m_4736_); -return v_res_4738_; +lean_object* v_res_4757_; +v_res_4757_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0(v_00_u03b2_4754_, v_m_4755_, v_a_4756_); +lean_dec(v_a_4756_); +lean_dec_ref(v_m_4755_); +return v_res_4757_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0(lean_object* v_00_u03b2_4739_, lean_object* v_a_4740_, lean_object* v_x_4741_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0(lean_object* v_00_u03b2_4758_, lean_object* v_a_4759_, lean_object* v_x_4760_){ _start: { -lean_object* v___x_4742_; -v___x_4742_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4740_, v_x_4741_); -return v___x_4742_; +lean_object* v___x_4761_; +v___x_4761_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___redArg(v_a_4759_, v_x_4760_); +return v___x_4761_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___boxed(lean_object* v_00_u03b2_4743_, lean_object* v_a_4744_, lean_object* v_x_4745_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0___boxed(lean_object* v_00_u03b2_4762_, lean_object* v_a_4763_, lean_object* v_x_4764_){ _start: { -lean_object* v_res_4746_; -v_res_4746_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0(v_00_u03b2_4743_, v_a_4744_, v_x_4745_); -lean_dec(v_x_4745_); -lean_dec(v_a_4744_); -return v_res_4746_; +lean_object* v_res_4765_; +v_res_4765_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0_spec__0(v_00_u03b2_4762_, v_a_4763_, v_x_4764_); +lean_dec(v_x_4764_); +lean_dec(v_a_4763_); +return v_res_4765_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg(lean_object* v_a_4747_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg(lean_object* v_a_4766_){ _start: { -lean_object* v___x_4749_; lean_object* v_processedDecls_4750_; lean_object* v_workingDecls_4751_; lean_object* v_localSpecParamInfo_4752_; lean_object* v_parentMasks_4753_; lean_object* v___x_4755_; uint8_t v_isShared_4756_; uint8_t v_isSharedCheck_4764_; -v___x_4749_ = lean_st_ref_take(v_a_4747_); -v_processedDecls_4750_ = lean_ctor_get(v___x_4749_, 0); -v_workingDecls_4751_ = lean_ctor_get(v___x_4749_, 1); -v_localSpecParamInfo_4752_ = lean_ctor_get(v___x_4749_, 2); -v_parentMasks_4753_ = lean_ctor_get(v___x_4749_, 3); -v_isSharedCheck_4764_ = !lean_is_exclusive(v___x_4749_); -if (v_isSharedCheck_4764_ == 0) +lean_object* v___x_4768_; lean_object* v_processedDecls_4769_; lean_object* v_workingDecls_4770_; lean_object* v_localSpecParamInfo_4771_; lean_object* v_parentMasks_4772_; lean_object* v___x_4774_; uint8_t v_isShared_4775_; uint8_t v_isSharedCheck_4783_; +v___x_4768_ = lean_st_ref_take(v_a_4766_); +v_processedDecls_4769_ = lean_ctor_get(v___x_4768_, 0); +v_workingDecls_4770_ = lean_ctor_get(v___x_4768_, 1); +v_localSpecParamInfo_4771_ = lean_ctor_get(v___x_4768_, 2); +v_parentMasks_4772_ = lean_ctor_get(v___x_4768_, 3); +v_isSharedCheck_4783_ = !lean_is_exclusive(v___x_4768_); +if (v_isSharedCheck_4783_ == 0) { -v___x_4755_ = v___x_4749_; -v_isShared_4756_ = v_isSharedCheck_4764_; -goto v_resetjp_4754_; +v___x_4774_ = v___x_4768_; +v_isShared_4775_ = v_isSharedCheck_4783_; +goto v_resetjp_4773_; } else { -lean_inc(v_parentMasks_4753_); -lean_inc(v_localSpecParamInfo_4752_); -lean_inc(v_workingDecls_4751_); -lean_inc(v_processedDecls_4750_); -lean_dec(v___x_4749_); -v___x_4755_ = lean_box(0); -v_isShared_4756_ = v_isSharedCheck_4764_; -goto v_resetjp_4754_; +lean_inc(v_parentMasks_4772_); +lean_inc(v_localSpecParamInfo_4771_); +lean_inc(v_workingDecls_4770_); +lean_inc(v_processedDecls_4769_); +lean_dec(v___x_4768_); +v___x_4774_ = lean_box(0); +v_isShared_4775_ = v_isSharedCheck_4783_; +goto v_resetjp_4773_; } -v_resetjp_4754_: +v_resetjp_4773_: { -uint8_t v___x_4757_; lean_object* v___x_4759_; -v___x_4757_ = 1; -if (v_isShared_4756_ == 0) +uint8_t v___x_4776_; lean_object* v___x_4778_; +v___x_4776_ = 1; +if (v_isShared_4775_ == 0) { -v___x_4759_ = v___x_4755_; -goto v_reusejp_4758_; +v___x_4778_ = v___x_4774_; +goto v_reusejp_4777_; } else { -lean_object* v_reuseFailAlloc_4763_; -v_reuseFailAlloc_4763_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_4763_, 0, v_processedDecls_4750_); -lean_ctor_set(v_reuseFailAlloc_4763_, 1, v_workingDecls_4751_); -lean_ctor_set(v_reuseFailAlloc_4763_, 2, v_localSpecParamInfo_4752_); -lean_ctor_set(v_reuseFailAlloc_4763_, 3, v_parentMasks_4753_); -v___x_4759_ = v_reuseFailAlloc_4763_; -goto v_reusejp_4758_; +lean_object* v_reuseFailAlloc_4782_; +v_reuseFailAlloc_4782_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_4782_, 0, v_processedDecls_4769_); +lean_ctor_set(v_reuseFailAlloc_4782_, 1, v_workingDecls_4770_); +lean_ctor_set(v_reuseFailAlloc_4782_, 2, v_localSpecParamInfo_4771_); +lean_ctor_set(v_reuseFailAlloc_4782_, 3, v_parentMasks_4772_); +v___x_4778_ = v_reuseFailAlloc_4782_; +goto v_reusejp_4777_; } -v_reusejp_4758_: +v_reusejp_4777_: { -lean_object* v___x_4760_; lean_object* v___x_4761_; lean_object* v___x_4762_; -lean_ctor_set_uint8(v___x_4759_, sizeof(void*)*4, v___x_4757_); -v___x_4760_ = lean_st_ref_set(v_a_4747_, v___x_4759_); -v___x_4761_ = lean_box(0); -v___x_4762_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4762_, 0, v___x_4761_); -return v___x_4762_; +lean_object* v___x_4779_; lean_object* v___x_4780_; lean_object* v___x_4781_; +lean_ctor_set_uint8(v___x_4778_, sizeof(void*)*4, v___x_4776_); +v___x_4779_ = lean_st_ref_set(v_a_4766_, v___x_4778_); +v___x_4780_ = lean_box(0); +v___x_4781_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4781_, 0, v___x_4780_); +return v___x_4781_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg___boxed(lean_object* v_a_4765_, lean_object* v_a_4766_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg___boxed(lean_object* v_a_4784_, lean_object* v_a_4785_){ _start: { -lean_object* v_res_4767_; -v_res_4767_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg(v_a_4765_); -lean_dec(v_a_4765_); -return v_res_4767_; +lean_object* v_res_4786_; +v_res_4786_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___redArg(v_a_4784_); +lean_dec(v_a_4784_); +return v_res_4786_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged(lean_object* v_a_4768_, lean_object* v_a_4769_, lean_object* v_a_4770_, lean_object* v_a_4771_, lean_object* v_a_4772_, lean_object* v_a_4773_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged(lean_object* v_a_4787_, lean_object* v_a_4788_, lean_object* v_a_4789_, lean_object* v_a_4790_, lean_object* v_a_4791_, lean_object* v_a_4792_){ _start: { -lean_object* v___x_4775_; lean_object* v_processedDecls_4776_; lean_object* v_workingDecls_4777_; lean_object* v_localSpecParamInfo_4778_; lean_object* v_parentMasks_4779_; lean_object* v___x_4781_; uint8_t v_isShared_4782_; uint8_t v_isSharedCheck_4790_; -v___x_4775_ = lean_st_ref_take(v_a_4769_); -v_processedDecls_4776_ = lean_ctor_get(v___x_4775_, 0); -v_workingDecls_4777_ = lean_ctor_get(v___x_4775_, 1); -v_localSpecParamInfo_4778_ = lean_ctor_get(v___x_4775_, 2); -v_parentMasks_4779_ = lean_ctor_get(v___x_4775_, 3); -v_isSharedCheck_4790_ = !lean_is_exclusive(v___x_4775_); -if (v_isSharedCheck_4790_ == 0) +lean_object* v___x_4794_; lean_object* v_processedDecls_4795_; lean_object* v_workingDecls_4796_; lean_object* v_localSpecParamInfo_4797_; lean_object* v_parentMasks_4798_; lean_object* v___x_4800_; uint8_t v_isShared_4801_; uint8_t v_isSharedCheck_4809_; +v___x_4794_ = lean_st_ref_take(v_a_4788_); +v_processedDecls_4795_ = lean_ctor_get(v___x_4794_, 0); +v_workingDecls_4796_ = lean_ctor_get(v___x_4794_, 1); +v_localSpecParamInfo_4797_ = lean_ctor_get(v___x_4794_, 2); +v_parentMasks_4798_ = lean_ctor_get(v___x_4794_, 3); +v_isSharedCheck_4809_ = !lean_is_exclusive(v___x_4794_); +if (v_isSharedCheck_4809_ == 0) { -v___x_4781_ = v___x_4775_; -v_isShared_4782_ = v_isSharedCheck_4790_; -goto v_resetjp_4780_; +v___x_4800_ = v___x_4794_; +v_isShared_4801_ = v_isSharedCheck_4809_; +goto v_resetjp_4799_; } else { -lean_inc(v_parentMasks_4779_); -lean_inc(v_localSpecParamInfo_4778_); -lean_inc(v_workingDecls_4777_); -lean_inc(v_processedDecls_4776_); -lean_dec(v___x_4775_); -v___x_4781_ = lean_box(0); -v_isShared_4782_ = v_isSharedCheck_4790_; -goto v_resetjp_4780_; +lean_inc(v_parentMasks_4798_); +lean_inc(v_localSpecParamInfo_4797_); +lean_inc(v_workingDecls_4796_); +lean_inc(v_processedDecls_4795_); +lean_dec(v___x_4794_); +v___x_4800_ = lean_box(0); +v_isShared_4801_ = v_isSharedCheck_4809_; +goto v_resetjp_4799_; } -v_resetjp_4780_: +v_resetjp_4799_: { -uint8_t v___x_4783_; lean_object* v___x_4785_; -v___x_4783_ = 1; -if (v_isShared_4782_ == 0) +uint8_t v___x_4802_; lean_object* v___x_4804_; +v___x_4802_ = 1; +if (v_isShared_4801_ == 0) { -v___x_4785_ = v___x_4781_; -goto v_reusejp_4784_; +v___x_4804_ = v___x_4800_; +goto v_reusejp_4803_; } else { -lean_object* v_reuseFailAlloc_4789_; -v_reuseFailAlloc_4789_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_4789_, 0, v_processedDecls_4776_); -lean_ctor_set(v_reuseFailAlloc_4789_, 1, v_workingDecls_4777_); -lean_ctor_set(v_reuseFailAlloc_4789_, 2, v_localSpecParamInfo_4778_); -lean_ctor_set(v_reuseFailAlloc_4789_, 3, v_parentMasks_4779_); -v___x_4785_ = v_reuseFailAlloc_4789_; -goto v_reusejp_4784_; +lean_object* v_reuseFailAlloc_4808_; +v_reuseFailAlloc_4808_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_4808_, 0, v_processedDecls_4795_); +lean_ctor_set(v_reuseFailAlloc_4808_, 1, v_workingDecls_4796_); +lean_ctor_set(v_reuseFailAlloc_4808_, 2, v_localSpecParamInfo_4797_); +lean_ctor_set(v_reuseFailAlloc_4808_, 3, v_parentMasks_4798_); +v___x_4804_ = v_reuseFailAlloc_4808_; +goto v_reusejp_4803_; } -v_reusejp_4784_: +v_reusejp_4803_: { -lean_object* v___x_4786_; lean_object* v___x_4787_; lean_object* v___x_4788_; -lean_ctor_set_uint8(v___x_4785_, sizeof(void*)*4, v___x_4783_); -v___x_4786_ = lean_st_ref_set(v_a_4769_, v___x_4785_); -v___x_4787_ = lean_box(0); -v___x_4788_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4788_, 0, v___x_4787_); -return v___x_4788_; +lean_object* v___x_4805_; lean_object* v___x_4806_; lean_object* v___x_4807_; +lean_ctor_set_uint8(v___x_4804_, sizeof(void*)*4, v___x_4802_); +v___x_4805_ = lean_st_ref_set(v_a_4788_, v___x_4804_); +v___x_4806_ = lean_box(0); +v___x_4807_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4807_, 0, v___x_4806_); +return v___x_4807_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___boxed(lean_object* v_a_4791_, lean_object* v_a_4792_, lean_object* v_a_4793_, lean_object* v_a_4794_, lean_object* v_a_4795_, lean_object* v_a_4796_, lean_object* v_a_4797_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged___boxed(lean_object* v_a_4810_, lean_object* v_a_4811_, lean_object* v_a_4812_, lean_object* v_a_4813_, lean_object* v_a_4814_, lean_object* v_a_4815_, lean_object* v_a_4816_){ _start: { -lean_object* v_res_4798_; -v_res_4798_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged(v_a_4791_, v_a_4792_, v_a_4793_, v_a_4794_, v_a_4795_, v_a_4796_); -lean_dec(v_a_4796_); -lean_dec_ref(v_a_4795_); -lean_dec(v_a_4794_); -lean_dec_ref(v_a_4793_); -lean_dec(v_a_4792_); -lean_dec_ref(v_a_4791_); -return v_res_4798_; +lean_object* v_res_4817_; +v_res_4817_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_markChanged(v_a_4810_, v_a_4811_, v_a_4812_, v_a_4813_, v_a_4814_, v_a_4815_); +lean_dec(v_a_4815_); +lean_dec_ref(v_a_4814_); +lean_dec(v_a_4813_); +lean_dec_ref(v_a_4812_); +lean_dec(v_a_4811_); +lean_dec_ref(v_a_4810_); +return v_res_4817_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg(lean_object* v_a_4799_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg(lean_object* v_a_4818_){ _start: { -lean_object* v___x_4801_; lean_object* v_processedDecls_4802_; lean_object* v_workingDecls_4803_; lean_object* v_localSpecParamInfo_4804_; lean_object* v_parentMasks_4805_; lean_object* v___x_4807_; uint8_t v_isShared_4808_; uint8_t v_isSharedCheck_4816_; -v___x_4801_ = lean_st_ref_take(v_a_4799_); -v_processedDecls_4802_ = lean_ctor_get(v___x_4801_, 0); -v_workingDecls_4803_ = lean_ctor_get(v___x_4801_, 1); -v_localSpecParamInfo_4804_ = lean_ctor_get(v___x_4801_, 2); -v_parentMasks_4805_ = lean_ctor_get(v___x_4801_, 3); -v_isSharedCheck_4816_ = !lean_is_exclusive(v___x_4801_); -if (v_isSharedCheck_4816_ == 0) +lean_object* v___x_4820_; lean_object* v_processedDecls_4821_; lean_object* v_workingDecls_4822_; lean_object* v_localSpecParamInfo_4823_; lean_object* v_parentMasks_4824_; lean_object* v___x_4826_; uint8_t v_isShared_4827_; uint8_t v_isSharedCheck_4835_; +v___x_4820_ = lean_st_ref_take(v_a_4818_); +v_processedDecls_4821_ = lean_ctor_get(v___x_4820_, 0); +v_workingDecls_4822_ = lean_ctor_get(v___x_4820_, 1); +v_localSpecParamInfo_4823_ = lean_ctor_get(v___x_4820_, 2); +v_parentMasks_4824_ = lean_ctor_get(v___x_4820_, 3); +v_isSharedCheck_4835_ = !lean_is_exclusive(v___x_4820_); +if (v_isSharedCheck_4835_ == 0) { -v___x_4807_ = v___x_4801_; -v_isShared_4808_ = v_isSharedCheck_4816_; -goto v_resetjp_4806_; +v___x_4826_ = v___x_4820_; +v_isShared_4827_ = v_isSharedCheck_4835_; +goto v_resetjp_4825_; } else { -lean_inc(v_parentMasks_4805_); -lean_inc(v_localSpecParamInfo_4804_); -lean_inc(v_workingDecls_4803_); -lean_inc(v_processedDecls_4802_); -lean_dec(v___x_4801_); -v___x_4807_ = lean_box(0); -v_isShared_4808_ = v_isSharedCheck_4816_; -goto v_resetjp_4806_; +lean_inc(v_parentMasks_4824_); +lean_inc(v_localSpecParamInfo_4823_); +lean_inc(v_workingDecls_4822_); +lean_inc(v_processedDecls_4821_); +lean_dec(v___x_4820_); +v___x_4826_ = lean_box(0); +v_isShared_4827_ = v_isSharedCheck_4835_; +goto v_resetjp_4825_; } -v_resetjp_4806_: +v_resetjp_4825_: { -uint8_t v___x_4809_; lean_object* v___x_4811_; -v___x_4809_ = 0; -if (v_isShared_4808_ == 0) +uint8_t v___x_4828_; lean_object* v___x_4830_; +v___x_4828_ = 0; +if (v_isShared_4827_ == 0) { -v___x_4811_ = v___x_4807_; -goto v_reusejp_4810_; +v___x_4830_ = v___x_4826_; +goto v_reusejp_4829_; } else { -lean_object* v_reuseFailAlloc_4815_; -v_reuseFailAlloc_4815_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_4815_, 0, v_processedDecls_4802_); -lean_ctor_set(v_reuseFailAlloc_4815_, 1, v_workingDecls_4803_); -lean_ctor_set(v_reuseFailAlloc_4815_, 2, v_localSpecParamInfo_4804_); -lean_ctor_set(v_reuseFailAlloc_4815_, 3, v_parentMasks_4805_); -v___x_4811_ = v_reuseFailAlloc_4815_; -goto v_reusejp_4810_; +lean_object* v_reuseFailAlloc_4834_; +v_reuseFailAlloc_4834_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_4834_, 0, v_processedDecls_4821_); +lean_ctor_set(v_reuseFailAlloc_4834_, 1, v_workingDecls_4822_); +lean_ctor_set(v_reuseFailAlloc_4834_, 2, v_localSpecParamInfo_4823_); +lean_ctor_set(v_reuseFailAlloc_4834_, 3, v_parentMasks_4824_); +v___x_4830_ = v_reuseFailAlloc_4834_; +goto v_reusejp_4829_; } -v_reusejp_4810_: +v_reusejp_4829_: { -lean_object* v___x_4812_; lean_object* v___x_4813_; lean_object* v___x_4814_; -lean_ctor_set_uint8(v___x_4811_, sizeof(void*)*4, v___x_4809_); -v___x_4812_ = lean_st_ref_set(v_a_4799_, v___x_4811_); -v___x_4813_ = lean_box(0); -v___x_4814_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4814_, 0, v___x_4813_); -return v___x_4814_; +lean_object* v___x_4831_; lean_object* v___x_4832_; lean_object* v___x_4833_; +lean_ctor_set_uint8(v___x_4830_, sizeof(void*)*4, v___x_4828_); +v___x_4831_ = lean_st_ref_set(v_a_4818_, v___x_4830_); +v___x_4832_ = lean_box(0); +v___x_4833_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4833_, 0, v___x_4832_); +return v___x_4833_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg___boxed(lean_object* v_a_4817_, lean_object* v_a_4818_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg___boxed(lean_object* v_a_4836_, lean_object* v_a_4837_){ _start: { -lean_object* v_res_4819_; -v_res_4819_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg(v_a_4817_); -lean_dec(v_a_4817_); -return v_res_4819_; +lean_object* v_res_4838_; +v_res_4838_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___redArg(v_a_4836_); +lean_dec(v_a_4836_); +return v_res_4838_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged(lean_object* v_a_4820_, lean_object* v_a_4821_, lean_object* v_a_4822_, lean_object* v_a_4823_, lean_object* v_a_4824_, lean_object* v_a_4825_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged(lean_object* v_a_4839_, lean_object* v_a_4840_, lean_object* v_a_4841_, lean_object* v_a_4842_, lean_object* v_a_4843_, lean_object* v_a_4844_){ _start: { -lean_object* v___x_4827_; lean_object* v_processedDecls_4828_; lean_object* v_workingDecls_4829_; lean_object* v_localSpecParamInfo_4830_; lean_object* v_parentMasks_4831_; lean_object* v___x_4833_; uint8_t v_isShared_4834_; uint8_t v_isSharedCheck_4842_; -v___x_4827_ = lean_st_ref_take(v_a_4821_); -v_processedDecls_4828_ = lean_ctor_get(v___x_4827_, 0); -v_workingDecls_4829_ = lean_ctor_get(v___x_4827_, 1); -v_localSpecParamInfo_4830_ = lean_ctor_get(v___x_4827_, 2); -v_parentMasks_4831_ = lean_ctor_get(v___x_4827_, 3); -v_isSharedCheck_4842_ = !lean_is_exclusive(v___x_4827_); -if (v_isSharedCheck_4842_ == 0) +lean_object* v___x_4846_; lean_object* v_processedDecls_4847_; lean_object* v_workingDecls_4848_; lean_object* v_localSpecParamInfo_4849_; lean_object* v_parentMasks_4850_; lean_object* v___x_4852_; uint8_t v_isShared_4853_; uint8_t v_isSharedCheck_4861_; +v___x_4846_ = lean_st_ref_take(v_a_4840_); +v_processedDecls_4847_ = lean_ctor_get(v___x_4846_, 0); +v_workingDecls_4848_ = lean_ctor_get(v___x_4846_, 1); +v_localSpecParamInfo_4849_ = lean_ctor_get(v___x_4846_, 2); +v_parentMasks_4850_ = lean_ctor_get(v___x_4846_, 3); +v_isSharedCheck_4861_ = !lean_is_exclusive(v___x_4846_); +if (v_isSharedCheck_4861_ == 0) { -v___x_4833_ = v___x_4827_; -v_isShared_4834_ = v_isSharedCheck_4842_; -goto v_resetjp_4832_; +v___x_4852_ = v___x_4846_; +v_isShared_4853_ = v_isSharedCheck_4861_; +goto v_resetjp_4851_; } else { -lean_inc(v_parentMasks_4831_); -lean_inc(v_localSpecParamInfo_4830_); -lean_inc(v_workingDecls_4829_); -lean_inc(v_processedDecls_4828_); -lean_dec(v___x_4827_); -v___x_4833_ = lean_box(0); -v_isShared_4834_ = v_isSharedCheck_4842_; -goto v_resetjp_4832_; +lean_inc(v_parentMasks_4850_); +lean_inc(v_localSpecParamInfo_4849_); +lean_inc(v_workingDecls_4848_); +lean_inc(v_processedDecls_4847_); +lean_dec(v___x_4846_); +v___x_4852_ = lean_box(0); +v_isShared_4853_ = v_isSharedCheck_4861_; +goto v_resetjp_4851_; } -v_resetjp_4832_: +v_resetjp_4851_: { -uint8_t v___x_4835_; lean_object* v___x_4837_; -v___x_4835_ = 0; -if (v_isShared_4834_ == 0) +uint8_t v___x_4854_; lean_object* v___x_4856_; +v___x_4854_ = 0; +if (v_isShared_4853_ == 0) { -v___x_4837_ = v___x_4833_; -goto v_reusejp_4836_; +v___x_4856_ = v___x_4852_; +goto v_reusejp_4855_; } else { -lean_object* v_reuseFailAlloc_4841_; -v_reuseFailAlloc_4841_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_4841_, 0, v_processedDecls_4828_); -lean_ctor_set(v_reuseFailAlloc_4841_, 1, v_workingDecls_4829_); -lean_ctor_set(v_reuseFailAlloc_4841_, 2, v_localSpecParamInfo_4830_); -lean_ctor_set(v_reuseFailAlloc_4841_, 3, v_parentMasks_4831_); -v___x_4837_ = v_reuseFailAlloc_4841_; -goto v_reusejp_4836_; +lean_object* v_reuseFailAlloc_4860_; +v_reuseFailAlloc_4860_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_4860_, 0, v_processedDecls_4847_); +lean_ctor_set(v_reuseFailAlloc_4860_, 1, v_workingDecls_4848_); +lean_ctor_set(v_reuseFailAlloc_4860_, 2, v_localSpecParamInfo_4849_); +lean_ctor_set(v_reuseFailAlloc_4860_, 3, v_parentMasks_4850_); +v___x_4856_ = v_reuseFailAlloc_4860_; +goto v_reusejp_4855_; } -v_reusejp_4836_: +v_reusejp_4855_: { -lean_object* v___x_4838_; lean_object* v___x_4839_; lean_object* v___x_4840_; -lean_ctor_set_uint8(v___x_4837_, sizeof(void*)*4, v___x_4835_); -v___x_4838_ = lean_st_ref_set(v_a_4821_, v___x_4837_); -v___x_4839_ = lean_box(0); -v___x_4840_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4840_, 0, v___x_4839_); -return v___x_4840_; +lean_object* v___x_4857_; lean_object* v___x_4858_; lean_object* v___x_4859_; +lean_ctor_set_uint8(v___x_4856_, sizeof(void*)*4, v___x_4854_); +v___x_4857_ = lean_st_ref_set(v_a_4840_, v___x_4856_); +v___x_4858_ = lean_box(0); +v___x_4859_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4859_, 0, v___x_4858_); +return v___x_4859_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___boxed(lean_object* v_a_4843_, lean_object* v_a_4844_, lean_object* v_a_4845_, lean_object* v_a_4846_, lean_object* v_a_4847_, lean_object* v_a_4848_, lean_object* v_a_4849_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged___boxed(lean_object* v_a_4862_, lean_object* v_a_4863_, lean_object* v_a_4864_, lean_object* v_a_4865_, lean_object* v_a_4866_, lean_object* v_a_4867_, lean_object* v_a_4868_){ _start: { -lean_object* v_res_4850_; -v_res_4850_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged(v_a_4843_, v_a_4844_, v_a_4845_, v_a_4846_, v_a_4847_, v_a_4848_); -lean_dec(v_a_4848_); -lean_dec_ref(v_a_4847_); -lean_dec(v_a_4846_); -lean_dec_ref(v_a_4845_); -lean_dec(v_a_4844_); -lean_dec_ref(v_a_4843_); -return v_res_4850_; +lean_object* v_res_4869_; +v_res_4869_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_resetChanged(v_a_4862_, v_a_4863_, v_a_4864_, v_a_4865_, v_a_4866_, v_a_4867_); +lean_dec(v_a_4867_); +lean_dec_ref(v_a_4866_); +lean_dec(v_a_4865_); +lean_dec_ref(v_a_4864_); +lean_dec(v_a_4863_); +lean_dec_ref(v_a_4862_); +return v_res_4869_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg(lean_object* v_a_4851_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg(lean_object* v_a_4870_){ _start: { -lean_object* v___x_4853_; uint8_t v_changed_4854_; lean_object* v___x_4855_; lean_object* v___x_4856_; -v___x_4853_ = lean_st_ref_get(v_a_4851_); -v_changed_4854_ = lean_ctor_get_uint8(v___x_4853_, sizeof(void*)*4); -lean_dec(v___x_4853_); -v___x_4855_ = lean_box(v_changed_4854_); -v___x_4856_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4856_, 0, v___x_4855_); -return v___x_4856_; +lean_object* v___x_4872_; uint8_t v_changed_4873_; lean_object* v___x_4874_; lean_object* v___x_4875_; +v___x_4872_ = lean_st_ref_get(v_a_4870_); +v_changed_4873_ = lean_ctor_get_uint8(v___x_4872_, sizeof(void*)*4); +lean_dec(v___x_4872_); +v___x_4874_ = lean_box(v_changed_4873_); +v___x_4875_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4875_, 0, v___x_4874_); +return v___x_4875_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg___boxed(lean_object* v_a_4857_, lean_object* v_a_4858_){ -_start: -{ -lean_object* v_res_4859_; -v_res_4859_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg(v_a_4857_); -lean_dec(v_a_4857_); -return v_res_4859_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged(lean_object* v_a_4860_, lean_object* v_a_4861_, lean_object* v_a_4862_, lean_object* v_a_4863_, lean_object* v_a_4864_, lean_object* v_a_4865_){ -_start: -{ -lean_object* v___x_4867_; uint8_t v_changed_4868_; lean_object* v___x_4869_; lean_object* v___x_4870_; -v___x_4867_ = lean_st_ref_get(v_a_4861_); -v_changed_4868_ = lean_ctor_get_uint8(v___x_4867_, sizeof(void*)*4); -lean_dec(v___x_4867_); -v___x_4869_ = lean_box(v_changed_4868_); -v___x_4870_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4870_, 0, v___x_4869_); -return v___x_4870_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___boxed(lean_object* v_a_4871_, lean_object* v_a_4872_, lean_object* v_a_4873_, lean_object* v_a_4874_, lean_object* v_a_4875_, lean_object* v_a_4876_, lean_object* v_a_4877_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg___boxed(lean_object* v_a_4876_, lean_object* v_a_4877_){ _start: { lean_object* v_res_4878_; -v_res_4878_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged(v_a_4871_, v_a_4872_, v_a_4873_, v_a_4874_, v_a_4875_, v_a_4876_); +v_res_4878_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___redArg(v_a_4876_); lean_dec(v_a_4876_); -lean_dec_ref(v_a_4875_); -lean_dec(v_a_4874_); -lean_dec_ref(v_a_4873_); -lean_dec(v_a_4872_); -lean_dec_ref(v_a_4871_); return v_res_4878_; } } -LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(lean_object* v_declName_4879_, lean_object* v___y_4880_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged(lean_object* v_a_4879_, lean_object* v_a_4880_, lean_object* v_a_4881_, lean_object* v_a_4882_, lean_object* v_a_4883_, lean_object* v_a_4884_){ _start: { -lean_object* v___x_4882_; lean_object* v_env_4883_; uint8_t v___x_4884_; lean_object* v___x_4885_; lean_object* v___x_4886_; -v___x_4882_ = lean_st_ref_get(v___y_4880_); -v_env_4883_ = lean_ctor_get(v___x_4882_, 0); -lean_inc_ref(v_env_4883_); -lean_dec(v___x_4882_); -v___x_4884_ = l_Lean_isImplicitReducibleCore(v_env_4883_, v_declName_4879_); -v___x_4885_ = lean_box(v___x_4884_); -v___x_4886_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4886_, 0, v___x_4885_); -return v___x_4886_; +lean_object* v___x_4886_; uint8_t v_changed_4887_; lean_object* v___x_4888_; lean_object* v___x_4889_; +v___x_4886_ = lean_st_ref_get(v_a_4880_); +v_changed_4887_ = lean_ctor_get_uint8(v___x_4886_, sizeof(void*)*4); +lean_dec(v___x_4886_); +v___x_4888_ = lean_box(v_changed_4887_); +v___x_4889_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4889_, 0, v___x_4888_); +return v___x_4889_; } } -LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg___boxed(lean_object* v_declName_4887_, lean_object* v___y_4888_, lean_object* v___y_4889_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged___boxed(lean_object* v_a_4890_, lean_object* v_a_4891_, lean_object* v_a_4892_, lean_object* v_a_4893_, lean_object* v_a_4894_, lean_object* v_a_4895_, lean_object* v_a_4896_){ _start: { -lean_object* v_res_4890_; -v_res_4890_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_4887_, v___y_4888_); -lean_dec(v___y_4888_); -return v_res_4890_; +lean_object* v_res_4897_; +v_res_4897_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_hasChanged(v_a_4890_, v_a_4891_, v_a_4892_, v_a_4893_, v_a_4894_, v_a_4895_); +lean_dec(v_a_4895_); +lean_dec_ref(v_a_4894_); +lean_dec(v_a_4893_); +lean_dec_ref(v_a_4892_); +lean_dec(v_a_4891_); +lean_dec_ref(v_a_4890_); +return v_res_4897_; } } -LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0(lean_object* v_declName_4891_, lean_object* v___y_4892_, lean_object* v___y_4893_, lean_object* v___y_4894_, lean_object* v___y_4895_, lean_object* v___y_4896_, lean_object* v___y_4897_){ +LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(lean_object* v_declName_4898_, lean_object* v___y_4899_){ _start: { -lean_object* v___x_4899_; -v___x_4899_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_4891_, v___y_4897_); -return v___x_4899_; +lean_object* v___x_4901_; lean_object* v_env_4902_; uint8_t v___x_4903_; lean_object* v___x_4904_; lean_object* v___x_4905_; +v___x_4901_ = lean_st_ref_get(v___y_4899_); +v_env_4902_ = lean_ctor_get(v___x_4901_, 0); +lean_inc_ref(v_env_4902_); +lean_dec(v___x_4901_); +v___x_4903_ = l_Lean_isImplicitReducibleCore(v_env_4902_, v_declName_4898_); +v___x_4904_ = lean_box(v___x_4903_); +v___x_4905_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4905_, 0, v___x_4904_); +return v___x_4905_; } } -LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___boxed(lean_object* v_declName_4900_, lean_object* v___y_4901_, lean_object* v___y_4902_, lean_object* v___y_4903_, lean_object* v___y_4904_, lean_object* v___y_4905_, lean_object* v___y_4906_, lean_object* v___y_4907_){ +LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg___boxed(lean_object* v_declName_4906_, lean_object* v___y_4907_, lean_object* v___y_4908_){ _start: { -lean_object* v_res_4908_; -v_res_4908_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0(v_declName_4900_, v___y_4901_, v___y_4902_, v___y_4903_, v___y_4904_, v___y_4905_, v___y_4906_); -lean_dec(v___y_4906_); -lean_dec_ref(v___y_4905_); -lean_dec(v___y_4904_); -lean_dec_ref(v___y_4903_); -lean_dec(v___y_4902_); -lean_dec_ref(v___y_4901_); -return v_res_4908_; +lean_object* v_res_4909_; +v_res_4909_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_4906_, v___y_4907_); +lean_dec(v___y_4907_); +return v_res_4909_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(lean_object* v_cls_4912_, lean_object* v___y_4913_){ +LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0(lean_object* v_declName_4910_, lean_object* v___y_4911_, lean_object* v___y_4912_, lean_object* v___y_4913_, lean_object* v___y_4914_, lean_object* v___y_4915_, lean_object* v___y_4916_){ _start: { -lean_object* v_options_4915_; uint8_t v_hasTrace_4916_; -v_options_4915_ = lean_ctor_get(v___y_4913_, 2); -v_hasTrace_4916_ = lean_ctor_get_uint8(v_options_4915_, sizeof(void*)*1); -if (v_hasTrace_4916_ == 0) -{ -lean_object* v___x_4917_; lean_object* v___x_4918_; -lean_dec(v_cls_4912_); -v___x_4917_ = lean_box(v_hasTrace_4916_); -v___x_4918_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4918_, 0, v___x_4917_); +lean_object* v___x_4918_; +v___x_4918_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_4910_, v___y_4916_); return v___x_4918_; } +} +LEAN_EXPORT lean_object* l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___boxed(lean_object* v_declName_4919_, lean_object* v___y_4920_, lean_object* v___y_4921_, lean_object* v___y_4922_, lean_object* v___y_4923_, lean_object* v___y_4924_, lean_object* v___y_4925_, lean_object* v___y_4926_){ +_start: +{ +lean_object* v_res_4927_; +v_res_4927_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0(v_declName_4919_, v___y_4920_, v___y_4921_, v___y_4922_, v___y_4923_, v___y_4924_, v___y_4925_); +lean_dec(v___y_4925_); +lean_dec_ref(v___y_4924_); +lean_dec(v___y_4923_); +lean_dec_ref(v___y_4922_); +lean_dec(v___y_4921_); +lean_dec_ref(v___y_4920_); +return v_res_4927_; +} +} +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(lean_object* v_cls_4931_, lean_object* v___y_4932_){ +_start: +{ +lean_object* v_options_4934_; uint8_t v_hasTrace_4935_; +v_options_4934_ = lean_ctor_get(v___y_4932_, 2); +v_hasTrace_4935_ = lean_ctor_get_uint8(v_options_4934_, sizeof(void*)*1); +if (v_hasTrace_4935_ == 0) +{ +lean_object* v___x_4936_; lean_object* v___x_4937_; +lean_dec(v_cls_4931_); +v___x_4936_ = lean_box(v_hasTrace_4935_); +v___x_4937_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4937_, 0, v___x_4936_); +return v___x_4937_; +} else { -lean_object* v_inheritedTraceOptions_4919_; lean_object* v___x_4920_; lean_object* v___x_4921_; uint8_t v___x_4922_; lean_object* v___x_4923_; lean_object* v___x_4924_; -v_inheritedTraceOptions_4919_ = lean_ctor_get(v___y_4913_, 13); -v___x_4920_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg___closed__1)); -v___x_4921_ = l_Lean_Name_append(v___x_4920_, v_cls_4912_); -v___x_4922_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_4919_, v_options_4915_, v___x_4921_); -lean_dec(v___x_4921_); -v___x_4923_ = lean_box(v___x_4922_); -v___x_4924_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4924_, 0, v___x_4923_); -return v___x_4924_; +lean_object* v_inheritedTraceOptions_4938_; lean_object* v___x_4939_; lean_object* v___x_4940_; uint8_t v___x_4941_; lean_object* v___x_4942_; lean_object* v___x_4943_; +v_inheritedTraceOptions_4938_ = lean_ctor_get(v___y_4932_, 13); +v___x_4939_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg___closed__1)); +v___x_4940_ = l_Lean_Name_append(v___x_4939_, v_cls_4931_); +v___x_4941_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_4938_, v_options_4934_, v___x_4940_); +lean_dec(v___x_4940_); +v___x_4942_ = lean_box(v___x_4941_); +v___x_4943_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4943_, 0, v___x_4942_); +return v___x_4943_; } } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg___boxed(lean_object* v_cls_4925_, lean_object* v___y_4926_, lean_object* v___y_4927_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg___boxed(lean_object* v_cls_4944_, lean_object* v___y_4945_, lean_object* v___y_4946_){ _start: { -lean_object* v_res_4928_; -v_res_4928_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_4925_, v___y_4926_); -lean_dec_ref(v___y_4926_); -return v_res_4928_; +lean_object* v_res_4947_; +v_res_4947_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_4944_, v___y_4945_); +lean_dec_ref(v___y_4945_); +return v_res_4947_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4(lean_object* v_cls_4929_, lean_object* v___y_4930_, lean_object* v___y_4931_, lean_object* v___y_4932_, lean_object* v___y_4933_, lean_object* v___y_4934_, lean_object* v___y_4935_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4(lean_object* v_cls_4948_, lean_object* v___y_4949_, lean_object* v___y_4950_, lean_object* v___y_4951_, lean_object* v___y_4952_, lean_object* v___y_4953_, lean_object* v___y_4954_){ _start: { -lean_object* v___x_4937_; -v___x_4937_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_4929_, v___y_4934_); -return v___x_4937_; +lean_object* v___x_4956_; +v___x_4956_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_4948_, v___y_4953_); +return v___x_4956_; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___boxed(lean_object* v_cls_4938_, lean_object* v___y_4939_, lean_object* v___y_4940_, lean_object* v___y_4941_, lean_object* v___y_4942_, lean_object* v___y_4943_, lean_object* v___y_4944_, lean_object* v___y_4945_){ +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___boxed(lean_object* v_cls_4957_, lean_object* v___y_4958_, lean_object* v___y_4959_, lean_object* v___y_4960_, lean_object* v___y_4961_, lean_object* v___y_4962_, lean_object* v___y_4963_, lean_object* v___y_4964_){ _start: { -lean_object* v_res_4946_; -v_res_4946_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4(v_cls_4938_, v___y_4939_, v___y_4940_, v___y_4941_, v___y_4942_, v___y_4943_, v___y_4944_); -lean_dec(v___y_4944_); -lean_dec_ref(v___y_4943_); -lean_dec(v___y_4942_); -lean_dec_ref(v___y_4941_); -lean_dec(v___y_4940_); -lean_dec_ref(v___y_4939_); -return v_res_4946_; +lean_object* v_res_4965_; +v_res_4965_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4(v_cls_4957_, v___y_4958_, v___y_4959_, v___y_4960_, v___y_4961_, v___y_4962_, v___y_4963_); +lean_dec(v___y_4963_); +lean_dec_ref(v___y_4962_); +lean_dec(v___y_4961_); +lean_dec_ref(v___y_4960_); +lean_dec(v___y_4959_); +lean_dec_ref(v___y_4958_); +return v_res_4965_; } } static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0(void){ _start: { -lean_object* v___x_4947_; -v___x_4947_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_4947_; +lean_object* v___x_4966_; +v___x_4966_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_4966_; } } static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1(void){ _start: { -lean_object* v___x_4948_; lean_object* v___x_4949_; -v___x_4948_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0); -v___x_4949_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_4949_, 0, v___x_4948_); -return v___x_4949_; +lean_object* v___x_4967_; lean_object* v___x_4968_; +v___x_4967_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__0); +v___x_4968_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_4968_, 0, v___x_4967_); +return v___x_4968_; } } static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2(void){ _start: { -lean_object* v___x_4950_; lean_object* v___x_4951_; lean_object* v___x_4952_; -v___x_4950_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1); -v___x_4951_ = lean_unsigned_to_nat(0u); -v___x_4952_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v___x_4952_, 0, v___x_4951_); -lean_ctor_set(v___x_4952_, 1, v___x_4951_); -lean_ctor_set(v___x_4952_, 2, v___x_4951_); -lean_ctor_set(v___x_4952_, 3, v___x_4950_); -lean_ctor_set(v___x_4952_, 4, v___x_4950_); -lean_ctor_set(v___x_4952_, 5, v___x_4950_); -lean_ctor_set(v___x_4952_, 6, v___x_4950_); -lean_ctor_set(v___x_4952_, 7, v___x_4950_); -lean_ctor_set(v___x_4952_, 8, v___x_4950_); -return v___x_4952_; +lean_object* v___x_4969_; lean_object* v___x_4970_; lean_object* v___x_4971_; +v___x_4969_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__1); +v___x_4970_ = lean_unsigned_to_nat(0u); +v___x_4971_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v___x_4971_, 0, v___x_4970_); +lean_ctor_set(v___x_4971_, 1, v___x_4970_); +lean_ctor_set(v___x_4971_, 2, v___x_4970_); +lean_ctor_set(v___x_4971_, 3, v___x_4969_); +lean_ctor_set(v___x_4971_, 4, v___x_4969_); +lean_ctor_set(v___x_4971_, 5, v___x_4969_); +lean_ctor_set(v___x_4971_, 6, v___x_4969_); +lean_ctor_set(v___x_4971_, 7, v___x_4969_); +lean_ctor_set(v___x_4971_, 8, v___x_4969_); +return v___x_4971_; } } static double _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3(void){ _start: { -lean_object* v___x_4953_; double v___x_4954_; -v___x_4953_ = lean_unsigned_to_nat(0u); -v___x_4954_ = lean_float_of_nat(v___x_4953_); -return v___x_4954_; +lean_object* v___x_4972_; double v___x_4973_; +v___x_4972_ = lean_unsigned_to_nat(0u); +v___x_4973_ = lean_float_of_nat(v___x_4972_); +return v___x_4973_; } } -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(lean_object* v_cls_4958_, lean_object* v_msg_4959_, lean_object* v___y_4960_, lean_object* v___y_4961_, lean_object* v___y_4962_, lean_object* v___y_4963_){ +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(lean_object* v_cls_4977_, lean_object* v_msg_4978_, lean_object* v___y_4979_, lean_object* v___y_4980_, lean_object* v___y_4981_, lean_object* v___y_4982_){ _start: { -lean_object* v_options_4965_; lean_object* v_ref_4966_; lean_object* v___x_4967_; lean_object* v___x_4968_; lean_object* v___x_4969_; -v_options_4965_ = lean_ctor_get(v___y_4962_, 2); -v_ref_4966_ = lean_ctor_get(v___y_4962_, 5); -v___x_4967_ = lean_st_ref_get(v___y_4963_); -v___x_4968_ = lean_st_ref_get(v___y_4961_); -v___x_4969_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_4960_); -if (lean_obj_tag(v___x_4969_) == 0) +lean_object* v_options_4984_; lean_object* v_ref_4985_; lean_object* v___x_4986_; lean_object* v___x_4987_; lean_object* v___x_4988_; +v_options_4984_ = lean_ctor_get(v___y_4981_, 2); +v_ref_4985_ = lean_ctor_get(v___y_4981_, 5); +v___x_4986_ = lean_st_ref_get(v___y_4982_); +v___x_4987_ = lean_st_ref_get(v___y_4980_); +v___x_4988_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_4979_); +if (lean_obj_tag(v___x_4988_) == 0) { -lean_object* v_a_4970_; lean_object* v___x_4972_; uint8_t v_isShared_4973_; uint8_t v_isSharedCheck_5028_; -v_a_4970_ = lean_ctor_get(v___x_4969_, 0); -v_isSharedCheck_5028_ = !lean_is_exclusive(v___x_4969_); -if (v_isSharedCheck_5028_ == 0) +lean_object* v_a_4989_; lean_object* v___x_4991_; uint8_t v_isShared_4992_; uint8_t v_isSharedCheck_5047_; +v_a_4989_ = lean_ctor_get(v___x_4988_, 0); +v_isSharedCheck_5047_ = !lean_is_exclusive(v___x_4988_); +if (v_isSharedCheck_5047_ == 0) { -v___x_4972_ = v___x_4969_; -v_isShared_4973_ = v_isSharedCheck_5028_; -goto v_resetjp_4971_; -} -else -{ -lean_inc(v_a_4970_); -lean_dec(v___x_4969_); -v___x_4972_ = lean_box(0); -v_isShared_4973_ = v_isSharedCheck_5028_; -goto v_resetjp_4971_; -} -v_resetjp_4971_: -{ -lean_object* v_env_4974_; lean_object* v_lctx_4975_; lean_object* v___x_4977_; uint8_t v_isShared_4978_; uint8_t v_isSharedCheck_5026_; -v_env_4974_ = lean_ctor_get(v___x_4967_, 0); -lean_inc_ref(v_env_4974_); -lean_dec(v___x_4967_); -v_lctx_4975_ = lean_ctor_get(v___x_4968_, 0); -v_isSharedCheck_5026_ = !lean_is_exclusive(v___x_4968_); -if (v_isSharedCheck_5026_ == 0) -{ -lean_object* v_unused_5027_; -v_unused_5027_ = lean_ctor_get(v___x_4968_, 1); -lean_dec(v_unused_5027_); -v___x_4977_ = v___x_4968_; -v_isShared_4978_ = v_isSharedCheck_5026_; -goto v_resetjp_4976_; -} -else -{ -lean_inc(v_lctx_4975_); -lean_dec(v___x_4968_); -v___x_4977_ = lean_box(0); -v_isShared_4978_ = v_isSharedCheck_5026_; -goto v_resetjp_4976_; -} -v_resetjp_4976_: -{ -lean_object* v___x_4979_; lean_object* v___x_4980_; lean_object* v_traceState_4981_; lean_object* v_env_4982_; lean_object* v_nextMacroScope_4983_; lean_object* v_ngen_4984_; lean_object* v_auxDeclNGen_4985_; lean_object* v_cache_4986_; lean_object* v_messages_4987_; lean_object* v_infoState_4988_; lean_object* v_snapshotTasks_4989_; lean_object* v___x_4991_; uint8_t v_isShared_4992_; uint8_t v_isSharedCheck_5025_; -v___x_4979_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2); -v___x_4980_ = lean_st_ref_take(v___y_4963_); -v_traceState_4981_ = lean_ctor_get(v___x_4980_, 4); -v_env_4982_ = lean_ctor_get(v___x_4980_, 0); -v_nextMacroScope_4983_ = lean_ctor_get(v___x_4980_, 1); -v_ngen_4984_ = lean_ctor_get(v___x_4980_, 2); -v_auxDeclNGen_4985_ = lean_ctor_get(v___x_4980_, 3); -v_cache_4986_ = lean_ctor_get(v___x_4980_, 5); -v_messages_4987_ = lean_ctor_get(v___x_4980_, 6); -v_infoState_4988_ = lean_ctor_get(v___x_4980_, 7); -v_snapshotTasks_4989_ = lean_ctor_get(v___x_4980_, 8); -v_isSharedCheck_5025_ = !lean_is_exclusive(v___x_4980_); -if (v_isSharedCheck_5025_ == 0) -{ -v___x_4991_ = v___x_4980_; -v_isShared_4992_ = v_isSharedCheck_5025_; +v___x_4991_ = v___x_4988_; +v_isShared_4992_ = v_isSharedCheck_5047_; goto v_resetjp_4990_; } else { -lean_inc(v_snapshotTasks_4989_); -lean_inc(v_infoState_4988_); -lean_inc(v_messages_4987_); -lean_inc(v_cache_4986_); -lean_inc(v_traceState_4981_); -lean_inc(v_auxDeclNGen_4985_); -lean_inc(v_ngen_4984_); -lean_inc(v_nextMacroScope_4983_); -lean_inc(v_env_4982_); -lean_dec(v___x_4980_); +lean_inc(v_a_4989_); +lean_dec(v___x_4988_); v___x_4991_ = lean_box(0); -v_isShared_4992_ = v_isSharedCheck_5025_; +v_isShared_4992_ = v_isSharedCheck_5047_; goto v_resetjp_4990_; } v_resetjp_4990_: { -uint64_t v_tid_4993_; lean_object* v_traces_4994_; lean_object* v___x_4996_; uint8_t v_isShared_4997_; uint8_t v_isSharedCheck_5024_; -v_tid_4993_ = lean_ctor_get_uint64(v_traceState_4981_, sizeof(void*)*1); -v_traces_4994_ = lean_ctor_get(v_traceState_4981_, 0); -v_isSharedCheck_5024_ = !lean_is_exclusive(v_traceState_4981_); -if (v_isSharedCheck_5024_ == 0) +lean_object* v_env_4993_; lean_object* v_lctx_4994_; lean_object* v___x_4996_; uint8_t v_isShared_4997_; uint8_t v_isSharedCheck_5045_; +v_env_4993_ = lean_ctor_get(v___x_4986_, 0); +lean_inc_ref(v_env_4993_); +lean_dec(v___x_4986_); +v_lctx_4994_ = lean_ctor_get(v___x_4987_, 0); +v_isSharedCheck_5045_ = !lean_is_exclusive(v___x_4987_); +if (v_isSharedCheck_5045_ == 0) { -v___x_4996_ = v_traceState_4981_; -v_isShared_4997_ = v_isSharedCheck_5024_; +lean_object* v_unused_5046_; +v_unused_5046_ = lean_ctor_get(v___x_4987_, 1); +lean_dec(v_unused_5046_); +v___x_4996_ = v___x_4987_; +v_isShared_4997_ = v_isSharedCheck_5045_; goto v_resetjp_4995_; } else { -lean_inc(v_traces_4994_); -lean_dec(v_traceState_4981_); +lean_inc(v_lctx_4994_); +lean_dec(v___x_4987_); v___x_4996_ = lean_box(0); -v_isShared_4997_ = v_isSharedCheck_5024_; +v_isShared_4997_ = v_isSharedCheck_5045_; goto v_resetjp_4995_; } v_resetjp_4995_: { -uint8_t v___x_4998_; lean_object* v___x_4999_; lean_object* v___x_5000_; lean_object* v___x_5002_; -v___x_4998_ = lean_unbox(v_a_4970_); -lean_dec(v_a_4970_); -v___x_4999_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_4975_, v___x_4998_); -lean_dec_ref(v_lctx_4975_); -lean_inc_ref(v_options_4965_); -v___x_5000_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_5000_, 0, v_env_4974_); -lean_ctor_set(v___x_5000_, 1, v___x_4979_); -lean_ctor_set(v___x_5000_, 2, v___x_4999_); -lean_ctor_set(v___x_5000_, 3, v_options_4965_); -if (v_isShared_4978_ == 0) +lean_object* v___x_4998_; lean_object* v___x_4999_; lean_object* v_traceState_5000_; lean_object* v_env_5001_; lean_object* v_nextMacroScope_5002_; lean_object* v_ngen_5003_; lean_object* v_auxDeclNGen_5004_; lean_object* v_cache_5005_; lean_object* v_messages_5006_; lean_object* v_infoState_5007_; lean_object* v_snapshotTasks_5008_; lean_object* v___x_5010_; uint8_t v_isShared_5011_; uint8_t v_isSharedCheck_5044_; +v___x_4998_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2); +v___x_4999_ = lean_st_ref_take(v___y_4982_); +v_traceState_5000_ = lean_ctor_get(v___x_4999_, 4); +v_env_5001_ = lean_ctor_get(v___x_4999_, 0); +v_nextMacroScope_5002_ = lean_ctor_get(v___x_4999_, 1); +v_ngen_5003_ = lean_ctor_get(v___x_4999_, 2); +v_auxDeclNGen_5004_ = lean_ctor_get(v___x_4999_, 3); +v_cache_5005_ = lean_ctor_get(v___x_4999_, 5); +v_messages_5006_ = lean_ctor_get(v___x_4999_, 6); +v_infoState_5007_ = lean_ctor_get(v___x_4999_, 7); +v_snapshotTasks_5008_ = lean_ctor_get(v___x_4999_, 8); +v_isSharedCheck_5044_ = !lean_is_exclusive(v___x_4999_); +if (v_isSharedCheck_5044_ == 0) { -lean_ctor_set_tag(v___x_4977_, 3); -lean_ctor_set(v___x_4977_, 1, v_msg_4959_); -lean_ctor_set(v___x_4977_, 0, v___x_5000_); -v___x_5002_ = v___x_4977_; -goto v_reusejp_5001_; +v___x_5010_ = v___x_4999_; +v_isShared_5011_ = v_isSharedCheck_5044_; +goto v_resetjp_5009_; } else { -lean_object* v_reuseFailAlloc_5023_; -v_reuseFailAlloc_5023_ = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5023_, 0, v___x_5000_); -lean_ctor_set(v_reuseFailAlloc_5023_, 1, v_msg_4959_); -v___x_5002_ = v_reuseFailAlloc_5023_; -goto v_reusejp_5001_; +lean_inc(v_snapshotTasks_5008_); +lean_inc(v_infoState_5007_); +lean_inc(v_messages_5006_); +lean_inc(v_cache_5005_); +lean_inc(v_traceState_5000_); +lean_inc(v_auxDeclNGen_5004_); +lean_inc(v_ngen_5003_); +lean_inc(v_nextMacroScope_5002_); +lean_inc(v_env_5001_); +lean_dec(v___x_4999_); +v___x_5010_ = lean_box(0); +v_isShared_5011_ = v_isSharedCheck_5044_; +goto v_resetjp_5009_; } -v_reusejp_5001_: +v_resetjp_5009_: { -lean_object* v___x_5003_; double v___x_5004_; uint8_t v___x_5005_; lean_object* v___x_5006_; lean_object* v___x_5007_; lean_object* v___x_5008_; lean_object* v___x_5009_; lean_object* v___x_5010_; lean_object* v___x_5011_; lean_object* v___x_5013_; -v___x_5003_ = lean_box(0); -v___x_5004_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3); -v___x_5005_ = 0; -v___x_5006_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__4)); -v___x_5007_ = lean_alloc_ctor(0, 3, 17); -lean_ctor_set(v___x_5007_, 0, v_cls_4958_); -lean_ctor_set(v___x_5007_, 1, v___x_5003_); -lean_ctor_set(v___x_5007_, 2, v___x_5006_); -lean_ctor_set_float(v___x_5007_, sizeof(void*)*3, v___x_5004_); -lean_ctor_set_float(v___x_5007_, sizeof(void*)*3 + 8, v___x_5004_); -lean_ctor_set_uint8(v___x_5007_, sizeof(void*)*3 + 16, v___x_5005_); -v___x_5008_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__5)); -v___x_5009_ = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(v___x_5009_, 0, v___x_5007_); -lean_ctor_set(v___x_5009_, 1, v___x_5002_); -lean_ctor_set(v___x_5009_, 2, v___x_5008_); -lean_inc(v_ref_4966_); -v___x_5010_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_5010_, 0, v_ref_4966_); -lean_ctor_set(v___x_5010_, 1, v___x_5009_); -v___x_5011_ = l_Lean_PersistentArray_push___redArg(v_traces_4994_, v___x_5010_); +uint64_t v_tid_5012_; lean_object* v_traces_5013_; lean_object* v___x_5015_; uint8_t v_isShared_5016_; uint8_t v_isSharedCheck_5043_; +v_tid_5012_ = lean_ctor_get_uint64(v_traceState_5000_, sizeof(void*)*1); +v_traces_5013_ = lean_ctor_get(v_traceState_5000_, 0); +v_isSharedCheck_5043_ = !lean_is_exclusive(v_traceState_5000_); +if (v_isSharedCheck_5043_ == 0) +{ +v___x_5015_ = v_traceState_5000_; +v_isShared_5016_ = v_isSharedCheck_5043_; +goto v_resetjp_5014_; +} +else +{ +lean_inc(v_traces_5013_); +lean_dec(v_traceState_5000_); +v___x_5015_ = lean_box(0); +v_isShared_5016_ = v_isSharedCheck_5043_; +goto v_resetjp_5014_; +} +v_resetjp_5014_: +{ +uint8_t v___x_5017_; lean_object* v___x_5018_; lean_object* v___x_5019_; lean_object* v___x_5021_; +v___x_5017_ = lean_unbox(v_a_4989_); +lean_dec(v_a_4989_); +v___x_5018_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_4994_, v___x_5017_); +lean_dec_ref(v_lctx_4994_); +lean_inc_ref(v_options_4984_); +v___x_5019_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_5019_, 0, v_env_4993_); +lean_ctor_set(v___x_5019_, 1, v___x_4998_); +lean_ctor_set(v___x_5019_, 2, v___x_5018_); +lean_ctor_set(v___x_5019_, 3, v_options_4984_); if (v_isShared_4997_ == 0) { -lean_ctor_set(v___x_4996_, 0, v___x_5011_); -v___x_5013_ = v___x_4996_; -goto v_reusejp_5012_; +lean_ctor_set_tag(v___x_4996_, 3); +lean_ctor_set(v___x_4996_, 1, v_msg_4978_); +lean_ctor_set(v___x_4996_, 0, v___x_5019_); +v___x_5021_ = v___x_4996_; +goto v_reusejp_5020_; } else { -lean_object* v_reuseFailAlloc_5022_; -v_reuseFailAlloc_5022_ = lean_alloc_ctor(0, 1, 8); -lean_ctor_set(v_reuseFailAlloc_5022_, 0, v___x_5011_); -lean_ctor_set_uint64(v_reuseFailAlloc_5022_, sizeof(void*)*1, v_tid_4993_); -v___x_5013_ = v_reuseFailAlloc_5022_; -goto v_reusejp_5012_; +lean_object* v_reuseFailAlloc_5042_; +v_reuseFailAlloc_5042_ = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5042_, 0, v___x_5019_); +lean_ctor_set(v_reuseFailAlloc_5042_, 1, v_msg_4978_); +v___x_5021_ = v_reuseFailAlloc_5042_; +goto v_reusejp_5020_; } -v_reusejp_5012_: +v_reusejp_5020_: { -lean_object* v___x_5015_; -if (v_isShared_4992_ == 0) +lean_object* v___x_5022_; double v___x_5023_; uint8_t v___x_5024_; lean_object* v___x_5025_; lean_object* v___x_5026_; lean_object* v___x_5027_; lean_object* v___x_5028_; lean_object* v___x_5029_; lean_object* v___x_5030_; lean_object* v___x_5032_; +v___x_5022_ = lean_box(0); +v___x_5023_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__3); +v___x_5024_ = 0; +v___x_5025_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__4)); +v___x_5026_ = lean_alloc_ctor(0, 3, 17); +lean_ctor_set(v___x_5026_, 0, v_cls_4977_); +lean_ctor_set(v___x_5026_, 1, v___x_5022_); +lean_ctor_set(v___x_5026_, 2, v___x_5025_); +lean_ctor_set_float(v___x_5026_, sizeof(void*)*3, v___x_5023_); +lean_ctor_set_float(v___x_5026_, sizeof(void*)*3 + 8, v___x_5023_); +lean_ctor_set_uint8(v___x_5026_, sizeof(void*)*3 + 16, v___x_5024_); +v___x_5027_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__5)); +v___x_5028_ = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(v___x_5028_, 0, v___x_5026_); +lean_ctor_set(v___x_5028_, 1, v___x_5021_); +lean_ctor_set(v___x_5028_, 2, v___x_5027_); +lean_inc(v_ref_4985_); +v___x_5029_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_5029_, 0, v_ref_4985_); +lean_ctor_set(v___x_5029_, 1, v___x_5028_); +v___x_5030_ = l_Lean_PersistentArray_push___redArg(v_traces_5013_, v___x_5029_); +if (v_isShared_5016_ == 0) { -lean_ctor_set(v___x_4991_, 4, v___x_5013_); -v___x_5015_ = v___x_4991_; -goto v_reusejp_5014_; +lean_ctor_set(v___x_5015_, 0, v___x_5030_); +v___x_5032_ = v___x_5015_; +goto v_reusejp_5031_; } else { -lean_object* v_reuseFailAlloc_5021_; -v_reuseFailAlloc_5021_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v_reuseFailAlloc_5021_, 0, v_env_4982_); -lean_ctor_set(v_reuseFailAlloc_5021_, 1, v_nextMacroScope_4983_); -lean_ctor_set(v_reuseFailAlloc_5021_, 2, v_ngen_4984_); -lean_ctor_set(v_reuseFailAlloc_5021_, 3, v_auxDeclNGen_4985_); -lean_ctor_set(v_reuseFailAlloc_5021_, 4, v___x_5013_); -lean_ctor_set(v_reuseFailAlloc_5021_, 5, v_cache_4986_); -lean_ctor_set(v_reuseFailAlloc_5021_, 6, v_messages_4987_); -lean_ctor_set(v_reuseFailAlloc_5021_, 7, v_infoState_4988_); -lean_ctor_set(v_reuseFailAlloc_5021_, 8, v_snapshotTasks_4989_); -v___x_5015_ = v_reuseFailAlloc_5021_; -goto v_reusejp_5014_; +lean_object* v_reuseFailAlloc_5041_; +v_reuseFailAlloc_5041_ = lean_alloc_ctor(0, 1, 8); +lean_ctor_set(v_reuseFailAlloc_5041_, 0, v___x_5030_); +lean_ctor_set_uint64(v_reuseFailAlloc_5041_, sizeof(void*)*1, v_tid_5012_); +v___x_5032_ = v_reuseFailAlloc_5041_; +goto v_reusejp_5031_; } -v_reusejp_5014_: -{ -lean_object* v___x_5016_; lean_object* v___x_5017_; lean_object* v___x_5019_; -v___x_5016_ = lean_st_ref_set(v___y_4963_, v___x_5015_); -v___x_5017_ = lean_box(0); -if (v_isShared_4973_ == 0) -{ -lean_ctor_set(v___x_4972_, 0, v___x_5017_); -v___x_5019_ = v___x_4972_; -goto v_reusejp_5018_; -} -else -{ -lean_object* v_reuseFailAlloc_5020_; -v_reuseFailAlloc_5020_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5020_, 0, v___x_5017_); -v___x_5019_ = v_reuseFailAlloc_5020_; -goto v_reusejp_5018_; -} -v_reusejp_5018_: -{ -return v___x_5019_; -} -} -} -} -} -} -} -} -} -else -{ -lean_object* v_a_5029_; lean_object* v___x_5031_; uint8_t v_isShared_5032_; uint8_t v_isSharedCheck_5036_; -lean_dec(v___x_4968_); -lean_dec(v___x_4967_); -lean_dec_ref(v_msg_4959_); -lean_dec(v_cls_4958_); -v_a_5029_ = lean_ctor_get(v___x_4969_, 0); -v_isSharedCheck_5036_ = !lean_is_exclusive(v___x_4969_); -if (v_isSharedCheck_5036_ == 0) -{ -v___x_5031_ = v___x_4969_; -v_isShared_5032_ = v_isSharedCheck_5036_; -goto v_resetjp_5030_; -} -else -{ -lean_inc(v_a_5029_); -lean_dec(v___x_4969_); -v___x_5031_ = lean_box(0); -v_isShared_5032_ = v_isSharedCheck_5036_; -goto v_resetjp_5030_; -} -v_resetjp_5030_: +v_reusejp_5031_: { lean_object* v___x_5034_; -if (v_isShared_5032_ == 0) +if (v_isShared_5011_ == 0) { -v___x_5034_ = v___x_5031_; +lean_ctor_set(v___x_5010_, 4, v___x_5032_); +v___x_5034_ = v___x_5010_; goto v_reusejp_5033_; } else { -lean_object* v_reuseFailAlloc_5035_; -v_reuseFailAlloc_5035_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5035_, 0, v_a_5029_); -v___x_5034_ = v_reuseFailAlloc_5035_; +lean_object* v_reuseFailAlloc_5040_; +v_reuseFailAlloc_5040_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v_reuseFailAlloc_5040_, 0, v_env_5001_); +lean_ctor_set(v_reuseFailAlloc_5040_, 1, v_nextMacroScope_5002_); +lean_ctor_set(v_reuseFailAlloc_5040_, 2, v_ngen_5003_); +lean_ctor_set(v_reuseFailAlloc_5040_, 3, v_auxDeclNGen_5004_); +lean_ctor_set(v_reuseFailAlloc_5040_, 4, v___x_5032_); +lean_ctor_set(v_reuseFailAlloc_5040_, 5, v_cache_5005_); +lean_ctor_set(v_reuseFailAlloc_5040_, 6, v_messages_5006_); +lean_ctor_set(v_reuseFailAlloc_5040_, 7, v_infoState_5007_); +lean_ctor_set(v_reuseFailAlloc_5040_, 8, v_snapshotTasks_5008_); +v___x_5034_ = v_reuseFailAlloc_5040_; goto v_reusejp_5033_; } v_reusejp_5033_: { -return v___x_5034_; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___boxed(lean_object* v_cls_5037_, lean_object* v_msg_5038_, lean_object* v___y_5039_, lean_object* v___y_5040_, lean_object* v___y_5041_, lean_object* v___y_5042_, lean_object* v___y_5043_){ -_start: +lean_object* v___x_5035_; lean_object* v___x_5036_; lean_object* v___x_5038_; +v___x_5035_ = lean_st_ref_set(v___y_4982_, v___x_5034_); +v___x_5036_ = lean_box(0); +if (v_isShared_4992_ == 0) { -lean_object* v_res_5044_; -v_res_5044_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_5037_, v_msg_5038_, v___y_5039_, v___y_5040_, v___y_5041_, v___y_5042_); -lean_dec(v___y_5042_); -lean_dec_ref(v___y_5041_); -lean_dec(v___y_5040_); -lean_dec_ref(v___y_5039_); -return v_res_5044_; -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5(lean_object* v_cls_5045_, lean_object* v_msg_5046_, lean_object* v___y_5047_, lean_object* v___y_5048_, lean_object* v___y_5049_, lean_object* v___y_5050_, lean_object* v___y_5051_, lean_object* v___y_5052_){ -_start: -{ -lean_object* v___x_5054_; -v___x_5054_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_5045_, v_msg_5046_, v___y_5049_, v___y_5050_, v___y_5051_, v___y_5052_); -return v___x_5054_; -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___boxed(lean_object* v_cls_5055_, lean_object* v_msg_5056_, lean_object* v___y_5057_, lean_object* v___y_5058_, lean_object* v___y_5059_, lean_object* v___y_5060_, lean_object* v___y_5061_, lean_object* v___y_5062_, lean_object* v___y_5063_){ -_start: -{ -lean_object* v_res_5064_; -v_res_5064_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5(v_cls_5055_, v_msg_5056_, v___y_5057_, v___y_5058_, v___y_5059_, v___y_5060_, v___y_5061_, v___y_5062_); -lean_dec(v___y_5062_); -lean_dec_ref(v___y_5061_); -lean_dec(v___y_5060_); -lean_dec_ref(v___y_5059_); -lean_dec(v___y_5058_); -lean_dec_ref(v___y_5057_); -return v_res_5064_; -} -} -LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(lean_object* v_msg_5065_, lean_object* v___y_5066_, lean_object* v___y_5067_, lean_object* v___y_5068_, lean_object* v___y_5069_, lean_object* v___y_5070_, lean_object* v___y_5071_){ -_start: -{ -lean_object* v___x_5073_; lean_object* v_toApplicative_5074_; lean_object* v_toFunctor_5075_; lean_object* v_toSeq_5076_; lean_object* v_toSeqLeft_5077_; lean_object* v_toSeqRight_5078_; lean_object* v___f_5079_; lean_object* v___f_5080_; lean_object* v___f_5081_; lean_object* v___f_5082_; lean_object* v___x_5083_; lean_object* v___f_5084_; lean_object* v___f_5085_; lean_object* v___f_5086_; lean_object* v___x_5087_; lean_object* v___x_5088_; lean_object* v___x_5089_; lean_object* v_toApplicative_5090_; lean_object* v___x_5092_; uint8_t v_isShared_5093_; uint8_t v_isSharedCheck_5123_; -v___x_5073_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1); -v_toApplicative_5074_ = lean_ctor_get(v___x_5073_, 0); -lean_inc_ref(v_toApplicative_5074_); -v_toFunctor_5075_ = lean_ctor_get(v_toApplicative_5074_, 0); -lean_inc_ref(v_toFunctor_5075_); -v_toSeq_5076_ = lean_ctor_get(v_toApplicative_5074_, 2); -lean_inc(v_toSeq_5076_); -v_toSeqLeft_5077_ = lean_ctor_get(v_toApplicative_5074_, 3); -lean_inc(v_toSeqLeft_5077_); -v_toSeqRight_5078_ = lean_ctor_get(v_toApplicative_5074_, 4); -lean_inc(v_toSeqRight_5078_); -lean_dec_ref(v_toApplicative_5074_); -v___f_5079_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__2)); -v___f_5080_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__3)); -lean_inc_ref(v_toFunctor_5075_); -v___f_5081_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); -lean_closure_set(v___f_5081_, 0, v_toFunctor_5075_); -v___f_5082_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_5082_, 0, v_toFunctor_5075_); -v___x_5083_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_5083_, 0, v___f_5081_); -lean_ctor_set(v___x_5083_, 1, v___f_5082_); -v___f_5084_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_5084_, 0, v_toSeqRight_5078_); -v___f_5085_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); -lean_closure_set(v___f_5085_, 0, v_toSeqLeft_5077_); -v___f_5086_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); -lean_closure_set(v___f_5086_, 0, v_toSeq_5076_); -v___x_5087_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_5087_, 0, v___x_5083_); -lean_ctor_set(v___x_5087_, 1, v___f_5079_); -lean_ctor_set(v___x_5087_, 2, v___f_5086_); -lean_ctor_set(v___x_5087_, 3, v___f_5085_); -lean_ctor_set(v___x_5087_, 4, v___f_5084_); -v___x_5088_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_5088_, 0, v___x_5087_); -lean_ctor_set(v___x_5088_, 1, v___f_5080_); -v___x_5089_ = l_StateRefT_x27_instMonad___redArg(v___x_5088_); -v_toApplicative_5090_ = lean_ctor_get(v___x_5089_, 0); -v_isSharedCheck_5123_ = !lean_is_exclusive(v___x_5089_); -if (v_isSharedCheck_5123_ == 0) -{ -lean_object* v_unused_5124_; -v_unused_5124_ = lean_ctor_get(v___x_5089_, 1); -lean_dec(v_unused_5124_); -v___x_5092_ = v___x_5089_; -v_isShared_5093_ = v_isSharedCheck_5123_; -goto v_resetjp_5091_; +lean_ctor_set(v___x_4991_, 0, v___x_5036_); +v___x_5038_ = v___x_4991_; +goto v_reusejp_5037_; } else { -lean_inc(v_toApplicative_5090_); -lean_dec(v___x_5089_); -v___x_5092_ = lean_box(0); -v_isShared_5093_ = v_isSharedCheck_5123_; -goto v_resetjp_5091_; +lean_object* v_reuseFailAlloc_5039_; +v_reuseFailAlloc_5039_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5039_, 0, v___x_5036_); +v___x_5038_ = v_reuseFailAlloc_5039_; +goto v_reusejp_5037_; } -v_resetjp_5091_: +v_reusejp_5037_: { -lean_object* v_toFunctor_5094_; lean_object* v_toSeq_5095_; lean_object* v_toSeqLeft_5096_; lean_object* v_toSeqRight_5097_; lean_object* v___x_5099_; uint8_t v_isShared_5100_; uint8_t v_isSharedCheck_5121_; -v_toFunctor_5094_ = lean_ctor_get(v_toApplicative_5090_, 0); -v_toSeq_5095_ = lean_ctor_get(v_toApplicative_5090_, 2); -v_toSeqLeft_5096_ = lean_ctor_get(v_toApplicative_5090_, 3); -v_toSeqRight_5097_ = lean_ctor_get(v_toApplicative_5090_, 4); -v_isSharedCheck_5121_ = !lean_is_exclusive(v_toApplicative_5090_); -if (v_isSharedCheck_5121_ == 0) -{ -lean_object* v_unused_5122_; -v_unused_5122_ = lean_ctor_get(v_toApplicative_5090_, 1); -lean_dec(v_unused_5122_); -v___x_5099_ = v_toApplicative_5090_; -v_isShared_5100_ = v_isSharedCheck_5121_; -goto v_resetjp_5098_; +return v___x_5038_; +} +} +} +} +} +} +} +} } else { -lean_inc(v_toSeqRight_5097_); -lean_inc(v_toSeqLeft_5096_); -lean_inc(v_toSeq_5095_); -lean_inc(v_toFunctor_5094_); -lean_dec(v_toApplicative_5090_); -v___x_5099_ = lean_box(0); -v_isShared_5100_ = v_isSharedCheck_5121_; -goto v_resetjp_5098_; -} -v_resetjp_5098_: +lean_object* v_a_5048_; lean_object* v___x_5050_; uint8_t v_isShared_5051_; uint8_t v_isSharedCheck_5055_; +lean_dec(v___x_4987_); +lean_dec(v___x_4986_); +lean_dec_ref(v_msg_4978_); +lean_dec(v_cls_4977_); +v_a_5048_ = lean_ctor_get(v___x_4988_, 0); +v_isSharedCheck_5055_ = !lean_is_exclusive(v___x_4988_); +if (v_isSharedCheck_5055_ == 0) { -lean_object* v___f_5101_; lean_object* v___f_5102_; lean_object* v___f_5103_; lean_object* v___f_5104_; lean_object* v___x_5105_; lean_object* v___f_5106_; lean_object* v___f_5107_; lean_object* v___f_5108_; lean_object* v___x_5110_; -v___f_5101_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__6)); -v___f_5102_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__7)); +v___x_5050_ = v___x_4988_; +v_isShared_5051_ = v_isSharedCheck_5055_; +goto v_resetjp_5049_; +} +else +{ +lean_inc(v_a_5048_); +lean_dec(v___x_4988_); +v___x_5050_ = lean_box(0); +v_isShared_5051_ = v_isSharedCheck_5055_; +goto v_resetjp_5049_; +} +v_resetjp_5049_: +{ +lean_object* v___x_5053_; +if (v_isShared_5051_ == 0) +{ +v___x_5053_ = v___x_5050_; +goto v_reusejp_5052_; +} +else +{ +lean_object* v_reuseFailAlloc_5054_; +v_reuseFailAlloc_5054_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5054_, 0, v_a_5048_); +v___x_5053_ = v_reuseFailAlloc_5054_; +goto v_reusejp_5052_; +} +v_reusejp_5052_: +{ +return v___x_5053_; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___boxed(lean_object* v_cls_5056_, lean_object* v_msg_5057_, lean_object* v___y_5058_, lean_object* v___y_5059_, lean_object* v___y_5060_, lean_object* v___y_5061_, lean_object* v___y_5062_){ +_start: +{ +lean_object* v_res_5063_; +v_res_5063_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_5056_, v_msg_5057_, v___y_5058_, v___y_5059_, v___y_5060_, v___y_5061_); +lean_dec(v___y_5061_); +lean_dec_ref(v___y_5060_); +lean_dec(v___y_5059_); +lean_dec_ref(v___y_5058_); +return v_res_5063_; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5(lean_object* v_cls_5064_, lean_object* v_msg_5065_, lean_object* v___y_5066_, lean_object* v___y_5067_, lean_object* v___y_5068_, lean_object* v___y_5069_, lean_object* v___y_5070_, lean_object* v___y_5071_){ +_start: +{ +lean_object* v___x_5073_; +v___x_5073_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_5064_, v_msg_5065_, v___y_5068_, v___y_5069_, v___y_5070_, v___y_5071_); +return v___x_5073_; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___boxed(lean_object* v_cls_5074_, lean_object* v_msg_5075_, lean_object* v___y_5076_, lean_object* v___y_5077_, lean_object* v___y_5078_, lean_object* v___y_5079_, lean_object* v___y_5080_, lean_object* v___y_5081_, lean_object* v___y_5082_){ +_start: +{ +lean_object* v_res_5083_; +v_res_5083_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5(v_cls_5074_, v_msg_5075_, v___y_5076_, v___y_5077_, v___y_5078_, v___y_5079_, v___y_5080_, v___y_5081_); +lean_dec(v___y_5081_); +lean_dec_ref(v___y_5080_); +lean_dec(v___y_5079_); +lean_dec_ref(v___y_5078_); +lean_dec(v___y_5077_); +lean_dec_ref(v___y_5076_); +return v_res_5083_; +} +} +LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(lean_object* v_msg_5084_, lean_object* v___y_5085_, lean_object* v___y_5086_, lean_object* v___y_5087_, lean_object* v___y_5088_, lean_object* v___y_5089_, lean_object* v___y_5090_){ +_start: +{ +lean_object* v___x_5092_; lean_object* v_toApplicative_5093_; lean_object* v_toFunctor_5094_; lean_object* v_toSeq_5095_; lean_object* v_toSeqLeft_5096_; lean_object* v_toSeqRight_5097_; lean_object* v___f_5098_; lean_object* v___f_5099_; lean_object* v___f_5100_; lean_object* v___f_5101_; lean_object* v___x_5102_; lean_object* v___f_5103_; lean_object* v___f_5104_; lean_object* v___f_5105_; lean_object* v___x_5106_; lean_object* v___x_5107_; lean_object* v___x_5108_; lean_object* v_toApplicative_5109_; lean_object* v___x_5111_; uint8_t v_isShared_5112_; uint8_t v_isSharedCheck_5142_; +v___x_5092_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__1); +v_toApplicative_5093_ = lean_ctor_get(v___x_5092_, 0); +lean_inc_ref(v_toApplicative_5093_); +v_toFunctor_5094_ = lean_ctor_get(v_toApplicative_5093_, 0); lean_inc_ref(v_toFunctor_5094_); -v___f_5103_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); -lean_closure_set(v___f_5103_, 0, v_toFunctor_5094_); -v___f_5104_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_5104_, 0, v_toFunctor_5094_); -v___x_5105_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_5105_, 0, v___f_5103_); -lean_ctor_set(v___x_5105_, 1, v___f_5104_); -v___f_5106_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); -lean_closure_set(v___f_5106_, 0, v_toSeqRight_5097_); -v___f_5107_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); -lean_closure_set(v___f_5107_, 0, v_toSeqLeft_5096_); -v___f_5108_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); -lean_closure_set(v___f_5108_, 0, v_toSeq_5095_); -if (v_isShared_5100_ == 0) +v_toSeq_5095_ = lean_ctor_get(v_toApplicative_5093_, 2); +lean_inc(v_toSeq_5095_); +v_toSeqLeft_5096_ = lean_ctor_get(v_toApplicative_5093_, 3); +lean_inc(v_toSeqLeft_5096_); +v_toSeqRight_5097_ = lean_ctor_get(v_toApplicative_5093_, 4); +lean_inc(v_toSeqRight_5097_); +lean_dec_ref(v_toApplicative_5093_); +v___f_5098_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__2)); +v___f_5099_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__3)); +lean_inc_ref(v_toFunctor_5094_); +v___f_5100_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); +lean_closure_set(v___f_5100_, 0, v_toFunctor_5094_); +v___f_5101_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_5101_, 0, v_toFunctor_5094_); +v___x_5102_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_5102_, 0, v___f_5100_); +lean_ctor_set(v___x_5102_, 1, v___f_5101_); +v___f_5103_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_5103_, 0, v_toSeqRight_5097_); +v___f_5104_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); +lean_closure_set(v___f_5104_, 0, v_toSeqLeft_5096_); +v___f_5105_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); +lean_closure_set(v___f_5105_, 0, v_toSeq_5095_); +v___x_5106_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_5106_, 0, v___x_5102_); +lean_ctor_set(v___x_5106_, 1, v___f_5098_); +lean_ctor_set(v___x_5106_, 2, v___f_5105_); +lean_ctor_set(v___x_5106_, 3, v___f_5104_); +lean_ctor_set(v___x_5106_, 4, v___f_5103_); +v___x_5107_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_5107_, 0, v___x_5106_); +lean_ctor_set(v___x_5107_, 1, v___f_5099_); +v___x_5108_ = l_StateRefT_x27_instMonad___redArg(v___x_5107_); +v_toApplicative_5109_ = lean_ctor_get(v___x_5108_, 0); +v_isSharedCheck_5142_ = !lean_is_exclusive(v___x_5108_); +if (v_isSharedCheck_5142_ == 0) { -lean_ctor_set(v___x_5099_, 4, v___f_5106_); -lean_ctor_set(v___x_5099_, 3, v___f_5107_); -lean_ctor_set(v___x_5099_, 2, v___f_5108_); -lean_ctor_set(v___x_5099_, 1, v___f_5101_); -lean_ctor_set(v___x_5099_, 0, v___x_5105_); -v___x_5110_ = v___x_5099_; -goto v_reusejp_5109_; +lean_object* v_unused_5143_; +v_unused_5143_ = lean_ctor_get(v___x_5108_, 1); +lean_dec(v_unused_5143_); +v___x_5111_ = v___x_5108_; +v_isShared_5112_ = v_isSharedCheck_5142_; +goto v_resetjp_5110_; } else { -lean_object* v_reuseFailAlloc_5120_; -v_reuseFailAlloc_5120_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v_reuseFailAlloc_5120_, 0, v___x_5105_); -lean_ctor_set(v_reuseFailAlloc_5120_, 1, v___f_5101_); -lean_ctor_set(v_reuseFailAlloc_5120_, 2, v___f_5108_); -lean_ctor_set(v_reuseFailAlloc_5120_, 3, v___f_5107_); -lean_ctor_set(v_reuseFailAlloc_5120_, 4, v___f_5106_); -v___x_5110_ = v_reuseFailAlloc_5120_; -goto v_reusejp_5109_; +lean_inc(v_toApplicative_5109_); +lean_dec(v___x_5108_); +v___x_5111_ = lean_box(0); +v_isShared_5112_ = v_isSharedCheck_5142_; +goto v_resetjp_5110_; } -v_reusejp_5109_: +v_resetjp_5110_: { -lean_object* v___x_5112_; -if (v_isShared_5093_ == 0) +lean_object* v_toFunctor_5113_; lean_object* v_toSeq_5114_; lean_object* v_toSeqLeft_5115_; lean_object* v_toSeqRight_5116_; lean_object* v___x_5118_; uint8_t v_isShared_5119_; uint8_t v_isSharedCheck_5140_; +v_toFunctor_5113_ = lean_ctor_get(v_toApplicative_5109_, 0); +v_toSeq_5114_ = lean_ctor_get(v_toApplicative_5109_, 2); +v_toSeqLeft_5115_ = lean_ctor_get(v_toApplicative_5109_, 3); +v_toSeqRight_5116_ = lean_ctor_get(v_toApplicative_5109_, 4); +v_isSharedCheck_5140_ = !lean_is_exclusive(v_toApplicative_5109_); +if (v_isSharedCheck_5140_ == 0) { -lean_ctor_set(v___x_5092_, 1, v___f_5102_); -lean_ctor_set(v___x_5092_, 0, v___x_5110_); -v___x_5112_ = v___x_5092_; -goto v_reusejp_5111_; +lean_object* v_unused_5141_; +v_unused_5141_ = lean_ctor_get(v_toApplicative_5109_, 1); +lean_dec(v_unused_5141_); +v___x_5118_ = v_toApplicative_5109_; +v_isShared_5119_ = v_isSharedCheck_5140_; +goto v_resetjp_5117_; } else { -lean_object* v_reuseFailAlloc_5119_; -v_reuseFailAlloc_5119_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5119_, 0, v___x_5110_); -lean_ctor_set(v_reuseFailAlloc_5119_, 1, v___f_5102_); -v___x_5112_ = v_reuseFailAlloc_5119_; -goto v_reusejp_5111_; +lean_inc(v_toSeqRight_5116_); +lean_inc(v_toSeqLeft_5115_); +lean_inc(v_toSeq_5114_); +lean_inc(v_toFunctor_5113_); +lean_dec(v_toApplicative_5109_); +v___x_5118_ = lean_box(0); +v_isShared_5119_ = v_isSharedCheck_5140_; +goto v_resetjp_5117_; } -v_reusejp_5111_: +v_resetjp_5117_: { -lean_object* v___x_5113_; lean_object* v___x_5114_; lean_object* v___x_5115_; lean_object* v___f_5116_; lean_object* v___x_70801__overap_5117_; lean_object* v___x_5118_; -v___x_5113_ = l_StateRefT_x27_instMonad___redArg(v___x_5112_); -v___x_5114_ = lean_box(0); -v___x_5115_ = l_instInhabitedOfMonad___redArg(v___x_5113_, v___x_5114_); -v___f_5116_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); -lean_closure_set(v___f_5116_, 0, v___x_5115_); -v___x_70801__overap_5117_ = lean_panic_fn_borrowed(v___f_5116_, v_msg_5065_); -lean_dec_ref(v___f_5116_); -lean_inc(v___y_5071_); -lean_inc_ref(v___y_5070_); -lean_inc(v___y_5069_); -lean_inc_ref(v___y_5068_); -lean_inc(v___y_5067_); -lean_inc_ref(v___y_5066_); -v___x_5118_ = lean_apply_7(v___x_70801__overap_5117_, v___y_5066_, v___y_5067_, v___y_5068_, v___y_5069_, v___y_5070_, v___y_5071_, lean_box(0)); -return v___x_5118_; +lean_object* v___f_5120_; lean_object* v___f_5121_; lean_object* v___f_5122_; lean_object* v___f_5123_; lean_object* v___x_5124_; lean_object* v___f_5125_; lean_object* v___f_5126_; lean_object* v___f_5127_; lean_object* v___x_5129_; +v___f_5120_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__6)); +v___f_5121_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_instMonadScopeSpecializeM___closed__7)); +lean_inc_ref(v_toFunctor_5113_); +v___f_5122_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1); +lean_closure_set(v___f_5122_, 0, v_toFunctor_5113_); +v___f_5123_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_5123_, 0, v_toFunctor_5113_); +v___x_5124_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_5124_, 0, v___f_5122_); +lean_ctor_set(v___x_5124_, 1, v___f_5123_); +v___f_5125_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1); +lean_closure_set(v___f_5125_, 0, v_toSeqRight_5116_); +v___f_5126_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1); +lean_closure_set(v___f_5126_, 0, v_toSeqLeft_5115_); +v___f_5127_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1); +lean_closure_set(v___f_5127_, 0, v_toSeq_5114_); +if (v_isShared_5119_ == 0) +{ +lean_ctor_set(v___x_5118_, 4, v___f_5125_); +lean_ctor_set(v___x_5118_, 3, v___f_5126_); +lean_ctor_set(v___x_5118_, 2, v___f_5127_); +lean_ctor_set(v___x_5118_, 1, v___f_5120_); +lean_ctor_set(v___x_5118_, 0, v___x_5124_); +v___x_5129_ = v___x_5118_; +goto v_reusejp_5128_; +} +else +{ +lean_object* v_reuseFailAlloc_5139_; +v_reuseFailAlloc_5139_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v_reuseFailAlloc_5139_, 0, v___x_5124_); +lean_ctor_set(v_reuseFailAlloc_5139_, 1, v___f_5120_); +lean_ctor_set(v_reuseFailAlloc_5139_, 2, v___f_5127_); +lean_ctor_set(v_reuseFailAlloc_5139_, 3, v___f_5126_); +lean_ctor_set(v_reuseFailAlloc_5139_, 4, v___f_5125_); +v___x_5129_ = v_reuseFailAlloc_5139_; +goto v_reusejp_5128_; +} +v_reusejp_5128_: +{ +lean_object* v___x_5131_; +if (v_isShared_5112_ == 0) +{ +lean_ctor_set(v___x_5111_, 1, v___f_5121_); +lean_ctor_set(v___x_5111_, 0, v___x_5129_); +v___x_5131_ = v___x_5111_; +goto v_reusejp_5130_; +} +else +{ +lean_object* v_reuseFailAlloc_5138_; +v_reuseFailAlloc_5138_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5138_, 0, v___x_5129_); +lean_ctor_set(v_reuseFailAlloc_5138_, 1, v___f_5121_); +v___x_5131_ = v_reuseFailAlloc_5138_; +goto v_reusejp_5130_; +} +v_reusejp_5130_: +{ +lean_object* v___x_5132_; lean_object* v___x_5133_; lean_object* v___x_5134_; lean_object* v___f_5135_; lean_object* v___x_71049__overap_5136_; lean_object* v___x_5137_; +v___x_5132_ = l_StateRefT_x27_instMonad___redArg(v___x_5131_); +v___x_5133_ = lean_box(0); +v___x_5134_ = l_instInhabitedOfMonad___redArg(v___x_5132_, v___x_5133_); +v___f_5135_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1); +lean_closure_set(v___f_5135_, 0, v___x_5134_); +v___x_71049__overap_5136_ = lean_panic_fn_borrowed(v___f_5135_, v_msg_5084_); +lean_dec_ref(v___f_5135_); +lean_inc(v___y_5090_); +lean_inc_ref(v___y_5089_); +lean_inc(v___y_5088_); +lean_inc_ref(v___y_5087_); +lean_inc(v___y_5086_); +lean_inc_ref(v___y_5085_); +v___x_5137_ = lean_apply_7(v___x_71049__overap_5136_, v___y_5085_, v___y_5086_, v___y_5087_, v___y_5088_, v___y_5089_, v___y_5090_, lean_box(0)); +return v___x_5137_; } } } } } } -LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8___boxed(lean_object* v_msg_5125_, lean_object* v___y_5126_, lean_object* v___y_5127_, lean_object* v___y_5128_, lean_object* v___y_5129_, lean_object* v___y_5130_, lean_object* v___y_5131_, lean_object* v___y_5132_){ +LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8___boxed(lean_object* v_msg_5144_, lean_object* v___y_5145_, lean_object* v___y_5146_, lean_object* v___y_5147_, lean_object* v___y_5148_, lean_object* v___y_5149_, lean_object* v___y_5150_, lean_object* v___y_5151_){ _start: { -lean_object* v_res_5133_; -v_res_5133_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v_msg_5125_, v___y_5126_, v___y_5127_, v___y_5128_, v___y_5129_, v___y_5130_, v___y_5131_); -lean_dec(v___y_5131_); -lean_dec_ref(v___y_5130_); -lean_dec(v___y_5129_); -lean_dec_ref(v___y_5128_); -lean_dec(v___y_5127_); -lean_dec_ref(v___y_5126_); -return v_res_5133_; +lean_object* v_res_5152_; +v_res_5152_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v_msg_5144_, v___y_5145_, v___y_5146_, v___y_5147_, v___y_5148_, v___y_5149_, v___y_5150_); +lean_dec(v___y_5150_); +lean_dec_ref(v___y_5149_); +lean_dec(v___y_5148_); +lean_dec_ref(v___y_5147_); +lean_dec(v___y_5146_); +lean_dec_ref(v___y_5145_); +return v_res_5152_; } } -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(lean_object* v_a_5134_, lean_object* v_x_5135_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(lean_object* v_a_5153_, lean_object* v_x_5154_){ _start: { -if (lean_obj_tag(v_x_5135_) == 0) +if (lean_obj_tag(v_x_5154_) == 0) { -uint8_t v___x_5136_; -v___x_5136_ = 0; -return v___x_5136_; +uint8_t v___x_5155_; +v___x_5155_ = 0; +return v___x_5155_; } else { -lean_object* v_key_5137_; lean_object* v_tail_5138_; uint8_t v___x_5139_; -v_key_5137_ = lean_ctor_get(v_x_5135_, 0); -v_tail_5138_ = lean_ctor_get(v_x_5135_, 2); -v___x_5139_ = lean_name_eq(v_key_5137_, v_a_5134_); -if (v___x_5139_ == 0) +lean_object* v_key_5156_; lean_object* v_tail_5157_; uint8_t v___x_5158_; +v_key_5156_ = lean_ctor_get(v_x_5154_, 0); +v_tail_5157_ = lean_ctor_get(v_x_5154_, 2); +v___x_5158_ = lean_name_eq(v_key_5156_, v_a_5153_); +if (v___x_5158_ == 0) { -v_x_5135_ = v_tail_5138_; +v_x_5154_ = v_tail_5157_; goto _start; } else { -return v___x_5139_; +return v___x_5158_; } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg___boxed(lean_object* v_a_5141_, lean_object* v_x_5142_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg___boxed(lean_object* v_a_5160_, lean_object* v_x_5161_){ _start: { -uint8_t v_res_5143_; lean_object* v_r_5144_; -v_res_5143_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5141_, v_x_5142_); -lean_dec(v_x_5142_); -lean_dec(v_a_5141_); -v_r_5144_ = lean_box(v_res_5143_); -return v_r_5144_; +uint8_t v_res_5162_; lean_object* v_r_5163_; +v_res_5162_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5160_, v_x_5161_); +lean_dec(v_x_5161_); +lean_dec(v_a_5160_); +v_r_5163_ = lean_box(v_res_5162_); +return v_r_5163_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(lean_object* v_x_5145_, lean_object* v_x_5146_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(lean_object* v_x_5164_, lean_object* v_x_5165_){ _start: { -if (lean_obj_tag(v_x_5146_) == 0) +if (lean_obj_tag(v_x_5165_) == 0) { -return v_x_5145_; +return v_x_5164_; } else { -lean_object* v_key_5147_; lean_object* v_value_5148_; lean_object* v_tail_5149_; lean_object* v___x_5151_; uint8_t v_isShared_5152_; uint8_t v_isSharedCheck_5175_; -v_key_5147_ = lean_ctor_get(v_x_5146_, 0); -v_value_5148_ = lean_ctor_get(v_x_5146_, 1); -v_tail_5149_ = lean_ctor_get(v_x_5146_, 2); -v_isSharedCheck_5175_ = !lean_is_exclusive(v_x_5146_); -if (v_isSharedCheck_5175_ == 0) +lean_object* v_key_5166_; lean_object* v_value_5167_; lean_object* v_tail_5168_; lean_object* v___x_5170_; uint8_t v_isShared_5171_; uint8_t v_isSharedCheck_5194_; +v_key_5166_ = lean_ctor_get(v_x_5165_, 0); +v_value_5167_ = lean_ctor_get(v_x_5165_, 1); +v_tail_5168_ = lean_ctor_get(v_x_5165_, 2); +v_isSharedCheck_5194_ = !lean_is_exclusive(v_x_5165_); +if (v_isSharedCheck_5194_ == 0) { -v___x_5151_ = v_x_5146_; -v_isShared_5152_ = v_isSharedCheck_5175_; -goto v_resetjp_5150_; +v___x_5170_ = v_x_5165_; +v_isShared_5171_ = v_isSharedCheck_5194_; +goto v_resetjp_5169_; } else { -lean_inc(v_tail_5149_); -lean_inc(v_value_5148_); -lean_inc(v_key_5147_); -lean_dec(v_x_5146_); -v___x_5151_ = lean_box(0); -v_isShared_5152_ = v_isSharedCheck_5175_; -goto v_resetjp_5150_; +lean_inc(v_tail_5168_); +lean_inc(v_value_5167_); +lean_inc(v_key_5166_); +lean_dec(v_x_5165_); +v___x_5170_ = lean_box(0); +v_isShared_5171_ = v_isSharedCheck_5194_; +goto v_resetjp_5169_; } -v_resetjp_5150_: +v_resetjp_5169_: { -lean_object* v___x_5153_; uint64_t v___y_5155_; -v___x_5153_ = lean_array_get_size(v_x_5145_); -if (lean_obj_tag(v_key_5147_) == 0) +lean_object* v___x_5172_; uint64_t v___y_5174_; +v___x_5172_ = lean_array_get_size(v_x_5164_); +if (lean_obj_tag(v_key_5166_) == 0) { -uint64_t v___x_5173_; -v___x_5173_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); -v___y_5155_ = v___x_5173_; -goto v___jp_5154_; +uint64_t v___x_5192_; +v___x_5192_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); +v___y_5174_ = v___x_5192_; +goto v___jp_5173_; } else { -uint64_t v_hash_5174_; -v_hash_5174_ = lean_ctor_get_uint64(v_key_5147_, sizeof(void*)*2); -v___y_5155_ = v_hash_5174_; -goto v___jp_5154_; +uint64_t v_hash_5193_; +v_hash_5193_ = lean_ctor_get_uint64(v_key_5166_, sizeof(void*)*2); +v___y_5174_ = v_hash_5193_; +goto v___jp_5173_; } -v___jp_5154_: +v___jp_5173_: { -uint64_t v___x_5156_; uint64_t v___x_5157_; uint64_t v_fold_5158_; uint64_t v___x_5159_; uint64_t v___x_5160_; uint64_t v___x_5161_; size_t v___x_5162_; size_t v___x_5163_; size_t v___x_5164_; size_t v___x_5165_; size_t v___x_5166_; lean_object* v___x_5167_; lean_object* v___x_5169_; -v___x_5156_ = 32ULL; -v___x_5157_ = lean_uint64_shift_right(v___y_5155_, v___x_5156_); -v_fold_5158_ = lean_uint64_xor(v___y_5155_, v___x_5157_); -v___x_5159_ = 16ULL; -v___x_5160_ = lean_uint64_shift_right(v_fold_5158_, v___x_5159_); -v___x_5161_ = lean_uint64_xor(v_fold_5158_, v___x_5160_); -v___x_5162_ = lean_uint64_to_usize(v___x_5161_); -v___x_5163_ = lean_usize_of_nat(v___x_5153_); -v___x_5164_ = ((size_t)1ULL); -v___x_5165_ = lean_usize_sub(v___x_5163_, v___x_5164_); -v___x_5166_ = lean_usize_land(v___x_5162_, v___x_5165_); -v___x_5167_ = lean_array_uget_borrowed(v_x_5145_, v___x_5166_); -lean_inc(v___x_5167_); -if (v_isShared_5152_ == 0) +uint64_t v___x_5175_; uint64_t v___x_5176_; uint64_t v_fold_5177_; uint64_t v___x_5178_; uint64_t v___x_5179_; uint64_t v___x_5180_; size_t v___x_5181_; size_t v___x_5182_; size_t v___x_5183_; size_t v___x_5184_; size_t v___x_5185_; lean_object* v___x_5186_; lean_object* v___x_5188_; +v___x_5175_ = 32ULL; +v___x_5176_ = lean_uint64_shift_right(v___y_5174_, v___x_5175_); +v_fold_5177_ = lean_uint64_xor(v___y_5174_, v___x_5176_); +v___x_5178_ = 16ULL; +v___x_5179_ = lean_uint64_shift_right(v_fold_5177_, v___x_5178_); +v___x_5180_ = lean_uint64_xor(v_fold_5177_, v___x_5179_); +v___x_5181_ = lean_uint64_to_usize(v___x_5180_); +v___x_5182_ = lean_usize_of_nat(v___x_5172_); +v___x_5183_ = ((size_t)1ULL); +v___x_5184_ = lean_usize_sub(v___x_5182_, v___x_5183_); +v___x_5185_ = lean_usize_land(v___x_5181_, v___x_5184_); +v___x_5186_ = lean_array_uget_borrowed(v_x_5164_, v___x_5185_); +lean_inc(v___x_5186_); +if (v_isShared_5171_ == 0) { -lean_ctor_set(v___x_5151_, 2, v___x_5167_); -v___x_5169_ = v___x_5151_; -goto v_reusejp_5168_; +lean_ctor_set(v___x_5170_, 2, v___x_5186_); +v___x_5188_ = v___x_5170_; +goto v_reusejp_5187_; } else { -lean_object* v_reuseFailAlloc_5172_; -v_reuseFailAlloc_5172_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_5172_, 0, v_key_5147_); -lean_ctor_set(v_reuseFailAlloc_5172_, 1, v_value_5148_); -lean_ctor_set(v_reuseFailAlloc_5172_, 2, v___x_5167_); -v___x_5169_ = v_reuseFailAlloc_5172_; -goto v_reusejp_5168_; +lean_object* v_reuseFailAlloc_5191_; +v_reuseFailAlloc_5191_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_5191_, 0, v_key_5166_); +lean_ctor_set(v_reuseFailAlloc_5191_, 1, v_value_5167_); +lean_ctor_set(v_reuseFailAlloc_5191_, 2, v___x_5186_); +v___x_5188_ = v_reuseFailAlloc_5191_; +goto v_reusejp_5187_; } -v_reusejp_5168_: +v_reusejp_5187_: { -lean_object* v___x_5170_; -v___x_5170_ = lean_array_uset(v_x_5145_, v___x_5166_, v___x_5169_); -v_x_5145_ = v___x_5170_; -v_x_5146_ = v_tail_5149_; +lean_object* v___x_5189_; +v___x_5189_ = lean_array_uset(v_x_5164_, v___x_5185_, v___x_5188_); +v_x_5164_ = v___x_5189_; +v_x_5165_ = v_tail_5168_; goto _start; } } @@ -14740,293 +14849,293 @@ goto _start; } } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(lean_object* v_i_5176_, lean_object* v_source_5177_, lean_object* v_target_5178_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(lean_object* v_i_5195_, lean_object* v_source_5196_, lean_object* v_target_5197_){ _start: { -lean_object* v___x_5179_; uint8_t v___x_5180_; -v___x_5179_ = lean_array_get_size(v_source_5177_); -v___x_5180_ = lean_nat_dec_lt(v_i_5176_, v___x_5179_); -if (v___x_5180_ == 0) +lean_object* v___x_5198_; uint8_t v___x_5199_; +v___x_5198_ = lean_array_get_size(v_source_5196_); +v___x_5199_ = lean_nat_dec_lt(v_i_5195_, v___x_5198_); +if (v___x_5199_ == 0) { -lean_dec_ref(v_source_5177_); -lean_dec(v_i_5176_); -return v_target_5178_; +lean_dec_ref(v_source_5196_); +lean_dec(v_i_5195_); +return v_target_5197_; } else { -lean_object* v_es_5181_; lean_object* v___x_5182_; lean_object* v_source_5183_; lean_object* v_target_5184_; lean_object* v___x_5185_; lean_object* v___x_5186_; -v_es_5181_ = lean_array_fget(v_source_5177_, v_i_5176_); -v___x_5182_ = lean_box(0); -v_source_5183_ = lean_array_fset(v_source_5177_, v_i_5176_, v___x_5182_); -v_target_5184_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(v_target_5178_, v_es_5181_); -v___x_5185_ = lean_unsigned_to_nat(1u); -v___x_5186_ = lean_nat_add(v_i_5176_, v___x_5185_); -lean_dec(v_i_5176_); -v_i_5176_ = v___x_5186_; -v_source_5177_ = v_source_5183_; -v_target_5178_ = v_target_5184_; +lean_object* v_es_5200_; lean_object* v___x_5201_; lean_object* v_source_5202_; lean_object* v_target_5203_; lean_object* v___x_5204_; lean_object* v___x_5205_; +v_es_5200_ = lean_array_fget(v_source_5196_, v_i_5195_); +v___x_5201_ = lean_box(0); +v_source_5202_ = lean_array_fset(v_source_5196_, v_i_5195_, v___x_5201_); +v_target_5203_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(v_target_5197_, v_es_5200_); +v___x_5204_ = lean_unsigned_to_nat(1u); +v___x_5205_ = lean_nat_add(v_i_5195_, v___x_5204_); +lean_dec(v_i_5195_); +v_i_5195_ = v___x_5205_; +v_source_5196_ = v_source_5202_; +v_target_5197_ = v_target_5203_; goto _start; } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(lean_object* v_data_5188_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(lean_object* v_data_5207_){ _start: { -lean_object* v___x_5189_; lean_object* v___x_5190_; lean_object* v_nbuckets_5191_; lean_object* v___x_5192_; lean_object* v___x_5193_; lean_object* v___x_5194_; lean_object* v___x_5195_; -v___x_5189_ = lean_array_get_size(v_data_5188_); -v___x_5190_ = lean_unsigned_to_nat(2u); -v_nbuckets_5191_ = lean_nat_mul(v___x_5189_, v___x_5190_); -v___x_5192_ = lean_unsigned_to_nat(0u); -v___x_5193_ = lean_box(0); -v___x_5194_ = lean_mk_array(v_nbuckets_5191_, v___x_5193_); -v___x_5195_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(v___x_5192_, v_data_5188_, v___x_5194_); -return v___x_5195_; +lean_object* v___x_5208_; lean_object* v___x_5209_; lean_object* v_nbuckets_5210_; lean_object* v___x_5211_; lean_object* v___x_5212_; lean_object* v___x_5213_; lean_object* v___x_5214_; +v___x_5208_ = lean_array_get_size(v_data_5207_); +v___x_5209_ = lean_unsigned_to_nat(2u); +v_nbuckets_5210_ = lean_nat_mul(v___x_5208_, v___x_5209_); +v___x_5211_ = lean_unsigned_to_nat(0u); +v___x_5212_ = lean_box(0); +v___x_5213_ = lean_mk_array(v_nbuckets_5210_, v___x_5212_); +v___x_5214_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(v___x_5211_, v_data_5207_, v___x_5213_); +return v___x_5214_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(lean_object* v_a_5196_, lean_object* v_b_5197_, lean_object* v_x_5198_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(lean_object* v_a_5215_, lean_object* v_b_5216_, lean_object* v_x_5217_){ _start: { -if (lean_obj_tag(v_x_5198_) == 0) +if (lean_obj_tag(v_x_5217_) == 0) { -lean_dec(v_b_5197_); -lean_dec(v_a_5196_); -return v_x_5198_; +lean_dec(v_b_5216_); +lean_dec(v_a_5215_); +return v_x_5217_; } else { -lean_object* v_key_5199_; lean_object* v_value_5200_; lean_object* v_tail_5201_; lean_object* v___x_5203_; uint8_t v_isShared_5204_; uint8_t v_isSharedCheck_5213_; -v_key_5199_ = lean_ctor_get(v_x_5198_, 0); -v_value_5200_ = lean_ctor_get(v_x_5198_, 1); -v_tail_5201_ = lean_ctor_get(v_x_5198_, 2); -v_isSharedCheck_5213_ = !lean_is_exclusive(v_x_5198_); -if (v_isSharedCheck_5213_ == 0) +lean_object* v_key_5218_; lean_object* v_value_5219_; lean_object* v_tail_5220_; lean_object* v___x_5222_; uint8_t v_isShared_5223_; uint8_t v_isSharedCheck_5232_; +v_key_5218_ = lean_ctor_get(v_x_5217_, 0); +v_value_5219_ = lean_ctor_get(v_x_5217_, 1); +v_tail_5220_ = lean_ctor_get(v_x_5217_, 2); +v_isSharedCheck_5232_ = !lean_is_exclusive(v_x_5217_); +if (v_isSharedCheck_5232_ == 0) { -v___x_5203_ = v_x_5198_; -v_isShared_5204_ = v_isSharedCheck_5213_; -goto v_resetjp_5202_; +v___x_5222_ = v_x_5217_; +v_isShared_5223_ = v_isSharedCheck_5232_; +goto v_resetjp_5221_; } else { -lean_inc(v_tail_5201_); -lean_inc(v_value_5200_); -lean_inc(v_key_5199_); -lean_dec(v_x_5198_); -v___x_5203_ = lean_box(0); -v_isShared_5204_ = v_isSharedCheck_5213_; -goto v_resetjp_5202_; +lean_inc(v_tail_5220_); +lean_inc(v_value_5219_); +lean_inc(v_key_5218_); +lean_dec(v_x_5217_); +v___x_5222_ = lean_box(0); +v_isShared_5223_ = v_isSharedCheck_5232_; +goto v_resetjp_5221_; } -v_resetjp_5202_: +v_resetjp_5221_: { -uint8_t v___x_5205_; -v___x_5205_ = lean_name_eq(v_key_5199_, v_a_5196_); -if (v___x_5205_ == 0) +uint8_t v___x_5224_; +v___x_5224_ = lean_name_eq(v_key_5218_, v_a_5215_); +if (v___x_5224_ == 0) { -lean_object* v___x_5206_; lean_object* v___x_5208_; -v___x_5206_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5196_, v_b_5197_, v_tail_5201_); -if (v_isShared_5204_ == 0) +lean_object* v___x_5225_; lean_object* v___x_5227_; +v___x_5225_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5215_, v_b_5216_, v_tail_5220_); +if (v_isShared_5223_ == 0) { -lean_ctor_set(v___x_5203_, 2, v___x_5206_); -v___x_5208_ = v___x_5203_; -goto v_reusejp_5207_; +lean_ctor_set(v___x_5222_, 2, v___x_5225_); +v___x_5227_ = v___x_5222_; +goto v_reusejp_5226_; } else { -lean_object* v_reuseFailAlloc_5209_; -v_reuseFailAlloc_5209_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_5209_, 0, v_key_5199_); -lean_ctor_set(v_reuseFailAlloc_5209_, 1, v_value_5200_); -lean_ctor_set(v_reuseFailAlloc_5209_, 2, v___x_5206_); -v___x_5208_ = v_reuseFailAlloc_5209_; -goto v_reusejp_5207_; +lean_object* v_reuseFailAlloc_5228_; +v_reuseFailAlloc_5228_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_5228_, 0, v_key_5218_); +lean_ctor_set(v_reuseFailAlloc_5228_, 1, v_value_5219_); +lean_ctor_set(v_reuseFailAlloc_5228_, 2, v___x_5225_); +v___x_5227_ = v_reuseFailAlloc_5228_; +goto v_reusejp_5226_; } -v_reusejp_5207_: +v_reusejp_5226_: { -return v___x_5208_; +return v___x_5227_; } } else { -lean_object* v___x_5211_; -lean_dec(v_value_5200_); -lean_dec(v_key_5199_); -if (v_isShared_5204_ == 0) +lean_object* v___x_5230_; +lean_dec(v_value_5219_); +lean_dec(v_key_5218_); +if (v_isShared_5223_ == 0) { -lean_ctor_set(v___x_5203_, 1, v_b_5197_); -lean_ctor_set(v___x_5203_, 0, v_a_5196_); -v___x_5211_ = v___x_5203_; -goto v_reusejp_5210_; +lean_ctor_set(v___x_5222_, 1, v_b_5216_); +lean_ctor_set(v___x_5222_, 0, v_a_5215_); +v___x_5230_ = v___x_5222_; +goto v_reusejp_5229_; } else { -lean_object* v_reuseFailAlloc_5212_; -v_reuseFailAlloc_5212_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v_reuseFailAlloc_5212_, 0, v_a_5196_); -lean_ctor_set(v_reuseFailAlloc_5212_, 1, v_b_5197_); -lean_ctor_set(v_reuseFailAlloc_5212_, 2, v_tail_5201_); -v___x_5211_ = v_reuseFailAlloc_5212_; -goto v_reusejp_5210_; +lean_object* v_reuseFailAlloc_5231_; +v_reuseFailAlloc_5231_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v_reuseFailAlloc_5231_, 0, v_a_5215_); +lean_ctor_set(v_reuseFailAlloc_5231_, 1, v_b_5216_); +lean_ctor_set(v_reuseFailAlloc_5231_, 2, v_tail_5220_); +v___x_5230_ = v_reuseFailAlloc_5231_; +goto v_reusejp_5229_; } -v_reusejp_5210_: +v_reusejp_5229_: { -return v___x_5211_; +return v___x_5230_; } } } } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(lean_object* v_m_5214_, lean_object* v_a_5215_, lean_object* v_b_5216_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(lean_object* v_m_5233_, lean_object* v_a_5234_, lean_object* v_b_5235_){ _start: { -lean_object* v_size_5217_; lean_object* v_buckets_5218_; lean_object* v___x_5220_; uint8_t v_isShared_5221_; uint8_t v_isSharedCheck_5264_; -v_size_5217_ = lean_ctor_get(v_m_5214_, 0); -v_buckets_5218_ = lean_ctor_get(v_m_5214_, 1); -v_isSharedCheck_5264_ = !lean_is_exclusive(v_m_5214_); -if (v_isSharedCheck_5264_ == 0) +lean_object* v_size_5236_; lean_object* v_buckets_5237_; lean_object* v___x_5239_; uint8_t v_isShared_5240_; uint8_t v_isSharedCheck_5283_; +v_size_5236_ = lean_ctor_get(v_m_5233_, 0); +v_buckets_5237_ = lean_ctor_get(v_m_5233_, 1); +v_isSharedCheck_5283_ = !lean_is_exclusive(v_m_5233_); +if (v_isSharedCheck_5283_ == 0) { -v___x_5220_ = v_m_5214_; -v_isShared_5221_ = v_isSharedCheck_5264_; -goto v_resetjp_5219_; +v___x_5239_ = v_m_5233_; +v_isShared_5240_ = v_isSharedCheck_5283_; +goto v_resetjp_5238_; } else { -lean_inc(v_buckets_5218_); -lean_inc(v_size_5217_); -lean_dec(v_m_5214_); -v___x_5220_ = lean_box(0); -v_isShared_5221_ = v_isSharedCheck_5264_; -goto v_resetjp_5219_; +lean_inc(v_buckets_5237_); +lean_inc(v_size_5236_); +lean_dec(v_m_5233_); +v___x_5239_ = lean_box(0); +v_isShared_5240_ = v_isSharedCheck_5283_; +goto v_resetjp_5238_; } -v_resetjp_5219_: +v_resetjp_5238_: { -lean_object* v___x_5222_; uint64_t v___y_5224_; -v___x_5222_ = lean_array_get_size(v_buckets_5218_); -if (lean_obj_tag(v_a_5215_) == 0) +lean_object* v___x_5241_; uint64_t v___y_5243_; +v___x_5241_ = lean_array_get_size(v_buckets_5237_); +if (lean_obj_tag(v_a_5234_) == 0) { -uint64_t v___x_5262_; -v___x_5262_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); -v___y_5224_ = v___x_5262_; -goto v___jp_5223_; +uint64_t v___x_5281_; +v___x_5281_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); +v___y_5243_ = v___x_5281_; +goto v___jp_5242_; } else { -uint64_t v_hash_5263_; -v_hash_5263_ = lean_ctor_get_uint64(v_a_5215_, sizeof(void*)*2); -v___y_5224_ = v_hash_5263_; -goto v___jp_5223_; +uint64_t v_hash_5282_; +v_hash_5282_ = lean_ctor_get_uint64(v_a_5234_, sizeof(void*)*2); +v___y_5243_ = v_hash_5282_; +goto v___jp_5242_; } -v___jp_5223_: +v___jp_5242_: { -uint64_t v___x_5225_; uint64_t v___x_5226_; uint64_t v_fold_5227_; uint64_t v___x_5228_; uint64_t v___x_5229_; uint64_t v___x_5230_; size_t v___x_5231_; size_t v___x_5232_; size_t v___x_5233_; size_t v___x_5234_; size_t v___x_5235_; lean_object* v_bkt_5236_; uint8_t v___x_5237_; -v___x_5225_ = 32ULL; -v___x_5226_ = lean_uint64_shift_right(v___y_5224_, v___x_5225_); -v_fold_5227_ = lean_uint64_xor(v___y_5224_, v___x_5226_); -v___x_5228_ = 16ULL; -v___x_5229_ = lean_uint64_shift_right(v_fold_5227_, v___x_5228_); -v___x_5230_ = lean_uint64_xor(v_fold_5227_, v___x_5229_); -v___x_5231_ = lean_uint64_to_usize(v___x_5230_); -v___x_5232_ = lean_usize_of_nat(v___x_5222_); -v___x_5233_ = ((size_t)1ULL); -v___x_5234_ = lean_usize_sub(v___x_5232_, v___x_5233_); -v___x_5235_ = lean_usize_land(v___x_5231_, v___x_5234_); -v_bkt_5236_ = lean_array_uget_borrowed(v_buckets_5218_, v___x_5235_); -v___x_5237_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5215_, v_bkt_5236_); -if (v___x_5237_ == 0) +uint64_t v___x_5244_; uint64_t v___x_5245_; uint64_t v_fold_5246_; uint64_t v___x_5247_; uint64_t v___x_5248_; uint64_t v___x_5249_; size_t v___x_5250_; size_t v___x_5251_; size_t v___x_5252_; size_t v___x_5253_; size_t v___x_5254_; lean_object* v_bkt_5255_; uint8_t v___x_5256_; +v___x_5244_ = 32ULL; +v___x_5245_ = lean_uint64_shift_right(v___y_5243_, v___x_5244_); +v_fold_5246_ = lean_uint64_xor(v___y_5243_, v___x_5245_); +v___x_5247_ = 16ULL; +v___x_5248_ = lean_uint64_shift_right(v_fold_5246_, v___x_5247_); +v___x_5249_ = lean_uint64_xor(v_fold_5246_, v___x_5248_); +v___x_5250_ = lean_uint64_to_usize(v___x_5249_); +v___x_5251_ = lean_usize_of_nat(v___x_5241_); +v___x_5252_ = ((size_t)1ULL); +v___x_5253_ = lean_usize_sub(v___x_5251_, v___x_5252_); +v___x_5254_ = lean_usize_land(v___x_5250_, v___x_5253_); +v_bkt_5255_ = lean_array_uget_borrowed(v_buckets_5237_, v___x_5254_); +v___x_5256_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5234_, v_bkt_5255_); +if (v___x_5256_ == 0) { -lean_object* v___x_5238_; lean_object* v_size_x27_5239_; lean_object* v___x_5240_; lean_object* v_buckets_x27_5241_; lean_object* v___x_5242_; lean_object* v___x_5243_; lean_object* v___x_5244_; lean_object* v___x_5245_; lean_object* v___x_5246_; uint8_t v___x_5247_; -v___x_5238_ = lean_unsigned_to_nat(1u); -v_size_x27_5239_ = lean_nat_add(v_size_5217_, v___x_5238_); -lean_dec(v_size_5217_); -lean_inc(v_bkt_5236_); -v___x_5240_ = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(v___x_5240_, 0, v_a_5215_); -lean_ctor_set(v___x_5240_, 1, v_b_5216_); -lean_ctor_set(v___x_5240_, 2, v_bkt_5236_); -v_buckets_x27_5241_ = lean_array_uset(v_buckets_5218_, v___x_5235_, v___x_5240_); -v___x_5242_ = lean_unsigned_to_nat(4u); -v___x_5243_ = lean_nat_mul(v_size_x27_5239_, v___x_5242_); -v___x_5244_ = lean_unsigned_to_nat(3u); -v___x_5245_ = lean_nat_div(v___x_5243_, v___x_5244_); -lean_dec(v___x_5243_); -v___x_5246_ = lean_array_get_size(v_buckets_x27_5241_); -v___x_5247_ = lean_nat_dec_le(v___x_5245_, v___x_5246_); -lean_dec(v___x_5245_); -if (v___x_5247_ == 0) +lean_object* v___x_5257_; lean_object* v_size_x27_5258_; lean_object* v___x_5259_; lean_object* v_buckets_x27_5260_; lean_object* v___x_5261_; lean_object* v___x_5262_; lean_object* v___x_5263_; lean_object* v___x_5264_; lean_object* v___x_5265_; uint8_t v___x_5266_; +v___x_5257_ = lean_unsigned_to_nat(1u); +v_size_x27_5258_ = lean_nat_add(v_size_5236_, v___x_5257_); +lean_dec(v_size_5236_); +lean_inc(v_bkt_5255_); +v___x_5259_ = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(v___x_5259_, 0, v_a_5234_); +lean_ctor_set(v___x_5259_, 1, v_b_5235_); +lean_ctor_set(v___x_5259_, 2, v_bkt_5255_); +v_buckets_x27_5260_ = lean_array_uset(v_buckets_5237_, v___x_5254_, v___x_5259_); +v___x_5261_ = lean_unsigned_to_nat(4u); +v___x_5262_ = lean_nat_mul(v_size_x27_5258_, v___x_5261_); +v___x_5263_ = lean_unsigned_to_nat(3u); +v___x_5264_ = lean_nat_div(v___x_5262_, v___x_5263_); +lean_dec(v___x_5262_); +v___x_5265_ = lean_array_get_size(v_buckets_x27_5260_); +v___x_5266_ = lean_nat_dec_le(v___x_5264_, v___x_5265_); +lean_dec(v___x_5264_); +if (v___x_5266_ == 0) { -lean_object* v_val_5248_; lean_object* v___x_5250_; -v_val_5248_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(v_buckets_x27_5241_); -if (v_isShared_5221_ == 0) +lean_object* v_val_5267_; lean_object* v___x_5269_; +v_val_5267_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(v_buckets_x27_5260_); +if (v_isShared_5240_ == 0) { -lean_ctor_set(v___x_5220_, 1, v_val_5248_); -lean_ctor_set(v___x_5220_, 0, v_size_x27_5239_); -v___x_5250_ = v___x_5220_; -goto v_reusejp_5249_; +lean_ctor_set(v___x_5239_, 1, v_val_5267_); +lean_ctor_set(v___x_5239_, 0, v_size_x27_5258_); +v___x_5269_ = v___x_5239_; +goto v_reusejp_5268_; } else { -lean_object* v_reuseFailAlloc_5251_; -v_reuseFailAlloc_5251_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5251_, 0, v_size_x27_5239_); -lean_ctor_set(v_reuseFailAlloc_5251_, 1, v_val_5248_); -v___x_5250_ = v_reuseFailAlloc_5251_; -goto v_reusejp_5249_; +lean_object* v_reuseFailAlloc_5270_; +v_reuseFailAlloc_5270_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5270_, 0, v_size_x27_5258_); +lean_ctor_set(v_reuseFailAlloc_5270_, 1, v_val_5267_); +v___x_5269_ = v_reuseFailAlloc_5270_; +goto v_reusejp_5268_; } -v_reusejp_5249_: +v_reusejp_5268_: { -return v___x_5250_; +return v___x_5269_; } } else { -lean_object* v___x_5253_; -if (v_isShared_5221_ == 0) +lean_object* v___x_5272_; +if (v_isShared_5240_ == 0) { -lean_ctor_set(v___x_5220_, 1, v_buckets_x27_5241_); -lean_ctor_set(v___x_5220_, 0, v_size_x27_5239_); -v___x_5253_ = v___x_5220_; -goto v_reusejp_5252_; +lean_ctor_set(v___x_5239_, 1, v_buckets_x27_5260_); +lean_ctor_set(v___x_5239_, 0, v_size_x27_5258_); +v___x_5272_ = v___x_5239_; +goto v_reusejp_5271_; } else { -lean_object* v_reuseFailAlloc_5254_; -v_reuseFailAlloc_5254_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5254_, 0, v_size_x27_5239_); -lean_ctor_set(v_reuseFailAlloc_5254_, 1, v_buckets_x27_5241_); -v___x_5253_ = v_reuseFailAlloc_5254_; -goto v_reusejp_5252_; +lean_object* v_reuseFailAlloc_5273_; +v_reuseFailAlloc_5273_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5273_, 0, v_size_x27_5258_); +lean_ctor_set(v_reuseFailAlloc_5273_, 1, v_buckets_x27_5260_); +v___x_5272_ = v_reuseFailAlloc_5273_; +goto v_reusejp_5271_; } -v_reusejp_5252_: +v_reusejp_5271_: { -return v___x_5253_; +return v___x_5272_; } } } else { -lean_object* v___x_5255_; lean_object* v_buckets_x27_5256_; lean_object* v___x_5257_; lean_object* v___x_5258_; lean_object* v___x_5260_; -lean_inc(v_bkt_5236_); -v___x_5255_ = lean_box(0); -v_buckets_x27_5256_ = lean_array_uset(v_buckets_5218_, v___x_5235_, v___x_5255_); -v___x_5257_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5215_, v_b_5216_, v_bkt_5236_); -v___x_5258_ = lean_array_uset(v_buckets_x27_5256_, v___x_5235_, v___x_5257_); -if (v_isShared_5221_ == 0) +lean_object* v___x_5274_; lean_object* v_buckets_x27_5275_; lean_object* v___x_5276_; lean_object* v___x_5277_; lean_object* v___x_5279_; +lean_inc(v_bkt_5255_); +v___x_5274_ = lean_box(0); +v_buckets_x27_5275_ = lean_array_uset(v_buckets_5237_, v___x_5254_, v___x_5274_); +v___x_5276_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5234_, v_b_5235_, v_bkt_5255_); +v___x_5277_ = lean_array_uset(v_buckets_x27_5275_, v___x_5254_, v___x_5276_); +if (v_isShared_5240_ == 0) { -lean_ctor_set(v___x_5220_, 1, v___x_5258_); -v___x_5260_ = v___x_5220_; -goto v_reusejp_5259_; +lean_ctor_set(v___x_5239_, 1, v___x_5277_); +v___x_5279_ = v___x_5239_; +goto v_reusejp_5278_; } else { -lean_object* v_reuseFailAlloc_5261_; -v_reuseFailAlloc_5261_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5261_, 0, v_size_5217_); -lean_ctor_set(v_reuseFailAlloc_5261_, 1, v___x_5258_); -v___x_5260_ = v_reuseFailAlloc_5261_; -goto v_reusejp_5259_; +lean_object* v_reuseFailAlloc_5280_; +v_reuseFailAlloc_5280_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5280_, 0, v_size_5236_); +lean_ctor_set(v_reuseFailAlloc_5280_, 1, v___x_5277_); +v___x_5279_ = v_reuseFailAlloc_5280_; +goto v_reusejp_5278_; } -v_reusejp_5259_: +v_reusejp_5278_: { -return v___x_5260_; +return v___x_5279_; } } } @@ -15036,145 +15145,165 @@ return v___x_5260_; static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2(void){ _start: { -lean_object* v___x_5268_; lean_object* v___x_5269_; -v___x_5268_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__1)); -v___x_5269_ = l_Lean_MessageData_ofFormat(v___x_5268_); -return v___x_5269_; +lean_object* v___x_5287_; lean_object* v___x_5288_; +v___x_5287_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__1)); +v___x_5288_ = l_Lean_MessageData_ofFormat(v___x_5287_); +return v___x_5288_; } } static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5(void){ _start: { -lean_object* v___x_5273_; lean_object* v___x_5274_; -v___x_5273_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__4)); -v___x_5274_ = l_Lean_MessageData_ofFormat(v___x_5273_); -return v___x_5274_; +lean_object* v___x_5292_; lean_object* v___x_5293_; +v___x_5292_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__4)); +v___x_5293_ = l_Lean_MessageData_ofFormat(v___x_5292_); +return v___x_5293_; } } static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8(void){ _start: { -lean_object* v___x_5278_; lean_object* v___x_5279_; -v___x_5278_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__7)); -v___x_5279_ = l_Lean_MessageData_ofFormat(v___x_5278_); -return v___x_5279_; +lean_object* v___x_5297_; lean_object* v___x_5298_; +v___x_5297_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__7)); +v___x_5298_ = l_Lean_MessageData_ofFormat(v___x_5297_); +return v___x_5298_; } } static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11(void){ _start: { -lean_object* v___x_5283_; lean_object* v___x_5284_; -v___x_5283_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__10)); -v___x_5284_ = l_Lean_MessageData_ofFormat(v___x_5283_); -return v___x_5284_; +lean_object* v___x_5302_; lean_object* v___x_5303_; +v___x_5302_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__10)); +v___x_5303_ = l_Lean_MessageData_ofFormat(v___x_5302_); +return v___x_5303_; } } static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14(void){ _start: { -lean_object* v___x_5288_; lean_object* v___x_5289_; -v___x_5288_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__13)); -v___x_5289_ = l_Lean_MessageData_ofFormat(v___x_5288_); -return v___x_5289_; +lean_object* v___x_5307_; lean_object* v___x_5308_; +v___x_5307_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__13)); +v___x_5308_ = l_Lean_MessageData_ofFormat(v___x_5307_); +return v___x_5308_; } } -LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(lean_object* v_a_5290_, lean_object* v_a_5291_){ +static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17(void){ _start: { -if (lean_obj_tag(v_a_5290_) == 0) +lean_object* v___x_5312_; lean_object* v___x_5313_; +v___x_5312_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__16)); +v___x_5313_ = l_Lean_MessageData_ofFormat(v___x_5312_); +return v___x_5313_; +} +} +LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(lean_object* v_a_5314_, lean_object* v_a_5315_){ +_start: { -lean_object* v___x_5292_; -v___x_5292_ = l_List_reverse___redArg(v_a_5291_); -return v___x_5292_; +if (lean_obj_tag(v_a_5314_) == 0) +{ +lean_object* v___x_5316_; +v___x_5316_ = l_List_reverse___redArg(v_a_5315_); +return v___x_5316_; } else { -lean_object* v_head_5293_; lean_object* v_tail_5294_; lean_object* v___x_5296_; uint8_t v_isShared_5297_; uint8_t v_isSharedCheck_5310_; -v_head_5293_ = lean_ctor_get(v_a_5290_, 0); -v_tail_5294_ = lean_ctor_get(v_a_5290_, 1); -v_isSharedCheck_5310_ = !lean_is_exclusive(v_a_5290_); -if (v_isSharedCheck_5310_ == 0) +lean_object* v_head_5317_; lean_object* v_tail_5318_; lean_object* v___x_5320_; uint8_t v_isShared_5321_; uint8_t v_isSharedCheck_5335_; +v_head_5317_ = lean_ctor_get(v_a_5314_, 0); +v_tail_5318_ = lean_ctor_get(v_a_5314_, 1); +v_isSharedCheck_5335_ = !lean_is_exclusive(v_a_5314_); +if (v_isSharedCheck_5335_ == 0) { -v___x_5296_ = v_a_5290_; -v_isShared_5297_ = v_isSharedCheck_5310_; -goto v_resetjp_5295_; +v___x_5320_ = v_a_5314_; +v_isShared_5321_ = v_isSharedCheck_5335_; +goto v_resetjp_5319_; } else { -lean_inc(v_tail_5294_); -lean_inc(v_head_5293_); -lean_dec(v_a_5290_); -v___x_5296_ = lean_box(0); -v_isShared_5297_ = v_isSharedCheck_5310_; -goto v_resetjp_5295_; +lean_inc(v_tail_5318_); +lean_inc(v_head_5317_); +lean_dec(v_a_5314_); +v___x_5320_ = lean_box(0); +v_isShared_5321_ = v_isSharedCheck_5335_; +goto v_resetjp_5319_; } -v_resetjp_5295_: +v_resetjp_5319_: { -lean_object* v___y_5299_; uint8_t v___x_5304_; -v___x_5304_ = lean_unbox(v_head_5293_); -lean_dec(v_head_5293_); -switch(v___x_5304_) +lean_object* v___y_5323_; +switch(lean_obj_tag(v_head_5317_)) { case 0: { -lean_object* v___x_5305_; -v___x_5305_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2); -v___y_5299_ = v___x_5305_; -goto v___jp_5298_; +uint8_t v_weak_5328_; +v_weak_5328_ = lean_ctor_get_uint8(v_head_5317_, 0); +lean_dec_ref(v_head_5317_); +if (v_weak_5328_ == 0) +{ +lean_object* v___x_5329_; +v___x_5329_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__2); +v___y_5323_ = v___x_5329_; +goto v___jp_5322_; +} +else +{ +lean_object* v___x_5330_; +v___x_5330_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5); +v___y_5323_ = v___x_5330_; +goto v___jp_5322_; +} } case 1: { -lean_object* v___x_5306_; -v___x_5306_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__5); -v___y_5299_ = v___x_5306_; -goto v___jp_5298_; +lean_object* v___x_5331_; +v___x_5331_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8); +v___y_5323_ = v___x_5331_; +goto v___jp_5322_; } case 2: { -lean_object* v___x_5307_; -v___x_5307_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__8); -v___y_5299_ = v___x_5307_; -goto v___jp_5298_; +lean_object* v___x_5332_; +v___x_5332_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11); +v___y_5323_ = v___x_5332_; +goto v___jp_5322_; } case 3: { -lean_object* v___x_5308_; -v___x_5308_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__11); -v___y_5299_ = v___x_5308_; -goto v___jp_5298_; +lean_object* v___x_5333_; +v___x_5333_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14); +v___y_5323_ = v___x_5333_; +goto v___jp_5322_; } default: { -lean_object* v___x_5309_; -v___x_5309_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__14); -v___y_5299_ = v___x_5309_; -goto v___jp_5298_; +lean_object* v___x_5334_; +v___x_5334_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9___closed__17); +v___y_5323_ = v___x_5334_; +goto v___jp_5322_; } } -v___jp_5298_: +v___jp_5322_: { -lean_object* v___x_5301_; -lean_inc_ref(v___y_5299_); -if (v_isShared_5297_ == 0) +lean_object* v___x_5325_; +lean_inc_ref(v___y_5323_); +if (v_isShared_5321_ == 0) { -lean_ctor_set(v___x_5296_, 1, v_a_5291_); -lean_ctor_set(v___x_5296_, 0, v___y_5299_); -v___x_5301_ = v___x_5296_; -goto v_reusejp_5300_; +lean_ctor_set(v___x_5320_, 1, v_a_5315_); +lean_ctor_set(v___x_5320_, 0, v___y_5323_); +v___x_5325_ = v___x_5320_; +goto v_reusejp_5324_; } else { -lean_object* v_reuseFailAlloc_5303_; -v_reuseFailAlloc_5303_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5303_, 0, v___y_5299_); -lean_ctor_set(v_reuseFailAlloc_5303_, 1, v_a_5291_); -v___x_5301_ = v_reuseFailAlloc_5303_; -goto v_reusejp_5300_; +lean_object* v_reuseFailAlloc_5327_; +v_reuseFailAlloc_5327_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5327_, 0, v___y_5323_); +lean_ctor_set(v_reuseFailAlloc_5327_, 1, v_a_5315_); +v___x_5325_ = v_reuseFailAlloc_5327_; +goto v_reusejp_5324_; } -v_reusejp_5300_: +v_reusejp_5324_: { -v_a_5290_ = v_tail_5294_; -v_a_5291_ = v___x_5301_; +v_a_5314_ = v_tail_5318_; +v_a_5315_ = v___x_5325_; goto _start; } } @@ -15182,1059 +15311,1059 @@ goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(uint8_t v___x_5311_, uint8_t v_a_5312_, uint8_t v_a_5313_, size_t v_sz_5314_, size_t v_i_5315_, lean_object* v_bs_5316_, lean_object* v___y_5317_, lean_object* v___y_5318_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(uint8_t v___x_5336_, uint8_t v_a_5337_, uint8_t v_a_5338_, size_t v_sz_5339_, size_t v_i_5340_, lean_object* v_bs_5341_, lean_object* v___y_5342_, lean_object* v___y_5343_){ _start: { -uint8_t v___x_5320_; -v___x_5320_ = lean_usize_dec_lt(v_i_5315_, v_sz_5314_); -if (v___x_5320_ == 0) +uint8_t v___x_5345_; +v___x_5345_ = lean_usize_dec_lt(v_i_5340_, v_sz_5339_); +if (v___x_5345_ == 0) { -lean_object* v___x_5321_; -v___x_5321_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_5321_, 0, v_bs_5316_); -return v___x_5321_; +lean_object* v___x_5346_; +v___x_5346_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_5346_, 0, v_bs_5341_); +return v___x_5346_; } else { -lean_object* v_v_5322_; lean_object* v___x_5323_; lean_object* v_bs_x27_5324_; uint8_t v_a_5326_; -v_v_5322_ = lean_array_uget(v_bs_5316_, v_i_5315_); -v___x_5323_ = lean_unsigned_to_nat(0u); -v_bs_x27_5324_ = lean_array_uset(v_bs_5316_, v_i_5315_, v___x_5323_); -if (lean_obj_tag(v_v_5322_) == 1) +lean_object* v_v_5347_; lean_object* v___x_5348_; lean_object* v_bs_x27_5349_; uint8_t v_a_5351_; +v_v_5347_ = lean_array_uget(v_bs_5341_, v_i_5340_); +v___x_5348_ = lean_unsigned_to_nat(0u); +v_bs_x27_5349_ = lean_array_uset(v_bs_5341_, v_i_5340_, v___x_5348_); +if (lean_obj_tag(v_v_5347_) == 1) { -lean_object* v_fvarId_5332_; lean_object* v___x_5333_; -v_fvarId_5332_ = lean_ctor_get(v_v_5322_, 0); -lean_inc(v_fvarId_5332_); -lean_dec_ref(v_v_5322_); -v___x_5333_ = l_Lean_Compiler_LCNF_findParam_x3f___redArg(v___x_5311_, v_fvarId_5332_, v___y_5317_); -lean_dec(v_fvarId_5332_); -if (lean_obj_tag(v___x_5333_) == 0) +lean_object* v_fvarId_5357_; lean_object* v___x_5358_; +v_fvarId_5357_ = lean_ctor_get(v_v_5347_, 0); +lean_inc(v_fvarId_5357_); +lean_dec_ref(v_v_5347_); +v___x_5358_ = l_Lean_Compiler_LCNF_findParam_x3f___redArg(v___x_5336_, v_fvarId_5357_, v___y_5342_); +lean_dec(v_fvarId_5357_); +if (lean_obj_tag(v___x_5358_) == 0) { -lean_object* v_a_5334_; -v_a_5334_ = lean_ctor_get(v___x_5333_, 0); -lean_inc(v_a_5334_); -lean_dec_ref(v___x_5333_); -if (lean_obj_tag(v_a_5334_) == 1) +lean_object* v_a_5359_; +v_a_5359_ = lean_ctor_get(v___x_5358_, 0); +lean_inc(v_a_5359_); +lean_dec_ref(v___x_5358_); +if (lean_obj_tag(v_a_5359_) == 1) { -lean_object* v_val_5335_; lean_object* v_type_5336_; lean_object* v___x_5337_; -v_val_5335_ = lean_ctor_get(v_a_5334_, 0); -lean_inc(v_val_5335_); -lean_dec_ref(v_a_5334_); -v_type_5336_ = lean_ctor_get(v_val_5335_, 2); -lean_inc_ref(v_type_5336_); -lean_dec(v_val_5335_); -lean_inc_ref(v_type_5336_); -v___x_5337_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_5336_, v___y_5318_); -if (lean_obj_tag(v___x_5337_) == 0) +lean_object* v_val_5360_; lean_object* v_type_5361_; lean_object* v___x_5362_; +v_val_5360_ = lean_ctor_get(v_a_5359_, 0); +lean_inc(v_val_5360_); +lean_dec_ref(v_a_5359_); +v_type_5361_ = lean_ctor_get(v_val_5360_, 2); +lean_inc_ref(v_type_5361_); +lean_dec(v_val_5360_); +lean_inc_ref(v_type_5361_); +v___x_5362_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_5361_, v___y_5343_); +if (lean_obj_tag(v___x_5362_) == 0) { -if (lean_obj_tag(v_type_5336_) == 7) +if (lean_obj_tag(v_type_5361_) == 7) { -lean_object* v_a_5338_; -lean_dec_ref(v_type_5336_); -v_a_5338_ = lean_ctor_get(v___x_5337_, 0); -lean_inc(v_a_5338_); -lean_dec_ref(v___x_5337_); -if (lean_obj_tag(v_a_5338_) == 0) +lean_object* v_a_5363_; +lean_dec_ref(v_type_5361_); +v_a_5363_ = lean_ctor_get(v___x_5362_, 0); +lean_inc(v_a_5363_); +lean_dec_ref(v___x_5362_); +if (lean_obj_tag(v_a_5363_) == 0) { -v_a_5326_ = v_a_5312_; -goto v___jp_5325_; +v_a_5351_ = v_a_5337_; +goto v___jp_5350_; } else { -lean_dec_ref(v_a_5338_); -v_a_5326_ = v_a_5313_; -goto v___jp_5325_; +lean_dec_ref(v_a_5363_); +v_a_5351_ = v_a_5338_; +goto v___jp_5350_; } } else { -lean_dec_ref(v___x_5337_); -lean_dec_ref(v_type_5336_); -v_a_5326_ = v_a_5313_; -goto v___jp_5325_; +lean_dec_ref(v___x_5362_); +lean_dec_ref(v_type_5361_); +v_a_5351_ = v_a_5338_; +goto v___jp_5350_; } } else { -lean_object* v_a_5339_; lean_object* v___x_5341_; uint8_t v_isShared_5342_; uint8_t v_isSharedCheck_5346_; -lean_dec_ref(v_type_5336_); -lean_dec_ref(v_bs_x27_5324_); -v_a_5339_ = lean_ctor_get(v___x_5337_, 0); -v_isSharedCheck_5346_ = !lean_is_exclusive(v___x_5337_); -if (v_isSharedCheck_5346_ == 0) +lean_object* v_a_5364_; lean_object* v___x_5366_; uint8_t v_isShared_5367_; uint8_t v_isSharedCheck_5371_; +lean_dec_ref(v_type_5361_); +lean_dec_ref(v_bs_x27_5349_); +v_a_5364_ = lean_ctor_get(v___x_5362_, 0); +v_isSharedCheck_5371_ = !lean_is_exclusive(v___x_5362_); +if (v_isSharedCheck_5371_ == 0) { -v___x_5341_ = v___x_5337_; -v_isShared_5342_ = v_isSharedCheck_5346_; -goto v_resetjp_5340_; +v___x_5366_ = v___x_5362_; +v_isShared_5367_ = v_isSharedCheck_5371_; +goto v_resetjp_5365_; } else { -lean_inc(v_a_5339_); -lean_dec(v___x_5337_); -v___x_5341_ = lean_box(0); -v_isShared_5342_ = v_isSharedCheck_5346_; -goto v_resetjp_5340_; +lean_inc(v_a_5364_); +lean_dec(v___x_5362_); +v___x_5366_ = lean_box(0); +v_isShared_5367_ = v_isSharedCheck_5371_; +goto v_resetjp_5365_; } -v_resetjp_5340_: +v_resetjp_5365_: { -lean_object* v___x_5344_; -if (v_isShared_5342_ == 0) +lean_object* v___x_5369_; +if (v_isShared_5367_ == 0) { -v___x_5344_ = v___x_5341_; -goto v_reusejp_5343_; +v___x_5369_ = v___x_5366_; +goto v_reusejp_5368_; } else { -lean_object* v_reuseFailAlloc_5345_; -v_reuseFailAlloc_5345_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5345_, 0, v_a_5339_); -v___x_5344_ = v_reuseFailAlloc_5345_; -goto v_reusejp_5343_; +lean_object* v_reuseFailAlloc_5370_; +v_reuseFailAlloc_5370_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5370_, 0, v_a_5364_); +v___x_5369_ = v_reuseFailAlloc_5370_; +goto v_reusejp_5368_; } -v_reusejp_5343_: +v_reusejp_5368_: { -return v___x_5344_; +return v___x_5369_; } } } } else { -lean_dec(v_a_5334_); -v_a_5326_ = v_a_5313_; -goto v___jp_5325_; +lean_dec(v_a_5359_); +v_a_5351_ = v_a_5338_; +goto v___jp_5350_; } } else { -lean_object* v_a_5347_; lean_object* v___x_5349_; uint8_t v_isShared_5350_; uint8_t v_isSharedCheck_5354_; -lean_dec_ref(v_bs_x27_5324_); -v_a_5347_ = lean_ctor_get(v___x_5333_, 0); -v_isSharedCheck_5354_ = !lean_is_exclusive(v___x_5333_); -if (v_isSharedCheck_5354_ == 0) +lean_object* v_a_5372_; lean_object* v___x_5374_; uint8_t v_isShared_5375_; uint8_t v_isSharedCheck_5379_; +lean_dec_ref(v_bs_x27_5349_); +v_a_5372_ = lean_ctor_get(v___x_5358_, 0); +v_isSharedCheck_5379_ = !lean_is_exclusive(v___x_5358_); +if (v_isSharedCheck_5379_ == 0) { -v___x_5349_ = v___x_5333_; -v_isShared_5350_ = v_isSharedCheck_5354_; -goto v_resetjp_5348_; +v___x_5374_ = v___x_5358_; +v_isShared_5375_ = v_isSharedCheck_5379_; +goto v_resetjp_5373_; } else { -lean_inc(v_a_5347_); -lean_dec(v___x_5333_); -v___x_5349_ = lean_box(0); -v_isShared_5350_ = v_isSharedCheck_5354_; -goto v_resetjp_5348_; +lean_inc(v_a_5372_); +lean_dec(v___x_5358_); +v___x_5374_ = lean_box(0); +v_isShared_5375_ = v_isSharedCheck_5379_; +goto v_resetjp_5373_; } -v_resetjp_5348_: +v_resetjp_5373_: { -lean_object* v___x_5352_; -if (v_isShared_5350_ == 0) +lean_object* v___x_5377_; +if (v_isShared_5375_ == 0) { -v___x_5352_ = v___x_5349_; -goto v_reusejp_5351_; +v___x_5377_ = v___x_5374_; +goto v_reusejp_5376_; } else { -lean_object* v_reuseFailAlloc_5353_; -v_reuseFailAlloc_5353_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5353_, 0, v_a_5347_); -v___x_5352_ = v_reuseFailAlloc_5353_; -goto v_reusejp_5351_; +lean_object* v_reuseFailAlloc_5378_; +v_reuseFailAlloc_5378_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5378_, 0, v_a_5372_); +v___x_5377_ = v_reuseFailAlloc_5378_; +goto v_reusejp_5376_; } -v_reusejp_5351_: +v_reusejp_5376_: { -return v___x_5352_; +return v___x_5377_; } } } } else { -lean_dec(v_v_5322_); -v_a_5326_ = v_a_5313_; -goto v___jp_5325_; +lean_dec(v_v_5347_); +v_a_5351_ = v_a_5338_; +goto v___jp_5350_; } -v___jp_5325_: +v___jp_5350_: { -size_t v___x_5327_; size_t v___x_5328_; lean_object* v___x_5329_; lean_object* v___x_5330_; -v___x_5327_ = ((size_t)1ULL); -v___x_5328_ = lean_usize_add(v_i_5315_, v___x_5327_); -v___x_5329_ = lean_box(v_a_5326_); -v___x_5330_ = lean_array_uset(v_bs_x27_5324_, v_i_5315_, v___x_5329_); -v_i_5315_ = v___x_5328_; -v_bs_5316_ = v___x_5330_; +size_t v___x_5352_; size_t v___x_5353_; lean_object* v___x_5354_; lean_object* v___x_5355_; +v___x_5352_ = ((size_t)1ULL); +v___x_5353_ = lean_usize_add(v_i_5340_, v___x_5352_); +v___x_5354_ = lean_box(v_a_5351_); +v___x_5355_ = lean_array_uset(v_bs_x27_5349_, v_i_5340_, v___x_5354_); +v_i_5340_ = v___x_5353_; +v_bs_5341_ = v___x_5355_; goto _start; } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg___boxed(lean_object* v___x_5355_, lean_object* v_a_5356_, lean_object* v_a_5357_, lean_object* v_sz_5358_, lean_object* v_i_5359_, lean_object* v_bs_5360_, lean_object* v___y_5361_, lean_object* v___y_5362_, lean_object* v___y_5363_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg___boxed(lean_object* v___x_5380_, lean_object* v_a_5381_, lean_object* v_a_5382_, lean_object* v_sz_5383_, lean_object* v_i_5384_, lean_object* v_bs_5385_, lean_object* v___y_5386_, lean_object* v___y_5387_, lean_object* v___y_5388_){ _start: { -uint8_t v___x_72144__boxed_5364_; uint8_t v_a_72145__boxed_5365_; uint8_t v_a_72146__boxed_5366_; size_t v_sz_boxed_5367_; size_t v_i_boxed_5368_; lean_object* v_res_5369_; -v___x_72144__boxed_5364_ = lean_unbox(v___x_5355_); -v_a_72145__boxed_5365_ = lean_unbox(v_a_5356_); -v_a_72146__boxed_5366_ = lean_unbox(v_a_5357_); -v_sz_boxed_5367_ = lean_unbox_usize(v_sz_5358_); -lean_dec(v_sz_5358_); -v_i_boxed_5368_ = lean_unbox_usize(v_i_5359_); -lean_dec(v_i_5359_); -v_res_5369_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_72144__boxed_5364_, v_a_72145__boxed_5365_, v_a_72146__boxed_5366_, v_sz_boxed_5367_, v_i_boxed_5368_, v_bs_5360_, v___y_5361_, v___y_5362_); -lean_dec(v___y_5362_); -lean_dec(v___y_5361_); -return v_res_5369_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(size_t v_sz_5370_, size_t v_i_5371_, lean_object* v_bs_5372_){ -_start: -{ -uint8_t v___x_5373_; -v___x_5373_ = lean_usize_dec_lt(v_i_5371_, v_sz_5370_); -if (v___x_5373_ == 0) -{ -return v_bs_5372_; -} -else -{ -lean_object* v_v_5374_; lean_object* v_fvarId_5375_; lean_object* v___x_5376_; lean_object* v_bs_x27_5377_; lean_object* v___x_5378_; size_t v___x_5379_; size_t v___x_5380_; lean_object* v___x_5381_; -v_v_5374_ = lean_array_uget_borrowed(v_bs_5372_, v_i_5371_); -v_fvarId_5375_ = lean_ctor_get(v_v_5374_, 0); -lean_inc(v_fvarId_5375_); -v___x_5376_ = lean_unsigned_to_nat(0u); -v_bs_x27_5377_ = lean_array_uset(v_bs_5372_, v_i_5371_, v___x_5376_); -v___x_5378_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_5378_, 0, v_fvarId_5375_); -v___x_5379_ = ((size_t)1ULL); -v___x_5380_ = lean_usize_add(v_i_5371_, v___x_5379_); -v___x_5381_ = lean_array_uset(v_bs_x27_5377_, v_i_5371_, v___x_5378_); -v_i_5371_ = v___x_5380_; -v_bs_5372_ = v___x_5381_; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg___boxed(lean_object* v_sz_5383_, lean_object* v_i_5384_, lean_object* v_bs_5385_){ -_start: -{ -size_t v_sz_boxed_5386_; size_t v_i_boxed_5387_; lean_object* v_res_5388_; -v_sz_boxed_5386_ = lean_unbox_usize(v_sz_5383_); +uint8_t v___x_72417__boxed_5389_; uint8_t v_a_72418__boxed_5390_; uint8_t v_a_72419__boxed_5391_; size_t v_sz_boxed_5392_; size_t v_i_boxed_5393_; lean_object* v_res_5394_; +v___x_72417__boxed_5389_ = lean_unbox(v___x_5380_); +v_a_72418__boxed_5390_ = lean_unbox(v_a_5381_); +v_a_72419__boxed_5391_ = lean_unbox(v_a_5382_); +v_sz_boxed_5392_ = lean_unbox_usize(v_sz_5383_); lean_dec(v_sz_5383_); -v_i_boxed_5387_ = lean_unbox_usize(v_i_5384_); +v_i_boxed_5393_ = lean_unbox_usize(v_i_5384_); lean_dec(v_i_5384_); -v_res_5388_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_boxed_5386_, v_i_boxed_5387_, v_bs_5385_); -return v_res_5388_; +v_res_5394_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_72417__boxed_5389_, v_a_72418__boxed_5390_, v_a_72419__boxed_5391_, v_sz_boxed_5392_, v_i_boxed_5393_, v_bs_5385_, v___y_5386_, v___y_5387_); +lean_dec(v___y_5387_); +lean_dec(v___y_5386_); +return v_res_5394_; } } -LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__2(lean_object* v_a_5389_, lean_object* v_a_5390_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(size_t v_sz_5395_, size_t v_i_5396_, lean_object* v_bs_5397_){ _start: { -if (lean_obj_tag(v_a_5389_) == 0) +uint8_t v___x_5398_; +v___x_5398_ = lean_usize_dec_lt(v_i_5396_, v_sz_5395_); +if (v___x_5398_ == 0) { -lean_object* v___x_5391_; -v___x_5391_ = l_List_reverse___redArg(v_a_5390_); -return v___x_5391_; +return v_bs_5397_; } else { -lean_object* v_head_5392_; lean_object* v_tail_5393_; lean_object* v___x_5395_; uint8_t v_isShared_5396_; uint8_t v_isSharedCheck_5402_; -v_head_5392_ = lean_ctor_get(v_a_5389_, 0); -v_tail_5393_ = lean_ctor_get(v_a_5389_, 1); -v_isSharedCheck_5402_ = !lean_is_exclusive(v_a_5389_); -if (v_isSharedCheck_5402_ == 0) +lean_object* v_v_5399_; lean_object* v_fvarId_5400_; lean_object* v___x_5401_; lean_object* v_bs_x27_5402_; lean_object* v___x_5403_; size_t v___x_5404_; size_t v___x_5405_; lean_object* v___x_5406_; +v_v_5399_ = lean_array_uget_borrowed(v_bs_5397_, v_i_5396_); +v_fvarId_5400_ = lean_ctor_get(v_v_5399_, 0); +lean_inc(v_fvarId_5400_); +v___x_5401_ = lean_unsigned_to_nat(0u); +v_bs_x27_5402_ = lean_array_uset(v_bs_5397_, v_i_5396_, v___x_5401_); +v___x_5403_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_5403_, 0, v_fvarId_5400_); +v___x_5404_ = ((size_t)1ULL); +v___x_5405_ = lean_usize_add(v_i_5396_, v___x_5404_); +v___x_5406_ = lean_array_uset(v_bs_x27_5402_, v_i_5396_, v___x_5403_); +v_i_5396_ = v___x_5405_; +v_bs_5397_ = v___x_5406_; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg___boxed(lean_object* v_sz_5408_, lean_object* v_i_5409_, lean_object* v_bs_5410_){ +_start: { -v___x_5395_ = v_a_5389_; -v_isShared_5396_ = v_isSharedCheck_5402_; -goto v_resetjp_5394_; +size_t v_sz_boxed_5411_; size_t v_i_boxed_5412_; lean_object* v_res_5413_; +v_sz_boxed_5411_ = lean_unbox_usize(v_sz_5408_); +lean_dec(v_sz_5408_); +v_i_boxed_5412_ = lean_unbox_usize(v_i_5409_); +lean_dec(v_i_5409_); +v_res_5413_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_boxed_5411_, v_i_boxed_5412_, v_bs_5410_); +return v_res_5413_; +} +} +LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__2(lean_object* v_a_5414_, lean_object* v_a_5415_){ +_start: +{ +if (lean_obj_tag(v_a_5414_) == 0) +{ +lean_object* v___x_5416_; +v___x_5416_ = l_List_reverse___redArg(v_a_5415_); +return v___x_5416_; } else { -lean_inc(v_tail_5393_); -lean_inc(v_head_5392_); -lean_dec(v_a_5389_); -v___x_5395_ = lean_box(0); -v_isShared_5396_ = v_isSharedCheck_5402_; -goto v_resetjp_5394_; -} -v_resetjp_5394_: +lean_object* v_head_5417_; lean_object* v_tail_5418_; lean_object* v___x_5420_; uint8_t v_isShared_5421_; uint8_t v_isSharedCheck_5427_; +v_head_5417_ = lean_ctor_get(v_a_5414_, 0); +v_tail_5418_ = lean_ctor_get(v_a_5414_, 1); +v_isSharedCheck_5427_ = !lean_is_exclusive(v_a_5414_); +if (v_isSharedCheck_5427_ == 0) { -lean_object* v___x_5397_; lean_object* v___x_5399_; -v___x_5397_ = l_Lean_mkLevelParam(v_head_5392_); -if (v_isShared_5396_ == 0) -{ -lean_ctor_set(v___x_5395_, 1, v_a_5390_); -lean_ctor_set(v___x_5395_, 0, v___x_5397_); -v___x_5399_ = v___x_5395_; -goto v_reusejp_5398_; +v___x_5420_ = v_a_5414_; +v_isShared_5421_ = v_isSharedCheck_5427_; +goto v_resetjp_5419_; } else { -lean_object* v_reuseFailAlloc_5401_; -v_reuseFailAlloc_5401_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5401_, 0, v___x_5397_); -lean_ctor_set(v_reuseFailAlloc_5401_, 1, v_a_5390_); -v___x_5399_ = v_reuseFailAlloc_5401_; -goto v_reusejp_5398_; +lean_inc(v_tail_5418_); +lean_inc(v_head_5417_); +lean_dec(v_a_5414_); +v___x_5420_ = lean_box(0); +v_isShared_5421_ = v_isSharedCheck_5427_; +goto v_resetjp_5419_; } -v_reusejp_5398_: +v_resetjp_5419_: { -v_a_5389_ = v_tail_5393_; -v_a_5390_ = v___x_5399_; +lean_object* v___x_5422_; lean_object* v___x_5424_; +v___x_5422_ = l_Lean_mkLevelParam(v_head_5417_); +if (v_isShared_5421_ == 0) +{ +lean_ctor_set(v___x_5420_, 1, v_a_5415_); +lean_ctor_set(v___x_5420_, 0, v___x_5422_); +v___x_5424_ = v___x_5420_; +goto v_reusejp_5423_; +} +else +{ +lean_object* v_reuseFailAlloc_5426_; +v_reuseFailAlloc_5426_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5426_, 0, v___x_5422_); +lean_ctor_set(v_reuseFailAlloc_5426_, 1, v_a_5415_); +v___x_5424_ = v_reuseFailAlloc_5426_; +goto v_reusejp_5423_; +} +v_reusejp_5423_: +{ +v_a_5414_ = v_tail_5418_; +v_a_5415_ = v___x_5424_; goto _start; } } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(lean_object* v_as_5403_, size_t v_i_5404_, size_t v_stop_5405_, lean_object* v_b_5406_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(lean_object* v_as_5428_, size_t v_i_5429_, size_t v_stop_5430_, lean_object* v_b_5431_){ _start: { -lean_object* v___y_5408_; uint8_t v___x_5412_; -v___x_5412_ = lean_usize_dec_eq(v_i_5404_, v_stop_5405_); -if (v___x_5412_ == 0) +lean_object* v___y_5433_; uint8_t v___x_5437_; +v___x_5437_ = lean_usize_dec_eq(v_i_5429_, v_stop_5430_); +if (v___x_5437_ == 0) { -lean_object* v___x_5413_; -v___x_5413_ = lean_array_uget_borrowed(v_as_5403_, v_i_5404_); -if (lean_obj_tag(v___x_5413_) == 0) +lean_object* v___x_5438_; +v___x_5438_ = lean_array_uget_borrowed(v_as_5428_, v_i_5429_); +if (lean_obj_tag(v___x_5438_) == 0) { -v___y_5408_ = v_b_5406_; -goto v___jp_5407_; +v___y_5433_ = v_b_5431_; +goto v___jp_5432_; } else { -lean_object* v_val_5414_; lean_object* v___x_5415_; -v_val_5414_ = lean_ctor_get(v___x_5413_, 0); -lean_inc(v_val_5414_); -v___x_5415_ = lean_array_push(v_b_5406_, v_val_5414_); -v___y_5408_ = v___x_5415_; -goto v___jp_5407_; +lean_object* v_val_5439_; lean_object* v___x_5440_; +v_val_5439_ = lean_ctor_get(v___x_5438_, 0); +lean_inc(v_val_5439_); +v___x_5440_ = lean_array_push(v_b_5431_, v_val_5439_); +v___y_5433_ = v___x_5440_; +goto v___jp_5432_; } } else { -return v_b_5406_; +return v_b_5431_; } -v___jp_5407_: +v___jp_5432_: { -size_t v___x_5409_; size_t v___x_5410_; -v___x_5409_ = ((size_t)1ULL); -v___x_5410_ = lean_usize_add(v_i_5404_, v___x_5409_); -v_i_5404_ = v___x_5410_; -v_b_5406_ = v___y_5408_; +size_t v___x_5434_; size_t v___x_5435_; +v___x_5434_ = ((size_t)1ULL); +v___x_5435_ = lean_usize_add(v_i_5429_, v___x_5434_); +v_i_5429_ = v___x_5435_; +v_b_5431_ = v___y_5433_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1___boxed(lean_object* v_as_5416_, lean_object* v_i_5417_, lean_object* v_stop_5418_, lean_object* v_b_5419_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1___boxed(lean_object* v_as_5441_, lean_object* v_i_5442_, lean_object* v_stop_5443_, lean_object* v_b_5444_){ _start: { -size_t v_i_boxed_5420_; size_t v_stop_boxed_5421_; lean_object* v_res_5422_; -v_i_boxed_5420_ = lean_unbox_usize(v_i_5417_); -lean_dec(v_i_5417_); -v_stop_boxed_5421_ = lean_unbox_usize(v_stop_5418_); -lean_dec(v_stop_5418_); -v_res_5422_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5416_, v_i_boxed_5420_, v_stop_boxed_5421_, v_b_5419_); -lean_dec_ref(v_as_5416_); -return v_res_5422_; +size_t v_i_boxed_5445_; size_t v_stop_boxed_5446_; lean_object* v_res_5447_; +v_i_boxed_5445_ = lean_unbox_usize(v_i_5442_); +lean_dec(v_i_5442_); +v_stop_boxed_5446_ = lean_unbox_usize(v_stop_5443_); +lean_dec(v_stop_5443_); +v_res_5447_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5441_, v_i_boxed_5445_, v_stop_boxed_5446_, v_b_5444_); +lean_dec_ref(v_as_5441_); +return v_res_5447_; } } -LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(lean_object* v_as_5423_, lean_object* v_start_5424_, lean_object* v_stop_5425_){ +LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(lean_object* v_as_5448_, lean_object* v_start_5449_, lean_object* v_stop_5450_){ _start: { -lean_object* v___x_5426_; uint8_t v___x_5427_; -v___x_5426_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___closed__0)); -v___x_5427_ = lean_nat_dec_lt(v_start_5424_, v_stop_5425_); -if (v___x_5427_ == 0) +lean_object* v___x_5451_; uint8_t v___x_5452_; +v___x_5451_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs___closed__0)); +v___x_5452_ = lean_nat_dec_lt(v_start_5449_, v_stop_5450_); +if (v___x_5452_ == 0) { -return v___x_5426_; +return v___x_5451_; } else { -lean_object* v___x_5428_; uint8_t v___x_5429_; -v___x_5428_ = lean_array_get_size(v_as_5423_); -v___x_5429_ = lean_nat_dec_le(v_stop_5425_, v___x_5428_); -if (v___x_5429_ == 0) +lean_object* v___x_5453_; uint8_t v___x_5454_; +v___x_5453_ = lean_array_get_size(v_as_5448_); +v___x_5454_ = lean_nat_dec_le(v_stop_5450_, v___x_5453_); +if (v___x_5454_ == 0) { -uint8_t v___x_5430_; -v___x_5430_ = lean_nat_dec_lt(v_start_5424_, v___x_5428_); -if (v___x_5430_ == 0) +uint8_t v___x_5455_; +v___x_5455_ = lean_nat_dec_lt(v_start_5449_, v___x_5453_); +if (v___x_5455_ == 0) { -return v___x_5426_; +return v___x_5451_; } else { -size_t v___x_5431_; size_t v___x_5432_; lean_object* v___x_5433_; -v___x_5431_ = lean_usize_of_nat(v_start_5424_); -v___x_5432_ = lean_usize_of_nat(v___x_5428_); -v___x_5433_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5423_, v___x_5431_, v___x_5432_, v___x_5426_); -return v___x_5433_; +size_t v___x_5456_; size_t v___x_5457_; lean_object* v___x_5458_; +v___x_5456_ = lean_usize_of_nat(v_start_5449_); +v___x_5457_ = lean_usize_of_nat(v___x_5453_); +v___x_5458_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5448_, v___x_5456_, v___x_5457_, v___x_5451_); +return v___x_5458_; } } else { -size_t v___x_5434_; size_t v___x_5435_; lean_object* v___x_5436_; -v___x_5434_ = lean_usize_of_nat(v_start_5424_); -v___x_5435_ = lean_usize_of_nat(v_stop_5425_); -v___x_5436_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5423_, v___x_5434_, v___x_5435_, v___x_5426_); -return v___x_5436_; +size_t v___x_5459_; size_t v___x_5460_; lean_object* v___x_5461_; +v___x_5459_ = lean_usize_of_nat(v_start_5449_); +v___x_5460_ = lean_usize_of_nat(v_stop_5450_); +v___x_5461_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1_spec__1(v_as_5448_, v___x_5459_, v___x_5460_, v___x_5451_); +return v___x_5461_; } } } } -LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1___boxed(lean_object* v_as_5437_, lean_object* v_start_5438_, lean_object* v_stop_5439_){ +LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1___boxed(lean_object* v_as_5462_, lean_object* v_start_5463_, lean_object* v_stop_5464_){ _start: { -lean_object* v_res_5440_; -v_res_5440_ = l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(v_as_5437_, v_start_5438_, v_stop_5439_); -lean_dec(v_stop_5439_); -lean_dec(v_start_5438_); -lean_dec_ref(v_as_5437_); -return v_res_5440_; +lean_object* v_res_5465_; +v_res_5465_ = l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(v_as_5462_, v_start_5463_, v_stop_5464_); +lean_dec(v_stop_5464_); +lean_dec(v_start_5463_); +lean_dec_ref(v_as_5462_); +return v_res_5465_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4(void){ _start: { -lean_object* v___x_5448_; lean_object* v___x_5449_; -v___x_5448_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__3)); -v___x_5449_ = l_Lean_stringToMessageData(v___x_5448_); -return v___x_5449_; +lean_object* v___x_5473_; lean_object* v___x_5474_; +v___x_5473_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__3)); +v___x_5474_ = l_Lean_stringToMessageData(v___x_5473_); +return v___x_5474_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6(void){ _start: { -lean_object* v___x_5451_; lean_object* v___x_5452_; -v___x_5451_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__5)); -v___x_5452_ = l_Lean_stringToMessageData(v___x_5451_); -return v___x_5452_; +lean_object* v___x_5476_; lean_object* v___x_5477_; +v___x_5476_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__5)); +v___x_5477_ = l_Lean_stringToMessageData(v___x_5476_); +return v___x_5477_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8(void){ _start: { -lean_object* v___x_5454_; lean_object* v___x_5455_; -v___x_5454_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__7)); -v___x_5455_ = l_Lean_stringToMessageData(v___x_5454_); -return v___x_5455_; +lean_object* v___x_5479_; lean_object* v___x_5480_; +v___x_5479_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__7)); +v___x_5480_ = l_Lean_stringToMessageData(v___x_5479_); +return v___x_5480_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11(void){ _start: { -lean_object* v___x_5458_; lean_object* v___x_5459_; lean_object* v___x_5460_; lean_object* v___x_5461_; lean_object* v___x_5462_; lean_object* v___x_5463_; -v___x_5458_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__10)); -v___x_5459_ = lean_unsigned_to_nat(4u); -v___x_5460_ = lean_unsigned_to_nat(415u); -v___x_5461_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__9)); -v___x_5462_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); -v___x_5463_ = l_mkPanicMessageWithDecl(v___x_5462_, v___x_5461_, v___x_5460_, v___x_5459_, v___x_5458_); -return v___x_5463_; +lean_object* v___x_5483_; lean_object* v___x_5484_; lean_object* v___x_5485_; lean_object* v___x_5486_; lean_object* v___x_5487_; lean_object* v___x_5488_; +v___x_5483_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__10)); +v___x_5484_ = lean_unsigned_to_nat(4u); +v___x_5485_ = lean_unsigned_to_nat(416u); +v___x_5486_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__9)); +v___x_5487_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); +v___x_5488_ = l_mkPanicMessageWithDecl(v___x_5487_, v___x_5486_, v___x_5485_, v___x_5484_, v___x_5483_); +return v___x_5488_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13(void){ _start: { -lean_object* v___x_5465_; lean_object* v___x_5466_; lean_object* v___x_5467_; lean_object* v___x_5468_; lean_object* v___x_5469_; lean_object* v___x_5470_; -v___x_5465_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__12)); -v___x_5466_ = lean_unsigned_to_nat(4u); -v___x_5467_ = lean_unsigned_to_nat(414u); -v___x_5468_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__9)); -v___x_5469_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); -v___x_5470_ = l_mkPanicMessageWithDecl(v___x_5469_, v___x_5468_, v___x_5467_, v___x_5466_, v___x_5465_); -return v___x_5470_; +lean_object* v___x_5490_; lean_object* v___x_5491_; lean_object* v___x_5492_; lean_object* v___x_5493_; lean_object* v___x_5494_; lean_object* v___x_5495_; +v___x_5490_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__12)); +v___x_5491_ = lean_unsigned_to_nat(4u); +v___x_5492_ = lean_unsigned_to_nat(415u); +v___x_5493_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__9)); +v___x_5494_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl_go___closed__0)); +v___x_5495_ = l_mkPanicMessageWithDecl(v___x_5494_, v___x_5493_, v___x_5492_, v___x_5491_, v___x_5490_); +return v___x_5495_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17(void){ _start: { -lean_object* v___x_5477_; lean_object* v___x_5478_; -v___x_5477_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__16)); -v___x_5478_ = l_Lean_stringToMessageData(v___x_5477_); -return v___x_5478_; +lean_object* v___x_5502_; lean_object* v___x_5503_; +v___x_5502_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__16)); +v___x_5503_ = l_Lean_stringToMessageData(v___x_5502_); +return v___x_5503_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19(void){ _start: { -lean_object* v___x_5480_; lean_object* v___x_5481_; -v___x_5480_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__18)); -v___x_5481_ = l_Lean_stringToMessageData(v___x_5480_); -return v___x_5481_; +lean_object* v___x_5505_; lean_object* v___x_5506_; +v___x_5505_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__18)); +v___x_5506_ = l_Lean_stringToMessageData(v___x_5505_); +return v___x_5506_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21(void){ _start: { -lean_object* v___x_5483_; lean_object* v___x_5484_; -v___x_5483_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__20)); -v___x_5484_ = l_Lean_stringToMessageData(v___x_5483_); -return v___x_5484_; +lean_object* v___x_5508_; lean_object* v___x_5509_; +v___x_5508_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__20)); +v___x_5509_ = l_Lean_stringToMessageData(v___x_5508_); +return v___x_5509_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23(void){ _start: { -lean_object* v___x_5486_; lean_object* v___x_5487_; -v___x_5486_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__22)); -v___x_5487_ = l_Lean_stringToMessageData(v___x_5486_); -return v___x_5487_; +lean_object* v___x_5511_; lean_object* v___x_5512_; +v___x_5511_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__22)); +v___x_5512_ = l_Lean_stringToMessageData(v___x_5511_); +return v___x_5512_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(lean_object* v_e_5490_, lean_object* v_a_5491_, lean_object* v_a_5492_, lean_object* v_a_5493_, lean_object* v_a_5494_, lean_object* v_a_5495_, lean_object* v_a_5496_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(lean_object* v_e_5515_, lean_object* v_a_5516_, lean_object* v_a_5517_, lean_object* v_a_5518_, lean_object* v_a_5519_, lean_object* v_a_5520_, lean_object* v_a_5521_){ _start: { -lean_object* v___y_5499_; lean_object* v___y_5500_; lean_object* v___y_5501_; lean_object* v___y_5502_; lean_object* v___y_5503_; lean_object* v___y_5526_; lean_object* v___y_5527_; lean_object* v___y_5528_; -if (lean_obj_tag(v_e_5490_) == 3) +lean_object* v___y_5524_; lean_object* v___y_5525_; lean_object* v___y_5526_; lean_object* v___y_5527_; lean_object* v___y_5528_; lean_object* v___y_5551_; lean_object* v___y_5552_; lean_object* v___y_5553_; +if (lean_obj_tag(v_e_5515_) == 3) { -lean_object* v_declName_5532_; lean_object* v_us_5533_; lean_object* v_args_5534_; lean_object* v___x_5535_; lean_object* v___x_5536_; uint8_t v___x_5537_; -v_declName_5532_ = lean_ctor_get(v_e_5490_, 0); -lean_inc(v_declName_5532_); -v_us_5533_ = lean_ctor_get(v_e_5490_, 1); -lean_inc(v_us_5533_); -v_args_5534_ = lean_ctor_get(v_e_5490_, 2); -lean_inc_ref(v_args_5534_); -v___x_5535_ = lean_array_get_size(v_args_5534_); -v___x_5536_ = lean_unsigned_to_nat(0u); -v___x_5537_ = lean_nat_dec_eq(v___x_5535_, v___x_5536_); -if (v___x_5537_ == 0) +lean_object* v_declName_5557_; lean_object* v_us_5558_; lean_object* v_args_5559_; lean_object* v___x_5560_; lean_object* v___x_5561_; uint8_t v___x_5562_; +v_declName_5557_ = lean_ctor_get(v_e_5515_, 0); +lean_inc(v_declName_5557_); +v_us_5558_ = lean_ctor_get(v_e_5515_, 1); +lean_inc(v_us_5558_); +v_args_5559_ = lean_ctor_get(v_e_5515_, 2); +lean_inc_ref(v_args_5559_); +v___x_5560_ = lean_array_get_size(v_args_5559_); +v___x_5561_ = lean_unsigned_to_nat(0u); +v___x_5562_ = lean_nat_dec_eq(v___x_5560_, v___x_5561_); +if (v___x_5562_ == 0) { -lean_object* v___x_5538_; lean_object* v_a_5539_; lean_object* v___x_5541_; uint8_t v_isShared_5542_; uint8_t v_isSharedCheck_5883_; -lean_inc(v_declName_5532_); -v___x_5538_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_5532_, v_a_5496_); -v_a_5539_ = lean_ctor_get(v___x_5538_, 0); -v_isSharedCheck_5883_ = !lean_is_exclusive(v___x_5538_); -if (v_isSharedCheck_5883_ == 0) +lean_object* v___x_5563_; lean_object* v_a_5564_; lean_object* v___x_5566_; uint8_t v_isShared_5567_; uint8_t v_isSharedCheck_5908_; +lean_inc(v_declName_5557_); +v___x_5563_ = l_Lean_isImplicitReducible___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__0___redArg(v_declName_5557_, v_a_5521_); +v_a_5564_ = lean_ctor_get(v___x_5563_, 0); +v_isSharedCheck_5908_ = !lean_is_exclusive(v___x_5563_); +if (v_isSharedCheck_5908_ == 0) { -v___x_5541_ = v___x_5538_; -v_isShared_5542_ = v_isSharedCheck_5883_; -goto v_resetjp_5540_; +v___x_5566_ = v___x_5563_; +v_isShared_5567_ = v_isSharedCheck_5908_; +goto v_resetjp_5565_; } else { -lean_inc(v_a_5539_); -lean_dec(v___x_5538_); -v___x_5541_ = lean_box(0); -v_isShared_5542_ = v_isSharedCheck_5883_; -goto v_resetjp_5540_; +lean_inc(v_a_5564_); +lean_dec(v___x_5563_); +v___x_5566_ = lean_box(0); +v_isShared_5567_ = v_isSharedCheck_5908_; +goto v_resetjp_5565_; } -v_resetjp_5540_: +v_resetjp_5565_: { -uint8_t v___x_5543_; -v___x_5543_ = lean_unbox(v_a_5539_); -if (v___x_5543_ == 0) +uint8_t v___x_5568_; +v___x_5568_ = lean_unbox(v_a_5564_); +if (v___x_5568_ == 0) { -lean_object* v___x_5544_; lean_object* v_a_5545_; lean_object* v___x_5547_; uint8_t v_isShared_5548_; uint8_t v_isSharedCheck_5878_; -lean_del_object(v___x_5541_); -lean_inc(v_declName_5532_); -v___x_5544_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(v_declName_5532_, v_a_5491_, v_a_5492_, v_a_5493_, v_a_5494_, v_a_5495_, v_a_5496_); -v_a_5545_ = lean_ctor_get(v___x_5544_, 0); -v_isSharedCheck_5878_ = !lean_is_exclusive(v___x_5544_); -if (v_isSharedCheck_5878_ == 0) +lean_object* v___x_5569_; lean_object* v_a_5570_; lean_object* v___x_5572_; uint8_t v_isShared_5573_; uint8_t v_isSharedCheck_5903_; +lean_del_object(v___x_5566_); +lean_inc(v_declName_5557_); +v___x_5569_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f(v_declName_5557_, v_a_5516_, v_a_5517_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_); +v_a_5570_ = lean_ctor_get(v___x_5569_, 0); +v_isSharedCheck_5903_ = !lean_is_exclusive(v___x_5569_); +if (v_isSharedCheck_5903_ == 0) { -v___x_5547_ = v___x_5544_; -v_isShared_5548_ = v_isSharedCheck_5878_; -goto v_resetjp_5546_; +v___x_5572_ = v___x_5569_; +v_isShared_5573_ = v_isSharedCheck_5903_; +goto v_resetjp_5571_; } else { -lean_inc(v_a_5545_); -lean_dec(v___x_5544_); -v___x_5547_ = lean_box(0); -v_isShared_5548_ = v_isSharedCheck_5878_; -goto v_resetjp_5546_; +lean_inc(v_a_5570_); +lean_dec(v___x_5569_); +v___x_5572_ = lean_box(0); +v_isShared_5573_ = v_isSharedCheck_5903_; +goto v_resetjp_5571_; } -v_resetjp_5546_: +v_resetjp_5571_: { -if (lean_obj_tag(v_a_5545_) == 1) +if (lean_obj_tag(v_a_5570_) == 1) { -lean_object* v_val_5549_; lean_object* v___x_5550_; -lean_del_object(v___x_5547_); -v_val_5549_ = lean_ctor_get(v_a_5545_, 0); -lean_inc(v_val_5549_); -lean_dec_ref(v_a_5545_); -lean_inc_ref(v_args_5534_); -v___x_5550_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(v_val_5549_, v_args_5534_, v_a_5491_, v_a_5492_, v_a_5493_, v_a_5494_, v_a_5495_, v_a_5496_); -if (lean_obj_tag(v___x_5550_) == 0) +lean_object* v_val_5574_; lean_object* v___x_5575_; +lean_del_object(v___x_5572_); +v_val_5574_ = lean_ctor_get(v_a_5570_, 0); +lean_inc(v_val_5574_); +lean_dec_ref(v_a_5570_); +lean_inc_ref(v_args_5559_); +v___x_5575_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize(v_val_5574_, v_args_5559_, v_a_5516_, v_a_5517_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_); +if (lean_obj_tag(v___x_5575_) == 0) { -lean_object* v_a_5551_; lean_object* v___x_5553_; uint8_t v_isShared_5554_; uint8_t v_isSharedCheck_5865_; -v_a_5551_ = lean_ctor_get(v___x_5550_, 0); -v_isSharedCheck_5865_ = !lean_is_exclusive(v___x_5550_); -if (v_isSharedCheck_5865_ == 0) +lean_object* v_a_5576_; lean_object* v___x_5578_; uint8_t v_isShared_5579_; uint8_t v_isSharedCheck_5890_; +v_a_5576_ = lean_ctor_get(v___x_5575_, 0); +v_isSharedCheck_5890_ = !lean_is_exclusive(v___x_5575_); +if (v_isSharedCheck_5890_ == 0) { -v___x_5553_ = v___x_5550_; -v_isShared_5554_ = v_isSharedCheck_5865_; -goto v_resetjp_5552_; +v___x_5578_ = v___x_5575_; +v_isShared_5579_ = v_isSharedCheck_5890_; +goto v_resetjp_5577_; } else { -lean_inc(v_a_5551_); -lean_dec(v___x_5550_); -v___x_5553_ = lean_box(0); -v_isShared_5554_ = v_isSharedCheck_5865_; -goto v_resetjp_5552_; +lean_inc(v_a_5576_); +lean_dec(v___x_5575_); +v___x_5578_ = lean_box(0); +v_isShared_5579_ = v_isSharedCheck_5890_; +goto v_resetjp_5577_; } -v_resetjp_5552_: +v_resetjp_5577_: { -uint8_t v___x_5555_; -v___x_5555_ = lean_unbox(v_a_5551_); -if (v___x_5555_ == 0) +uint8_t v___x_5580_; +v___x_5580_ = lean_unbox(v_a_5576_); +if (v___x_5580_ == 0) { -lean_object* v___x_5556_; lean_object* v___x_5558_; -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v___x_5556_ = lean_box(0); -if (v_isShared_5554_ == 0) +lean_object* v___x_5581_; lean_object* v___x_5583_; +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v___x_5581_ = lean_box(0); +if (v_isShared_5579_ == 0) { -lean_ctor_set(v___x_5553_, 0, v___x_5556_); -v___x_5558_ = v___x_5553_; -goto v_reusejp_5557_; +lean_ctor_set(v___x_5578_, 0, v___x_5581_); +v___x_5583_ = v___x_5578_; +goto v_reusejp_5582_; } else { -lean_object* v_reuseFailAlloc_5559_; -v_reuseFailAlloc_5559_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5559_, 0, v___x_5556_); -v___x_5558_ = v_reuseFailAlloc_5559_; -goto v_reusejp_5557_; +lean_object* v_reuseFailAlloc_5584_; +v_reuseFailAlloc_5584_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5584_, 0, v___x_5581_); +v___x_5583_ = v_reuseFailAlloc_5584_; +goto v_reusejp_5582_; } -v_reusejp_5557_: +v_reusejp_5582_: { -return v___x_5558_; +return v___x_5583_; } } else { -lean_object* v___x_5560_; -lean_del_object(v___x_5553_); -v___x_5560_ = l_Lean_Compiler_LCNF_getPhase___redArg(v_a_5493_); -if (lean_obj_tag(v___x_5560_) == 0) +lean_object* v___x_5585_; +lean_del_object(v___x_5578_); +v___x_5585_ = l_Lean_Compiler_LCNF_getPhase___redArg(v_a_5518_); +if (lean_obj_tag(v___x_5585_) == 0) { -lean_object* v_a_5561_; lean_object* v___x_5563_; uint8_t v_isShared_5564_; uint8_t v_isSharedCheck_5856_; -v_a_5561_ = lean_ctor_get(v___x_5560_, 0); -v_isSharedCheck_5856_ = !lean_is_exclusive(v___x_5560_); -if (v_isSharedCheck_5856_ == 0) +lean_object* v_a_5586_; lean_object* v___x_5588_; uint8_t v_isShared_5589_; uint8_t v_isSharedCheck_5881_; +v_a_5586_ = lean_ctor_get(v___x_5585_, 0); +v_isSharedCheck_5881_ = !lean_is_exclusive(v___x_5585_); +if (v_isSharedCheck_5881_ == 0) { -v___x_5563_ = v___x_5560_; -v_isShared_5564_ = v_isSharedCheck_5856_; -goto v_resetjp_5562_; +v___x_5588_ = v___x_5585_; +v_isShared_5589_ = v_isSharedCheck_5881_; +goto v_resetjp_5587_; } else { -lean_inc(v_a_5561_); -lean_dec(v___x_5560_); -v___x_5563_ = lean_box(0); -v_isShared_5564_ = v_isSharedCheck_5856_; -goto v_resetjp_5562_; +lean_inc(v_a_5586_); +lean_dec(v___x_5585_); +v___x_5588_ = lean_box(0); +v_isShared_5589_ = v_isSharedCheck_5881_; +goto v_resetjp_5587_; } -v_resetjp_5562_: +v_resetjp_5587_: { -uint8_t v___x_5565_; lean_object* v___x_5566_; -v___x_5565_ = lean_unbox(v_a_5561_); -lean_inc(v_declName_5532_); -v___x_5566_ = l_Lean_Compiler_LCNF_getDeclAt_x3f(v_declName_5532_, v___x_5565_, v_a_5495_, v_a_5496_); -if (lean_obj_tag(v___x_5566_) == 0) +uint8_t v___x_5590_; lean_object* v___x_5591_; +v___x_5590_ = lean_unbox(v_a_5586_); +lean_inc(v_declName_5557_); +v___x_5591_ = l_Lean_Compiler_LCNF_getDeclAt_x3f(v_declName_5557_, v___x_5590_, v_a_5520_, v_a_5521_); +if (lean_obj_tag(v___x_5591_) == 0) { -lean_object* v_a_5567_; lean_object* v___x_5569_; uint8_t v_isShared_5570_; uint8_t v_isSharedCheck_5847_; -v_a_5567_ = lean_ctor_get(v___x_5566_, 0); -v_isSharedCheck_5847_ = !lean_is_exclusive(v___x_5566_); -if (v_isSharedCheck_5847_ == 0) +lean_object* v_a_5592_; lean_object* v___x_5594_; uint8_t v_isShared_5595_; uint8_t v_isSharedCheck_5872_; +v_a_5592_ = lean_ctor_get(v___x_5591_, 0); +v_isSharedCheck_5872_ = !lean_is_exclusive(v___x_5591_); +if (v_isSharedCheck_5872_ == 0) { -v___x_5569_ = v___x_5566_; -v_isShared_5570_ = v_isSharedCheck_5847_; -goto v_resetjp_5568_; +v___x_5594_ = v___x_5591_; +v_isShared_5595_ = v_isSharedCheck_5872_; +goto v_resetjp_5593_; } else { -lean_inc(v_a_5567_); -lean_dec(v___x_5566_); -v___x_5569_ = lean_box(0); -v_isShared_5570_ = v_isSharedCheck_5847_; -goto v_resetjp_5568_; +lean_inc(v_a_5592_); +lean_dec(v___x_5591_); +v___x_5594_ = lean_box(0); +v_isShared_5595_ = v_isSharedCheck_5872_; +goto v_resetjp_5593_; } -v_resetjp_5568_: +v_resetjp_5593_: { -if (lean_obj_tag(v_a_5567_) == 1) +if (lean_obj_tag(v_a_5592_) == 1) { -lean_object* v_val_5576_; uint8_t v___x_5577_; uint8_t v___x_5578_; -v_val_5576_ = lean_ctor_get(v_a_5567_, 0); -lean_inc(v_val_5576_); -lean_dec_ref(v_a_5567_); -v___x_5577_ = lean_unbox(v_a_5561_); -lean_dec(v_a_5561_); -v___x_5578_ = l_Lean_Compiler_LCNF_Phase_toPurity(v___x_5577_); -if (v___x_5578_ == 0) +lean_object* v_val_5601_; uint8_t v___x_5602_; uint8_t v___x_5603_; +v_val_5601_ = lean_ctor_get(v_a_5592_, 0); +lean_inc(v_val_5601_); +lean_dec_ref(v_a_5592_); +v___x_5602_ = lean_unbox(v_a_5586_); +lean_dec(v_a_5586_); +v___x_5603_ = l_Lean_Compiler_LCNF_Phase_toPurity(v___x_5602_); +if (v___x_5603_ == 0) { -lean_object* v_value_5579_; -lean_del_object(v___x_5569_); -v_value_5579_ = lean_ctor_get(v_val_5576_, 1); -if (lean_obj_tag(v_value_5579_) == 0) +lean_object* v_value_5604_; +lean_del_object(v___x_5594_); +v_value_5604_ = lean_ctor_get(v_val_5601_, 1); +if (lean_obj_tag(v_value_5604_) == 0) { -lean_object* v___y_5581_; lean_object* v___y_5582_; lean_object* v___y_5583_; lean_object* v___y_5584_; lean_object* v___y_5585_; lean_object* v___y_5586_; lean_object* v___y_5587_; lean_object* v___y_5588_; lean_object* v___y_5589_; lean_object* v___y_5590_; lean_object* v___y_5591_; lean_object* v___y_5592_; lean_object* v___x_5741_; lean_object* v___y_5743_; lean_object* v___y_5744_; lean_object* v___y_5745_; lean_object* v___y_5746_; lean_object* v___y_5747_; lean_object* v___y_5748_; lean_object* v___x_5800_; lean_object* v_a_5801_; lean_object* v___x_5803_; uint8_t v_isShared_5804_; uint8_t v_isSharedCheck_5842_; -lean_del_object(v___x_5563_); -v___x_5741_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__15)); -v___x_5800_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5741_, v_a_5495_); -v_a_5801_ = lean_ctor_get(v___x_5800_, 0); -v_isSharedCheck_5842_ = !lean_is_exclusive(v___x_5800_); -if (v_isSharedCheck_5842_ == 0) +lean_object* v___y_5606_; lean_object* v___y_5607_; lean_object* v___y_5608_; lean_object* v___y_5609_; lean_object* v___y_5610_; lean_object* v___y_5611_; lean_object* v___y_5612_; lean_object* v___y_5613_; lean_object* v___y_5614_; lean_object* v___y_5615_; lean_object* v___y_5616_; lean_object* v___y_5617_; lean_object* v___x_5766_; lean_object* v___y_5768_; lean_object* v___y_5769_; lean_object* v___y_5770_; lean_object* v___y_5771_; lean_object* v___y_5772_; lean_object* v___y_5773_; lean_object* v___x_5825_; lean_object* v_a_5826_; lean_object* v___x_5828_; uint8_t v_isShared_5829_; uint8_t v_isSharedCheck_5867_; +lean_del_object(v___x_5588_); +v___x_5766_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__15)); +v___x_5825_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5766_, v_a_5520_); +v_a_5826_ = lean_ctor_get(v___x_5825_, 0); +v_isSharedCheck_5867_ = !lean_is_exclusive(v___x_5825_); +if (v_isSharedCheck_5867_ == 0) { -v___x_5803_ = v___x_5800_; -v_isShared_5804_ = v_isSharedCheck_5842_; -goto v_resetjp_5802_; +v___x_5828_ = v___x_5825_; +v_isShared_5829_ = v_isSharedCheck_5867_; +goto v_resetjp_5827_; } else { -lean_inc(v_a_5801_); -lean_dec(v___x_5800_); -v___x_5803_ = lean_box(0); -v_isShared_5804_ = v_isSharedCheck_5842_; -goto v_resetjp_5802_; +lean_inc(v_a_5826_); +lean_dec(v___x_5825_); +v___x_5828_ = lean_box(0); +v_isShared_5829_ = v_isSharedCheck_5867_; +goto v_resetjp_5827_; } -v___jp_5580_: +v___jp_5605_: { -uint8_t v___x_5593_; -v___x_5593_ = l_Lean_Expr_hasLooseBVars(v___y_5585_); -if (v___x_5593_ == 0) +uint8_t v___x_5618_; +v___x_5618_ = l_Lean_Expr_hasLooseBVars(v___y_5611_); +if (v___x_5618_ == 0) { -uint8_t v___x_5594_; -v___x_5594_ = l_Lean_Expr_hasFVar(v___y_5585_); -if (v___x_5594_ == 0) +uint8_t v___x_5619_; +v___x_5619_ = l_Lean_Expr_hasFVar(v___y_5611_); +if (v___x_5619_ == 0) { -lean_object* v___x_5595_; lean_object* v_a_5596_; size_t v_sz_5597_; lean_object* v___x_5598_; lean_object* v___x_5599_; size_t v___x_5600_; lean_object* v___x_5601_; lean_object* v___x_5602_; lean_object* v___x_5603_; -v___x_5595_ = l_Lean_Compiler_LCNF_Specialize_findSpecCache_x3f___redArg(v___y_5585_, v___y_5592_); -v_a_5596_ = lean_ctor_get(v___x_5595_, 0); -lean_inc(v_a_5596_); -lean_dec_ref(v___x_5595_); -v_sz_5597_ = lean_array_size(v___y_5584_); -v___x_5598_ = lean_box(0); -lean_inc(v___y_5586_); -v___x_5599_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__2(v___y_5586_, v___x_5598_); -v___x_5600_ = ((size_t)0ULL); -lean_inc_ref(v___y_5584_); -v___x_5601_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_5597_, v___x_5600_, v___y_5584_); -v___x_5602_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(v___y_5581_, v_args_5534_); -lean_dec_ref(v___y_5581_); -v___x_5603_ = l_Array_append___redArg(v___x_5601_, v___x_5602_); -lean_dec_ref(v___x_5602_); -if (lean_obj_tag(v_a_5596_) == 1) +lean_object* v___x_5620_; lean_object* v_a_5621_; size_t v_sz_5622_; lean_object* v___x_5623_; lean_object* v___x_5624_; size_t v___x_5625_; lean_object* v___x_5626_; lean_object* v___x_5627_; lean_object* v___x_5628_; +v___x_5620_ = l_Lean_Compiler_LCNF_Specialize_findSpecCache_x3f___redArg(v___y_5611_, v___y_5617_); +v_a_5621_ = lean_ctor_get(v___x_5620_, 0); +lean_inc(v_a_5621_); +lean_dec_ref(v___x_5620_); +v_sz_5622_ = lean_array_size(v___y_5606_); +v___x_5623_ = lean_box(0); +lean_inc(v___y_5607_); +v___x_5624_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__2(v___y_5607_, v___x_5623_); +v___x_5625_ = ((size_t)0ULL); +lean_inc_ref(v___y_5606_); +v___x_5626_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_5622_, v___x_5625_, v___y_5606_); +v___x_5627_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getRemainingArgs(v___y_5610_, v_args_5559_); +lean_dec_ref(v___y_5610_); +v___x_5628_ = l_Array_append___redArg(v___x_5626_, v___x_5627_); +lean_dec_ref(v___x_5627_); +if (lean_obj_tag(v_a_5621_) == 1) { -lean_object* v_val_5604_; lean_object* v___x_5605_; lean_object* v___x_5606_; lean_object* v_a_5607_; uint8_t v___x_5608_; -lean_dec(v___y_5586_); -lean_dec_ref(v___y_5585_); -lean_dec_ref(v___y_5584_); -lean_dec_ref(v___y_5583_); -lean_dec_ref(v___y_5582_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec(v_us_5533_); -v_val_5604_ = lean_ctor_get(v_a_5596_, 0); -lean_inc(v_val_5604_); -lean_dec_ref(v_a_5596_); -v___x_5605_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_5606_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5605_, v___y_5591_); -v_a_5607_ = lean_ctor_get(v___x_5606_, 0); -lean_inc(v_a_5607_); -lean_dec_ref(v___x_5606_); -v___x_5608_ = lean_unbox(v_a_5607_); -lean_dec(v_a_5607_); -if (v___x_5608_ == 0) -{ -v___y_5526_ = v___x_5603_; -v___y_5527_ = v___x_5599_; -v___y_5528_ = v_val_5604_; -goto v___jp_5525_; -} -else -{ -lean_object* v___x_5609_; lean_object* v___x_5610_; lean_object* v___x_5611_; lean_object* v___x_5612_; -v___x_5609_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4); -lean_inc(v_val_5604_); -v___x_5610_ = l_Lean_MessageData_ofName(v_val_5604_); -v___x_5611_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5611_, 0, v___x_5609_); -lean_ctor_set(v___x_5611_, 1, v___x_5610_); -v___x_5612_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5605_, v___x_5611_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5612_) == 0) -{ -lean_dec_ref(v___x_5612_); -v___y_5526_ = v___x_5603_; -v___y_5527_ = v___x_5599_; -v___y_5528_ = v_val_5604_; -goto v___jp_5525_; -} -else -{ -lean_object* v_a_5613_; lean_object* v___x_5615_; uint8_t v_isShared_5616_; uint8_t v_isSharedCheck_5620_; -lean_dec(v_val_5604_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -v_a_5613_ = lean_ctor_get(v___x_5612_, 0); -v_isSharedCheck_5620_ = !lean_is_exclusive(v___x_5612_); -if (v_isSharedCheck_5620_ == 0) -{ -v___x_5615_ = v___x_5612_; -v_isShared_5616_ = v_isSharedCheck_5620_; -goto v_resetjp_5614_; -} -else -{ -lean_inc(v_a_5613_); -lean_dec(v___x_5612_); -v___x_5615_ = lean_box(0); -v_isShared_5616_ = v_isSharedCheck_5620_; -goto v_resetjp_5614_; -} -v_resetjp_5614_: -{ -lean_object* v___x_5618_; -if (v_isShared_5616_ == 0) -{ -v___x_5618_ = v___x_5615_; -goto v_reusejp_5617_; -} -else -{ -lean_object* v_reuseFailAlloc_5619_; -v_reuseFailAlloc_5619_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5619_, 0, v_a_5613_); -v___x_5618_ = v_reuseFailAlloc_5619_; -goto v_reusejp_5617_; -} -v_reusejp_5617_: -{ -return v___x_5618_; -} -} -} -} -} -else -{ -lean_object* v___x_5621_; -lean_dec(v_a_5596_); -v___x_5621_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(v_val_5576_, v_us_5533_, v___y_5582_, v___y_5584_, v___y_5583_, v___y_5586_, v___y_5587_, v___y_5588_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5621_) == 0) -{ -lean_object* v_a_5622_; size_t v_sz_5623_; uint8_t v___x_5624_; uint8_t v___x_5625_; lean_object* v___x_5626_; -v_a_5622_ = lean_ctor_get(v___x_5621_, 0); -lean_inc(v_a_5622_); -lean_dec_ref(v___x_5621_); -v_sz_5623_ = lean_array_size(v___x_5603_); -v___x_5624_ = lean_unbox(v_a_5551_); -v___x_5625_ = lean_unbox(v_a_5539_); -lean_inc_ref(v___x_5603_); -v___x_5626_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_5578_, v___x_5624_, v___x_5625_, v_sz_5623_, v___x_5600_, v___x_5603_, v___y_5590_, v___y_5592_); -if (lean_obj_tag(v___x_5626_) == 0) -{ -lean_object* v_toSignature_5627_; lean_object* v_a_5628_; lean_object* v_name_5629_; lean_object* v___x_5630_; lean_object* v___x_5631_; -v_toSignature_5627_ = lean_ctor_get(v_a_5622_, 0); -v_a_5628_ = lean_ctor_get(v___x_5626_, 0); -lean_inc(v_a_5628_); -lean_dec_ref(v___x_5626_); -v_name_5629_ = lean_ctor_get(v_toSignature_5627_, 0); -lean_inc(v_name_5629_); -v___x_5630_ = l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg(v___y_5585_, v_name_5629_, v___y_5592_); -lean_dec_ref(v___x_5630_); -lean_inc(v_a_5622_); -v___x_5631_ = l_Lean_Compiler_LCNF_Decl_saveBase___redArg(v_a_5622_, v___y_5592_); -if (lean_obj_tag(v___x_5631_) == 0) -{ -lean_object* v___x_5632_; +lean_object* v_val_5629_; lean_object* v___x_5630_; lean_object* v___x_5631_; lean_object* v_a_5632_; uint8_t v___x_5633_; +lean_dec_ref(v___y_5611_); +lean_dec_ref(v___y_5609_); +lean_dec_ref(v___y_5608_); +lean_dec(v___y_5607_); +lean_dec_ref(v___y_5606_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec(v_us_5558_); +v_val_5629_ = lean_ctor_get(v_a_5621_, 0); +lean_inc(v_val_5629_); +lean_dec_ref(v_a_5621_); +v___x_5630_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_5631_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5630_, v___y_5616_); +v_a_5632_ = lean_ctor_get(v___x_5631_, 0); +lean_inc(v_a_5632_); lean_dec_ref(v___x_5631_); -v___x_5632_ = l_Lean_Compiler_LCNF_Decl_etaExpand(v_a_5622_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5632_) == 0) +v___x_5633_ = lean_unbox(v_a_5632_); +lean_dec(v_a_5632_); +if (v___x_5633_ == 0) { -lean_object* v_a_5633_; lean_object* v___x_5634_; -v_a_5633_ = lean_ctor_get(v___x_5632_, 0); -lean_inc(v_a_5633_); -lean_dec_ref(v___x_5632_); -lean_inc(v_a_5633_); -v___x_5634_ = l_Lean_Compiler_LCNF_Decl_saveBase___redArg(v_a_5633_, v___y_5592_); -if (lean_obj_tag(v___x_5634_) == 0) -{ -lean_object* v___x_5635_; uint8_t v___x_5636_; uint8_t v___x_5637_; uint8_t v___x_5638_; uint8_t v___x_5639_; lean_object* v___x_5640_; -lean_dec_ref(v___x_5634_); -v___x_5635_ = lean_alloc_ctor(0, 0, 4); -v___x_5636_ = lean_unbox(v_a_5539_); -lean_ctor_set_uint8(v___x_5635_, 0, v___x_5636_); -v___x_5637_ = lean_unbox(v_a_5539_); -lean_ctor_set_uint8(v___x_5635_, 1, v___x_5637_); -v___x_5638_ = lean_unbox(v_a_5539_); -lean_dec(v_a_5539_); -lean_ctor_set_uint8(v___x_5635_, 2, v___x_5638_); -v___x_5639_ = lean_unbox(v_a_5551_); -lean_ctor_set_uint8(v___x_5635_, 3, v___x_5639_); -v___x_5640_ = l_Lean_Compiler_LCNF_Decl_simp(v_a_5633_, v___x_5635_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5640_) == 0) -{ -lean_object* v_a_5641_; lean_object* v___x_5642_; uint8_t v___x_5643_; uint8_t v___x_5644_; uint8_t v___x_5645_; uint8_t v___x_5646_; lean_object* v___x_5647_; -v_a_5641_ = lean_ctor_get(v___x_5640_, 0); -lean_inc(v_a_5641_); -lean_dec_ref(v___x_5640_); -v___x_5642_ = lean_alloc_ctor(0, 0, 4); -v___x_5643_ = lean_unbox(v_a_5551_); -lean_ctor_set_uint8(v___x_5642_, 0, v___x_5643_); -v___x_5644_ = lean_unbox(v_a_5551_); -lean_ctor_set_uint8(v___x_5642_, 1, v___x_5644_); -v___x_5645_ = lean_unbox(v_a_5551_); -lean_ctor_set_uint8(v___x_5642_, 2, v___x_5645_); -v___x_5646_ = lean_unbox(v_a_5551_); -lean_dec(v_a_5551_); -lean_ctor_set_uint8(v___x_5642_, 3, v___x_5646_); -v___x_5647_ = l_Lean_Compiler_LCNF_Decl_simp(v_a_5641_, v___x_5642_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5647_) == 0) -{ -lean_object* v_a_5648_; lean_object* v___x_5649_; lean_object* v___x_5650_; lean_object* v_a_5651_; uint8_t v___x_5652_; -v_a_5648_ = lean_ctor_get(v___x_5647_, 0); -lean_inc(v_a_5648_); -lean_dec_ref(v___x_5647_); -v___x_5649_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_5650_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5649_, v___y_5591_); -v_a_5651_ = lean_ctor_get(v___x_5650_, 0); -lean_inc(v_a_5651_); -lean_dec_ref(v___x_5650_); -v___x_5652_ = lean_unbox(v_a_5651_); -lean_dec(v_a_5651_); -if (v___x_5652_ == 0) -{ -v___y_5499_ = v___x_5603_; -v___y_5500_ = v___x_5599_; -v___y_5501_ = v_a_5628_; -v___y_5502_ = v_a_5648_; -v___y_5503_ = v___y_5588_; -goto v___jp_5498_; +v___y_5551_ = v_val_5629_; +v___y_5552_ = v___x_5624_; +v___y_5553_ = v___x_5628_; +goto v___jp_5550_; } else { -lean_object* v___x_5653_; -lean_inc(v_a_5648_); -v___x_5653_ = l_Lean_Compiler_LCNF_ppDecl(v___x_5578_, v_a_5648_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5653_) == 0) +lean_object* v___x_5634_; lean_object* v___x_5635_; lean_object* v___x_5636_; lean_object* v___x_5637_; +v___x_5634_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__4); +lean_inc(v_val_5629_); +v___x_5635_ = l_Lean_MessageData_ofName(v_val_5629_); +v___x_5636_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5636_, 0, v___x_5634_); +lean_ctor_set(v___x_5636_, 1, v___x_5635_); +v___x_5637_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5630_, v___x_5636_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5637_) == 0) { -lean_object* v_toSignature_5654_; lean_object* v_a_5655_; lean_object* v_name_5656_; lean_object* v___x_5657_; lean_object* v___x_5658_; lean_object* v___x_5659_; lean_object* v___x_5660_; lean_object* v___x_5661_; lean_object* v___x_5662_; lean_object* v___x_5663_; lean_object* v___x_5664_; -v_toSignature_5654_ = lean_ctor_get(v_a_5648_, 0); -v_a_5655_ = lean_ctor_get(v___x_5653_, 0); -lean_inc(v_a_5655_); -lean_dec_ref(v___x_5653_); -v_name_5656_ = lean_ctor_get(v_toSignature_5654_, 0); -v___x_5657_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6); -lean_inc(v_name_5656_); -v___x_5658_ = l_Lean_MessageData_ofName(v_name_5656_); -v___x_5659_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5659_, 0, v___x_5657_); -lean_ctor_set(v___x_5659_, 1, v___x_5658_); -v___x_5660_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8); -v___x_5661_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5661_, 0, v___x_5659_); -lean_ctor_set(v___x_5661_, 1, v___x_5660_); -v___x_5662_ = l_Lean_MessageData_ofFormat(v_a_5655_); -v___x_5663_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5663_, 0, v___x_5661_); -lean_ctor_set(v___x_5663_, 1, v___x_5662_); -v___x_5664_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5649_, v___x_5663_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -if (lean_obj_tag(v___x_5664_) == 0) -{ -lean_dec_ref(v___x_5664_); -v___y_5499_ = v___x_5603_; -v___y_5500_ = v___x_5599_; -v___y_5501_ = v_a_5628_; -v___y_5502_ = v_a_5648_; -v___y_5503_ = v___y_5588_; -goto v___jp_5498_; +lean_dec_ref(v___x_5637_); +v___y_5551_ = v_val_5629_; +v___y_5552_ = v___x_5624_; +v___y_5553_ = v___x_5628_; +goto v___jp_5550_; } else { -lean_object* v_a_5665_; lean_object* v___x_5667_; uint8_t v_isShared_5668_; uint8_t v_isSharedCheck_5672_; -lean_dec(v_a_5648_); -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -v_a_5665_ = lean_ctor_get(v___x_5664_, 0); -v_isSharedCheck_5672_ = !lean_is_exclusive(v___x_5664_); -if (v_isSharedCheck_5672_ == 0) +lean_object* v_a_5638_; lean_object* v___x_5640_; uint8_t v_isShared_5641_; uint8_t v_isSharedCheck_5645_; +lean_dec(v_val_5629_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +v_a_5638_ = lean_ctor_get(v___x_5637_, 0); +v_isSharedCheck_5645_ = !lean_is_exclusive(v___x_5637_); +if (v_isSharedCheck_5645_ == 0) { -v___x_5667_ = v___x_5664_; -v_isShared_5668_ = v_isSharedCheck_5672_; -goto v_resetjp_5666_; +v___x_5640_ = v___x_5637_; +v_isShared_5641_ = v_isSharedCheck_5645_; +goto v_resetjp_5639_; } else { -lean_inc(v_a_5665_); -lean_dec(v___x_5664_); -v___x_5667_ = lean_box(0); -v_isShared_5668_ = v_isSharedCheck_5672_; -goto v_resetjp_5666_; +lean_inc(v_a_5638_); +lean_dec(v___x_5637_); +v___x_5640_ = lean_box(0); +v_isShared_5641_ = v_isSharedCheck_5645_; +goto v_resetjp_5639_; } -v_resetjp_5666_: +v_resetjp_5639_: { -lean_object* v___x_5670_; -if (v_isShared_5668_ == 0) +lean_object* v___x_5643_; +if (v_isShared_5641_ == 0) { -v___x_5670_ = v___x_5667_; -goto v_reusejp_5669_; +v___x_5643_ = v___x_5640_; +goto v_reusejp_5642_; } else { -lean_object* v_reuseFailAlloc_5671_; -v_reuseFailAlloc_5671_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5671_, 0, v_a_5665_); -v___x_5670_ = v_reuseFailAlloc_5671_; -goto v_reusejp_5669_; +lean_object* v_reuseFailAlloc_5644_; +v_reuseFailAlloc_5644_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5644_, 0, v_a_5638_); +v___x_5643_ = v_reuseFailAlloc_5644_; +goto v_reusejp_5642_; } -v_reusejp_5669_: +v_reusejp_5642_: { -return v___x_5670_; +return v___x_5643_; +} } } } } else { -lean_object* v_a_5673_; lean_object* v___x_5675_; uint8_t v_isShared_5676_; uint8_t v_isSharedCheck_5680_; -lean_dec(v_a_5648_); -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -v_a_5673_ = lean_ctor_get(v___x_5653_, 0); -v_isSharedCheck_5680_ = !lean_is_exclusive(v___x_5653_); -if (v_isSharedCheck_5680_ == 0) +lean_object* v___x_5646_; +lean_dec(v_a_5621_); +v___x_5646_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl(v_val_5601_, v_us_5558_, v___y_5608_, v___y_5606_, v___y_5609_, v___y_5607_, v___y_5612_, v___y_5613_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5646_) == 0) { -v___x_5675_ = v___x_5653_; -v_isShared_5676_ = v_isSharedCheck_5680_; -goto v_resetjp_5674_; -} -else +lean_object* v_a_5647_; size_t v_sz_5648_; uint8_t v___x_5649_; uint8_t v___x_5650_; lean_object* v___x_5651_; +v_a_5647_ = lean_ctor_get(v___x_5646_, 0); +lean_inc(v_a_5647_); +lean_dec_ref(v___x_5646_); +v_sz_5648_ = lean_array_size(v___x_5628_); +v___x_5649_ = lean_unbox(v_a_5576_); +v___x_5650_ = lean_unbox(v_a_5564_); +lean_inc_ref(v___x_5628_); +v___x_5651_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_5603_, v___x_5649_, v___x_5650_, v_sz_5648_, v___x_5625_, v___x_5628_, v___y_5615_, v___y_5617_); +if (lean_obj_tag(v___x_5651_) == 0) { +lean_object* v_toSignature_5652_; lean_object* v_a_5653_; lean_object* v_name_5654_; lean_object* v___x_5655_; lean_object* v___x_5656_; +v_toSignature_5652_ = lean_ctor_get(v_a_5647_, 0); +v_a_5653_ = lean_ctor_get(v___x_5651_, 0); +lean_inc(v_a_5653_); +lean_dec_ref(v___x_5651_); +v_name_5654_ = lean_ctor_get(v_toSignature_5652_, 0); +lean_inc(v_name_5654_); +v___x_5655_ = l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg(v___y_5611_, v_name_5654_, v___y_5617_); +lean_dec_ref(v___x_5655_); +lean_inc(v_a_5647_); +v___x_5656_ = l_Lean_Compiler_LCNF_Decl_saveBase___redArg(v_a_5647_, v___y_5617_); +if (lean_obj_tag(v___x_5656_) == 0) +{ +lean_object* v___x_5657_; +lean_dec_ref(v___x_5656_); +v___x_5657_ = l_Lean_Compiler_LCNF_Decl_etaExpand(v_a_5647_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5657_) == 0) +{ +lean_object* v_a_5658_; lean_object* v___x_5659_; +v_a_5658_ = lean_ctor_get(v___x_5657_, 0); +lean_inc(v_a_5658_); +lean_dec_ref(v___x_5657_); +lean_inc(v_a_5658_); +v___x_5659_ = l_Lean_Compiler_LCNF_Decl_saveBase___redArg(v_a_5658_, v___y_5617_); +if (lean_obj_tag(v___x_5659_) == 0) +{ +lean_object* v___x_5660_; uint8_t v___x_5661_; uint8_t v___x_5662_; uint8_t v___x_5663_; uint8_t v___x_5664_; lean_object* v___x_5665_; +lean_dec_ref(v___x_5659_); +v___x_5660_ = lean_alloc_ctor(0, 0, 4); +v___x_5661_ = lean_unbox(v_a_5564_); +lean_ctor_set_uint8(v___x_5660_, 0, v___x_5661_); +v___x_5662_ = lean_unbox(v_a_5564_); +lean_ctor_set_uint8(v___x_5660_, 1, v___x_5662_); +v___x_5663_ = lean_unbox(v_a_5564_); +lean_dec(v_a_5564_); +lean_ctor_set_uint8(v___x_5660_, 2, v___x_5663_); +v___x_5664_ = lean_unbox(v_a_5576_); +lean_ctor_set_uint8(v___x_5660_, 3, v___x_5664_); +v___x_5665_ = l_Lean_Compiler_LCNF_Decl_simp(v_a_5658_, v___x_5660_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5665_) == 0) +{ +lean_object* v_a_5666_; lean_object* v___x_5667_; uint8_t v___x_5668_; uint8_t v___x_5669_; uint8_t v___x_5670_; uint8_t v___x_5671_; lean_object* v___x_5672_; +v_a_5666_ = lean_ctor_get(v___x_5665_, 0); +lean_inc(v_a_5666_); +lean_dec_ref(v___x_5665_); +v___x_5667_ = lean_alloc_ctor(0, 0, 4); +v___x_5668_ = lean_unbox(v_a_5576_); +lean_ctor_set_uint8(v___x_5667_, 0, v___x_5668_); +v___x_5669_ = lean_unbox(v_a_5576_); +lean_ctor_set_uint8(v___x_5667_, 1, v___x_5669_); +v___x_5670_ = lean_unbox(v_a_5576_); +lean_ctor_set_uint8(v___x_5667_, 2, v___x_5670_); +v___x_5671_ = lean_unbox(v_a_5576_); +lean_dec(v_a_5576_); +lean_ctor_set_uint8(v___x_5667_, 3, v___x_5671_); +v___x_5672_ = l_Lean_Compiler_LCNF_Decl_simp(v_a_5666_, v___x_5667_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5672_) == 0) +{ +lean_object* v_a_5673_; lean_object* v___x_5674_; lean_object* v___x_5675_; lean_object* v_a_5676_; uint8_t v___x_5677_; +v_a_5673_ = lean_ctor_get(v___x_5672_, 0); lean_inc(v_a_5673_); -lean_dec(v___x_5653_); -v___x_5675_ = lean_box(0); -v_isShared_5676_ = v_isSharedCheck_5680_; -goto v_resetjp_5674_; +lean_dec_ref(v___x_5672_); +v___x_5674_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_5675_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5674_, v___y_5616_); +v_a_5676_ = lean_ctor_get(v___x_5675_, 0); +lean_inc(v_a_5676_); +lean_dec_ref(v___x_5675_); +v___x_5677_ = lean_unbox(v_a_5676_); +lean_dec(v_a_5676_); +if (v___x_5677_ == 0) +{ +v___y_5524_ = v_a_5673_; +v___y_5525_ = v___x_5624_; +v___y_5526_ = v_a_5653_; +v___y_5527_ = v___x_5628_; +v___y_5528_ = v___y_5613_; +goto v___jp_5523_; } -v_resetjp_5674_: +else { lean_object* v___x_5678_; -if (v_isShared_5676_ == 0) +lean_inc(v_a_5673_); +v___x_5678_ = l_Lean_Compiler_LCNF_ppDecl(v___x_5603_, v_a_5673_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5678_) == 0) { -v___x_5678_ = v___x_5675_; -goto v_reusejp_5677_; +lean_object* v_toSignature_5679_; lean_object* v_a_5680_; lean_object* v_name_5681_; lean_object* v___x_5682_; lean_object* v___x_5683_; lean_object* v___x_5684_; lean_object* v___x_5685_; lean_object* v___x_5686_; lean_object* v___x_5687_; lean_object* v___x_5688_; lean_object* v___x_5689_; +v_toSignature_5679_ = lean_ctor_get(v_a_5673_, 0); +v_a_5680_ = lean_ctor_get(v___x_5678_, 0); +lean_inc(v_a_5680_); +lean_dec_ref(v___x_5678_); +v_name_5681_ = lean_ctor_get(v_toSignature_5679_, 0); +v___x_5682_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__6); +lean_inc(v_name_5681_); +v___x_5683_ = l_Lean_MessageData_ofName(v_name_5681_); +v___x_5684_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5684_, 0, v___x_5682_); +lean_ctor_set(v___x_5684_, 1, v___x_5683_); +v___x_5685_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8); +v___x_5686_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5686_, 0, v___x_5684_); +lean_ctor_set(v___x_5686_, 1, v___x_5685_); +v___x_5687_ = l_Lean_MessageData_ofFormat(v_a_5680_); +v___x_5688_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5688_, 0, v___x_5686_); +lean_ctor_set(v___x_5688_, 1, v___x_5687_); +v___x_5689_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5674_, v___x_5688_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +if (lean_obj_tag(v___x_5689_) == 0) +{ +lean_dec_ref(v___x_5689_); +v___y_5524_ = v_a_5673_; +v___y_5525_ = v___x_5624_; +v___y_5526_ = v_a_5653_; +v___y_5527_ = v___x_5628_; +v___y_5528_ = v___y_5613_; +goto v___jp_5523_; } else { -lean_object* v_reuseFailAlloc_5679_; -v_reuseFailAlloc_5679_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5679_, 0, v_a_5673_); -v___x_5678_ = v_reuseFailAlloc_5679_; -goto v_reusejp_5677_; -} -v_reusejp_5677_: +lean_object* v_a_5690_; lean_object* v___x_5692_; uint8_t v_isShared_5693_; uint8_t v_isSharedCheck_5697_; +lean_dec(v_a_5673_); +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +v_a_5690_ = lean_ctor_get(v___x_5689_, 0); +v_isSharedCheck_5697_ = !lean_is_exclusive(v___x_5689_); +if (v_isSharedCheck_5697_ == 0) { -return v___x_5678_; +v___x_5692_ = v___x_5689_; +v_isShared_5693_ = v_isSharedCheck_5697_; +goto v_resetjp_5691_; +} +else +{ +lean_inc(v_a_5690_); +lean_dec(v___x_5689_); +v___x_5692_ = lean_box(0); +v_isShared_5693_ = v_isSharedCheck_5697_; +goto v_resetjp_5691_; +} +v_resetjp_5691_: +{ +lean_object* v___x_5695_; +if (v_isShared_5693_ == 0) +{ +v___x_5695_ = v___x_5692_; +goto v_reusejp_5694_; +} +else +{ +lean_object* v_reuseFailAlloc_5696_; +v_reuseFailAlloc_5696_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5696_, 0, v_a_5690_); +v___x_5695_ = v_reuseFailAlloc_5696_; +goto v_reusejp_5694_; +} +v_reusejp_5694_: +{ +return v___x_5695_; +} +} +} +} +else +{ +lean_object* v_a_5698_; lean_object* v___x_5700_; uint8_t v_isShared_5701_; uint8_t v_isSharedCheck_5705_; +lean_dec(v_a_5673_); +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +v_a_5698_ = lean_ctor_get(v___x_5678_, 0); +v_isSharedCheck_5705_ = !lean_is_exclusive(v___x_5678_); +if (v_isSharedCheck_5705_ == 0) +{ +v___x_5700_ = v___x_5678_; +v_isShared_5701_ = v_isSharedCheck_5705_; +goto v_resetjp_5699_; +} +else +{ +lean_inc(v_a_5698_); +lean_dec(v___x_5678_); +v___x_5700_ = lean_box(0); +v_isShared_5701_ = v_isSharedCheck_5705_; +goto v_resetjp_5699_; +} +v_resetjp_5699_: +{ +lean_object* v___x_5703_; +if (v_isShared_5701_ == 0) +{ +v___x_5703_ = v___x_5700_; +goto v_reusejp_5702_; +} +else +{ +lean_object* v_reuseFailAlloc_5704_; +v_reuseFailAlloc_5704_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5704_, 0, v_a_5698_); +v___x_5703_ = v_reuseFailAlloc_5704_; +goto v_reusejp_5702_; +} +v_reusejp_5702_: +{ +return v___x_5703_; } } } @@ -16242,329 +16371,329 @@ return v___x_5678_; } else { -lean_object* v_a_5681_; lean_object* v___x_5683_; uint8_t v_isShared_5684_; uint8_t v_isSharedCheck_5688_; -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -v_a_5681_ = lean_ctor_get(v___x_5647_, 0); -v_isSharedCheck_5688_ = !lean_is_exclusive(v___x_5647_); -if (v_isSharedCheck_5688_ == 0) +lean_object* v_a_5706_; lean_object* v___x_5708_; uint8_t v_isShared_5709_; uint8_t v_isSharedCheck_5713_; +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +v_a_5706_ = lean_ctor_get(v___x_5672_, 0); +v_isSharedCheck_5713_ = !lean_is_exclusive(v___x_5672_); +if (v_isSharedCheck_5713_ == 0) { -v___x_5683_ = v___x_5647_; -v_isShared_5684_ = v_isSharedCheck_5688_; -goto v_resetjp_5682_; +v___x_5708_ = v___x_5672_; +v_isShared_5709_ = v_isSharedCheck_5713_; +goto v_resetjp_5707_; } else { -lean_inc(v_a_5681_); -lean_dec(v___x_5647_); -v___x_5683_ = lean_box(0); -v_isShared_5684_ = v_isSharedCheck_5688_; -goto v_resetjp_5682_; +lean_inc(v_a_5706_); +lean_dec(v___x_5672_); +v___x_5708_ = lean_box(0); +v_isShared_5709_ = v_isSharedCheck_5713_; +goto v_resetjp_5707_; } -v_resetjp_5682_: +v_resetjp_5707_: { -lean_object* v___x_5686_; -if (v_isShared_5684_ == 0) +lean_object* v___x_5711_; +if (v_isShared_5709_ == 0) { -v___x_5686_ = v___x_5683_; -goto v_reusejp_5685_; +v___x_5711_ = v___x_5708_; +goto v_reusejp_5710_; } else { -lean_object* v_reuseFailAlloc_5687_; -v_reuseFailAlloc_5687_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5687_, 0, v_a_5681_); -v___x_5686_ = v_reuseFailAlloc_5687_; -goto v_reusejp_5685_; +lean_object* v_reuseFailAlloc_5712_; +v_reuseFailAlloc_5712_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5712_, 0, v_a_5706_); +v___x_5711_ = v_reuseFailAlloc_5712_; +goto v_reusejp_5710_; } -v_reusejp_5685_: +v_reusejp_5710_: { -return v___x_5686_; +return v___x_5711_; } } } } else { -lean_object* v_a_5689_; lean_object* v___x_5691_; uint8_t v_isShared_5692_; uint8_t v_isSharedCheck_5696_; -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec(v_a_5551_); -v_a_5689_ = lean_ctor_get(v___x_5640_, 0); -v_isSharedCheck_5696_ = !lean_is_exclusive(v___x_5640_); -if (v_isSharedCheck_5696_ == 0) +lean_object* v_a_5714_; lean_object* v___x_5716_; uint8_t v_isShared_5717_; uint8_t v_isSharedCheck_5721_; +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec(v_a_5576_); +v_a_5714_ = lean_ctor_get(v___x_5665_, 0); +v_isSharedCheck_5721_ = !lean_is_exclusive(v___x_5665_); +if (v_isSharedCheck_5721_ == 0) { -v___x_5691_ = v___x_5640_; -v_isShared_5692_ = v_isSharedCheck_5696_; -goto v_resetjp_5690_; +v___x_5716_ = v___x_5665_; +v_isShared_5717_ = v_isSharedCheck_5721_; +goto v_resetjp_5715_; } else { -lean_inc(v_a_5689_); -lean_dec(v___x_5640_); -v___x_5691_ = lean_box(0); -v_isShared_5692_ = v_isSharedCheck_5696_; -goto v_resetjp_5690_; +lean_inc(v_a_5714_); +lean_dec(v___x_5665_); +v___x_5716_ = lean_box(0); +v_isShared_5717_ = v_isSharedCheck_5721_; +goto v_resetjp_5715_; } -v_resetjp_5690_: +v_resetjp_5715_: { -lean_object* v___x_5694_; -if (v_isShared_5692_ == 0) +lean_object* v___x_5719_; +if (v_isShared_5717_ == 0) { -v___x_5694_ = v___x_5691_; -goto v_reusejp_5693_; +v___x_5719_ = v___x_5716_; +goto v_reusejp_5718_; } else { -lean_object* v_reuseFailAlloc_5695_; -v_reuseFailAlloc_5695_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5695_, 0, v_a_5689_); -v___x_5694_ = v_reuseFailAlloc_5695_; -goto v_reusejp_5693_; +lean_object* v_reuseFailAlloc_5720_; +v_reuseFailAlloc_5720_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5720_, 0, v_a_5714_); +v___x_5719_ = v_reuseFailAlloc_5720_; +goto v_reusejp_5718_; } -v_reusejp_5693_: +v_reusejp_5718_: { -return v___x_5694_; +return v___x_5719_; } } } } else { -lean_object* v_a_5697_; lean_object* v___x_5699_; uint8_t v_isShared_5700_; uint8_t v_isSharedCheck_5704_; -lean_dec(v_a_5633_); -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -v_a_5697_ = lean_ctor_get(v___x_5634_, 0); -v_isSharedCheck_5704_ = !lean_is_exclusive(v___x_5634_); -if (v_isSharedCheck_5704_ == 0) +lean_object* v_a_5722_; lean_object* v___x_5724_; uint8_t v_isShared_5725_; uint8_t v_isSharedCheck_5729_; +lean_dec(v_a_5658_); +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +v_a_5722_ = lean_ctor_get(v___x_5659_, 0); +v_isSharedCheck_5729_ = !lean_is_exclusive(v___x_5659_); +if (v_isSharedCheck_5729_ == 0) { -v___x_5699_ = v___x_5634_; -v_isShared_5700_ = v_isSharedCheck_5704_; -goto v_resetjp_5698_; +v___x_5724_ = v___x_5659_; +v_isShared_5725_ = v_isSharedCheck_5729_; +goto v_resetjp_5723_; } else { -lean_inc(v_a_5697_); -lean_dec(v___x_5634_); -v___x_5699_ = lean_box(0); -v_isShared_5700_ = v_isSharedCheck_5704_; -goto v_resetjp_5698_; +lean_inc(v_a_5722_); +lean_dec(v___x_5659_); +v___x_5724_ = lean_box(0); +v_isShared_5725_ = v_isSharedCheck_5729_; +goto v_resetjp_5723_; } -v_resetjp_5698_: +v_resetjp_5723_: { -lean_object* v___x_5702_; -if (v_isShared_5700_ == 0) +lean_object* v___x_5727_; +if (v_isShared_5725_ == 0) { -v___x_5702_ = v___x_5699_; -goto v_reusejp_5701_; +v___x_5727_ = v___x_5724_; +goto v_reusejp_5726_; } else { -lean_object* v_reuseFailAlloc_5703_; -v_reuseFailAlloc_5703_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5703_, 0, v_a_5697_); -v___x_5702_ = v_reuseFailAlloc_5703_; -goto v_reusejp_5701_; +lean_object* v_reuseFailAlloc_5728_; +v_reuseFailAlloc_5728_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5728_, 0, v_a_5722_); +v___x_5727_ = v_reuseFailAlloc_5728_; +goto v_reusejp_5726_; } -v_reusejp_5701_: +v_reusejp_5726_: { -return v___x_5702_; +return v___x_5727_; } } } } else { -lean_object* v_a_5705_; lean_object* v___x_5707_; uint8_t v_isShared_5708_; uint8_t v_isSharedCheck_5712_; -lean_dec(v_a_5628_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -v_a_5705_ = lean_ctor_get(v___x_5632_, 0); -v_isSharedCheck_5712_ = !lean_is_exclusive(v___x_5632_); -if (v_isSharedCheck_5712_ == 0) +lean_object* v_a_5730_; lean_object* v___x_5732_; uint8_t v_isShared_5733_; uint8_t v_isSharedCheck_5737_; +lean_dec(v_a_5653_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +v_a_5730_ = lean_ctor_get(v___x_5657_, 0); +v_isSharedCheck_5737_ = !lean_is_exclusive(v___x_5657_); +if (v_isSharedCheck_5737_ == 0) { -v___x_5707_ = v___x_5632_; -v_isShared_5708_ = v_isSharedCheck_5712_; -goto v_resetjp_5706_; +v___x_5732_ = v___x_5657_; +v_isShared_5733_ = v_isSharedCheck_5737_; +goto v_resetjp_5731_; } else { -lean_inc(v_a_5705_); -lean_dec(v___x_5632_); -v___x_5707_ = lean_box(0); -v_isShared_5708_ = v_isSharedCheck_5712_; -goto v_resetjp_5706_; +lean_inc(v_a_5730_); +lean_dec(v___x_5657_); +v___x_5732_ = lean_box(0); +v_isShared_5733_ = v_isSharedCheck_5737_; +goto v_resetjp_5731_; } -v_resetjp_5706_: +v_resetjp_5731_: { -lean_object* v___x_5710_; -if (v_isShared_5708_ == 0) +lean_object* v___x_5735_; +if (v_isShared_5733_ == 0) { -v___x_5710_ = v___x_5707_; -goto v_reusejp_5709_; +v___x_5735_ = v___x_5732_; +goto v_reusejp_5734_; } else { -lean_object* v_reuseFailAlloc_5711_; -v_reuseFailAlloc_5711_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5711_, 0, v_a_5705_); -v___x_5710_ = v_reuseFailAlloc_5711_; -goto v_reusejp_5709_; +lean_object* v_reuseFailAlloc_5736_; +v_reuseFailAlloc_5736_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5736_, 0, v_a_5730_); +v___x_5735_ = v_reuseFailAlloc_5736_; +goto v_reusejp_5734_; } -v_reusejp_5709_: +v_reusejp_5734_: { -return v___x_5710_; +return v___x_5735_; } } } } else { -lean_object* v_a_5713_; lean_object* v___x_5715_; uint8_t v_isShared_5716_; uint8_t v_isSharedCheck_5720_; -lean_dec(v_a_5628_); -lean_dec(v_a_5622_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -v_a_5713_ = lean_ctor_get(v___x_5631_, 0); -v_isSharedCheck_5720_ = !lean_is_exclusive(v___x_5631_); -if (v_isSharedCheck_5720_ == 0) +lean_object* v_a_5738_; lean_object* v___x_5740_; uint8_t v_isShared_5741_; uint8_t v_isSharedCheck_5745_; +lean_dec(v_a_5653_); +lean_dec(v_a_5647_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +v_a_5738_ = lean_ctor_get(v___x_5656_, 0); +v_isSharedCheck_5745_ = !lean_is_exclusive(v___x_5656_); +if (v_isSharedCheck_5745_ == 0) { -v___x_5715_ = v___x_5631_; -v_isShared_5716_ = v_isSharedCheck_5720_; -goto v_resetjp_5714_; +v___x_5740_ = v___x_5656_; +v_isShared_5741_ = v_isSharedCheck_5745_; +goto v_resetjp_5739_; } else { -lean_inc(v_a_5713_); -lean_dec(v___x_5631_); -v___x_5715_ = lean_box(0); -v_isShared_5716_ = v_isSharedCheck_5720_; -goto v_resetjp_5714_; +lean_inc(v_a_5738_); +lean_dec(v___x_5656_); +v___x_5740_ = lean_box(0); +v_isShared_5741_ = v_isSharedCheck_5745_; +goto v_resetjp_5739_; } -v_resetjp_5714_: +v_resetjp_5739_: { -lean_object* v___x_5718_; -if (v_isShared_5716_ == 0) +lean_object* v___x_5743_; +if (v_isShared_5741_ == 0) { -v___x_5718_ = v___x_5715_; -goto v_reusejp_5717_; +v___x_5743_ = v___x_5740_; +goto v_reusejp_5742_; } else { -lean_object* v_reuseFailAlloc_5719_; -v_reuseFailAlloc_5719_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5719_, 0, v_a_5713_); -v___x_5718_ = v_reuseFailAlloc_5719_; -goto v_reusejp_5717_; +lean_object* v_reuseFailAlloc_5744_; +v_reuseFailAlloc_5744_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5744_, 0, v_a_5738_); +v___x_5743_ = v_reuseFailAlloc_5744_; +goto v_reusejp_5742_; } -v_reusejp_5717_: +v_reusejp_5742_: { -return v___x_5718_; +return v___x_5743_; } } } } else { -lean_object* v_a_5721_; lean_object* v___x_5723_; uint8_t v_isShared_5724_; uint8_t v_isSharedCheck_5728_; -lean_dec(v_a_5622_); -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec_ref(v___y_5585_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -v_a_5721_ = lean_ctor_get(v___x_5626_, 0); -v_isSharedCheck_5728_ = !lean_is_exclusive(v___x_5626_); -if (v_isSharedCheck_5728_ == 0) +lean_object* v_a_5746_; lean_object* v___x_5748_; uint8_t v_isShared_5749_; uint8_t v_isSharedCheck_5753_; +lean_dec(v_a_5647_); +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec_ref(v___y_5611_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +v_a_5746_ = lean_ctor_get(v___x_5651_, 0); +v_isSharedCheck_5753_ = !lean_is_exclusive(v___x_5651_); +if (v_isSharedCheck_5753_ == 0) { -v___x_5723_ = v___x_5626_; -v_isShared_5724_ = v_isSharedCheck_5728_; -goto v_resetjp_5722_; +v___x_5748_ = v___x_5651_; +v_isShared_5749_ = v_isSharedCheck_5753_; +goto v_resetjp_5747_; } else { -lean_inc(v_a_5721_); -lean_dec(v___x_5626_); -v___x_5723_ = lean_box(0); -v_isShared_5724_ = v_isSharedCheck_5728_; -goto v_resetjp_5722_; +lean_inc(v_a_5746_); +lean_dec(v___x_5651_); +v___x_5748_ = lean_box(0); +v_isShared_5749_ = v_isSharedCheck_5753_; +goto v_resetjp_5747_; } -v_resetjp_5722_: +v_resetjp_5747_: { -lean_object* v___x_5726_; -if (v_isShared_5724_ == 0) +lean_object* v___x_5751_; +if (v_isShared_5749_ == 0) { -v___x_5726_ = v___x_5723_; -goto v_reusejp_5725_; +v___x_5751_ = v___x_5748_; +goto v_reusejp_5750_; } else { -lean_object* v_reuseFailAlloc_5727_; -v_reuseFailAlloc_5727_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5727_, 0, v_a_5721_); -v___x_5726_ = v_reuseFailAlloc_5727_; -goto v_reusejp_5725_; +lean_object* v_reuseFailAlloc_5752_; +v_reuseFailAlloc_5752_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5752_, 0, v_a_5746_); +v___x_5751_ = v_reuseFailAlloc_5752_; +goto v_reusejp_5750_; } -v_reusejp_5725_: +v_reusejp_5750_: { -return v___x_5726_; +return v___x_5751_; } } } } else { -lean_object* v_a_5729_; lean_object* v___x_5731_; uint8_t v_isShared_5732_; uint8_t v_isSharedCheck_5736_; -lean_dec_ref(v___x_5603_); -lean_dec(v___x_5599_); -lean_dec_ref(v___y_5585_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -v_a_5729_ = lean_ctor_get(v___x_5621_, 0); -v_isSharedCheck_5736_ = !lean_is_exclusive(v___x_5621_); -if (v_isSharedCheck_5736_ == 0) +lean_object* v_a_5754_; lean_object* v___x_5756_; uint8_t v_isShared_5757_; uint8_t v_isSharedCheck_5761_; +lean_dec_ref(v___x_5628_); +lean_dec(v___x_5624_); +lean_dec_ref(v___y_5611_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +v_a_5754_ = lean_ctor_get(v___x_5646_, 0); +v_isSharedCheck_5761_ = !lean_is_exclusive(v___x_5646_); +if (v_isSharedCheck_5761_ == 0) { -v___x_5731_ = v___x_5621_; -v_isShared_5732_ = v_isSharedCheck_5736_; -goto v_resetjp_5730_; +v___x_5756_ = v___x_5646_; +v_isShared_5757_ = v_isSharedCheck_5761_; +goto v_resetjp_5755_; } else { -lean_inc(v_a_5729_); -lean_dec(v___x_5621_); -v___x_5731_ = lean_box(0); -v_isShared_5732_ = v_isSharedCheck_5736_; -goto v_resetjp_5730_; +lean_inc(v_a_5754_); +lean_dec(v___x_5646_); +v___x_5756_ = lean_box(0); +v_isShared_5757_ = v_isSharedCheck_5761_; +goto v_resetjp_5755_; } -v_resetjp_5730_: +v_resetjp_5755_: { -lean_object* v___x_5734_; -if (v_isShared_5732_ == 0) +lean_object* v___x_5759_; +if (v_isShared_5757_ == 0) { -v___x_5734_ = v___x_5731_; -goto v_reusejp_5733_; +v___x_5759_ = v___x_5756_; +goto v_reusejp_5758_; } else { -lean_object* v_reuseFailAlloc_5735_; -v_reuseFailAlloc_5735_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5735_, 0, v_a_5729_); -v___x_5734_ = v_reuseFailAlloc_5735_; -goto v_reusejp_5733_; +lean_object* v_reuseFailAlloc_5760_; +v_reuseFailAlloc_5760_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5760_, 0, v_a_5754_); +v___x_5759_ = v_reuseFailAlloc_5760_; +goto v_reusejp_5758_; } -v_reusejp_5733_: +v_reusejp_5758_: { -return v___x_5734_; +return v___x_5759_; } } } @@ -16572,474 +16701,219 @@ return v___x_5734_; } else { -lean_object* v___x_5737_; lean_object* v___x_5738_; -lean_dec(v___y_5586_); -lean_dec_ref(v___y_5585_); -lean_dec_ref(v___y_5584_); -lean_dec_ref(v___y_5583_); -lean_dec_ref(v___y_5582_); -lean_dec_ref(v___y_5581_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -v___x_5737_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11); -v___x_5738_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v___x_5737_, v___y_5587_, v___y_5588_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -return v___x_5738_; +lean_object* v___x_5762_; lean_object* v___x_5763_; +lean_dec_ref(v___y_5611_); +lean_dec_ref(v___y_5610_); +lean_dec_ref(v___y_5609_); +lean_dec_ref(v___y_5608_); +lean_dec(v___y_5607_); +lean_dec_ref(v___y_5606_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +v___x_5762_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__11); +v___x_5763_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v___x_5762_, v___y_5612_, v___y_5613_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +return v___x_5763_; } } else { -lean_object* v___x_5739_; lean_object* v___x_5740_; -lean_dec(v___y_5586_); -lean_dec_ref(v___y_5585_); -lean_dec_ref(v___y_5584_); -lean_dec_ref(v___y_5583_); -lean_dec_ref(v___y_5582_); -lean_dec_ref(v___y_5581_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -v___x_5739_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13); -v___x_5740_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v___x_5739_, v___y_5587_, v___y_5588_, v___y_5589_, v___y_5590_, v___y_5591_, v___y_5592_); -return v___x_5740_; +lean_object* v___x_5764_; lean_object* v___x_5765_; +lean_dec_ref(v___y_5611_); +lean_dec_ref(v___y_5610_); +lean_dec_ref(v___y_5609_); +lean_dec_ref(v___y_5608_); +lean_dec(v___y_5607_); +lean_dec_ref(v___y_5606_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +v___x_5764_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__13); +v___x_5765_ = l_panic___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__8(v___x_5764_, v___y_5612_, v___y_5613_, v___y_5614_, v___y_5615_, v___y_5616_, v___y_5617_); +return v___x_5765_; } } -v___jp_5742_: +v___jp_5767_: { -lean_object* v_paramsInfo_5749_; lean_object* v___x_5750_; -v_paramsInfo_5749_ = lean_ctor_get(v_val_5549_, 1); -lean_inc_ref(v_paramsInfo_5749_); -lean_dec(v_val_5549_); -lean_inc_ref(v_args_5534_); -lean_inc_ref(v_paramsInfo_5749_); -v___x_5750_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_5749_, v_args_5534_, v___y_5743_, v___y_5745_, v___y_5746_, v___y_5747_, v___y_5748_); -if (lean_obj_tag(v___x_5750_) == 0) +lean_object* v_paramsInfo_5774_; lean_object* v___x_5775_; +v_paramsInfo_5774_ = lean_ctor_get(v_val_5574_, 1); +lean_inc_ref(v_paramsInfo_5774_); +lean_dec(v_val_5574_); +lean_inc_ref(v_args_5559_); +lean_inc_ref(v_paramsInfo_5774_); +v___x_5775_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect___redArg(v_paramsInfo_5774_, v_args_5559_, v___y_5768_, v___y_5770_, v___y_5771_, v___y_5772_, v___y_5773_); +if (lean_obj_tag(v___x_5775_) == 0) { -lean_object* v_a_5751_; lean_object* v_snd_5752_; lean_object* v_fst_5753_; lean_object* v_fst_5754_; lean_object* v_snd_5755_; lean_object* v___x_5756_; lean_object* v___x_5757_; lean_object* v___x_5758_; lean_object* v___x_5759_; -v_a_5751_ = lean_ctor_get(v___x_5750_, 0); -lean_inc(v_a_5751_); -lean_dec_ref(v___x_5750_); -v_snd_5752_ = lean_ctor_get(v_a_5751_, 1); -lean_inc(v_snd_5752_); -v_fst_5753_ = lean_ctor_get(v_a_5751_, 0); -lean_inc(v_fst_5753_); -lean_dec(v_a_5751_); -v_fst_5754_ = lean_ctor_get(v_snd_5752_, 0); -lean_inc(v_fst_5754_); -v_snd_5755_ = lean_ctor_get(v_snd_5752_, 1); -lean_inc(v_snd_5755_); -lean_dec(v_snd_5752_); -v___x_5756_ = lean_array_get_size(v_fst_5753_); -v___x_5757_ = l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(v_fst_5753_, v___x_5536_, v___x_5756_); -lean_inc(v_us_5533_); -v___x_5758_ = lean_alloc_ctor(3, 3, 0); -lean_ctor_set(v___x_5758_, 0, v_declName_5532_); -lean_ctor_set(v___x_5758_, 1, v_us_5533_); -lean_ctor_set(v___x_5758_, 2, v___x_5757_); -lean_inc(v_snd_5755_); -v___x_5759_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_fst_5754_, v_snd_5755_, v___x_5758_, v___y_5747_, v___y_5748_); -if (lean_obj_tag(v___x_5759_) == 0) +lean_object* v_a_5776_; lean_object* v_snd_5777_; lean_object* v_fst_5778_; lean_object* v_fst_5779_; lean_object* v_snd_5780_; lean_object* v___x_5781_; lean_object* v___x_5782_; lean_object* v___x_5783_; lean_object* v___x_5784_; +v_a_5776_ = lean_ctor_get(v___x_5775_, 0); +lean_inc(v_a_5776_); +lean_dec_ref(v___x_5775_); +v_snd_5777_ = lean_ctor_get(v_a_5776_, 1); +lean_inc(v_snd_5777_); +v_fst_5778_ = lean_ctor_get(v_a_5776_, 0); +lean_inc(v_fst_5778_); +lean_dec(v_a_5776_); +v_fst_5779_ = lean_ctor_get(v_snd_5777_, 0); +lean_inc(v_fst_5779_); +v_snd_5780_ = lean_ctor_get(v_snd_5777_, 1); +lean_inc(v_snd_5780_); +lean_dec(v_snd_5777_); +v___x_5781_ = lean_array_get_size(v_fst_5778_); +v___x_5782_ = l_Array_filterMapM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__1(v_fst_5778_, v___x_5561_, v___x_5781_); +lean_inc(v_us_5558_); +v___x_5783_ = lean_alloc_ctor(3, 3, 0); +lean_ctor_set(v___x_5783_, 0, v_declName_5557_); +lean_ctor_set(v___x_5783_, 1, v_us_5558_); +lean_ctor_set(v___x_5783_, 2, v___x_5782_); +lean_inc(v_snd_5780_); +v___x_5784_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkKey___redArg(v_fst_5779_, v_snd_5780_, v___x_5783_, v___y_5772_, v___y_5773_); +if (lean_obj_tag(v___x_5784_) == 0) { -lean_object* v_a_5760_; lean_object* v_fst_5761_; lean_object* v_snd_5762_; lean_object* v___x_5764_; uint8_t v_isShared_5765_; uint8_t v_isSharedCheck_5783_; -v_a_5760_ = lean_ctor_get(v___x_5759_, 0); -lean_inc(v_a_5760_); -lean_dec_ref(v___x_5759_); -v_fst_5761_ = lean_ctor_get(v_a_5760_, 0); -v_snd_5762_ = lean_ctor_get(v_a_5760_, 1); -v_isSharedCheck_5783_ = !lean_is_exclusive(v_a_5760_); -if (v_isSharedCheck_5783_ == 0) +lean_object* v_a_5785_; lean_object* v_fst_5786_; lean_object* v_snd_5787_; lean_object* v___x_5789_; uint8_t v_isShared_5790_; uint8_t v_isSharedCheck_5808_; +v_a_5785_ = lean_ctor_get(v___x_5784_, 0); +lean_inc(v_a_5785_); +lean_dec_ref(v___x_5784_); +v_fst_5786_ = lean_ctor_get(v_a_5785_, 0); +v_snd_5787_ = lean_ctor_get(v_a_5785_, 1); +v_isSharedCheck_5808_ = !lean_is_exclusive(v_a_5785_); +if (v_isSharedCheck_5808_ == 0) { -v___x_5764_ = v_a_5760_; -v_isShared_5765_ = v_isSharedCheck_5783_; -goto v_resetjp_5763_; +v___x_5789_ = v_a_5785_; +v_isShared_5790_ = v_isSharedCheck_5808_; +goto v_resetjp_5788_; } else { -lean_inc(v_snd_5762_); -lean_inc(v_fst_5761_); -lean_dec(v_a_5760_); -v___x_5764_ = lean_box(0); -v_isShared_5765_ = v_isSharedCheck_5783_; -goto v_resetjp_5763_; +lean_inc(v_snd_5787_); +lean_inc(v_fst_5786_); +lean_dec(v_a_5785_); +v___x_5789_ = lean_box(0); +v_isShared_5790_ = v_isSharedCheck_5808_; +goto v_resetjp_5788_; } -v_resetjp_5763_: -{ -lean_object* v___x_5766_; lean_object* v_a_5767_; uint8_t v___x_5768_; -v___x_5766_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5741_, v___y_5747_); -v_a_5767_ = lean_ctor_get(v___x_5766_, 0); -lean_inc(v_a_5767_); -lean_dec_ref(v___x_5766_); -v___x_5768_ = lean_unbox(v_a_5767_); -lean_dec(v_a_5767_); -if (v___x_5768_ == 0) -{ -lean_del_object(v___x_5764_); -v___y_5581_ = v_paramsInfo_5749_; -v___y_5582_ = v_fst_5753_; -v___y_5583_ = v_snd_5755_; -v___y_5584_ = v_fst_5754_; -v___y_5585_ = v_fst_5761_; -v___y_5586_ = v_snd_5762_; -v___y_5587_ = v___y_5743_; -v___y_5588_ = v___y_5744_; -v___y_5589_ = v___y_5745_; -v___y_5590_ = v___y_5746_; -v___y_5591_ = v___y_5747_; -v___y_5592_ = v___y_5748_; -goto v___jp_5580_; -} -else -{ -lean_object* v___x_5769_; lean_object* v___x_5770_; lean_object* v___x_5772_; -v___x_5769_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17); -lean_inc(v_fst_5761_); -v___x_5770_ = l_Lean_MessageData_ofExpr(v_fst_5761_); -if (v_isShared_5765_ == 0) -{ -lean_ctor_set_tag(v___x_5764_, 7); -lean_ctor_set(v___x_5764_, 1, v___x_5770_); -lean_ctor_set(v___x_5764_, 0, v___x_5769_); -v___x_5772_ = v___x_5764_; -goto v_reusejp_5771_; -} -else -{ -lean_object* v_reuseFailAlloc_5782_; -v_reuseFailAlloc_5782_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v_reuseFailAlloc_5782_, 0, v___x_5769_); -lean_ctor_set(v_reuseFailAlloc_5782_, 1, v___x_5770_); -v___x_5772_ = v_reuseFailAlloc_5782_; -goto v_reusejp_5771_; -} -v_reusejp_5771_: -{ -lean_object* v___x_5773_; -v___x_5773_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5741_, v___x_5772_, v___y_5745_, v___y_5746_, v___y_5747_, v___y_5748_); -if (lean_obj_tag(v___x_5773_) == 0) -{ -lean_dec_ref(v___x_5773_); -v___y_5581_ = v_paramsInfo_5749_; -v___y_5582_ = v_fst_5753_; -v___y_5583_ = v_snd_5755_; -v___y_5584_ = v_fst_5754_; -v___y_5585_ = v_fst_5761_; -v___y_5586_ = v_snd_5762_; -v___y_5587_ = v___y_5743_; -v___y_5588_ = v___y_5744_; -v___y_5589_ = v___y_5745_; -v___y_5590_ = v___y_5746_; -v___y_5591_ = v___y_5747_; -v___y_5592_ = v___y_5748_; -goto v___jp_5580_; -} -else -{ -lean_object* v_a_5774_; lean_object* v___x_5776_; uint8_t v_isShared_5777_; uint8_t v_isSharedCheck_5781_; -lean_dec(v_snd_5762_); -lean_dec(v_fst_5761_); -lean_dec(v_snd_5755_); -lean_dec(v_fst_5754_); -lean_dec(v_fst_5753_); -lean_dec_ref(v_paramsInfo_5749_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -v_a_5774_ = lean_ctor_get(v___x_5773_, 0); -v_isSharedCheck_5781_ = !lean_is_exclusive(v___x_5773_); -if (v_isSharedCheck_5781_ == 0) -{ -v___x_5776_ = v___x_5773_; -v_isShared_5777_ = v_isSharedCheck_5781_; -goto v_resetjp_5775_; -} -else -{ -lean_inc(v_a_5774_); -lean_dec(v___x_5773_); -v___x_5776_ = lean_box(0); -v_isShared_5777_ = v_isSharedCheck_5781_; -goto v_resetjp_5775_; -} -v_resetjp_5775_: -{ -lean_object* v___x_5779_; -if (v_isShared_5777_ == 0) -{ -v___x_5779_ = v___x_5776_; -goto v_reusejp_5778_; -} -else -{ -lean_object* v_reuseFailAlloc_5780_; -v_reuseFailAlloc_5780_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5780_, 0, v_a_5774_); -v___x_5779_ = v_reuseFailAlloc_5780_; -goto v_reusejp_5778_; -} -v_reusejp_5778_: -{ -return v___x_5779_; -} -} -} -} -} -} -} -else -{ -lean_object* v_a_5784_; lean_object* v___x_5786_; uint8_t v_isShared_5787_; uint8_t v_isSharedCheck_5791_; -lean_dec(v_snd_5755_); -lean_dec(v_fst_5754_); -lean_dec(v_fst_5753_); -lean_dec_ref(v_paramsInfo_5749_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -v_a_5784_ = lean_ctor_get(v___x_5759_, 0); -v_isSharedCheck_5791_ = !lean_is_exclusive(v___x_5759_); -if (v_isSharedCheck_5791_ == 0) -{ -v___x_5786_ = v___x_5759_; -v_isShared_5787_ = v_isSharedCheck_5791_; -goto v_resetjp_5785_; -} -else -{ -lean_inc(v_a_5784_); -lean_dec(v___x_5759_); -v___x_5786_ = lean_box(0); -v_isShared_5787_ = v_isSharedCheck_5791_; -goto v_resetjp_5785_; -} -v_resetjp_5785_: -{ -lean_object* v___x_5789_; -if (v_isShared_5787_ == 0) -{ -v___x_5789_ = v___x_5786_; -goto v_reusejp_5788_; -} -else -{ -lean_object* v_reuseFailAlloc_5790_; -v_reuseFailAlloc_5790_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5790_, 0, v_a_5784_); -v___x_5789_ = v_reuseFailAlloc_5790_; -goto v_reusejp_5788_; -} -v_reusejp_5788_: -{ -return v___x_5789_; -} -} -} -} -else -{ -lean_object* v_a_5792_; lean_object* v___x_5794_; uint8_t v_isShared_5795_; uint8_t v_isSharedCheck_5799_; -lean_dec_ref(v_paramsInfo_5749_); -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -v_a_5792_ = lean_ctor_get(v___x_5750_, 0); -v_isSharedCheck_5799_ = !lean_is_exclusive(v___x_5750_); -if (v_isSharedCheck_5799_ == 0) -{ -v___x_5794_ = v___x_5750_; -v_isShared_5795_ = v_isSharedCheck_5799_; -goto v_resetjp_5793_; -} -else +v_resetjp_5788_: { +lean_object* v___x_5791_; lean_object* v_a_5792_; uint8_t v___x_5793_; +v___x_5791_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_5766_, v___y_5772_); +v_a_5792_ = lean_ctor_get(v___x_5791_, 0); lean_inc(v_a_5792_); -lean_dec(v___x_5750_); -v___x_5794_ = lean_box(0); -v_isShared_5795_ = v_isSharedCheck_5799_; -goto v_resetjp_5793_; +lean_dec_ref(v___x_5791_); +v___x_5793_ = lean_unbox(v_a_5792_); +lean_dec(v_a_5792_); +if (v___x_5793_ == 0) +{ +lean_del_object(v___x_5789_); +v___y_5606_ = v_fst_5779_; +v___y_5607_ = v_snd_5787_; +v___y_5608_ = v_fst_5778_; +v___y_5609_ = v_snd_5780_; +v___y_5610_ = v_paramsInfo_5774_; +v___y_5611_ = v_fst_5786_; +v___y_5612_ = v___y_5768_; +v___y_5613_ = v___y_5769_; +v___y_5614_ = v___y_5770_; +v___y_5615_ = v___y_5771_; +v___y_5616_ = v___y_5772_; +v___y_5617_ = v___y_5773_; +goto v___jp_5605_; } -v_resetjp_5793_: +else { -lean_object* v___x_5797_; -if (v_isShared_5795_ == 0) +lean_object* v___x_5794_; lean_object* v___x_5795_; lean_object* v___x_5797_; +v___x_5794_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__17); +lean_inc(v_fst_5786_); +v___x_5795_ = l_Lean_MessageData_ofExpr(v_fst_5786_); +if (v_isShared_5790_ == 0) { -v___x_5797_ = v___x_5794_; +lean_ctor_set_tag(v___x_5789_, 7); +lean_ctor_set(v___x_5789_, 1, v___x_5795_); +lean_ctor_set(v___x_5789_, 0, v___x_5794_); +v___x_5797_ = v___x_5789_; goto v_reusejp_5796_; } else { -lean_object* v_reuseFailAlloc_5798_; -v_reuseFailAlloc_5798_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5798_, 0, v_a_5792_); -v___x_5797_ = v_reuseFailAlloc_5798_; +lean_object* v_reuseFailAlloc_5807_; +v_reuseFailAlloc_5807_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v_reuseFailAlloc_5807_, 0, v___x_5794_); +lean_ctor_set(v_reuseFailAlloc_5807_, 1, v___x_5795_); +v___x_5797_ = v_reuseFailAlloc_5807_; goto v_reusejp_5796_; } v_reusejp_5796_: { -return v___x_5797_; -} -} -} -} -v_resetjp_5802_: +lean_object* v___x_5798_; +v___x_5798_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5766_, v___x_5797_, v___y_5770_, v___y_5771_, v___y_5772_, v___y_5773_); +if (lean_obj_tag(v___x_5798_) == 0) { -uint8_t v___x_5805_; -v___x_5805_ = lean_unbox(v_a_5801_); -lean_dec(v_a_5801_); -if (v___x_5805_ == 0) -{ -lean_del_object(v___x_5803_); -lean_dec_ref(v_e_5490_); -v___y_5743_ = v_a_5491_; -v___y_5744_ = v_a_5492_; -v___y_5745_ = v_a_5493_; -v___y_5746_ = v_a_5494_; -v___y_5747_ = v_a_5495_; -v___y_5748_ = v_a_5496_; -goto v___jp_5742_; +lean_dec_ref(v___x_5798_); +v___y_5606_ = v_fst_5779_; +v___y_5607_ = v_snd_5787_; +v___y_5608_ = v_fst_5778_; +v___y_5609_ = v_snd_5780_; +v___y_5610_ = v_paramsInfo_5774_; +v___y_5611_ = v_fst_5786_; +v___y_5612_ = v___y_5768_; +v___y_5613_ = v___y_5769_; +v___y_5614_ = v___y_5770_; +v___y_5615_ = v___y_5771_; +v___y_5616_ = v___y_5772_; +v___y_5617_ = v___y_5773_; +goto v___jp_5605_; } else { -lean_object* v_declName_5806_; lean_object* v_paramsInfo_5807_; uint8_t v_alreadySpecialized_5808_; lean_object* v___x_5809_; lean_object* v___x_5810_; lean_object* v___x_5811_; lean_object* v___x_5812_; lean_object* v___x_5813_; lean_object* v___x_5814_; lean_object* v___x_5815_; lean_object* v___y_5817_; -v_declName_5806_ = lean_ctor_get(v_val_5549_, 0); -v_paramsInfo_5807_ = lean_ctor_get(v_val_5549_, 1); -v_alreadySpecialized_5808_ = lean_ctor_get_uint8(v_val_5549_, sizeof(void*)*2); -v___x_5809_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_5578_, v_e_5490_); -v___x_5810_ = l_Lean_MessageData_ofExpr(v___x_5809_); -v___x_5811_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19); -v___x_5812_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5812_, 0, v___x_5810_); -lean_ctor_set(v___x_5812_, 1, v___x_5811_); -lean_inc(v_declName_5806_); -v___x_5813_ = l_Lean_MessageData_ofName(v_declName_5806_); -v___x_5814_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21); -v___x_5815_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5815_, 0, v___x_5813_); -lean_ctor_set(v___x_5815_, 1, v___x_5814_); -if (v_alreadySpecialized_5808_ == 0) +lean_object* v_a_5799_; lean_object* v___x_5801_; uint8_t v_isShared_5802_; uint8_t v_isSharedCheck_5806_; +lean_dec(v_snd_5787_); +lean_dec(v_fst_5786_); +lean_dec(v_snd_5780_); +lean_dec(v_fst_5779_); +lean_dec(v_fst_5778_); +lean_dec_ref(v_paramsInfo_5774_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +v_a_5799_ = lean_ctor_get(v___x_5798_, 0); +v_isSharedCheck_5806_ = !lean_is_exclusive(v___x_5798_); +if (v_isSharedCheck_5806_ == 0) { -lean_object* v___x_5840_; -v___x_5840_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__24)); -v___y_5817_ = v___x_5840_; -goto v___jp_5816_; +v___x_5801_ = v___x_5798_; +v_isShared_5802_ = v_isSharedCheck_5806_; +goto v_resetjp_5800_; } else { -lean_object* v___x_5841_; -v___x_5841_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__25)); -v___y_5817_ = v___x_5841_; -goto v___jp_5816_; +lean_inc(v_a_5799_); +lean_dec(v___x_5798_); +v___x_5801_ = lean_box(0); +v_isShared_5802_ = v_isSharedCheck_5806_; +goto v_resetjp_5800_; } -v___jp_5816_: +v_resetjp_5800_: { -lean_object* v___x_5819_; -lean_inc_ref(v___y_5817_); -if (v_isShared_5804_ == 0) +lean_object* v___x_5804_; +if (v_isShared_5802_ == 0) { -lean_ctor_set_tag(v___x_5803_, 3); -lean_ctor_set(v___x_5803_, 0, v___y_5817_); -v___x_5819_ = v___x_5803_; -goto v_reusejp_5818_; +v___x_5804_ = v___x_5801_; +goto v_reusejp_5803_; } else { -lean_object* v_reuseFailAlloc_5839_; -v_reuseFailAlloc_5839_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5839_, 0, v___y_5817_); -v___x_5819_ = v_reuseFailAlloc_5839_; -goto v_reusejp_5818_; +lean_object* v_reuseFailAlloc_5805_; +v_reuseFailAlloc_5805_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5805_, 0, v_a_5799_); +v___x_5804_ = v_reuseFailAlloc_5805_; +goto v_reusejp_5803_; } -v_reusejp_5818_: +v_reusejp_5803_: { -lean_object* v___x_5820_; lean_object* v___x_5821_; lean_object* v___x_5822_; lean_object* v___x_5823_; lean_object* v___x_5824_; lean_object* v___x_5825_; lean_object* v___x_5826_; lean_object* v___x_5827_; lean_object* v___x_5828_; lean_object* v___x_5829_; lean_object* v___x_5830_; -v___x_5820_ = l_Lean_MessageData_ofFormat(v___x_5819_); -v___x_5821_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5821_, 0, v___x_5815_); -lean_ctor_set(v___x_5821_, 1, v___x_5820_); -v___x_5822_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23); -v___x_5823_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5823_, 0, v___x_5821_); -lean_ctor_set(v___x_5823_, 1, v___x_5822_); -lean_inc_ref(v_paramsInfo_5807_); -v___x_5824_ = lean_array_to_list(v_paramsInfo_5807_); -v___x_5825_ = lean_box(0); -v___x_5826_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_5824_, v___x_5825_); -v___x_5827_ = l_Lean_MessageData_ofList(v___x_5826_); -v___x_5828_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5828_, 0, v___x_5823_); -lean_ctor_set(v___x_5828_, 1, v___x_5827_); -v___x_5829_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_5829_, 0, v___x_5812_); -lean_ctor_set(v___x_5829_, 1, v___x_5828_); -v___x_5830_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5741_, v___x_5829_, v_a_5493_, v_a_5494_, v_a_5495_, v_a_5496_); -if (lean_obj_tag(v___x_5830_) == 0) -{ -lean_dec_ref(v___x_5830_); -v___y_5743_ = v_a_5491_; -v___y_5744_ = v_a_5492_; -v___y_5745_ = v_a_5493_; -v___y_5746_ = v_a_5494_; -v___y_5747_ = v_a_5495_; -v___y_5748_ = v_a_5496_; -goto v___jp_5742_; -} -else -{ -lean_object* v_a_5831_; lean_object* v___x_5833_; uint8_t v_isShared_5834_; uint8_t v_isSharedCheck_5838_; -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -v_a_5831_ = lean_ctor_get(v___x_5830_, 0); -v_isSharedCheck_5838_ = !lean_is_exclusive(v___x_5830_); -if (v_isSharedCheck_5838_ == 0) -{ -v___x_5833_ = v___x_5830_; -v_isShared_5834_ = v_isSharedCheck_5838_; -goto v_resetjp_5832_; -} -else -{ -lean_inc(v_a_5831_); -lean_dec(v___x_5830_); -v___x_5833_ = lean_box(0); -v_isShared_5834_ = v_isSharedCheck_5838_; -goto v_resetjp_5832_; -} -v_resetjp_5832_: -{ -lean_object* v___x_5836_; -if (v_isShared_5834_ == 0) -{ -v___x_5836_ = v___x_5833_; -goto v_reusejp_5835_; -} -else -{ -lean_object* v_reuseFailAlloc_5837_; -v_reuseFailAlloc_5837_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5837_, 0, v_a_5831_); -v___x_5836_ = v_reuseFailAlloc_5837_; -goto v_reusejp_5835_; -} -v_reusejp_5835_: -{ -return v___x_5836_; -} +return v___x_5804_; } } } @@ -17049,186 +16923,253 @@ return v___x_5836_; } else { -lean_object* v___x_5843_; lean_object* v___x_5845_; -lean_dec(v_val_5576_); -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v___x_5843_ = lean_box(0); -if (v_isShared_5564_ == 0) +lean_object* v_a_5809_; lean_object* v___x_5811_; uint8_t v_isShared_5812_; uint8_t v_isSharedCheck_5816_; +lean_dec(v_snd_5780_); +lean_dec(v_fst_5779_); +lean_dec(v_fst_5778_); +lean_dec_ref(v_paramsInfo_5774_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +v_a_5809_ = lean_ctor_get(v___x_5784_, 0); +v_isSharedCheck_5816_ = !lean_is_exclusive(v___x_5784_); +if (v_isSharedCheck_5816_ == 0) { -lean_ctor_set(v___x_5563_, 0, v___x_5843_); -v___x_5845_ = v___x_5563_; -goto v_reusejp_5844_; +v___x_5811_ = v___x_5784_; +v_isShared_5812_ = v_isSharedCheck_5816_; +goto v_resetjp_5810_; } else { -lean_object* v_reuseFailAlloc_5846_; -v_reuseFailAlloc_5846_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5846_, 0, v___x_5843_); -v___x_5845_ = v_reuseFailAlloc_5846_; -goto v_reusejp_5844_; +lean_inc(v_a_5809_); +lean_dec(v___x_5784_); +v___x_5811_ = lean_box(0); +v_isShared_5812_ = v_isSharedCheck_5816_; +goto v_resetjp_5810_; } -v_reusejp_5844_: +v_resetjp_5810_: { -return v___x_5845_; -} -} +lean_object* v___x_5814_; +if (v_isShared_5812_ == 0) +{ +v___x_5814_ = v___x_5811_; +goto v_reusejp_5813_; } else { -lean_dec(v_val_5576_); -lean_del_object(v___x_5563_); -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec_ref(v_e_5490_); -lean_dec(v_declName_5532_); -goto v___jp_5571_; +lean_object* v_reuseFailAlloc_5815_; +v_reuseFailAlloc_5815_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5815_, 0, v_a_5809_); +v___x_5814_ = v_reuseFailAlloc_5815_; +goto v_reusejp_5813_; } -} -else +v_reusejp_5813_: { -lean_dec(v_a_5567_); -lean_del_object(v___x_5563_); -lean_dec(v_a_5561_); -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -goto v___jp_5571_; -} -v___jp_5571_: -{ -lean_object* v___x_5572_; lean_object* v___x_5574_; -v___x_5572_ = lean_box(0); -if (v_isShared_5570_ == 0) -{ -lean_ctor_set(v___x_5569_, 0, v___x_5572_); -v___x_5574_ = v___x_5569_; -goto v_reusejp_5573_; -} -else -{ -lean_object* v_reuseFailAlloc_5575_; -v_reuseFailAlloc_5575_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5575_, 0, v___x_5572_); -v___x_5574_ = v_reuseFailAlloc_5575_; -goto v_reusejp_5573_; -} -v_reusejp_5573_: -{ -return v___x_5574_; +return v___x_5814_; } } } } else { -lean_object* v_a_5848_; lean_object* v___x_5850_; uint8_t v_isShared_5851_; uint8_t v_isSharedCheck_5855_; -lean_del_object(v___x_5563_); -lean_dec(v_a_5561_); -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v_a_5848_ = lean_ctor_get(v___x_5566_, 0); -v_isSharedCheck_5855_ = !lean_is_exclusive(v___x_5566_); -if (v_isSharedCheck_5855_ == 0) +lean_object* v_a_5817_; lean_object* v___x_5819_; uint8_t v_isShared_5820_; uint8_t v_isSharedCheck_5824_; +lean_dec_ref(v_paramsInfo_5774_); +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +v_a_5817_ = lean_ctor_get(v___x_5775_, 0); +v_isSharedCheck_5824_ = !lean_is_exclusive(v___x_5775_); +if (v_isSharedCheck_5824_ == 0) { -v___x_5850_ = v___x_5566_; -v_isShared_5851_ = v_isSharedCheck_5855_; -goto v_resetjp_5849_; +v___x_5819_ = v___x_5775_; +v_isShared_5820_ = v_isSharedCheck_5824_; +goto v_resetjp_5818_; } else { -lean_inc(v_a_5848_); -lean_dec(v___x_5566_); +lean_inc(v_a_5817_); +lean_dec(v___x_5775_); +v___x_5819_ = lean_box(0); +v_isShared_5820_ = v_isSharedCheck_5824_; +goto v_resetjp_5818_; +} +v_resetjp_5818_: +{ +lean_object* v___x_5822_; +if (v_isShared_5820_ == 0) +{ +v___x_5822_ = v___x_5819_; +goto v_reusejp_5821_; +} +else +{ +lean_object* v_reuseFailAlloc_5823_; +v_reuseFailAlloc_5823_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5823_, 0, v_a_5817_); +v___x_5822_ = v_reuseFailAlloc_5823_; +goto v_reusejp_5821_; +} +v_reusejp_5821_: +{ +return v___x_5822_; +} +} +} +} +v_resetjp_5827_: +{ +uint8_t v___x_5830_; +v___x_5830_ = lean_unbox(v_a_5826_); +lean_dec(v_a_5826_); +if (v___x_5830_ == 0) +{ +lean_del_object(v___x_5828_); +lean_dec_ref(v_e_5515_); +v___y_5768_ = v_a_5516_; +v___y_5769_ = v_a_5517_; +v___y_5770_ = v_a_5518_; +v___y_5771_ = v_a_5519_; +v___y_5772_ = v_a_5520_; +v___y_5773_ = v_a_5521_; +goto v___jp_5767_; +} +else +{ +lean_object* v_declName_5831_; lean_object* v_paramsInfo_5832_; uint8_t v_alreadySpecialized_5833_; lean_object* v___x_5834_; lean_object* v___x_5835_; lean_object* v___x_5836_; lean_object* v___x_5837_; lean_object* v___x_5838_; lean_object* v___x_5839_; lean_object* v___x_5840_; lean_object* v___y_5842_; +v_declName_5831_ = lean_ctor_get(v_val_5574_, 0); +v_paramsInfo_5832_ = lean_ctor_get(v_val_5574_, 1); +v_alreadySpecialized_5833_ = lean_ctor_get_uint8(v_val_5574_, sizeof(void*)*2); +v___x_5834_ = l_Lean_Compiler_LCNF_LetValue_toExpr(v___x_5603_, v_e_5515_); +v___x_5835_ = l_Lean_MessageData_ofExpr(v___x_5834_); +v___x_5836_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__19); +v___x_5837_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5837_, 0, v___x_5835_); +lean_ctor_set(v___x_5837_, 1, v___x_5836_); +lean_inc(v_declName_5831_); +v___x_5838_ = l_Lean_MessageData_ofName(v_declName_5831_); +v___x_5839_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__21); +v___x_5840_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5840_, 0, v___x_5838_); +lean_ctor_set(v___x_5840_, 1, v___x_5839_); +if (v_alreadySpecialized_5833_ == 0) +{ +lean_object* v___x_5865_; +v___x_5865_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__24)); +v___y_5842_ = v___x_5865_; +goto v___jp_5841_; +} +else +{ +lean_object* v___x_5866_; +v___x_5866_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__25)); +v___y_5842_ = v___x_5866_; +goto v___jp_5841_; +} +v___jp_5841_: +{ +lean_object* v___x_5844_; +lean_inc_ref(v___y_5842_); +if (v_isShared_5829_ == 0) +{ +lean_ctor_set_tag(v___x_5828_, 3); +lean_ctor_set(v___x_5828_, 0, v___y_5842_); +v___x_5844_ = v___x_5828_; +goto v_reusejp_5843_; +} +else +{ +lean_object* v_reuseFailAlloc_5864_; +v_reuseFailAlloc_5864_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5864_, 0, v___y_5842_); +v___x_5844_ = v_reuseFailAlloc_5864_; +goto v_reusejp_5843_; +} +v_reusejp_5843_: +{ +lean_object* v___x_5845_; lean_object* v___x_5846_; lean_object* v___x_5847_; lean_object* v___x_5848_; lean_object* v___x_5849_; lean_object* v___x_5850_; lean_object* v___x_5851_; lean_object* v___x_5852_; lean_object* v___x_5853_; lean_object* v___x_5854_; lean_object* v___x_5855_; +v___x_5845_ = l_Lean_MessageData_ofFormat(v___x_5844_); +v___x_5846_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5846_, 0, v___x_5840_); +lean_ctor_set(v___x_5846_, 1, v___x_5845_); +v___x_5847_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__23); +v___x_5848_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5848_, 0, v___x_5846_); +lean_ctor_set(v___x_5848_, 1, v___x_5847_); +lean_inc_ref(v_paramsInfo_5832_); +v___x_5849_ = lean_array_to_list(v_paramsInfo_5832_); v___x_5850_ = lean_box(0); -v_isShared_5851_ = v_isSharedCheck_5855_; -goto v_resetjp_5849_; -} -v_resetjp_5849_: +v___x_5851_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_5849_, v___x_5850_); +v___x_5852_ = l_Lean_MessageData_ofList(v___x_5851_); +v___x_5853_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5853_, 0, v___x_5848_); +lean_ctor_set(v___x_5853_, 1, v___x_5852_); +v___x_5854_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_5854_, 0, v___x_5837_); +lean_ctor_set(v___x_5854_, 1, v___x_5853_); +v___x_5855_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_5766_, v___x_5854_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_); +if (lean_obj_tag(v___x_5855_) == 0) { -lean_object* v___x_5853_; -if (v_isShared_5851_ == 0) -{ -v___x_5853_ = v___x_5850_; -goto v_reusejp_5852_; +lean_dec_ref(v___x_5855_); +v___y_5768_ = v_a_5516_; +v___y_5769_ = v_a_5517_; +v___y_5770_ = v_a_5518_; +v___y_5771_ = v_a_5519_; +v___y_5772_ = v_a_5520_; +v___y_5773_ = v_a_5521_; +goto v___jp_5767_; } else { -lean_object* v_reuseFailAlloc_5854_; -v_reuseFailAlloc_5854_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5854_, 0, v_a_5848_); -v___x_5853_ = v_reuseFailAlloc_5854_; -goto v_reusejp_5852_; -} -v_reusejp_5852_: +lean_object* v_a_5856_; lean_object* v___x_5858_; uint8_t v_isShared_5859_; uint8_t v_isSharedCheck_5863_; +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +v_a_5856_ = lean_ctor_get(v___x_5855_, 0); +v_isSharedCheck_5863_ = !lean_is_exclusive(v___x_5855_); +if (v_isSharedCheck_5863_ == 0) { -return v___x_5853_; -} -} -} -} +v___x_5858_ = v___x_5855_; +v_isShared_5859_ = v_isSharedCheck_5863_; +goto v_resetjp_5857_; } else { -lean_object* v_a_5857_; lean_object* v___x_5859_; uint8_t v_isShared_5860_; uint8_t v_isSharedCheck_5864_; -lean_dec(v_a_5551_); -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v_a_5857_ = lean_ctor_get(v___x_5560_, 0); -v_isSharedCheck_5864_ = !lean_is_exclusive(v___x_5560_); -if (v_isSharedCheck_5864_ == 0) +lean_inc(v_a_5856_); +lean_dec(v___x_5855_); +v___x_5858_ = lean_box(0); +v_isShared_5859_ = v_isSharedCheck_5863_; +goto v_resetjp_5857_; +} +v_resetjp_5857_: { -v___x_5859_ = v___x_5560_; -v_isShared_5860_ = v_isSharedCheck_5864_; -goto v_resetjp_5858_; +lean_object* v___x_5861_; +if (v_isShared_5859_ == 0) +{ +v___x_5861_ = v___x_5858_; +goto v_reusejp_5860_; } else { -lean_inc(v_a_5857_); -lean_dec(v___x_5560_); -v___x_5859_ = lean_box(0); -v_isShared_5860_ = v_isSharedCheck_5864_; -goto v_resetjp_5858_; +lean_object* v_reuseFailAlloc_5862_; +v_reuseFailAlloc_5862_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5862_, 0, v_a_5856_); +v___x_5861_ = v_reuseFailAlloc_5862_; +goto v_reusejp_5860_; } -v_resetjp_5858_: +v_reusejp_5860_: { -lean_object* v___x_5862_; -if (v_isShared_5860_ == 0) -{ -v___x_5862_ = v___x_5859_; -goto v_reusejp_5861_; +return v___x_5861_; } -else -{ -lean_object* v_reuseFailAlloc_5863_; -v_reuseFailAlloc_5863_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5863_, 0, v_a_5857_); -v___x_5862_ = v_reuseFailAlloc_5863_; -goto v_reusejp_5861_; } -v_reusejp_5861_: -{ -return v___x_5862_; } } } @@ -17237,1302 +17178,1490 @@ return v___x_5862_; } else { -lean_object* v_a_5866_; lean_object* v___x_5868_; uint8_t v_isShared_5869_; uint8_t v_isSharedCheck_5873_; -lean_dec(v_val_5549_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v_a_5866_ = lean_ctor_get(v___x_5550_, 0); -v_isSharedCheck_5873_ = !lean_is_exclusive(v___x_5550_); -if (v_isSharedCheck_5873_ == 0) -{ -v___x_5868_ = v___x_5550_; -v_isShared_5869_ = v_isSharedCheck_5873_; -goto v_resetjp_5867_; -} -else -{ -lean_inc(v_a_5866_); -lean_dec(v___x_5550_); +lean_object* v___x_5868_; lean_object* v___x_5870_; +lean_dec(v_val_5601_); +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); v___x_5868_ = lean_box(0); -v_isShared_5869_ = v_isSharedCheck_5873_; -goto v_resetjp_5867_; -} -v_resetjp_5867_: +if (v_isShared_5589_ == 0) { -lean_object* v___x_5871_; -if (v_isShared_5869_ == 0) -{ -v___x_5871_ = v___x_5868_; -goto v_reusejp_5870_; +lean_ctor_set(v___x_5588_, 0, v___x_5868_); +v___x_5870_ = v___x_5588_; +goto v_reusejp_5869_; } else { -lean_object* v_reuseFailAlloc_5872_; -v_reuseFailAlloc_5872_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5872_, 0, v_a_5866_); -v___x_5871_ = v_reuseFailAlloc_5872_; -goto v_reusejp_5870_; +lean_object* v_reuseFailAlloc_5871_; +v_reuseFailAlloc_5871_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5871_, 0, v___x_5868_); +v___x_5870_ = v_reuseFailAlloc_5871_; +goto v_reusejp_5869_; } -v_reusejp_5870_: +v_reusejp_5869_: { -return v___x_5871_; +return v___x_5870_; +} +} +} +else +{ +lean_dec(v_val_5601_); +lean_del_object(v___x_5588_); +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +goto v___jp_5596_; +} +} +else +{ +lean_dec(v_a_5592_); +lean_del_object(v___x_5588_); +lean_dec(v_a_5586_); +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +goto v___jp_5596_; +} +v___jp_5596_: +{ +lean_object* v___x_5597_; lean_object* v___x_5599_; +v___x_5597_ = lean_box(0); +if (v_isShared_5595_ == 0) +{ +lean_ctor_set(v___x_5594_, 0, v___x_5597_); +v___x_5599_ = v___x_5594_; +goto v_reusejp_5598_; +} +else +{ +lean_object* v_reuseFailAlloc_5600_; +v_reuseFailAlloc_5600_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5600_, 0, v___x_5597_); +v___x_5599_ = v_reuseFailAlloc_5600_; +goto v_reusejp_5598_; +} +v_reusejp_5598_: +{ +return v___x_5599_; } } } } else { -lean_object* v___x_5874_; lean_object* v___x_5876_; -lean_dec(v_a_5545_); -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v___x_5874_ = lean_box(0); -if (v_isShared_5548_ == 0) +lean_object* v_a_5873_; lean_object* v___x_5875_; uint8_t v_isShared_5876_; uint8_t v_isSharedCheck_5880_; +lean_del_object(v___x_5588_); +lean_dec(v_a_5586_); +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v_a_5873_ = lean_ctor_get(v___x_5591_, 0); +v_isSharedCheck_5880_ = !lean_is_exclusive(v___x_5591_); +if (v_isSharedCheck_5880_ == 0) { -lean_ctor_set(v___x_5547_, 0, v___x_5874_); -v___x_5876_ = v___x_5547_; -goto v_reusejp_5875_; +v___x_5875_ = v___x_5591_; +v_isShared_5876_ = v_isSharedCheck_5880_; +goto v_resetjp_5874_; } else { -lean_object* v_reuseFailAlloc_5877_; -v_reuseFailAlloc_5877_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5877_, 0, v___x_5874_); -v___x_5876_ = v_reuseFailAlloc_5877_; -goto v_reusejp_5875_; +lean_inc(v_a_5873_); +lean_dec(v___x_5591_); +v___x_5875_ = lean_box(0); +v_isShared_5876_ = v_isSharedCheck_5880_; +goto v_resetjp_5874_; } -v_reusejp_5875_: +v_resetjp_5874_: { -return v___x_5876_; +lean_object* v___x_5878_; +if (v_isShared_5876_ == 0) +{ +v___x_5878_ = v___x_5875_; +goto v_reusejp_5877_; +} +else +{ +lean_object* v_reuseFailAlloc_5879_; +v_reuseFailAlloc_5879_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5879_, 0, v_a_5873_); +v___x_5878_ = v_reuseFailAlloc_5879_; +goto v_reusejp_5877_; +} +v_reusejp_5877_: +{ +return v___x_5878_; +} } } } } else { -lean_object* v___x_5879_; lean_object* v___x_5881_; -lean_dec(v_a_5539_); -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); -v___x_5879_ = lean_box(0); -if (v_isShared_5542_ == 0) +lean_object* v_a_5882_; lean_object* v___x_5884_; uint8_t v_isShared_5885_; uint8_t v_isSharedCheck_5889_; +lean_dec(v_a_5576_); +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v_a_5882_ = lean_ctor_get(v___x_5585_, 0); +v_isSharedCheck_5889_ = !lean_is_exclusive(v___x_5585_); +if (v_isSharedCheck_5889_ == 0) { -lean_ctor_set(v___x_5541_, 0, v___x_5879_); -v___x_5881_ = v___x_5541_; -goto v_reusejp_5880_; +v___x_5884_ = v___x_5585_; +v_isShared_5885_ = v_isSharedCheck_5889_; +goto v_resetjp_5883_; } else { -lean_object* v_reuseFailAlloc_5882_; -v_reuseFailAlloc_5882_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_5882_, 0, v___x_5879_); -v___x_5881_ = v_reuseFailAlloc_5882_; -goto v_reusejp_5880_; -} -v_reusejp_5880_: -{ -return v___x_5881_; -} -} -} -} -else -{ -lean_object* v___x_5884_; lean_object* v___x_5885_; -lean_dec_ref(v_args_5534_); -lean_dec(v_us_5533_); -lean_dec(v_declName_5532_); -lean_dec_ref(v_e_5490_); +lean_inc(v_a_5882_); +lean_dec(v___x_5585_); v___x_5884_ = lean_box(0); -v___x_5885_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_5885_, 0, v___x_5884_); -return v___x_5885_; +v_isShared_5885_ = v_isSharedCheck_5889_; +goto v_resetjp_5883_; } +v_resetjp_5883_: +{ +lean_object* v___x_5887_; +if (v_isShared_5885_ == 0) +{ +v___x_5887_ = v___x_5884_; +goto v_reusejp_5886_; } else { -lean_object* v___x_5886_; lean_object* v___x_5887_; -lean_dec(v_e_5490_); -v___x_5886_ = lean_box(0); -v___x_5887_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_5887_, 0, v___x_5886_); +lean_object* v_reuseFailAlloc_5888_; +v_reuseFailAlloc_5888_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5888_, 0, v_a_5882_); +v___x_5887_ = v_reuseFailAlloc_5888_; +goto v_reusejp_5886_; +} +v_reusejp_5886_: +{ return v___x_5887_; } -v___jp_5498_: -{ -lean_object* v___x_5504_; lean_object* v_toSignature_5505_; lean_object* v_processedDecls_5506_; lean_object* v_workingDecls_5507_; lean_object* v_localSpecParamInfo_5508_; lean_object* v_parentMasks_5509_; uint8_t v_changed_5510_; lean_object* v___x_5512_; uint8_t v_isShared_5513_; uint8_t v_isSharedCheck_5524_; -v___x_5504_ = lean_st_ref_take(v___y_5503_); -v_toSignature_5505_ = lean_ctor_get(v___y_5502_, 0); -v_processedDecls_5506_ = lean_ctor_get(v___x_5504_, 0); -v_workingDecls_5507_ = lean_ctor_get(v___x_5504_, 1); -v_localSpecParamInfo_5508_ = lean_ctor_get(v___x_5504_, 2); -v_parentMasks_5509_ = lean_ctor_get(v___x_5504_, 3); -v_changed_5510_ = lean_ctor_get_uint8(v___x_5504_, sizeof(void*)*4); -v_isSharedCheck_5524_ = !lean_is_exclusive(v___x_5504_); -if (v_isSharedCheck_5524_ == 0) -{ -v___x_5512_ = v___x_5504_; -v_isShared_5513_ = v_isSharedCheck_5524_; -goto v_resetjp_5511_; +} +} +} +} } else { -lean_inc(v_parentMasks_5509_); -lean_inc(v_localSpecParamInfo_5508_); -lean_inc(v_workingDecls_5507_); -lean_inc(v_processedDecls_5506_); -lean_dec(v___x_5504_); -v___x_5512_ = lean_box(0); -v_isShared_5513_ = v_isSharedCheck_5524_; -goto v_resetjp_5511_; -} -v_resetjp_5511_: +lean_object* v_a_5891_; lean_object* v___x_5893_; uint8_t v_isShared_5894_; uint8_t v_isSharedCheck_5898_; +lean_dec(v_val_5574_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v_a_5891_ = lean_ctor_get(v___x_5575_, 0); +v_isSharedCheck_5898_ = !lean_is_exclusive(v___x_5575_); +if (v_isSharedCheck_5898_ == 0) { -lean_object* v_name_5514_; lean_object* v___x_5515_; lean_object* v___x_5516_; lean_object* v___x_5518_; -v_name_5514_ = lean_ctor_get(v_toSignature_5505_, 0); -lean_inc(v_name_5514_); -v___x_5515_ = lean_array_push(v_workingDecls_5507_, v___y_5502_); -lean_inc(v_name_5514_); -v___x_5516_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_parentMasks_5509_, v_name_5514_, v___y_5501_); -if (v_isShared_5513_ == 0) -{ -lean_ctor_set(v___x_5512_, 3, v___x_5516_); -lean_ctor_set(v___x_5512_, 1, v___x_5515_); -v___x_5518_ = v___x_5512_; -goto v_reusejp_5517_; +v___x_5893_ = v___x_5575_; +v_isShared_5894_ = v_isSharedCheck_5898_; +goto v_resetjp_5892_; } else { -lean_object* v_reuseFailAlloc_5523_; -v_reuseFailAlloc_5523_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_5523_, 0, v_processedDecls_5506_); -lean_ctor_set(v_reuseFailAlloc_5523_, 1, v___x_5515_); -lean_ctor_set(v_reuseFailAlloc_5523_, 2, v_localSpecParamInfo_5508_); -lean_ctor_set(v_reuseFailAlloc_5523_, 3, v___x_5516_); -lean_ctor_set_uint8(v_reuseFailAlloc_5523_, sizeof(void*)*4, v_changed_5510_); -v___x_5518_ = v_reuseFailAlloc_5523_; -goto v_reusejp_5517_; +lean_inc(v_a_5891_); +lean_dec(v___x_5575_); +v___x_5893_ = lean_box(0); +v_isShared_5894_ = v_isSharedCheck_5898_; +goto v_resetjp_5892_; } -v_reusejp_5517_: +v_resetjp_5892_: { -lean_object* v___x_5519_; lean_object* v___x_5520_; lean_object* v___x_5521_; lean_object* v___x_5522_; -v___x_5519_ = lean_st_ref_set(v___y_5503_, v___x_5518_); -v___x_5520_ = lean_alloc_ctor(3, 3, 0); -lean_ctor_set(v___x_5520_, 0, v_name_5514_); -lean_ctor_set(v___x_5520_, 1, v___y_5500_); -lean_ctor_set(v___x_5520_, 2, v___y_5499_); -v___x_5521_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_5521_, 0, v___x_5520_); -v___x_5522_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_5522_, 0, v___x_5521_); -return v___x_5522_; -} -} -} -v___jp_5525_: +lean_object* v___x_5896_; +if (v_isShared_5894_ == 0) { -lean_object* v___x_5529_; lean_object* v___x_5530_; lean_object* v___x_5531_; -v___x_5529_ = lean_alloc_ctor(3, 3, 0); -lean_ctor_set(v___x_5529_, 0, v___y_5528_); -lean_ctor_set(v___x_5529_, 1, v___y_5527_); -lean_ctor_set(v___x_5529_, 2, v___y_5526_); -v___x_5530_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_5530_, 0, v___x_5529_); -v___x_5531_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_5531_, 0, v___x_5530_); -return v___x_5531_; +v___x_5896_ = v___x_5893_; +goto v_reusejp_5895_; } -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___boxed(lean_object* v_e_5888_, lean_object* v_a_5889_, lean_object* v_a_5890_, lean_object* v_a_5891_, lean_object* v_a_5892_, lean_object* v_a_5893_, lean_object* v_a_5894_, lean_object* v_a_5895_){ -_start: +else { -lean_object* v_res_5896_; -v_res_5896_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(v_e_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_); -lean_dec(v_a_5894_); -lean_dec_ref(v_a_5893_); -lean_dec(v_a_5892_); -lean_dec_ref(v_a_5891_); -lean_dec(v_a_5890_); -lean_dec_ref(v_a_5889_); -return v_res_5896_; +lean_object* v_reuseFailAlloc_5897_; +v_reuseFailAlloc_5897_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5897_, 0, v_a_5891_); +v___x_5896_ = v_reuseFailAlloc_5897_; +goto v_reusejp_5895_; } -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3(uint8_t v___x_5897_, size_t v_sz_5898_, size_t v_i_5899_, lean_object* v_bs_5900_){ -_start: +v_reusejp_5895_: +{ +return v___x_5896_; +} +} +} +} +else +{ +lean_object* v___x_5899_; lean_object* v___x_5901_; +lean_dec(v_a_5570_); +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v___x_5899_ = lean_box(0); +if (v_isShared_5573_ == 0) +{ +lean_ctor_set(v___x_5572_, 0, v___x_5899_); +v___x_5901_ = v___x_5572_; +goto v_reusejp_5900_; +} +else +{ +lean_object* v_reuseFailAlloc_5902_; +v_reuseFailAlloc_5902_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5902_, 0, v___x_5899_); +v___x_5901_ = v_reuseFailAlloc_5902_; +goto v_reusejp_5900_; +} +v_reusejp_5900_: { -lean_object* v___x_5901_; -v___x_5901_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_5898_, v_i_5899_, v_bs_5900_); return v___x_5901_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___boxed(lean_object* v___x_5902_, lean_object* v_sz_5903_, lean_object* v_i_5904_, lean_object* v_bs_5905_){ +} +} +else +{ +lean_object* v___x_5904_; lean_object* v___x_5906_; +lean_dec(v_a_5564_); +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v___x_5904_ = lean_box(0); +if (v_isShared_5567_ == 0) +{ +lean_ctor_set(v___x_5566_, 0, v___x_5904_); +v___x_5906_ = v___x_5566_; +goto v_reusejp_5905_; +} +else +{ +lean_object* v_reuseFailAlloc_5907_; +v_reuseFailAlloc_5907_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_5907_, 0, v___x_5904_); +v___x_5906_ = v_reuseFailAlloc_5907_; +goto v_reusejp_5905_; +} +v_reusejp_5905_: +{ +return v___x_5906_; +} +} +} +} +else +{ +lean_object* v___x_5909_; lean_object* v___x_5910_; +lean_dec_ref(v_args_5559_); +lean_dec(v_us_5558_); +lean_dec(v_declName_5557_); +lean_dec_ref(v_e_5515_); +v___x_5909_ = lean_box(0); +v___x_5910_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_5910_, 0, v___x_5909_); +return v___x_5910_; +} +} +else +{ +lean_object* v___x_5911_; lean_object* v___x_5912_; +lean_dec(v_e_5515_); +v___x_5911_ = lean_box(0); +v___x_5912_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_5912_, 0, v___x_5911_); +return v___x_5912_; +} +v___jp_5523_: +{ +lean_object* v___x_5529_; lean_object* v_toSignature_5530_; lean_object* v_processedDecls_5531_; lean_object* v_workingDecls_5532_; lean_object* v_localSpecParamInfo_5533_; lean_object* v_parentMasks_5534_; uint8_t v_changed_5535_; lean_object* v___x_5537_; uint8_t v_isShared_5538_; uint8_t v_isSharedCheck_5549_; +v___x_5529_ = lean_st_ref_take(v___y_5528_); +v_toSignature_5530_ = lean_ctor_get(v___y_5524_, 0); +v_processedDecls_5531_ = lean_ctor_get(v___x_5529_, 0); +v_workingDecls_5532_ = lean_ctor_get(v___x_5529_, 1); +v_localSpecParamInfo_5533_ = lean_ctor_get(v___x_5529_, 2); +v_parentMasks_5534_ = lean_ctor_get(v___x_5529_, 3); +v_changed_5535_ = lean_ctor_get_uint8(v___x_5529_, sizeof(void*)*4); +v_isSharedCheck_5549_ = !lean_is_exclusive(v___x_5529_); +if (v_isSharedCheck_5549_ == 0) +{ +v___x_5537_ = v___x_5529_; +v_isShared_5538_ = v_isSharedCheck_5549_; +goto v_resetjp_5536_; +} +else +{ +lean_inc(v_parentMasks_5534_); +lean_inc(v_localSpecParamInfo_5533_); +lean_inc(v_workingDecls_5532_); +lean_inc(v_processedDecls_5531_); +lean_dec(v___x_5529_); +v___x_5537_ = lean_box(0); +v_isShared_5538_ = v_isSharedCheck_5549_; +goto v_resetjp_5536_; +} +v_resetjp_5536_: +{ +lean_object* v_name_5539_; lean_object* v___x_5540_; lean_object* v___x_5541_; lean_object* v___x_5543_; +v_name_5539_ = lean_ctor_get(v_toSignature_5530_, 0); +lean_inc(v_name_5539_); +v___x_5540_ = lean_array_push(v_workingDecls_5532_, v___y_5524_); +lean_inc(v_name_5539_); +v___x_5541_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_parentMasks_5534_, v_name_5539_, v___y_5526_); +if (v_isShared_5538_ == 0) +{ +lean_ctor_set(v___x_5537_, 3, v___x_5541_); +lean_ctor_set(v___x_5537_, 1, v___x_5540_); +v___x_5543_ = v___x_5537_; +goto v_reusejp_5542_; +} +else +{ +lean_object* v_reuseFailAlloc_5548_; +v_reuseFailAlloc_5548_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_5548_, 0, v_processedDecls_5531_); +lean_ctor_set(v_reuseFailAlloc_5548_, 1, v___x_5540_); +lean_ctor_set(v_reuseFailAlloc_5548_, 2, v_localSpecParamInfo_5533_); +lean_ctor_set(v_reuseFailAlloc_5548_, 3, v___x_5541_); +lean_ctor_set_uint8(v_reuseFailAlloc_5548_, sizeof(void*)*4, v_changed_5535_); +v___x_5543_ = v_reuseFailAlloc_5548_; +goto v_reusejp_5542_; +} +v_reusejp_5542_: +{ +lean_object* v___x_5544_; lean_object* v___x_5545_; lean_object* v___x_5546_; lean_object* v___x_5547_; +v___x_5544_ = lean_st_ref_set(v___y_5528_, v___x_5543_); +v___x_5545_ = lean_alloc_ctor(3, 3, 0); +lean_ctor_set(v___x_5545_, 0, v_name_5539_); +lean_ctor_set(v___x_5545_, 1, v___y_5525_); +lean_ctor_set(v___x_5545_, 2, v___y_5527_); +v___x_5546_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_5546_, 0, v___x_5545_); +v___x_5547_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_5547_, 0, v___x_5546_); +return v___x_5547_; +} +} +} +v___jp_5550_: +{ +lean_object* v___x_5554_; lean_object* v___x_5555_; lean_object* v___x_5556_; +v___x_5554_ = lean_alloc_ctor(3, 3, 0); +lean_ctor_set(v___x_5554_, 0, v___y_5551_); +lean_ctor_set(v___x_5554_, 1, v___y_5552_); +lean_ctor_set(v___x_5554_, 2, v___y_5553_); +v___x_5555_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_5555_, 0, v___x_5554_); +v___x_5556_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_5556_, 0, v___x_5555_); +return v___x_5556_; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___boxed(lean_object* v_e_5913_, lean_object* v_a_5914_, lean_object* v_a_5915_, lean_object* v_a_5916_, lean_object* v_a_5917_, lean_object* v_a_5918_, lean_object* v_a_5919_, lean_object* v_a_5920_){ _start: { -uint8_t v___x_73237__boxed_5906_; size_t v_sz_boxed_5907_; size_t v_i_boxed_5908_; lean_object* v_res_5909_; -v___x_73237__boxed_5906_ = lean_unbox(v___x_5902_); -v_sz_boxed_5907_ = lean_unbox_usize(v_sz_5903_); -lean_dec(v_sz_5903_); -v_i_boxed_5908_ = lean_unbox_usize(v_i_5904_); -lean_dec(v_i_5904_); -v_res_5909_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3(v___x_73237__boxed_5906_, v_sz_boxed_5907_, v_i_boxed_5908_, v_bs_5905_); -return v_res_5909_; +lean_object* v_res_5921_; +v_res_5921_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(v_e_5913_, v_a_5914_, v_a_5915_, v_a_5916_, v_a_5917_, v_a_5918_, v_a_5919_); +lean_dec(v_a_5919_); +lean_dec_ref(v_a_5918_); +lean_dec(v_a_5917_); +lean_dec_ref(v_a_5916_); +lean_dec(v_a_5915_); +lean_dec_ref(v_a_5914_); +return v_res_5921_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6(uint8_t v___x_5910_, uint8_t v_a_5911_, uint8_t v_a_5912_, size_t v_sz_5913_, size_t v_i_5914_, lean_object* v_bs_5915_, lean_object* v___y_5916_, lean_object* v___y_5917_, lean_object* v___y_5918_, lean_object* v___y_5919_, lean_object* v___y_5920_, lean_object* v___y_5921_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3(uint8_t v___x_5922_, size_t v_sz_5923_, size_t v_i_5924_, lean_object* v_bs_5925_){ _start: { -lean_object* v___x_5923_; -v___x_5923_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_5910_, v_a_5911_, v_a_5912_, v_sz_5913_, v_i_5914_, v_bs_5915_, v___y_5919_, v___y_5921_); -return v___x_5923_; +lean_object* v___x_5926_; +v___x_5926_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___redArg(v_sz_5923_, v_i_5924_, v_bs_5925_); +return v___x_5926_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___boxed(lean_object* v___x_5924_, lean_object* v_a_5925_, lean_object* v_a_5926_, lean_object* v_sz_5927_, lean_object* v_i_5928_, lean_object* v_bs_5929_, lean_object* v___y_5930_, lean_object* v___y_5931_, lean_object* v___y_5932_, lean_object* v___y_5933_, lean_object* v___y_5934_, lean_object* v___y_5935_, lean_object* v___y_5936_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3___boxed(lean_object* v___x_5927_, lean_object* v_sz_5928_, lean_object* v_i_5929_, lean_object* v_bs_5930_){ _start: { -uint8_t v___x_73242__boxed_5937_; uint8_t v_a_73243__boxed_5938_; uint8_t v_a_73244__boxed_5939_; size_t v_sz_boxed_5940_; size_t v_i_boxed_5941_; lean_object* v_res_5942_; -v___x_73242__boxed_5937_ = lean_unbox(v___x_5924_); -v_a_73243__boxed_5938_ = lean_unbox(v_a_5925_); -v_a_73244__boxed_5939_ = lean_unbox(v_a_5926_); -v_sz_boxed_5940_ = lean_unbox_usize(v_sz_5927_); -lean_dec(v_sz_5927_); -v_i_boxed_5941_ = lean_unbox_usize(v_i_5928_); -lean_dec(v_i_5928_); -v_res_5942_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6(v___x_73242__boxed_5937_, v_a_73243__boxed_5938_, v_a_73244__boxed_5939_, v_sz_boxed_5940_, v_i_boxed_5941_, v_bs_5929_, v___y_5930_, v___y_5931_, v___y_5932_, v___y_5933_, v___y_5934_, v___y_5935_); -lean_dec(v___y_5935_); -lean_dec_ref(v___y_5934_); -lean_dec(v___y_5933_); -lean_dec_ref(v___y_5932_); -lean_dec(v___y_5931_); -lean_dec_ref(v___y_5930_); -return v_res_5942_; +uint8_t v___x_73510__boxed_5931_; size_t v_sz_boxed_5932_; size_t v_i_boxed_5933_; lean_object* v_res_5934_; +v___x_73510__boxed_5931_ = lean_unbox(v___x_5927_); +v_sz_boxed_5932_ = lean_unbox_usize(v_sz_5928_); +lean_dec(v_sz_5928_); +v_i_boxed_5933_ = lean_unbox_usize(v_i_5929_); +lean_dec(v_i_5929_); +v_res_5934_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__3(v___x_73510__boxed_5931_, v_sz_boxed_5932_, v_i_boxed_5933_, v_bs_5930_); +return v_res_5934_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7(lean_object* v_00_u03b2_5943_, lean_object* v_m_5944_, lean_object* v_a_5945_, lean_object* v_b_5946_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6(uint8_t v___x_5935_, uint8_t v_a_5936_, uint8_t v_a_5937_, size_t v_sz_5938_, size_t v_i_5939_, lean_object* v_bs_5940_, lean_object* v___y_5941_, lean_object* v___y_5942_, lean_object* v___y_5943_, lean_object* v___y_5944_, lean_object* v___y_5945_, lean_object* v___y_5946_){ _start: { -lean_object* v___x_5947_; -v___x_5947_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_m_5944_, v_a_5945_, v_b_5946_); -return v___x_5947_; +lean_object* v___x_5948_; +v___x_5948_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___redArg(v___x_5935_, v_a_5936_, v_a_5937_, v_sz_5938_, v_i_5939_, v_bs_5940_, v___y_5944_, v___y_5946_); +return v___x_5948_; } } -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8(lean_object* v_00_u03b2_5948_, lean_object* v_a_5949_, lean_object* v_x_5950_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6___boxed(lean_object* v___x_5949_, lean_object* v_a_5950_, lean_object* v_a_5951_, lean_object* v_sz_5952_, lean_object* v_i_5953_, lean_object* v_bs_5954_, lean_object* v___y_5955_, lean_object* v___y_5956_, lean_object* v___y_5957_, lean_object* v___y_5958_, lean_object* v___y_5959_, lean_object* v___y_5960_, lean_object* v___y_5961_){ _start: { -uint8_t v___x_5951_; -v___x_5951_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5949_, v_x_5950_); -return v___x_5951_; +uint8_t v___x_73515__boxed_5962_; uint8_t v_a_73516__boxed_5963_; uint8_t v_a_73517__boxed_5964_; size_t v_sz_boxed_5965_; size_t v_i_boxed_5966_; lean_object* v_res_5967_; +v___x_73515__boxed_5962_ = lean_unbox(v___x_5949_); +v_a_73516__boxed_5963_ = lean_unbox(v_a_5950_); +v_a_73517__boxed_5964_ = lean_unbox(v_a_5951_); +v_sz_boxed_5965_ = lean_unbox_usize(v_sz_5952_); +lean_dec(v_sz_5952_); +v_i_boxed_5966_ = lean_unbox_usize(v_i_5953_); +lean_dec(v_i_5953_); +v_res_5967_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__6(v___x_73515__boxed_5962_, v_a_73516__boxed_5963_, v_a_73517__boxed_5964_, v_sz_boxed_5965_, v_i_boxed_5966_, v_bs_5954_, v___y_5955_, v___y_5956_, v___y_5957_, v___y_5958_, v___y_5959_, v___y_5960_); +lean_dec(v___y_5960_); +lean_dec_ref(v___y_5959_); +lean_dec(v___y_5958_); +lean_dec_ref(v___y_5957_); +lean_dec(v___y_5956_); +lean_dec_ref(v___y_5955_); +return v_res_5967_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___boxed(lean_object* v_00_u03b2_5952_, lean_object* v_a_5953_, lean_object* v_x_5954_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7(lean_object* v_00_u03b2_5968_, lean_object* v_m_5969_, lean_object* v_a_5970_, lean_object* v_b_5971_){ _start: { -uint8_t v_res_5955_; lean_object* v_r_5956_; -v_res_5955_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8(v_00_u03b2_5952_, v_a_5953_, v_x_5954_); -lean_dec(v_x_5954_); -lean_dec(v_a_5953_); -v_r_5956_ = lean_box(v_res_5955_); -return v_r_5956_; +lean_object* v___x_5972_; +v___x_5972_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_m_5969_, v_a_5970_, v_b_5971_); +return v___x_5972_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9(lean_object* v_00_u03b2_5957_, lean_object* v_data_5958_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8(lean_object* v_00_u03b2_5973_, lean_object* v_a_5974_, lean_object* v_x_5975_){ _start: { -lean_object* v___x_5959_; -v___x_5959_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(v_data_5958_); -return v___x_5959_; +uint8_t v___x_5976_; +v___x_5976_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_5974_, v_x_5975_); +return v___x_5976_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10(lean_object* v_00_u03b2_5960_, lean_object* v_a_5961_, lean_object* v_b_5962_, lean_object* v_x_5963_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___boxed(lean_object* v_00_u03b2_5977_, lean_object* v_a_5978_, lean_object* v_x_5979_){ _start: { -lean_object* v___x_5964_; -v___x_5964_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5961_, v_b_5962_, v_x_5963_); -return v___x_5964_; +uint8_t v_res_5980_; lean_object* v_r_5981_; +v_res_5980_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8(v_00_u03b2_5977_, v_a_5978_, v_x_5979_); +lean_dec(v_x_5979_); +lean_dec(v_a_5978_); +v_r_5981_ = lean_box(v_res_5980_); +return v_r_5981_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11(lean_object* v_00_u03b2_5965_, lean_object* v_i_5966_, lean_object* v_source_5967_, lean_object* v_target_5968_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9(lean_object* v_00_u03b2_5982_, lean_object* v_data_5983_){ _start: { -lean_object* v___x_5969_; -v___x_5969_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(v_i_5966_, v_source_5967_, v_target_5968_); -return v___x_5969_; +lean_object* v___x_5984_; +v___x_5984_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9___redArg(v_data_5983_); +return v___x_5984_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13(lean_object* v_00_u03b2_5970_, lean_object* v_x_5971_, lean_object* v_x_5972_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10(lean_object* v_00_u03b2_5985_, lean_object* v_a_5986_, lean_object* v_b_5987_, lean_object* v_x_5988_){ _start: { -lean_object* v___x_5973_; -v___x_5973_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(v_x_5971_, v_x_5972_); -return v___x_5973_; +lean_object* v___x_5989_; +v___x_5989_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__10___redArg(v_a_5986_, v_b_5987_, v_x_5988_); +return v___x_5989_; } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0(lean_object* v_scope_5974_, lean_object* v_ground_5975_, lean_object* v_fvarId_5976_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11(lean_object* v_00_u03b2_5990_, lean_object* v_i_5991_, lean_object* v_source_5992_, lean_object* v_target_5993_){ _start: { -uint8_t v___x_5977_; -v___x_5977_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_fvarId_5976_, v_scope_5974_); -if (v___x_5977_ == 0) -{ -uint8_t v___x_5978_; -v___x_5978_ = 1; -return v___x_5978_; -} -else -{ -uint8_t v___x_5979_; -v___x_5979_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_fvarId_5976_, v_ground_5975_); -return v___x_5979_; +lean_object* v___x_5994_; +v___x_5994_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11___redArg(v_i_5991_, v_source_5992_, v_target_5993_); +return v___x_5994_; } } -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0___boxed(lean_object* v_scope_5980_, lean_object* v_ground_5981_, lean_object* v_fvarId_5982_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13(lean_object* v_00_u03b2_5995_, lean_object* v_x_5996_, lean_object* v_x_5997_){ _start: { -uint8_t v_res_5983_; lean_object* v_r_5984_; -v_res_5983_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0(v_scope_5980_, v_ground_5981_, v_fvarId_5982_); -lean_dec(v_fvarId_5982_); -lean_dec(v_ground_5981_); -lean_dec(v_scope_5980_); -v_r_5984_ = lean_box(v_res_5983_); -return v_r_5984_; +lean_object* v___x_5998_; +v___x_5998_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__9_spec__11_spec__13___redArg(v_x_5996_, v_x_5997_); +return v___x_5998_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(lean_object* v_f_5985_, lean_object* v_as_5986_, size_t v_i_5987_, size_t v_stop_5988_, lean_object* v_b_5989_){ +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0(lean_object* v_scope_5999_, lean_object* v_ground_6000_, lean_object* v_fvarId_6001_){ _start: { -uint8_t v___x_5990_; -v___x_5990_ = lean_usize_dec_eq(v_i_5987_, v_stop_5988_); -if (v___x_5990_ == 0) +uint8_t v___x_6002_; +v___x_6002_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_fvarId_6001_, v_scope_5999_); +if (v___x_6002_ == 0) { -lean_object* v___x_5991_; lean_object* v___x_5992_; -v___x_5991_ = lean_array_uget_borrowed(v_as_5986_, v_i_5987_); -lean_inc(v___x_5991_); -lean_inc_ref(v_f_5985_); -v___x_5992_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_5985_, v___x_5991_); -if (lean_obj_tag(v___x_5992_) == 0) -{ -lean_dec_ref(v_f_5985_); -return v___x_5992_; +uint8_t v___x_6003_; +v___x_6003_ = 1; +return v___x_6003_; } else { -lean_object* v_val_5993_; size_t v___x_5994_; size_t v___x_5995_; -v_val_5993_ = lean_ctor_get(v___x_5992_, 0); -lean_inc(v_val_5993_); -lean_dec_ref(v___x_5992_); -v___x_5994_ = ((size_t)1ULL); -v___x_5995_ = lean_usize_add(v_i_5987_, v___x_5994_); -v_i_5987_ = v___x_5995_; -v_b_5989_ = v_val_5993_; -goto _start; -} -} -else -{ -lean_object* v___x_5997_; -lean_dec_ref(v_f_5985_); -v___x_5997_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_5997_, 0, v_b_5989_); -return v___x_5997_; +uint8_t v___x_6004_; +v___x_6004_ = l_Std_DTreeMap_Internal_Impl_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_Collector_collect_spec__1___redArg(v_fvarId_6001_, v_ground_6000_); +return v___x_6004_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg___boxed(lean_object* v_f_5998_, lean_object* v_as_5999_, lean_object* v_i_6000_, lean_object* v_stop_6001_, lean_object* v_b_6002_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0___boxed(lean_object* v_scope_6005_, lean_object* v_ground_6006_, lean_object* v_fvarId_6007_){ _start: { -size_t v_i_boxed_6003_; size_t v_stop_boxed_6004_; lean_object* v_res_6005_; -v_i_boxed_6003_ = lean_unbox_usize(v_i_6000_); -lean_dec(v_i_6000_); -v_stop_boxed_6004_ = lean_unbox_usize(v_stop_6001_); -lean_dec(v_stop_6001_); -v_res_6005_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_5998_, v_as_5999_, v_i_boxed_6003_, v_stop_boxed_6004_, v_b_6002_); -lean_dec_ref(v_as_5999_); -return v_res_6005_; +uint8_t v_res_6008_; lean_object* v_r_6009_; +v_res_6008_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0(v_scope_6005_, v_ground_6006_, v_fvarId_6007_); +lean_dec(v_fvarId_6007_); +lean_dec(v_ground_6006_); +lean_dec(v_scope_6005_); +v_r_6009_ = lean_box(v_res_6008_); +return v_r_6009_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(uint8_t v_pu_6006_, lean_object* v_f_6007_, lean_object* v_e_6008_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(lean_object* v_f_6010_, lean_object* v_as_6011_, size_t v_i_6012_, size_t v_stop_6013_, lean_object* v_b_6014_){ _start: { -lean_object* v_args_6010_; -switch(lean_obj_tag(v_e_6008_)) +uint8_t v___x_6015_; +v___x_6015_ = lean_usize_dec_eq(v_i_6012_, v_stop_6013_); +if (v___x_6015_ == 0) { -case 2: +lean_object* v___x_6016_; lean_object* v___x_6017_; +v___x_6016_ = lean_array_uget_borrowed(v_as_6011_, v_i_6012_); +lean_inc(v___x_6016_); +lean_inc_ref(v_f_6010_); +v___x_6017_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_6010_, v___x_6016_); +if (lean_obj_tag(v___x_6017_) == 0) { -lean_object* v_struct_6024_; lean_object* v___x_6025_; -v_struct_6024_ = lean_ctor_get(v_e_6008_, 2); -lean_inc(v_struct_6024_); -lean_dec_ref(v_e_6008_); -v___x_6025_ = lean_apply_1(v_f_6007_, v_struct_6024_); -return v___x_6025_; -} -case 3: -{ -lean_object* v_args_6026_; lean_object* v___x_6027_; lean_object* v___x_6028_; lean_object* v___x_6029_; uint8_t v___x_6030_; -v_args_6026_ = lean_ctor_get(v_e_6008_, 2); -lean_inc_ref(v_args_6026_); -lean_dec_ref(v_e_6008_); -v___x_6027_ = lean_unsigned_to_nat(0u); -v___x_6028_ = lean_array_get_size(v_args_6026_); -v___x_6029_ = lean_box(0); -v___x_6030_ = lean_nat_dec_lt(v___x_6027_, v___x_6028_); -if (v___x_6030_ == 0) -{ -lean_object* v___x_6031_; -lean_dec_ref(v_args_6026_); -lean_dec_ref(v_f_6007_); -v___x_6031_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6031_; -} -else -{ -uint8_t v___x_6032_; -v___x_6032_ = lean_nat_dec_le(v___x_6028_, v___x_6028_); -if (v___x_6032_ == 0) -{ -if (v___x_6030_ == 0) -{ -lean_object* v___x_6033_; -lean_dec_ref(v_args_6026_); -lean_dec_ref(v_f_6007_); -v___x_6033_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6033_; -} -else -{ -size_t v___x_6034_; size_t v___x_6035_; lean_object* v___x_6036_; -v___x_6034_ = ((size_t)0ULL); -v___x_6035_ = lean_usize_of_nat(v___x_6028_); -v___x_6036_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6026_, v___x_6034_, v___x_6035_, v___x_6029_); -lean_dec_ref(v_args_6026_); -return v___x_6036_; -} -} -else -{ -size_t v___x_6037_; size_t v___x_6038_; lean_object* v___x_6039_; -v___x_6037_ = ((size_t)0ULL); -v___x_6038_ = lean_usize_of_nat(v___x_6028_); -v___x_6039_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6026_, v___x_6037_, v___x_6038_, v___x_6029_); -lean_dec_ref(v_args_6026_); -return v___x_6039_; -} -} -} -case 4: -{ -lean_object* v_fvarId_6040_; lean_object* v_args_6041_; lean_object* v___x_6042_; -v_fvarId_6040_ = lean_ctor_get(v_e_6008_, 0); -lean_inc(v_fvarId_6040_); -v_args_6041_ = lean_ctor_get(v_e_6008_, 1); -lean_inc_ref(v_args_6041_); -lean_dec_ref(v_e_6008_); -lean_inc_ref(v_f_6007_); -v___x_6042_ = lean_apply_1(v_f_6007_, v_fvarId_6040_); -if (lean_obj_tag(v___x_6042_) == 0) -{ -lean_dec_ref(v_args_6041_); -lean_dec_ref(v_f_6007_); -return v___x_6042_; -} -else -{ -lean_object* v___x_6043_; lean_object* v___x_6044_; lean_object* v___x_6045_; uint8_t v___x_6046_; -lean_dec_ref(v___x_6042_); -v___x_6043_ = lean_unsigned_to_nat(0u); -v___x_6044_ = lean_array_get_size(v_args_6041_); -v___x_6045_ = lean_box(0); -v___x_6046_ = lean_nat_dec_lt(v___x_6043_, v___x_6044_); -if (v___x_6046_ == 0) -{ -lean_object* v___x_6047_; -lean_dec_ref(v_args_6041_); -lean_dec_ref(v_f_6007_); -v___x_6047_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6047_; -} -else -{ -uint8_t v___x_6048_; -v___x_6048_ = lean_nat_dec_le(v___x_6044_, v___x_6044_); -if (v___x_6048_ == 0) -{ -if (v___x_6046_ == 0) -{ -lean_object* v___x_6049_; -lean_dec_ref(v_args_6041_); -lean_dec_ref(v_f_6007_); -v___x_6049_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6049_; -} -else -{ -size_t v___x_6050_; size_t v___x_6051_; lean_object* v___x_6052_; -v___x_6050_ = ((size_t)0ULL); -v___x_6051_ = lean_usize_of_nat(v___x_6044_); -v___x_6052_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6041_, v___x_6050_, v___x_6051_, v___x_6045_); -lean_dec_ref(v_args_6041_); -return v___x_6052_; -} -} -else -{ -size_t v___x_6053_; size_t v___x_6054_; lean_object* v___x_6055_; -v___x_6053_ = ((size_t)0ULL); -v___x_6054_ = lean_usize_of_nat(v___x_6044_); -v___x_6055_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6041_, v___x_6053_, v___x_6054_, v___x_6045_); -lean_dec_ref(v_args_6041_); -return v___x_6055_; -} -} -} -} -case 5: -{ -lean_object* v_args_6056_; lean_object* v___x_6057_; lean_object* v___x_6058_; lean_object* v___x_6059_; uint8_t v___x_6060_; -v_args_6056_ = lean_ctor_get(v_e_6008_, 1); -lean_inc_ref(v_args_6056_); -lean_dec_ref(v_e_6008_); -v___x_6057_ = lean_unsigned_to_nat(0u); -v___x_6058_ = lean_array_get_size(v_args_6056_); -v___x_6059_ = lean_box(0); -v___x_6060_ = lean_nat_dec_lt(v___x_6057_, v___x_6058_); -if (v___x_6060_ == 0) -{ -lean_object* v___x_6061_; -lean_dec_ref(v_args_6056_); -lean_dec_ref(v_f_6007_); -v___x_6061_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6061_; -} -else -{ -uint8_t v___x_6062_; -v___x_6062_ = lean_nat_dec_le(v___x_6058_, v___x_6058_); -if (v___x_6062_ == 0) -{ -if (v___x_6060_ == 0) -{ -lean_object* v___x_6063_; -lean_dec_ref(v_args_6056_); -lean_dec_ref(v_f_6007_); -v___x_6063_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6063_; -} -else -{ -size_t v___x_6064_; size_t v___x_6065_; lean_object* v___x_6066_; -v___x_6064_ = ((size_t)0ULL); -v___x_6065_ = lean_usize_of_nat(v___x_6058_); -v___x_6066_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6056_, v___x_6064_, v___x_6065_, v___x_6059_); -lean_dec_ref(v_args_6056_); -return v___x_6066_; -} -} -else -{ -size_t v___x_6067_; size_t v___x_6068_; lean_object* v___x_6069_; -v___x_6067_ = ((size_t)0ULL); -v___x_6068_ = lean_usize_of_nat(v___x_6058_); -v___x_6069_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6056_, v___x_6067_, v___x_6068_, v___x_6059_); -lean_dec_ref(v_args_6056_); -return v___x_6069_; -} -} -} -case 6: -{ -lean_object* v_var_6070_; lean_object* v___x_6071_; -v_var_6070_ = lean_ctor_get(v_e_6008_, 1); -lean_inc(v_var_6070_); -lean_dec_ref(v_e_6008_); -v___x_6071_ = lean_apply_1(v_f_6007_, v_var_6070_); -return v___x_6071_; -} -case 7: -{ -lean_object* v_var_6072_; lean_object* v___x_6073_; -v_var_6072_ = lean_ctor_get(v_e_6008_, 1); -lean_inc(v_var_6072_); -lean_dec_ref(v_e_6008_); -v___x_6073_ = lean_apply_1(v_f_6007_, v_var_6072_); -return v___x_6073_; -} -case 8: -{ -lean_object* v_var_6074_; lean_object* v___x_6075_; -v_var_6074_ = lean_ctor_get(v_e_6008_, 2); -lean_inc(v_var_6074_); -lean_dec_ref(v_e_6008_); -v___x_6075_ = lean_apply_1(v_f_6007_, v_var_6074_); -return v___x_6075_; -} -case 9: -{ -lean_object* v_args_6076_; -v_args_6076_ = lean_ctor_get(v_e_6008_, 1); -lean_inc_ref(v_args_6076_); -lean_dec_ref(v_e_6008_); -v_args_6010_ = v_args_6076_; -goto v___jp_6009_; -} -case 10: -{ -lean_object* v_args_6077_; -v_args_6077_ = lean_ctor_get(v_e_6008_, 1); -lean_inc_ref(v_args_6077_); -lean_dec_ref(v_e_6008_); -v_args_6010_ = v_args_6077_; -goto v___jp_6009_; -} -case 11: -{ -lean_object* v_var_6078_; lean_object* v___x_6079_; -v_var_6078_ = lean_ctor_get(v_e_6008_, 1); -lean_inc(v_var_6078_); -lean_dec_ref(v_e_6008_); -v___x_6079_ = lean_apply_1(v_f_6007_, v_var_6078_); -return v___x_6079_; -} -case 12: -{ -lean_object* v_var_6080_; lean_object* v_args_6081_; lean_object* v___x_6082_; -v_var_6080_ = lean_ctor_get(v_e_6008_, 0); -lean_inc(v_var_6080_); -v_args_6081_ = lean_ctor_get(v_e_6008_, 2); -lean_inc_ref(v_args_6081_); -lean_dec_ref(v_e_6008_); -lean_inc_ref(v_f_6007_); -v___x_6082_ = lean_apply_1(v_f_6007_, v_var_6080_); -if (lean_obj_tag(v___x_6082_) == 0) -{ -lean_dec_ref(v_args_6081_); -lean_dec_ref(v_f_6007_); -return v___x_6082_; -} -else -{ -lean_object* v___x_6083_; lean_object* v___x_6084_; lean_object* v___x_6085_; uint8_t v___x_6086_; -lean_dec_ref(v___x_6082_); -v___x_6083_ = lean_unsigned_to_nat(0u); -v___x_6084_ = lean_array_get_size(v_args_6081_); -v___x_6085_ = lean_box(0); -v___x_6086_ = lean_nat_dec_lt(v___x_6083_, v___x_6084_); -if (v___x_6086_ == 0) -{ -lean_object* v___x_6087_; -lean_dec_ref(v_args_6081_); -lean_dec_ref(v_f_6007_); -v___x_6087_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6087_; -} -else -{ -uint8_t v___x_6088_; -v___x_6088_ = lean_nat_dec_le(v___x_6084_, v___x_6084_); -if (v___x_6088_ == 0) -{ -if (v___x_6086_ == 0) -{ -lean_object* v___x_6089_; -lean_dec_ref(v_args_6081_); -lean_dec_ref(v_f_6007_); -v___x_6089_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6089_; -} -else -{ -size_t v___x_6090_; size_t v___x_6091_; lean_object* v___x_6092_; -v___x_6090_ = ((size_t)0ULL); -v___x_6091_ = lean_usize_of_nat(v___x_6084_); -v___x_6092_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6081_, v___x_6090_, v___x_6091_, v___x_6085_); -lean_dec_ref(v_args_6081_); -return v___x_6092_; -} -} -else -{ -size_t v___x_6093_; size_t v___x_6094_; lean_object* v___x_6095_; -v___x_6093_ = ((size_t)0ULL); -v___x_6094_ = lean_usize_of_nat(v___x_6084_); -v___x_6095_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6081_, v___x_6093_, v___x_6094_, v___x_6085_); -lean_dec_ref(v_args_6081_); -return v___x_6095_; -} -} -} -} -case 13: -{ -lean_object* v_fvarId_6096_; lean_object* v___x_6097_; -v_fvarId_6096_ = lean_ctor_get(v_e_6008_, 1); -lean_inc(v_fvarId_6096_); -lean_dec_ref(v_e_6008_); -v___x_6097_ = lean_apply_1(v_f_6007_, v_fvarId_6096_); -return v___x_6097_; -} -case 14: -{ -lean_object* v_fvarId_6098_; lean_object* v___x_6099_; -v_fvarId_6098_ = lean_ctor_get(v_e_6008_, 0); -lean_inc(v_fvarId_6098_); -lean_dec_ref(v_e_6008_); -v___x_6099_ = lean_apply_1(v_f_6007_, v_fvarId_6098_); -return v___x_6099_; -} -case 15: -{ -lean_object* v_fvarId_6100_; lean_object* v___x_6101_; -v_fvarId_6100_ = lean_ctor_get(v_e_6008_, 0); -lean_inc(v_fvarId_6100_); -lean_dec_ref(v_e_6008_); -v___x_6101_ = lean_apply_1(v_f_6007_, v_fvarId_6100_); -return v___x_6101_; -} -default: -{ -lean_object* v___x_6102_; -lean_dec(v_e_6008_); -lean_dec_ref(v_f_6007_); -v___x_6102_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6102_; -} -} -v___jp_6009_: -{ -lean_object* v___x_6011_; lean_object* v___x_6012_; lean_object* v___x_6013_; uint8_t v___x_6014_; -v___x_6011_ = lean_unsigned_to_nat(0u); -v___x_6012_ = lean_array_get_size(v_args_6010_); -v___x_6013_ = lean_box(0); -v___x_6014_ = lean_nat_dec_lt(v___x_6011_, v___x_6012_); -if (v___x_6014_ == 0) -{ -lean_object* v___x_6015_; -lean_dec_ref(v_args_6010_); -lean_dec_ref(v_f_6007_); -v___x_6015_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6015_; -} -else -{ -uint8_t v___x_6016_; -v___x_6016_ = lean_nat_dec_le(v___x_6012_, v___x_6012_); -if (v___x_6016_ == 0) -{ -if (v___x_6014_ == 0) -{ -lean_object* v___x_6017_; -lean_dec_ref(v_args_6010_); -lean_dec_ref(v_f_6007_); -v___x_6017_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +lean_dec_ref(v_f_6010_); return v___x_6017_; } else { -size_t v___x_6018_; size_t v___x_6019_; lean_object* v___x_6020_; -v___x_6018_ = ((size_t)0ULL); -v___x_6019_ = lean_usize_of_nat(v___x_6012_); -v___x_6020_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6010_, v___x_6018_, v___x_6019_, v___x_6013_); -lean_dec_ref(v_args_6010_); -return v___x_6020_; +lean_object* v_val_6018_; size_t v___x_6019_; size_t v___x_6020_; +v_val_6018_ = lean_ctor_get(v___x_6017_, 0); +lean_inc(v_val_6018_); +lean_dec_ref(v___x_6017_); +v___x_6019_ = ((size_t)1ULL); +v___x_6020_ = lean_usize_add(v_i_6012_, v___x_6019_); +v_i_6012_ = v___x_6020_; +v_b_6014_ = v_val_6018_; +goto _start; } } else { -size_t v___x_6021_; size_t v___x_6022_; lean_object* v___x_6023_; -v___x_6021_ = ((size_t)0ULL); -v___x_6022_ = lean_usize_of_nat(v___x_6012_); -v___x_6023_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6007_, v_args_6010_, v___x_6021_, v___x_6022_, v___x_6013_); -lean_dec_ref(v_args_6010_); -return v___x_6023_; +lean_object* v___x_6022_; +lean_dec_ref(v_f_6010_); +v___x_6022_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_6022_, 0, v_b_6014_); +return v___x_6022_; } } } -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6___boxed(lean_object* v_pu_6103_, lean_object* v_f_6104_, lean_object* v_e_6105_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg___boxed(lean_object* v_f_6023_, lean_object* v_as_6024_, lean_object* v_i_6025_, lean_object* v_stop_6026_, lean_object* v_b_6027_){ _start: { -uint8_t v_pu_boxed_6106_; lean_object* v_res_6107_; -v_pu_boxed_6106_ = lean_unbox(v_pu_6103_); -v_res_6107_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v_pu_boxed_6106_, v_f_6104_, v_e_6105_); -return v_res_6107_; +size_t v_i_boxed_6028_; size_t v_stop_boxed_6029_; lean_object* v_res_6030_; +v_i_boxed_6028_ = lean_unbox_usize(v_i_6025_); +lean_dec(v_i_6025_); +v_stop_boxed_6029_ = lean_unbox_usize(v_stop_6026_); +lean_dec(v_stop_6026_); +v_res_6030_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6023_, v_as_6024_, v_i_boxed_6028_, v_stop_boxed_6029_, v_b_6027_); +lean_dec_ref(v_as_6024_); +return v_res_6030_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(lean_object* v_f_6108_, lean_object* v_x_6109_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(uint8_t v_pu_6031_, lean_object* v_f_6032_, lean_object* v_e_6033_){ _start: { -uint8_t v___x_6110_; lean_object* v___x_6111_; lean_object* v___x_6112_; -v___x_6110_ = 0; -v___x_6111_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); -lean_closure_set(v___x_6111_, 0, v_f_6108_); -v___x_6112_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v___x_6110_, v___x_6111_, v_x_6109_); -if (lean_obj_tag(v___x_6112_) == 1) +lean_object* v_args_6035_; +switch(lean_obj_tag(v_e_6033_)) +{ +case 2: +{ +lean_object* v_struct_6049_; lean_object* v___x_6050_; +v_struct_6049_ = lean_ctor_get(v_e_6033_, 2); +lean_inc(v_struct_6049_); +lean_dec_ref(v_e_6033_); +v___x_6050_ = lean_apply_1(v_f_6032_, v_struct_6049_); +return v___x_6050_; +} +case 3: +{ +lean_object* v_args_6051_; lean_object* v___x_6052_; lean_object* v___x_6053_; lean_object* v___x_6054_; uint8_t v___x_6055_; +v_args_6051_ = lean_ctor_get(v_e_6033_, 2); +lean_inc_ref(v_args_6051_); +lean_dec_ref(v_e_6033_); +v___x_6052_ = lean_unsigned_to_nat(0u); +v___x_6053_ = lean_array_get_size(v_args_6051_); +v___x_6054_ = lean_box(0); +v___x_6055_ = lean_nat_dec_lt(v___x_6052_, v___x_6053_); +if (v___x_6055_ == 0) +{ +lean_object* v___x_6056_; +lean_dec_ref(v_args_6051_); +lean_dec_ref(v_f_6032_); +v___x_6056_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6056_; +} +else +{ +uint8_t v___x_6057_; +v___x_6057_ = lean_nat_dec_le(v___x_6053_, v___x_6053_); +if (v___x_6057_ == 0) +{ +if (v___x_6055_ == 0) +{ +lean_object* v___x_6058_; +lean_dec_ref(v_args_6051_); +lean_dec_ref(v_f_6032_); +v___x_6058_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6058_; +} +else +{ +size_t v___x_6059_; size_t v___x_6060_; lean_object* v___x_6061_; +v___x_6059_ = ((size_t)0ULL); +v___x_6060_ = lean_usize_of_nat(v___x_6053_); +v___x_6061_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6051_, v___x_6059_, v___x_6060_, v___x_6054_); +lean_dec_ref(v_args_6051_); +return v___x_6061_; +} +} +else +{ +size_t v___x_6062_; size_t v___x_6063_; lean_object* v___x_6064_; +v___x_6062_ = ((size_t)0ULL); +v___x_6063_ = lean_usize_of_nat(v___x_6053_); +v___x_6064_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6051_, v___x_6062_, v___x_6063_, v___x_6054_); +lean_dec_ref(v_args_6051_); +return v___x_6064_; +} +} +} +case 4: +{ +lean_object* v_fvarId_6065_; lean_object* v_args_6066_; lean_object* v___x_6067_; +v_fvarId_6065_ = lean_ctor_get(v_e_6033_, 0); +lean_inc(v_fvarId_6065_); +v_args_6066_ = lean_ctor_get(v_e_6033_, 1); +lean_inc_ref(v_args_6066_); +lean_dec_ref(v_e_6033_); +lean_inc_ref(v_f_6032_); +v___x_6067_ = lean_apply_1(v_f_6032_, v_fvarId_6065_); +if (lean_obj_tag(v___x_6067_) == 0) +{ +lean_dec_ref(v_args_6066_); +lean_dec_ref(v_f_6032_); +return v___x_6067_; +} +else +{ +lean_object* v___x_6068_; lean_object* v___x_6069_; lean_object* v___x_6070_; uint8_t v___x_6071_; +lean_dec_ref(v___x_6067_); +v___x_6068_ = lean_unsigned_to_nat(0u); +v___x_6069_ = lean_array_get_size(v_args_6066_); +v___x_6070_ = lean_box(0); +v___x_6071_ = lean_nat_dec_lt(v___x_6068_, v___x_6069_); +if (v___x_6071_ == 0) +{ +lean_object* v___x_6072_; +lean_dec_ref(v_args_6066_); +lean_dec_ref(v_f_6032_); +v___x_6072_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6072_; +} +else +{ +uint8_t v___x_6073_; +v___x_6073_ = lean_nat_dec_le(v___x_6069_, v___x_6069_); +if (v___x_6073_ == 0) +{ +if (v___x_6071_ == 0) +{ +lean_object* v___x_6074_; +lean_dec_ref(v_args_6066_); +lean_dec_ref(v_f_6032_); +v___x_6074_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6074_; +} +else +{ +size_t v___x_6075_; size_t v___x_6076_; lean_object* v___x_6077_; +v___x_6075_ = ((size_t)0ULL); +v___x_6076_ = lean_usize_of_nat(v___x_6069_); +v___x_6077_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6066_, v___x_6075_, v___x_6076_, v___x_6070_); +lean_dec_ref(v_args_6066_); +return v___x_6077_; +} +} +else +{ +size_t v___x_6078_; size_t v___x_6079_; lean_object* v___x_6080_; +v___x_6078_ = ((size_t)0ULL); +v___x_6079_ = lean_usize_of_nat(v___x_6069_); +v___x_6080_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6066_, v___x_6078_, v___x_6079_, v___x_6070_); +lean_dec_ref(v_args_6066_); +return v___x_6080_; +} +} +} +} +case 5: +{ +lean_object* v_args_6081_; lean_object* v___x_6082_; lean_object* v___x_6083_; lean_object* v___x_6084_; uint8_t v___x_6085_; +v_args_6081_ = lean_ctor_get(v_e_6033_, 1); +lean_inc_ref(v_args_6081_); +lean_dec_ref(v_e_6033_); +v___x_6082_ = lean_unsigned_to_nat(0u); +v___x_6083_ = lean_array_get_size(v_args_6081_); +v___x_6084_ = lean_box(0); +v___x_6085_ = lean_nat_dec_lt(v___x_6082_, v___x_6083_); +if (v___x_6085_ == 0) +{ +lean_object* v___x_6086_; +lean_dec_ref(v_args_6081_); +lean_dec_ref(v_f_6032_); +v___x_6086_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6086_; +} +else +{ +uint8_t v___x_6087_; +v___x_6087_ = lean_nat_dec_le(v___x_6083_, v___x_6083_); +if (v___x_6087_ == 0) +{ +if (v___x_6085_ == 0) +{ +lean_object* v___x_6088_; +lean_dec_ref(v_args_6081_); +lean_dec_ref(v_f_6032_); +v___x_6088_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6088_; +} +else +{ +size_t v___x_6089_; size_t v___x_6090_; lean_object* v___x_6091_; +v___x_6089_ = ((size_t)0ULL); +v___x_6090_ = lean_usize_of_nat(v___x_6083_); +v___x_6091_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6081_, v___x_6089_, v___x_6090_, v___x_6084_); +lean_dec_ref(v_args_6081_); +return v___x_6091_; +} +} +else +{ +size_t v___x_6092_; size_t v___x_6093_; lean_object* v___x_6094_; +v___x_6092_ = ((size_t)0ULL); +v___x_6093_ = lean_usize_of_nat(v___x_6083_); +v___x_6094_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6081_, v___x_6092_, v___x_6093_, v___x_6084_); +lean_dec_ref(v_args_6081_); +return v___x_6094_; +} +} +} +case 6: +{ +lean_object* v_var_6095_; lean_object* v___x_6096_; +v_var_6095_ = lean_ctor_get(v_e_6033_, 1); +lean_inc(v_var_6095_); +lean_dec_ref(v_e_6033_); +v___x_6096_ = lean_apply_1(v_f_6032_, v_var_6095_); +return v___x_6096_; +} +case 7: +{ +lean_object* v_var_6097_; lean_object* v___x_6098_; +v_var_6097_ = lean_ctor_get(v_e_6033_, 1); +lean_inc(v_var_6097_); +lean_dec_ref(v_e_6033_); +v___x_6098_ = lean_apply_1(v_f_6032_, v_var_6097_); +return v___x_6098_; +} +case 8: +{ +lean_object* v_var_6099_; lean_object* v___x_6100_; +v_var_6099_ = lean_ctor_get(v_e_6033_, 2); +lean_inc(v_var_6099_); +lean_dec_ref(v_e_6033_); +v___x_6100_ = lean_apply_1(v_f_6032_, v_var_6099_); +return v___x_6100_; +} +case 9: +{ +lean_object* v_args_6101_; +v_args_6101_ = lean_ctor_get(v_e_6033_, 1); +lean_inc_ref(v_args_6101_); +lean_dec_ref(v_e_6033_); +v_args_6035_ = v_args_6101_; +goto v___jp_6034_; +} +case 10: +{ +lean_object* v_args_6102_; +v_args_6102_ = lean_ctor_get(v_e_6033_, 1); +lean_inc_ref(v_args_6102_); +lean_dec_ref(v_e_6033_); +v_args_6035_ = v_args_6102_; +goto v___jp_6034_; +} +case 11: +{ +lean_object* v_var_6103_; lean_object* v___x_6104_; +v_var_6103_ = lean_ctor_get(v_e_6033_, 1); +lean_inc(v_var_6103_); +lean_dec_ref(v_e_6033_); +v___x_6104_ = lean_apply_1(v_f_6032_, v_var_6103_); +return v___x_6104_; +} +case 12: +{ +lean_object* v_var_6105_; lean_object* v_args_6106_; lean_object* v___x_6107_; +v_var_6105_ = lean_ctor_get(v_e_6033_, 0); +lean_inc(v_var_6105_); +v_args_6106_ = lean_ctor_get(v_e_6033_, 2); +lean_inc_ref(v_args_6106_); +lean_dec_ref(v_e_6033_); +lean_inc_ref(v_f_6032_); +v___x_6107_ = lean_apply_1(v_f_6032_, v_var_6105_); +if (lean_obj_tag(v___x_6107_) == 0) +{ +lean_dec_ref(v_args_6106_); +lean_dec_ref(v_f_6032_); +return v___x_6107_; +} +else +{ +lean_object* v___x_6108_; lean_object* v___x_6109_; lean_object* v___x_6110_; uint8_t v___x_6111_; +lean_dec_ref(v___x_6107_); +v___x_6108_ = lean_unsigned_to_nat(0u); +v___x_6109_ = lean_array_get_size(v_args_6106_); +v___x_6110_ = lean_box(0); +v___x_6111_ = lean_nat_dec_lt(v___x_6108_, v___x_6109_); +if (v___x_6111_ == 0) +{ +lean_object* v___x_6112_; +lean_dec_ref(v_args_6106_); +lean_dec_ref(v_f_6032_); +v___x_6112_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6112_; +} +else { uint8_t v___x_6113_; -lean_dec_ref(v___x_6112_); -v___x_6113_ = 1; -return v___x_6113_; -} -else +v___x_6113_ = lean_nat_dec_le(v___x_6109_, v___x_6109_); +if (v___x_6113_ == 0) { -uint8_t v___x_6114_; -lean_dec(v___x_6112_); -v___x_6114_ = 0; +if (v___x_6111_ == 0) +{ +lean_object* v___x_6114_; +lean_dec_ref(v_args_6106_); +lean_dec_ref(v_f_6032_); +v___x_6114_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); return v___x_6114_; } -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3___boxed(lean_object* v_f_6115_, lean_object* v_x_6116_){ -_start: +else { -uint8_t v_res_6117_; lean_object* v_r_6118_; -v_res_6117_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(v_f_6115_, v_x_6116_); -v_r_6118_ = lean_box(v_res_6117_); -return v_r_6118_; +size_t v___x_6115_; size_t v___x_6116_; lean_object* v___x_6117_; +v___x_6115_ = ((size_t)0ULL); +v___x_6116_ = lean_usize_of_nat(v___x_6109_); +v___x_6117_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6106_, v___x_6115_, v___x_6116_, v___x_6110_); +lean_dec_ref(v_args_6106_); +return v___x_6117_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(lean_object* v_f_6119_, lean_object* v_x_6120_){ -_start: +else { -lean_object* v___f_6121_; uint8_t v___x_6122_; -v___f_6121_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); -lean_closure_set(v___f_6121_, 0, v_f_6119_); -v___x_6122_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(v___f_6121_, v_x_6120_); +size_t v___x_6118_; size_t v___x_6119_; lean_object* v___x_6120_; +v___x_6118_ = ((size_t)0ULL); +v___x_6119_ = lean_usize_of_nat(v___x_6109_); +v___x_6120_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6106_, v___x_6118_, v___x_6119_, v___x_6110_); +lean_dec_ref(v_args_6106_); +return v___x_6120_; +} +} +} +} +case 13: +{ +lean_object* v_fvarId_6121_; lean_object* v___x_6122_; +v_fvarId_6121_ = lean_ctor_get(v_e_6033_, 1); +lean_inc(v_fvarId_6121_); +lean_dec_ref(v_e_6033_); +v___x_6122_ = lean_apply_1(v_f_6032_, v_fvarId_6121_); return v___x_6122_; } -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2___boxed(lean_object* v_f_6123_, lean_object* v_x_6124_){ -_start: +case 14: { -uint8_t v_res_6125_; lean_object* v_r_6126_; -v_res_6125_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(v_f_6123_, v_x_6124_); -v_r_6126_ = lean_box(v_res_6125_); -return v_r_6126_; +lean_object* v_fvarId_6123_; lean_object* v___x_6124_; +v_fvarId_6123_ = lean_ctor_get(v_e_6033_, 0); +lean_inc(v_fvarId_6123_); +lean_dec_ref(v_e_6033_); +v___x_6124_ = lean_apply_1(v_f_6032_, v_fvarId_6123_); +return v___x_6124_; } -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(lean_object* v_e_6127_, lean_object* v_a_6128_){ -_start: +case 15: { -lean_object* v_ground_6130_; lean_object* v___f_6131_; uint8_t v___x_6132_; lean_object* v___x_6133_; lean_object* v___x_6134_; -v_ground_6130_ = lean_ctor_get(v_a_6128_, 1); -lean_inc(v_ground_6130_); -v___f_6131_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed), 2, 1); -lean_closure_set(v___f_6131_, 0, v_ground_6130_); -v___x_6132_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(v___f_6131_, v_e_6127_); -v___x_6133_ = lean_box(v___x_6132_); -v___x_6134_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6134_, 0, v___x_6133_); -return v___x_6134_; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg___boxed(lean_object* v_e_6135_, lean_object* v_a_6136_, lean_object* v_a_6137_){ -_start: -{ -lean_object* v_res_6138_; -v_res_6138_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_e_6135_, v_a_6136_); -lean_dec_ref(v_a_6136_); -return v_res_6138_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(lean_object* v_as_6139_, size_t v_i_6140_, size_t v_stop_6141_, lean_object* v_b_6142_){ -_start: -{ -uint8_t v___x_6143_; -v___x_6143_ = lean_usize_dec_eq(v_i_6140_, v_stop_6141_); -if (v___x_6143_ == 0) -{ -lean_object* v___x_6144_; lean_object* v_fvarId_6145_; lean_object* v___x_6146_; size_t v___x_6147_; size_t v___x_6148_; -v___x_6144_ = lean_array_uget_borrowed(v_as_6139_, v_i_6140_); -v_fvarId_6145_ = lean_ctor_get(v___x_6144_, 0); -lean_inc(v_fvarId_6145_); -v___x_6146_ = l_Lean_FVarIdSet_insert(v_b_6142_, v_fvarId_6145_); -v___x_6147_ = ((size_t)1ULL); -v___x_6148_ = lean_usize_add(v_i_6140_, v___x_6147_); -v_i_6140_ = v___x_6148_; -v_b_6142_ = v___x_6146_; -goto _start; -} -else -{ -return v_b_6142_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0___boxed(lean_object* v_as_6150_, lean_object* v_i_6151_, lean_object* v_stop_6152_, lean_object* v_b_6153_){ -_start: -{ -size_t v_i_boxed_6154_; size_t v_stop_boxed_6155_; lean_object* v_res_6156_; -v_i_boxed_6154_ = lean_unbox_usize(v_i_6151_); -lean_dec(v_i_6151_); -v_stop_boxed_6155_ = lean_unbox_usize(v_stop_6152_); -lean_dec(v_stop_6152_); -v_res_6156_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_as_6150_, v_i_boxed_6154_, v_stop_boxed_6155_, v_b_6153_); -lean_dec_ref(v_as_6150_); -return v_res_6156_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(lean_object* v_f_6157_, lean_object* v_param_6158_){ -_start: -{ -lean_object* v_type_6159_; lean_object* v___x_6160_; -v_type_6159_ = lean_ctor_get(v_param_6158_, 2); -lean_inc_ref(v_type_6159_); -lean_dec_ref(v_param_6158_); -v___x_6160_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6157_, v_type_6159_); -return v___x_6160_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(uint8_t v_pu_6161_, lean_object* v_f_6162_, lean_object* v_as_6163_, size_t v_i_6164_, size_t v_stop_6165_, lean_object* v_b_6166_){ -_start: -{ -uint8_t v___x_6167_; -v___x_6167_ = lean_usize_dec_eq(v_i_6164_, v_stop_6165_); -if (v___x_6167_ == 0) -{ -lean_object* v___x_6168_; lean_object* v___x_6169_; -v___x_6168_ = lean_array_uget_borrowed(v_as_6163_, v_i_6164_); -lean_inc(v___x_6168_); -lean_inc_ref(v_f_6162_); -v___x_6169_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(v_f_6162_, v___x_6168_); -if (lean_obj_tag(v___x_6169_) == 0) -{ -lean_dec_ref(v_f_6162_); -return v___x_6169_; -} -else -{ -lean_object* v_val_6170_; size_t v___x_6171_; size_t v___x_6172_; -v_val_6170_ = lean_ctor_get(v___x_6169_, 0); -lean_inc(v_val_6170_); -lean_dec_ref(v___x_6169_); -v___x_6171_ = ((size_t)1ULL); -v___x_6172_ = lean_usize_add(v_i_6164_, v___x_6171_); -v_i_6164_ = v___x_6172_; -v_b_6166_ = v_val_6170_; -goto _start; -} -} -else -{ -lean_object* v___x_6174_; -lean_dec_ref(v_f_6162_); -v___x_6174_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_6174_, 0, v_b_6166_); -return v___x_6174_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12___boxed(lean_object* v_pu_6175_, lean_object* v_f_6176_, lean_object* v_as_6177_, lean_object* v_i_6178_, lean_object* v_stop_6179_, lean_object* v_b_6180_){ -_start: -{ -uint8_t v_pu_boxed_6181_; size_t v_i_boxed_6182_; size_t v_stop_boxed_6183_; lean_object* v_res_6184_; -v_pu_boxed_6181_ = lean_unbox(v_pu_6175_); -v_i_boxed_6182_ = lean_unbox_usize(v_i_6178_); -lean_dec(v_i_6178_); -v_stop_boxed_6183_ = lean_unbox_usize(v_stop_6179_); -lean_dec(v_stop_6179_); -v_res_6184_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_boxed_6181_, v_f_6176_, v_as_6177_, v_i_boxed_6182_, v_stop_boxed_6183_, v_b_6180_); -lean_dec_ref(v_as_6177_); -return v_res_6184_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(lean_object* v_alt_6185_, lean_object* v_f_6186_){ -_start: -{ -switch(lean_obj_tag(v_alt_6185_)) -{ -case 0: -{ -lean_object* v_code_6187_; lean_object* v___x_6188_; -v_code_6187_ = lean_ctor_get(v_alt_6185_, 2); -lean_inc_ref(v_code_6187_); -lean_dec_ref(v_alt_6185_); -v___x_6188_ = lean_apply_1(v_f_6186_, v_code_6187_); -return v___x_6188_; -} -case 1: -{ -lean_object* v_code_6189_; lean_object* v___x_6190_; -v_code_6189_ = lean_ctor_get(v_alt_6185_, 1); -lean_inc_ref(v_code_6189_); -lean_dec_ref(v_alt_6185_); -v___x_6190_ = lean_apply_1(v_f_6186_, v_code_6189_); -return v___x_6190_; +lean_object* v_fvarId_6125_; lean_object* v___x_6126_; +v_fvarId_6125_ = lean_ctor_get(v_e_6033_, 0); +lean_inc(v_fvarId_6125_); +lean_dec_ref(v_e_6033_); +v___x_6126_ = lean_apply_1(v_f_6032_, v_fvarId_6125_); +return v___x_6126_; } default: { -lean_object* v_code_6191_; lean_object* v___x_6192_; -v_code_6191_ = lean_ctor_get(v_alt_6185_, 0); -lean_inc_ref(v_code_6191_); -lean_dec_ref(v_alt_6185_); -v___x_6192_ = lean_apply_1(v_f_6186_, v_code_6191_); -return v___x_6192_; +lean_object* v___x_6127_; +lean_dec(v_e_6033_); +lean_dec_ref(v_f_6032_); +v___x_6127_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6127_; +} +} +v___jp_6034_: +{ +lean_object* v___x_6036_; lean_object* v___x_6037_; lean_object* v___x_6038_; uint8_t v___x_6039_; +v___x_6036_ = lean_unsigned_to_nat(0u); +v___x_6037_ = lean_array_get_size(v_args_6035_); +v___x_6038_ = lean_box(0); +v___x_6039_ = lean_nat_dec_lt(v___x_6036_, v___x_6037_); +if (v___x_6039_ == 0) +{ +lean_object* v___x_6040_; +lean_dec_ref(v_args_6035_); +lean_dec_ref(v_f_6032_); +v___x_6040_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6040_; +} +else +{ +uint8_t v___x_6041_; +v___x_6041_ = lean_nat_dec_le(v___x_6037_, v___x_6037_); +if (v___x_6041_ == 0) +{ +if (v___x_6039_ == 0) +{ +lean_object* v___x_6042_; +lean_dec_ref(v_args_6035_); +lean_dec_ref(v_f_6032_); +v___x_6042_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6042_; +} +else +{ +size_t v___x_6043_; size_t v___x_6044_; lean_object* v___x_6045_; +v___x_6043_ = ((size_t)0ULL); +v___x_6044_ = lean_usize_of_nat(v___x_6037_); +v___x_6045_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6035_, v___x_6043_, v___x_6044_, v___x_6038_); +lean_dec_ref(v_args_6035_); +return v___x_6045_; +} +} +else +{ +size_t v___x_6046_; size_t v___x_6047_; lean_object* v___x_6048_; +v___x_6046_ = ((size_t)0ULL); +v___x_6047_ = lean_usize_of_nat(v___x_6037_); +v___x_6048_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6032_, v_args_6035_, v___x_6046_, v___x_6047_, v___x_6038_); +lean_dec_ref(v_args_6035_); +return v___x_6048_; } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(uint8_t v_pu_6193_, lean_object* v_f_6194_, lean_object* v_decl_6195_){ +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6___boxed(lean_object* v_pu_6128_, lean_object* v_f_6129_, lean_object* v_e_6130_){ _start: { -lean_object* v_type_6196_; lean_object* v_value_6197_; lean_object* v___x_6198_; -v_type_6196_ = lean_ctor_get(v_decl_6195_, 2); -lean_inc_ref(v_type_6196_); -v_value_6197_ = lean_ctor_get(v_decl_6195_, 3); -lean_inc(v_value_6197_); -lean_dec_ref(v_decl_6195_); -lean_inc_ref(v_f_6194_); -v___x_6198_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6194_, v_type_6196_); -if (lean_obj_tag(v___x_6198_) == 0) +uint8_t v_pu_boxed_6131_; lean_object* v_res_6132_; +v_pu_boxed_6131_ = lean_unbox(v_pu_6128_); +v_res_6132_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v_pu_boxed_6131_, v_f_6129_, v_e_6130_); +return v_res_6132_; +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(lean_object* v_f_6133_, lean_object* v_x_6134_){ +_start: { -lean_dec(v_value_6197_); -lean_dec_ref(v_f_6194_); -return v___x_6198_; +uint8_t v___x_6135_; lean_object* v___x_6136_; lean_object* v___x_6137_; +v___x_6135_ = 0; +v___x_6136_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); +lean_closure_set(v___x_6136_, 0, v_f_6133_); +v___x_6137_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v___x_6135_, v___x_6136_, v_x_6134_); +if (lean_obj_tag(v___x_6137_) == 1) +{ +uint8_t v___x_6138_; +lean_dec_ref(v___x_6137_); +v___x_6138_ = 1; +return v___x_6138_; +} +else +{ +uint8_t v___x_6139_; +lean_dec(v___x_6137_); +v___x_6139_ = 0; +return v___x_6139_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3___boxed(lean_object* v_f_6140_, lean_object* v_x_6141_){ +_start: +{ +uint8_t v_res_6142_; lean_object* v_r_6143_; +v_res_6142_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(v_f_6140_, v_x_6141_); +v_r_6143_ = lean_box(v_res_6142_); +return v_r_6143_; +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(lean_object* v_f_6144_, lean_object* v_x_6145_){ +_start: +{ +lean_object* v___f_6146_; uint8_t v___x_6147_; +v___f_6146_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); +lean_closure_set(v___f_6146_, 0, v_f_6144_); +v___x_6147_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3(v___f_6146_, v_x_6145_); +return v___x_6147_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2___boxed(lean_object* v_f_6148_, lean_object* v_x_6149_){ +_start: +{ +uint8_t v_res_6150_; lean_object* v_r_6151_; +v_res_6150_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(v_f_6148_, v_x_6149_); +v_r_6151_ = lean_box(v_res_6150_); +return v_r_6151_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(lean_object* v_e_6152_, lean_object* v_a_6153_){ +_start: +{ +lean_object* v_ground_6155_; lean_object* v___f_6156_; uint8_t v___x_6157_; lean_object* v___x_6158_; lean_object* v___x_6159_; +v_ground_6155_ = lean_ctor_get(v_a_6153_, 1); +lean_inc(v_ground_6155_); +v___f_6156_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0___redArg___lam__0___boxed), 2, 1); +lean_closure_set(v___f_6156_, 0, v_ground_6155_); +v___x_6157_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2(v___f_6156_, v_e_6152_); +v___x_6158_ = lean_box(v___x_6157_); +v___x_6159_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6159_, 0, v___x_6158_); +return v___x_6159_; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg___boxed(lean_object* v_e_6160_, lean_object* v_a_6161_, lean_object* v_a_6162_){ +_start: +{ +lean_object* v_res_6163_; +v_res_6163_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_e_6160_, v_a_6161_); +lean_dec_ref(v_a_6161_); +return v_res_6163_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(lean_object* v_as_6164_, size_t v_i_6165_, size_t v_stop_6166_, lean_object* v_b_6167_){ +_start: +{ +uint8_t v___x_6168_; +v___x_6168_ = lean_usize_dec_eq(v_i_6165_, v_stop_6166_); +if (v___x_6168_ == 0) +{ +lean_object* v___x_6169_; lean_object* v_fvarId_6170_; lean_object* v___x_6171_; size_t v___x_6172_; size_t v___x_6173_; +v___x_6169_ = lean_array_uget_borrowed(v_as_6164_, v_i_6165_); +v_fvarId_6170_ = lean_ctor_get(v___x_6169_, 0); +lean_inc(v_fvarId_6170_); +v___x_6171_ = l_Lean_FVarIdSet_insert(v_b_6167_, v_fvarId_6170_); +v___x_6172_ = ((size_t)1ULL); +v___x_6173_ = lean_usize_add(v_i_6165_, v___x_6172_); +v_i_6165_ = v___x_6173_; +v_b_6167_ = v___x_6171_; +goto _start; +} +else +{ +return v_b_6167_; +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0___boxed(lean_object* v_as_6175_, lean_object* v_i_6176_, lean_object* v_stop_6177_, lean_object* v_b_6178_){ +_start: +{ +size_t v_i_boxed_6179_; size_t v_stop_boxed_6180_; lean_object* v_res_6181_; +v_i_boxed_6179_ = lean_unbox_usize(v_i_6176_); +lean_dec(v_i_6176_); +v_stop_boxed_6180_ = lean_unbox_usize(v_stop_6177_); +lean_dec(v_stop_6177_); +v_res_6181_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_as_6175_, v_i_boxed_6179_, v_stop_boxed_6180_, v_b_6178_); +lean_dec_ref(v_as_6175_); +return v_res_6181_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(lean_object* v_f_6182_, lean_object* v_param_6183_){ +_start: +{ +lean_object* v_type_6184_; lean_object* v___x_6185_; +v_type_6184_ = lean_ctor_get(v_param_6183_, 2); +lean_inc_ref(v_type_6184_); +lean_dec_ref(v_param_6183_); +v___x_6185_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6182_, v_type_6184_); +return v___x_6185_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(uint8_t v_pu_6186_, lean_object* v_f_6187_, lean_object* v_as_6188_, size_t v_i_6189_, size_t v_stop_6190_, lean_object* v_b_6191_){ +_start: +{ +uint8_t v___x_6192_; +v___x_6192_ = lean_usize_dec_eq(v_i_6189_, v_stop_6190_); +if (v___x_6192_ == 0) +{ +lean_object* v___x_6193_; lean_object* v___x_6194_; +v___x_6193_ = lean_array_uget_borrowed(v_as_6188_, v_i_6189_); +lean_inc(v___x_6193_); +lean_inc_ref(v_f_6187_); +v___x_6194_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(v_f_6187_, v___x_6193_); +if (lean_obj_tag(v___x_6194_) == 0) +{ +lean_dec_ref(v_f_6187_); +return v___x_6194_; +} +else +{ +lean_object* v_val_6195_; size_t v___x_6196_; size_t v___x_6197_; +v_val_6195_ = lean_ctor_get(v___x_6194_, 0); +lean_inc(v_val_6195_); +lean_dec_ref(v___x_6194_); +v___x_6196_ = ((size_t)1ULL); +v___x_6197_ = lean_usize_add(v_i_6189_, v___x_6196_); +v_i_6189_ = v___x_6197_; +v_b_6191_ = v_val_6195_; +goto _start; +} } else { lean_object* v___x_6199_; -lean_dec_ref(v___x_6198_); -v___x_6199_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v_pu_6193_, v_f_6194_, v_value_6197_); +lean_dec_ref(v_f_6187_); +v___x_6199_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_6199_, 0, v_b_6191_); return v___x_6199_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11___boxed(lean_object* v_pu_6200_, lean_object* v_f_6201_, lean_object* v_decl_6202_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12___boxed(lean_object* v_pu_6200_, lean_object* v_f_6201_, lean_object* v_as_6202_, lean_object* v_i_6203_, lean_object* v_stop_6204_, lean_object* v_b_6205_){ _start: { -uint8_t v_pu_boxed_6203_; lean_object* v_res_6204_; -v_pu_boxed_6203_ = lean_unbox(v_pu_6200_); -v_res_6204_ = l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(v_pu_boxed_6203_, v_f_6201_, v_decl_6202_); -return v_res_6204_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0___boxed(lean_object* v_pu_6205_, lean_object* v_f_6206_, lean_object* v___y_6207_){ -_start: -{ -uint8_t v_pu_boxed_6208_; lean_object* v_res_6209_; -v_pu_boxed_6208_ = lean_unbox(v_pu_6205_); -v_res_6209_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0(v_pu_boxed_6208_, v_f_6206_, v___y_6207_); +uint8_t v_pu_boxed_6206_; size_t v_i_boxed_6207_; size_t v_stop_boxed_6208_; lean_object* v_res_6209_; +v_pu_boxed_6206_ = lean_unbox(v_pu_6200_); +v_i_boxed_6207_ = lean_unbox_usize(v_i_6203_); +lean_dec(v_i_6203_); +v_stop_boxed_6208_ = lean_unbox_usize(v_stop_6204_); +lean_dec(v_stop_6204_); +v_res_6209_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_boxed_6206_, v_f_6201_, v_as_6202_, v_i_boxed_6207_, v_stop_boxed_6208_, v_b_6205_); +lean_dec_ref(v_as_6202_); return v_res_6209_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(uint8_t v_pu_6210_, lean_object* v_f_6211_, lean_object* v_as_6212_, size_t v_i_6213_, size_t v_stop_6214_, lean_object* v_b_6215_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(lean_object* v_alt_6210_, lean_object* v_f_6211_){ _start: { -uint8_t v___x_6216_; -v___x_6216_ = lean_usize_dec_eq(v_i_6213_, v_stop_6214_); -if (v___x_6216_ == 0) +switch(lean_obj_tag(v_alt_6210_)) { -lean_object* v___x_6217_; lean_object* v___f_6218_; lean_object* v___x_6219_; lean_object* v___x_6220_; -v___x_6217_ = lean_box(v_pu_6210_); -lean_inc_ref(v_f_6211_); -v___f_6218_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0___boxed), 3, 2); -lean_closure_set(v___f_6218_, 0, v___x_6217_); -lean_closure_set(v___f_6218_, 1, v_f_6211_); -v___x_6219_ = lean_array_uget_borrowed(v_as_6212_, v_i_6213_); -lean_inc(v___x_6219_); -v___x_6220_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(v___x_6219_, v___f_6218_); -if (lean_obj_tag(v___x_6220_) == 0) +case 0: { -lean_dec_ref(v_f_6211_); -return v___x_6220_; +lean_object* v_code_6212_; lean_object* v___x_6213_; +v_code_6212_ = lean_ctor_get(v_alt_6210_, 2); +lean_inc_ref(v_code_6212_); +lean_dec_ref(v_alt_6210_); +v___x_6213_ = lean_apply_1(v_f_6211_, v_code_6212_); +return v___x_6213_; +} +case 1: +{ +lean_object* v_code_6214_; lean_object* v___x_6215_; +v_code_6214_ = lean_ctor_get(v_alt_6210_, 1); +lean_inc_ref(v_code_6214_); +lean_dec_ref(v_alt_6210_); +v___x_6215_ = lean_apply_1(v_f_6211_, v_code_6214_); +return v___x_6215_; +} +default: +{ +lean_object* v_code_6216_; lean_object* v___x_6217_; +v_code_6216_ = lean_ctor_get(v_alt_6210_, 0); +lean_inc_ref(v_code_6216_); +lean_dec_ref(v_alt_6210_); +v___x_6217_ = lean_apply_1(v_f_6211_, v_code_6216_); +return v___x_6217_; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(uint8_t v_pu_6218_, lean_object* v_f_6219_, lean_object* v_decl_6220_){ +_start: +{ +lean_object* v_type_6221_; lean_object* v_value_6222_; lean_object* v___x_6223_; +v_type_6221_ = lean_ctor_get(v_decl_6220_, 2); +lean_inc_ref(v_type_6221_); +v_value_6222_ = lean_ctor_get(v_decl_6220_, 3); +lean_inc(v_value_6222_); +lean_dec_ref(v_decl_6220_); +lean_inc_ref(v_f_6219_); +v___x_6223_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6219_, v_type_6221_); +if (lean_obj_tag(v___x_6223_) == 0) +{ +lean_dec(v_value_6222_); +lean_dec_ref(v_f_6219_); +return v___x_6223_; } else { -lean_object* v_val_6221_; size_t v___x_6222_; size_t v___x_6223_; -v_val_6221_ = lean_ctor_get(v___x_6220_, 0); -lean_inc(v_val_6221_); -lean_dec_ref(v___x_6220_); -v___x_6222_ = ((size_t)1ULL); -v___x_6223_ = lean_usize_add(v_i_6213_, v___x_6222_); -v_i_6213_ = v___x_6223_; -v_b_6215_ = v_val_6221_; +lean_object* v___x_6224_; +lean_dec_ref(v___x_6223_); +v___x_6224_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2_spec__2_spec__3_spec__6(v_pu_6218_, v_f_6219_, v_value_6222_); +return v___x_6224_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11___boxed(lean_object* v_pu_6225_, lean_object* v_f_6226_, lean_object* v_decl_6227_){ +_start: +{ +uint8_t v_pu_boxed_6228_; lean_object* v_res_6229_; +v_pu_boxed_6228_ = lean_unbox(v_pu_6225_); +v_res_6229_ = l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(v_pu_boxed_6228_, v_f_6226_, v_decl_6227_); +return v_res_6229_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0___boxed(lean_object* v_pu_6230_, lean_object* v_f_6231_, lean_object* v___y_6232_){ +_start: +{ +uint8_t v_pu_boxed_6233_; lean_object* v_res_6234_; +v_pu_boxed_6233_ = lean_unbox(v_pu_6230_); +v_res_6234_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0(v_pu_boxed_6233_, v_f_6231_, v___y_6232_); +return v_res_6234_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(uint8_t v_pu_6235_, lean_object* v_f_6236_, lean_object* v_as_6237_, size_t v_i_6238_, size_t v_stop_6239_, lean_object* v_b_6240_){ +_start: +{ +uint8_t v___x_6241_; +v___x_6241_ = lean_usize_dec_eq(v_i_6238_, v_stop_6239_); +if (v___x_6241_ == 0) +{ +lean_object* v___x_6242_; lean_object* v___f_6243_; lean_object* v___x_6244_; lean_object* v___x_6245_; +v___x_6242_ = lean_box(v_pu_6235_); +lean_inc_ref(v_f_6236_); +v___f_6243_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0___boxed), 3, 2); +lean_closure_set(v___f_6243_, 0, v___x_6242_); +lean_closure_set(v___f_6243_, 1, v_f_6236_); +v___x_6244_ = lean_array_uget_borrowed(v_as_6237_, v_i_6238_); +lean_inc(v___x_6244_); +v___x_6245_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(v___x_6244_, v___f_6243_); +if (lean_obj_tag(v___x_6245_) == 0) +{ +lean_dec_ref(v_f_6236_); +return v___x_6245_; +} +else +{ +lean_object* v_val_6246_; size_t v___x_6247_; size_t v___x_6248_; +v_val_6246_ = lean_ctor_get(v___x_6245_, 0); +lean_inc(v_val_6246_); +lean_dec_ref(v___x_6245_); +v___x_6247_ = ((size_t)1ULL); +v___x_6248_ = lean_usize_add(v_i_6238_, v___x_6247_); +v_i_6238_ = v___x_6248_; +v_b_6240_ = v_val_6246_; goto _start; } } else { -lean_object* v___x_6225_; -lean_dec_ref(v_f_6211_); -v___x_6225_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_6225_, 0, v_b_6215_); -return v___x_6225_; +lean_object* v___x_6250_; +lean_dec_ref(v_f_6236_); +v___x_6250_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_6250_, 0, v_b_6240_); +return v___x_6250_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(uint8_t v_pu_6226_, lean_object* v_f_6227_, lean_object* v_c_6228_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(uint8_t v_pu_6251_, lean_object* v_f_6252_, lean_object* v_c_6253_){ _start: { -switch(lean_obj_tag(v_c_6228_)) +switch(lean_obj_tag(v_c_6253_)) { case 0: { -lean_object* v_decl_6229_; lean_object* v_k_6230_; lean_object* v___x_6231_; -v_decl_6229_ = lean_ctor_get(v_c_6228_, 0); -lean_inc_ref(v_decl_6229_); -v_k_6230_ = lean_ctor_get(v_c_6228_, 1); -lean_inc_ref(v_k_6230_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6231_ = l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(v_pu_6226_, v_f_6227_, v_decl_6229_); -if (lean_obj_tag(v___x_6231_) == 0) +lean_object* v_decl_6254_; lean_object* v_k_6255_; lean_object* v___x_6256_; +v_decl_6254_ = lean_ctor_get(v_c_6253_, 0); +lean_inc_ref(v_decl_6254_); +v_k_6255_ = lean_ctor_get(v_c_6253_, 1); +lean_inc_ref(v_k_6255_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6256_ = l_Lean_Compiler_LCNF_LetDecl_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__11(v_pu_6251_, v_f_6252_, v_decl_6254_); +if (lean_obj_tag(v___x_6256_) == 0) { -lean_dec_ref(v_k_6230_); -lean_dec_ref(v_f_6227_); -return v___x_6231_; +lean_dec_ref(v_k_6255_); +lean_dec_ref(v_f_6252_); +return v___x_6256_; } else { -lean_dec_ref(v___x_6231_); -v_c_6228_ = v_k_6230_; +lean_dec_ref(v___x_6256_); +v_c_6253_ = v_k_6255_; goto _start; } } case 1: { -lean_object* v_decl_6233_; lean_object* v_k_6234_; lean_object* v_params_6235_; lean_object* v_type_6236_; lean_object* v_value_6237_; lean_object* v___x_6242_; lean_object* v___x_6243_; uint8_t v___x_6244_; -v_decl_6233_ = lean_ctor_get(v_c_6228_, 0); -lean_inc_ref(v_decl_6233_); -v_k_6234_ = lean_ctor_get(v_c_6228_, 1); -lean_inc_ref(v_k_6234_); -lean_dec_ref(v_c_6228_); -v_params_6235_ = lean_ctor_get(v_decl_6233_, 2); -lean_inc_ref(v_params_6235_); -v_type_6236_ = lean_ctor_get(v_decl_6233_, 3); -lean_inc_ref(v_type_6236_); -v_value_6237_ = lean_ctor_get(v_decl_6233_, 4); -lean_inc_ref(v_value_6237_); -lean_dec_ref(v_decl_6233_); -v___x_6242_ = lean_unsigned_to_nat(0u); -v___x_6243_ = lean_array_get_size(v_params_6235_); -v___x_6244_ = lean_nat_dec_lt(v___x_6242_, v___x_6243_); -if (v___x_6244_ == 0) +lean_object* v_decl_6258_; lean_object* v_k_6259_; lean_object* v_params_6260_; lean_object* v_type_6261_; lean_object* v_value_6262_; lean_object* v___x_6267_; lean_object* v___x_6268_; uint8_t v___x_6269_; +v_decl_6258_ = lean_ctor_get(v_c_6253_, 0); +lean_inc_ref(v_decl_6258_); +v_k_6259_ = lean_ctor_get(v_c_6253_, 1); +lean_inc_ref(v_k_6259_); +lean_dec_ref(v_c_6253_); +v_params_6260_ = lean_ctor_get(v_decl_6258_, 2); +lean_inc_ref(v_params_6260_); +v_type_6261_ = lean_ctor_get(v_decl_6258_, 3); +lean_inc_ref(v_type_6261_); +v_value_6262_ = lean_ctor_get(v_decl_6258_, 4); +lean_inc_ref(v_value_6262_); +lean_dec_ref(v_decl_6258_); +v___x_6267_ = lean_unsigned_to_nat(0u); +v___x_6268_ = lean_array_get_size(v_params_6260_); +v___x_6269_ = lean_nat_dec_lt(v___x_6267_, v___x_6268_); +if (v___x_6269_ == 0) { -lean_object* v___x_6245_; -lean_dec_ref(v_params_6235_); -lean_inc_ref(v_f_6227_); -v___x_6245_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_type_6236_); -if (lean_obj_tag(v___x_6245_) == 0) +lean_object* v___x_6270_; +lean_dec_ref(v_params_6260_); +lean_inc_ref(v_f_6252_); +v___x_6270_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_type_6261_); +if (lean_obj_tag(v___x_6270_) == 0) { -lean_dec_ref(v_value_6237_); -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6245_; +lean_dec_ref(v_value_6262_); +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6270_; } else { -lean_object* v___x_6246_; -lean_dec_ref(v___x_6245_); -lean_inc_ref(v_f_6227_); -v___x_6246_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6226_, v_f_6227_, v_value_6237_); -if (lean_obj_tag(v___x_6246_) == 0) +lean_object* v___x_6271_; +lean_dec_ref(v___x_6270_); +lean_inc_ref(v_f_6252_); +v___x_6271_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6251_, v_f_6252_, v_value_6262_); +if (lean_obj_tag(v___x_6271_) == 0) { -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6246_; +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6271_; } else { -lean_dec_ref(v___x_6246_); -v_c_6228_ = v_k_6234_; +lean_dec_ref(v___x_6271_); +v_c_6253_ = v_k_6259_; goto _start; } } } else { -lean_object* v___x_6248_; uint8_t v___x_6249_; -v___x_6248_ = lean_box(0); -v___x_6249_ = lean_nat_dec_le(v___x_6243_, v___x_6243_); -if (v___x_6249_ == 0) +lean_object* v___x_6273_; uint8_t v___x_6274_; +v___x_6273_ = lean_box(0); +v___x_6274_ = lean_nat_dec_le(v___x_6268_, v___x_6268_); +if (v___x_6274_ == 0) { -if (v___x_6244_ == 0) +if (v___x_6269_ == 0) { -lean_dec_ref(v_params_6235_); -goto v___jp_6238_; +lean_dec_ref(v_params_6260_); +goto v___jp_6263_; } else { -size_t v___x_6250_; size_t v___x_6251_; lean_object* v___x_6252_; -v___x_6250_ = ((size_t)0ULL); -v___x_6251_ = lean_usize_of_nat(v___x_6243_); -lean_inc_ref(v_f_6227_); -v___x_6252_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6226_, v_f_6227_, v_params_6235_, v___x_6250_, v___x_6251_, v___x_6248_); -lean_dec_ref(v_params_6235_); -if (lean_obj_tag(v___x_6252_) == 0) +size_t v___x_6275_; size_t v___x_6276_; lean_object* v___x_6277_; +v___x_6275_ = ((size_t)0ULL); +v___x_6276_ = lean_usize_of_nat(v___x_6268_); +lean_inc_ref(v_f_6252_); +v___x_6277_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6251_, v_f_6252_, v_params_6260_, v___x_6275_, v___x_6276_, v___x_6273_); +lean_dec_ref(v_params_6260_); +if (lean_obj_tag(v___x_6277_) == 0) { -lean_dec_ref(v_value_6237_); -lean_dec_ref(v_type_6236_); -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6252_; +lean_dec_ref(v_value_6262_); +lean_dec_ref(v_type_6261_); +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6277_; } else { -lean_dec_ref(v___x_6252_); -goto v___jp_6238_; +lean_dec_ref(v___x_6277_); +goto v___jp_6263_; } } } else { -size_t v___x_6253_; size_t v___x_6254_; lean_object* v___x_6255_; -v___x_6253_ = ((size_t)0ULL); -v___x_6254_ = lean_usize_of_nat(v___x_6243_); -lean_inc_ref(v_f_6227_); -v___x_6255_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6226_, v_f_6227_, v_params_6235_, v___x_6253_, v___x_6254_, v___x_6248_); -lean_dec_ref(v_params_6235_); -if (lean_obj_tag(v___x_6255_) == 0) +size_t v___x_6278_; size_t v___x_6279_; lean_object* v___x_6280_; +v___x_6278_ = ((size_t)0ULL); +v___x_6279_ = lean_usize_of_nat(v___x_6268_); +lean_inc_ref(v_f_6252_); +v___x_6280_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6251_, v_f_6252_, v_params_6260_, v___x_6278_, v___x_6279_, v___x_6273_); +lean_dec_ref(v_params_6260_); +if (lean_obj_tag(v___x_6280_) == 0) { -lean_dec_ref(v_value_6237_); -lean_dec_ref(v_type_6236_); -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6255_; +lean_dec_ref(v_value_6262_); +lean_dec_ref(v_type_6261_); +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6280_; } else { -lean_dec_ref(v___x_6255_); -goto v___jp_6238_; +lean_dec_ref(v___x_6280_); +goto v___jp_6263_; } } } -v___jp_6238_: +v___jp_6263_: { -lean_object* v___x_6239_; -lean_inc_ref(v_f_6227_); -v___x_6239_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_type_6236_); -if (lean_obj_tag(v___x_6239_) == 0) +lean_object* v___x_6264_; +lean_inc_ref(v_f_6252_); +v___x_6264_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_type_6261_); +if (lean_obj_tag(v___x_6264_) == 0) { -lean_dec_ref(v_value_6237_); -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6239_; +lean_dec_ref(v_value_6262_); +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6264_; } else { -lean_object* v___x_6240_; -lean_dec_ref(v___x_6239_); -lean_inc_ref(v_f_6227_); -v___x_6240_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6226_, v_f_6227_, v_value_6237_); -if (lean_obj_tag(v___x_6240_) == 0) +lean_object* v___x_6265_; +lean_dec_ref(v___x_6264_); +lean_inc_ref(v_f_6252_); +v___x_6265_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6251_, v_f_6252_, v_value_6262_); +if (lean_obj_tag(v___x_6265_) == 0) { -lean_dec_ref(v_k_6234_); -lean_dec_ref(v_f_6227_); -return v___x_6240_; +lean_dec_ref(v_k_6259_); +lean_dec_ref(v_f_6252_); +return v___x_6265_; } else { -lean_dec_ref(v___x_6240_); -v_c_6228_ = v_k_6234_; +lean_dec_ref(v___x_6265_); +v_c_6253_ = v_k_6259_; goto _start; } } @@ -18540,141 +18669,141 @@ goto _start; } case 2: { -lean_object* v_decl_6256_; lean_object* v_k_6257_; lean_object* v_params_6258_; lean_object* v_type_6259_; lean_object* v_value_6260_; lean_object* v___x_6265_; lean_object* v___x_6266_; uint8_t v___x_6267_; -v_decl_6256_ = lean_ctor_get(v_c_6228_, 0); -lean_inc_ref(v_decl_6256_); -v_k_6257_ = lean_ctor_get(v_c_6228_, 1); -lean_inc_ref(v_k_6257_); -lean_dec_ref(v_c_6228_); -v_params_6258_ = lean_ctor_get(v_decl_6256_, 2); -lean_inc_ref(v_params_6258_); -v_type_6259_ = lean_ctor_get(v_decl_6256_, 3); -lean_inc_ref(v_type_6259_); -v_value_6260_ = lean_ctor_get(v_decl_6256_, 4); -lean_inc_ref(v_value_6260_); -lean_dec_ref(v_decl_6256_); -v___x_6265_ = lean_unsigned_to_nat(0u); -v___x_6266_ = lean_array_get_size(v_params_6258_); -v___x_6267_ = lean_nat_dec_lt(v___x_6265_, v___x_6266_); -if (v___x_6267_ == 0) +lean_object* v_decl_6281_; lean_object* v_k_6282_; lean_object* v_params_6283_; lean_object* v_type_6284_; lean_object* v_value_6285_; lean_object* v___x_6290_; lean_object* v___x_6291_; uint8_t v___x_6292_; +v_decl_6281_ = lean_ctor_get(v_c_6253_, 0); +lean_inc_ref(v_decl_6281_); +v_k_6282_ = lean_ctor_get(v_c_6253_, 1); +lean_inc_ref(v_k_6282_); +lean_dec_ref(v_c_6253_); +v_params_6283_ = lean_ctor_get(v_decl_6281_, 2); +lean_inc_ref(v_params_6283_); +v_type_6284_ = lean_ctor_get(v_decl_6281_, 3); +lean_inc_ref(v_type_6284_); +v_value_6285_ = lean_ctor_get(v_decl_6281_, 4); +lean_inc_ref(v_value_6285_); +lean_dec_ref(v_decl_6281_); +v___x_6290_ = lean_unsigned_to_nat(0u); +v___x_6291_ = lean_array_get_size(v_params_6283_); +v___x_6292_ = lean_nat_dec_lt(v___x_6290_, v___x_6291_); +if (v___x_6292_ == 0) { -lean_object* v___x_6268_; -lean_dec_ref(v_params_6258_); -lean_inc_ref(v_f_6227_); -v___x_6268_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_type_6259_); -if (lean_obj_tag(v___x_6268_) == 0) +lean_object* v___x_6293_; +lean_dec_ref(v_params_6283_); +lean_inc_ref(v_f_6252_); +v___x_6293_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_type_6284_); +if (lean_obj_tag(v___x_6293_) == 0) { -lean_dec_ref(v_value_6260_); -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6268_; +lean_dec_ref(v_value_6285_); +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6293_; } else { -lean_object* v___x_6269_; -lean_dec_ref(v___x_6268_); -lean_inc_ref(v_f_6227_); -v___x_6269_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6226_, v_f_6227_, v_value_6260_); -if (lean_obj_tag(v___x_6269_) == 0) +lean_object* v___x_6294_; +lean_dec_ref(v___x_6293_); +lean_inc_ref(v_f_6252_); +v___x_6294_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6251_, v_f_6252_, v_value_6285_); +if (lean_obj_tag(v___x_6294_) == 0) { -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6269_; +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6294_; } else { -lean_dec_ref(v___x_6269_); -v_c_6228_ = v_k_6257_; +lean_dec_ref(v___x_6294_); +v_c_6253_ = v_k_6282_; goto _start; } } } else { -lean_object* v___x_6271_; uint8_t v___x_6272_; -v___x_6271_ = lean_box(0); -v___x_6272_ = lean_nat_dec_le(v___x_6266_, v___x_6266_); -if (v___x_6272_ == 0) +lean_object* v___x_6296_; uint8_t v___x_6297_; +v___x_6296_ = lean_box(0); +v___x_6297_ = lean_nat_dec_le(v___x_6291_, v___x_6291_); +if (v___x_6297_ == 0) { -if (v___x_6267_ == 0) +if (v___x_6292_ == 0) { -lean_dec_ref(v_params_6258_); -goto v___jp_6261_; +lean_dec_ref(v_params_6283_); +goto v___jp_6286_; } else { -size_t v___x_6273_; size_t v___x_6274_; lean_object* v___x_6275_; -v___x_6273_ = ((size_t)0ULL); -v___x_6274_ = lean_usize_of_nat(v___x_6266_); -lean_inc_ref(v_f_6227_); -v___x_6275_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6226_, v_f_6227_, v_params_6258_, v___x_6273_, v___x_6274_, v___x_6271_); -lean_dec_ref(v_params_6258_); -if (lean_obj_tag(v___x_6275_) == 0) +size_t v___x_6298_; size_t v___x_6299_; lean_object* v___x_6300_; +v___x_6298_ = ((size_t)0ULL); +v___x_6299_ = lean_usize_of_nat(v___x_6291_); +lean_inc_ref(v_f_6252_); +v___x_6300_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6251_, v_f_6252_, v_params_6283_, v___x_6298_, v___x_6299_, v___x_6296_); +lean_dec_ref(v_params_6283_); +if (lean_obj_tag(v___x_6300_) == 0) { -lean_dec_ref(v_value_6260_); -lean_dec_ref(v_type_6259_); -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6275_; +lean_dec_ref(v_value_6285_); +lean_dec_ref(v_type_6284_); +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6300_; } else { -lean_dec_ref(v___x_6275_); -goto v___jp_6261_; +lean_dec_ref(v___x_6300_); +goto v___jp_6286_; } } } else { -size_t v___x_6276_; size_t v___x_6277_; lean_object* v___x_6278_; -v___x_6276_ = ((size_t)0ULL); -v___x_6277_ = lean_usize_of_nat(v___x_6266_); -lean_inc_ref(v_f_6227_); -v___x_6278_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6226_, v_f_6227_, v_params_6258_, v___x_6276_, v___x_6277_, v___x_6271_); -lean_dec_ref(v_params_6258_); -if (lean_obj_tag(v___x_6278_) == 0) +size_t v___x_6301_; size_t v___x_6302_; lean_object* v___x_6303_; +v___x_6301_ = ((size_t)0ULL); +v___x_6302_ = lean_usize_of_nat(v___x_6291_); +lean_inc_ref(v_f_6252_); +v___x_6303_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__12(v_pu_6251_, v_f_6252_, v_params_6283_, v___x_6301_, v___x_6302_, v___x_6296_); +lean_dec_ref(v_params_6283_); +if (lean_obj_tag(v___x_6303_) == 0) { -lean_dec_ref(v_value_6260_); -lean_dec_ref(v_type_6259_); -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6278_; +lean_dec_ref(v_value_6285_); +lean_dec_ref(v_type_6284_); +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6303_; } else { -lean_dec_ref(v___x_6278_); -goto v___jp_6261_; +lean_dec_ref(v___x_6303_); +goto v___jp_6286_; } } } -v___jp_6261_: +v___jp_6286_: { -lean_object* v___x_6262_; -lean_inc_ref(v_f_6227_); -v___x_6262_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_type_6259_); -if (lean_obj_tag(v___x_6262_) == 0) +lean_object* v___x_6287_; +lean_inc_ref(v_f_6252_); +v___x_6287_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_type_6284_); +if (lean_obj_tag(v___x_6287_) == 0) { -lean_dec_ref(v_value_6260_); -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6262_; +lean_dec_ref(v_value_6285_); +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6287_; } else { -lean_object* v___x_6263_; -lean_dec_ref(v___x_6262_); -lean_inc_ref(v_f_6227_); -v___x_6263_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6226_, v_f_6227_, v_value_6260_); -if (lean_obj_tag(v___x_6263_) == 0) +lean_object* v___x_6288_; +lean_dec_ref(v___x_6287_); +lean_inc_ref(v_f_6252_); +v___x_6288_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6251_, v_f_6252_, v_value_6285_); +if (lean_obj_tag(v___x_6288_) == 0) { -lean_dec_ref(v_k_6257_); -lean_dec_ref(v_f_6227_); -return v___x_6263_; +lean_dec_ref(v_k_6282_); +lean_dec_ref(v_f_6252_); +return v___x_6288_; } else { -lean_dec_ref(v___x_6263_); -v_c_6228_ = v_k_6257_; +lean_dec_ref(v___x_6288_); +v_c_6253_ = v_k_6282_; goto _start; } } @@ -18682,154 +18811,154 @@ goto _start; } case 3: { -lean_object* v_fvarId_6279_; lean_object* v_args_6280_; lean_object* v___x_6281_; -v_fvarId_6279_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6279_); -v_args_6280_ = lean_ctor_get(v_c_6228_, 1); -lean_inc_ref(v_args_6280_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6281_ = lean_apply_1(v_f_6227_, v_fvarId_6279_); -if (lean_obj_tag(v___x_6281_) == 0) +lean_object* v_fvarId_6304_; lean_object* v_args_6305_; lean_object* v___x_6306_; +v_fvarId_6304_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6304_); +v_args_6305_ = lean_ctor_get(v_c_6253_, 1); +lean_inc_ref(v_args_6305_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6306_ = lean_apply_1(v_f_6252_, v_fvarId_6304_); +if (lean_obj_tag(v___x_6306_) == 0) { -lean_dec_ref(v_args_6280_); -lean_dec_ref(v_f_6227_); -return v___x_6281_; +lean_dec_ref(v_args_6305_); +lean_dec_ref(v_f_6252_); +return v___x_6306_; } else { -lean_object* v___x_6282_; lean_object* v___x_6283_; lean_object* v___x_6284_; uint8_t v___x_6285_; -lean_dec_ref(v___x_6281_); -v___x_6282_ = lean_unsigned_to_nat(0u); -v___x_6283_ = lean_array_get_size(v_args_6280_); -v___x_6284_ = lean_box(0); -v___x_6285_ = lean_nat_dec_lt(v___x_6282_, v___x_6283_); -if (v___x_6285_ == 0) +lean_object* v___x_6307_; lean_object* v___x_6308_; lean_object* v___x_6309_; uint8_t v___x_6310_; +lean_dec_ref(v___x_6306_); +v___x_6307_ = lean_unsigned_to_nat(0u); +v___x_6308_ = lean_array_get_size(v_args_6305_); +v___x_6309_ = lean_box(0); +v___x_6310_ = lean_nat_dec_lt(v___x_6307_, v___x_6308_); +if (v___x_6310_ == 0) { -lean_object* v___x_6286_; -lean_dec_ref(v_args_6280_); -lean_dec_ref(v_f_6227_); -v___x_6286_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6286_; +lean_object* v___x_6311_; +lean_dec_ref(v_args_6305_); +lean_dec_ref(v_f_6252_); +v___x_6311_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6311_; } else { -uint8_t v___x_6287_; -v___x_6287_ = lean_nat_dec_le(v___x_6283_, v___x_6283_); -if (v___x_6287_ == 0) +uint8_t v___x_6312_; +v___x_6312_ = lean_nat_dec_le(v___x_6308_, v___x_6308_); +if (v___x_6312_ == 0) { -if (v___x_6285_ == 0) +if (v___x_6310_ == 0) { -lean_object* v___x_6288_; -lean_dec_ref(v_args_6280_); -lean_dec_ref(v_f_6227_); -v___x_6288_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6288_; +lean_object* v___x_6313_; +lean_dec_ref(v_args_6305_); +lean_dec_ref(v_f_6252_); +v___x_6313_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6313_; } else { -size_t v___x_6289_; size_t v___x_6290_; lean_object* v___x_6291_; -v___x_6289_ = ((size_t)0ULL); -v___x_6290_ = lean_usize_of_nat(v___x_6283_); -v___x_6291_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6227_, v_args_6280_, v___x_6289_, v___x_6290_, v___x_6284_); -lean_dec_ref(v_args_6280_); -return v___x_6291_; +size_t v___x_6314_; size_t v___x_6315_; lean_object* v___x_6316_; +v___x_6314_ = ((size_t)0ULL); +v___x_6315_ = lean_usize_of_nat(v___x_6308_); +v___x_6316_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6252_, v_args_6305_, v___x_6314_, v___x_6315_, v___x_6309_); +lean_dec_ref(v_args_6305_); +return v___x_6316_; } } else { -size_t v___x_6292_; size_t v___x_6293_; lean_object* v___x_6294_; -v___x_6292_ = ((size_t)0ULL); -v___x_6293_ = lean_usize_of_nat(v___x_6283_); -v___x_6294_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6227_, v_args_6280_, v___x_6292_, v___x_6293_, v___x_6284_); -lean_dec_ref(v_args_6280_); -return v___x_6294_; +size_t v___x_6317_; size_t v___x_6318_; lean_object* v___x_6319_; +v___x_6317_ = ((size_t)0ULL); +v___x_6318_ = lean_usize_of_nat(v___x_6308_); +v___x_6319_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6252_, v_args_6305_, v___x_6317_, v___x_6318_, v___x_6309_); +lean_dec_ref(v_args_6305_); +return v___x_6319_; } } } } case 4: { -lean_object* v_cases_6295_; lean_object* v_resultType_6296_; lean_object* v_discr_6297_; lean_object* v_alts_6298_; lean_object* v___x_6299_; -v_cases_6295_ = lean_ctor_get(v_c_6228_, 0); -lean_inc_ref(v_cases_6295_); -lean_dec_ref(v_c_6228_); -v_resultType_6296_ = lean_ctor_get(v_cases_6295_, 1); -lean_inc_ref(v_resultType_6296_); -v_discr_6297_ = lean_ctor_get(v_cases_6295_, 2); -lean_inc(v_discr_6297_); -v_alts_6298_ = lean_ctor_get(v_cases_6295_, 3); -lean_inc_ref(v_alts_6298_); -lean_dec_ref(v_cases_6295_); -lean_inc_ref(v_f_6227_); -v___x_6299_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_resultType_6296_); -if (lean_obj_tag(v___x_6299_) == 0) +lean_object* v_cases_6320_; lean_object* v_resultType_6321_; lean_object* v_discr_6322_; lean_object* v_alts_6323_; lean_object* v___x_6324_; +v_cases_6320_ = lean_ctor_get(v_c_6253_, 0); +lean_inc_ref(v_cases_6320_); +lean_dec_ref(v_c_6253_); +v_resultType_6321_ = lean_ctor_get(v_cases_6320_, 1); +lean_inc_ref(v_resultType_6321_); +v_discr_6322_ = lean_ctor_get(v_cases_6320_, 2); +lean_inc(v_discr_6322_); +v_alts_6323_ = lean_ctor_get(v_cases_6320_, 3); +lean_inc_ref(v_alts_6323_); +lean_dec_ref(v_cases_6320_); +lean_inc_ref(v_f_6252_); +v___x_6324_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_resultType_6321_); +if (lean_obj_tag(v___x_6324_) == 0) { -lean_dec_ref(v_alts_6298_); -lean_dec(v_discr_6297_); -lean_dec_ref(v_f_6227_); -return v___x_6299_; +lean_dec_ref(v_alts_6323_); +lean_dec(v_discr_6322_); +lean_dec_ref(v_f_6252_); +return v___x_6324_; } else { -lean_object* v___x_6300_; -lean_dec_ref(v___x_6299_); -lean_inc_ref(v_f_6227_); -v___x_6300_ = lean_apply_1(v_f_6227_, v_discr_6297_); -if (lean_obj_tag(v___x_6300_) == 0) +lean_object* v___x_6325_; +lean_dec_ref(v___x_6324_); +lean_inc_ref(v_f_6252_); +v___x_6325_ = lean_apply_1(v_f_6252_, v_discr_6322_); +if (lean_obj_tag(v___x_6325_) == 0) { -lean_dec_ref(v_alts_6298_); -lean_dec_ref(v_f_6227_); -return v___x_6300_; +lean_dec_ref(v_alts_6323_); +lean_dec_ref(v_f_6252_); +return v___x_6325_; } else { -lean_object* v___x_6301_; lean_object* v___x_6302_; lean_object* v___x_6303_; uint8_t v___x_6304_; -lean_dec_ref(v___x_6300_); -v___x_6301_ = lean_unsigned_to_nat(0u); -v___x_6302_ = lean_array_get_size(v_alts_6298_); -v___x_6303_ = lean_box(0); -v___x_6304_ = lean_nat_dec_lt(v___x_6301_, v___x_6302_); -if (v___x_6304_ == 0) +lean_object* v___x_6326_; lean_object* v___x_6327_; lean_object* v___x_6328_; uint8_t v___x_6329_; +lean_dec_ref(v___x_6325_); +v___x_6326_ = lean_unsigned_to_nat(0u); +v___x_6327_ = lean_array_get_size(v_alts_6323_); +v___x_6328_ = lean_box(0); +v___x_6329_ = lean_nat_dec_lt(v___x_6326_, v___x_6327_); +if (v___x_6329_ == 0) { -lean_object* v___x_6305_; -lean_dec_ref(v_alts_6298_); -lean_dec_ref(v_f_6227_); -v___x_6305_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6305_; +lean_object* v___x_6330_; +lean_dec_ref(v_alts_6323_); +lean_dec_ref(v_f_6252_); +v___x_6330_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6330_; } else { -uint8_t v___x_6306_; -v___x_6306_ = lean_nat_dec_le(v___x_6302_, v___x_6302_); -if (v___x_6306_ == 0) +uint8_t v___x_6331_; +v___x_6331_ = lean_nat_dec_le(v___x_6327_, v___x_6327_); +if (v___x_6331_ == 0) { -if (v___x_6304_ == 0) +if (v___x_6329_ == 0) { -lean_object* v___x_6307_; -lean_dec_ref(v_alts_6298_); -lean_dec_ref(v_f_6227_); -v___x_6307_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); -return v___x_6307_; +lean_object* v___x_6332_; +lean_dec_ref(v_alts_6323_); +lean_dec_ref(v_f_6252_); +v___x_6332_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5___closed__0)); +return v___x_6332_; } else { -size_t v___x_6308_; size_t v___x_6309_; lean_object* v___x_6310_; -v___x_6308_ = ((size_t)0ULL); -v___x_6309_ = lean_usize_of_nat(v___x_6302_); -v___x_6310_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_6226_, v_f_6227_, v_alts_6298_, v___x_6308_, v___x_6309_, v___x_6303_); -lean_dec_ref(v_alts_6298_); -return v___x_6310_; +size_t v___x_6333_; size_t v___x_6334_; lean_object* v___x_6335_; +v___x_6333_ = ((size_t)0ULL); +v___x_6334_ = lean_usize_of_nat(v___x_6327_); +v___x_6335_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_6251_, v_f_6252_, v_alts_6323_, v___x_6333_, v___x_6334_, v___x_6328_); +lean_dec_ref(v_alts_6323_); +return v___x_6335_; } } else { -size_t v___x_6311_; size_t v___x_6312_; lean_object* v___x_6313_; -v___x_6311_ = ((size_t)0ULL); -v___x_6312_ = lean_usize_of_nat(v___x_6302_); -v___x_6313_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_6226_, v_f_6227_, v_alts_6298_, v___x_6311_, v___x_6312_, v___x_6303_); -lean_dec_ref(v_alts_6298_); -return v___x_6313_; +size_t v___x_6336_; size_t v___x_6337_; lean_object* v___x_6338_; +v___x_6336_ = ((size_t)0ULL); +v___x_6337_ = lean_usize_of_nat(v___x_6327_); +v___x_6338_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_6251_, v_f_6252_, v_alts_6323_, v___x_6336_, v___x_6337_, v___x_6328_); +lean_dec_ref(v_alts_6323_); +return v___x_6338_; } } } @@ -18837,151 +18966,151 @@ return v___x_6313_; } case 5: { -lean_object* v_fvarId_6314_; lean_object* v___x_6315_; -v_fvarId_6314_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6314_); -lean_dec_ref(v_c_6228_); -v___x_6315_ = lean_apply_1(v_f_6227_, v_fvarId_6314_); -return v___x_6315_; +lean_object* v_fvarId_6339_; lean_object* v___x_6340_; +v_fvarId_6339_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6339_); +lean_dec_ref(v_c_6253_); +v___x_6340_ = lean_apply_1(v_f_6252_, v_fvarId_6339_); +return v___x_6340_; } case 6: { -lean_object* v_type_6316_; lean_object* v___x_6317_; -v_type_6316_ = lean_ctor_get(v_c_6228_, 0); -lean_inc_ref(v_type_6316_); -lean_dec_ref(v_c_6228_); -v___x_6317_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_type_6316_); -return v___x_6317_; +lean_object* v_type_6341_; lean_object* v___x_6342_; +v_type_6341_ = lean_ctor_get(v_c_6253_, 0); +lean_inc_ref(v_type_6341_); +lean_dec_ref(v_c_6253_); +v___x_6342_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_type_6341_); +return v___x_6342_; } case 7: { -lean_object* v_fvarId_6318_; lean_object* v_y_6319_; lean_object* v_k_6320_; lean_object* v___x_6321_; -v_fvarId_6318_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6318_); -v_y_6319_ = lean_ctor_get(v_c_6228_, 2); -lean_inc(v_y_6319_); -v_k_6320_ = lean_ctor_get(v_c_6228_, 3); -lean_inc_ref(v_k_6320_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6321_ = lean_apply_1(v_f_6227_, v_fvarId_6318_); -if (lean_obj_tag(v___x_6321_) == 0) +lean_object* v_fvarId_6343_; lean_object* v_y_6344_; lean_object* v_k_6345_; lean_object* v___x_6346_; +v_fvarId_6343_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6343_); +v_y_6344_ = lean_ctor_get(v_c_6253_, 2); +lean_inc(v_y_6344_); +v_k_6345_ = lean_ctor_get(v_c_6253_, 3); +lean_inc_ref(v_k_6345_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6346_ = lean_apply_1(v_f_6252_, v_fvarId_6343_); +if (lean_obj_tag(v___x_6346_) == 0) { -lean_dec_ref(v_k_6320_); -lean_dec(v_y_6319_); -lean_dec_ref(v_f_6227_); -return v___x_6321_; +lean_dec_ref(v_k_6345_); +lean_dec(v_y_6344_); +lean_dec_ref(v_f_6252_); +return v___x_6346_; } else { -lean_object* v___x_6322_; -lean_dec_ref(v___x_6321_); -lean_inc_ref(v_f_6227_); -v___x_6322_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_6227_, v_y_6319_); -if (lean_obj_tag(v___x_6322_) == 0) +lean_object* v___x_6347_; +lean_dec_ref(v___x_6346_); +lean_inc_ref(v_f_6252_); +v___x_6347_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4___redArg(v_f_6252_, v_y_6344_); +if (lean_obj_tag(v___x_6347_) == 0) { -lean_dec_ref(v_k_6320_); -lean_dec_ref(v_f_6227_); -return v___x_6322_; +lean_dec_ref(v_k_6345_); +lean_dec_ref(v_f_6252_); +return v___x_6347_; } else { -lean_dec_ref(v___x_6322_); -v_c_6228_ = v_k_6320_; +lean_dec_ref(v___x_6347_); +v_c_6253_ = v_k_6345_; goto _start; } } } case 8: { -lean_object* v_fvarId_6324_; lean_object* v_y_6325_; lean_object* v_k_6326_; lean_object* v___x_6327_; -v_fvarId_6324_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6324_); -v_y_6325_ = lean_ctor_get(v_c_6228_, 2); -lean_inc(v_y_6325_); -v_k_6326_ = lean_ctor_get(v_c_6228_, 3); -lean_inc_ref(v_k_6326_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6327_ = lean_apply_1(v_f_6227_, v_fvarId_6324_); -if (lean_obj_tag(v___x_6327_) == 0) +lean_object* v_fvarId_6349_; lean_object* v_y_6350_; lean_object* v_k_6351_; lean_object* v___x_6352_; +v_fvarId_6349_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6349_); +v_y_6350_ = lean_ctor_get(v_c_6253_, 2); +lean_inc(v_y_6350_); +v_k_6351_ = lean_ctor_get(v_c_6253_, 3); +lean_inc_ref(v_k_6351_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6352_ = lean_apply_1(v_f_6252_, v_fvarId_6349_); +if (lean_obj_tag(v___x_6352_) == 0) { -lean_dec_ref(v_k_6326_); -lean_dec(v_y_6325_); -lean_dec_ref(v_f_6227_); -return v___x_6327_; +lean_dec_ref(v_k_6351_); +lean_dec(v_y_6350_); +lean_dec_ref(v_f_6252_); +return v___x_6352_; } else { -lean_object* v___x_6328_; -lean_dec_ref(v___x_6327_); -lean_inc_ref(v_f_6227_); -v___x_6328_ = lean_apply_1(v_f_6227_, v_y_6325_); -if (lean_obj_tag(v___x_6328_) == 0) +lean_object* v___x_6353_; +lean_dec_ref(v___x_6352_); +lean_inc_ref(v_f_6252_); +v___x_6353_ = lean_apply_1(v_f_6252_, v_y_6350_); +if (lean_obj_tag(v___x_6353_) == 0) { -lean_dec_ref(v_k_6326_); -lean_dec_ref(v_f_6227_); -return v___x_6328_; +lean_dec_ref(v_k_6351_); +lean_dec_ref(v_f_6252_); +return v___x_6353_; } else { -lean_dec_ref(v___x_6328_); -v_c_6228_ = v_k_6326_; +lean_dec_ref(v___x_6353_); +v_c_6253_ = v_k_6351_; goto _start; } } } case 9: { -lean_object* v_fvarId_6330_; lean_object* v_y_6331_; lean_object* v_ty_6332_; lean_object* v_k_6333_; lean_object* v___x_6334_; -v_fvarId_6330_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6330_); -v_y_6331_ = lean_ctor_get(v_c_6228_, 3); -lean_inc(v_y_6331_); -v_ty_6332_ = lean_ctor_get(v_c_6228_, 4); -lean_inc_ref(v_ty_6332_); -v_k_6333_ = lean_ctor_get(v_c_6228_, 5); -lean_inc_ref(v_k_6333_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6334_ = lean_apply_1(v_f_6227_, v_fvarId_6330_); -if (lean_obj_tag(v___x_6334_) == 0) +lean_object* v_fvarId_6355_; lean_object* v_y_6356_; lean_object* v_ty_6357_; lean_object* v_k_6358_; lean_object* v___x_6359_; +v_fvarId_6355_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6355_); +v_y_6356_ = lean_ctor_get(v_c_6253_, 3); +lean_inc(v_y_6356_); +v_ty_6357_ = lean_ctor_get(v_c_6253_, 4); +lean_inc_ref(v_ty_6357_); +v_k_6358_ = lean_ctor_get(v_c_6253_, 5); +lean_inc_ref(v_k_6358_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6359_ = lean_apply_1(v_f_6252_, v_fvarId_6355_); +if (lean_obj_tag(v___x_6359_) == 0) { -lean_dec_ref(v_k_6333_); -lean_dec_ref(v_ty_6332_); -lean_dec(v_y_6331_); -lean_dec_ref(v_f_6227_); -return v___x_6334_; +lean_dec_ref(v_k_6358_); +lean_dec_ref(v_ty_6357_); +lean_dec(v_y_6356_); +lean_dec_ref(v_f_6252_); +return v___x_6359_; } else { -lean_object* v___x_6335_; -lean_dec_ref(v___x_6334_); -lean_inc_ref(v_f_6227_); -v___x_6335_ = lean_apply_1(v_f_6227_, v_y_6331_); -if (lean_obj_tag(v___x_6335_) == 0) +lean_object* v___x_6360_; +lean_dec_ref(v___x_6359_); +lean_inc_ref(v_f_6252_); +v___x_6360_ = lean_apply_1(v_f_6252_, v_y_6356_); +if (lean_obj_tag(v___x_6360_) == 0) { -lean_dec_ref(v_k_6333_); -lean_dec_ref(v_ty_6332_); -lean_dec_ref(v_f_6227_); -return v___x_6335_; +lean_dec_ref(v_k_6358_); +lean_dec_ref(v_ty_6357_); +lean_dec_ref(v_f_6252_); +return v___x_6360_; } else { -lean_object* v___x_6336_; -lean_dec_ref(v___x_6335_); -lean_inc_ref(v_f_6227_); -v___x_6336_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6227_, v_ty_6332_); -if (lean_obj_tag(v___x_6336_) == 0) +lean_object* v___x_6361_; +lean_dec_ref(v___x_6360_); +lean_inc_ref(v_f_6252_); +v___x_6361_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__4_spec__5(v_f_6252_, v_ty_6357_); +if (lean_obj_tag(v___x_6361_) == 0) { -lean_dec_ref(v_k_6333_); -lean_dec_ref(v_f_6227_); -return v___x_6336_; +lean_dec_ref(v_k_6358_); +lean_dec_ref(v_f_6252_); +return v___x_6361_; } else { -lean_dec_ref(v___x_6336_); -v_c_6228_ = v_k_6333_; +lean_dec_ref(v___x_6361_); +v_c_6253_ = v_k_6358_; goto _start; } } @@ -18989,510 +19118,510 @@ goto _start; } case 13: { -lean_object* v_fvarId_6338_; lean_object* v_k_6339_; lean_object* v___x_6340_; -v_fvarId_6338_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6338_); -v_k_6339_ = lean_ctor_get(v_c_6228_, 1); -lean_inc_ref(v_k_6339_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6340_ = lean_apply_1(v_f_6227_, v_fvarId_6338_); -if (lean_obj_tag(v___x_6340_) == 0) +lean_object* v_fvarId_6363_; lean_object* v_k_6364_; lean_object* v___x_6365_; +v_fvarId_6363_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6363_); +v_k_6364_ = lean_ctor_get(v_c_6253_, 1); +lean_inc_ref(v_k_6364_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6365_ = lean_apply_1(v_f_6252_, v_fvarId_6363_); +if (lean_obj_tag(v___x_6365_) == 0) { -lean_dec_ref(v_k_6339_); -lean_dec_ref(v_f_6227_); -return v___x_6340_; +lean_dec_ref(v_k_6364_); +lean_dec_ref(v_f_6252_); +return v___x_6365_; } else { -lean_dec_ref(v___x_6340_); -v_c_6228_ = v_k_6339_; +lean_dec_ref(v___x_6365_); +v_c_6253_ = v_k_6364_; goto _start; } } default: { -lean_object* v_fvarId_6342_; lean_object* v_k_6343_; lean_object* v___x_6344_; -v_fvarId_6342_ = lean_ctor_get(v_c_6228_, 0); -lean_inc(v_fvarId_6342_); -v_k_6343_ = lean_ctor_get(v_c_6228_, 2); -lean_inc_ref(v_k_6343_); -lean_dec_ref(v_c_6228_); -lean_inc_ref(v_f_6227_); -v___x_6344_ = lean_apply_1(v_f_6227_, v_fvarId_6342_); -if (lean_obj_tag(v___x_6344_) == 0) +lean_object* v_fvarId_6367_; lean_object* v_k_6368_; lean_object* v___x_6369_; +v_fvarId_6367_ = lean_ctor_get(v_c_6253_, 0); +lean_inc(v_fvarId_6367_); +v_k_6368_ = lean_ctor_get(v_c_6253_, 2); +lean_inc_ref(v_k_6368_); +lean_dec_ref(v_c_6253_); +lean_inc_ref(v_f_6252_); +v___x_6369_ = lean_apply_1(v_f_6252_, v_fvarId_6367_); +if (lean_obj_tag(v___x_6369_) == 0) { -lean_dec_ref(v_k_6343_); -lean_dec_ref(v_f_6227_); -return v___x_6344_; +lean_dec_ref(v_k_6368_); +lean_dec_ref(v_f_6252_); +return v___x_6369_; } else { -lean_dec_ref(v___x_6344_); -v_c_6228_ = v_k_6343_; +lean_dec_ref(v___x_6369_); +v_c_6253_ = v_k_6368_; goto _start; } } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0(uint8_t v_pu_6346_, lean_object* v_f_6347_, lean_object* v___y_6348_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___lam__0(uint8_t v_pu_6371_, lean_object* v_f_6372_, lean_object* v___y_6373_){ _start: { -lean_object* v___x_6349_; -v___x_6349_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6346_, v_f_6347_, v___y_6348_); -return v___x_6349_; +lean_object* v___x_6374_; +v___x_6374_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_6371_, v_f_6372_, v___y_6373_); +return v___x_6374_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___boxed(lean_object* v_pu_6350_, lean_object* v_f_6351_, lean_object* v_as_6352_, lean_object* v_i_6353_, lean_object* v_stop_6354_, lean_object* v_b_6355_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14___boxed(lean_object* v_pu_6375_, lean_object* v_f_6376_, lean_object* v_as_6377_, lean_object* v_i_6378_, lean_object* v_stop_6379_, lean_object* v_b_6380_){ _start: { -uint8_t v_pu_boxed_6356_; size_t v_i_boxed_6357_; size_t v_stop_boxed_6358_; lean_object* v_res_6359_; -v_pu_boxed_6356_ = lean_unbox(v_pu_6350_); -v_i_boxed_6357_ = lean_unbox_usize(v_i_6353_); -lean_dec(v_i_6353_); -v_stop_boxed_6358_ = lean_unbox_usize(v_stop_6354_); -lean_dec(v_stop_6354_); -v_res_6359_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_boxed_6356_, v_f_6351_, v_as_6352_, v_i_boxed_6357_, v_stop_boxed_6358_, v_b_6355_); -lean_dec_ref(v_as_6352_); -return v_res_6359_; +uint8_t v_pu_boxed_6381_; size_t v_i_boxed_6382_; size_t v_stop_boxed_6383_; lean_object* v_res_6384_; +v_pu_boxed_6381_ = lean_unbox(v_pu_6375_); +v_i_boxed_6382_ = lean_unbox_usize(v_i_6378_); +lean_dec(v_i_6378_); +v_stop_boxed_6383_ = lean_unbox_usize(v_stop_6379_); +lean_dec(v_stop_6379_); +v_res_6384_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__14(v_pu_boxed_6381_, v_f_6376_, v_as_6377_, v_i_boxed_6382_, v_stop_boxed_6383_, v_b_6380_); +lean_dec_ref(v_as_6377_); +return v_res_6384_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6___boxed(lean_object* v_pu_6360_, lean_object* v_f_6361_, lean_object* v_c_6362_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6___boxed(lean_object* v_pu_6385_, lean_object* v_f_6386_, lean_object* v_c_6387_){ _start: { -uint8_t v_pu_boxed_6363_; lean_object* v_res_6364_; -v_pu_boxed_6363_ = lean_unbox(v_pu_6360_); -v_res_6364_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_boxed_6363_, v_f_6361_, v_c_6362_); -return v_res_6364_; +uint8_t v_pu_boxed_6388_; lean_object* v_res_6389_; +v_pu_boxed_6388_ = lean_unbox(v_pu_6385_); +v_res_6389_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v_pu_boxed_6388_, v_f_6386_, v_c_6387_); +return v_res_6389_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(lean_object* v_f_6365_, lean_object* v_x_6366_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(lean_object* v_f_6390_, lean_object* v_x_6391_){ _start: { -uint8_t v___x_6367_; lean_object* v___x_6368_; lean_object* v___x_6369_; -v___x_6367_ = 0; -v___x_6368_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); -lean_closure_set(v___x_6368_, 0, v_f_6365_); -v___x_6369_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v___x_6367_, v___x_6368_, v_x_6366_); -if (lean_obj_tag(v___x_6369_) == 1) +uint8_t v___x_6392_; lean_object* v___x_6393_; lean_object* v___x_6394_; +v___x_6392_ = 0; +v___x_6393_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0_spec__1_spec__3), 2, 1); +lean_closure_set(v___x_6393_, 0, v_f_6390_); +v___x_6394_ = l_Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6(v___x_6392_, v___x_6393_, v_x_6391_); +if (lean_obj_tag(v___x_6394_) == 1) { -uint8_t v___x_6370_; -lean_dec_ref(v___x_6369_); -v___x_6370_ = 1; -return v___x_6370_; -} -else -{ -uint8_t v___x_6371_; -lean_dec(v___x_6369_); -v___x_6371_ = 0; -return v___x_6371_; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4___boxed(lean_object* v_f_6372_, lean_object* v_x_6373_){ -_start: -{ -uint8_t v_res_6374_; lean_object* v_r_6375_; -v_res_6374_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(v_f_6372_, v_x_6373_); -v_r_6375_ = lean_box(v_res_6374_); -return v_r_6375_; -} -} -LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(lean_object* v_f_6376_, lean_object* v_x_6377_){ -_start: -{ -lean_object* v___f_6378_; uint8_t v___x_6379_; -v___f_6378_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); -lean_closure_set(v___f_6378_, 0, v_f_6376_); -v___x_6379_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(v___f_6378_, v_x_6377_); -return v___x_6379_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3___boxed(lean_object* v_f_6380_, lean_object* v_x_6381_){ -_start: -{ -uint8_t v_res_6382_; lean_object* v_r_6383_; -v_res_6382_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(v_f_6380_, v_x_6381_); -v_r_6383_ = lean_box(v_res_6382_); -return v_r_6383_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(lean_object* v_i_6384_, lean_object* v_as_6385_, lean_object* v___y_6386_, lean_object* v___y_6387_, lean_object* v___y_6388_, lean_object* v___y_6389_, lean_object* v___y_6390_, lean_object* v___y_6391_){ -_start: -{ -lean_object* v___x_6393_; uint8_t v___x_6394_; -v___x_6393_ = lean_array_get_size(v_as_6385_); -v___x_6394_ = lean_nat_dec_lt(v_i_6384_, v___x_6393_); -if (v___x_6394_ == 0) -{ -lean_object* v___x_6395_; -lean_dec(v_i_6384_); -v___x_6395_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6395_, 0, v_as_6385_); +uint8_t v___x_6395_; +lean_dec_ref(v___x_6394_); +v___x_6395_ = 1; return v___x_6395_; } else { -lean_object* v_a_6396_; lean_object* v_a_6398_; -v_a_6396_ = lean_array_fget_borrowed(v_as_6385_, v_i_6384_); -if (lean_obj_tag(v_a_6396_) == 0) -{ -lean_object* v_params_6409_; lean_object* v_code_6410_; lean_object* v_scope_6411_; lean_object* v_ground_6412_; lean_object* v_underApplied_6413_; lean_object* v_declName_6414_; lean_object* v___y_6416_; lean_object* v___x_6429_; lean_object* v___x_6430_; uint8_t v___x_6431_; -v_params_6409_ = lean_ctor_get(v_a_6396_, 1); -v_code_6410_ = lean_ctor_get(v_a_6396_, 2); -v_scope_6411_ = lean_ctor_get(v___y_6386_, 0); -v_ground_6412_ = lean_ctor_get(v___y_6386_, 1); -v_underApplied_6413_ = lean_ctor_get(v___y_6386_, 2); -v_declName_6414_ = lean_ctor_get(v___y_6386_, 3); -v___x_6429_ = lean_unsigned_to_nat(0u); -v___x_6430_ = lean_array_get_size(v_params_6409_); -v___x_6431_ = lean_nat_dec_lt(v___x_6429_, v___x_6430_); -if (v___x_6431_ == 0) -{ -lean_inc(v_scope_6411_); -v___y_6416_ = v_scope_6411_; -goto v___jp_6415_; -} -else -{ -uint8_t v___x_6432_; -v___x_6432_ = lean_nat_dec_le(v___x_6430_, v___x_6430_); -if (v___x_6432_ == 0) -{ -if (v___x_6431_ == 0) -{ -lean_inc(v_scope_6411_); -v___y_6416_ = v_scope_6411_; -goto v___jp_6415_; -} -else -{ -size_t v___x_6433_; size_t v___x_6434_; lean_object* v___x_6435_; -v___x_6433_ = ((size_t)0ULL); -v___x_6434_ = lean_usize_of_nat(v___x_6430_); -lean_inc(v_scope_6411_); -v___x_6435_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6409_, v___x_6433_, v___x_6434_, v_scope_6411_); -v___y_6416_ = v___x_6435_; -goto v___jp_6415_; -} -} -else -{ -size_t v___x_6436_; size_t v___x_6437_; lean_object* v___x_6438_; -v___x_6436_ = ((size_t)0ULL); -v___x_6437_ = lean_usize_of_nat(v___x_6430_); -lean_inc(v_scope_6411_); -v___x_6438_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6409_, v___x_6436_, v___x_6437_, v_scope_6411_); -v___y_6416_ = v___x_6438_; -goto v___jp_6415_; -} -} -v___jp_6415_: -{ -lean_object* v___x_6417_; lean_object* v___x_6418_; -lean_inc(v_declName_6414_); -lean_inc(v_underApplied_6413_); -lean_inc(v_ground_6412_); -v___x_6417_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_6417_, 0, v___y_6416_); -lean_ctor_set(v___x_6417_, 1, v_ground_6412_); -lean_ctor_set(v___x_6417_, 2, v_underApplied_6413_); -lean_ctor_set(v___x_6417_, 3, v_declName_6414_); -lean_inc_ref(v_code_6410_); -v___x_6418_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6410_, v___x_6417_, v___y_6387_, v___y_6388_, v___y_6389_, v___y_6390_, v___y_6391_); -lean_dec_ref(v___x_6417_); -if (lean_obj_tag(v___x_6418_) == 0) -{ -lean_object* v_a_6419_; lean_object* v___x_6420_; -v_a_6419_ = lean_ctor_get(v___x_6418_, 0); -lean_inc(v_a_6419_); -lean_dec_ref(v___x_6418_); -lean_inc_ref(v_a_6396_); -v___x_6420_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_a_6396_, v_a_6419_); -v_a_6398_ = v___x_6420_; -goto v___jp_6397_; -} -else -{ -lean_object* v_a_6421_; lean_object* v___x_6423_; uint8_t v_isShared_6424_; uint8_t v_isSharedCheck_6428_; -lean_dec_ref(v_as_6385_); -lean_dec(v_i_6384_); -v_a_6421_ = lean_ctor_get(v___x_6418_, 0); -v_isSharedCheck_6428_ = !lean_is_exclusive(v___x_6418_); -if (v_isSharedCheck_6428_ == 0) -{ -v___x_6423_ = v___x_6418_; -v_isShared_6424_ = v_isSharedCheck_6428_; -goto v_resetjp_6422_; -} -else -{ -lean_inc(v_a_6421_); -lean_dec(v___x_6418_); -v___x_6423_ = lean_box(0); -v_isShared_6424_ = v_isSharedCheck_6428_; -goto v_resetjp_6422_; -} -v_resetjp_6422_: -{ -lean_object* v___x_6426_; -if (v_isShared_6424_ == 0) -{ -v___x_6426_ = v___x_6423_; -goto v_reusejp_6425_; -} -else -{ -lean_object* v_reuseFailAlloc_6427_; -v_reuseFailAlloc_6427_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6427_, 0, v_a_6421_); -v___x_6426_ = v_reuseFailAlloc_6427_; -goto v_reusejp_6425_; -} -v_reusejp_6425_: -{ -return v___x_6426_; +uint8_t v___x_6396_; +lean_dec(v___x_6394_); +v___x_6396_ = 0; +return v___x_6396_; } } } -} -} -else -{ -lean_object* v_code_6439_; lean_object* v___x_6440_; -v_code_6439_ = lean_ctor_get(v_a_6396_, 0); -lean_inc_ref(v_code_6439_); -v___x_6440_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6439_, v___y_6386_, v___y_6387_, v___y_6388_, v___y_6389_, v___y_6390_, v___y_6391_); -if (lean_obj_tag(v___x_6440_) == 0) -{ -lean_object* v_a_6441_; lean_object* v___x_6442_; -v_a_6441_ = lean_ctor_get(v___x_6440_, 0); -lean_inc(v_a_6441_); -lean_dec_ref(v___x_6440_); -lean_inc_ref(v_a_6396_); -v___x_6442_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_a_6396_, v_a_6441_); -v_a_6398_ = v___x_6442_; -goto v___jp_6397_; -} -else -{ -lean_object* v_a_6443_; lean_object* v___x_6445_; uint8_t v_isShared_6446_; uint8_t v_isSharedCheck_6450_; -lean_dec_ref(v_as_6385_); -lean_dec(v_i_6384_); -v_a_6443_ = lean_ctor_get(v___x_6440_, 0); -v_isSharedCheck_6450_ = !lean_is_exclusive(v___x_6440_); -if (v_isSharedCheck_6450_ == 0) -{ -v___x_6445_ = v___x_6440_; -v_isShared_6446_ = v_isSharedCheck_6450_; -goto v_resetjp_6444_; -} -else -{ -lean_inc(v_a_6443_); -lean_dec(v___x_6440_); -v___x_6445_ = lean_box(0); -v_isShared_6446_ = v_isSharedCheck_6450_; -goto v_resetjp_6444_; -} -v_resetjp_6444_: -{ -lean_object* v___x_6448_; -if (v_isShared_6446_ == 0) -{ -v___x_6448_ = v___x_6445_; -goto v_reusejp_6447_; -} -else -{ -lean_object* v_reuseFailAlloc_6449_; -v_reuseFailAlloc_6449_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6449_, 0, v_a_6443_); -v___x_6448_ = v_reuseFailAlloc_6449_; -goto v_reusejp_6447_; -} -v_reusejp_6447_: -{ -return v___x_6448_; -} -} -} -} -v___jp_6397_: -{ -size_t v___x_6399_; size_t v___x_6400_; uint8_t v___x_6401_; -v___x_6399_ = lean_ptr_addr(v_a_6396_); -v___x_6400_ = lean_ptr_addr(v_a_6398_); -v___x_6401_ = lean_usize_dec_eq(v___x_6399_, v___x_6400_); -if (v___x_6401_ == 0) -{ -lean_object* v___x_6402_; lean_object* v___x_6403_; lean_object* v___x_6404_; -v___x_6402_ = lean_unsigned_to_nat(1u); -v___x_6403_ = lean_nat_add(v_i_6384_, v___x_6402_); -v___x_6404_ = lean_array_fset(v_as_6385_, v_i_6384_, v_a_6398_); -lean_dec(v_i_6384_); -v_i_6384_ = v___x_6403_; -v_as_6385_ = v___x_6404_; -goto _start; -} -else -{ -lean_object* v___x_6406_; lean_object* v___x_6407_; -lean_dec_ref(v_a_6398_); -v___x_6406_ = lean_unsigned_to_nat(1u); -v___x_6407_ = lean_nat_add(v_i_6384_, v___x_6406_); -lean_dec(v_i_6384_); -v_i_6384_ = v___x_6407_; -goto _start; -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(lean_object* v_code_6451_, lean_object* v_a_6452_, lean_object* v_a_6453_, lean_object* v_a_6454_, lean_object* v_a_6455_, lean_object* v_a_6456_, lean_object* v_a_6457_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4___boxed(lean_object* v_f_6397_, lean_object* v_x_6398_){ _start: { -lean_object* v___y_6460_; lean_object* v___y_6461_; uint8_t v___y_6462_; -switch(lean_obj_tag(v_code_6451_)) +uint8_t v_res_6399_; lean_object* v_r_6400_; +v_res_6399_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(v_f_6397_, v_x_6398_); +v_r_6400_ = lean_box(v_res_6399_); +return v_r_6400_; +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(lean_object* v_f_6401_, lean_object* v_x_6402_){ +_start: +{ +lean_object* v___f_6403_; uint8_t v___x_6404_; +v___f_6403_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_shouldSpecialize_spec__0_spec__0___lam__0___boxed), 2, 1); +lean_closure_set(v___f_6403_, 0, v_f_6401_); +v___x_6404_ = l_Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4(v___f_6403_, v_x_6402_); +return v___x_6404_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3___boxed(lean_object* v_f_6405_, lean_object* v_x_6406_){ +_start: +{ +uint8_t v_res_6407_; lean_object* v_r_6408_; +v_res_6407_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(v_f_6405_, v_x_6406_); +v_r_6408_ = lean_box(v_res_6407_); +return v_r_6408_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(lean_object* v_i_6409_, lean_object* v_as_6410_, lean_object* v___y_6411_, lean_object* v___y_6412_, lean_object* v___y_6413_, lean_object* v___y_6414_, lean_object* v___y_6415_, lean_object* v___y_6416_){ +_start: +{ +lean_object* v___x_6418_; uint8_t v___x_6419_; +v___x_6418_ = lean_array_get_size(v_as_6410_); +v___x_6419_ = lean_nat_dec_lt(v_i_6409_, v___x_6418_); +if (v___x_6419_ == 0) +{ +lean_object* v___x_6420_; +lean_dec(v_i_6409_); +v___x_6420_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6420_, 0, v_as_6410_); +return v___x_6420_; +} +else +{ +lean_object* v_a_6421_; lean_object* v_a_6423_; +v_a_6421_ = lean_array_fget_borrowed(v_as_6410_, v_i_6409_); +if (lean_obj_tag(v_a_6421_) == 0) +{ +lean_object* v_params_6434_; lean_object* v_code_6435_; lean_object* v_scope_6436_; lean_object* v_ground_6437_; lean_object* v_underApplied_6438_; lean_object* v_declName_6439_; lean_object* v___y_6441_; lean_object* v___x_6454_; lean_object* v___x_6455_; uint8_t v___x_6456_; +v_params_6434_ = lean_ctor_get(v_a_6421_, 1); +v_code_6435_ = lean_ctor_get(v_a_6421_, 2); +v_scope_6436_ = lean_ctor_get(v___y_6411_, 0); +v_ground_6437_ = lean_ctor_get(v___y_6411_, 1); +v_underApplied_6438_ = lean_ctor_get(v___y_6411_, 2); +v_declName_6439_ = lean_ctor_get(v___y_6411_, 3); +v___x_6454_ = lean_unsigned_to_nat(0u); +v___x_6455_ = lean_array_get_size(v_params_6434_); +v___x_6456_ = lean_nat_dec_lt(v___x_6454_, v___x_6455_); +if (v___x_6456_ == 0) +{ +lean_inc(v_scope_6436_); +v___y_6441_ = v_scope_6436_; +goto v___jp_6440_; +} +else +{ +uint8_t v___x_6457_; +v___x_6457_ = lean_nat_dec_le(v___x_6455_, v___x_6455_); +if (v___x_6457_ == 0) +{ +if (v___x_6456_ == 0) +{ +lean_inc(v_scope_6436_); +v___y_6441_ = v_scope_6436_; +goto v___jp_6440_; +} +else +{ +size_t v___x_6458_; size_t v___x_6459_; lean_object* v___x_6460_; +v___x_6458_ = ((size_t)0ULL); +v___x_6459_ = lean_usize_of_nat(v___x_6455_); +lean_inc(v_scope_6436_); +v___x_6460_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6434_, v___x_6458_, v___x_6459_, v_scope_6436_); +v___y_6441_ = v___x_6460_; +goto v___jp_6440_; +} +} +else +{ +size_t v___x_6461_; size_t v___x_6462_; lean_object* v___x_6463_; +v___x_6461_ = ((size_t)0ULL); +v___x_6462_ = lean_usize_of_nat(v___x_6455_); +lean_inc(v_scope_6436_); +v___x_6463_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6434_, v___x_6461_, v___x_6462_, v_scope_6436_); +v___y_6441_ = v___x_6463_; +goto v___jp_6440_; +} +} +v___jp_6440_: +{ +lean_object* v___x_6442_; lean_object* v___x_6443_; +lean_inc(v_declName_6439_); +lean_inc(v_underApplied_6438_); +lean_inc(v_ground_6437_); +v___x_6442_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_6442_, 0, v___y_6441_); +lean_ctor_set(v___x_6442_, 1, v_ground_6437_); +lean_ctor_set(v___x_6442_, 2, v_underApplied_6438_); +lean_ctor_set(v___x_6442_, 3, v_declName_6439_); +lean_inc_ref(v_code_6435_); +v___x_6443_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6435_, v___x_6442_, v___y_6412_, v___y_6413_, v___y_6414_, v___y_6415_, v___y_6416_); +lean_dec_ref(v___x_6442_); +if (lean_obj_tag(v___x_6443_) == 0) +{ +lean_object* v_a_6444_; lean_object* v___x_6445_; +v_a_6444_ = lean_ctor_get(v___x_6443_, 0); +lean_inc(v_a_6444_); +lean_dec_ref(v___x_6443_); +lean_inc_ref(v_a_6421_); +v___x_6445_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_a_6421_, v_a_6444_); +v_a_6423_ = v___x_6445_; +goto v___jp_6422_; +} +else +{ +lean_object* v_a_6446_; lean_object* v___x_6448_; uint8_t v_isShared_6449_; uint8_t v_isSharedCheck_6453_; +lean_dec_ref(v_as_6410_); +lean_dec(v_i_6409_); +v_a_6446_ = lean_ctor_get(v___x_6443_, 0); +v_isSharedCheck_6453_ = !lean_is_exclusive(v___x_6443_); +if (v_isSharedCheck_6453_ == 0) +{ +v___x_6448_ = v___x_6443_; +v_isShared_6449_ = v_isSharedCheck_6453_; +goto v_resetjp_6447_; +} +else +{ +lean_inc(v_a_6446_); +lean_dec(v___x_6443_); +v___x_6448_ = lean_box(0); +v_isShared_6449_ = v_isSharedCheck_6453_; +goto v_resetjp_6447_; +} +v_resetjp_6447_: +{ +lean_object* v___x_6451_; +if (v_isShared_6449_ == 0) +{ +v___x_6451_ = v___x_6448_; +goto v_reusejp_6450_; +} +else +{ +lean_object* v_reuseFailAlloc_6452_; +v_reuseFailAlloc_6452_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6452_, 0, v_a_6446_); +v___x_6451_ = v_reuseFailAlloc_6452_; +goto v_reusejp_6450_; +} +v_reusejp_6450_: +{ +return v___x_6451_; +} +} +} +} +} +else +{ +lean_object* v_code_6464_; lean_object* v___x_6465_; +v_code_6464_ = lean_ctor_get(v_a_6421_, 0); +lean_inc_ref(v_code_6464_); +v___x_6465_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6464_, v___y_6411_, v___y_6412_, v___y_6413_, v___y_6414_, v___y_6415_, v___y_6416_); +if (lean_obj_tag(v___x_6465_) == 0) +{ +lean_object* v_a_6466_; lean_object* v___x_6467_; +v_a_6466_ = lean_ctor_get(v___x_6465_, 0); +lean_inc(v_a_6466_); +lean_dec_ref(v___x_6465_); +lean_inc_ref(v_a_6421_); +v___x_6467_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_a_6421_, v_a_6466_); +v_a_6423_ = v___x_6467_; +goto v___jp_6422_; +} +else +{ +lean_object* v_a_6468_; lean_object* v___x_6470_; uint8_t v_isShared_6471_; uint8_t v_isSharedCheck_6475_; +lean_dec_ref(v_as_6410_); +lean_dec(v_i_6409_); +v_a_6468_ = lean_ctor_get(v___x_6465_, 0); +v_isSharedCheck_6475_ = !lean_is_exclusive(v___x_6465_); +if (v_isSharedCheck_6475_ == 0) +{ +v___x_6470_ = v___x_6465_; +v_isShared_6471_ = v_isSharedCheck_6475_; +goto v_resetjp_6469_; +} +else +{ +lean_inc(v_a_6468_); +lean_dec(v___x_6465_); +v___x_6470_ = lean_box(0); +v_isShared_6471_ = v_isSharedCheck_6475_; +goto v_resetjp_6469_; +} +v_resetjp_6469_: +{ +lean_object* v___x_6473_; +if (v_isShared_6471_ == 0) +{ +v___x_6473_ = v___x_6470_; +goto v_reusejp_6472_; +} +else +{ +lean_object* v_reuseFailAlloc_6474_; +v_reuseFailAlloc_6474_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6474_, 0, v_a_6468_); +v___x_6473_ = v_reuseFailAlloc_6474_; +goto v_reusejp_6472_; +} +v_reusejp_6472_: +{ +return v___x_6473_; +} +} +} +} +v___jp_6422_: +{ +size_t v___x_6424_; size_t v___x_6425_; uint8_t v___x_6426_; +v___x_6424_ = lean_ptr_addr(v_a_6421_); +v___x_6425_ = lean_ptr_addr(v_a_6423_); +v___x_6426_ = lean_usize_dec_eq(v___x_6424_, v___x_6425_); +if (v___x_6426_ == 0) +{ +lean_object* v___x_6427_; lean_object* v___x_6428_; lean_object* v___x_6429_; +v___x_6427_ = lean_unsigned_to_nat(1u); +v___x_6428_ = lean_nat_add(v_i_6409_, v___x_6427_); +v___x_6429_ = lean_array_fset(v_as_6410_, v_i_6409_, v_a_6423_); +lean_dec(v_i_6409_); +v_i_6409_ = v___x_6428_; +v_as_6410_ = v___x_6429_; +goto _start; +} +else +{ +lean_object* v___x_6431_; lean_object* v___x_6432_; +lean_dec_ref(v_a_6423_); +v___x_6431_ = lean_unsigned_to_nat(1u); +v___x_6432_ = lean_nat_add(v_i_6409_, v___x_6431_); +lean_dec(v_i_6409_); +v_i_6409_ = v___x_6432_; +goto _start; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(lean_object* v_code_6476_, lean_object* v_a_6477_, lean_object* v_a_6478_, lean_object* v_a_6479_, lean_object* v_a_6480_, lean_object* v_a_6481_, lean_object* v_a_6482_){ +_start: +{ +lean_object* v___y_6485_; lean_object* v___y_6486_; uint8_t v___y_6487_; +switch(lean_obj_tag(v_code_6476_)) { case 0: { -lean_object* v_decl_6466_; lean_object* v_k_6467_; lean_object* v___y_6469_; lean_object* v___y_6470_; lean_object* v___y_6471_; lean_object* v___y_6472_; lean_object* v___y_6473_; lean_object* v___y_6474_; lean_object* v___y_6475_; lean_object* v___y_6476_; lean_object* v___y_6477_; lean_object* v___y_6478_; lean_object* v___y_6489_; lean_object* v___y_6490_; lean_object* v___y_6491_; uint8_t v___y_6492_; lean_object* v___y_6493_; lean_object* v___y_6494_; lean_object* v___y_6495_; lean_object* v___y_6496_; lean_object* v___y_6497_; lean_object* v___y_6498_; lean_object* v___y_6499_; lean_object* v___y_6500_; uint8_t v___y_6503_; lean_object* v___y_6504_; lean_object* v___y_6505_; uint8_t v_isUnderApplied_6506_; lean_object* v___y_6507_; lean_object* v___y_6508_; lean_object* v___y_6509_; lean_object* v___y_6510_; lean_object* v___y_6511_; lean_object* v___y_6512_; lean_object* v___y_6520_; lean_object* v___y_6521_; lean_object* v___y_6522_; lean_object* v___y_6523_; lean_object* v___y_6524_; lean_object* v___y_6525_; lean_object* v___y_6526_; lean_object* v___y_6527_; uint8_t v___y_6528_; lean_object* v___y_6529_; uint8_t v_a_6530_; lean_object* v___y_6581_; lean_object* v___y_6582_; lean_object* v___y_6583_; lean_object* v___y_6584_; lean_object* v___y_6585_; lean_object* v___y_6586_; lean_object* v___y_6587_; lean_object* v___y_6588_; lean_object* v___y_6589_; uint8_t v___y_6590_; lean_object* v___y_6591_; lean_object* v_decl_6603_; lean_object* v_fvarId_6604_; lean_object* v_type_6605_; lean_object* v_value_6606_; lean_object* v___y_6607_; lean_object* v___y_6608_; lean_object* v___y_6609_; lean_object* v___y_6610_; lean_object* v___y_6611_; lean_object* v___y_6612_; lean_object* v_fvarId_6628_; lean_object* v_type_6629_; lean_object* v_value_6630_; lean_object* v___x_6631_; -v_decl_6466_ = lean_ctor_get(v_code_6451_, 0); -v_k_6467_ = lean_ctor_get(v_code_6451_, 1); -v_fvarId_6628_ = lean_ctor_get(v_decl_6466_, 0); -v_type_6629_ = lean_ctor_get(v_decl_6466_, 2); -v_value_6630_ = lean_ctor_get(v_decl_6466_, 3); -lean_inc(v_value_6630_); -v___x_6631_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(v_value_6630_, v_a_6452_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -if (lean_obj_tag(v___x_6631_) == 0) +lean_object* v_decl_6491_; lean_object* v_k_6492_; lean_object* v___y_6494_; lean_object* v___y_6495_; lean_object* v___y_6496_; lean_object* v___y_6497_; lean_object* v___y_6498_; lean_object* v___y_6499_; lean_object* v___y_6500_; lean_object* v___y_6501_; lean_object* v___y_6502_; lean_object* v___y_6503_; lean_object* v___y_6514_; lean_object* v___y_6515_; lean_object* v___y_6516_; lean_object* v___y_6517_; lean_object* v___y_6518_; lean_object* v___y_6519_; lean_object* v___y_6520_; uint8_t v___y_6521_; lean_object* v___y_6522_; lean_object* v___y_6523_; lean_object* v___y_6524_; lean_object* v___y_6525_; lean_object* v___y_6528_; uint8_t v___y_6529_; lean_object* v___y_6530_; uint8_t v_isUnderApplied_6531_; lean_object* v___y_6532_; lean_object* v___y_6533_; lean_object* v___y_6534_; lean_object* v___y_6535_; lean_object* v___y_6536_; lean_object* v___y_6537_; lean_object* v___y_6545_; lean_object* v___y_6546_; lean_object* v___y_6547_; uint8_t v___y_6548_; lean_object* v___y_6549_; lean_object* v___y_6550_; lean_object* v___y_6551_; lean_object* v___y_6552_; lean_object* v___y_6553_; lean_object* v___y_6554_; uint8_t v_a_6555_; lean_object* v___y_6606_; lean_object* v___y_6607_; lean_object* v___y_6608_; lean_object* v___y_6609_; uint8_t v___y_6610_; lean_object* v___y_6611_; lean_object* v___y_6612_; lean_object* v___y_6613_; lean_object* v___y_6614_; lean_object* v___y_6615_; lean_object* v___y_6616_; lean_object* v_decl_6628_; lean_object* v_fvarId_6629_; lean_object* v_type_6630_; lean_object* v_value_6631_; lean_object* v___y_6632_; lean_object* v___y_6633_; lean_object* v___y_6634_; lean_object* v___y_6635_; lean_object* v___y_6636_; lean_object* v___y_6637_; lean_object* v_fvarId_6653_; lean_object* v_type_6654_; lean_object* v_value_6655_; lean_object* v___x_6656_; +v_decl_6491_ = lean_ctor_get(v_code_6476_, 0); +v_k_6492_ = lean_ctor_get(v_code_6476_, 1); +v_fvarId_6653_ = lean_ctor_get(v_decl_6491_, 0); +v_type_6654_ = lean_ctor_get(v_decl_6491_, 2); +v_value_6655_ = lean_ctor_get(v_decl_6491_, 3); +lean_inc(v_value_6655_); +v___x_6656_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f(v_value_6655_, v_a_6477_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +if (lean_obj_tag(v___x_6656_) == 0) { -lean_object* v_a_6632_; -v_a_6632_ = lean_ctor_get(v___x_6631_, 0); -lean_inc(v_a_6632_); -lean_dec_ref(v___x_6631_); -if (lean_obj_tag(v_a_6632_) == 1) +lean_object* v_a_6657_; +v_a_6657_ = lean_ctor_get(v___x_6656_, 0); +lean_inc(v_a_6657_); +lean_dec_ref(v___x_6656_); +if (lean_obj_tag(v_a_6657_) == 1) { -lean_object* v_val_6633_; lean_object* v___x_6634_; lean_object* v_processedDecls_6635_; lean_object* v_workingDecls_6636_; lean_object* v_localSpecParamInfo_6637_; lean_object* v_parentMasks_6638_; lean_object* v___x_6640_; uint8_t v_isShared_6641_; uint8_t v_isSharedCheck_6661_; -v_val_6633_ = lean_ctor_get(v_a_6632_, 0); -lean_inc(v_val_6633_); -lean_dec_ref(v_a_6632_); -v___x_6634_ = lean_st_ref_take(v_a_6453_); -v_processedDecls_6635_ = lean_ctor_get(v___x_6634_, 0); -v_workingDecls_6636_ = lean_ctor_get(v___x_6634_, 1); -v_localSpecParamInfo_6637_ = lean_ctor_get(v___x_6634_, 2); -v_parentMasks_6638_ = lean_ctor_get(v___x_6634_, 3); -v_isSharedCheck_6661_ = !lean_is_exclusive(v___x_6634_); -if (v_isSharedCheck_6661_ == 0) +lean_object* v_val_6658_; lean_object* v___x_6659_; lean_object* v_processedDecls_6660_; lean_object* v_workingDecls_6661_; lean_object* v_localSpecParamInfo_6662_; lean_object* v_parentMasks_6663_; lean_object* v___x_6665_; uint8_t v_isShared_6666_; uint8_t v_isSharedCheck_6686_; +v_val_6658_ = lean_ctor_get(v_a_6657_, 0); +lean_inc(v_val_6658_); +lean_dec_ref(v_a_6657_); +v___x_6659_ = lean_st_ref_take(v_a_6478_); +v_processedDecls_6660_ = lean_ctor_get(v___x_6659_, 0); +v_workingDecls_6661_ = lean_ctor_get(v___x_6659_, 1); +v_localSpecParamInfo_6662_ = lean_ctor_get(v___x_6659_, 2); +v_parentMasks_6663_ = lean_ctor_get(v___x_6659_, 3); +v_isSharedCheck_6686_ = !lean_is_exclusive(v___x_6659_); +if (v_isSharedCheck_6686_ == 0) { -v___x_6640_ = v___x_6634_; -v_isShared_6641_ = v_isSharedCheck_6661_; -goto v_resetjp_6639_; +v___x_6665_ = v___x_6659_; +v_isShared_6666_ = v_isSharedCheck_6686_; +goto v_resetjp_6664_; } else { -lean_inc(v_parentMasks_6638_); -lean_inc(v_localSpecParamInfo_6637_); -lean_inc(v_workingDecls_6636_); -lean_inc(v_processedDecls_6635_); -lean_dec(v___x_6634_); -v___x_6640_ = lean_box(0); -v_isShared_6641_ = v_isSharedCheck_6661_; -goto v_resetjp_6639_; +lean_inc(v_parentMasks_6663_); +lean_inc(v_localSpecParamInfo_6662_); +lean_inc(v_workingDecls_6661_); +lean_inc(v_processedDecls_6660_); +lean_dec(v___x_6659_); +v___x_6665_ = lean_box(0); +v_isShared_6666_ = v_isSharedCheck_6686_; +goto v_resetjp_6664_; } -v_resetjp_6639_: +v_resetjp_6664_: { -uint8_t v___x_6642_; lean_object* v___x_6644_; -v___x_6642_ = 1; -if (v_isShared_6641_ == 0) +uint8_t v___x_6667_; lean_object* v___x_6669_; +v___x_6667_ = 1; +if (v_isShared_6666_ == 0) { -v___x_6644_ = v___x_6640_; -goto v_reusejp_6643_; +v___x_6669_ = v___x_6665_; +goto v_reusejp_6668_; } else { -lean_object* v_reuseFailAlloc_6660_; -v_reuseFailAlloc_6660_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_6660_, 0, v_processedDecls_6635_); -lean_ctor_set(v_reuseFailAlloc_6660_, 1, v_workingDecls_6636_); -lean_ctor_set(v_reuseFailAlloc_6660_, 2, v_localSpecParamInfo_6637_); -lean_ctor_set(v_reuseFailAlloc_6660_, 3, v_parentMasks_6638_); -v___x_6644_ = v_reuseFailAlloc_6660_; -goto v_reusejp_6643_; +lean_object* v_reuseFailAlloc_6685_; +v_reuseFailAlloc_6685_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_6685_, 0, v_processedDecls_6660_); +lean_ctor_set(v_reuseFailAlloc_6685_, 1, v_workingDecls_6661_); +lean_ctor_set(v_reuseFailAlloc_6685_, 2, v_localSpecParamInfo_6662_); +lean_ctor_set(v_reuseFailAlloc_6685_, 3, v_parentMasks_6663_); +v___x_6669_ = v_reuseFailAlloc_6685_; +goto v_reusejp_6668_; } -v_reusejp_6643_: +v_reusejp_6668_: { -lean_object* v___x_6645_; uint8_t v___x_6646_; lean_object* v___x_6647_; -lean_ctor_set_uint8(v___x_6644_, sizeof(void*)*4, v___x_6642_); -v___x_6645_ = lean_st_ref_set(v_a_6453_, v___x_6644_); -v___x_6646_ = 0; -lean_inc_ref(v_decl_6466_); -v___x_6647_ = l_Lean_Compiler_LCNF_LetDecl_updateValue___redArg(v___x_6646_, v_decl_6466_, v_val_6633_, v_a_6455_); -if (lean_obj_tag(v___x_6647_) == 0) +lean_object* v___x_6670_; uint8_t v___x_6671_; lean_object* v___x_6672_; +lean_ctor_set_uint8(v___x_6669_, sizeof(void*)*4, v___x_6667_); +v___x_6670_ = lean_st_ref_set(v_a_6478_, v___x_6669_); +v___x_6671_ = 0; +lean_inc_ref(v_decl_6491_); +v___x_6672_ = l_Lean_Compiler_LCNF_LetDecl_updateValue___redArg(v___x_6671_, v_decl_6491_, v_val_6658_, v_a_6480_); +if (lean_obj_tag(v___x_6672_) == 0) { -lean_object* v_a_6648_; lean_object* v_fvarId_6649_; lean_object* v_type_6650_; lean_object* v_value_6651_; -v_a_6648_ = lean_ctor_get(v___x_6647_, 0); -lean_inc(v_a_6648_); -lean_dec_ref(v___x_6647_); -v_fvarId_6649_ = lean_ctor_get(v_a_6648_, 0); -lean_inc(v_fvarId_6649_); -v_type_6650_ = lean_ctor_get(v_a_6648_, 2); -lean_inc_ref(v_type_6650_); -v_value_6651_ = lean_ctor_get(v_a_6648_, 3); -lean_inc(v_value_6651_); -v_decl_6603_ = v_a_6648_; -v_fvarId_6604_ = v_fvarId_6649_; -v_type_6605_ = v_type_6650_; -v_value_6606_ = v_value_6651_; -v___y_6607_ = v_a_6452_; -v___y_6608_ = v_a_6453_; -v___y_6609_ = v_a_6454_; -v___y_6610_ = v_a_6455_; -v___y_6611_ = v_a_6456_; -v___y_6612_ = v_a_6457_; -goto v___jp_6602_; +lean_object* v_a_6673_; lean_object* v_fvarId_6674_; lean_object* v_type_6675_; lean_object* v_value_6676_; +v_a_6673_ = lean_ctor_get(v___x_6672_, 0); +lean_inc(v_a_6673_); +lean_dec_ref(v___x_6672_); +v_fvarId_6674_ = lean_ctor_get(v_a_6673_, 0); +lean_inc(v_fvarId_6674_); +v_type_6675_ = lean_ctor_get(v_a_6673_, 2); +lean_inc_ref(v_type_6675_); +v_value_6676_ = lean_ctor_get(v_a_6673_, 3); +lean_inc(v_value_6676_); +v_decl_6628_ = v_a_6673_; +v_fvarId_6629_ = v_fvarId_6674_; +v_type_6630_ = v_type_6675_; +v_value_6631_ = v_value_6676_; +v___y_6632_ = v_a_6477_; +v___y_6633_ = v_a_6478_; +v___y_6634_ = v_a_6479_; +v___y_6635_ = v_a_6480_; +v___y_6636_ = v_a_6481_; +v___y_6637_ = v_a_6482_; +goto v___jp_6627_; } else { -lean_object* v_a_6652_; lean_object* v___x_6654_; uint8_t v_isShared_6655_; uint8_t v_isSharedCheck_6659_; -lean_dec_ref(v_code_6451_); -v_a_6652_ = lean_ctor_get(v___x_6647_, 0); -v_isSharedCheck_6659_ = !lean_is_exclusive(v___x_6647_); -if (v_isSharedCheck_6659_ == 0) +lean_object* v_a_6677_; lean_object* v___x_6679_; uint8_t v_isShared_6680_; uint8_t v_isSharedCheck_6684_; +lean_dec_ref(v_code_6476_); +v_a_6677_ = lean_ctor_get(v___x_6672_, 0); +v_isSharedCheck_6684_ = !lean_is_exclusive(v___x_6672_); +if (v_isSharedCheck_6684_ == 0) { -v___x_6654_ = v___x_6647_; -v_isShared_6655_ = v_isSharedCheck_6659_; -goto v_resetjp_6653_; +v___x_6679_ = v___x_6672_; +v_isShared_6680_ = v_isSharedCheck_6684_; +goto v_resetjp_6678_; } else { -lean_inc(v_a_6652_); -lean_dec(v___x_6647_); -v___x_6654_ = lean_box(0); -v_isShared_6655_ = v_isSharedCheck_6659_; -goto v_resetjp_6653_; +lean_inc(v_a_6677_); +lean_dec(v___x_6672_); +v___x_6679_ = lean_box(0); +v_isShared_6680_ = v_isSharedCheck_6684_; +goto v_resetjp_6678_; } -v_resetjp_6653_: +v_resetjp_6678_: { -lean_object* v___x_6657_; -if (v_isShared_6655_ == 0) +lean_object* v___x_6682_; +if (v_isShared_6680_ == 0) { -v___x_6657_ = v___x_6654_; -goto v_reusejp_6656_; +v___x_6682_ = v___x_6679_; +goto v_reusejp_6681_; } else { -lean_object* v_reuseFailAlloc_6658_; -v_reuseFailAlloc_6658_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6658_, 0, v_a_6652_); -v___x_6657_ = v_reuseFailAlloc_6658_; -goto v_reusejp_6656_; +lean_object* v_reuseFailAlloc_6683_; +v_reuseFailAlloc_6683_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6683_, 0, v_a_6677_); +v___x_6682_ = v_reuseFailAlloc_6683_; +goto v_reusejp_6681_; } -v_reusejp_6656_: +v_reusejp_6681_: { -return v___x_6657_; +return v___x_6682_; } } } @@ -19501,693 +19630,693 @@ return v___x_6657_; } else { -lean_dec(v_a_6632_); -lean_inc(v_value_6630_); -lean_inc_ref(v_type_6629_); -lean_inc(v_fvarId_6628_); -lean_inc_ref(v_decl_6466_); -v_decl_6603_ = v_decl_6466_; -v_fvarId_6604_ = v_fvarId_6628_; -v_type_6605_ = v_type_6629_; -v_value_6606_ = v_value_6630_; -v___y_6607_ = v_a_6452_; -v___y_6608_ = v_a_6453_; -v___y_6609_ = v_a_6454_; -v___y_6610_ = v_a_6455_; -v___y_6611_ = v_a_6456_; -v___y_6612_ = v_a_6457_; -goto v___jp_6602_; +lean_dec(v_a_6657_); +lean_inc(v_value_6655_); +lean_inc_ref(v_type_6654_); +lean_inc(v_fvarId_6653_); +lean_inc_ref(v_decl_6491_); +v_decl_6628_ = v_decl_6491_; +v_fvarId_6629_ = v_fvarId_6653_; +v_type_6630_ = v_type_6654_; +v_value_6631_ = v_value_6655_; +v___y_6632_ = v_a_6477_; +v___y_6633_ = v_a_6478_; +v___y_6634_ = v_a_6479_; +v___y_6635_ = v_a_6480_; +v___y_6636_ = v_a_6481_; +v___y_6637_ = v_a_6482_; +goto v___jp_6627_; } } else { -lean_object* v_a_6662_; lean_object* v___x_6664_; uint8_t v_isShared_6665_; uint8_t v_isSharedCheck_6669_; -lean_dec_ref(v_code_6451_); -v_a_6662_ = lean_ctor_get(v___x_6631_, 0); -v_isSharedCheck_6669_ = !lean_is_exclusive(v___x_6631_); -if (v_isSharedCheck_6669_ == 0) +lean_object* v_a_6687_; lean_object* v___x_6689_; uint8_t v_isShared_6690_; uint8_t v_isSharedCheck_6694_; +lean_dec_ref(v_code_6476_); +v_a_6687_ = lean_ctor_get(v___x_6656_, 0); +v_isSharedCheck_6694_ = !lean_is_exclusive(v___x_6656_); +if (v_isSharedCheck_6694_ == 0) { -v___x_6664_ = v___x_6631_; -v_isShared_6665_ = v_isSharedCheck_6669_; -goto v_resetjp_6663_; +v___x_6689_ = v___x_6656_; +v_isShared_6690_ = v_isSharedCheck_6694_; +goto v_resetjp_6688_; } else { -lean_inc(v_a_6662_); -lean_dec(v___x_6631_); -v___x_6664_ = lean_box(0); -v_isShared_6665_ = v_isSharedCheck_6669_; -goto v_resetjp_6663_; +lean_inc(v_a_6687_); +lean_dec(v___x_6656_); +v___x_6689_ = lean_box(0); +v_isShared_6690_ = v_isSharedCheck_6694_; +goto v_resetjp_6688_; } -v_resetjp_6663_: +v_resetjp_6688_: { -lean_object* v___x_6667_; -if (v_isShared_6665_ == 0) +lean_object* v___x_6692_; +if (v_isShared_6690_ == 0) { -v___x_6667_ = v___x_6664_; -goto v_reusejp_6666_; +v___x_6692_ = v___x_6689_; +goto v_reusejp_6691_; } else { -lean_object* v_reuseFailAlloc_6668_; -v_reuseFailAlloc_6668_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6668_, 0, v_a_6662_); -v___x_6667_ = v_reuseFailAlloc_6668_; -goto v_reusejp_6666_; +lean_object* v_reuseFailAlloc_6693_; +v_reuseFailAlloc_6693_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6693_, 0, v_a_6687_); +v___x_6692_ = v_reuseFailAlloc_6693_; +goto v_reusejp_6691_; } -v_reusejp_6666_: +v_reusejp_6691_: { -return v___x_6667_; +return v___x_6692_; } } } -v___jp_6468_: +v___jp_6493_: { -lean_object* v___x_6479_; lean_object* v___x_6480_; -lean_inc(v___y_6471_); -v___x_6479_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_6479_, 0, v___y_6475_); -lean_ctor_set(v___x_6479_, 1, v___y_6473_); -lean_ctor_set(v___x_6479_, 2, v___y_6478_); -lean_ctor_set(v___x_6479_, 3, v___y_6471_); -lean_inc_ref(v_k_6467_); -v___x_6480_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6467_, v___x_6479_, v___y_6477_, v___y_6470_, v___y_6474_, v___y_6476_, v___y_6469_); -lean_dec_ref(v___x_6479_); -if (lean_obj_tag(v___x_6480_) == 0) +lean_object* v___x_6504_; lean_object* v___x_6505_; +lean_inc(v___y_6496_); +v___x_6504_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_6504_, 0, v___y_6494_); +lean_ctor_set(v___x_6504_, 1, v___y_6499_); +lean_ctor_set(v___x_6504_, 2, v___y_6503_); +lean_ctor_set(v___x_6504_, 3, v___y_6496_); +lean_inc_ref(v_k_6492_); +v___x_6505_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6492_, v___x_6504_, v___y_6501_, v___y_6500_, v___y_6498_, v___y_6497_, v___y_6502_); +lean_dec_ref(v___x_6504_); +if (lean_obj_tag(v___x_6505_) == 0) { -lean_object* v_a_6481_; size_t v___x_6482_; size_t v___x_6483_; uint8_t v___x_6484_; -v_a_6481_ = lean_ctor_get(v___x_6480_, 0); -lean_inc(v_a_6481_); -lean_dec_ref(v___x_6480_); -v___x_6482_ = lean_ptr_addr(v_k_6467_); -v___x_6483_ = lean_ptr_addr(v_a_6481_); -v___x_6484_ = lean_usize_dec_eq(v___x_6482_, v___x_6483_); -if (v___x_6484_ == 0) +lean_object* v_a_6506_; size_t v___x_6507_; size_t v___x_6508_; uint8_t v___x_6509_; +v_a_6506_ = lean_ctor_get(v___x_6505_, 0); +lean_inc(v_a_6506_); +lean_dec_ref(v___x_6505_); +v___x_6507_ = lean_ptr_addr(v_k_6492_); +v___x_6508_ = lean_ptr_addr(v_a_6506_); +v___x_6509_ = lean_usize_dec_eq(v___x_6507_, v___x_6508_); +if (v___x_6509_ == 0) { -v___y_6460_ = v___y_6472_; -v___y_6461_ = v_a_6481_; -v___y_6462_ = v___x_6484_; -goto v___jp_6459_; +v___y_6485_ = v___y_6495_; +v___y_6486_ = v_a_6506_; +v___y_6487_ = v___x_6509_; +goto v___jp_6484_; } else { -size_t v___x_6485_; size_t v___x_6486_; uint8_t v___x_6487_; -v___x_6485_ = lean_ptr_addr(v_decl_6466_); -v___x_6486_ = lean_ptr_addr(v___y_6472_); -v___x_6487_ = lean_usize_dec_eq(v___x_6485_, v___x_6486_); -v___y_6460_ = v___y_6472_; -v___y_6461_ = v_a_6481_; -v___y_6462_ = v___x_6487_; -goto v___jp_6459_; +size_t v___x_6510_; size_t v___x_6511_; uint8_t v___x_6512_; +v___x_6510_ = lean_ptr_addr(v_decl_6491_); +v___x_6511_ = lean_ptr_addr(v___y_6495_); +v___x_6512_ = lean_usize_dec_eq(v___x_6510_, v___x_6511_); +v___y_6485_ = v___y_6495_; +v___y_6486_ = v_a_6506_; +v___y_6487_ = v___x_6512_; +goto v___jp_6484_; } } else { -lean_dec_ref(v___y_6472_); -lean_dec_ref(v_code_6451_); -return v___x_6480_; +lean_dec_ref(v___y_6495_); +lean_dec_ref(v_code_6476_); +return v___x_6505_; } } -v___jp_6488_: +v___jp_6513_: { -if (v___y_6492_ == 0) +if (v___y_6521_ == 0) { -lean_dec(v___y_6499_); -lean_inc(v___y_6498_); -v___y_6469_ = v___y_6489_; -v___y_6470_ = v___y_6491_; -v___y_6471_ = v___y_6490_; -v___y_6472_ = v___y_6493_; -v___y_6473_ = v___y_6500_; -v___y_6474_ = v___y_6495_; -v___y_6475_ = v___y_6494_; -v___y_6476_ = v___y_6496_; -v___y_6477_ = v___y_6497_; -v___y_6478_ = v___y_6498_; -goto v___jp_6468_; +lean_dec(v___y_6523_); +lean_inc(v___y_6519_); +v___y_6494_ = v___y_6514_; +v___y_6495_ = v___y_6515_; +v___y_6496_ = v___y_6516_; +v___y_6497_ = v___y_6517_; +v___y_6498_ = v___y_6518_; +v___y_6499_ = v___y_6525_; +v___y_6500_ = v___y_6520_; +v___y_6501_ = v___y_6522_; +v___y_6502_ = v___y_6524_; +v___y_6503_ = v___y_6519_; +goto v___jp_6493_; } else { -lean_object* v___x_6501_; -lean_inc(v___y_6498_); -v___x_6501_ = l_Lean_FVarIdSet_insert(v___y_6498_, v___y_6499_); -v___y_6469_ = v___y_6489_; -v___y_6470_ = v___y_6491_; -v___y_6471_ = v___y_6490_; -v___y_6472_ = v___y_6493_; -v___y_6473_ = v___y_6500_; -v___y_6474_ = v___y_6495_; -v___y_6475_ = v___y_6494_; -v___y_6476_ = v___y_6496_; -v___y_6477_ = v___y_6497_; -v___y_6478_ = v___x_6501_; -goto v___jp_6468_; +lean_object* v___x_6526_; +lean_inc(v___y_6519_); +v___x_6526_ = l_Lean_FVarIdSet_insert(v___y_6519_, v___y_6523_); +v___y_6494_ = v___y_6514_; +v___y_6495_ = v___y_6515_; +v___y_6496_ = v___y_6516_; +v___y_6497_ = v___y_6517_; +v___y_6498_ = v___y_6518_; +v___y_6499_ = v___y_6525_; +v___y_6500_ = v___y_6520_; +v___y_6501_ = v___y_6522_; +v___y_6502_ = v___y_6524_; +v___y_6503_ = v___x_6526_; +goto v___jp_6493_; } } -v___jp_6502_: +v___jp_6527_: { -lean_object* v_scope_6513_; lean_object* v_ground_6514_; lean_object* v_underApplied_6515_; lean_object* v_declName_6516_; lean_object* v___x_6517_; -v_scope_6513_ = lean_ctor_get(v___y_6507_, 0); -v_ground_6514_ = lean_ctor_get(v___y_6507_, 1); -v_underApplied_6515_ = lean_ctor_get(v___y_6507_, 2); -v_declName_6516_ = lean_ctor_get(v___y_6507_, 3); -lean_inc(v___y_6505_); -lean_inc(v_scope_6513_); -v___x_6517_ = l_Lean_FVarIdSet_insert(v_scope_6513_, v___y_6505_); -if (v___y_6503_ == 0) +lean_object* v_scope_6538_; lean_object* v_ground_6539_; lean_object* v_underApplied_6540_; lean_object* v_declName_6541_; lean_object* v___x_6542_; +v_scope_6538_ = lean_ctor_get(v___y_6532_, 0); +v_ground_6539_ = lean_ctor_get(v___y_6532_, 1); +v_underApplied_6540_ = lean_ctor_get(v___y_6532_, 2); +v_declName_6541_ = lean_ctor_get(v___y_6532_, 3); +lean_inc(v___y_6530_); +lean_inc(v_scope_6538_); +v___x_6542_ = l_Lean_FVarIdSet_insert(v_scope_6538_, v___y_6530_); +if (v___y_6529_ == 0) { -lean_inc(v_ground_6514_); -v___y_6489_ = v___y_6512_; -v___y_6490_ = v_declName_6516_; -v___y_6491_ = v___y_6509_; -v___y_6492_ = v_isUnderApplied_6506_; -v___y_6493_ = v___y_6504_; -v___y_6494_ = v___x_6517_; -v___y_6495_ = v___y_6510_; -v___y_6496_ = v___y_6511_; -v___y_6497_ = v___y_6508_; -v___y_6498_ = v_underApplied_6515_; -v___y_6499_ = v___y_6505_; -v___y_6500_ = v_ground_6514_; -goto v___jp_6488_; +lean_inc(v_ground_6539_); +v___y_6514_ = v___x_6542_; +v___y_6515_ = v___y_6528_; +v___y_6516_ = v_declName_6541_; +v___y_6517_ = v___y_6536_; +v___y_6518_ = v___y_6535_; +v___y_6519_ = v_underApplied_6540_; +v___y_6520_ = v___y_6534_; +v___y_6521_ = v_isUnderApplied_6531_; +v___y_6522_ = v___y_6533_; +v___y_6523_ = v___y_6530_; +v___y_6524_ = v___y_6537_; +v___y_6525_ = v_ground_6539_; +goto v___jp_6513_; } else { -lean_object* v___x_6518_; -lean_inc(v___y_6505_); -lean_inc(v_ground_6514_); -v___x_6518_ = l_Lean_FVarIdSet_insert(v_ground_6514_, v___y_6505_); -v___y_6489_ = v___y_6512_; -v___y_6490_ = v_declName_6516_; -v___y_6491_ = v___y_6509_; -v___y_6492_ = v_isUnderApplied_6506_; -v___y_6493_ = v___y_6504_; -v___y_6494_ = v___x_6517_; -v___y_6495_ = v___y_6510_; -v___y_6496_ = v___y_6511_; -v___y_6497_ = v___y_6508_; -v___y_6498_ = v_underApplied_6515_; -v___y_6499_ = v___y_6505_; -v___y_6500_ = v___x_6518_; -goto v___jp_6488_; +lean_object* v___x_6543_; +lean_inc(v___y_6530_); +lean_inc(v_ground_6539_); +v___x_6543_ = l_Lean_FVarIdSet_insert(v_ground_6539_, v___y_6530_); +v___y_6514_ = v___x_6542_; +v___y_6515_ = v___y_6528_; +v___y_6516_ = v_declName_6541_; +v___y_6517_ = v___y_6536_; +v___y_6518_ = v___y_6535_; +v___y_6519_ = v_underApplied_6540_; +v___y_6520_ = v___y_6534_; +v___y_6521_ = v_isUnderApplied_6531_; +v___y_6522_ = v___y_6533_; +v___y_6523_ = v___y_6530_; +v___y_6524_ = v___y_6537_; +v___y_6525_ = v___x_6543_; +goto v___jp_6513_; } } -v___jp_6519_: +v___jp_6544_: { -switch(lean_obj_tag(v___y_6524_)) +switch(lean_obj_tag(v___y_6545_)) { case 3: { -lean_object* v_declName_6531_; lean_object* v_args_6532_; lean_object* v___x_6533_; -v_declName_6531_ = lean_ctor_get(v___y_6524_, 0); -lean_inc(v_declName_6531_); -v_args_6532_ = lean_ctor_get(v___y_6524_, 2); -lean_inc_ref(v_args_6532_); -lean_dec_ref(v___y_6524_); -v___x_6533_ = l_Lean_Compiler_LCNF_getPhase___redArg(v___y_6523_); -if (lean_obj_tag(v___x_6533_) == 0) +lean_object* v_declName_6556_; lean_object* v_args_6557_; lean_object* v___x_6558_; +v_declName_6556_ = lean_ctor_get(v___y_6545_, 0); +lean_inc(v_declName_6556_); +v_args_6557_ = lean_ctor_get(v___y_6545_, 2); +lean_inc_ref(v_args_6557_); +lean_dec_ref(v___y_6545_); +v___x_6558_ = l_Lean_Compiler_LCNF_getPhase___redArg(v___y_6549_); +if (lean_obj_tag(v___x_6558_) == 0) { -lean_object* v_a_6534_; uint8_t v___x_6535_; lean_object* v___x_6536_; -v_a_6534_ = lean_ctor_get(v___x_6533_, 0); -lean_inc(v_a_6534_); -lean_dec_ref(v___x_6533_); -v___x_6535_ = lean_unbox(v_a_6534_); -lean_dec(v_a_6534_); -v___x_6536_ = l_Lean_Compiler_LCNF_getDeclAt_x3f(v_declName_6531_, v___x_6535_, v___y_6527_, v___y_6520_); -if (lean_obj_tag(v___x_6536_) == 0) +lean_object* v_a_6559_; uint8_t v___x_6560_; lean_object* v___x_6561_; +v_a_6559_ = lean_ctor_get(v___x_6558_, 0); +lean_inc(v_a_6559_); +lean_dec_ref(v___x_6558_); +v___x_6560_ = lean_unbox(v_a_6559_); +lean_dec(v_a_6559_); +v___x_6561_ = l_Lean_Compiler_LCNF_getDeclAt_x3f(v_declName_6556_, v___x_6560_, v___y_6547_, v___y_6552_); +if (lean_obj_tag(v___x_6561_) == 0) { -lean_object* v_a_6537_; -v_a_6537_ = lean_ctor_get(v___x_6536_, 0); -lean_inc(v_a_6537_); -lean_dec_ref(v___x_6536_); -if (lean_obj_tag(v_a_6537_) == 1) +lean_object* v_a_6562_; +v_a_6562_ = lean_ctor_get(v___x_6561_, 0); +lean_inc(v_a_6562_); +lean_dec_ref(v___x_6561_); +if (lean_obj_tag(v_a_6562_) == 1) { -lean_object* v_val_6538_; lean_object* v_toSignature_6539_; lean_object* v_params_6540_; lean_object* v___x_6541_; lean_object* v___x_6542_; uint8_t v___x_6543_; -v_val_6538_ = lean_ctor_get(v_a_6537_, 0); -lean_inc(v_val_6538_); -lean_dec_ref(v_a_6537_); -v_toSignature_6539_ = lean_ctor_get(v_val_6538_, 0); -lean_inc_ref(v_toSignature_6539_); -lean_dec(v_val_6538_); -v_params_6540_ = lean_ctor_get(v_toSignature_6539_, 3); -lean_inc_ref(v_params_6540_); -lean_dec_ref(v_toSignature_6539_); -v___x_6541_ = lean_array_get_size(v_args_6532_); -lean_dec_ref(v_args_6532_); -v___x_6542_ = lean_array_get_size(v_params_6540_); -lean_dec_ref(v_params_6540_); -v___x_6543_ = lean_nat_dec_lt(v___x_6541_, v___x_6542_); -v___y_6503_ = v_a_6530_; -v___y_6504_ = v___y_6521_; -v___y_6505_ = v___y_6529_; -v_isUnderApplied_6506_ = v___x_6543_; -v___y_6507_ = v___y_6526_; -v___y_6508_ = v___y_6522_; -v___y_6509_ = v___y_6523_; -v___y_6510_ = v___y_6525_; -v___y_6511_ = v___y_6527_; -v___y_6512_ = v___y_6520_; -goto v___jp_6502_; +lean_object* v_val_6563_; lean_object* v_toSignature_6564_; lean_object* v_params_6565_; lean_object* v___x_6566_; lean_object* v___x_6567_; uint8_t v___x_6568_; +v_val_6563_ = lean_ctor_get(v_a_6562_, 0); +lean_inc(v_val_6563_); +lean_dec_ref(v_a_6562_); +v_toSignature_6564_ = lean_ctor_get(v_val_6563_, 0); +lean_inc_ref(v_toSignature_6564_); +lean_dec(v_val_6563_); +v_params_6565_ = lean_ctor_get(v_toSignature_6564_, 3); +lean_inc_ref(v_params_6565_); +lean_dec_ref(v_toSignature_6564_); +v___x_6566_ = lean_array_get_size(v_args_6557_); +lean_dec_ref(v_args_6557_); +v___x_6567_ = lean_array_get_size(v_params_6565_); +lean_dec_ref(v_params_6565_); +v___x_6568_ = lean_nat_dec_lt(v___x_6566_, v___x_6567_); +v___y_6528_ = v___y_6546_; +v___y_6529_ = v_a_6555_; +v___y_6530_ = v___y_6554_; +v_isUnderApplied_6531_ = v___x_6568_; +v___y_6532_ = v___y_6551_; +v___y_6533_ = v___y_6550_; +v___y_6534_ = v___y_6549_; +v___y_6535_ = v___y_6553_; +v___y_6536_ = v___y_6547_; +v___y_6537_ = v___y_6552_; +goto v___jp_6527_; } else { -uint8_t v___x_6544_; -lean_dec(v_a_6537_); -lean_dec_ref(v_args_6532_); -v___x_6544_ = 0; -v___y_6503_ = v_a_6530_; -v___y_6504_ = v___y_6521_; -v___y_6505_ = v___y_6529_; -v_isUnderApplied_6506_ = v___x_6544_; -v___y_6507_ = v___y_6526_; -v___y_6508_ = v___y_6522_; -v___y_6509_ = v___y_6523_; -v___y_6510_ = v___y_6525_; -v___y_6511_ = v___y_6527_; -v___y_6512_ = v___y_6520_; -goto v___jp_6502_; +uint8_t v___x_6569_; +lean_dec(v_a_6562_); +lean_dec_ref(v_args_6557_); +v___x_6569_ = 0; +v___y_6528_ = v___y_6546_; +v___y_6529_ = v_a_6555_; +v___y_6530_ = v___y_6554_; +v_isUnderApplied_6531_ = v___x_6569_; +v___y_6532_ = v___y_6551_; +v___y_6533_ = v___y_6550_; +v___y_6534_ = v___y_6549_; +v___y_6535_ = v___y_6553_; +v___y_6536_ = v___y_6547_; +v___y_6537_ = v___y_6552_; +goto v___jp_6527_; } } else { -lean_object* v_a_6545_; lean_object* v___x_6547_; uint8_t v_isShared_6548_; uint8_t v_isSharedCheck_6552_; -lean_dec_ref(v_args_6532_); -lean_dec(v___y_6529_); -lean_dec_ref(v___y_6521_); -lean_dec_ref(v_code_6451_); -v_a_6545_ = lean_ctor_get(v___x_6536_, 0); -v_isSharedCheck_6552_ = !lean_is_exclusive(v___x_6536_); -if (v_isSharedCheck_6552_ == 0) +lean_object* v_a_6570_; lean_object* v___x_6572_; uint8_t v_isShared_6573_; uint8_t v_isSharedCheck_6577_; +lean_dec_ref(v_args_6557_); +lean_dec(v___y_6554_); +lean_dec_ref(v___y_6546_); +lean_dec_ref(v_code_6476_); +v_a_6570_ = lean_ctor_get(v___x_6561_, 0); +v_isSharedCheck_6577_ = !lean_is_exclusive(v___x_6561_); +if (v_isSharedCheck_6577_ == 0) { -v___x_6547_ = v___x_6536_; -v_isShared_6548_ = v_isSharedCheck_6552_; -goto v_resetjp_6546_; +v___x_6572_ = v___x_6561_; +v_isShared_6573_ = v_isSharedCheck_6577_; +goto v_resetjp_6571_; } else { -lean_inc(v_a_6545_); -lean_dec(v___x_6536_); -v___x_6547_ = lean_box(0); -v_isShared_6548_ = v_isSharedCheck_6552_; -goto v_resetjp_6546_; +lean_inc(v_a_6570_); +lean_dec(v___x_6561_); +v___x_6572_ = lean_box(0); +v_isShared_6573_ = v_isSharedCheck_6577_; +goto v_resetjp_6571_; } -v_resetjp_6546_: +v_resetjp_6571_: { -lean_object* v___x_6550_; -if (v_isShared_6548_ == 0) +lean_object* v___x_6575_; +if (v_isShared_6573_ == 0) { -v___x_6550_ = v___x_6547_; -goto v_reusejp_6549_; +v___x_6575_ = v___x_6572_; +goto v_reusejp_6574_; } else { -lean_object* v_reuseFailAlloc_6551_; -v_reuseFailAlloc_6551_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6551_, 0, v_a_6545_); -v___x_6550_ = v_reuseFailAlloc_6551_; -goto v_reusejp_6549_; +lean_object* v_reuseFailAlloc_6576_; +v_reuseFailAlloc_6576_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6576_, 0, v_a_6570_); +v___x_6575_ = v_reuseFailAlloc_6576_; +goto v_reusejp_6574_; } -v_reusejp_6549_: +v_reusejp_6574_: { -return v___x_6550_; +return v___x_6575_; } } } } else { -lean_object* v_a_6553_; lean_object* v___x_6555_; uint8_t v_isShared_6556_; uint8_t v_isSharedCheck_6560_; -lean_dec_ref(v_args_6532_); -lean_dec(v_declName_6531_); -lean_dec(v___y_6529_); -lean_dec_ref(v___y_6521_); -lean_dec_ref(v_code_6451_); -v_a_6553_ = lean_ctor_get(v___x_6533_, 0); -v_isSharedCheck_6560_ = !lean_is_exclusive(v___x_6533_); -if (v_isSharedCheck_6560_ == 0) +lean_object* v_a_6578_; lean_object* v___x_6580_; uint8_t v_isShared_6581_; uint8_t v_isSharedCheck_6585_; +lean_dec_ref(v_args_6557_); +lean_dec(v_declName_6556_); +lean_dec(v___y_6554_); +lean_dec_ref(v___y_6546_); +lean_dec_ref(v_code_6476_); +v_a_6578_ = lean_ctor_get(v___x_6558_, 0); +v_isSharedCheck_6585_ = !lean_is_exclusive(v___x_6558_); +if (v_isSharedCheck_6585_ == 0) { -v___x_6555_ = v___x_6533_; -v_isShared_6556_ = v_isSharedCheck_6560_; -goto v_resetjp_6554_; +v___x_6580_ = v___x_6558_; +v_isShared_6581_ = v_isSharedCheck_6585_; +goto v_resetjp_6579_; } else { -lean_inc(v_a_6553_); -lean_dec(v___x_6533_); -v___x_6555_ = lean_box(0); -v_isShared_6556_ = v_isSharedCheck_6560_; -goto v_resetjp_6554_; +lean_inc(v_a_6578_); +lean_dec(v___x_6558_); +v___x_6580_ = lean_box(0); +v_isShared_6581_ = v_isSharedCheck_6585_; +goto v_resetjp_6579_; } -v_resetjp_6554_: +v_resetjp_6579_: { -lean_object* v___x_6558_; -if (v_isShared_6556_ == 0) +lean_object* v___x_6583_; +if (v_isShared_6581_ == 0) { -v___x_6558_ = v___x_6555_; -goto v_reusejp_6557_; +v___x_6583_ = v___x_6580_; +goto v_reusejp_6582_; } else { -lean_object* v_reuseFailAlloc_6559_; -v_reuseFailAlloc_6559_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6559_, 0, v_a_6553_); -v___x_6558_ = v_reuseFailAlloc_6559_; -goto v_reusejp_6557_; +lean_object* v_reuseFailAlloc_6584_; +v_reuseFailAlloc_6584_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6584_, 0, v_a_6578_); +v___x_6583_ = v_reuseFailAlloc_6584_; +goto v_reusejp_6582_; } -v_reusejp_6557_: +v_reusejp_6582_: { -return v___x_6558_; +return v___x_6583_; } } } } case 4: { -lean_object* v_fvarId_6561_; lean_object* v_args_6562_; lean_object* v___x_6563_; -v_fvarId_6561_ = lean_ctor_get(v___y_6524_, 0); -lean_inc(v_fvarId_6561_); -v_args_6562_ = lean_ctor_get(v___y_6524_, 1); -lean_inc_ref(v_args_6562_); -lean_dec_ref(v___y_6524_); -v___x_6563_ = l_Lean_Compiler_LCNF_findFunDecl_x3f___redArg(v___y_6528_, v_fvarId_6561_, v___y_6525_); -lean_dec(v_fvarId_6561_); -if (lean_obj_tag(v___x_6563_) == 0) +lean_object* v_fvarId_6586_; lean_object* v_args_6587_; lean_object* v___x_6588_; +v_fvarId_6586_ = lean_ctor_get(v___y_6545_, 0); +lean_inc(v_fvarId_6586_); +v_args_6587_ = lean_ctor_get(v___y_6545_, 1); +lean_inc_ref(v_args_6587_); +lean_dec_ref(v___y_6545_); +v___x_6588_ = l_Lean_Compiler_LCNF_findFunDecl_x3f___redArg(v___y_6548_, v_fvarId_6586_, v___y_6553_); +lean_dec(v_fvarId_6586_); +if (lean_obj_tag(v___x_6588_) == 0) { -lean_object* v_a_6564_; -v_a_6564_ = lean_ctor_get(v___x_6563_, 0); -lean_inc(v_a_6564_); -lean_dec_ref(v___x_6563_); -if (lean_obj_tag(v_a_6564_) == 0) +lean_object* v_a_6589_; +v_a_6589_ = lean_ctor_get(v___x_6588_, 0); +lean_inc(v_a_6589_); +lean_dec_ref(v___x_6588_); +if (lean_obj_tag(v_a_6589_) == 0) { -uint8_t v___x_6565_; -lean_dec_ref(v_args_6562_); -v___x_6565_ = 0; -v___y_6503_ = v_a_6530_; -v___y_6504_ = v___y_6521_; -v___y_6505_ = v___y_6529_; -v_isUnderApplied_6506_ = v___x_6565_; -v___y_6507_ = v___y_6526_; -v___y_6508_ = v___y_6522_; -v___y_6509_ = v___y_6523_; -v___y_6510_ = v___y_6525_; -v___y_6511_ = v___y_6527_; -v___y_6512_ = v___y_6520_; -goto v___jp_6502_; +uint8_t v___x_6590_; +lean_dec_ref(v_args_6587_); +v___x_6590_ = 0; +v___y_6528_ = v___y_6546_; +v___y_6529_ = v_a_6555_; +v___y_6530_ = v___y_6554_; +v_isUnderApplied_6531_ = v___x_6590_; +v___y_6532_ = v___y_6551_; +v___y_6533_ = v___y_6550_; +v___y_6534_ = v___y_6549_; +v___y_6535_ = v___y_6553_; +v___y_6536_ = v___y_6547_; +v___y_6537_ = v___y_6552_; +goto v___jp_6527_; } else { -lean_object* v_val_6566_; lean_object* v_params_6567_; lean_object* v___x_6568_; lean_object* v___x_6569_; uint8_t v___x_6570_; -v_val_6566_ = lean_ctor_get(v_a_6564_, 0); -lean_inc(v_val_6566_); -lean_dec_ref(v_a_6564_); -v_params_6567_ = lean_ctor_get(v_val_6566_, 2); -lean_inc_ref(v_params_6567_); -lean_dec(v_val_6566_); -v___x_6568_ = lean_array_get_size(v_args_6562_); -lean_dec_ref(v_args_6562_); -v___x_6569_ = lean_array_get_size(v_params_6567_); -lean_dec_ref(v_params_6567_); -v___x_6570_ = lean_nat_dec_lt(v___x_6568_, v___x_6569_); -v___y_6503_ = v_a_6530_; -v___y_6504_ = v___y_6521_; -v___y_6505_ = v___y_6529_; -v_isUnderApplied_6506_ = v___x_6570_; -v___y_6507_ = v___y_6526_; -v___y_6508_ = v___y_6522_; -v___y_6509_ = v___y_6523_; -v___y_6510_ = v___y_6525_; -v___y_6511_ = v___y_6527_; -v___y_6512_ = v___y_6520_; -goto v___jp_6502_; +lean_object* v_val_6591_; lean_object* v_params_6592_; lean_object* v___x_6593_; lean_object* v___x_6594_; uint8_t v___x_6595_; +v_val_6591_ = lean_ctor_get(v_a_6589_, 0); +lean_inc(v_val_6591_); +lean_dec_ref(v_a_6589_); +v_params_6592_ = lean_ctor_get(v_val_6591_, 2); +lean_inc_ref(v_params_6592_); +lean_dec(v_val_6591_); +v___x_6593_ = lean_array_get_size(v_args_6587_); +lean_dec_ref(v_args_6587_); +v___x_6594_ = lean_array_get_size(v_params_6592_); +lean_dec_ref(v_params_6592_); +v___x_6595_ = lean_nat_dec_lt(v___x_6593_, v___x_6594_); +v___y_6528_ = v___y_6546_; +v___y_6529_ = v_a_6555_; +v___y_6530_ = v___y_6554_; +v_isUnderApplied_6531_ = v___x_6595_; +v___y_6532_ = v___y_6551_; +v___y_6533_ = v___y_6550_; +v___y_6534_ = v___y_6549_; +v___y_6535_ = v___y_6553_; +v___y_6536_ = v___y_6547_; +v___y_6537_ = v___y_6552_; +goto v___jp_6527_; } } else { -lean_object* v_a_6571_; lean_object* v___x_6573_; uint8_t v_isShared_6574_; uint8_t v_isSharedCheck_6578_; -lean_dec_ref(v_args_6562_); -lean_dec(v___y_6529_); -lean_dec_ref(v___y_6521_); -lean_dec_ref(v_code_6451_); -v_a_6571_ = lean_ctor_get(v___x_6563_, 0); -v_isSharedCheck_6578_ = !lean_is_exclusive(v___x_6563_); -if (v_isSharedCheck_6578_ == 0) +lean_object* v_a_6596_; lean_object* v___x_6598_; uint8_t v_isShared_6599_; uint8_t v_isSharedCheck_6603_; +lean_dec_ref(v_args_6587_); +lean_dec(v___y_6554_); +lean_dec_ref(v___y_6546_); +lean_dec_ref(v_code_6476_); +v_a_6596_ = lean_ctor_get(v___x_6588_, 0); +v_isSharedCheck_6603_ = !lean_is_exclusive(v___x_6588_); +if (v_isSharedCheck_6603_ == 0) { -v___x_6573_ = v___x_6563_; -v_isShared_6574_ = v_isSharedCheck_6578_; -goto v_resetjp_6572_; +v___x_6598_ = v___x_6588_; +v_isShared_6599_ = v_isSharedCheck_6603_; +goto v_resetjp_6597_; } else { -lean_inc(v_a_6571_); -lean_dec(v___x_6563_); -v___x_6573_ = lean_box(0); -v_isShared_6574_ = v_isSharedCheck_6578_; -goto v_resetjp_6572_; +lean_inc(v_a_6596_); +lean_dec(v___x_6588_); +v___x_6598_ = lean_box(0); +v_isShared_6599_ = v_isSharedCheck_6603_; +goto v_resetjp_6597_; } -v_resetjp_6572_: +v_resetjp_6597_: { -lean_object* v___x_6576_; -if (v_isShared_6574_ == 0) +lean_object* v___x_6601_; +if (v_isShared_6599_ == 0) { -v___x_6576_ = v___x_6573_; -goto v_reusejp_6575_; +v___x_6601_ = v___x_6598_; +goto v_reusejp_6600_; } else { -lean_object* v_reuseFailAlloc_6577_; -v_reuseFailAlloc_6577_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6577_, 0, v_a_6571_); -v___x_6576_ = v_reuseFailAlloc_6577_; -goto v_reusejp_6575_; +lean_object* v_reuseFailAlloc_6602_; +v_reuseFailAlloc_6602_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6602_, 0, v_a_6596_); +v___x_6601_ = v_reuseFailAlloc_6602_; +goto v_reusejp_6600_; } -v_reusejp_6575_: +v_reusejp_6600_: { -return v___x_6576_; +return v___x_6601_; } } } } default: { -uint8_t v___x_6579_; -lean_dec(v___y_6524_); -v___x_6579_ = 0; -v___y_6503_ = v_a_6530_; -v___y_6504_ = v___y_6521_; -v___y_6505_ = v___y_6529_; -v_isUnderApplied_6506_ = v___x_6579_; -v___y_6507_ = v___y_6526_; -v___y_6508_ = v___y_6522_; -v___y_6509_ = v___y_6523_; -v___y_6510_ = v___y_6525_; -v___y_6511_ = v___y_6527_; -v___y_6512_ = v___y_6520_; -goto v___jp_6502_; +uint8_t v___x_6604_; +lean_dec(v___y_6545_); +v___x_6604_ = 0; +v___y_6528_ = v___y_6546_; +v___y_6529_ = v_a_6555_; +v___y_6530_ = v___y_6554_; +v_isUnderApplied_6531_ = v___x_6604_; +v___y_6532_ = v___y_6551_; +v___y_6533_ = v___y_6550_; +v___y_6534_ = v___y_6549_; +v___y_6535_ = v___y_6553_; +v___y_6536_ = v___y_6547_; +v___y_6537_ = v___y_6552_; +goto v___jp_6527_; } } } -v___jp_6580_: +v___jp_6605_: { -if (lean_obj_tag(v___y_6591_) == 0) -{ -lean_object* v_a_6592_; uint8_t v___x_6593_; -v_a_6592_ = lean_ctor_get(v___y_6591_, 0); -lean_inc(v_a_6592_); -lean_dec_ref(v___y_6591_); -v___x_6593_ = lean_unbox(v_a_6592_); -lean_dec(v_a_6592_); -v___y_6520_ = v___y_6581_; -v___y_6521_ = v___y_6582_; -v___y_6522_ = v___y_6584_; -v___y_6523_ = v___y_6583_; -v___y_6524_ = v___y_6585_; -v___y_6525_ = v___y_6587_; -v___y_6526_ = v___y_6586_; -v___y_6527_ = v___y_6588_; -v___y_6528_ = v___y_6590_; -v___y_6529_ = v___y_6589_; -v_a_6530_ = v___x_6593_; -goto v___jp_6519_; -} -else -{ -lean_object* v_a_6594_; lean_object* v___x_6596_; uint8_t v_isShared_6597_; uint8_t v_isSharedCheck_6601_; -lean_dec(v___y_6589_); -lean_dec(v___y_6585_); -lean_dec_ref(v___y_6582_); -lean_dec_ref(v_code_6451_); -v_a_6594_ = lean_ctor_get(v___y_6591_, 0); -v_isSharedCheck_6601_ = !lean_is_exclusive(v___y_6591_); -if (v_isSharedCheck_6601_ == 0) -{ -v___x_6596_ = v___y_6591_; -v_isShared_6597_ = v_isSharedCheck_6601_; -goto v_resetjp_6595_; -} -else -{ -lean_inc(v_a_6594_); -lean_dec(v___y_6591_); -v___x_6596_ = lean_box(0); -v_isShared_6597_ = v_isSharedCheck_6601_; -goto v_resetjp_6595_; -} -v_resetjp_6595_: -{ -lean_object* v___x_6599_; -if (v_isShared_6597_ == 0) -{ -v___x_6599_ = v___x_6596_; -goto v_reusejp_6598_; -} -else -{ -lean_object* v_reuseFailAlloc_6600_; -v_reuseFailAlloc_6600_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6600_, 0, v_a_6594_); -v___x_6599_ = v_reuseFailAlloc_6600_; -goto v_reusejp_6598_; -} -v_reusejp_6598_: -{ -return v___x_6599_; -} -} -} -} -v___jp_6602_: -{ -lean_object* v___x_6613_; -v___x_6613_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_6605_, v___y_6612_); -if (lean_obj_tag(v___x_6613_) == 0) -{ -lean_object* v_a_6614_; uint8_t v___x_6615_; lean_object* v___x_6616_; -v_a_6614_ = lean_ctor_get(v___x_6613_, 0); -lean_inc(v_a_6614_); -lean_dec_ref(v___x_6613_); -v___x_6615_ = 0; -lean_inc(v_value_6606_); -v___x_6616_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_value_6606_, v___y_6607_); -if (lean_obj_tag(v___x_6616_) == 0) +if (lean_obj_tag(v___y_6616_) == 0) { lean_object* v_a_6617_; uint8_t v___x_6618_; -v_a_6617_ = lean_ctor_get(v___x_6616_, 0); +v_a_6617_ = lean_ctor_get(v___y_6616_, 0); lean_inc(v_a_6617_); +lean_dec_ref(v___y_6616_); v___x_6618_ = lean_unbox(v_a_6617_); lean_dec(v_a_6617_); -if (v___x_6618_ == 0) -{ -if (lean_obj_tag(v_a_6614_) == 0) -{ -v___y_6581_ = v___y_6612_; -v___y_6582_ = v_decl_6603_; -v___y_6583_ = v___y_6609_; -v___y_6584_ = v___y_6608_; -v___y_6585_ = v_value_6606_; -v___y_6586_ = v___y_6607_; -v___y_6587_ = v___y_6610_; -v___y_6588_ = v___y_6611_; -v___y_6589_ = v_fvarId_6604_; -v___y_6590_ = v___x_6615_; -v___y_6591_ = v___x_6616_; -goto v___jp_6580_; +v___y_6545_ = v___y_6607_; +v___y_6546_ = v___y_6606_; +v___y_6547_ = v___y_6608_; +v___y_6548_ = v___y_6610_; +v___y_6549_ = v___y_6609_; +v___y_6550_ = v___y_6612_; +v___y_6551_ = v___y_6611_; +v___y_6552_ = v___y_6613_; +v___y_6553_ = v___y_6615_; +v___y_6554_ = v___y_6614_; +v_a_6555_ = v___x_6618_; +goto v___jp_6544_; } else { -uint8_t v___x_6619_; -lean_dec_ref(v_a_6614_); -lean_dec_ref(v___x_6616_); -v___x_6619_ = 1; -v___y_6520_ = v___y_6612_; -v___y_6521_ = v_decl_6603_; -v___y_6522_ = v___y_6608_; -v___y_6523_ = v___y_6609_; -v___y_6524_ = v_value_6606_; -v___y_6525_ = v___y_6610_; -v___y_6526_ = v___y_6607_; -v___y_6527_ = v___y_6611_; -v___y_6528_ = v___x_6615_; -v___y_6529_ = v_fvarId_6604_; -v_a_6530_ = v___x_6619_; -goto v___jp_6519_; +lean_object* v_a_6619_; lean_object* v___x_6621_; uint8_t v_isShared_6622_; uint8_t v_isSharedCheck_6626_; +lean_dec(v___y_6614_); +lean_dec(v___y_6607_); +lean_dec_ref(v___y_6606_); +lean_dec_ref(v_code_6476_); +v_a_6619_ = lean_ctor_get(v___y_6616_, 0); +v_isSharedCheck_6626_ = !lean_is_exclusive(v___y_6616_); +if (v_isSharedCheck_6626_ == 0) +{ +v___x_6621_ = v___y_6616_; +v_isShared_6622_ = v_isSharedCheck_6626_; +goto v_resetjp_6620_; +} +else +{ +lean_inc(v_a_6619_); +lean_dec(v___y_6616_); +v___x_6621_ = lean_box(0); +v_isShared_6622_ = v_isSharedCheck_6626_; +goto v_resetjp_6620_; +} +v_resetjp_6620_: +{ +lean_object* v___x_6624_; +if (v_isShared_6622_ == 0) +{ +v___x_6624_ = v___x_6621_; +goto v_reusejp_6623_; +} +else +{ +lean_object* v_reuseFailAlloc_6625_; +v_reuseFailAlloc_6625_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6625_, 0, v_a_6619_); +v___x_6624_ = v_reuseFailAlloc_6625_; +goto v_reusejp_6623_; +} +v_reusejp_6623_: +{ +return v___x_6624_; +} +} +} +} +v___jp_6627_: +{ +lean_object* v___x_6638_; +v___x_6638_ = l_Lean_Compiler_LCNF_isArrowClass_x3f___redArg(v_type_6630_, v___y_6637_); +if (lean_obj_tag(v___x_6638_) == 0) +{ +lean_object* v_a_6639_; uint8_t v___x_6640_; lean_object* v___x_6641_; +v_a_6639_ = lean_ctor_get(v___x_6638_, 0); +lean_inc(v_a_6639_); +lean_dec_ref(v___x_6638_); +v___x_6640_ = 0; +lean_inc(v_value_6631_); +v___x_6641_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_value_6631_, v___y_6632_); +if (lean_obj_tag(v___x_6641_) == 0) +{ +lean_object* v_a_6642_; uint8_t v___x_6643_; +v_a_6642_ = lean_ctor_get(v___x_6641_, 0); +lean_inc(v_a_6642_); +v___x_6643_ = lean_unbox(v_a_6642_); +lean_dec(v_a_6642_); +if (v___x_6643_ == 0) +{ +if (lean_obj_tag(v_a_6639_) == 0) +{ +v___y_6606_ = v_decl_6628_; +v___y_6607_ = v_value_6631_; +v___y_6608_ = v___y_6636_; +v___y_6609_ = v___y_6634_; +v___y_6610_ = v___x_6640_; +v___y_6611_ = v___y_6632_; +v___y_6612_ = v___y_6633_; +v___y_6613_ = v___y_6637_; +v___y_6614_ = v_fvarId_6629_; +v___y_6615_ = v___y_6635_; +v___y_6616_ = v___x_6641_; +goto v___jp_6605_; +} +else +{ +uint8_t v___x_6644_; +lean_dec_ref(v_a_6639_); +lean_dec_ref(v___x_6641_); +v___x_6644_ = 1; +v___y_6545_ = v_value_6631_; +v___y_6546_ = v_decl_6628_; +v___y_6547_ = v___y_6636_; +v___y_6548_ = v___x_6640_; +v___y_6549_ = v___y_6634_; +v___y_6550_ = v___y_6633_; +v___y_6551_ = v___y_6632_; +v___y_6552_ = v___y_6637_; +v___y_6553_ = v___y_6635_; +v___y_6554_ = v_fvarId_6629_; +v_a_6555_ = v___x_6644_; +goto v___jp_6544_; } } else { -lean_dec(v_a_6614_); -v___y_6581_ = v___y_6612_; -v___y_6582_ = v_decl_6603_; -v___y_6583_ = v___y_6609_; -v___y_6584_ = v___y_6608_; -v___y_6585_ = v_value_6606_; -v___y_6586_ = v___y_6607_; -v___y_6587_ = v___y_6610_; -v___y_6588_ = v___y_6611_; -v___y_6589_ = v_fvarId_6604_; -v___y_6590_ = v___x_6615_; -v___y_6591_ = v___x_6616_; -goto v___jp_6580_; +lean_dec(v_a_6639_); +v___y_6606_ = v_decl_6628_; +v___y_6607_ = v_value_6631_; +v___y_6608_ = v___y_6636_; +v___y_6609_ = v___y_6634_; +v___y_6610_ = v___x_6640_; +v___y_6611_ = v___y_6632_; +v___y_6612_ = v___y_6633_; +v___y_6613_ = v___y_6637_; +v___y_6614_ = v_fvarId_6629_; +v___y_6615_ = v___y_6635_; +v___y_6616_ = v___x_6641_; +goto v___jp_6605_; } } else { -lean_dec(v_a_6614_); -v___y_6581_ = v___y_6612_; -v___y_6582_ = v_decl_6603_; -v___y_6583_ = v___y_6609_; -v___y_6584_ = v___y_6608_; -v___y_6585_ = v_value_6606_; -v___y_6586_ = v___y_6607_; -v___y_6587_ = v___y_6610_; -v___y_6588_ = v___y_6611_; -v___y_6589_ = v_fvarId_6604_; -v___y_6590_ = v___x_6615_; -v___y_6591_ = v___x_6616_; -goto v___jp_6580_; +lean_dec(v_a_6639_); +v___y_6606_ = v_decl_6628_; +v___y_6607_ = v_value_6631_; +v___y_6608_ = v___y_6636_; +v___y_6609_ = v___y_6634_; +v___y_6610_ = v___x_6640_; +v___y_6611_ = v___y_6632_; +v___y_6612_ = v___y_6633_; +v___y_6613_ = v___y_6637_; +v___y_6614_ = v_fvarId_6629_; +v___y_6615_ = v___y_6635_; +v___y_6616_ = v___x_6641_; +goto v___jp_6605_; } } else { -lean_object* v_a_6620_; lean_object* v___x_6622_; uint8_t v_isShared_6623_; uint8_t v_isSharedCheck_6627_; -lean_dec(v_value_6606_); -lean_dec(v_fvarId_6604_); -lean_dec_ref(v_decl_6603_); -lean_dec_ref(v_code_6451_); -v_a_6620_ = lean_ctor_get(v___x_6613_, 0); -v_isSharedCheck_6627_ = !lean_is_exclusive(v___x_6613_); -if (v_isSharedCheck_6627_ == 0) +lean_object* v_a_6645_; lean_object* v___x_6647_; uint8_t v_isShared_6648_; uint8_t v_isSharedCheck_6652_; +lean_dec(v_value_6631_); +lean_dec(v_fvarId_6629_); +lean_dec_ref(v_decl_6628_); +lean_dec_ref(v_code_6476_); +v_a_6645_ = lean_ctor_get(v___x_6638_, 0); +v_isSharedCheck_6652_ = !lean_is_exclusive(v___x_6638_); +if (v_isSharedCheck_6652_ == 0) { -v___x_6622_ = v___x_6613_; -v_isShared_6623_ = v_isSharedCheck_6627_; -goto v_resetjp_6621_; +v___x_6647_ = v___x_6638_; +v_isShared_6648_ = v_isSharedCheck_6652_; +goto v_resetjp_6646_; } else { -lean_inc(v_a_6620_); -lean_dec(v___x_6613_); -v___x_6622_ = lean_box(0); -v_isShared_6623_ = v_isSharedCheck_6627_; -goto v_resetjp_6621_; +lean_inc(v_a_6645_); +lean_dec(v___x_6638_); +v___x_6647_ = lean_box(0); +v_isShared_6648_ = v_isSharedCheck_6652_; +goto v_resetjp_6646_; } -v_resetjp_6621_: +v_resetjp_6646_: { -lean_object* v___x_6625_; -if (v_isShared_6623_ == 0) +lean_object* v___x_6650_; +if (v_isShared_6648_ == 0) { -v___x_6625_ = v___x_6622_; -goto v_reusejp_6624_; +v___x_6650_ = v___x_6647_; +goto v_reusejp_6649_; } else { -lean_object* v_reuseFailAlloc_6626_; -v_reuseFailAlloc_6626_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6626_, 0, v_a_6620_); -v___x_6625_ = v_reuseFailAlloc_6626_; -goto v_reusejp_6624_; +lean_object* v_reuseFailAlloc_6651_; +v_reuseFailAlloc_6651_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6651_, 0, v_a_6645_); +v___x_6650_ = v_reuseFailAlloc_6651_; +goto v_reusejp_6649_; } -v_reusejp_6624_: +v_reusejp_6649_: { -return v___x_6625_; +return v___x_6650_; } } } @@ -20195,341 +20324,223 @@ return v___x_6625_; } case 1: { -lean_object* v_decl_6670_; lean_object* v_k_6671_; lean_object* v___x_6672_; -v_decl_6670_ = lean_ctor_get(v_code_6451_, 0); -v_k_6671_ = lean_ctor_get(v_code_6451_, 1); -lean_inc_ref(v_decl_6670_); -v___x_6672_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_decl_6670_, v_a_6452_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -if (lean_obj_tag(v___x_6672_) == 0) +lean_object* v_decl_6695_; lean_object* v_k_6696_; lean_object* v___x_6697_; +v_decl_6695_ = lean_ctor_get(v_code_6476_, 0); +v_k_6696_ = lean_ctor_get(v_code_6476_, 1); +lean_inc_ref(v_decl_6695_); +v___x_6697_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_decl_6695_, v_a_6477_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +if (lean_obj_tag(v___x_6697_) == 0) { -lean_object* v_a_6673_; lean_object* v___x_6675_; uint8_t v_isShared_6676_; uint8_t v_isSharedCheck_6716_; -v_a_6673_ = lean_ctor_get(v___x_6672_, 0); -v_isSharedCheck_6716_ = !lean_is_exclusive(v___x_6672_); -if (v_isSharedCheck_6716_ == 0) +lean_object* v_a_6698_; lean_object* v___x_6700_; uint8_t v_isShared_6701_; uint8_t v_isSharedCheck_6741_; +v_a_6698_ = lean_ctor_get(v___x_6697_, 0); +v_isSharedCheck_6741_ = !lean_is_exclusive(v___x_6697_); +if (v_isSharedCheck_6741_ == 0) { -v___x_6675_ = v___x_6672_; -v_isShared_6676_ = v_isSharedCheck_6716_; -goto v_resetjp_6674_; +v___x_6700_ = v___x_6697_; +v_isShared_6701_ = v_isSharedCheck_6741_; +goto v_resetjp_6699_; } else { -lean_inc(v_a_6673_); -lean_dec(v___x_6672_); -v___x_6675_ = lean_box(0); -v_isShared_6676_ = v_isSharedCheck_6716_; -goto v_resetjp_6674_; +lean_inc(v_a_6698_); +lean_dec(v___x_6697_); +v___x_6700_ = lean_box(0); +v_isShared_6701_ = v_isSharedCheck_6741_; +goto v_resetjp_6699_; } -v_resetjp_6674_: +v_resetjp_6699_: { -lean_object* v___y_6678_; uint8_t v___y_6679_; lean_object* v_fvarId_6695_; lean_object* v_value_6696_; lean_object* v_scope_6697_; lean_object* v_ground_6698_; lean_object* v_underApplied_6699_; lean_object* v_declName_6700_; lean_object* v___f_6701_; uint8_t v___x_6702_; lean_object* v___x_6703_; lean_object* v___y_6705_; -v_fvarId_6695_ = lean_ctor_get(v_a_6673_, 0); -v_value_6696_ = lean_ctor_get(v_a_6673_, 4); -v_scope_6697_ = lean_ctor_get(v_a_6452_, 0); -v_ground_6698_ = lean_ctor_get(v_a_6452_, 1); -v_underApplied_6699_ = lean_ctor_get(v_a_6452_, 2); -v_declName_6700_ = lean_ctor_get(v_a_6452_, 3); -lean_inc(v_ground_6698_); -lean_inc(v_scope_6697_); -v___f_6701_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0___boxed), 3, 2); -lean_closure_set(v___f_6701_, 0, v_scope_6697_); -lean_closure_set(v___f_6701_, 1, v_ground_6698_); -lean_inc_ref(v_value_6696_); -v___x_6702_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(v___f_6701_, v_value_6696_); -lean_inc(v_fvarId_6695_); -lean_inc(v_scope_6697_); -v___x_6703_ = l_Lean_FVarIdSet_insert(v_scope_6697_, v_fvarId_6695_); -if (v___x_6702_ == 0) +lean_object* v___y_6703_; uint8_t v___y_6704_; lean_object* v_fvarId_6720_; lean_object* v_value_6721_; lean_object* v_scope_6722_; lean_object* v_ground_6723_; lean_object* v_underApplied_6724_; lean_object* v_declName_6725_; lean_object* v___f_6726_; uint8_t v___x_6727_; lean_object* v___x_6728_; lean_object* v___y_6730_; +v_fvarId_6720_ = lean_ctor_get(v_a_6698_, 0); +v_value_6721_ = lean_ctor_get(v_a_6698_, 4); +v_scope_6722_ = lean_ctor_get(v_a_6477_, 0); +v_ground_6723_ = lean_ctor_get(v_a_6477_, 1); +v_underApplied_6724_ = lean_ctor_get(v_a_6477_, 2); +v_declName_6725_ = lean_ctor_get(v_a_6477_, 3); +lean_inc(v_ground_6723_); +lean_inc(v_scope_6722_); +v___f_6726_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___lam__0___boxed), 3, 2); +lean_closure_set(v___f_6726_, 0, v_scope_6722_); +lean_closure_set(v___f_6726_, 1, v_ground_6723_); +lean_inc_ref(v_value_6721_); +v___x_6727_ = l_Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3(v___f_6726_, v_value_6721_); +lean_inc(v_fvarId_6720_); +lean_inc(v_scope_6722_); +v___x_6728_ = l_Lean_FVarIdSet_insert(v_scope_6722_, v_fvarId_6720_); +if (v___x_6727_ == 0) { -lean_inc(v_ground_6698_); -v___y_6705_ = v_ground_6698_; -goto v___jp_6704_; +lean_inc(v_ground_6723_); +v___y_6730_ = v_ground_6723_; +goto v___jp_6729_; } else { -lean_object* v___x_6715_; -lean_inc(v_fvarId_6695_); -lean_inc(v_ground_6698_); -v___x_6715_ = l_Lean_FVarIdSet_insert(v_ground_6698_, v_fvarId_6695_); -v___y_6705_ = v___x_6715_; -goto v___jp_6704_; +lean_object* v___x_6740_; +lean_inc(v_fvarId_6720_); +lean_inc(v_ground_6723_); +v___x_6740_ = l_Lean_FVarIdSet_insert(v_ground_6723_, v_fvarId_6720_); +v___y_6730_ = v___x_6740_; +goto v___jp_6729_; } -v___jp_6677_: +v___jp_6702_: { -if (v___y_6679_ == 0) +if (v___y_6704_ == 0) { -lean_object* v___x_6681_; uint8_t v_isShared_6682_; uint8_t v_isSharedCheck_6689_; -v_isSharedCheck_6689_ = !lean_is_exclusive(v_code_6451_); -if (v_isSharedCheck_6689_ == 0) +lean_object* v___x_6706_; uint8_t v_isShared_6707_; uint8_t v_isSharedCheck_6714_; +v_isSharedCheck_6714_ = !lean_is_exclusive(v_code_6476_); +if (v_isSharedCheck_6714_ == 0) { -lean_object* v_unused_6690_; lean_object* v_unused_6691_; -v_unused_6690_ = lean_ctor_get(v_code_6451_, 1); -lean_dec(v_unused_6690_); -v_unused_6691_ = lean_ctor_get(v_code_6451_, 0); -lean_dec(v_unused_6691_); -v___x_6681_ = v_code_6451_; -v_isShared_6682_ = v_isSharedCheck_6689_; -goto v_resetjp_6680_; +lean_object* v_unused_6715_; lean_object* v_unused_6716_; +v_unused_6715_ = lean_ctor_get(v_code_6476_, 1); +lean_dec(v_unused_6715_); +v_unused_6716_ = lean_ctor_get(v_code_6476_, 0); +lean_dec(v_unused_6716_); +v___x_6706_ = v_code_6476_; +v_isShared_6707_ = v_isSharedCheck_6714_; +goto v_resetjp_6705_; } else { -lean_dec(v_code_6451_); -v___x_6681_ = lean_box(0); -v_isShared_6682_ = v_isSharedCheck_6689_; -goto v_resetjp_6680_; +lean_dec(v_code_6476_); +v___x_6706_ = lean_box(0); +v_isShared_6707_ = v_isSharedCheck_6714_; +goto v_resetjp_6705_; } -v_resetjp_6680_: +v_resetjp_6705_: { -lean_object* v___x_6684_; -if (v_isShared_6682_ == 0) +lean_object* v___x_6709_; +if (v_isShared_6707_ == 0) { -lean_ctor_set(v___x_6681_, 1, v___y_6678_); -lean_ctor_set(v___x_6681_, 0, v_a_6673_); -v___x_6684_ = v___x_6681_; -goto v_reusejp_6683_; +lean_ctor_set(v___x_6706_, 1, v___y_6703_); +lean_ctor_set(v___x_6706_, 0, v_a_6698_); +v___x_6709_ = v___x_6706_; +goto v_reusejp_6708_; } else { -lean_object* v_reuseFailAlloc_6688_; -v_reuseFailAlloc_6688_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_6688_, 0, v_a_6673_); -lean_ctor_set(v_reuseFailAlloc_6688_, 1, v___y_6678_); -v___x_6684_ = v_reuseFailAlloc_6688_; -goto v_reusejp_6683_; +lean_object* v_reuseFailAlloc_6713_; +v_reuseFailAlloc_6713_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_6713_, 0, v_a_6698_); +lean_ctor_set(v_reuseFailAlloc_6713_, 1, v___y_6703_); +v___x_6709_ = v_reuseFailAlloc_6713_; +goto v_reusejp_6708_; } -v_reusejp_6683_: +v_reusejp_6708_: { -lean_object* v___x_6686_; -if (v_isShared_6676_ == 0) +lean_object* v___x_6711_; +if (v_isShared_6701_ == 0) { -lean_ctor_set(v___x_6675_, 0, v___x_6684_); -v___x_6686_ = v___x_6675_; -goto v_reusejp_6685_; +lean_ctor_set(v___x_6700_, 0, v___x_6709_); +v___x_6711_ = v___x_6700_; +goto v_reusejp_6710_; } else { -lean_object* v_reuseFailAlloc_6687_; -v_reuseFailAlloc_6687_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6687_, 0, v___x_6684_); -v___x_6686_ = v_reuseFailAlloc_6687_; -goto v_reusejp_6685_; +lean_object* v_reuseFailAlloc_6712_; +v_reuseFailAlloc_6712_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6712_, 0, v___x_6709_); +v___x_6711_ = v_reuseFailAlloc_6712_; +goto v_reusejp_6710_; } -v_reusejp_6685_: +v_reusejp_6710_: { -return v___x_6686_; +return v___x_6711_; } } } } else { -lean_object* v___x_6693_; -lean_dec_ref(v___y_6678_); -lean_dec(v_a_6673_); -if (v_isShared_6676_ == 0) +lean_object* v___x_6718_; +lean_dec_ref(v___y_6703_); +lean_dec(v_a_6698_); +if (v_isShared_6701_ == 0) { -lean_ctor_set(v___x_6675_, 0, v_code_6451_); -v___x_6693_ = v___x_6675_; -goto v_reusejp_6692_; +lean_ctor_set(v___x_6700_, 0, v_code_6476_); +v___x_6718_ = v___x_6700_; +goto v_reusejp_6717_; } else { -lean_object* v_reuseFailAlloc_6694_; -v_reuseFailAlloc_6694_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6694_, 0, v_code_6451_); -v___x_6693_ = v_reuseFailAlloc_6694_; -goto v_reusejp_6692_; +lean_object* v_reuseFailAlloc_6719_; +v_reuseFailAlloc_6719_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6719_, 0, v_code_6476_); +v___x_6718_ = v_reuseFailAlloc_6719_; +goto v_reusejp_6717_; } -v_reusejp_6692_: +v_reusejp_6717_: { -return v___x_6693_; +return v___x_6718_; } } } -v___jp_6704_: +v___jp_6729_: { -lean_object* v___x_6706_; lean_object* v___x_6707_; -lean_inc(v_declName_6700_); -lean_inc(v_underApplied_6699_); -v___x_6706_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_6706_, 0, v___x_6703_); -lean_ctor_set(v___x_6706_, 1, v___y_6705_); -lean_ctor_set(v___x_6706_, 2, v_underApplied_6699_); -lean_ctor_set(v___x_6706_, 3, v_declName_6700_); -lean_inc_ref(v_k_6671_); -v___x_6707_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6671_, v___x_6706_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -lean_dec_ref(v___x_6706_); -if (lean_obj_tag(v___x_6707_) == 0) +lean_object* v___x_6731_; lean_object* v___x_6732_; +lean_inc(v_declName_6725_); +lean_inc(v_underApplied_6724_); +v___x_6731_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_6731_, 0, v___x_6728_); +lean_ctor_set(v___x_6731_, 1, v___y_6730_); +lean_ctor_set(v___x_6731_, 2, v_underApplied_6724_); +lean_ctor_set(v___x_6731_, 3, v_declName_6725_); +lean_inc_ref(v_k_6696_); +v___x_6732_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6696_, v___x_6731_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +lean_dec_ref(v___x_6731_); +if (lean_obj_tag(v___x_6732_) == 0) { -lean_object* v_a_6708_; size_t v___x_6709_; size_t v___x_6710_; uint8_t v___x_6711_; -v_a_6708_ = lean_ctor_get(v___x_6707_, 0); -lean_inc(v_a_6708_); -lean_dec_ref(v___x_6707_); -v___x_6709_ = lean_ptr_addr(v_k_6671_); -v___x_6710_ = lean_ptr_addr(v_a_6708_); -v___x_6711_ = lean_usize_dec_eq(v___x_6709_, v___x_6710_); -if (v___x_6711_ == 0) +lean_object* v_a_6733_; size_t v___x_6734_; size_t v___x_6735_; uint8_t v___x_6736_; +v_a_6733_ = lean_ctor_get(v___x_6732_, 0); +lean_inc(v_a_6733_); +lean_dec_ref(v___x_6732_); +v___x_6734_ = lean_ptr_addr(v_k_6696_); +v___x_6735_ = lean_ptr_addr(v_a_6733_); +v___x_6736_ = lean_usize_dec_eq(v___x_6734_, v___x_6735_); +if (v___x_6736_ == 0) { -v___y_6678_ = v_a_6708_; -v___y_6679_ = v___x_6711_; -goto v___jp_6677_; +v___y_6703_ = v_a_6733_; +v___y_6704_ = v___x_6736_; +goto v___jp_6702_; } else { -size_t v___x_6712_; size_t v___x_6713_; uint8_t v___x_6714_; -v___x_6712_ = lean_ptr_addr(v_decl_6670_); -v___x_6713_ = lean_ptr_addr(v_a_6673_); -v___x_6714_ = lean_usize_dec_eq(v___x_6712_, v___x_6713_); -v___y_6678_ = v_a_6708_; -v___y_6679_ = v___x_6714_; -goto v___jp_6677_; +size_t v___x_6737_; size_t v___x_6738_; uint8_t v___x_6739_; +v___x_6737_ = lean_ptr_addr(v_decl_6695_); +v___x_6738_ = lean_ptr_addr(v_a_6698_); +v___x_6739_ = lean_usize_dec_eq(v___x_6737_, v___x_6738_); +v___y_6703_ = v_a_6733_; +v___y_6704_ = v___x_6739_; +goto v___jp_6702_; } } else { -lean_del_object(v___x_6675_); -lean_dec(v_a_6673_); -lean_dec_ref(v_code_6451_); -return v___x_6707_; +lean_del_object(v___x_6700_); +lean_dec(v_a_6698_); +lean_dec_ref(v_code_6476_); +return v___x_6732_; } } } } else { -lean_object* v_a_6717_; lean_object* v___x_6719_; uint8_t v_isShared_6720_; uint8_t v_isSharedCheck_6724_; -lean_dec_ref(v_code_6451_); -v_a_6717_ = lean_ctor_get(v___x_6672_, 0); -v_isSharedCheck_6724_ = !lean_is_exclusive(v___x_6672_); -if (v_isSharedCheck_6724_ == 0) +lean_object* v_a_6742_; lean_object* v___x_6744_; uint8_t v_isShared_6745_; uint8_t v_isSharedCheck_6749_; +lean_dec_ref(v_code_6476_); +v_a_6742_ = lean_ctor_get(v___x_6697_, 0); +v_isSharedCheck_6749_ = !lean_is_exclusive(v___x_6697_); +if (v_isSharedCheck_6749_ == 0) { -v___x_6719_ = v___x_6672_; -v_isShared_6720_ = v_isSharedCheck_6724_; -goto v_resetjp_6718_; -} -else -{ -lean_inc(v_a_6717_); -lean_dec(v___x_6672_); -v___x_6719_ = lean_box(0); -v_isShared_6720_ = v_isSharedCheck_6724_; -goto v_resetjp_6718_; -} -v_resetjp_6718_: -{ -lean_object* v___x_6722_; -if (v_isShared_6720_ == 0) -{ -v___x_6722_ = v___x_6719_; -goto v_reusejp_6721_; -} -else -{ -lean_object* v_reuseFailAlloc_6723_; -v_reuseFailAlloc_6723_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6723_, 0, v_a_6717_); -v___x_6722_ = v_reuseFailAlloc_6723_; -goto v_reusejp_6721_; -} -v_reusejp_6721_: -{ -return v___x_6722_; -} -} -} -} -case 2: -{ -lean_object* v_decl_6725_; lean_object* v_k_6726_; lean_object* v___x_6727_; -v_decl_6725_ = lean_ctor_get(v_code_6451_, 0); -v_k_6726_ = lean_ctor_get(v_code_6451_, 1); -lean_inc_ref(v_decl_6725_); -v___x_6727_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_decl_6725_, v_a_6452_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -if (lean_obj_tag(v___x_6727_) == 0) -{ -lean_object* v_a_6728_; lean_object* v_fvarId_6729_; lean_object* v_scope_6730_; lean_object* v_ground_6731_; lean_object* v_underApplied_6732_; lean_object* v_declName_6733_; lean_object* v___x_6734_; lean_object* v___x_6735_; lean_object* v___x_6736_; -v_a_6728_ = lean_ctor_get(v___x_6727_, 0); -lean_inc(v_a_6728_); -lean_dec_ref(v___x_6727_); -v_fvarId_6729_ = lean_ctor_get(v_a_6728_, 0); -v_scope_6730_ = lean_ctor_get(v_a_6452_, 0); -v_ground_6731_ = lean_ctor_get(v_a_6452_, 1); -v_underApplied_6732_ = lean_ctor_get(v_a_6452_, 2); -v_declName_6733_ = lean_ctor_get(v_a_6452_, 3); -lean_inc(v_fvarId_6729_); -lean_inc(v_scope_6730_); -v___x_6734_ = l_Lean_FVarIdSet_insert(v_scope_6730_, v_fvarId_6729_); -lean_inc(v_declName_6733_); -lean_inc(v_underApplied_6732_); -lean_inc(v_ground_6731_); -v___x_6735_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_6735_, 0, v___x_6734_); -lean_ctor_set(v___x_6735_, 1, v_ground_6731_); -lean_ctor_set(v___x_6735_, 2, v_underApplied_6732_); -lean_ctor_set(v___x_6735_, 3, v_declName_6733_); -lean_inc_ref(v_k_6726_); -v___x_6736_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6726_, v___x_6735_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -lean_dec_ref(v___x_6735_); -if (lean_obj_tag(v___x_6736_) == 0) -{ -lean_object* v_a_6737_; lean_object* v___x_6739_; uint8_t v_isShared_6740_; uint8_t v_isSharedCheck_6764_; -v_a_6737_ = lean_ctor_get(v___x_6736_, 0); -v_isSharedCheck_6764_ = !lean_is_exclusive(v___x_6736_); -if (v_isSharedCheck_6764_ == 0) -{ -v___x_6739_ = v___x_6736_; -v_isShared_6740_ = v_isSharedCheck_6764_; -goto v_resetjp_6738_; -} -else -{ -lean_inc(v_a_6737_); -lean_dec(v___x_6736_); -v___x_6739_ = lean_box(0); -v_isShared_6740_ = v_isSharedCheck_6764_; -goto v_resetjp_6738_; -} -v_resetjp_6738_: -{ -uint8_t v___y_6742_; size_t v___x_6758_; size_t v___x_6759_; uint8_t v___x_6760_; -v___x_6758_ = lean_ptr_addr(v_k_6726_); -v___x_6759_ = lean_ptr_addr(v_a_6737_); -v___x_6760_ = lean_usize_dec_eq(v___x_6758_, v___x_6759_); -if (v___x_6760_ == 0) -{ -v___y_6742_ = v___x_6760_; -goto v___jp_6741_; -} -else -{ -size_t v___x_6761_; size_t v___x_6762_; uint8_t v___x_6763_; -v___x_6761_ = lean_ptr_addr(v_decl_6725_); -v___x_6762_ = lean_ptr_addr(v_a_6728_); -v___x_6763_ = lean_usize_dec_eq(v___x_6761_, v___x_6762_); -v___y_6742_ = v___x_6763_; -goto v___jp_6741_; -} -v___jp_6741_: -{ -if (v___y_6742_ == 0) -{ -lean_object* v___x_6744_; uint8_t v_isShared_6745_; uint8_t v_isSharedCheck_6752_; -v_isSharedCheck_6752_ = !lean_is_exclusive(v_code_6451_); -if (v_isSharedCheck_6752_ == 0) -{ -lean_object* v_unused_6753_; lean_object* v_unused_6754_; -v_unused_6753_ = lean_ctor_get(v_code_6451_, 1); -lean_dec(v_unused_6753_); -v_unused_6754_ = lean_ctor_get(v_code_6451_, 0); -lean_dec(v_unused_6754_); -v___x_6744_ = v_code_6451_; -v_isShared_6745_ = v_isSharedCheck_6752_; +v___x_6744_ = v___x_6697_; +v_isShared_6745_ = v_isSharedCheck_6749_; goto v_resetjp_6743_; } else { -lean_dec(v_code_6451_); +lean_inc(v_a_6742_); +lean_dec(v___x_6697_); v___x_6744_ = lean_box(0); -v_isShared_6745_ = v_isSharedCheck_6752_; +v_isShared_6745_ = v_isSharedCheck_6749_; goto v_resetjp_6743_; } v_resetjp_6743_: @@ -20537,66 +20548,184 @@ v_resetjp_6743_: lean_object* v___x_6747_; if (v_isShared_6745_ == 0) { -lean_ctor_set(v___x_6744_, 1, v_a_6737_); -lean_ctor_set(v___x_6744_, 0, v_a_6728_); v___x_6747_ = v___x_6744_; goto v_reusejp_6746_; } else { -lean_object* v_reuseFailAlloc_6751_; -v_reuseFailAlloc_6751_ = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(v_reuseFailAlloc_6751_, 0, v_a_6728_); -lean_ctor_set(v_reuseFailAlloc_6751_, 1, v_a_6737_); -v___x_6747_ = v_reuseFailAlloc_6751_; +lean_object* v_reuseFailAlloc_6748_; +v_reuseFailAlloc_6748_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6748_, 0, v_a_6742_); +v___x_6747_ = v_reuseFailAlloc_6748_; goto v_reusejp_6746_; } v_reusejp_6746_: { -lean_object* v___x_6749_; -if (v_isShared_6740_ == 0) +return v___x_6747_; +} +} +} +} +case 2: { -lean_ctor_set(v___x_6739_, 0, v___x_6747_); -v___x_6749_ = v___x_6739_; -goto v_reusejp_6748_; +lean_object* v_decl_6750_; lean_object* v_k_6751_; lean_object* v___x_6752_; +v_decl_6750_ = lean_ctor_get(v_code_6476_, 0); +v_k_6751_ = lean_ctor_get(v_code_6476_, 1); +lean_inc_ref(v_decl_6750_); +v___x_6752_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_decl_6750_, v_a_6477_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +if (lean_obj_tag(v___x_6752_) == 0) +{ +lean_object* v_a_6753_; lean_object* v_fvarId_6754_; lean_object* v_scope_6755_; lean_object* v_ground_6756_; lean_object* v_underApplied_6757_; lean_object* v_declName_6758_; lean_object* v___x_6759_; lean_object* v___x_6760_; lean_object* v___x_6761_; +v_a_6753_ = lean_ctor_get(v___x_6752_, 0); +lean_inc(v_a_6753_); +lean_dec_ref(v___x_6752_); +v_fvarId_6754_ = lean_ctor_get(v_a_6753_, 0); +v_scope_6755_ = lean_ctor_get(v_a_6477_, 0); +v_ground_6756_ = lean_ctor_get(v_a_6477_, 1); +v_underApplied_6757_ = lean_ctor_get(v_a_6477_, 2); +v_declName_6758_ = lean_ctor_get(v_a_6477_, 3); +lean_inc(v_fvarId_6754_); +lean_inc(v_scope_6755_); +v___x_6759_ = l_Lean_FVarIdSet_insert(v_scope_6755_, v_fvarId_6754_); +lean_inc(v_declName_6758_); +lean_inc(v_underApplied_6757_); +lean_inc(v_ground_6756_); +v___x_6760_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_6760_, 0, v___x_6759_); +lean_ctor_set(v___x_6760_, 1, v_ground_6756_); +lean_ctor_set(v___x_6760_, 2, v_underApplied_6757_); +lean_ctor_set(v___x_6760_, 3, v_declName_6758_); +lean_inc_ref(v_k_6751_); +v___x_6761_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_k_6751_, v___x_6760_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +lean_dec_ref(v___x_6760_); +if (lean_obj_tag(v___x_6761_) == 0) +{ +lean_object* v_a_6762_; lean_object* v___x_6764_; uint8_t v_isShared_6765_; uint8_t v_isSharedCheck_6789_; +v_a_6762_ = lean_ctor_get(v___x_6761_, 0); +v_isSharedCheck_6789_ = !lean_is_exclusive(v___x_6761_); +if (v_isSharedCheck_6789_ == 0) +{ +v___x_6764_ = v___x_6761_; +v_isShared_6765_ = v_isSharedCheck_6789_; +goto v_resetjp_6763_; } else { -lean_object* v_reuseFailAlloc_6750_; -v_reuseFailAlloc_6750_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6750_, 0, v___x_6747_); -v___x_6749_ = v_reuseFailAlloc_6750_; -goto v_reusejp_6748_; +lean_inc(v_a_6762_); +lean_dec(v___x_6761_); +v___x_6764_ = lean_box(0); +v_isShared_6765_ = v_isSharedCheck_6789_; +goto v_resetjp_6763_; } -v_reusejp_6748_: +v_resetjp_6763_: { -return v___x_6749_; +uint8_t v___y_6767_; size_t v___x_6783_; size_t v___x_6784_; uint8_t v___x_6785_; +v___x_6783_ = lean_ptr_addr(v_k_6751_); +v___x_6784_ = lean_ptr_addr(v_a_6762_); +v___x_6785_ = lean_usize_dec_eq(v___x_6783_, v___x_6784_); +if (v___x_6785_ == 0) +{ +v___y_6767_ = v___x_6785_; +goto v___jp_6766_; +} +else +{ +size_t v___x_6786_; size_t v___x_6787_; uint8_t v___x_6788_; +v___x_6786_ = lean_ptr_addr(v_decl_6750_); +v___x_6787_ = lean_ptr_addr(v_a_6753_); +v___x_6788_ = lean_usize_dec_eq(v___x_6786_, v___x_6787_); +v___y_6767_ = v___x_6788_; +goto v___jp_6766_; +} +v___jp_6766_: +{ +if (v___y_6767_ == 0) +{ +lean_object* v___x_6769_; uint8_t v_isShared_6770_; uint8_t v_isSharedCheck_6777_; +v_isSharedCheck_6777_ = !lean_is_exclusive(v_code_6476_); +if (v_isSharedCheck_6777_ == 0) +{ +lean_object* v_unused_6778_; lean_object* v_unused_6779_; +v_unused_6778_ = lean_ctor_get(v_code_6476_, 1); +lean_dec(v_unused_6778_); +v_unused_6779_ = lean_ctor_get(v_code_6476_, 0); +lean_dec(v_unused_6779_); +v___x_6769_ = v_code_6476_; +v_isShared_6770_ = v_isSharedCheck_6777_; +goto v_resetjp_6768_; +} +else +{ +lean_dec(v_code_6476_); +v___x_6769_ = lean_box(0); +v_isShared_6770_ = v_isSharedCheck_6777_; +goto v_resetjp_6768_; +} +v_resetjp_6768_: +{ +lean_object* v___x_6772_; +if (v_isShared_6770_ == 0) +{ +lean_ctor_set(v___x_6769_, 1, v_a_6762_); +lean_ctor_set(v___x_6769_, 0, v_a_6753_); +v___x_6772_ = v___x_6769_; +goto v_reusejp_6771_; +} +else +{ +lean_object* v_reuseFailAlloc_6776_; +v_reuseFailAlloc_6776_ = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(v_reuseFailAlloc_6776_, 0, v_a_6753_); +lean_ctor_set(v_reuseFailAlloc_6776_, 1, v_a_6762_); +v___x_6772_ = v_reuseFailAlloc_6776_; +goto v_reusejp_6771_; +} +v_reusejp_6771_: +{ +lean_object* v___x_6774_; +if (v_isShared_6765_ == 0) +{ +lean_ctor_set(v___x_6764_, 0, v___x_6772_); +v___x_6774_ = v___x_6764_; +goto v_reusejp_6773_; +} +else +{ +lean_object* v_reuseFailAlloc_6775_; +v_reuseFailAlloc_6775_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6775_, 0, v___x_6772_); +v___x_6774_ = v_reuseFailAlloc_6775_; +goto v_reusejp_6773_; +} +v_reusejp_6773_: +{ +return v___x_6774_; } } } } else { -lean_object* v___x_6756_; -lean_dec(v_a_6737_); -lean_dec(v_a_6728_); -if (v_isShared_6740_ == 0) +lean_object* v___x_6781_; +lean_dec(v_a_6762_); +lean_dec(v_a_6753_); +if (v_isShared_6765_ == 0) { -lean_ctor_set(v___x_6739_, 0, v_code_6451_); -v___x_6756_ = v___x_6739_; -goto v_reusejp_6755_; +lean_ctor_set(v___x_6764_, 0, v_code_6476_); +v___x_6781_ = v___x_6764_; +goto v_reusejp_6780_; } else { -lean_object* v_reuseFailAlloc_6757_; -v_reuseFailAlloc_6757_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6757_, 0, v_code_6451_); -v___x_6756_ = v_reuseFailAlloc_6757_; -goto v_reusejp_6755_; +lean_object* v_reuseFailAlloc_6782_; +v_reuseFailAlloc_6782_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6782_, 0, v_code_6476_); +v___x_6781_ = v_reuseFailAlloc_6782_; +goto v_reusejp_6780_; } -v_reusejp_6755_: +v_reusejp_6780_: { -return v___x_6756_; +return v___x_6781_; } } } @@ -20604,268 +20733,268 @@ return v___x_6756_; } else { -lean_dec(v_a_6728_); -lean_dec_ref(v_code_6451_); -return v___x_6736_; +lean_dec(v_a_6753_); +lean_dec_ref(v_code_6476_); +return v___x_6761_; } } else { -lean_object* v_a_6765_; lean_object* v___x_6767_; uint8_t v_isShared_6768_; uint8_t v_isSharedCheck_6772_; -lean_dec_ref(v_code_6451_); -v_a_6765_ = lean_ctor_get(v___x_6727_, 0); -v_isSharedCheck_6772_ = !lean_is_exclusive(v___x_6727_); -if (v_isSharedCheck_6772_ == 0) +lean_object* v_a_6790_; lean_object* v___x_6792_; uint8_t v_isShared_6793_; uint8_t v_isSharedCheck_6797_; +lean_dec_ref(v_code_6476_); +v_a_6790_ = lean_ctor_get(v___x_6752_, 0); +v_isSharedCheck_6797_ = !lean_is_exclusive(v___x_6752_); +if (v_isSharedCheck_6797_ == 0) { -v___x_6767_ = v___x_6727_; -v_isShared_6768_ = v_isSharedCheck_6772_; -goto v_resetjp_6766_; +v___x_6792_ = v___x_6752_; +v_isShared_6793_ = v_isSharedCheck_6797_; +goto v_resetjp_6791_; } else { -lean_inc(v_a_6765_); -lean_dec(v___x_6727_); -v___x_6767_ = lean_box(0); -v_isShared_6768_ = v_isSharedCheck_6772_; -goto v_resetjp_6766_; +lean_inc(v_a_6790_); +lean_dec(v___x_6752_); +v___x_6792_ = lean_box(0); +v_isShared_6793_ = v_isSharedCheck_6797_; +goto v_resetjp_6791_; } -v_resetjp_6766_: +v_resetjp_6791_: { -lean_object* v___x_6770_; -if (v_isShared_6768_ == 0) +lean_object* v___x_6795_; +if (v_isShared_6793_ == 0) { -v___x_6770_ = v___x_6767_; -goto v_reusejp_6769_; +v___x_6795_ = v___x_6792_; +goto v_reusejp_6794_; } else { -lean_object* v_reuseFailAlloc_6771_; -v_reuseFailAlloc_6771_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6771_, 0, v_a_6765_); -v___x_6770_ = v_reuseFailAlloc_6771_; -goto v_reusejp_6769_; +lean_object* v_reuseFailAlloc_6796_; +v_reuseFailAlloc_6796_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6796_, 0, v_a_6790_); +v___x_6795_ = v_reuseFailAlloc_6796_; +goto v_reusejp_6794_; } -v_reusejp_6769_: +v_reusejp_6794_: { -return v___x_6770_; +return v___x_6795_; } } } } case 4: { -lean_object* v_cases_6773_; lean_object* v_typeName_6774_; lean_object* v_resultType_6775_; lean_object* v_discr_6776_; lean_object* v_alts_6777_; lean_object* v___x_6779_; uint8_t v_isShared_6780_; uint8_t v_isSharedCheck_6816_; -v_cases_6773_ = lean_ctor_get(v_code_6451_, 0); -lean_inc_ref(v_cases_6773_); -v_typeName_6774_ = lean_ctor_get(v_cases_6773_, 0); -v_resultType_6775_ = lean_ctor_get(v_cases_6773_, 1); -v_discr_6776_ = lean_ctor_get(v_cases_6773_, 2); -v_alts_6777_ = lean_ctor_get(v_cases_6773_, 3); -v_isSharedCheck_6816_ = !lean_is_exclusive(v_cases_6773_); -if (v_isSharedCheck_6816_ == 0) +lean_object* v_cases_6798_; lean_object* v_typeName_6799_; lean_object* v_resultType_6800_; lean_object* v_discr_6801_; lean_object* v_alts_6802_; lean_object* v___x_6804_; uint8_t v_isShared_6805_; uint8_t v_isSharedCheck_6841_; +v_cases_6798_ = lean_ctor_get(v_code_6476_, 0); +lean_inc_ref(v_cases_6798_); +v_typeName_6799_ = lean_ctor_get(v_cases_6798_, 0); +v_resultType_6800_ = lean_ctor_get(v_cases_6798_, 1); +v_discr_6801_ = lean_ctor_get(v_cases_6798_, 2); +v_alts_6802_ = lean_ctor_get(v_cases_6798_, 3); +v_isSharedCheck_6841_ = !lean_is_exclusive(v_cases_6798_); +if (v_isSharedCheck_6841_ == 0) { -v___x_6779_ = v_cases_6773_; -v_isShared_6780_ = v_isSharedCheck_6816_; -goto v_resetjp_6778_; +v___x_6804_ = v_cases_6798_; +v_isShared_6805_ = v_isSharedCheck_6841_; +goto v_resetjp_6803_; } else { -lean_inc(v_alts_6777_); -lean_inc(v_discr_6776_); -lean_inc(v_resultType_6775_); -lean_inc(v_typeName_6774_); -lean_dec(v_cases_6773_); -v___x_6779_ = lean_box(0); -v_isShared_6780_ = v_isSharedCheck_6816_; -goto v_resetjp_6778_; +lean_inc(v_alts_6802_); +lean_inc(v_discr_6801_); +lean_inc(v_resultType_6800_); +lean_inc(v_typeName_6799_); +lean_dec(v_cases_6798_); +v___x_6804_ = lean_box(0); +v_isShared_6805_ = v_isSharedCheck_6841_; +goto v_resetjp_6803_; } -v_resetjp_6778_: +v_resetjp_6803_: { -lean_object* v___x_6781_; lean_object* v___x_6782_; -v___x_6781_ = lean_unsigned_to_nat(0u); -lean_inc_ref(v_alts_6777_); -v___x_6782_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(v___x_6781_, v_alts_6777_, v_a_6452_, v_a_6453_, v_a_6454_, v_a_6455_, v_a_6456_, v_a_6457_); -if (lean_obj_tag(v___x_6782_) == 0) +lean_object* v___x_6806_; lean_object* v___x_6807_; +v___x_6806_ = lean_unsigned_to_nat(0u); +lean_inc_ref(v_alts_6802_); +v___x_6807_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(v___x_6806_, v_alts_6802_, v_a_6477_, v_a_6478_, v_a_6479_, v_a_6480_, v_a_6481_, v_a_6482_); +if (lean_obj_tag(v___x_6807_) == 0) { -lean_object* v_a_6783_; lean_object* v___x_6785_; uint8_t v_isShared_6786_; uint8_t v_isSharedCheck_6807_; -v_a_6783_ = lean_ctor_get(v___x_6782_, 0); -v_isSharedCheck_6807_ = !lean_is_exclusive(v___x_6782_); -if (v_isSharedCheck_6807_ == 0) +lean_object* v_a_6808_; lean_object* v___x_6810_; uint8_t v_isShared_6811_; uint8_t v_isSharedCheck_6832_; +v_a_6808_ = lean_ctor_get(v___x_6807_, 0); +v_isSharedCheck_6832_ = !lean_is_exclusive(v___x_6807_); +if (v_isSharedCheck_6832_ == 0) { -v___x_6785_ = v___x_6782_; -v_isShared_6786_ = v_isSharedCheck_6807_; -goto v_resetjp_6784_; -} -else -{ -lean_inc(v_a_6783_); -lean_dec(v___x_6782_); -v___x_6785_ = lean_box(0); -v_isShared_6786_ = v_isSharedCheck_6807_; -goto v_resetjp_6784_; -} -v_resetjp_6784_: -{ -size_t v___x_6787_; size_t v___x_6788_; uint8_t v___x_6789_; -v___x_6787_ = lean_ptr_addr(v_alts_6777_); -lean_dec_ref(v_alts_6777_); -v___x_6788_ = lean_ptr_addr(v_a_6783_); -v___x_6789_ = lean_usize_dec_eq(v___x_6787_, v___x_6788_); -if (v___x_6789_ == 0) -{ -lean_object* v___x_6791_; uint8_t v_isShared_6792_; uint8_t v_isSharedCheck_6802_; -v_isSharedCheck_6802_ = !lean_is_exclusive(v_code_6451_); -if (v_isSharedCheck_6802_ == 0) -{ -lean_object* v_unused_6803_; -v_unused_6803_ = lean_ctor_get(v_code_6451_, 0); -lean_dec(v_unused_6803_); -v___x_6791_ = v_code_6451_; -v_isShared_6792_ = v_isSharedCheck_6802_; -goto v_resetjp_6790_; -} -else -{ -lean_dec(v_code_6451_); -v___x_6791_ = lean_box(0); -v_isShared_6792_ = v_isSharedCheck_6802_; -goto v_resetjp_6790_; -} -v_resetjp_6790_: -{ -lean_object* v___x_6794_; -if (v_isShared_6780_ == 0) -{ -lean_ctor_set(v___x_6779_, 3, v_a_6783_); -v___x_6794_ = v___x_6779_; -goto v_reusejp_6793_; -} -else -{ -lean_object* v_reuseFailAlloc_6801_; -v_reuseFailAlloc_6801_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v_reuseFailAlloc_6801_, 0, v_typeName_6774_); -lean_ctor_set(v_reuseFailAlloc_6801_, 1, v_resultType_6775_); -lean_ctor_set(v_reuseFailAlloc_6801_, 2, v_discr_6776_); -lean_ctor_set(v_reuseFailAlloc_6801_, 3, v_a_6783_); -v___x_6794_ = v_reuseFailAlloc_6801_; -goto v_reusejp_6793_; -} -v_reusejp_6793_: -{ -lean_object* v___x_6796_; -if (v_isShared_6792_ == 0) -{ -lean_ctor_set(v___x_6791_, 0, v___x_6794_); -v___x_6796_ = v___x_6791_; -goto v_reusejp_6795_; -} -else -{ -lean_object* v_reuseFailAlloc_6800_; -v_reuseFailAlloc_6800_ = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6800_, 0, v___x_6794_); -v___x_6796_ = v_reuseFailAlloc_6800_; -goto v_reusejp_6795_; -} -v_reusejp_6795_: -{ -lean_object* v___x_6798_; -if (v_isShared_6786_ == 0) -{ -lean_ctor_set(v___x_6785_, 0, v___x_6796_); -v___x_6798_ = v___x_6785_; -goto v_reusejp_6797_; -} -else -{ -lean_object* v_reuseFailAlloc_6799_; -v_reuseFailAlloc_6799_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6799_, 0, v___x_6796_); -v___x_6798_ = v_reuseFailAlloc_6799_; -goto v_reusejp_6797_; -} -v_reusejp_6797_: -{ -return v___x_6798_; -} -} -} -} -} -else -{ -lean_object* v___x_6805_; -lean_dec(v_a_6783_); -lean_del_object(v___x_6779_); -lean_dec(v_discr_6776_); -lean_dec_ref(v_resultType_6775_); -lean_dec(v_typeName_6774_); -if (v_isShared_6786_ == 0) -{ -lean_ctor_set(v___x_6785_, 0, v_code_6451_); -v___x_6805_ = v___x_6785_; -goto v_reusejp_6804_; -} -else -{ -lean_object* v_reuseFailAlloc_6806_; -v_reuseFailAlloc_6806_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6806_, 0, v_code_6451_); -v___x_6805_ = v_reuseFailAlloc_6806_; -goto v_reusejp_6804_; -} -v_reusejp_6804_: -{ -return v___x_6805_; -} -} -} -} -else -{ -lean_object* v_a_6808_; lean_object* v___x_6810_; uint8_t v_isShared_6811_; uint8_t v_isSharedCheck_6815_; -lean_del_object(v___x_6779_); -lean_dec_ref(v_alts_6777_); -lean_dec(v_discr_6776_); -lean_dec_ref(v_resultType_6775_); -lean_dec(v_typeName_6774_); -lean_dec_ref(v_code_6451_); -v_a_6808_ = lean_ctor_get(v___x_6782_, 0); -v_isSharedCheck_6815_ = !lean_is_exclusive(v___x_6782_); -if (v_isSharedCheck_6815_ == 0) -{ -v___x_6810_ = v___x_6782_; -v_isShared_6811_ = v_isSharedCheck_6815_; +v___x_6810_ = v___x_6807_; +v_isShared_6811_ = v_isSharedCheck_6832_; goto v_resetjp_6809_; } else { lean_inc(v_a_6808_); -lean_dec(v___x_6782_); +lean_dec(v___x_6807_); v___x_6810_ = lean_box(0); -v_isShared_6811_ = v_isSharedCheck_6815_; +v_isShared_6811_ = v_isSharedCheck_6832_; goto v_resetjp_6809_; } v_resetjp_6809_: { -lean_object* v___x_6813_; -if (v_isShared_6811_ == 0) +size_t v___x_6812_; size_t v___x_6813_; uint8_t v___x_6814_; +v___x_6812_ = lean_ptr_addr(v_alts_6802_); +lean_dec_ref(v_alts_6802_); +v___x_6813_ = lean_ptr_addr(v_a_6808_); +v___x_6814_ = lean_usize_dec_eq(v___x_6812_, v___x_6813_); +if (v___x_6814_ == 0) { -v___x_6813_ = v___x_6810_; -goto v_reusejp_6812_; +lean_object* v___x_6816_; uint8_t v_isShared_6817_; uint8_t v_isSharedCheck_6827_; +v_isSharedCheck_6827_ = !lean_is_exclusive(v_code_6476_); +if (v_isSharedCheck_6827_ == 0) +{ +lean_object* v_unused_6828_; +v_unused_6828_ = lean_ctor_get(v_code_6476_, 0); +lean_dec(v_unused_6828_); +v___x_6816_ = v_code_6476_; +v_isShared_6817_ = v_isSharedCheck_6827_; +goto v_resetjp_6815_; } else { -lean_object* v_reuseFailAlloc_6814_; -v_reuseFailAlloc_6814_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6814_, 0, v_a_6808_); -v___x_6813_ = v_reuseFailAlloc_6814_; -goto v_reusejp_6812_; +lean_dec(v_code_6476_); +v___x_6816_ = lean_box(0); +v_isShared_6817_ = v_isSharedCheck_6827_; +goto v_resetjp_6815_; } -v_reusejp_6812_: +v_resetjp_6815_: { -return v___x_6813_; +lean_object* v___x_6819_; +if (v_isShared_6805_ == 0) +{ +lean_ctor_set(v___x_6804_, 3, v_a_6808_); +v___x_6819_ = v___x_6804_; +goto v_reusejp_6818_; +} +else +{ +lean_object* v_reuseFailAlloc_6826_; +v_reuseFailAlloc_6826_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v_reuseFailAlloc_6826_, 0, v_typeName_6799_); +lean_ctor_set(v_reuseFailAlloc_6826_, 1, v_resultType_6800_); +lean_ctor_set(v_reuseFailAlloc_6826_, 2, v_discr_6801_); +lean_ctor_set(v_reuseFailAlloc_6826_, 3, v_a_6808_); +v___x_6819_ = v_reuseFailAlloc_6826_; +goto v_reusejp_6818_; +} +v_reusejp_6818_: +{ +lean_object* v___x_6821_; +if (v_isShared_6817_ == 0) +{ +lean_ctor_set(v___x_6816_, 0, v___x_6819_); +v___x_6821_ = v___x_6816_; +goto v_reusejp_6820_; +} +else +{ +lean_object* v_reuseFailAlloc_6825_; +v_reuseFailAlloc_6825_ = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6825_, 0, v___x_6819_); +v___x_6821_ = v_reuseFailAlloc_6825_; +goto v_reusejp_6820_; +} +v_reusejp_6820_: +{ +lean_object* v___x_6823_; +if (v_isShared_6811_ == 0) +{ +lean_ctor_set(v___x_6810_, 0, v___x_6821_); +v___x_6823_ = v___x_6810_; +goto v_reusejp_6822_; +} +else +{ +lean_object* v_reuseFailAlloc_6824_; +v_reuseFailAlloc_6824_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6824_, 0, v___x_6821_); +v___x_6823_ = v_reuseFailAlloc_6824_; +goto v_reusejp_6822_; +} +v_reusejp_6822_: +{ +return v___x_6823_; +} +} +} +} +} +else +{ +lean_object* v___x_6830_; +lean_dec(v_a_6808_); +lean_del_object(v___x_6804_); +lean_dec(v_discr_6801_); +lean_dec_ref(v_resultType_6800_); +lean_dec(v_typeName_6799_); +if (v_isShared_6811_ == 0) +{ +lean_ctor_set(v___x_6810_, 0, v_code_6476_); +v___x_6830_ = v___x_6810_; +goto v_reusejp_6829_; +} +else +{ +lean_object* v_reuseFailAlloc_6831_; +v_reuseFailAlloc_6831_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6831_, 0, v_code_6476_); +v___x_6830_ = v_reuseFailAlloc_6831_; +goto v_reusejp_6829_; +} +v_reusejp_6829_: +{ +return v___x_6830_; +} +} +} +} +else +{ +lean_object* v_a_6833_; lean_object* v___x_6835_; uint8_t v_isShared_6836_; uint8_t v_isSharedCheck_6840_; +lean_del_object(v___x_6804_); +lean_dec_ref(v_alts_6802_); +lean_dec(v_discr_6801_); +lean_dec_ref(v_resultType_6800_); +lean_dec(v_typeName_6799_); +lean_dec_ref(v_code_6476_); +v_a_6833_ = lean_ctor_get(v___x_6807_, 0); +v_isSharedCheck_6840_ = !lean_is_exclusive(v___x_6807_); +if (v_isSharedCheck_6840_ == 0) +{ +v___x_6835_ = v___x_6807_; +v_isShared_6836_ = v_isSharedCheck_6840_; +goto v_resetjp_6834_; +} +else +{ +lean_inc(v_a_6833_); +lean_dec(v___x_6807_); +v___x_6835_ = lean_box(0); +v_isShared_6836_ = v_isSharedCheck_6840_; +goto v_resetjp_6834_; +} +v_resetjp_6834_: +{ +lean_object* v___x_6838_; +if (v_isShared_6836_ == 0) +{ +v___x_6838_ = v___x_6835_; +goto v_reusejp_6837_; +} +else +{ +lean_object* v_reuseFailAlloc_6839_; +v_reuseFailAlloc_6839_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6839_, 0, v_a_6833_); +v___x_6838_ = v_reuseFailAlloc_6839_; +goto v_reusejp_6837_; +} +v_reusejp_6837_: +{ +return v___x_6838_; } } } @@ -20873,926 +21002,848 @@ return v___x_6813_; } default: { -lean_object* v___x_6817_; -v___x_6817_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6817_, 0, v_code_6451_); -return v___x_6817_; +lean_object* v___x_6842_; +v___x_6842_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6842_, 0, v_code_6476_); +return v___x_6842_; } } -v___jp_6459_: +v___jp_6484_: { -if (v___y_6462_ == 0) +if (v___y_6487_ == 0) { -lean_object* v___x_6463_; lean_object* v___x_6464_; -lean_dec_ref(v_code_6451_); -v___x_6463_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_6463_, 0, v___y_6460_); -lean_ctor_set(v___x_6463_, 1, v___y_6461_); -v___x_6464_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6464_, 0, v___x_6463_); -return v___x_6464_; +lean_object* v___x_6488_; lean_object* v___x_6489_; +lean_dec_ref(v_code_6476_); +v___x_6488_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_6488_, 0, v___y_6485_); +lean_ctor_set(v___x_6488_, 1, v___y_6486_); +v___x_6489_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6489_, 0, v___x_6488_); +return v___x_6489_; } else { -lean_object* v___x_6465_; -lean_dec_ref(v___y_6461_); -lean_dec_ref(v___y_6460_); -v___x_6465_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6465_, 0, v_code_6451_); -return v___x_6465_; +lean_object* v___x_6490_; +lean_dec_ref(v___y_6486_); +lean_dec_ref(v___y_6485_); +v___x_6490_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6490_, 0, v_code_6476_); +return v___x_6490_; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(lean_object* v_funDecl_6818_, lean_object* v_a_6819_, lean_object* v_a_6820_, lean_object* v_a_6821_, lean_object* v_a_6822_, lean_object* v_a_6823_, lean_object* v_a_6824_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(lean_object* v_funDecl_6843_, lean_object* v_a_6844_, lean_object* v_a_6845_, lean_object* v_a_6846_, lean_object* v_a_6847_, lean_object* v_a_6848_, lean_object* v_a_6849_){ _start: { -lean_object* v_params_6826_; lean_object* v_type_6827_; lean_object* v_value_6828_; lean_object* v_scope_6829_; lean_object* v_ground_6830_; lean_object* v_underApplied_6831_; lean_object* v_declName_6832_; uint8_t v___x_6833_; lean_object* v___y_6835_; lean_object* v___x_6848_; lean_object* v___x_6849_; uint8_t v___x_6850_; -v_params_6826_ = lean_ctor_get(v_funDecl_6818_, 2); -lean_inc_ref(v_params_6826_); -v_type_6827_ = lean_ctor_get(v_funDecl_6818_, 3); -lean_inc_ref(v_type_6827_); -v_value_6828_ = lean_ctor_get(v_funDecl_6818_, 4); -v_scope_6829_ = lean_ctor_get(v_a_6819_, 0); -v_ground_6830_ = lean_ctor_get(v_a_6819_, 1); -v_underApplied_6831_ = lean_ctor_get(v_a_6819_, 2); -v_declName_6832_ = lean_ctor_get(v_a_6819_, 3); -v___x_6833_ = 0; -v___x_6848_ = lean_unsigned_to_nat(0u); -v___x_6849_ = lean_array_get_size(v_params_6826_); -v___x_6850_ = lean_nat_dec_lt(v___x_6848_, v___x_6849_); -if (v___x_6850_ == 0) +lean_object* v_params_6851_; lean_object* v_type_6852_; lean_object* v_value_6853_; lean_object* v_scope_6854_; lean_object* v_ground_6855_; lean_object* v_underApplied_6856_; lean_object* v_declName_6857_; uint8_t v___x_6858_; lean_object* v___y_6860_; lean_object* v___x_6873_; lean_object* v___x_6874_; uint8_t v___x_6875_; +v_params_6851_ = lean_ctor_get(v_funDecl_6843_, 2); +lean_inc_ref(v_params_6851_); +v_type_6852_ = lean_ctor_get(v_funDecl_6843_, 3); +lean_inc_ref(v_type_6852_); +v_value_6853_ = lean_ctor_get(v_funDecl_6843_, 4); +v_scope_6854_ = lean_ctor_get(v_a_6844_, 0); +v_ground_6855_ = lean_ctor_get(v_a_6844_, 1); +v_underApplied_6856_ = lean_ctor_get(v_a_6844_, 2); +v_declName_6857_ = lean_ctor_get(v_a_6844_, 3); +v___x_6858_ = 0; +v___x_6873_ = lean_unsigned_to_nat(0u); +v___x_6874_ = lean_array_get_size(v_params_6851_); +v___x_6875_ = lean_nat_dec_lt(v___x_6873_, v___x_6874_); +if (v___x_6875_ == 0) { -lean_inc(v_scope_6829_); -v___y_6835_ = v_scope_6829_; -goto v___jp_6834_; +lean_inc(v_scope_6854_); +v___y_6860_ = v_scope_6854_; +goto v___jp_6859_; } else { -uint8_t v___x_6851_; -v___x_6851_ = lean_nat_dec_le(v___x_6849_, v___x_6849_); -if (v___x_6851_ == 0) +uint8_t v___x_6876_; +v___x_6876_ = lean_nat_dec_le(v___x_6874_, v___x_6874_); +if (v___x_6876_ == 0) { -if (v___x_6850_ == 0) +if (v___x_6875_ == 0) { -lean_inc(v_scope_6829_); -v___y_6835_ = v_scope_6829_; -goto v___jp_6834_; +lean_inc(v_scope_6854_); +v___y_6860_ = v_scope_6854_; +goto v___jp_6859_; } else { -size_t v___x_6852_; size_t v___x_6853_; lean_object* v___x_6854_; -v___x_6852_ = ((size_t)0ULL); -v___x_6853_ = lean_usize_of_nat(v___x_6849_); -lean_inc(v_scope_6829_); -v___x_6854_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6826_, v___x_6852_, v___x_6853_, v_scope_6829_); -v___y_6835_ = v___x_6854_; -goto v___jp_6834_; +size_t v___x_6877_; size_t v___x_6878_; lean_object* v___x_6879_; +v___x_6877_ = ((size_t)0ULL); +v___x_6878_ = lean_usize_of_nat(v___x_6874_); +lean_inc(v_scope_6854_); +v___x_6879_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6851_, v___x_6877_, v___x_6878_, v_scope_6854_); +v___y_6860_ = v___x_6879_; +goto v___jp_6859_; } } else { -size_t v___x_6855_; size_t v___x_6856_; lean_object* v___x_6857_; -v___x_6855_ = ((size_t)0ULL); -v___x_6856_ = lean_usize_of_nat(v___x_6849_); -lean_inc(v_scope_6829_); -v___x_6857_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6826_, v___x_6855_, v___x_6856_, v_scope_6829_); -v___y_6835_ = v___x_6857_; -goto v___jp_6834_; +size_t v___x_6880_; size_t v___x_6881_; lean_object* v___x_6882_; +v___x_6880_ = ((size_t)0ULL); +v___x_6881_ = lean_usize_of_nat(v___x_6874_); +lean_inc(v_scope_6854_); +v___x_6882_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_6851_, v___x_6880_, v___x_6881_, v_scope_6854_); +v___y_6860_ = v___x_6882_; +goto v___jp_6859_; } } -v___jp_6834_: +v___jp_6859_: { -lean_object* v___x_6836_; lean_object* v___x_6837_; -lean_inc(v_declName_6832_); -lean_inc(v_underApplied_6831_); -lean_inc(v_ground_6830_); -v___x_6836_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_6836_, 0, v___y_6835_); -lean_ctor_set(v___x_6836_, 1, v_ground_6830_); -lean_ctor_set(v___x_6836_, 2, v_underApplied_6831_); -lean_ctor_set(v___x_6836_, 3, v_declName_6832_); -lean_inc_ref(v_value_6828_); -v___x_6837_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_value_6828_, v___x_6836_, v_a_6820_, v_a_6821_, v_a_6822_, v_a_6823_, v_a_6824_); -lean_dec_ref(v___x_6836_); -if (lean_obj_tag(v___x_6837_) == 0) +lean_object* v___x_6861_; lean_object* v___x_6862_; +lean_inc(v_declName_6857_); +lean_inc(v_underApplied_6856_); +lean_inc(v_ground_6855_); +v___x_6861_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_6861_, 0, v___y_6860_); +lean_ctor_set(v___x_6861_, 1, v_ground_6855_); +lean_ctor_set(v___x_6861_, 2, v_underApplied_6856_); +lean_ctor_set(v___x_6861_, 3, v_declName_6857_); +lean_inc_ref(v_value_6853_); +v___x_6862_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_value_6853_, v___x_6861_, v_a_6845_, v_a_6846_, v_a_6847_, v_a_6848_, v_a_6849_); +lean_dec_ref(v___x_6861_); +if (lean_obj_tag(v___x_6862_) == 0) { -lean_object* v_a_6838_; lean_object* v___x_6839_; -v_a_6838_ = lean_ctor_get(v___x_6837_, 0); -lean_inc(v_a_6838_); -lean_dec_ref(v___x_6837_); -v___x_6839_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_6833_, v_funDecl_6818_, v_type_6827_, v_params_6826_, v_a_6838_, v_a_6822_); -return v___x_6839_; +lean_object* v_a_6863_; lean_object* v___x_6864_; +v_a_6863_ = lean_ctor_get(v___x_6862_, 0); +lean_inc(v_a_6863_); +lean_dec_ref(v___x_6862_); +v___x_6864_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_6858_, v_funDecl_6843_, v_type_6852_, v_params_6851_, v_a_6863_, v_a_6847_); +return v___x_6864_; } else { -lean_object* v_a_6840_; lean_object* v___x_6842_; uint8_t v_isShared_6843_; uint8_t v_isSharedCheck_6847_; -lean_dec_ref(v_type_6827_); -lean_dec_ref(v_params_6826_); -lean_dec_ref(v_funDecl_6818_); -v_a_6840_ = lean_ctor_get(v___x_6837_, 0); -v_isSharedCheck_6847_ = !lean_is_exclusive(v___x_6837_); -if (v_isSharedCheck_6847_ == 0) +lean_object* v_a_6865_; lean_object* v___x_6867_; uint8_t v_isShared_6868_; uint8_t v_isSharedCheck_6872_; +lean_dec_ref(v_type_6852_); +lean_dec_ref(v_params_6851_); +lean_dec_ref(v_funDecl_6843_); +v_a_6865_ = lean_ctor_get(v___x_6862_, 0); +v_isSharedCheck_6872_ = !lean_is_exclusive(v___x_6862_); +if (v_isSharedCheck_6872_ == 0) { -v___x_6842_ = v___x_6837_; -v_isShared_6843_ = v_isSharedCheck_6847_; -goto v_resetjp_6841_; +v___x_6867_ = v___x_6862_; +v_isShared_6868_ = v_isSharedCheck_6872_; +goto v_resetjp_6866_; } else { -lean_inc(v_a_6840_); -lean_dec(v___x_6837_); -v___x_6842_ = lean_box(0); -v_isShared_6843_ = v_isSharedCheck_6847_; -goto v_resetjp_6841_; +lean_inc(v_a_6865_); +lean_dec(v___x_6862_); +v___x_6867_ = lean_box(0); +v_isShared_6868_ = v_isSharedCheck_6872_; +goto v_resetjp_6866_; } -v_resetjp_6841_: +v_resetjp_6866_: { -lean_object* v___x_6845_; -if (v_isShared_6843_ == 0) +lean_object* v___x_6870_; +if (v_isShared_6868_ == 0) { -v___x_6845_ = v___x_6842_; -goto v_reusejp_6844_; +v___x_6870_ = v___x_6867_; +goto v_reusejp_6869_; } else { -lean_object* v_reuseFailAlloc_6846_; -v_reuseFailAlloc_6846_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6846_, 0, v_a_6840_); -v___x_6845_ = v_reuseFailAlloc_6846_; -goto v_reusejp_6844_; +lean_object* v_reuseFailAlloc_6871_; +v_reuseFailAlloc_6871_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6871_, 0, v_a_6865_); +v___x_6870_ = v_reuseFailAlloc_6871_; +goto v_reusejp_6869_; } -v_reusejp_6844_: +v_reusejp_6869_: { -return v___x_6845_; +return v___x_6870_; } } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl___boxed(lean_object* v_funDecl_6858_, lean_object* v_a_6859_, lean_object* v_a_6860_, lean_object* v_a_6861_, lean_object* v_a_6862_, lean_object* v_a_6863_, lean_object* v_a_6864_, lean_object* v_a_6865_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl___boxed(lean_object* v_funDecl_6883_, lean_object* v_a_6884_, lean_object* v_a_6885_, lean_object* v_a_6886_, lean_object* v_a_6887_, lean_object* v_a_6888_, lean_object* v_a_6889_, lean_object* v_a_6890_){ _start: { -lean_object* v_res_6866_; -v_res_6866_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_funDecl_6858_, v_a_6859_, v_a_6860_, v_a_6861_, v_a_6862_, v_a_6863_, v_a_6864_); -lean_dec(v_a_6864_); -lean_dec_ref(v_a_6863_); -lean_dec(v_a_6862_); -lean_dec_ref(v_a_6861_); -lean_dec(v_a_6860_); -lean_dec_ref(v_a_6859_); -return v_res_6866_; +lean_object* v_res_6891_; +v_res_6891_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl(v_funDecl_6883_, v_a_6884_, v_a_6885_, v_a_6886_, v_a_6887_, v_a_6888_, v_a_6889_); +lean_dec(v_a_6889_); +lean_dec_ref(v_a_6888_); +lean_dec(v_a_6887_); +lean_dec_ref(v_a_6886_); +lean_dec(v_a_6885_); +lean_dec_ref(v_a_6884_); +return v_res_6891_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4___boxed(lean_object* v_i_6867_, lean_object* v_as_6868_, lean_object* v___y_6869_, lean_object* v___y_6870_, lean_object* v___y_6871_, lean_object* v___y_6872_, lean_object* v___y_6873_, lean_object* v___y_6874_, lean_object* v___y_6875_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4___boxed(lean_object* v_i_6892_, lean_object* v_as_6893_, lean_object* v___y_6894_, lean_object* v___y_6895_, lean_object* v___y_6896_, lean_object* v___y_6897_, lean_object* v___y_6898_, lean_object* v___y_6899_, lean_object* v___y_6900_){ _start: { -lean_object* v_res_6876_; -v_res_6876_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(v_i_6867_, v_as_6868_, v___y_6869_, v___y_6870_, v___y_6871_, v___y_6872_, v___y_6873_, v___y_6874_); -lean_dec(v___y_6874_); -lean_dec_ref(v___y_6873_); -lean_dec(v___y_6872_); -lean_dec_ref(v___y_6871_); -lean_dec(v___y_6870_); -lean_dec_ref(v___y_6869_); -return v_res_6876_; +lean_object* v_res_6901_; +v_res_6901_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__4(v_i_6892_, v_as_6893_, v___y_6894_, v___y_6895_, v___y_6896_, v___y_6897_, v___y_6898_, v___y_6899_); +lean_dec(v___y_6899_); +lean_dec_ref(v___y_6898_); +lean_dec(v___y_6897_); +lean_dec_ref(v___y_6896_); +lean_dec(v___y_6895_); +lean_dec_ref(v___y_6894_); +return v_res_6901_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___boxed(lean_object* v_code_6877_, lean_object* v_a_6878_, lean_object* v_a_6879_, lean_object* v_a_6880_, lean_object* v_a_6881_, lean_object* v_a_6882_, lean_object* v_a_6883_, lean_object* v_a_6884_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode___boxed(lean_object* v_code_6902_, lean_object* v_a_6903_, lean_object* v_a_6904_, lean_object* v_a_6905_, lean_object* v_a_6906_, lean_object* v_a_6907_, lean_object* v_a_6908_, lean_object* v_a_6909_){ _start: { -lean_object* v_res_6885_; -v_res_6885_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6877_, v_a_6878_, v_a_6879_, v_a_6880_, v_a_6881_, v_a_6882_, v_a_6883_); -lean_dec(v_a_6883_); -lean_dec_ref(v_a_6882_); -lean_dec(v_a_6881_); -lean_dec_ref(v_a_6880_); -lean_dec(v_a_6879_); -lean_dec_ref(v_a_6878_); -return v_res_6885_; +lean_object* v_res_6910_; +v_res_6910_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode(v_code_6902_, v_a_6903_, v_a_6904_, v_a_6905_, v_a_6906_, v_a_6907_, v_a_6908_); +lean_dec(v_a_6908_); +lean_dec_ref(v_a_6907_); +lean_dec(v_a_6906_); +lean_dec_ref(v_a_6905_); +lean_dec(v_a_6904_); +lean_dec_ref(v_a_6903_); +return v_res_6910_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2(lean_object* v_e_6886_, lean_object* v_a_6887_, lean_object* v_a_6888_, lean_object* v_a_6889_, lean_object* v_a_6890_, lean_object* v_a_6891_, lean_object* v_a_6892_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2(lean_object* v_e_6911_, lean_object* v_a_6912_, lean_object* v_a_6913_, lean_object* v_a_6914_, lean_object* v_a_6915_, lean_object* v_a_6916_, lean_object* v_a_6917_){ _start: { -lean_object* v___x_6894_; -v___x_6894_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_e_6886_, v_a_6887_); -return v___x_6894_; +lean_object* v___x_6919_; +v___x_6919_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___redArg(v_e_6911_, v_a_6912_); +return v___x_6919_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___boxed(lean_object* v_e_6895_, lean_object* v_a_6896_, lean_object* v_a_6897_, lean_object* v_a_6898_, lean_object* v_a_6899_, lean_object* v_a_6900_, lean_object* v_a_6901_, lean_object* v_a_6902_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2___boxed(lean_object* v_e_6920_, lean_object* v_a_6921_, lean_object* v_a_6922_, lean_object* v_a_6923_, lean_object* v_a_6924_, lean_object* v_a_6925_, lean_object* v_a_6926_, lean_object* v_a_6927_){ _start: { -lean_object* v_res_6903_; -v_res_6903_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2(v_e_6895_, v_a_6896_, v_a_6897_, v_a_6898_, v_a_6899_, v_a_6900_, v_a_6901_); -lean_dec(v_a_6901_); -lean_dec_ref(v_a_6900_); -lean_dec(v_a_6899_); -lean_dec_ref(v_a_6898_); -lean_dec(v_a_6897_); -lean_dec_ref(v_a_6896_); -return v_res_6903_; +lean_object* v_res_6928_; +v_res_6928_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_isGround___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__2(v_e_6920_, v_a_6921_, v_a_6922_, v_a_6923_, v_a_6924_, v_a_6925_, v_a_6926_); +lean_dec(v_a_6926_); +lean_dec_ref(v_a_6925_); +lean_dec(v_a_6924_); +lean_dec_ref(v_a_6923_); +lean_dec(v_a_6922_); +lean_dec_ref(v_a_6921_); +return v_res_6928_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10(uint8_t v_pu_6904_, lean_object* v_alt_6905_, lean_object* v_f_6906_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10(uint8_t v_pu_6929_, lean_object* v_alt_6930_, lean_object* v_f_6931_){ _start: { -lean_object* v___x_6907_; -v___x_6907_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(v_alt_6905_, v_f_6906_); -return v___x_6907_; +lean_object* v___x_6932_; +v___x_6932_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___redArg(v_alt_6930_, v_f_6931_); +return v___x_6932_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___boxed(lean_object* v_pu_6908_, lean_object* v_alt_6909_, lean_object* v_f_6910_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10___boxed(lean_object* v_pu_6933_, lean_object* v_alt_6934_, lean_object* v_f_6935_){ _start: { -uint8_t v_pu_boxed_6911_; lean_object* v_res_6912_; -v_pu_boxed_6911_ = lean_unbox(v_pu_6908_); -v_res_6912_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10(v_pu_boxed_6911_, v_alt_6909_, v_f_6910_); -return v_res_6912_; +uint8_t v_pu_boxed_6936_; lean_object* v_res_6937_; +v_pu_boxed_6936_ = lean_unbox(v_pu_6933_); +v_res_6937_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__10(v_pu_boxed_6936_, v_alt_6934_, v_f_6935_); +return v_res_6937_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9(uint8_t v_pu_6913_, lean_object* v_f_6914_, lean_object* v_param_6915_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9(uint8_t v_pu_6938_, lean_object* v_f_6939_, lean_object* v_param_6940_){ _start: { -lean_object* v___x_6916_; -v___x_6916_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(v_f_6914_, v_param_6915_); -return v___x_6916_; +lean_object* v___x_6941_; +v___x_6941_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___redArg(v_f_6939_, v_param_6940_); +return v___x_6941_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___boxed(lean_object* v_pu_6917_, lean_object* v_f_6918_, lean_object* v_param_6919_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9___boxed(lean_object* v_pu_6942_, lean_object* v_f_6943_, lean_object* v_param_6944_){ _start: { -uint8_t v_pu_boxed_6920_; lean_object* v_res_6921_; -v_pu_boxed_6920_ = lean_unbox(v_pu_6917_); -v_res_6921_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9(v_pu_boxed_6920_, v_f_6918_, v_param_6919_); -return v_res_6921_; +uint8_t v_pu_boxed_6945_; lean_object* v_res_6946_; +v_pu_boxed_6945_ = lean_unbox(v_pu_6942_); +v_res_6946_ = l_Lean_Compiler_LCNF_Param_forFVarM___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__9(v_pu_boxed_6945_, v_f_6943_, v_param_6944_); +return v_res_6946_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13(uint8_t v_pu_6922_, lean_object* v_f_6923_, lean_object* v_as_6924_, size_t v_i_6925_, size_t v_stop_6926_, lean_object* v_b_6927_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13(uint8_t v_pu_6947_, lean_object* v_f_6948_, lean_object* v_as_6949_, size_t v_i_6950_, size_t v_stop_6951_, lean_object* v_b_6952_){ _start: { -lean_object* v___x_6928_; -v___x_6928_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6923_, v_as_6924_, v_i_6925_, v_stop_6926_, v_b_6927_); -return v___x_6928_; +lean_object* v___x_6953_; +v___x_6953_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___redArg(v_f_6948_, v_as_6949_, v_i_6950_, v_stop_6951_, v_b_6952_); +return v___x_6953_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___boxed(lean_object* v_pu_6929_, lean_object* v_f_6930_, lean_object* v_as_6931_, lean_object* v_i_6932_, lean_object* v_stop_6933_, lean_object* v_b_6934_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13___boxed(lean_object* v_pu_6954_, lean_object* v_f_6955_, lean_object* v_as_6956_, lean_object* v_i_6957_, lean_object* v_stop_6958_, lean_object* v_b_6959_){ _start: { -uint8_t v_pu_boxed_6935_; size_t v_i_boxed_6936_; size_t v_stop_boxed_6937_; lean_object* v_res_6938_; -v_pu_boxed_6935_ = lean_unbox(v_pu_6929_); -v_i_boxed_6936_ = lean_unbox_usize(v_i_6932_); -lean_dec(v_i_6932_); -v_stop_boxed_6937_ = lean_unbox_usize(v_stop_6933_); -lean_dec(v_stop_6933_); -v_res_6938_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13(v_pu_boxed_6935_, v_f_6930_, v_as_6931_, v_i_boxed_6936_, v_stop_boxed_6937_, v_b_6934_); -lean_dec_ref(v_as_6931_); -return v_res_6938_; +uint8_t v_pu_boxed_6960_; size_t v_i_boxed_6961_; size_t v_stop_boxed_6962_; lean_object* v_res_6963_; +v_pu_boxed_6960_ = lean_unbox(v_pu_6954_); +v_i_boxed_6961_ = lean_unbox_usize(v_i_6957_); +lean_dec(v_i_6957_); +v_stop_boxed_6962_ = lean_unbox_usize(v_stop_6958_); +lean_dec(v_stop_6958_); +v_res_6963_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_Code_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00Lean_Compiler_LCNF_allFVar___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitCode_spec__3_spec__4_spec__6_spec__13(v_pu_boxed_6960_, v_f_6955_, v_as_6956_, v_i_boxed_6961_, v_stop_boxed_6962_, v_b_6959_); +lean_dec_ref(v_as_6956_); +return v_res_6963_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(lean_object* v_f_6939_, lean_object* v_v_6940_, lean_object* v___y_6941_, lean_object* v___y_6942_, lean_object* v___y_6943_, lean_object* v___y_6944_, lean_object* v___y_6945_, lean_object* v___y_6946_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(lean_object* v_f_6964_, lean_object* v_v_6965_, lean_object* v___y_6966_, lean_object* v___y_6967_, lean_object* v___y_6968_, lean_object* v___y_6969_, lean_object* v___y_6970_, lean_object* v___y_6971_){ _start: { -if (lean_obj_tag(v_v_6940_) == 0) +if (lean_obj_tag(v_v_6965_) == 0) { -lean_object* v_code_6948_; lean_object* v___x_6950_; uint8_t v_isShared_6951_; uint8_t v_isSharedCheck_6972_; -v_code_6948_ = lean_ctor_get(v_v_6940_, 0); -v_isSharedCheck_6972_ = !lean_is_exclusive(v_v_6940_); -if (v_isSharedCheck_6972_ == 0) +lean_object* v_code_6973_; lean_object* v___x_6975_; uint8_t v_isShared_6976_; uint8_t v_isSharedCheck_6997_; +v_code_6973_ = lean_ctor_get(v_v_6965_, 0); +v_isSharedCheck_6997_ = !lean_is_exclusive(v_v_6965_); +if (v_isSharedCheck_6997_ == 0) { -v___x_6950_ = v_v_6940_; -v_isShared_6951_ = v_isSharedCheck_6972_; -goto v_resetjp_6949_; +v___x_6975_ = v_v_6965_; +v_isShared_6976_ = v_isSharedCheck_6997_; +goto v_resetjp_6974_; } else { -lean_inc(v_code_6948_); -lean_dec(v_v_6940_); -v___x_6950_ = lean_box(0); -v_isShared_6951_ = v_isSharedCheck_6972_; -goto v_resetjp_6949_; +lean_inc(v_code_6973_); +lean_dec(v_v_6965_); +v___x_6975_ = lean_box(0); +v_isShared_6976_ = v_isSharedCheck_6997_; +goto v_resetjp_6974_; } -v_resetjp_6949_: +v_resetjp_6974_: { -lean_object* v___x_6952_; -lean_inc(v___y_6946_); -lean_inc_ref(v___y_6945_); -lean_inc(v___y_6944_); -lean_inc_ref(v___y_6943_); -lean_inc(v___y_6942_); -lean_inc_ref(v___y_6941_); -v___x_6952_ = lean_apply_8(v_f_6939_, v_code_6948_, v___y_6941_, v___y_6942_, v___y_6943_, v___y_6944_, v___y_6945_, v___y_6946_, lean_box(0)); -if (lean_obj_tag(v___x_6952_) == 0) +lean_object* v___x_6977_; +lean_inc(v___y_6971_); +lean_inc_ref(v___y_6970_); +lean_inc(v___y_6969_); +lean_inc_ref(v___y_6968_); +lean_inc(v___y_6967_); +lean_inc_ref(v___y_6966_); +v___x_6977_ = lean_apply_8(v_f_6964_, v_code_6973_, v___y_6966_, v___y_6967_, v___y_6968_, v___y_6969_, v___y_6970_, v___y_6971_, lean_box(0)); +if (lean_obj_tag(v___x_6977_) == 0) { -lean_object* v_a_6953_; lean_object* v___x_6955_; uint8_t v_isShared_6956_; uint8_t v_isSharedCheck_6963_; -v_a_6953_ = lean_ctor_get(v___x_6952_, 0); -v_isSharedCheck_6963_ = !lean_is_exclusive(v___x_6952_); -if (v_isSharedCheck_6963_ == 0) +lean_object* v_a_6978_; lean_object* v___x_6980_; uint8_t v_isShared_6981_; uint8_t v_isSharedCheck_6988_; +v_a_6978_ = lean_ctor_get(v___x_6977_, 0); +v_isSharedCheck_6988_ = !lean_is_exclusive(v___x_6977_); +if (v_isSharedCheck_6988_ == 0) { -v___x_6955_ = v___x_6952_; -v_isShared_6956_ = v_isSharedCheck_6963_; -goto v_resetjp_6954_; +v___x_6980_ = v___x_6977_; +v_isShared_6981_ = v_isSharedCheck_6988_; +goto v_resetjp_6979_; } else { -lean_inc(v_a_6953_); -lean_dec(v___x_6952_); -v___x_6955_ = lean_box(0); -v_isShared_6956_ = v_isSharedCheck_6963_; -goto v_resetjp_6954_; +lean_inc(v_a_6978_); +lean_dec(v___x_6977_); +v___x_6980_ = lean_box(0); +v_isShared_6981_ = v_isSharedCheck_6988_; +goto v_resetjp_6979_; } -v_resetjp_6954_: +v_resetjp_6979_: { -lean_object* v___x_6958_; -if (v_isShared_6951_ == 0) +lean_object* v___x_6983_; +if (v_isShared_6976_ == 0) { -lean_ctor_set(v___x_6950_, 0, v_a_6953_); -v___x_6958_ = v___x_6950_; -goto v_reusejp_6957_; +lean_ctor_set(v___x_6975_, 0, v_a_6978_); +v___x_6983_ = v___x_6975_; +goto v_reusejp_6982_; } else { -lean_object* v_reuseFailAlloc_6962_; -v_reuseFailAlloc_6962_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6962_, 0, v_a_6953_); -v___x_6958_ = v_reuseFailAlloc_6962_; -goto v_reusejp_6957_; +lean_object* v_reuseFailAlloc_6987_; +v_reuseFailAlloc_6987_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6987_, 0, v_a_6978_); +v___x_6983_ = v_reuseFailAlloc_6987_; +goto v_reusejp_6982_; } -v_reusejp_6957_: +v_reusejp_6982_: { -lean_object* v___x_6960_; -if (v_isShared_6956_ == 0) +lean_object* v___x_6985_; +if (v_isShared_6981_ == 0) { -lean_ctor_set(v___x_6955_, 0, v___x_6958_); -v___x_6960_ = v___x_6955_; -goto v_reusejp_6959_; +lean_ctor_set(v___x_6980_, 0, v___x_6983_); +v___x_6985_ = v___x_6980_; +goto v_reusejp_6984_; } else { -lean_object* v_reuseFailAlloc_6961_; -v_reuseFailAlloc_6961_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6961_, 0, v___x_6958_); -v___x_6960_ = v_reuseFailAlloc_6961_; -goto v_reusejp_6959_; +lean_object* v_reuseFailAlloc_6986_; +v_reuseFailAlloc_6986_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6986_, 0, v___x_6983_); +v___x_6985_ = v_reuseFailAlloc_6986_; +goto v_reusejp_6984_; } -v_reusejp_6959_: +v_reusejp_6984_: { -return v___x_6960_; +return v___x_6985_; } } } } else { -lean_object* v_a_6964_; lean_object* v___x_6966_; uint8_t v_isShared_6967_; uint8_t v_isSharedCheck_6971_; -lean_del_object(v___x_6950_); -v_a_6964_ = lean_ctor_get(v___x_6952_, 0); -v_isSharedCheck_6971_ = !lean_is_exclusive(v___x_6952_); -if (v_isSharedCheck_6971_ == 0) +lean_object* v_a_6989_; lean_object* v___x_6991_; uint8_t v_isShared_6992_; uint8_t v_isSharedCheck_6996_; +lean_del_object(v___x_6975_); +v_a_6989_ = lean_ctor_get(v___x_6977_, 0); +v_isSharedCheck_6996_ = !lean_is_exclusive(v___x_6977_); +if (v_isSharedCheck_6996_ == 0) { -v___x_6966_ = v___x_6952_; -v_isShared_6967_ = v_isSharedCheck_6971_; -goto v_resetjp_6965_; +v___x_6991_ = v___x_6977_; +v_isShared_6992_ = v_isSharedCheck_6996_; +goto v_resetjp_6990_; } else { -lean_inc(v_a_6964_); -lean_dec(v___x_6952_); -v___x_6966_ = lean_box(0); -v_isShared_6967_ = v_isSharedCheck_6971_; -goto v_resetjp_6965_; +lean_inc(v_a_6989_); +lean_dec(v___x_6977_); +v___x_6991_ = lean_box(0); +v_isShared_6992_ = v_isSharedCheck_6996_; +goto v_resetjp_6990_; } -v_resetjp_6965_: -{ -lean_object* v___x_6969_; -if (v_isShared_6967_ == 0) -{ -v___x_6969_ = v___x_6966_; -goto v_reusejp_6968_; -} -else -{ -lean_object* v_reuseFailAlloc_6970_; -v_reuseFailAlloc_6970_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_6970_, 0, v_a_6964_); -v___x_6969_ = v_reuseFailAlloc_6970_; -goto v_reusejp_6968_; -} -v_reusejp_6968_: -{ -return v___x_6969_; -} -} -} -} -} -else -{ -lean_object* v___x_6973_; -lean_dec_ref(v_f_6939_); -v___x_6973_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_6973_, 0, v_v_6940_); -return v___x_6973_; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg___boxed(lean_object* v_f_6974_, lean_object* v_v_6975_, lean_object* v___y_6976_, lean_object* v___y_6977_, lean_object* v___y_6978_, lean_object* v___y_6979_, lean_object* v___y_6980_, lean_object* v___y_6981_, lean_object* v___y_6982_){ -_start: -{ -lean_object* v_res_6983_; -v_res_6983_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v_f_6974_, v_v_6975_, v___y_6976_, v___y_6977_, v___y_6978_, v___y_6979_, v___y_6980_, v___y_6981_); -lean_dec(v___y_6981_); -lean_dec_ref(v___y_6980_); -lean_dec(v___y_6979_); -lean_dec_ref(v___y_6978_); -lean_dec(v___y_6977_); -lean_dec_ref(v___y_6976_); -return v_res_6983_; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0(uint8_t v_pu_6984_, lean_object* v_f_6985_, lean_object* v_v_6986_, lean_object* v___y_6987_, lean_object* v___y_6988_, lean_object* v___y_6989_, lean_object* v___y_6990_, lean_object* v___y_6991_, lean_object* v___y_6992_){ -_start: +v_resetjp_6990_: { lean_object* v___x_6994_; -v___x_6994_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v_f_6985_, v_v_6986_, v___y_6987_, v___y_6988_, v___y_6989_, v___y_6990_, v___y_6991_, v___y_6992_); +if (v_isShared_6992_ == 0) +{ +v___x_6994_ = v___x_6991_; +goto v_reusejp_6993_; +} +else +{ +lean_object* v_reuseFailAlloc_6995_; +v_reuseFailAlloc_6995_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_6995_, 0, v_a_6989_); +v___x_6994_ = v_reuseFailAlloc_6995_; +goto v_reusejp_6993_; +} +v_reusejp_6993_: +{ return v___x_6994_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___boxed(lean_object* v_pu_6995_, lean_object* v_f_6996_, lean_object* v_v_6997_, lean_object* v___y_6998_, lean_object* v___y_6999_, lean_object* v___y_7000_, lean_object* v___y_7001_, lean_object* v___y_7002_, lean_object* v___y_7003_, lean_object* v___y_7004_){ +} +} +} +else +{ +lean_object* v___x_6998_; +lean_dec_ref(v_f_6964_); +v___x_6998_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_6998_, 0, v_v_6965_); +return v___x_6998_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg___boxed(lean_object* v_f_6999_, lean_object* v_v_7000_, lean_object* v___y_7001_, lean_object* v___y_7002_, lean_object* v___y_7003_, lean_object* v___y_7004_, lean_object* v___y_7005_, lean_object* v___y_7006_, lean_object* v___y_7007_){ _start: { -uint8_t v_pu_boxed_7005_; lean_object* v_res_7006_; -v_pu_boxed_7005_ = lean_unbox(v_pu_6995_); -v_res_7006_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0(v_pu_boxed_7005_, v_f_6996_, v_v_6997_, v___y_6998_, v___y_6999_, v___y_7000_, v___y_7001_, v___y_7002_, v___y_7003_); -lean_dec(v___y_7003_); -lean_dec_ref(v___y_7002_); -lean_dec(v___y_7001_); -lean_dec_ref(v___y_7000_); -lean_dec(v___y_6999_); -lean_dec_ref(v___y_6998_); -return v_res_7006_; +lean_object* v_res_7008_; +v_res_7008_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v_f_6999_, v_v_7000_, v___y_7001_, v___y_7002_, v___y_7003_, v___y_7004_, v___y_7005_, v___y_7006_); +lean_dec(v___y_7006_); +lean_dec_ref(v___y_7005_); +lean_dec(v___y_7004_); +lean_dec_ref(v___y_7003_); +lean_dec(v___y_7002_); +lean_dec_ref(v___y_7001_); +return v_res_7008_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0(uint8_t v_pu_7009_, lean_object* v_f_7010_, lean_object* v_v_7011_, lean_object* v___y_7012_, lean_object* v___y_7013_, lean_object* v___y_7014_, lean_object* v___y_7015_, lean_object* v___y_7016_, lean_object* v___y_7017_){ +_start: +{ +lean_object* v___x_7019_; +v___x_7019_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v_f_7010_, v_v_7011_, v___y_7012_, v___y_7013_, v___y_7014_, v___y_7015_, v___y_7016_, v___y_7017_); +return v___x_7019_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___boxed(lean_object* v_pu_7020_, lean_object* v_f_7021_, lean_object* v_v_7022_, lean_object* v___y_7023_, lean_object* v___y_7024_, lean_object* v___y_7025_, lean_object* v___y_7026_, lean_object* v___y_7027_, lean_object* v___y_7028_, lean_object* v___y_7029_){ +_start: +{ +uint8_t v_pu_boxed_7030_; lean_object* v_res_7031_; +v_pu_boxed_7030_ = lean_unbox(v_pu_7020_); +v_res_7031_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0(v_pu_boxed_7030_, v_f_7021_, v_v_7022_, v___y_7023_, v___y_7024_, v___y_7025_, v___y_7026_, v___y_7027_, v___y_7028_); +lean_dec(v___y_7028_); +lean_dec_ref(v___y_7027_); +lean_dec(v___y_7026_); +lean_dec_ref(v___y_7025_); +lean_dec(v___y_7024_); +lean_dec_ref(v___y_7023_); +return v_res_7031_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1(void){ _start: { -lean_object* v___x_7008_; lean_object* v___x_7009_; -v___x_7008_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__0)); -v___x_7009_ = l_Lean_stringToMessageData(v___x_7008_); -return v___x_7009_; +lean_object* v___x_7033_; lean_object* v___x_7034_; +v___x_7033_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__0)); +v___x_7034_ = l_Lean_stringToMessageData(v___x_7033_); +return v___x_7034_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4(void){ _start: { -lean_object* v___x_7012_; lean_object* v___x_7013_; -v___x_7012_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__3)); -v___x_7013_ = l_Lean_stringToMessageData(v___x_7012_); -return v___x_7013_; +lean_object* v___x_7037_; lean_object* v___x_7038_; +v___x_7037_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__3)); +v___x_7038_ = l_Lean_stringToMessageData(v___x_7037_); +return v___x_7038_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(lean_object* v_decl_7014_, lean_object* v_a_7015_, lean_object* v_a_7016_, lean_object* v_a_7017_, lean_object* v_a_7018_, lean_object* v_a_7019_, lean_object* v_a_7020_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(lean_object* v_decl_7039_, lean_object* v_a_7040_, lean_object* v_a_7041_, lean_object* v_a_7042_, lean_object* v_a_7043_, lean_object* v_a_7044_, lean_object* v_a_7045_){ _start: { -uint8_t v___y_7023_; lean_object* v___y_7024_; lean_object* v_cls_7028_; uint8_t v___y_7030_; lean_object* v___y_7031_; uint8_t v___y_7032_; lean_object* v_updated_7033_; lean_object* v___y_7034_; lean_object* v___y_7035_; lean_object* v___y_7036_; lean_object* v___y_7037_; lean_object* v___y_7068_; lean_object* v___y_7069_; uint8_t v___y_7070_; lean_object* v___y_7071_; lean_object* v___y_7072_; lean_object* v_ground_7073_; lean_object* v_underApplied_7074_; lean_object* v_declName_7075_; lean_object* v___y_7076_; uint8_t v___y_7077_; lean_object* v___y_7078_; lean_object* v___y_7079_; lean_object* v___y_7080_; lean_object* v___y_7081_; lean_object* v___y_7082_; uint8_t v___y_7083_; uint8_t v___y_7084_; lean_object* v___y_7085_; lean_object* v___y_7112_; lean_object* v___y_7113_; lean_object* v___y_7114_; lean_object* v___y_7115_; lean_object* v___y_7116_; lean_object* v___y_7117_; lean_object* v___x_7180_; lean_object* v_a_7181_; uint8_t v___x_7182_; -v_cls_7028_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_7180_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_7028_, v_a_7019_); -v_a_7181_ = lean_ctor_get(v___x_7180_, 0); -lean_inc(v_a_7181_); -lean_dec_ref(v___x_7180_); -v___x_7182_ = lean_unbox(v_a_7181_); -lean_dec(v_a_7181_); -if (v___x_7182_ == 0) +uint8_t v___y_7048_; lean_object* v___y_7049_; lean_object* v_cls_7053_; uint8_t v___y_7055_; lean_object* v___y_7056_; uint8_t v___y_7057_; lean_object* v_updated_7058_; lean_object* v___y_7059_; lean_object* v___y_7060_; lean_object* v___y_7061_; lean_object* v___y_7062_; lean_object* v___y_7093_; lean_object* v___y_7094_; lean_object* v___y_7095_; uint8_t v___y_7096_; uint8_t v___y_7097_; uint8_t v___y_7098_; lean_object* v___y_7099_; uint8_t v___y_7100_; lean_object* v___y_7101_; lean_object* v___y_7102_; lean_object* v___y_7103_; lean_object* v___y_7104_; lean_object* v___y_7105_; lean_object* v_ground_7106_; lean_object* v_underApplied_7107_; lean_object* v_declName_7108_; lean_object* v___y_7109_; lean_object* v___y_7110_; lean_object* v___y_7137_; lean_object* v___y_7138_; lean_object* v___y_7139_; lean_object* v___y_7140_; lean_object* v___y_7141_; lean_object* v___y_7142_; lean_object* v___x_7205_; lean_object* v_a_7206_; uint8_t v___x_7207_; +v_cls_7053_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_7205_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_7053_, v_a_7044_); +v_a_7206_ = lean_ctor_get(v___x_7205_, 0); +lean_inc(v_a_7206_); +lean_dec_ref(v___x_7205_); +v___x_7207_ = lean_unbox(v_a_7206_); +lean_dec(v_a_7206_); +if (v___x_7207_ == 0) { -v___y_7112_ = v_a_7015_; -v___y_7113_ = v_a_7016_; -v___y_7114_ = v_a_7017_; -v___y_7115_ = v_a_7018_; -v___y_7116_ = v_a_7019_; -v___y_7117_ = v_a_7020_; -goto v___jp_7111_; +v___y_7137_ = v_a_7040_; +v___y_7138_ = v_a_7041_; +v___y_7139_ = v_a_7042_; +v___y_7140_ = v_a_7043_; +v___y_7141_ = v_a_7044_; +v___y_7142_ = v_a_7045_; +goto v___jp_7136_; } else { -lean_object* v_toSignature_7183_; lean_object* v_name_7184_; lean_object* v___x_7185_; lean_object* v___x_7186_; lean_object* v___x_7187_; lean_object* v___x_7188_; -v_toSignature_7183_ = lean_ctor_get(v_decl_7014_, 0); -v_name_7184_ = lean_ctor_get(v_toSignature_7183_, 0); -v___x_7185_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4); -lean_inc(v_name_7184_); -v___x_7186_ = l_Lean_MessageData_ofName(v_name_7184_); -v___x_7187_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7187_, 0, v___x_7185_); -lean_ctor_set(v___x_7187_, 1, v___x_7186_); -v___x_7188_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_7028_, v___x_7187_, v_a_7017_, v_a_7018_, v_a_7019_, v_a_7020_); -if (lean_obj_tag(v___x_7188_) == 0) +lean_object* v_toSignature_7208_; lean_object* v_name_7209_; lean_object* v___x_7210_; lean_object* v___x_7211_; lean_object* v___x_7212_; lean_object* v___x_7213_; +v_toSignature_7208_ = lean_ctor_get(v_decl_7039_, 0); +v_name_7209_ = lean_ctor_get(v_toSignature_7208_, 0); +v___x_7210_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__4); +lean_inc(v_name_7209_); +v___x_7211_ = l_Lean_MessageData_ofName(v_name_7209_); +v___x_7212_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7212_, 0, v___x_7210_); +lean_ctor_set(v___x_7212_, 1, v___x_7211_); +v___x_7213_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_7053_, v___x_7212_, v_a_7042_, v_a_7043_, v_a_7044_, v_a_7045_); +if (lean_obj_tag(v___x_7213_) == 0) { -lean_dec_ref(v___x_7188_); -v___y_7112_ = v_a_7015_; -v___y_7113_ = v_a_7016_; -v___y_7114_ = v_a_7017_; -v___y_7115_ = v_a_7018_; -v___y_7116_ = v_a_7019_; -v___y_7117_ = v_a_7020_; -goto v___jp_7111_; +lean_dec_ref(v___x_7213_); +v___y_7137_ = v_a_7040_; +v___y_7138_ = v_a_7041_; +v___y_7139_ = v_a_7042_; +v___y_7140_ = v_a_7043_; +v___y_7141_ = v_a_7044_; +v___y_7142_ = v_a_7045_; +goto v___jp_7136_; } else { -lean_object* v_a_7189_; lean_object* v___x_7191_; uint8_t v_isShared_7192_; uint8_t v_isSharedCheck_7196_; -lean_dec_ref(v_decl_7014_); -v_a_7189_ = lean_ctor_get(v___x_7188_, 0); -v_isSharedCheck_7196_ = !lean_is_exclusive(v___x_7188_); -if (v_isSharedCheck_7196_ == 0) +lean_object* v_a_7214_; lean_object* v___x_7216_; uint8_t v_isShared_7217_; uint8_t v_isSharedCheck_7221_; +lean_dec_ref(v_decl_7039_); +v_a_7214_ = lean_ctor_get(v___x_7213_, 0); +v_isSharedCheck_7221_ = !lean_is_exclusive(v___x_7213_); +if (v_isSharedCheck_7221_ == 0) { -v___x_7191_ = v___x_7188_; -v_isShared_7192_ = v_isSharedCheck_7196_; -goto v_resetjp_7190_; +v___x_7216_ = v___x_7213_; +v_isShared_7217_ = v_isSharedCheck_7221_; +goto v_resetjp_7215_; } else { -lean_inc(v_a_7189_); -lean_dec(v___x_7188_); -v___x_7191_ = lean_box(0); -v_isShared_7192_ = v_isSharedCheck_7196_; -goto v_resetjp_7190_; +lean_inc(v_a_7214_); +lean_dec(v___x_7213_); +v___x_7216_ = lean_box(0); +v_isShared_7217_ = v_isSharedCheck_7221_; +goto v_resetjp_7215_; } -v_resetjp_7190_: +v_resetjp_7215_: { -lean_object* v___x_7194_; -if (v_isShared_7192_ == 0) +lean_object* v___x_7219_; +if (v_isShared_7217_ == 0) { -v___x_7194_ = v___x_7191_; -goto v_reusejp_7193_; +v___x_7219_ = v___x_7216_; +goto v_reusejp_7218_; } else { -lean_object* v_reuseFailAlloc_7195_; -v_reuseFailAlloc_7195_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7195_, 0, v_a_7189_); -v___x_7194_ = v_reuseFailAlloc_7195_; -goto v_reusejp_7193_; +lean_object* v_reuseFailAlloc_7220_; +v_reuseFailAlloc_7220_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7220_, 0, v_a_7214_); +v___x_7219_ = v_reuseFailAlloc_7220_; +goto v_reusejp_7218_; } -v_reusejp_7193_: +v_reusejp_7218_: { -return v___x_7194_; +return v___x_7219_; } } } } -v___jp_7022_: +v___jp_7047_: { -lean_object* v___x_7025_; lean_object* v___x_7026_; lean_object* v___x_7027_; -v___x_7025_ = lean_box(v___y_7023_); -v___x_7026_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_7026_, 0, v___y_7024_); -lean_ctor_set(v___x_7026_, 1, v___x_7025_); -v___x_7027_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_7027_, 0, v___x_7026_); -return v___x_7027_; +lean_object* v___x_7050_; lean_object* v___x_7051_; lean_object* v___x_7052_; +v___x_7050_ = lean_box(v___y_7048_); +v___x_7051_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_7051_, 0, v___y_7049_); +lean_ctor_set(v___x_7051_, 1, v___x_7050_); +v___x_7052_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_7052_, 0, v___x_7051_); +return v___x_7052_; } -v___jp_7029_: +v___jp_7054_: { -lean_object* v___x_7038_; lean_object* v_a_7039_; uint8_t v___x_7040_; -v___x_7038_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_7028_, v___y_7036_); -v_a_7039_ = lean_ctor_get(v___x_7038_, 0); -lean_inc(v_a_7039_); -lean_dec_ref(v___x_7038_); -v___x_7040_ = lean_unbox(v_a_7039_); -lean_dec(v_a_7039_); -if (v___x_7040_ == 0) +lean_object* v___x_7063_; lean_object* v_a_7064_; uint8_t v___x_7065_; +v___x_7063_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v_cls_7053_, v___y_7061_); +v_a_7064_ = lean_ctor_get(v___x_7063_, 0); +lean_inc(v_a_7064_); +lean_dec_ref(v___x_7063_); +v___x_7065_ = lean_unbox(v_a_7064_); +lean_dec(v_a_7064_); +if (v___x_7065_ == 0) { -lean_dec(v___y_7031_); -v___y_7023_ = v___y_7030_; -v___y_7024_ = v_updated_7033_; -goto v___jp_7022_; +lean_dec(v___y_7056_); +v___y_7048_ = v___y_7057_; +v___y_7049_ = v_updated_7058_; +goto v___jp_7047_; } else { -lean_object* v___x_7041_; -lean_inc_ref(v_updated_7033_); -v___x_7041_ = l_Lean_Compiler_LCNF_ppDecl(v___y_7032_, v_updated_7033_, v___y_7034_, v___y_7035_, v___y_7036_, v___y_7037_); -if (lean_obj_tag(v___x_7041_) == 0) +lean_object* v___x_7066_; +lean_inc_ref(v_updated_7058_); +v___x_7066_ = l_Lean_Compiler_LCNF_ppDecl(v___y_7055_, v_updated_7058_, v___y_7059_, v___y_7060_, v___y_7061_, v___y_7062_); +if (lean_obj_tag(v___x_7066_) == 0) { -lean_object* v_a_7042_; lean_object* v___x_7043_; lean_object* v___x_7044_; lean_object* v___x_7045_; lean_object* v___x_7046_; lean_object* v___x_7047_; lean_object* v___x_7048_; lean_object* v___x_7049_; lean_object* v___x_7050_; -v_a_7042_ = lean_ctor_get(v___x_7041_, 0); -lean_inc(v_a_7042_); -lean_dec_ref(v___x_7041_); -v___x_7043_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1); -v___x_7044_ = l_Lean_MessageData_ofName(v___y_7031_); -v___x_7045_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7045_, 0, v___x_7043_); -lean_ctor_set(v___x_7045_, 1, v___x_7044_); -v___x_7046_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8); -v___x_7047_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7047_, 0, v___x_7045_); -lean_ctor_set(v___x_7047_, 1, v___x_7046_); -v___x_7048_ = l_Lean_MessageData_ofFormat(v_a_7042_); -v___x_7049_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7049_, 0, v___x_7047_); -lean_ctor_set(v___x_7049_, 1, v___x_7048_); -v___x_7050_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_7028_, v___x_7049_, v___y_7034_, v___y_7035_, v___y_7036_, v___y_7037_); -if (lean_obj_tag(v___x_7050_) == 0) +lean_object* v_a_7067_; lean_object* v___x_7068_; lean_object* v___x_7069_; lean_object* v___x_7070_; lean_object* v___x_7071_; lean_object* v___x_7072_; lean_object* v___x_7073_; lean_object* v___x_7074_; lean_object* v___x_7075_; +v_a_7067_ = lean_ctor_get(v___x_7066_, 0); +lean_inc(v_a_7067_); +lean_dec_ref(v___x_7066_); +v___x_7068_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__1); +v___x_7069_ = l_Lean_MessageData_ofName(v___y_7056_); +v___x_7070_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7070_, 0, v___x_7068_); +lean_ctor_set(v___x_7070_, 1, v___x_7069_); +v___x_7071_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__8); +v___x_7072_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7072_, 0, v___x_7070_); +lean_ctor_set(v___x_7072_, 1, v___x_7071_); +v___x_7073_ = l_Lean_MessageData_ofFormat(v_a_7067_); +v___x_7074_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7074_, 0, v___x_7072_); +lean_ctor_set(v___x_7074_, 1, v___x_7073_); +v___x_7075_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v_cls_7053_, v___x_7074_, v___y_7059_, v___y_7060_, v___y_7061_, v___y_7062_); +if (lean_obj_tag(v___x_7075_) == 0) { -lean_dec_ref(v___x_7050_); -v___y_7023_ = v___y_7030_; -v___y_7024_ = v_updated_7033_; -goto v___jp_7022_; +lean_dec_ref(v___x_7075_); +v___y_7048_ = v___y_7057_; +v___y_7049_ = v_updated_7058_; +goto v___jp_7047_; } else { -lean_object* v_a_7051_; lean_object* v___x_7053_; uint8_t v_isShared_7054_; uint8_t v_isSharedCheck_7058_; -lean_dec_ref(v_updated_7033_); -v_a_7051_ = lean_ctor_get(v___x_7050_, 0); -v_isSharedCheck_7058_ = !lean_is_exclusive(v___x_7050_); -if (v_isSharedCheck_7058_ == 0) +lean_object* v_a_7076_; lean_object* v___x_7078_; uint8_t v_isShared_7079_; uint8_t v_isSharedCheck_7083_; +lean_dec_ref(v_updated_7058_); +v_a_7076_ = lean_ctor_get(v___x_7075_, 0); +v_isSharedCheck_7083_ = !lean_is_exclusive(v___x_7075_); +if (v_isSharedCheck_7083_ == 0) { -v___x_7053_ = v___x_7050_; -v_isShared_7054_ = v_isSharedCheck_7058_; -goto v_resetjp_7052_; +v___x_7078_ = v___x_7075_; +v_isShared_7079_ = v_isSharedCheck_7083_; +goto v_resetjp_7077_; } else { -lean_inc(v_a_7051_); -lean_dec(v___x_7050_); -v___x_7053_ = lean_box(0); -v_isShared_7054_ = v_isSharedCheck_7058_; -goto v_resetjp_7052_; +lean_inc(v_a_7076_); +lean_dec(v___x_7075_); +v___x_7078_ = lean_box(0); +v_isShared_7079_ = v_isSharedCheck_7083_; +goto v_resetjp_7077_; } -v_resetjp_7052_: +v_resetjp_7077_: { -lean_object* v___x_7056_; -if (v_isShared_7054_ == 0) +lean_object* v___x_7081_; +if (v_isShared_7079_ == 0) { -v___x_7056_ = v___x_7053_; -goto v_reusejp_7055_; +v___x_7081_ = v___x_7078_; +goto v_reusejp_7080_; } else { -lean_object* v_reuseFailAlloc_7057_; -v_reuseFailAlloc_7057_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7057_, 0, v_a_7051_); -v___x_7056_ = v_reuseFailAlloc_7057_; -goto v_reusejp_7055_; +lean_object* v_reuseFailAlloc_7082_; +v_reuseFailAlloc_7082_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7082_, 0, v_a_7076_); +v___x_7081_ = v_reuseFailAlloc_7082_; +goto v_reusejp_7080_; } -v_reusejp_7055_: +v_reusejp_7080_: { -return v___x_7056_; +return v___x_7081_; } } } } else { -lean_object* v_a_7059_; lean_object* v___x_7061_; uint8_t v_isShared_7062_; uint8_t v_isSharedCheck_7066_; -lean_dec_ref(v_updated_7033_); -lean_dec(v___y_7031_); -v_a_7059_ = lean_ctor_get(v___x_7041_, 0); -v_isSharedCheck_7066_ = !lean_is_exclusive(v___x_7041_); -if (v_isSharedCheck_7066_ == 0) +lean_object* v_a_7084_; lean_object* v___x_7086_; uint8_t v_isShared_7087_; uint8_t v_isSharedCheck_7091_; +lean_dec_ref(v_updated_7058_); +lean_dec(v___y_7056_); +v_a_7084_ = lean_ctor_get(v___x_7066_, 0); +v_isSharedCheck_7091_ = !lean_is_exclusive(v___x_7066_); +if (v_isSharedCheck_7091_ == 0) { -v___x_7061_ = v___x_7041_; -v_isShared_7062_ = v_isSharedCheck_7066_; -goto v_resetjp_7060_; +v___x_7086_ = v___x_7066_; +v_isShared_7087_ = v_isSharedCheck_7091_; +goto v_resetjp_7085_; } else { -lean_inc(v_a_7059_); -lean_dec(v___x_7041_); -v___x_7061_ = lean_box(0); -v_isShared_7062_ = v_isSharedCheck_7066_; -goto v_resetjp_7060_; +lean_inc(v_a_7084_); +lean_dec(v___x_7066_); +v___x_7086_ = lean_box(0); +v_isShared_7087_ = v_isSharedCheck_7091_; +goto v_resetjp_7085_; } -v_resetjp_7060_: +v_resetjp_7085_: { -lean_object* v___x_7064_; -if (v_isShared_7062_ == 0) +lean_object* v___x_7089_; +if (v_isShared_7087_ == 0) { -v___x_7064_ = v___x_7061_; -goto v_reusejp_7063_; +v___x_7089_ = v___x_7086_; +goto v_reusejp_7088_; } else { -lean_object* v_reuseFailAlloc_7065_; -v_reuseFailAlloc_7065_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7065_, 0, v_a_7059_); -v___x_7064_ = v_reuseFailAlloc_7065_; -goto v_reusejp_7063_; +lean_object* v_reuseFailAlloc_7090_; +v_reuseFailAlloc_7090_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7090_, 0, v_a_7084_); +v___x_7089_ = v_reuseFailAlloc_7090_; +goto v_reusejp_7088_; } -v_reusejp_7063_: +v_reusejp_7088_: { -return v___x_7064_; +return v___x_7089_; } } } } } -v___jp_7067_: +v___jp_7092_: { -lean_object* v___x_7086_; lean_object* v___x_7087_; -lean_inc(v_declName_7075_); -lean_inc(v_underApplied_7074_); -lean_inc(v_ground_7073_); -v___x_7086_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_7086_, 0, v___y_7085_); -lean_ctor_set(v___x_7086_, 1, v_ground_7073_); -lean_ctor_set(v___x_7086_, 2, v_underApplied_7074_); -lean_ctor_set(v___x_7086_, 3, v_declName_7075_); -lean_inc_ref(v___y_7071_); -v___x_7087_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v___y_7071_, v___y_7068_, v___x_7086_, v___y_7078_, v___y_7079_, v___y_7076_, v___y_7081_, v___y_7082_); -lean_dec_ref(v___x_7086_); -if (lean_obj_tag(v___x_7087_) == 0) +lean_object* v___x_7111_; lean_object* v___x_7112_; +lean_inc(v_declName_7108_); +lean_inc(v_underApplied_7107_); +lean_inc(v_ground_7106_); +v___x_7111_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_7111_, 0, v___y_7110_); +lean_ctor_set(v___x_7111_, 1, v_ground_7106_); +lean_ctor_set(v___x_7111_, 2, v_underApplied_7107_); +lean_ctor_set(v___x_7111_, 3, v_declName_7108_); +lean_inc_ref(v___y_7104_); +v___x_7112_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl_spec__0___redArg(v___y_7104_, v___y_7103_, v___x_7111_, v___y_7093_, v___y_7105_, v___y_7109_, v___y_7102_, v___y_7094_); +lean_dec_ref(v___x_7111_); +if (lean_obj_tag(v___x_7112_) == 0) { -lean_object* v_a_7088_; lean_object* v___x_7089_; uint8_t v_changed_7090_; lean_object* v___x_7091_; -v_a_7088_ = lean_ctor_get(v___x_7087_, 0); -lean_inc(v_a_7088_); -lean_dec_ref(v___x_7087_); -v___x_7089_ = lean_st_ref_get(v___y_7078_); -v_changed_7090_ = lean_ctor_get_uint8(v___x_7089_, sizeof(void*)*4); -lean_dec(v___x_7089_); -v___x_7091_ = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(v___x_7091_, 0, v___y_7072_); -lean_ctor_set(v___x_7091_, 1, v_a_7088_); -lean_ctor_set(v___x_7091_, 2, v___y_7080_); -lean_ctor_set_uint8(v___x_7091_, sizeof(void*)*3, v___y_7070_); -if (v_changed_7090_ == 0) +lean_object* v_a_7113_; lean_object* v___x_7114_; uint8_t v_changed_7115_; lean_object* v___x_7116_; +v_a_7113_ = lean_ctor_get(v___x_7112_, 0); +lean_inc(v_a_7113_); +lean_dec_ref(v___x_7112_); +v___x_7114_ = lean_st_ref_get(v___y_7093_); +v_changed_7115_ = lean_ctor_get_uint8(v___x_7114_, sizeof(void*)*4); +lean_dec(v___x_7114_); +v___x_7116_ = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(v___x_7116_, 0, v___y_7099_); +lean_ctor_set(v___x_7116_, 1, v_a_7113_); +lean_ctor_set(v___x_7116_, 2, v___y_7101_); +lean_ctor_set_uint8(v___x_7116_, sizeof(void*)*3, v___y_7098_); +if (v_changed_7115_ == 0) { -v___y_7030_ = v_changed_7090_; -v___y_7031_ = v___y_7069_; -v___y_7032_ = v___y_7084_; -v_updated_7033_ = v___x_7091_; -v___y_7034_ = v___y_7079_; -v___y_7035_ = v___y_7076_; -v___y_7036_ = v___y_7081_; -v___y_7037_ = v___y_7082_; -goto v___jp_7029_; +v___y_7055_ = v___y_7100_; +v___y_7056_ = v___y_7095_; +v___y_7057_ = v_changed_7115_; +v_updated_7058_ = v___x_7116_; +v___y_7059_ = v___y_7105_; +v___y_7060_ = v___y_7109_; +v___y_7061_ = v___y_7102_; +v___y_7062_ = v___y_7094_; +goto v___jp_7054_; } else { -lean_object* v___x_7092_; lean_object* v___x_7093_; -v___x_7092_ = lean_alloc_ctor(0, 0, 4); -lean_ctor_set_uint8(v___x_7092_, 0, v___y_7083_); -lean_ctor_set_uint8(v___x_7092_, 1, v___y_7083_); -lean_ctor_set_uint8(v___x_7092_, 2, v___y_7083_); -lean_ctor_set_uint8(v___x_7092_, 3, v___y_7077_); -v___x_7093_ = l_Lean_Compiler_LCNF_Decl_simp(v___x_7091_, v___x_7092_, v___y_7079_, v___y_7076_, v___y_7081_, v___y_7082_); -if (lean_obj_tag(v___x_7093_) == 0) -{ -lean_object* v_a_7094_; -v_a_7094_ = lean_ctor_get(v___x_7093_, 0); -lean_inc(v_a_7094_); -lean_dec_ref(v___x_7093_); -v___y_7030_ = v_changed_7090_; -v___y_7031_ = v___y_7069_; -v___y_7032_ = v___y_7084_; -v_updated_7033_ = v_a_7094_; -v___y_7034_ = v___y_7079_; -v___y_7035_ = v___y_7076_; -v___y_7036_ = v___y_7081_; -v___y_7037_ = v___y_7082_; -goto v___jp_7029_; -} -else -{ -lean_object* v_a_7095_; lean_object* v___x_7097_; uint8_t v_isShared_7098_; uint8_t v_isSharedCheck_7102_; -lean_dec(v___y_7069_); -v_a_7095_ = lean_ctor_get(v___x_7093_, 0); -v_isSharedCheck_7102_ = !lean_is_exclusive(v___x_7093_); -if (v_isSharedCheck_7102_ == 0) -{ -v___x_7097_ = v___x_7093_; -v_isShared_7098_ = v_isSharedCheck_7102_; -goto v_resetjp_7096_; -} -else -{ -lean_inc(v_a_7095_); -lean_dec(v___x_7093_); -v___x_7097_ = lean_box(0); -v_isShared_7098_ = v_isSharedCheck_7102_; -goto v_resetjp_7096_; -} -v_resetjp_7096_: -{ -lean_object* v___x_7100_; -if (v_isShared_7098_ == 0) -{ -v___x_7100_ = v___x_7097_; -goto v_reusejp_7099_; -} -else -{ -lean_object* v_reuseFailAlloc_7101_; -v_reuseFailAlloc_7101_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7101_, 0, v_a_7095_); -v___x_7100_ = v_reuseFailAlloc_7101_; -goto v_reusejp_7099_; -} -v_reusejp_7099_: -{ -return v___x_7100_; -} -} -} -} -} -else -{ -lean_object* v_a_7103_; lean_object* v___x_7105_; uint8_t v_isShared_7106_; uint8_t v_isSharedCheck_7110_; -lean_dec(v___y_7080_); -lean_dec_ref(v___y_7072_); -lean_dec(v___y_7069_); -v_a_7103_ = lean_ctor_get(v___x_7087_, 0); -v_isSharedCheck_7110_ = !lean_is_exclusive(v___x_7087_); -if (v_isSharedCheck_7110_ == 0) -{ -v___x_7105_ = v___x_7087_; -v_isShared_7106_ = v_isSharedCheck_7110_; -goto v_resetjp_7104_; -} -else -{ -lean_inc(v_a_7103_); -lean_dec(v___x_7087_); -v___x_7105_ = lean_box(0); -v_isShared_7106_ = v_isSharedCheck_7110_; -goto v_resetjp_7104_; -} -v_resetjp_7104_: -{ -lean_object* v___x_7108_; -if (v_isShared_7106_ == 0) -{ -v___x_7108_ = v___x_7105_; -goto v_reusejp_7107_; -} -else -{ -lean_object* v_reuseFailAlloc_7109_; -v_reuseFailAlloc_7109_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7109_, 0, v_a_7103_); -v___x_7108_ = v_reuseFailAlloc_7109_; -goto v_reusejp_7107_; -} -v_reusejp_7107_: -{ -return v___x_7108_; -} -} -} -} -v___jp_7111_: -{ -lean_object* v___x_7118_; -lean_inc_ref(v_decl_7014_); -v___x_7118_ = l_Lean_Compiler_LCNF_Decl_isTemplateLike___redArg(v_decl_7014_, v___y_7116_, v___y_7117_); +lean_object* v___x_7117_; lean_object* v___x_7118_; +v___x_7117_ = lean_alloc_ctor(0, 0, 4); +lean_ctor_set_uint8(v___x_7117_, 0, v___y_7096_); +lean_ctor_set_uint8(v___x_7117_, 1, v___y_7096_); +lean_ctor_set_uint8(v___x_7117_, 2, v___y_7096_); +lean_ctor_set_uint8(v___x_7117_, 3, v___y_7097_); +v___x_7118_ = l_Lean_Compiler_LCNF_Decl_simp(v___x_7116_, v___x_7117_, v___y_7105_, v___y_7109_, v___y_7102_, v___y_7094_); if (lean_obj_tag(v___x_7118_) == 0) { -lean_object* v_a_7119_; lean_object* v___x_7121_; uint8_t v_isShared_7122_; uint8_t v_isSharedCheck_7171_; +lean_object* v_a_7119_; v_a_7119_ = lean_ctor_get(v___x_7118_, 0); -v_isSharedCheck_7171_ = !lean_is_exclusive(v___x_7118_); -if (v_isSharedCheck_7171_ == 0) -{ -v___x_7121_ = v___x_7118_; -v_isShared_7122_ = v_isSharedCheck_7171_; -goto v_resetjp_7120_; +lean_inc(v_a_7119_); +lean_dec_ref(v___x_7118_); +v___y_7055_ = v___y_7100_; +v___y_7056_ = v___y_7095_; +v___y_7057_ = v_changed_7115_; +v_updated_7058_ = v_a_7119_; +v___y_7059_ = v___y_7105_; +v___y_7060_ = v___y_7109_; +v___y_7061_ = v___y_7102_; +v___y_7062_ = v___y_7094_; +goto v___jp_7054_; } else { -lean_inc(v_a_7119_); -lean_dec(v___x_7118_); -v___x_7121_ = lean_box(0); -v_isShared_7122_ = v_isSharedCheck_7171_; -goto v_resetjp_7120_; +lean_object* v_a_7120_; lean_object* v___x_7122_; uint8_t v_isShared_7123_; uint8_t v_isSharedCheck_7127_; +lean_dec(v___y_7095_); +v_a_7120_ = lean_ctor_get(v___x_7118_, 0); +v_isSharedCheck_7127_ = !lean_is_exclusive(v___x_7118_); +if (v_isSharedCheck_7127_ == 0) +{ +v___x_7122_ = v___x_7118_; +v_isShared_7123_ = v_isSharedCheck_7127_; +goto v_resetjp_7121_; } -v_resetjp_7120_: +else { -uint8_t v___x_7123_; -v___x_7123_ = lean_unbox(v_a_7119_); -if (v___x_7123_ == 0) +lean_inc(v_a_7120_); +lean_dec(v___x_7118_); +v___x_7122_ = lean_box(0); +v_isShared_7123_ = v_isSharedCheck_7127_; +goto v_resetjp_7121_; +} +v_resetjp_7121_: { -lean_object* v___x_7124_; lean_object* v_processedDecls_7125_; lean_object* v_workingDecls_7126_; lean_object* v_localSpecParamInfo_7127_; lean_object* v_parentMasks_7128_; lean_object* v___x_7130_; uint8_t v_isShared_7131_; uint8_t v_isSharedCheck_7164_; -lean_del_object(v___x_7121_); -v___x_7124_ = lean_st_ref_take(v___y_7113_); -v_processedDecls_7125_ = lean_ctor_get(v___x_7124_, 0); -v_workingDecls_7126_ = lean_ctor_get(v___x_7124_, 1); -v_localSpecParamInfo_7127_ = lean_ctor_get(v___x_7124_, 2); -v_parentMasks_7128_ = lean_ctor_get(v___x_7124_, 3); -v_isSharedCheck_7164_ = !lean_is_exclusive(v___x_7124_); -if (v_isSharedCheck_7164_ == 0) +lean_object* v___x_7125_; +if (v_isShared_7123_ == 0) { -v___x_7130_ = v___x_7124_; -v_isShared_7131_ = v_isSharedCheck_7164_; +v___x_7125_ = v___x_7122_; +goto v_reusejp_7124_; +} +else +{ +lean_object* v_reuseFailAlloc_7126_; +v_reuseFailAlloc_7126_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7126_, 0, v_a_7120_); +v___x_7125_ = v_reuseFailAlloc_7126_; +goto v_reusejp_7124_; +} +v_reusejp_7124_: +{ +return v___x_7125_; +} +} +} +} +} +else +{ +lean_object* v_a_7128_; lean_object* v___x_7130_; uint8_t v_isShared_7131_; uint8_t v_isSharedCheck_7135_; +lean_dec(v___y_7101_); +lean_dec_ref(v___y_7099_); +lean_dec(v___y_7095_); +v_a_7128_ = lean_ctor_get(v___x_7112_, 0); +v_isSharedCheck_7135_ = !lean_is_exclusive(v___x_7112_); +if (v_isSharedCheck_7135_ == 0) +{ +v___x_7130_ = v___x_7112_; +v_isShared_7131_ = v_isSharedCheck_7135_; goto v_resetjp_7129_; } else { -lean_inc(v_parentMasks_7128_); -lean_inc(v_localSpecParamInfo_7127_); -lean_inc(v_workingDecls_7126_); -lean_inc(v_processedDecls_7125_); -lean_dec(v___x_7124_); +lean_inc(v_a_7128_); +lean_dec(v___x_7112_); v___x_7130_ = lean_box(0); -v_isShared_7131_ = v_isSharedCheck_7164_; +v_isShared_7131_ = v_isSharedCheck_7135_; goto v_resetjp_7129_; } v_resetjp_7129_: @@ -21805,158 +21856,236 @@ goto v_reusejp_7132_; } else { -lean_object* v_reuseFailAlloc_7163_; -v_reuseFailAlloc_7163_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_7163_, 0, v_processedDecls_7125_); -lean_ctor_set(v_reuseFailAlloc_7163_, 1, v_workingDecls_7126_); -lean_ctor_set(v_reuseFailAlloc_7163_, 2, v_localSpecParamInfo_7127_); -lean_ctor_set(v_reuseFailAlloc_7163_, 3, v_parentMasks_7128_); -v___x_7133_ = v_reuseFailAlloc_7163_; +lean_object* v_reuseFailAlloc_7134_; +v_reuseFailAlloc_7134_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7134_, 0, v_a_7128_); +v___x_7133_ = v_reuseFailAlloc_7134_; goto v_reusejp_7132_; } v_reusejp_7132_: { -uint8_t v___x_7134_; lean_object* v___x_7135_; lean_object* v_toSignature_7136_; lean_object* v_value_7137_; uint8_t v_recursive_7138_; lean_object* v_inlineAttr_x3f_7139_; lean_object* v_name_7140_; lean_object* v_params_7141_; lean_object* v_scope_7142_; lean_object* v_ground_7143_; lean_object* v_underApplied_7144_; lean_object* v_declName_7145_; uint8_t v___x_7146_; uint8_t v___x_7147_; lean_object* v___x_7148_; lean_object* v___x_7149_; lean_object* v___x_7150_; uint8_t v___x_7151_; -v___x_7134_ = lean_unbox(v_a_7119_); -lean_ctor_set_uint8(v___x_7133_, sizeof(void*)*4, v___x_7134_); -v___x_7135_ = lean_st_ref_set(v___y_7113_, v___x_7133_); -v_toSignature_7136_ = lean_ctor_get(v_decl_7014_, 0); -lean_inc_ref(v_toSignature_7136_); -v_value_7137_ = lean_ctor_get(v_decl_7014_, 1); -lean_inc_ref(v_value_7137_); -v_recursive_7138_ = lean_ctor_get_uint8(v_decl_7014_, sizeof(void*)*3); -v_inlineAttr_x3f_7139_ = lean_ctor_get(v_decl_7014_, 2); -lean_inc(v_inlineAttr_x3f_7139_); -lean_dec_ref(v_decl_7014_); -v_name_7140_ = lean_ctor_get(v_toSignature_7136_, 0); -lean_inc(v_name_7140_); -v_params_7141_ = lean_ctor_get(v_toSignature_7136_, 3); -v_scope_7142_ = lean_ctor_get(v___y_7112_, 0); -v_ground_7143_ = lean_ctor_get(v___y_7112_, 1); -v_underApplied_7144_ = lean_ctor_get(v___y_7112_, 2); -v_declName_7145_ = lean_ctor_get(v___y_7112_, 3); -v___x_7146_ = 0; -v___x_7147_ = 1; -v___x_7148_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__2)); -v___x_7149_ = lean_unsigned_to_nat(0u); -v___x_7150_ = lean_array_get_size(v_params_7141_); -v___x_7151_ = lean_nat_dec_lt(v___x_7149_, v___x_7150_); -if (v___x_7151_ == 0) +return v___x_7133_; +} +} +} +} +v___jp_7136_: { -uint8_t v___x_7152_; -v___x_7152_ = lean_unbox(v_a_7119_); -lean_dec(v_a_7119_); -lean_inc(v_scope_7142_); -v___y_7068_ = v_value_7137_; -v___y_7069_ = v_name_7140_; -v___y_7070_ = v_recursive_7138_; -v___y_7071_ = v___x_7148_; -v___y_7072_ = v_toSignature_7136_; -v_ground_7073_ = v_ground_7143_; -v_underApplied_7074_ = v_underApplied_7144_; -v_declName_7075_ = v_declName_7145_; -v___y_7076_ = v___y_7115_; -v___y_7077_ = v___x_7147_; -v___y_7078_ = v___y_7113_; -v___y_7079_ = v___y_7114_; -v___y_7080_ = v_inlineAttr_x3f_7139_; -v___y_7081_ = v___y_7116_; -v___y_7082_ = v___y_7117_; -v___y_7083_ = v___x_7152_; -v___y_7084_ = v___x_7146_; -v___y_7085_ = v_scope_7142_; -goto v___jp_7067_; +lean_object* v___x_7143_; +lean_inc_ref(v_decl_7039_); +v___x_7143_ = l_Lean_Compiler_LCNF_Decl_isTemplateLike___redArg(v_decl_7039_, v___y_7141_, v___y_7142_); +if (lean_obj_tag(v___x_7143_) == 0) +{ +lean_object* v_a_7144_; lean_object* v___x_7146_; uint8_t v_isShared_7147_; uint8_t v_isSharedCheck_7196_; +v_a_7144_ = lean_ctor_get(v___x_7143_, 0); +v_isSharedCheck_7196_ = !lean_is_exclusive(v___x_7143_); +if (v_isSharedCheck_7196_ == 0) +{ +v___x_7146_ = v___x_7143_; +v_isShared_7147_ = v_isSharedCheck_7196_; +goto v_resetjp_7145_; } else { -uint8_t v___x_7153_; -v___x_7153_ = lean_nat_dec_le(v___x_7150_, v___x_7150_); -if (v___x_7153_ == 0) +lean_inc(v_a_7144_); +lean_dec(v___x_7143_); +v___x_7146_ = lean_box(0); +v_isShared_7147_ = v_isSharedCheck_7196_; +goto v_resetjp_7145_; +} +v_resetjp_7145_: { -if (v___x_7151_ == 0) +uint8_t v___x_7148_; +v___x_7148_ = lean_unbox(v_a_7144_); +if (v___x_7148_ == 0) { -uint8_t v___x_7154_; -v___x_7154_ = lean_unbox(v_a_7119_); -lean_dec(v_a_7119_); -lean_inc(v_scope_7142_); -v___y_7068_ = v_value_7137_; -v___y_7069_ = v_name_7140_; -v___y_7070_ = v_recursive_7138_; -v___y_7071_ = v___x_7148_; -v___y_7072_ = v_toSignature_7136_; -v_ground_7073_ = v_ground_7143_; -v_underApplied_7074_ = v_underApplied_7144_; -v_declName_7075_ = v_declName_7145_; -v___y_7076_ = v___y_7115_; -v___y_7077_ = v___x_7147_; -v___y_7078_ = v___y_7113_; -v___y_7079_ = v___y_7114_; -v___y_7080_ = v_inlineAttr_x3f_7139_; -v___y_7081_ = v___y_7116_; -v___y_7082_ = v___y_7117_; -v___y_7083_ = v___x_7154_; -v___y_7084_ = v___x_7146_; -v___y_7085_ = v_scope_7142_; -goto v___jp_7067_; +lean_object* v___x_7149_; lean_object* v_processedDecls_7150_; lean_object* v_workingDecls_7151_; lean_object* v_localSpecParamInfo_7152_; lean_object* v_parentMasks_7153_; lean_object* v___x_7155_; uint8_t v_isShared_7156_; uint8_t v_isSharedCheck_7189_; +lean_del_object(v___x_7146_); +v___x_7149_ = lean_st_ref_take(v___y_7138_); +v_processedDecls_7150_ = lean_ctor_get(v___x_7149_, 0); +v_workingDecls_7151_ = lean_ctor_get(v___x_7149_, 1); +v_localSpecParamInfo_7152_ = lean_ctor_get(v___x_7149_, 2); +v_parentMasks_7153_ = lean_ctor_get(v___x_7149_, 3); +v_isSharedCheck_7189_ = !lean_is_exclusive(v___x_7149_); +if (v_isSharedCheck_7189_ == 0) +{ +v___x_7155_ = v___x_7149_; +v_isShared_7156_ = v_isSharedCheck_7189_; +goto v_resetjp_7154_; } else { -size_t v___x_7155_; size_t v___x_7156_; lean_object* v___x_7157_; uint8_t v___x_7158_; -v___x_7155_ = ((size_t)0ULL); -v___x_7156_ = lean_usize_of_nat(v___x_7150_); -lean_inc(v_scope_7142_); -v___x_7157_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_7141_, v___x_7155_, v___x_7156_, v_scope_7142_); -v___x_7158_ = lean_unbox(v_a_7119_); -lean_dec(v_a_7119_); -v___y_7068_ = v_value_7137_; -v___y_7069_ = v_name_7140_; -v___y_7070_ = v_recursive_7138_; -v___y_7071_ = v___x_7148_; -v___y_7072_ = v_toSignature_7136_; -v_ground_7073_ = v_ground_7143_; -v_underApplied_7074_ = v_underApplied_7144_; -v_declName_7075_ = v_declName_7145_; -v___y_7076_ = v___y_7115_; -v___y_7077_ = v___x_7147_; -v___y_7078_ = v___y_7113_; -v___y_7079_ = v___y_7114_; -v___y_7080_ = v_inlineAttr_x3f_7139_; -v___y_7081_ = v___y_7116_; -v___y_7082_ = v___y_7117_; -v___y_7083_ = v___x_7158_; -v___y_7084_ = v___x_7146_; -v___y_7085_ = v___x_7157_; -goto v___jp_7067_; +lean_inc(v_parentMasks_7153_); +lean_inc(v_localSpecParamInfo_7152_); +lean_inc(v_workingDecls_7151_); +lean_inc(v_processedDecls_7150_); +lean_dec(v___x_7149_); +v___x_7155_ = lean_box(0); +v_isShared_7156_ = v_isSharedCheck_7189_; +goto v_resetjp_7154_; +} +v_resetjp_7154_: +{ +lean_object* v___x_7158_; +if (v_isShared_7156_ == 0) +{ +v___x_7158_ = v___x_7155_; +goto v_reusejp_7157_; +} +else +{ +lean_object* v_reuseFailAlloc_7188_; +v_reuseFailAlloc_7188_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_7188_, 0, v_processedDecls_7150_); +lean_ctor_set(v_reuseFailAlloc_7188_, 1, v_workingDecls_7151_); +lean_ctor_set(v_reuseFailAlloc_7188_, 2, v_localSpecParamInfo_7152_); +lean_ctor_set(v_reuseFailAlloc_7188_, 3, v_parentMasks_7153_); +v___x_7158_ = v_reuseFailAlloc_7188_; +goto v_reusejp_7157_; +} +v_reusejp_7157_: +{ +uint8_t v___x_7159_; lean_object* v___x_7160_; lean_object* v_toSignature_7161_; lean_object* v_value_7162_; uint8_t v_recursive_7163_; lean_object* v_inlineAttr_x3f_7164_; lean_object* v_name_7165_; lean_object* v_params_7166_; lean_object* v_scope_7167_; lean_object* v_ground_7168_; lean_object* v_underApplied_7169_; lean_object* v_declName_7170_; uint8_t v___x_7171_; uint8_t v___x_7172_; lean_object* v___x_7173_; lean_object* v___x_7174_; lean_object* v___x_7175_; uint8_t v___x_7176_; +v___x_7159_ = lean_unbox(v_a_7144_); +lean_ctor_set_uint8(v___x_7158_, sizeof(void*)*4, v___x_7159_); +v___x_7160_ = lean_st_ref_set(v___y_7138_, v___x_7158_); +v_toSignature_7161_ = lean_ctor_get(v_decl_7039_, 0); +lean_inc_ref(v_toSignature_7161_); +v_value_7162_ = lean_ctor_get(v_decl_7039_, 1); +lean_inc_ref(v_value_7162_); +v_recursive_7163_ = lean_ctor_get_uint8(v_decl_7039_, sizeof(void*)*3); +v_inlineAttr_x3f_7164_ = lean_ctor_get(v_decl_7039_, 2); +lean_inc(v_inlineAttr_x3f_7164_); +lean_dec_ref(v_decl_7039_); +v_name_7165_ = lean_ctor_get(v_toSignature_7161_, 0); +lean_inc(v_name_7165_); +v_params_7166_ = lean_ctor_get(v_toSignature_7161_, 3); +v_scope_7167_ = lean_ctor_get(v___y_7137_, 0); +v_ground_7168_ = lean_ctor_get(v___y_7137_, 1); +v_underApplied_7169_ = lean_ctor_get(v___y_7137_, 2); +v_declName_7170_ = lean_ctor_get(v___y_7137_, 3); +v___x_7171_ = 0; +v___x_7172_ = 1; +v___x_7173_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___closed__2)); +v___x_7174_ = lean_unsigned_to_nat(0u); +v___x_7175_ = lean_array_get_size(v_params_7166_); +v___x_7176_ = lean_nat_dec_lt(v___x_7174_, v___x_7175_); +if (v___x_7176_ == 0) +{ +uint8_t v___x_7177_; +v___x_7177_ = lean_unbox(v_a_7144_); +lean_dec(v_a_7144_); +lean_inc(v_scope_7167_); +v___y_7093_ = v___y_7138_; +v___y_7094_ = v___y_7142_; +v___y_7095_ = v_name_7165_; +v___y_7096_ = v___x_7177_; +v___y_7097_ = v___x_7172_; +v___y_7098_ = v_recursive_7163_; +v___y_7099_ = v_toSignature_7161_; +v___y_7100_ = v___x_7171_; +v___y_7101_ = v_inlineAttr_x3f_7164_; +v___y_7102_ = v___y_7141_; +v___y_7103_ = v_value_7162_; +v___y_7104_ = v___x_7173_; +v___y_7105_ = v___y_7139_; +v_ground_7106_ = v_ground_7168_; +v_underApplied_7107_ = v_underApplied_7169_; +v_declName_7108_ = v_declName_7170_; +v___y_7109_ = v___y_7140_; +v___y_7110_ = v_scope_7167_; +goto v___jp_7092_; +} +else +{ +uint8_t v___x_7178_; +v___x_7178_ = lean_nat_dec_le(v___x_7175_, v___x_7175_); +if (v___x_7178_ == 0) +{ +if (v___x_7176_ == 0) +{ +uint8_t v___x_7179_; +v___x_7179_ = lean_unbox(v_a_7144_); +lean_dec(v_a_7144_); +lean_inc(v_scope_7167_); +v___y_7093_ = v___y_7138_; +v___y_7094_ = v___y_7142_; +v___y_7095_ = v_name_7165_; +v___y_7096_ = v___x_7179_; +v___y_7097_ = v___x_7172_; +v___y_7098_ = v_recursive_7163_; +v___y_7099_ = v_toSignature_7161_; +v___y_7100_ = v___x_7171_; +v___y_7101_ = v_inlineAttr_x3f_7164_; +v___y_7102_ = v___y_7141_; +v___y_7103_ = v_value_7162_; +v___y_7104_ = v___x_7173_; +v___y_7105_ = v___y_7139_; +v_ground_7106_ = v_ground_7168_; +v_underApplied_7107_ = v_underApplied_7169_; +v_declName_7108_ = v_declName_7170_; +v___y_7109_ = v___y_7140_; +v___y_7110_ = v_scope_7167_; +goto v___jp_7092_; +} +else +{ +size_t v___x_7180_; size_t v___x_7181_; lean_object* v___x_7182_; uint8_t v___x_7183_; +v___x_7180_ = ((size_t)0ULL); +v___x_7181_ = lean_usize_of_nat(v___x_7175_); +lean_inc(v_scope_7167_); +v___x_7182_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_7166_, v___x_7180_, v___x_7181_, v_scope_7167_); +v___x_7183_ = lean_unbox(v_a_7144_); +lean_dec(v_a_7144_); +v___y_7093_ = v___y_7138_; +v___y_7094_ = v___y_7142_; +v___y_7095_ = v_name_7165_; +v___y_7096_ = v___x_7183_; +v___y_7097_ = v___x_7172_; +v___y_7098_ = v_recursive_7163_; +v___y_7099_ = v_toSignature_7161_; +v___y_7100_ = v___x_7171_; +v___y_7101_ = v_inlineAttr_x3f_7164_; +v___y_7102_ = v___y_7141_; +v___y_7103_ = v_value_7162_; +v___y_7104_ = v___x_7173_; +v___y_7105_ = v___y_7139_; +v_ground_7106_ = v_ground_7168_; +v_underApplied_7107_ = v_underApplied_7169_; +v_declName_7108_ = v_declName_7170_; +v___y_7109_ = v___y_7140_; +v___y_7110_ = v___x_7182_; +goto v___jp_7092_; } } else { -size_t v___x_7159_; size_t v___x_7160_; lean_object* v___x_7161_; uint8_t v___x_7162_; -v___x_7159_ = ((size_t)0ULL); -v___x_7160_ = lean_usize_of_nat(v___x_7150_); -lean_inc(v_scope_7142_); -v___x_7161_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_7141_, v___x_7159_, v___x_7160_, v_scope_7142_); -v___x_7162_ = lean_unbox(v_a_7119_); -lean_dec(v_a_7119_); -v___y_7068_ = v_value_7137_; -v___y_7069_ = v_name_7140_; -v___y_7070_ = v_recursive_7138_; -v___y_7071_ = v___x_7148_; -v___y_7072_ = v_toSignature_7136_; -v_ground_7073_ = v_ground_7143_; -v_underApplied_7074_ = v_underApplied_7144_; -v_declName_7075_ = v_declName_7145_; -v___y_7076_ = v___y_7115_; -v___y_7077_ = v___x_7147_; -v___y_7078_ = v___y_7113_; -v___y_7079_ = v___y_7114_; -v___y_7080_ = v_inlineAttr_x3f_7139_; -v___y_7081_ = v___y_7116_; -v___y_7082_ = v___y_7117_; -v___y_7083_ = v___x_7162_; -v___y_7084_ = v___x_7146_; -v___y_7085_ = v___x_7161_; -goto v___jp_7067_; +size_t v___x_7184_; size_t v___x_7185_; lean_object* v___x_7186_; uint8_t v___x_7187_; +v___x_7184_ = ((size_t)0ULL); +v___x_7185_ = lean_usize_of_nat(v___x_7175_); +lean_inc(v_scope_7167_); +v___x_7186_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_visitFunDecl_spec__0(v_params_7166_, v___x_7184_, v___x_7185_, v_scope_7167_); +v___x_7187_ = lean_unbox(v_a_7144_); +lean_dec(v_a_7144_); +v___y_7093_ = v___y_7138_; +v___y_7094_ = v___y_7142_; +v___y_7095_ = v_name_7165_; +v___y_7096_ = v___x_7187_; +v___y_7097_ = v___x_7172_; +v___y_7098_ = v_recursive_7163_; +v___y_7099_ = v_toSignature_7161_; +v___y_7100_ = v___x_7171_; +v___y_7101_ = v_inlineAttr_x3f_7164_; +v___y_7102_ = v___y_7141_; +v___y_7103_ = v_value_7162_; +v___y_7104_ = v___x_7173_; +v___y_7105_ = v___y_7139_; +v_ground_7106_ = v_ground_7168_; +v_underApplied_7107_ = v_underApplied_7169_; +v_declName_7108_ = v_declName_7170_; +v___y_7109_ = v___y_7140_; +v___y_7110_ = v___x_7186_; +goto v___jp_7092_; } } } @@ -21964,442 +22093,442 @@ goto v___jp_7067_; } else { -uint8_t v___x_7165_; lean_object* v___x_7166_; lean_object* v___x_7167_; lean_object* v___x_7169_; -lean_dec(v_a_7119_); -v___x_7165_ = 0; -v___x_7166_ = lean_box(v___x_7165_); -v___x_7167_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_7167_, 0, v_decl_7014_); -lean_ctor_set(v___x_7167_, 1, v___x_7166_); -if (v_isShared_7122_ == 0) +uint8_t v___x_7190_; lean_object* v___x_7191_; lean_object* v___x_7192_; lean_object* v___x_7194_; +lean_dec(v_a_7144_); +v___x_7190_ = 0; +v___x_7191_ = lean_box(v___x_7190_); +v___x_7192_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_7192_, 0, v_decl_7039_); +lean_ctor_set(v___x_7192_, 1, v___x_7191_); +if (v_isShared_7147_ == 0) { -lean_ctor_set(v___x_7121_, 0, v___x_7167_); -v___x_7169_ = v___x_7121_; -goto v_reusejp_7168_; +lean_ctor_set(v___x_7146_, 0, v___x_7192_); +v___x_7194_ = v___x_7146_; +goto v_reusejp_7193_; } else { -lean_object* v_reuseFailAlloc_7170_; -v_reuseFailAlloc_7170_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7170_, 0, v___x_7167_); -v___x_7169_ = v_reuseFailAlloc_7170_; -goto v_reusejp_7168_; +lean_object* v_reuseFailAlloc_7195_; +v_reuseFailAlloc_7195_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7195_, 0, v___x_7192_); +v___x_7194_ = v_reuseFailAlloc_7195_; +goto v_reusejp_7193_; } -v_reusejp_7168_: +v_reusejp_7193_: { -return v___x_7169_; +return v___x_7194_; } } } } else { -lean_object* v_a_7172_; lean_object* v___x_7174_; uint8_t v_isShared_7175_; uint8_t v_isSharedCheck_7179_; -lean_dec_ref(v_decl_7014_); -v_a_7172_ = lean_ctor_get(v___x_7118_, 0); -v_isSharedCheck_7179_ = !lean_is_exclusive(v___x_7118_); -if (v_isSharedCheck_7179_ == 0) +lean_object* v_a_7197_; lean_object* v___x_7199_; uint8_t v_isShared_7200_; uint8_t v_isSharedCheck_7204_; +lean_dec_ref(v_decl_7039_); +v_a_7197_ = lean_ctor_get(v___x_7143_, 0); +v_isSharedCheck_7204_ = !lean_is_exclusive(v___x_7143_); +if (v_isSharedCheck_7204_ == 0) { -v___x_7174_ = v___x_7118_; -v_isShared_7175_ = v_isSharedCheck_7179_; -goto v_resetjp_7173_; +v___x_7199_ = v___x_7143_; +v_isShared_7200_ = v_isSharedCheck_7204_; +goto v_resetjp_7198_; } else { -lean_inc(v_a_7172_); -lean_dec(v___x_7118_); -v___x_7174_ = lean_box(0); -v_isShared_7175_ = v_isSharedCheck_7179_; -goto v_resetjp_7173_; +lean_inc(v_a_7197_); +lean_dec(v___x_7143_); +v___x_7199_ = lean_box(0); +v_isShared_7200_ = v_isSharedCheck_7204_; +goto v_resetjp_7198_; } -v_resetjp_7173_: +v_resetjp_7198_: { -lean_object* v___x_7177_; -if (v_isShared_7175_ == 0) +lean_object* v___x_7202_; +if (v_isShared_7200_ == 0) { -v___x_7177_ = v___x_7174_; -goto v_reusejp_7176_; +v___x_7202_ = v___x_7199_; +goto v_reusejp_7201_; } else { -lean_object* v_reuseFailAlloc_7178_; -v_reuseFailAlloc_7178_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7178_, 0, v_a_7172_); -v___x_7177_ = v_reuseFailAlloc_7178_; -goto v_reusejp_7176_; +lean_object* v_reuseFailAlloc_7203_; +v_reuseFailAlloc_7203_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7203_, 0, v_a_7197_); +v___x_7202_ = v_reuseFailAlloc_7203_; +goto v_reusejp_7201_; } -v_reusejp_7176_: +v_reusejp_7201_: { -return v___x_7177_; +return v___x_7202_; } } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___boxed(lean_object* v_decl_7197_, lean_object* v_a_7198_, lean_object* v_a_7199_, lean_object* v_a_7200_, lean_object* v_a_7201_, lean_object* v_a_7202_, lean_object* v_a_7203_, lean_object* v_a_7204_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl___boxed(lean_object* v_decl_7222_, lean_object* v_a_7223_, lean_object* v_a_7224_, lean_object* v_a_7225_, lean_object* v_a_7226_, lean_object* v_a_7227_, lean_object* v_a_7228_, lean_object* v_a_7229_){ _start: { -lean_object* v_res_7205_; -v_res_7205_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(v_decl_7197_, v_a_7198_, v_a_7199_, v_a_7200_, v_a_7201_, v_a_7202_, v_a_7203_); -lean_dec(v_a_7203_); -lean_dec_ref(v_a_7202_); -lean_dec(v_a_7201_); -lean_dec_ref(v_a_7200_); -lean_dec(v_a_7199_); -lean_dec_ref(v_a_7198_); -return v_res_7205_; +lean_object* v_res_7230_; +v_res_7230_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(v_decl_7222_, v_a_7223_, v_a_7224_, v_a_7225_, v_a_7226_, v_a_7227_, v_a_7228_); +lean_dec(v_a_7228_); +lean_dec_ref(v_a_7227_); +lean_dec(v_a_7226_); +lean_dec_ref(v_a_7225_); +lean_dec(v_a_7224_); +lean_dec_ref(v_a_7223_); +return v_res_7230_; } } -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(lean_object* v_xs_7206_, lean_object* v_ys_7207_, lean_object* v_x_7208_){ +LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(lean_object* v_xs_7231_, lean_object* v_ys_7232_, lean_object* v_x_7233_){ _start: { -lean_object* v_zero_7209_; uint8_t v_isZero_7210_; -v_zero_7209_ = lean_unsigned_to_nat(0u); -v_isZero_7210_ = lean_nat_dec_eq(v_x_7208_, v_zero_7209_); -if (v_isZero_7210_ == 1) +lean_object* v_zero_7234_; uint8_t v_isZero_7235_; +v_zero_7234_ = lean_unsigned_to_nat(0u); +v_isZero_7235_ = lean_nat_dec_eq(v_x_7233_, v_zero_7234_); +if (v_isZero_7235_ == 1) { -lean_dec(v_x_7208_); -return v_isZero_7210_; -} -else -{ -lean_object* v_one_7211_; lean_object* v_n_7212_; lean_object* v___x_7213_; lean_object* v___x_7214_; uint8_t v___x_7215_; -v_one_7211_ = lean_unsigned_to_nat(1u); -v_n_7212_ = lean_nat_sub(v_x_7208_, v_one_7211_); -lean_dec(v_x_7208_); -v___x_7213_ = lean_array_fget_borrowed(v_xs_7206_, v_n_7212_); -v___x_7214_ = lean_array_fget_borrowed(v_ys_7207_, v_n_7212_); -v___x_7215_ = lean_nat_dec_eq(v___x_7213_, v___x_7214_); -if (v___x_7215_ == 0) -{ -lean_dec(v_n_7212_); -return v___x_7215_; -} -else -{ -v_x_7208_ = v_n_7212_; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg___boxed(lean_object* v_xs_7217_, lean_object* v_ys_7218_, lean_object* v_x_7219_){ -_start: -{ -uint8_t v_res_7220_; lean_object* v_r_7221_; -v_res_7220_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_xs_7217_, v_ys_7218_, v_x_7219_); -lean_dec_ref(v_ys_7218_); -lean_dec_ref(v_xs_7217_); -v_r_7221_ = lean_box(v_res_7220_); -return v_r_7221_; -} -} -LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(lean_object* v_x_7222_, lean_object* v_x_7223_){ -_start: -{ -if (lean_obj_tag(v_x_7222_) == 0) -{ -if (lean_obj_tag(v_x_7223_) == 0) -{ -uint8_t v___x_7224_; -v___x_7224_ = 1; -return v___x_7224_; -} -else -{ -uint8_t v___x_7225_; -v___x_7225_ = 0; -return v___x_7225_; -} -} -else -{ -if (lean_obj_tag(v_x_7223_) == 0) -{ -uint8_t v___x_7226_; -v___x_7226_ = 0; -return v___x_7226_; -} -else -{ -lean_object* v_val_7227_; lean_object* v_val_7228_; lean_object* v___x_7229_; lean_object* v___x_7230_; uint8_t v___x_7231_; -v_val_7227_ = lean_ctor_get(v_x_7222_, 0); -v_val_7228_ = lean_ctor_get(v_x_7223_, 0); -v___x_7229_ = lean_array_get_size(v_val_7227_); -v___x_7230_ = lean_array_get_size(v_val_7228_); -v___x_7231_ = lean_nat_dec_eq(v___x_7229_, v___x_7230_); -if (v___x_7231_ == 0) -{ -return v___x_7231_; -} -else -{ -uint8_t v___x_7232_; -v___x_7232_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_val_7227_, v_val_7228_, v___x_7229_); -return v___x_7232_; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0___boxed(lean_object* v_x_7233_, lean_object* v_x_7234_){ -_start: -{ -uint8_t v_res_7235_; lean_object* v_r_7236_; -v_res_7235_ = l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(v_x_7233_, v_x_7234_); -lean_dec(v_x_7234_); lean_dec(v_x_7233_); -v_r_7236_ = lean_box(v_res_7235_); -return v_r_7236_; +return v_isZero_7235_; } -} -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(lean_object* v_as_7237_, size_t v_i_7238_, size_t v_stop_7239_){ -_start: +else { -uint8_t v___x_7240_; -v___x_7240_ = lean_usize_dec_eq(v_i_7238_, v_stop_7239_); +lean_object* v_one_7236_; lean_object* v_n_7237_; lean_object* v___x_7238_; lean_object* v___x_7239_; uint8_t v___x_7240_; +v_one_7236_ = lean_unsigned_to_nat(1u); +v_n_7237_ = lean_nat_sub(v_x_7233_, v_one_7236_); +lean_dec(v_x_7233_); +v___x_7238_ = lean_array_fget_borrowed(v_xs_7231_, v_n_7237_); +v___x_7239_ = lean_array_fget_borrowed(v_ys_7232_, v_n_7237_); +v___x_7240_ = lean_nat_dec_eq(v___x_7238_, v___x_7239_); if (v___x_7240_ == 0) { -lean_object* v___x_7241_; uint8_t v___x_7242_; -v___x_7241_ = lean_array_uget_borrowed(v_as_7237_, v_i_7238_); -v___x_7242_ = lean_unbox(v___x_7241_); -if (v___x_7242_ == 0) +lean_dec(v_n_7237_); +return v___x_7240_; +} +else { -size_t v___x_7243_; size_t v___x_7244_; -v___x_7243_ = ((size_t)1ULL); -v___x_7244_ = lean_usize_add(v_i_7238_, v___x_7243_); -v_i_7238_ = v___x_7244_; +v_x_7233_ = v_n_7237_; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg___boxed(lean_object* v_xs_7242_, lean_object* v_ys_7243_, lean_object* v_x_7244_){ +_start: +{ +uint8_t v_res_7245_; lean_object* v_r_7246_; +v_res_7245_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_xs_7242_, v_ys_7243_, v_x_7244_); +lean_dec_ref(v_ys_7243_); +lean_dec_ref(v_xs_7242_); +v_r_7246_ = lean_box(v_res_7245_); +return v_r_7246_; +} +} +LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(lean_object* v_x_7247_, lean_object* v_x_7248_){ +_start: +{ +if (lean_obj_tag(v_x_7247_) == 0) +{ +if (lean_obj_tag(v_x_7248_) == 0) +{ +uint8_t v___x_7249_; +v___x_7249_ = 1; +return v___x_7249_; +} +else +{ +uint8_t v___x_7250_; +v___x_7250_ = 0; +return v___x_7250_; +} +} +else +{ +if (lean_obj_tag(v_x_7248_) == 0) +{ +uint8_t v___x_7251_; +v___x_7251_ = 0; +return v___x_7251_; +} +else +{ +lean_object* v_val_7252_; lean_object* v_val_7253_; lean_object* v___x_7254_; lean_object* v___x_7255_; uint8_t v___x_7256_; +v_val_7252_ = lean_ctor_get(v_x_7247_, 0); +v_val_7253_ = lean_ctor_get(v_x_7248_, 0); +v___x_7254_ = lean_array_get_size(v_val_7252_); +v___x_7255_ = lean_array_get_size(v_val_7253_); +v___x_7256_ = lean_nat_dec_eq(v___x_7254_, v___x_7255_); +if (v___x_7256_ == 0) +{ +return v___x_7256_; +} +else +{ +uint8_t v___x_7257_; +v___x_7257_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_val_7252_, v_val_7253_, v___x_7254_); +return v___x_7257_; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0___boxed(lean_object* v_x_7258_, lean_object* v_x_7259_){ +_start: +{ +uint8_t v_res_7260_; lean_object* v_r_7261_; +v_res_7260_ = l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(v_x_7258_, v_x_7259_); +lean_dec(v_x_7259_); +lean_dec(v_x_7258_); +v_r_7261_ = lean_box(v_res_7260_); +return v_r_7261_; +} +} +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(lean_object* v_as_7262_, size_t v_i_7263_, size_t v_stop_7264_){ +_start: +{ +uint8_t v___x_7265_; +v___x_7265_ = lean_usize_dec_eq(v_i_7263_, v_stop_7264_); +if (v___x_7265_ == 0) +{ +lean_object* v___x_7266_; uint8_t v___x_7267_; +v___x_7266_ = lean_array_uget_borrowed(v_as_7262_, v_i_7263_); +v___x_7267_ = lean_unbox(v___x_7266_); +if (v___x_7267_ == 0) +{ +size_t v___x_7268_; size_t v___x_7269_; +v___x_7268_ = ((size_t)1ULL); +v___x_7269_ = lean_usize_add(v_i_7263_, v___x_7268_); +v_i_7263_ = v___x_7269_; goto _start; } else { -uint8_t v___x_7246_; -v___x_7246_ = lean_unbox(v___x_7241_); -return v___x_7246_; +uint8_t v___x_7271_; +v___x_7271_ = lean_unbox(v___x_7266_); +return v___x_7271_; } } else { -uint8_t v___x_7247_; -v___x_7247_ = 0; -return v___x_7247_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1___boxed(lean_object* v_as_7248_, lean_object* v_i_7249_, lean_object* v_stop_7250_){ -_start: -{ -size_t v_i_boxed_7251_; size_t v_stop_boxed_7252_; uint8_t v_res_7253_; lean_object* v_r_7254_; -v_i_boxed_7251_ = lean_unbox_usize(v_i_7249_); -lean_dec(v_i_7249_); -v_stop_boxed_7252_ = lean_unbox_usize(v_stop_7250_); -lean_dec(v_stop_7250_); -v_res_7253_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(v_as_7248_, v_i_boxed_7251_, v_stop_boxed_7252_); -lean_dec_ref(v_as_7248_); -v_r_7254_ = lean_box(v_res_7253_); -return v_r_7254_; -} -} -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0(lean_object* v_parentMasks_7259_, lean_object* v_declName_7260_, lean_object* v_specArgs_x3f_7261_){ -_start: -{ -lean_object* v___x_7262_; lean_object* v___x_7263_; lean_object* v___x_7264_; uint8_t v___x_7265_; lean_object* v___y_7267_; -v___x_7262_ = lean_unsigned_to_nat(0u); -v___x_7263_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___closed__0)); -v___x_7264_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___closed__1)); -v___x_7265_ = l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(v_specArgs_x3f_7261_, v___x_7264_); -if (v___x_7265_ == 0) -{ -lean_object* v___x_7273_; -v___x_7273_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_parentMasks_7259_, v_declName_7260_); -if (lean_obj_tag(v___x_7273_) == 0) -{ -v___y_7267_ = v___x_7263_; -goto v___jp_7266_; -} -else -{ -lean_object* v_val_7274_; -v_val_7274_ = lean_ctor_get(v___x_7273_, 0); -lean_inc(v_val_7274_); -lean_dec_ref(v___x_7273_); -v___y_7267_ = v_val_7274_; -goto v___jp_7266_; -} -} -else -{ -return v___x_7265_; -} -v___jp_7266_: -{ -lean_object* v___x_7268_; uint8_t v___x_7269_; -v___x_7268_ = lean_array_get_size(v___y_7267_); -v___x_7269_ = lean_nat_dec_lt(v___x_7262_, v___x_7268_); -if (v___x_7269_ == 0) -{ -lean_dec_ref(v___y_7267_); -return v___x_7265_; -} -else -{ -if (v___x_7269_ == 0) -{ -lean_dec_ref(v___y_7267_); -return v___x_7265_; -} -else -{ -size_t v___x_7270_; size_t v___x_7271_; uint8_t v___x_7272_; -v___x_7270_ = ((size_t)0ULL); -v___x_7271_ = lean_usize_of_nat(v___x_7268_); -v___x_7272_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(v___y_7267_, v___x_7270_, v___x_7271_); -lean_dec_ref(v___y_7267_); +uint8_t v___x_7272_; +v___x_7272_ = 0; return v___x_7272_; } } } -} -} -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___boxed(lean_object* v_parentMasks_7275_, lean_object* v_declName_7276_, lean_object* v_specArgs_x3f_7277_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1___boxed(lean_object* v_as_7273_, lean_object* v_i_7274_, lean_object* v_stop_7275_){ _start: { -uint8_t v_res_7278_; lean_object* v_r_7279_; -v_res_7278_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0(v_parentMasks_7275_, v_declName_7276_, v_specArgs_x3f_7277_); -lean_dec(v_specArgs_x3f_7277_); -lean_dec(v_declName_7276_); -lean_dec_ref(v_parentMasks_7275_); +size_t v_i_boxed_7276_; size_t v_stop_boxed_7277_; uint8_t v_res_7278_; lean_object* v_r_7279_; +v_i_boxed_7276_ = lean_unbox_usize(v_i_7274_); +lean_dec(v_i_7274_); +v_stop_boxed_7277_ = lean_unbox_usize(v_stop_7275_); +lean_dec(v_stop_7275_); +v_res_7278_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(v_as_7273_, v_i_boxed_7276_, v_stop_boxed_7277_); +lean_dec_ref(v_as_7273_); v_r_7279_ = lean_box(v_res_7278_); return v_r_7279_; } } +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0(lean_object* v_parentMasks_7284_, lean_object* v_declName_7285_, lean_object* v_specArgs_x3f_7286_){ +_start: +{ +lean_object* v___x_7287_; lean_object* v___x_7288_; lean_object* v___x_7289_; uint8_t v___x_7290_; lean_object* v___y_7292_; +v___x_7287_ = lean_unsigned_to_nat(0u); +v___x_7288_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___closed__0)); +v___x_7289_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___closed__1)); +v___x_7290_ = l_Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0(v_specArgs_x3f_7286_, v___x_7289_); +if (v___x_7290_ == 0) +{ +lean_object* v___x_7298_; +v___x_7298_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_parentMasks_7284_, v_declName_7285_); +if (lean_obj_tag(v___x_7298_) == 0) +{ +v___y_7292_ = v___x_7288_; +goto v___jp_7291_; +} +else +{ +lean_object* v_val_7299_; +v_val_7299_ = lean_ctor_get(v___x_7298_, 0); +lean_inc(v_val_7299_); +lean_dec_ref(v___x_7298_); +v___y_7292_ = v_val_7299_; +goto v___jp_7291_; +} +} +else +{ +return v___x_7290_; +} +v___jp_7291_: +{ +lean_object* v___x_7293_; uint8_t v___x_7294_; +v___x_7293_ = lean_array_get_size(v___y_7292_); +v___x_7294_ = lean_nat_dec_lt(v___x_7287_, v___x_7293_); +if (v___x_7294_ == 0) +{ +lean_dec_ref(v___y_7292_); +return v___x_7290_; +} +else +{ +if (v___x_7294_ == 0) +{ +lean_dec_ref(v___y_7292_); +return v___x_7290_; +} +else +{ +size_t v___x_7295_; size_t v___x_7296_; uint8_t v___x_7297_; +v___x_7295_ = ((size_t)0ULL); +v___x_7296_ = lean_usize_of_nat(v___x_7293_); +v___x_7297_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__1(v___y_7292_, v___x_7295_, v___x_7296_); +lean_dec_ref(v___y_7292_); +return v___x_7297_; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___boxed(lean_object* v_parentMasks_7300_, lean_object* v_declName_7301_, lean_object* v_specArgs_x3f_7302_){ +_start: +{ +uint8_t v_res_7303_; lean_object* v_r_7304_; +v_res_7303_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0(v_parentMasks_7300_, v_declName_7301_, v_specArgs_x3f_7302_); +lean_dec(v_specArgs_x3f_7302_); +lean_dec(v_declName_7301_); +lean_dec_ref(v_parentMasks_7300_); +v_r_7304_ = lean_box(v_res_7303_); +return v_r_7304_; +} +} static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2(void){ _start: { -lean_object* v___x_7283_; lean_object* v___x_7284_; -v___x_7283_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__1)); -v___x_7284_ = l_Lean_MessageData_ofFormat(v___x_7283_); -return v___x_7284_; +lean_object* v___x_7308_; lean_object* v___x_7309_; +v___x_7308_ = ((lean_object*)(l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__1)); +v___x_7309_ = l_Lean_MessageData_ofFormat(v___x_7308_); +return v___x_7309_; } } static lean_object* _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3(void){ _start: { -lean_object* v___x_7285_; lean_object* v___x_7286_; -v___x_7285_ = lean_box(1); -v___x_7286_ = l_Lean_MessageData_ofFormat(v___x_7285_); -return v___x_7286_; +lean_object* v___x_7310_; lean_object* v___x_7311_; +v___x_7310_ = lean_box(1); +v___x_7311_ = l_Lean_MessageData_ofFormat(v___x_7310_); +return v___x_7311_; } } -LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6(lean_object* v_a_7287_, lean_object* v_a_7288_){ +LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6(lean_object* v_a_7312_, lean_object* v_a_7313_){ _start: { -if (lean_obj_tag(v_a_7287_) == 0) +if (lean_obj_tag(v_a_7312_) == 0) { -lean_object* v___x_7289_; -v___x_7289_ = l_List_reverse___redArg(v_a_7288_); -return v___x_7289_; +lean_object* v___x_7314_; +v___x_7314_ = l_List_reverse___redArg(v_a_7313_); +return v___x_7314_; } else { -lean_object* v_head_7290_; lean_object* v_tail_7291_; lean_object* v___x_7293_; uint8_t v_isShared_7294_; uint8_t v_isSharedCheck_7318_; -v_head_7290_ = lean_ctor_get(v_a_7287_, 0); -v_tail_7291_ = lean_ctor_get(v_a_7287_, 1); -v_isSharedCheck_7318_ = !lean_is_exclusive(v_a_7287_); -if (v_isSharedCheck_7318_ == 0) +lean_object* v_head_7315_; lean_object* v_tail_7316_; lean_object* v___x_7318_; uint8_t v_isShared_7319_; uint8_t v_isSharedCheck_7343_; +v_head_7315_ = lean_ctor_get(v_a_7312_, 0); +v_tail_7316_ = lean_ctor_get(v_a_7312_, 1); +v_isSharedCheck_7343_ = !lean_is_exclusive(v_a_7312_); +if (v_isSharedCheck_7343_ == 0) { -v___x_7293_ = v_a_7287_; -v_isShared_7294_ = v_isSharedCheck_7318_; -goto v_resetjp_7292_; +v___x_7318_ = v_a_7312_; +v_isShared_7319_ = v_isSharedCheck_7343_; +goto v_resetjp_7317_; } else { -lean_inc(v_tail_7291_); -lean_inc(v_head_7290_); -lean_dec(v_a_7287_); -v___x_7293_ = lean_box(0); -v_isShared_7294_ = v_isSharedCheck_7318_; -goto v_resetjp_7292_; +lean_inc(v_tail_7316_); +lean_inc(v_head_7315_); +lean_dec(v_a_7312_); +v___x_7318_ = lean_box(0); +v_isShared_7319_ = v_isSharedCheck_7343_; +goto v_resetjp_7317_; } -v_resetjp_7292_: +v_resetjp_7317_: { -lean_object* v_fst_7295_; lean_object* v_snd_7296_; lean_object* v___x_7298_; uint8_t v_isShared_7299_; uint8_t v_isSharedCheck_7317_; -v_fst_7295_ = lean_ctor_get(v_head_7290_, 0); -v_snd_7296_ = lean_ctor_get(v_head_7290_, 1); -v_isSharedCheck_7317_ = !lean_is_exclusive(v_head_7290_); -if (v_isSharedCheck_7317_ == 0) +lean_object* v_fst_7320_; lean_object* v_snd_7321_; lean_object* v___x_7323_; uint8_t v_isShared_7324_; uint8_t v_isSharedCheck_7342_; +v_fst_7320_ = lean_ctor_get(v_head_7315_, 0); +v_snd_7321_ = lean_ctor_get(v_head_7315_, 1); +v_isSharedCheck_7342_ = !lean_is_exclusive(v_head_7315_); +if (v_isSharedCheck_7342_ == 0) { -v___x_7298_ = v_head_7290_; -v_isShared_7299_ = v_isSharedCheck_7317_; -goto v_resetjp_7297_; +v___x_7323_ = v_head_7315_; +v_isShared_7324_ = v_isSharedCheck_7342_; +goto v_resetjp_7322_; } else { -lean_inc(v_snd_7296_); -lean_inc(v_fst_7295_); -lean_dec(v_head_7290_); -v___x_7298_ = lean_box(0); -v_isShared_7299_ = v_isSharedCheck_7317_; -goto v_resetjp_7297_; +lean_inc(v_snd_7321_); +lean_inc(v_fst_7320_); +lean_dec(v_head_7315_); +v___x_7323_ = lean_box(0); +v_isShared_7324_ = v_isSharedCheck_7342_; +goto v_resetjp_7322_; } -v_resetjp_7297_: +v_resetjp_7322_: { -lean_object* v___x_7300_; lean_object* v___x_7301_; lean_object* v___x_7303_; -v___x_7300_ = l_Lean_MessageData_ofName(v_fst_7295_); -v___x_7301_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2); -if (v_isShared_7299_ == 0) +lean_object* v___x_7325_; lean_object* v___x_7326_; lean_object* v___x_7328_; +v___x_7325_ = l_Lean_MessageData_ofName(v_fst_7320_); +v___x_7326_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__2); +if (v_isShared_7324_ == 0) { -lean_ctor_set_tag(v___x_7298_, 7); -lean_ctor_set(v___x_7298_, 1, v___x_7301_); -lean_ctor_set(v___x_7298_, 0, v___x_7300_); -v___x_7303_ = v___x_7298_; -goto v_reusejp_7302_; +lean_ctor_set_tag(v___x_7323_, 7); +lean_ctor_set(v___x_7323_, 1, v___x_7326_); +lean_ctor_set(v___x_7323_, 0, v___x_7325_); +v___x_7328_ = v___x_7323_; +goto v_reusejp_7327_; } else { -lean_object* v_reuseFailAlloc_7316_; -v_reuseFailAlloc_7316_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v_reuseFailAlloc_7316_, 0, v___x_7300_); -lean_ctor_set(v_reuseFailAlloc_7316_, 1, v___x_7301_); -v___x_7303_ = v_reuseFailAlloc_7316_; -goto v_reusejp_7302_; +lean_object* v_reuseFailAlloc_7341_; +v_reuseFailAlloc_7341_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v_reuseFailAlloc_7341_, 0, v___x_7325_); +lean_ctor_set(v_reuseFailAlloc_7341_, 1, v___x_7326_); +v___x_7328_ = v_reuseFailAlloc_7341_; +goto v_reusejp_7327_; } -v_reusejp_7302_: +v_reusejp_7327_: { -lean_object* v___x_7304_; lean_object* v___x_7305_; lean_object* v___x_7306_; lean_object* v___x_7307_; lean_object* v___x_7308_; lean_object* v___x_7309_; lean_object* v___x_7310_; lean_object* v___x_7311_; lean_object* v___x_7313_; -v___x_7304_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3); -v___x_7305_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7305_, 0, v___x_7303_); -lean_ctor_set(v___x_7305_, 1, v___x_7304_); -v___x_7306_ = lean_array_to_list(v_snd_7296_); -v___x_7307_ = lean_box(0); -v___x_7308_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_7306_, v___x_7307_); -v___x_7309_ = l_Lean_MessageData_ofList(v___x_7308_); -v___x_7310_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7310_, 0, v___x_7305_); -lean_ctor_set(v___x_7310_, 1, v___x_7309_); -v___x_7311_ = l_Lean_MessageData_paren(v___x_7310_); -if (v_isShared_7294_ == 0) +lean_object* v___x_7329_; lean_object* v___x_7330_; lean_object* v___x_7331_; lean_object* v___x_7332_; lean_object* v___x_7333_; lean_object* v___x_7334_; lean_object* v___x_7335_; lean_object* v___x_7336_; lean_object* v___x_7338_; +v___x_7329_ = lean_obj_once(&l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3, &l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3_once, _init_l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6___closed__3); +v___x_7330_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7330_, 0, v___x_7328_); +lean_ctor_set(v___x_7330_, 1, v___x_7329_); +v___x_7331_ = lean_array_to_list(v_snd_7321_); +v___x_7332_ = lean_box(0); +v___x_7333_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_7331_, v___x_7332_); +v___x_7334_ = l_Lean_MessageData_ofList(v___x_7333_); +v___x_7335_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7335_, 0, v___x_7330_); +lean_ctor_set(v___x_7335_, 1, v___x_7334_); +v___x_7336_ = l_Lean_MessageData_paren(v___x_7335_); +if (v_isShared_7319_ == 0) { -lean_ctor_set(v___x_7293_, 1, v_a_7288_); -lean_ctor_set(v___x_7293_, 0, v___x_7311_); -v___x_7313_ = v___x_7293_; -goto v_reusejp_7312_; +lean_ctor_set(v___x_7318_, 1, v_a_7313_); +lean_ctor_set(v___x_7318_, 0, v___x_7336_); +v___x_7338_ = v___x_7318_; +goto v_reusejp_7337_; } else { -lean_object* v_reuseFailAlloc_7315_; -v_reuseFailAlloc_7315_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v_reuseFailAlloc_7315_, 0, v___x_7311_); -lean_ctor_set(v_reuseFailAlloc_7315_, 1, v_a_7288_); -v___x_7313_ = v_reuseFailAlloc_7315_; -goto v_reusejp_7312_; +lean_object* v_reuseFailAlloc_7340_; +v_reuseFailAlloc_7340_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v_reuseFailAlloc_7340_, 0, v___x_7336_); +lean_ctor_set(v_reuseFailAlloc_7340_, 1, v_a_7313_); +v___x_7338_ = v_reuseFailAlloc_7340_; +goto v_reusejp_7337_; } -v_reusejp_7312_: +v_reusejp_7337_: { -v_a_7287_ = v_tail_7291_; -v_a_7288_ = v___x_7313_; +v_a_7312_ = v_tail_7316_; +v_a_7313_ = v___x_7338_; goto _start; } } @@ -22408,559 +22537,600 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(lean_object* v_as_7319_, lean_object* v_bs_7320_, lean_object* v_i_7321_, lean_object* v_cs_7322_){ +LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(lean_object* v_as_7344_, lean_object* v_bs_7345_, lean_object* v_i_7346_, lean_object* v_cs_7347_){ _start: { -uint8_t v___y_7324_; lean_object* v___x_7330_; uint8_t v___x_7331_; -v___x_7330_ = lean_array_get_size(v_as_7319_); -v___x_7331_ = lean_nat_dec_lt(v_i_7321_, v___x_7330_); -if (v___x_7331_ == 0) +lean_object* v___y_7349_; lean_object* v___x_7354_; uint8_t v___x_7355_; +v___x_7354_ = lean_array_get_size(v_as_7344_); +v___x_7355_ = lean_nat_dec_lt(v_i_7346_, v___x_7354_); +if (v___x_7355_ == 0) { -lean_dec(v_i_7321_); -return v_cs_7322_; +lean_dec(v_i_7346_); +return v_cs_7347_; } else { -lean_object* v___x_7332_; uint8_t v___x_7333_; -v___x_7332_ = lean_array_get_size(v_bs_7320_); -v___x_7333_ = lean_nat_dec_lt(v_i_7321_, v___x_7332_); -if (v___x_7333_ == 0) +lean_object* v___x_7356_; uint8_t v___x_7357_; +v___x_7356_ = lean_array_get_size(v_bs_7345_); +v___x_7357_ = lean_nat_dec_lt(v_i_7346_, v___x_7356_); +if (v___x_7357_ == 0) { -lean_dec(v_i_7321_); -return v_cs_7322_; +lean_dec(v_i_7346_); +return v_cs_7347_; } else { -lean_object* v_a_7334_; lean_object* v_b_7335_; uint8_t v___x_7336_; -v_a_7334_ = lean_array_fget_borrowed(v_as_7319_, v_i_7321_); -v_b_7335_ = lean_array_fget_borrowed(v_bs_7320_, v_i_7321_); -v___x_7336_ = lean_unbox(v_a_7334_); -if (v___x_7336_ == 0) +lean_object* v_a_7358_; lean_object* v_b_7359_; uint8_t v___y_7361_; uint8_t v___x_7364_; +v_a_7358_ = lean_array_fget_borrowed(v_as_7344_, v_i_7346_); +v_b_7359_ = lean_array_fget_borrowed(v_bs_7345_, v_i_7346_); +v___x_7364_ = lean_unbox(v_a_7358_); +if (v___x_7364_ == 0) { -uint8_t v___x_7337_; -v___x_7337_ = lean_unbox(v_b_7335_); -switch(v___x_7337_) +switch(lean_obj_tag(v_b_7359_)) { +case 0: +{ +uint8_t v_weak_7365_; +v_weak_7365_ = lean_ctor_get_uint8(v_b_7359_, 0); +if (v_weak_7365_ == 0) +{ +lean_object* v___x_7366_; +v___x_7366_ = lean_box(4); +v___y_7349_ = v___x_7366_; +goto v___jp_7348_; +} +else +{ +uint8_t v___x_7367_; +v___x_7367_ = lean_unbox(v_a_7358_); +v___y_7361_ = v___x_7367_; +goto v___jp_7360_; +} +} case 2: { -uint8_t v___x_7338_; -v___x_7338_ = lean_unbox(v_b_7335_); -v___y_7324_ = v___x_7338_; -goto v___jp_7323_; +uint8_t v___x_7368_; +v___x_7368_ = lean_unbox(v_a_7358_); +v___y_7361_ = v___x_7368_; +goto v___jp_7360_; } case 4: { -uint8_t v___x_7339_; -v___x_7339_ = lean_unbox(v_b_7335_); -v___y_7324_ = v___x_7339_; -goto v___jp_7323_; +uint8_t v___x_7369_; +v___x_7369_ = lean_unbox(v_a_7358_); +v___y_7361_ = v___x_7369_; +goto v___jp_7360_; } default: { -uint8_t v___x_7340_; -v___x_7340_ = 4; -v___y_7324_ = v___x_7340_; -goto v___jp_7323_; +lean_object* v___x_7370_; +v___x_7370_ = lean_box(4); +v___y_7349_ = v___x_7370_; +goto v___jp_7348_; } } } else { -uint8_t v___x_7341_; -v___x_7341_ = lean_unbox(v_b_7335_); -v___y_7324_ = v___x_7341_; -goto v___jp_7323_; +lean_inc(v_b_7359_); +v___y_7349_ = v_b_7359_; +goto v___jp_7348_; } -} -} -v___jp_7323_: +v___jp_7360_: { -lean_object* v___x_7325_; lean_object* v___x_7326_; lean_object* v___x_7327_; lean_object* v___x_7328_; -v___x_7325_ = lean_unsigned_to_nat(1u); -v___x_7326_ = lean_nat_add(v_i_7321_, v___x_7325_); -lean_dec(v_i_7321_); -v___x_7327_ = lean_box(v___y_7324_); -v___x_7328_ = lean_array_push(v_cs_7322_, v___x_7327_); -v_i_7321_ = v___x_7326_; -v_cs_7322_ = v___x_7328_; +if (lean_obj_tag(v_b_7359_) == 0) +{ +lean_object* v___x_7362_; +v___x_7362_ = lean_box(4); +v___y_7349_ = v___x_7362_; +goto v___jp_7348_; +} +else +{ +if (v___y_7361_ == 0) +{ +lean_inc(v_b_7359_); +v___y_7349_ = v_b_7359_; +goto v___jp_7348_; +} +else +{ +lean_object* v___x_7363_; +v___x_7363_ = lean_box(4); +v___y_7349_ = v___x_7363_; +goto v___jp_7348_; +} +} +} +} +} +v___jp_7348_: +{ +lean_object* v___x_7350_; lean_object* v___x_7351_; lean_object* v___x_7352_; +v___x_7350_ = lean_unsigned_to_nat(1u); +v___x_7351_ = lean_nat_add(v_i_7346_, v___x_7350_); +lean_dec(v_i_7346_); +v___x_7352_ = lean_array_push(v_cs_7347_, v___y_7349_); +v_i_7346_ = v___x_7351_; +v_cs_7347_ = v___x_7352_; goto _start; } } } -LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4___boxed(lean_object* v_as_7342_, lean_object* v_bs_7343_, lean_object* v_i_7344_, lean_object* v_cs_7345_){ +LEAN_EXPORT lean_object* l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4___boxed(lean_object* v_as_7371_, lean_object* v_bs_7372_, lean_object* v_i_7373_, lean_object* v_cs_7374_){ _start: { -lean_object* v_res_7346_; -v_res_7346_ = l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(v_as_7342_, v_bs_7343_, v_i_7344_, v_cs_7345_); -lean_dec_ref(v_bs_7343_); -lean_dec_ref(v_as_7342_); -return v_res_7346_; +lean_object* v_res_7375_; +v_res_7375_ = l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(v_as_7371_, v_bs_7372_, v_i_7373_, v_cs_7374_); +lean_dec_ref(v_bs_7372_); +lean_dec_ref(v_as_7371_); +return v_res_7375_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(lean_object* v_as_7349_, size_t v_sz_7350_, size_t v_i_7351_, lean_object* v_b_7352_, lean_object* v___y_7353_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(lean_object* v_as_7378_, size_t v_sz_7379_, size_t v_i_7380_, lean_object* v_b_7381_, lean_object* v___y_7382_){ _start: { -lean_object* v_a_7356_; uint8_t v___x_7360_; -v___x_7360_ = lean_usize_dec_lt(v_i_7351_, v_sz_7350_); -if (v___x_7360_ == 0) +lean_object* v_a_7385_; uint8_t v___x_7389_; +v___x_7389_ = lean_usize_dec_lt(v_i_7380_, v_sz_7379_); +if (v___x_7389_ == 0) { -lean_object* v___x_7361_; -v___x_7361_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_7361_, 0, v_b_7352_); -return v___x_7361_; +lean_object* v___x_7390_; +v___x_7390_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_7390_, 0, v_b_7381_); +return v___x_7390_; } else { -lean_object* v___x_7362_; lean_object* v_parentMasks_7363_; lean_object* v_a_7364_; lean_object* v_declName_7365_; lean_object* v_paramsInfo_7366_; lean_object* v___x_7367_; lean_object* v___x_7368_; -v___x_7362_ = lean_st_ref_get(v___y_7353_); -v_parentMasks_7363_ = lean_ctor_get(v___x_7362_, 3); -lean_inc_ref(v_parentMasks_7363_); -lean_dec(v___x_7362_); -v_a_7364_ = lean_array_uget_borrowed(v_as_7349_, v_i_7351_); -v_declName_7365_ = lean_ctor_get(v_a_7364_, 0); -v_paramsInfo_7366_ = lean_ctor_get(v_a_7364_, 1); -v___x_7367_ = lean_box(0); -v___x_7368_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_parentMasks_7363_, v_declName_7365_); -lean_dec_ref(v_parentMasks_7363_); -if (lean_obj_tag(v___x_7368_) == 1) +lean_object* v___x_7391_; lean_object* v_parentMasks_7392_; lean_object* v_a_7393_; lean_object* v_declName_7394_; lean_object* v_paramsInfo_7395_; lean_object* v___x_7396_; lean_object* v___x_7397_; +v___x_7391_ = lean_st_ref_get(v___y_7382_); +v_parentMasks_7392_ = lean_ctor_get(v___x_7391_, 3); +lean_inc_ref(v_parentMasks_7392_); +lean_dec(v___x_7391_); +v_a_7393_ = lean_array_uget_borrowed(v_as_7378_, v_i_7380_); +v_declName_7394_ = lean_ctor_get(v_a_7393_, 0); +v_paramsInfo_7395_ = lean_ctor_get(v_a_7393_, 1); +v___x_7396_ = lean_box(0); +v___x_7397_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg(v_parentMasks_7392_, v_declName_7394_); +lean_dec_ref(v_parentMasks_7392_); +if (lean_obj_tag(v___x_7397_) == 1) { -lean_object* v_val_7369_; lean_object* v___x_7370_; lean_object* v_processedDecls_7371_; lean_object* v_workingDecls_7372_; lean_object* v_localSpecParamInfo_7373_; lean_object* v_parentMasks_7374_; uint8_t v_changed_7375_; lean_object* v___x_7377_; uint8_t v_isShared_7378_; uint8_t v_isSharedCheck_7387_; -v_val_7369_ = lean_ctor_get(v___x_7368_, 0); -lean_inc(v_val_7369_); -lean_dec_ref(v___x_7368_); -v___x_7370_ = lean_st_ref_take(v___y_7353_); -v_processedDecls_7371_ = lean_ctor_get(v___x_7370_, 0); -v_workingDecls_7372_ = lean_ctor_get(v___x_7370_, 1); -v_localSpecParamInfo_7373_ = lean_ctor_get(v___x_7370_, 2); -v_parentMasks_7374_ = lean_ctor_get(v___x_7370_, 3); -v_changed_7375_ = lean_ctor_get_uint8(v___x_7370_, sizeof(void*)*4); -v_isSharedCheck_7387_ = !lean_is_exclusive(v___x_7370_); -if (v_isSharedCheck_7387_ == 0) +lean_object* v_val_7398_; lean_object* v___x_7399_; lean_object* v_processedDecls_7400_; lean_object* v_workingDecls_7401_; lean_object* v_localSpecParamInfo_7402_; lean_object* v_parentMasks_7403_; uint8_t v_changed_7404_; lean_object* v___x_7406_; uint8_t v_isShared_7407_; uint8_t v_isSharedCheck_7416_; +v_val_7398_ = lean_ctor_get(v___x_7397_, 0); +lean_inc(v_val_7398_); +lean_dec_ref(v___x_7397_); +v___x_7399_ = lean_st_ref_take(v___y_7382_); +v_processedDecls_7400_ = lean_ctor_get(v___x_7399_, 0); +v_workingDecls_7401_ = lean_ctor_get(v___x_7399_, 1); +v_localSpecParamInfo_7402_ = lean_ctor_get(v___x_7399_, 2); +v_parentMasks_7403_ = lean_ctor_get(v___x_7399_, 3); +v_changed_7404_ = lean_ctor_get_uint8(v___x_7399_, sizeof(void*)*4); +v_isSharedCheck_7416_ = !lean_is_exclusive(v___x_7399_); +if (v_isSharedCheck_7416_ == 0) { -v___x_7377_ = v___x_7370_; -v_isShared_7378_ = v_isSharedCheck_7387_; -goto v_resetjp_7376_; +v___x_7406_ = v___x_7399_; +v_isShared_7407_ = v_isSharedCheck_7416_; +goto v_resetjp_7405_; } else { -lean_inc(v_parentMasks_7374_); -lean_inc(v_localSpecParamInfo_7373_); -lean_inc(v_workingDecls_7372_); -lean_inc(v_processedDecls_7371_); -lean_dec(v___x_7370_); -v___x_7377_ = lean_box(0); -v_isShared_7378_ = v_isSharedCheck_7387_; -goto v_resetjp_7376_; +lean_inc(v_parentMasks_7403_); +lean_inc(v_localSpecParamInfo_7402_); +lean_inc(v_workingDecls_7401_); +lean_inc(v_processedDecls_7400_); +lean_dec(v___x_7399_); +v___x_7406_ = lean_box(0); +v_isShared_7407_ = v_isSharedCheck_7416_; +goto v_resetjp_7405_; } -v_resetjp_7376_: +v_resetjp_7405_: { -lean_object* v___x_7379_; lean_object* v___x_7380_; lean_object* v___x_7381_; lean_object* v___x_7382_; lean_object* v___x_7384_; -v___x_7379_ = lean_unsigned_to_nat(0u); -v___x_7380_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg___closed__0)); -v___x_7381_ = l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(v_val_7369_, v_paramsInfo_7366_, v___x_7379_, v___x_7380_); -lean_dec(v_val_7369_); -lean_inc(v_declName_7365_); -v___x_7382_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_localSpecParamInfo_7373_, v_declName_7365_, v___x_7381_); -if (v_isShared_7378_ == 0) +lean_object* v___x_7408_; lean_object* v___x_7409_; lean_object* v___x_7410_; lean_object* v___x_7411_; lean_object* v___x_7413_; +v___x_7408_ = lean_unsigned_to_nat(0u); +v___x_7409_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg___closed__0)); +v___x_7410_ = l_Array_zipWithMAux___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__4(v_val_7398_, v_paramsInfo_7395_, v___x_7408_, v___x_7409_); +lean_dec(v_val_7398_); +lean_inc(v_declName_7394_); +v___x_7411_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7___redArg(v_localSpecParamInfo_7402_, v_declName_7394_, v___x_7410_); +if (v_isShared_7407_ == 0) { -lean_ctor_set(v___x_7377_, 2, v___x_7382_); -v___x_7384_ = v___x_7377_; -goto v_reusejp_7383_; +lean_ctor_set(v___x_7406_, 2, v___x_7411_); +v___x_7413_ = v___x_7406_; +goto v_reusejp_7412_; } else { -lean_object* v_reuseFailAlloc_7386_; -v_reuseFailAlloc_7386_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_7386_, 0, v_processedDecls_7371_); -lean_ctor_set(v_reuseFailAlloc_7386_, 1, v_workingDecls_7372_); -lean_ctor_set(v_reuseFailAlloc_7386_, 2, v___x_7382_); -lean_ctor_set(v_reuseFailAlloc_7386_, 3, v_parentMasks_7374_); -lean_ctor_set_uint8(v_reuseFailAlloc_7386_, sizeof(void*)*4, v_changed_7375_); -v___x_7384_ = v_reuseFailAlloc_7386_; -goto v_reusejp_7383_; +lean_object* v_reuseFailAlloc_7415_; +v_reuseFailAlloc_7415_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_7415_, 0, v_processedDecls_7400_); +lean_ctor_set(v_reuseFailAlloc_7415_, 1, v_workingDecls_7401_); +lean_ctor_set(v_reuseFailAlloc_7415_, 2, v___x_7411_); +lean_ctor_set(v_reuseFailAlloc_7415_, 3, v_parentMasks_7403_); +lean_ctor_set_uint8(v_reuseFailAlloc_7415_, sizeof(void*)*4, v_changed_7404_); +v___x_7413_ = v_reuseFailAlloc_7415_; +goto v_reusejp_7412_; } -v_reusejp_7383_: +v_reusejp_7412_: { -lean_object* v___x_7385_; -v___x_7385_ = lean_st_ref_set(v___y_7353_, v___x_7384_); -v_a_7356_ = v___x_7367_; -goto v___jp_7355_; +lean_object* v___x_7414_; +v___x_7414_ = lean_st_ref_set(v___y_7382_, v___x_7413_); +v_a_7385_ = v___x_7396_; +goto v___jp_7384_; } } } else { -lean_dec(v___x_7368_); -v_a_7356_ = v___x_7367_; -goto v___jp_7355_; +lean_dec(v___x_7397_); +v_a_7385_ = v___x_7396_; +goto v___jp_7384_; } } -v___jp_7355_: +v___jp_7384_: { -size_t v___x_7357_; size_t v___x_7358_; -v___x_7357_ = ((size_t)1ULL); -v___x_7358_ = lean_usize_add(v_i_7351_, v___x_7357_); -v_i_7351_ = v___x_7358_; -v_b_7352_ = v_a_7356_; +size_t v___x_7386_; size_t v___x_7387_; +v___x_7386_ = ((size_t)1ULL); +v___x_7387_ = lean_usize_add(v_i_7380_, v___x_7386_); +v_i_7380_ = v___x_7387_; +v_b_7381_ = v_a_7385_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg___boxed(lean_object* v_as_7388_, lean_object* v_sz_7389_, lean_object* v_i_7390_, lean_object* v_b_7391_, lean_object* v___y_7392_, lean_object* v___y_7393_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg___boxed(lean_object* v_as_7417_, lean_object* v_sz_7418_, lean_object* v_i_7419_, lean_object* v_b_7420_, lean_object* v___y_7421_, lean_object* v___y_7422_){ _start: { -size_t v_sz_boxed_7394_; size_t v_i_boxed_7395_; lean_object* v_res_7396_; -v_sz_boxed_7394_ = lean_unbox_usize(v_sz_7389_); -lean_dec(v_sz_7389_); -v_i_boxed_7395_ = lean_unbox_usize(v_i_7390_); -lean_dec(v_i_7390_); -v_res_7396_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_as_7388_, v_sz_boxed_7394_, v_i_boxed_7395_, v_b_7391_, v___y_7392_); -lean_dec(v___y_7392_); -lean_dec_ref(v_as_7388_); -return v_res_7396_; -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(lean_object* v_x_7397_, lean_object* v_x_7398_){ -_start: -{ -if (lean_obj_tag(v_x_7398_) == 0) -{ -lean_inc(v_x_7397_); -return v_x_7397_; -} -else -{ -lean_object* v_key_7399_; lean_object* v_value_7400_; lean_object* v_tail_7401_; lean_object* v___x_7402_; lean_object* v___x_7403_; lean_object* v___x_7404_; -v_key_7399_ = lean_ctor_get(v_x_7398_, 0); -v_value_7400_ = lean_ctor_get(v_x_7398_, 1); -v_tail_7401_ = lean_ctor_get(v_x_7398_, 2); -v___x_7402_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_x_7397_, v_tail_7401_); -lean_inc(v_value_7400_); -lean_inc(v_key_7399_); -v___x_7403_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_7403_, 0, v_key_7399_); -lean_ctor_set(v___x_7403_, 1, v_value_7400_); -v___x_7404_ = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(v___x_7404_, 0, v___x_7403_); -lean_ctor_set(v___x_7404_, 1, v___x_7402_); -return v___x_7404_; -} -} -} -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7___boxed(lean_object* v_x_7405_, lean_object* v_x_7406_){ -_start: -{ -lean_object* v_res_7407_; -v_res_7407_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_x_7405_, v_x_7406_); -lean_dec(v_x_7406_); -lean_dec(v_x_7405_); -return v_res_7407_; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(lean_object* v_as_7408_, size_t v_i_7409_, size_t v_stop_7410_, lean_object* v_b_7411_){ -_start: -{ -uint8_t v___x_7412_; -v___x_7412_ = lean_usize_dec_eq(v_i_7409_, v_stop_7410_); -if (v___x_7412_ == 0) -{ -size_t v___x_7413_; size_t v___x_7414_; lean_object* v___x_7415_; lean_object* v___x_7416_; -v___x_7413_ = ((size_t)1ULL); -v___x_7414_ = lean_usize_sub(v_i_7409_, v___x_7413_); -v___x_7415_ = lean_array_uget_borrowed(v_as_7408_, v___x_7414_); -v___x_7416_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_b_7411_, v___x_7415_); -lean_dec(v_b_7411_); -v_i_7409_ = v___x_7414_; -v_b_7411_ = v___x_7416_; -goto _start; -} -else -{ -return v_b_7411_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8___boxed(lean_object* v_as_7418_, lean_object* v_i_7419_, lean_object* v_stop_7420_, lean_object* v_b_7421_){ -_start: -{ -size_t v_i_boxed_7422_; size_t v_stop_boxed_7423_; lean_object* v_res_7424_; -v_i_boxed_7422_ = lean_unbox_usize(v_i_7419_); +size_t v_sz_boxed_7423_; size_t v_i_boxed_7424_; lean_object* v_res_7425_; +v_sz_boxed_7423_ = lean_unbox_usize(v_sz_7418_); +lean_dec(v_sz_7418_); +v_i_boxed_7424_ = lean_unbox_usize(v_i_7419_); lean_dec(v_i_7419_); -v_stop_boxed_7423_ = lean_unbox_usize(v_stop_7420_); -lean_dec(v_stop_7420_); -v_res_7424_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(v_as_7418_, v_i_boxed_7422_, v_stop_boxed_7423_, v_b_7421_); -lean_dec_ref(v_as_7418_); -return v_res_7424_; +v_res_7425_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_as_7417_, v_sz_boxed_7423_, v_i_boxed_7424_, v_b_7420_, v___y_7421_); +lean_dec(v___y_7421_); +lean_dec_ref(v_as_7417_); +return v_res_7425_; } } -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(lean_object* v_m_7425_, lean_object* v_a_7426_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(lean_object* v_x_7426_, lean_object* v_x_7427_){ _start: { -lean_object* v_buckets_7427_; lean_object* v___x_7428_; uint64_t v___y_7430_; -v_buckets_7427_ = lean_ctor_get(v_m_7425_, 1); -v___x_7428_ = lean_array_get_size(v_buckets_7427_); -if (lean_obj_tag(v_a_7426_) == 0) +if (lean_obj_tag(v_x_7427_) == 0) { -uint64_t v___x_7444_; -v___x_7444_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); -v___y_7430_ = v___x_7444_; -goto v___jp_7429_; +lean_inc(v_x_7426_); +return v_x_7426_; } else { -uint64_t v_hash_7445_; -v_hash_7445_ = lean_ctor_get_uint64(v_a_7426_, sizeof(void*)*2); -v___y_7430_ = v_hash_7445_; -goto v___jp_7429_; -} -v___jp_7429_: -{ -uint64_t v___x_7431_; uint64_t v___x_7432_; uint64_t v_fold_7433_; uint64_t v___x_7434_; uint64_t v___x_7435_; uint64_t v___x_7436_; size_t v___x_7437_; size_t v___x_7438_; size_t v___x_7439_; size_t v___x_7440_; size_t v___x_7441_; lean_object* v___x_7442_; uint8_t v___x_7443_; -v___x_7431_ = 32ULL; -v___x_7432_ = lean_uint64_shift_right(v___y_7430_, v___x_7431_); -v_fold_7433_ = lean_uint64_xor(v___y_7430_, v___x_7432_); -v___x_7434_ = 16ULL; -v___x_7435_ = lean_uint64_shift_right(v_fold_7433_, v___x_7434_); -v___x_7436_ = lean_uint64_xor(v_fold_7433_, v___x_7435_); -v___x_7437_ = lean_uint64_to_usize(v___x_7436_); -v___x_7438_ = lean_usize_of_nat(v___x_7428_); -v___x_7439_ = ((size_t)1ULL); -v___x_7440_ = lean_usize_sub(v___x_7438_, v___x_7439_); -v___x_7441_ = lean_usize_land(v___x_7437_, v___x_7440_); -v___x_7442_ = lean_array_uget_borrowed(v_buckets_7427_, v___x_7441_); -v___x_7443_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_7426_, v___x_7442_); -return v___x_7443_; +lean_object* v_key_7428_; lean_object* v_value_7429_; lean_object* v_tail_7430_; lean_object* v___x_7431_; lean_object* v___x_7432_; lean_object* v___x_7433_; +v_key_7428_ = lean_ctor_get(v_x_7427_, 0); +v_value_7429_ = lean_ctor_get(v_x_7427_, 1); +v_tail_7430_ = lean_ctor_get(v_x_7427_, 2); +v___x_7431_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_x_7426_, v_tail_7430_); +lean_inc(v_value_7429_); +lean_inc(v_key_7428_); +v___x_7432_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_7432_, 0, v_key_7428_); +lean_ctor_set(v___x_7432_, 1, v_value_7429_); +v___x_7433_ = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(v___x_7433_, 0, v___x_7432_); +lean_ctor_set(v___x_7433_, 1, v___x_7431_); +return v___x_7433_; } } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg___boxed(lean_object* v_m_7446_, lean_object* v_a_7447_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7___boxed(lean_object* v_x_7434_, lean_object* v_x_7435_){ _start: { -uint8_t v_res_7448_; lean_object* v_r_7449_; -v_res_7448_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v_m_7446_, v_a_7447_); -lean_dec(v_a_7447_); -lean_dec_ref(v_m_7446_); -v_r_7449_ = lean_box(v_res_7448_); -return v_r_7449_; +lean_object* v_res_7436_; +v_res_7436_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_x_7434_, v_x_7435_); +lean_dec(v_x_7435_); +lean_dec(v_x_7434_); +return v_res_7436_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(lean_object* v___x_7450_, size_t v_sz_7451_, size_t v_i_7452_, lean_object* v_bs_7453_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(lean_object* v_as_7437_, size_t v_i_7438_, size_t v_stop_7439_, lean_object* v_b_7440_){ _start: { -uint8_t v___x_7454_; -v___x_7454_ = lean_usize_dec_lt(v_i_7452_, v_sz_7451_); -if (v___x_7454_ == 0) +uint8_t v___x_7441_; +v___x_7441_ = lean_usize_dec_eq(v_i_7438_, v_stop_7439_); +if (v___x_7441_ == 0) { -return v_bs_7453_; +size_t v___x_7442_; size_t v___x_7443_; lean_object* v___x_7444_; lean_object* v___x_7445_; +v___x_7442_ = ((size_t)1ULL); +v___x_7443_ = lean_usize_sub(v_i_7438_, v___x_7442_); +v___x_7444_ = lean_array_uget_borrowed(v_as_7437_, v___x_7443_); +v___x_7445_ = l_Std_DHashMap_Internal_AssocList_foldrM___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__7(v_b_7440_, v___x_7444_); +lean_dec(v_b_7440_); +v_i_7438_ = v___x_7443_; +v_b_7440_ = v___x_7445_; +goto _start; } else { -lean_object* v_v_7455_; lean_object* v_toSignature_7456_; lean_object* v_name_7457_; lean_object* v___x_7458_; lean_object* v_bs_x27_7459_; uint8_t v___x_7460_; size_t v___x_7461_; size_t v___x_7462_; lean_object* v___x_7463_; lean_object* v___x_7464_; -v_v_7455_ = lean_array_uget_borrowed(v_bs_7453_, v_i_7452_); -v_toSignature_7456_ = lean_ctor_get(v_v_7455_, 0); -v_name_7457_ = lean_ctor_get(v_toSignature_7456_, 0); -lean_inc(v_name_7457_); -v___x_7458_ = lean_unsigned_to_nat(0u); -v_bs_x27_7459_ = lean_array_uset(v_bs_7453_, v_i_7452_, v___x_7458_); -v___x_7460_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v___x_7450_, v_name_7457_); -lean_dec(v_name_7457_); -v___x_7461_ = ((size_t)1ULL); -v___x_7462_ = lean_usize_add(v_i_7452_, v___x_7461_); -v___x_7463_ = lean_box(v___x_7460_); -v___x_7464_ = lean_array_uset(v_bs_x27_7459_, v_i_7452_, v___x_7463_); -v_i_7452_ = v___x_7462_; -v_bs_7453_ = v___x_7464_; +return v_b_7440_; +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8___boxed(lean_object* v_as_7447_, lean_object* v_i_7448_, lean_object* v_stop_7449_, lean_object* v_b_7450_){ +_start: +{ +size_t v_i_boxed_7451_; size_t v_stop_boxed_7452_; lean_object* v_res_7453_; +v_i_boxed_7451_ = lean_unbox_usize(v_i_7448_); +lean_dec(v_i_7448_); +v_stop_boxed_7452_ = lean_unbox_usize(v_stop_7449_); +lean_dec(v_stop_7449_); +v_res_7453_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(v_as_7447_, v_i_boxed_7451_, v_stop_boxed_7452_, v_b_7450_); +lean_dec_ref(v_as_7447_); +return v_res_7453_; +} +} +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(lean_object* v_m_7454_, lean_object* v_a_7455_){ +_start: +{ +lean_object* v_buckets_7456_; lean_object* v___x_7457_; uint64_t v___y_7459_; +v_buckets_7456_ = lean_ctor_get(v_m_7454_, 1); +v___x_7457_ = lean_array_get_size(v_buckets_7456_); +if (lean_obj_tag(v_a_7455_) == 0) +{ +uint64_t v___x_7473_; +v___x_7473_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_getSpecEntry_x3f_spec__0___redArg___closed__0); +v___y_7459_ = v___x_7473_; +goto v___jp_7458_; +} +else +{ +uint64_t v_hash_7474_; +v_hash_7474_ = lean_ctor_get_uint64(v_a_7455_, sizeof(void*)*2); +v___y_7459_ = v_hash_7474_; +goto v___jp_7458_; +} +v___jp_7458_: +{ +uint64_t v___x_7460_; uint64_t v___x_7461_; uint64_t v_fold_7462_; uint64_t v___x_7463_; uint64_t v___x_7464_; uint64_t v___x_7465_; size_t v___x_7466_; size_t v___x_7467_; size_t v___x_7468_; size_t v___x_7469_; size_t v___x_7470_; lean_object* v___x_7471_; uint8_t v___x_7472_; +v___x_7460_ = 32ULL; +v___x_7461_ = lean_uint64_shift_right(v___y_7459_, v___x_7460_); +v_fold_7462_ = lean_uint64_xor(v___y_7459_, v___x_7461_); +v___x_7463_ = 16ULL; +v___x_7464_ = lean_uint64_shift_right(v_fold_7462_, v___x_7463_); +v___x_7465_ = lean_uint64_xor(v_fold_7462_, v___x_7464_); +v___x_7466_ = lean_uint64_to_usize(v___x_7465_); +v___x_7467_ = lean_usize_of_nat(v___x_7457_); +v___x_7468_ = ((size_t)1ULL); +v___x_7469_ = lean_usize_sub(v___x_7467_, v___x_7468_); +v___x_7470_ = lean_usize_land(v___x_7466_, v___x_7469_); +v___x_7471_ = lean_array_uget_borrowed(v_buckets_7456_, v___x_7470_); +v___x_7472_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__7_spec__8___redArg(v_a_7455_, v___x_7471_); +return v___x_7472_; +} +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg___boxed(lean_object* v_m_7475_, lean_object* v_a_7476_){ +_start: +{ +uint8_t v_res_7477_; lean_object* v_r_7478_; +v_res_7477_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v_m_7475_, v_a_7476_); +lean_dec(v_a_7476_); +lean_dec_ref(v_m_7475_); +v_r_7478_ = lean_box(v_res_7477_); +return v_r_7478_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(lean_object* v___x_7479_, size_t v_sz_7480_, size_t v_i_7481_, lean_object* v_bs_7482_){ +_start: +{ +uint8_t v___x_7483_; +v___x_7483_ = lean_usize_dec_lt(v_i_7481_, v_sz_7480_); +if (v___x_7483_ == 0) +{ +return v_bs_7482_; +} +else +{ +lean_object* v_v_7484_; lean_object* v_toSignature_7485_; lean_object* v_name_7486_; lean_object* v___x_7487_; lean_object* v_bs_x27_7488_; uint8_t v___x_7489_; size_t v___x_7490_; size_t v___x_7491_; lean_object* v___x_7492_; lean_object* v___x_7493_; +v_v_7484_ = lean_array_uget_borrowed(v_bs_7482_, v_i_7481_); +v_toSignature_7485_ = lean_ctor_get(v_v_7484_, 0); +v_name_7486_ = lean_ctor_get(v_toSignature_7485_, 0); +lean_inc(v_name_7486_); +v___x_7487_ = lean_unsigned_to_nat(0u); +v_bs_x27_7488_ = lean_array_uset(v_bs_7482_, v_i_7481_, v___x_7487_); +v___x_7489_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v___x_7479_, v_name_7486_); +lean_dec(v_name_7486_); +v___x_7490_ = ((size_t)1ULL); +v___x_7491_ = lean_usize_add(v_i_7481_, v___x_7490_); +v___x_7492_ = lean_box(v___x_7489_); +v___x_7493_ = lean_array_uset(v_bs_x27_7488_, v_i_7481_, v___x_7492_); +v_i_7481_ = v___x_7491_; +v_bs_7482_ = v___x_7493_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3___boxed(lean_object* v___x_7466_, lean_object* v_sz_7467_, lean_object* v_i_7468_, lean_object* v_bs_7469_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3___boxed(lean_object* v___x_7495_, lean_object* v_sz_7496_, lean_object* v_i_7497_, lean_object* v_bs_7498_){ _start: { -size_t v_sz_boxed_7470_; size_t v_i_boxed_7471_; lean_object* v_res_7472_; -v_sz_boxed_7470_ = lean_unbox_usize(v_sz_7467_); -lean_dec(v_sz_7467_); -v_i_boxed_7471_ = lean_unbox_usize(v_i_7468_); -lean_dec(v_i_7468_); -v_res_7472_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(v___x_7466_, v_sz_boxed_7470_, v_i_boxed_7471_, v_bs_7469_); -lean_dec_ref(v___x_7466_); -return v_res_7472_; +size_t v_sz_boxed_7499_; size_t v_i_boxed_7500_; lean_object* v_res_7501_; +v_sz_boxed_7499_ = lean_unbox_usize(v_sz_7496_); +lean_dec(v_sz_7496_); +v_i_boxed_7500_ = lean_unbox_usize(v_i_7497_); +lean_dec(v_i_7497_); +v_res_7501_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(v___x_7495_, v_sz_boxed_7499_, v_i_boxed_7500_, v_bs_7498_); +lean_dec_ref(v___x_7495_); +return v_res_7501_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1(void){ _start: { -lean_object* v___x_7474_; lean_object* v___x_7475_; -v___x_7474_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__0)); -v___x_7475_ = l_Lean_stringToMessageData(v___x_7474_); -return v___x_7475_; +lean_object* v___x_7503_; lean_object* v___x_7504_; +v___x_7503_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__0)); +v___x_7504_ = l_Lean_stringToMessageData(v___x_7503_); +return v___x_7504_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(lean_object* v_a_7476_, lean_object* v_a_7477_, lean_object* v_a_7478_, lean_object* v_a_7479_, lean_object* v_a_7480_, lean_object* v_a_7481_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(lean_object* v_a_7505_, lean_object* v_a_7506_, lean_object* v_a_7507_, lean_object* v_a_7508_, lean_object* v_a_7509_, lean_object* v_a_7510_){ _start: { -lean_object* v___x_7483_; lean_object* v___x_7484_; lean_object* v___x_7485_; lean_object* v_processedDecls_7486_; lean_object* v_workingDecls_7487_; lean_object* v_parentMasks_7488_; lean_object* v___x_7489_; lean_object* v___f_7490_; size_t v_sz_7491_; size_t v___x_7492_; lean_object* v___x_7493_; lean_object* v___x_7494_; -v___x_7483_ = lean_st_ref_get(v_a_7477_); -v___x_7484_ = lean_st_ref_get(v_a_7477_); -v___x_7485_ = lean_st_ref_get(v_a_7477_); -v_processedDecls_7486_ = lean_ctor_get(v___x_7483_, 0); -lean_inc_ref(v_processedDecls_7486_); -lean_dec(v___x_7483_); -v_workingDecls_7487_ = lean_ctor_get(v___x_7484_, 1); -lean_inc_ref(v_workingDecls_7487_); -lean_dec(v___x_7484_); -v_parentMasks_7488_ = lean_ctor_get(v___x_7485_, 3); -lean_inc_ref(v_parentMasks_7488_); -lean_dec(v___x_7485_); -v___x_7489_ = l_Array_append___redArg(v_processedDecls_7486_, v_workingDecls_7487_); -lean_dec_ref(v_workingDecls_7487_); -lean_inc_ref(v_parentMasks_7488_); -v___f_7490_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___boxed), 3, 1); -lean_closure_set(v___f_7490_, 0, v_parentMasks_7488_); -v_sz_7491_ = lean_array_size(v___x_7489_); -v___x_7492_ = ((size_t)0ULL); -lean_inc_ref(v___x_7489_); -v___x_7493_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(v_parentMasks_7488_, v_sz_7491_, v___x_7492_, v___x_7489_); -lean_dec_ref(v_parentMasks_7488_); -v___x_7494_ = l_Lean_Compiler_LCNF_computeSpecEntries(v___x_7489_, v___f_7490_, v___x_7493_, v_a_7478_, v_a_7479_, v_a_7480_, v_a_7481_); -lean_dec_ref(v___x_7493_); -if (lean_obj_tag(v___x_7494_) == 0) +lean_object* v___x_7512_; lean_object* v___x_7513_; lean_object* v___x_7514_; lean_object* v_processedDecls_7515_; lean_object* v_workingDecls_7516_; lean_object* v_parentMasks_7517_; lean_object* v___x_7518_; lean_object* v___f_7519_; size_t v_sz_7520_; size_t v___x_7521_; lean_object* v___x_7522_; lean_object* v___x_7523_; +v___x_7512_ = lean_st_ref_get(v_a_7506_); +v___x_7513_ = lean_st_ref_get(v_a_7506_); +v___x_7514_ = lean_st_ref_get(v_a_7506_); +v_processedDecls_7515_ = lean_ctor_get(v___x_7512_, 0); +lean_inc_ref(v_processedDecls_7515_); +lean_dec(v___x_7512_); +v_workingDecls_7516_ = lean_ctor_get(v___x_7513_, 1); +lean_inc_ref(v_workingDecls_7516_); +lean_dec(v___x_7513_); +v_parentMasks_7517_ = lean_ctor_get(v___x_7514_, 3); +lean_inc_ref(v_parentMasks_7517_); +lean_dec(v___x_7514_); +v___x_7518_ = l_Array_append___redArg(v_processedDecls_7515_, v_workingDecls_7516_); +lean_dec_ref(v_workingDecls_7516_); +lean_inc_ref(v_parentMasks_7517_); +v___f_7519_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___lam__0___boxed), 3, 1); +lean_closure_set(v___f_7519_, 0, v_parentMasks_7517_); +v_sz_7520_ = lean_array_size(v___x_7518_); +v___x_7521_ = ((size_t)0ULL); +lean_inc_ref(v___x_7518_); +v___x_7522_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__3(v_parentMasks_7517_, v_sz_7520_, v___x_7521_, v___x_7518_); +lean_dec_ref(v_parentMasks_7517_); +v___x_7523_ = l_Lean_Compiler_LCNF_computeSpecEntries(v___x_7518_, v___f_7519_, v___x_7522_, v_a_7507_, v_a_7508_, v_a_7509_, v_a_7510_); +lean_dec_ref(v___x_7522_); +if (lean_obj_tag(v___x_7523_) == 0) { -lean_object* v_a_7495_; lean_object* v___x_7496_; size_t v_sz_7497_; lean_object* v___x_7498_; -v_a_7495_ = lean_ctor_get(v___x_7494_, 0); -lean_inc(v_a_7495_); -lean_dec_ref(v___x_7494_); -v___x_7496_ = lean_box(0); -v_sz_7497_ = lean_array_size(v_a_7495_); -v___x_7498_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_a_7495_, v_sz_7497_, v___x_7492_, v___x_7496_, v_a_7477_); -lean_dec(v_a_7495_); -if (lean_obj_tag(v___x_7498_) == 0) -{ -lean_object* v___x_7499_; lean_object* v___x_7500_; lean_object* v_a_7501_; lean_object* v___x_7503_; uint8_t v_isShared_7504_; uint8_t v_isSharedCheck_7533_; -lean_dec_ref(v___x_7498_); -v___x_7499_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_7500_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_7499_, v_a_7480_); -v_a_7501_ = lean_ctor_get(v___x_7500_, 0); -v_isSharedCheck_7533_ = !lean_is_exclusive(v___x_7500_); -if (v_isSharedCheck_7533_ == 0) -{ -v___x_7503_ = v___x_7500_; -v_isShared_7504_ = v_isSharedCheck_7533_; -goto v_resetjp_7502_; -} -else -{ -lean_inc(v_a_7501_); -lean_dec(v___x_7500_); -v___x_7503_ = lean_box(0); -v_isShared_7504_ = v_isSharedCheck_7533_; -goto v_resetjp_7502_; -} -v_resetjp_7502_: -{ -uint8_t v___x_7505_; -v___x_7505_ = lean_unbox(v_a_7501_); -lean_dec(v_a_7501_); -if (v___x_7505_ == 0) -{ -lean_object* v___x_7507_; -if (v_isShared_7504_ == 0) -{ -lean_ctor_set(v___x_7503_, 0, v___x_7496_); -v___x_7507_ = v___x_7503_; -goto v_reusejp_7506_; -} -else -{ -lean_object* v_reuseFailAlloc_7508_; -v_reuseFailAlloc_7508_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7508_, 0, v___x_7496_); -v___x_7507_ = v_reuseFailAlloc_7508_; -goto v_reusejp_7506_; -} -v_reusejp_7506_: -{ -return v___x_7507_; -} -} -else -{ -lean_object* v___x_7509_; lean_object* v_localSpecParamInfo_7510_; lean_object* v_buckets_7511_; lean_object* v___x_7513_; uint8_t v_isShared_7514_; uint8_t v_isSharedCheck_7531_; -lean_del_object(v___x_7503_); -v___x_7509_ = lean_st_ref_get(v_a_7477_); -v_localSpecParamInfo_7510_ = lean_ctor_get(v___x_7509_, 2); -lean_inc_ref(v_localSpecParamInfo_7510_); -lean_dec(v___x_7509_); -v_buckets_7511_ = lean_ctor_get(v_localSpecParamInfo_7510_, 1); -v_isSharedCheck_7531_ = !lean_is_exclusive(v_localSpecParamInfo_7510_); -if (v_isSharedCheck_7531_ == 0) -{ -lean_object* v_unused_7532_; -v_unused_7532_ = lean_ctor_get(v_localSpecParamInfo_7510_, 0); -lean_dec(v_unused_7532_); -v___x_7513_ = v_localSpecParamInfo_7510_; -v_isShared_7514_ = v_isSharedCheck_7531_; -goto v_resetjp_7512_; -} -else -{ -lean_inc(v_buckets_7511_); -lean_dec(v_localSpecParamInfo_7510_); -v___x_7513_ = lean_box(0); -v_isShared_7514_ = v_isSharedCheck_7531_; -goto v_resetjp_7512_; -} -v_resetjp_7512_: -{ -lean_object* v___x_7515_; lean_object* v___y_7517_; lean_object* v___x_7525_; lean_object* v___x_7526_; lean_object* v___x_7527_; uint8_t v___x_7528_; -v___x_7515_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1); +lean_object* v_a_7524_; lean_object* v___x_7525_; size_t v_sz_7526_; lean_object* v___x_7527_; +v_a_7524_ = lean_ctor_get(v___x_7523_, 0); +lean_inc(v_a_7524_); +lean_dec_ref(v___x_7523_); v___x_7525_ = lean_box(0); -v___x_7526_ = lean_array_get_size(v_buckets_7511_); -v___x_7527_ = lean_unsigned_to_nat(0u); -v___x_7528_ = lean_nat_dec_lt(v___x_7527_, v___x_7526_); -if (v___x_7528_ == 0) +v_sz_7526_ = lean_array_size(v_a_7524_); +v___x_7527_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_a_7524_, v_sz_7526_, v___x_7521_, v___x_7525_, v_a_7506_); +lean_dec(v_a_7524_); +if (lean_obj_tag(v___x_7527_) == 0) { -lean_dec_ref(v_buckets_7511_); -v___y_7517_ = v___x_7525_; -goto v___jp_7516_; +lean_object* v___x_7528_; lean_object* v___x_7529_; lean_object* v_a_7530_; lean_object* v___x_7532_; uint8_t v_isShared_7533_; uint8_t v_isSharedCheck_7562_; +lean_dec_ref(v___x_7527_); +v___x_7528_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_7529_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_7528_, v_a_7509_); +v_a_7530_ = lean_ctor_get(v___x_7529_, 0); +v_isSharedCheck_7562_ = !lean_is_exclusive(v___x_7529_); +if (v_isSharedCheck_7562_ == 0) +{ +v___x_7532_ = v___x_7529_; +v_isShared_7533_ = v_isSharedCheck_7562_; +goto v_resetjp_7531_; } else { -size_t v___x_7529_; lean_object* v___x_7530_; -v___x_7529_ = lean_usize_of_nat(v___x_7526_); -v___x_7530_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(v_buckets_7511_, v___x_7529_, v___x_7492_, v___x_7525_); -lean_dec_ref(v_buckets_7511_); -v___y_7517_ = v___x_7530_; -goto v___jp_7516_; +lean_inc(v_a_7530_); +lean_dec(v___x_7529_); +v___x_7532_ = lean_box(0); +v_isShared_7533_ = v_isSharedCheck_7562_; +goto v_resetjp_7531_; } -v___jp_7516_: +v_resetjp_7531_: { -lean_object* v___x_7518_; lean_object* v___x_7519_; lean_object* v___x_7520_; lean_object* v___x_7522_; -v___x_7518_ = lean_box(0); -v___x_7519_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6(v___y_7517_, v___x_7518_); -v___x_7520_ = l_Lean_MessageData_ofList(v___x_7519_); -if (v_isShared_7514_ == 0) +uint8_t v___x_7534_; +v___x_7534_ = lean_unbox(v_a_7530_); +lean_dec(v_a_7530_); +if (v___x_7534_ == 0) { -lean_ctor_set_tag(v___x_7513_, 7); -lean_ctor_set(v___x_7513_, 1, v___x_7520_); -lean_ctor_set(v___x_7513_, 0, v___x_7515_); -v___x_7522_ = v___x_7513_; -goto v_reusejp_7521_; +lean_object* v___x_7536_; +if (v_isShared_7533_ == 0) +{ +lean_ctor_set(v___x_7532_, 0, v___x_7525_); +v___x_7536_ = v___x_7532_; +goto v_reusejp_7535_; } else { -lean_object* v_reuseFailAlloc_7524_; -v_reuseFailAlloc_7524_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v_reuseFailAlloc_7524_, 0, v___x_7515_); -lean_ctor_set(v_reuseFailAlloc_7524_, 1, v___x_7520_); -v___x_7522_ = v_reuseFailAlloc_7524_; -goto v_reusejp_7521_; +lean_object* v_reuseFailAlloc_7537_; +v_reuseFailAlloc_7537_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7537_, 0, v___x_7525_); +v___x_7536_ = v_reuseFailAlloc_7537_; +goto v_reusejp_7535_; } -v_reusejp_7521_: +v_reusejp_7535_: { -lean_object* v___x_7523_; -v___x_7523_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_7499_, v___x_7522_, v_a_7478_, v_a_7479_, v_a_7480_, v_a_7481_); -return v___x_7523_; +return v___x_7536_; +} +} +else +{ +lean_object* v___x_7538_; lean_object* v_localSpecParamInfo_7539_; lean_object* v_buckets_7540_; lean_object* v___x_7542_; uint8_t v_isShared_7543_; uint8_t v_isSharedCheck_7560_; +lean_del_object(v___x_7532_); +v___x_7538_ = lean_st_ref_get(v_a_7506_); +v_localSpecParamInfo_7539_ = lean_ctor_get(v___x_7538_, 2); +lean_inc_ref(v_localSpecParamInfo_7539_); +lean_dec(v___x_7538_); +v_buckets_7540_ = lean_ctor_get(v_localSpecParamInfo_7539_, 1); +v_isSharedCheck_7560_ = !lean_is_exclusive(v_localSpecParamInfo_7539_); +if (v_isSharedCheck_7560_ == 0) +{ +lean_object* v_unused_7561_; +v_unused_7561_ = lean_ctor_get(v_localSpecParamInfo_7539_, 0); +lean_dec(v_unused_7561_); +v___x_7542_ = v_localSpecParamInfo_7539_; +v_isShared_7543_ = v_isSharedCheck_7560_; +goto v_resetjp_7541_; +} +else +{ +lean_inc(v_buckets_7540_); +lean_dec(v_localSpecParamInfo_7539_); +v___x_7542_ = lean_box(0); +v_isShared_7543_ = v_isSharedCheck_7560_; +goto v_resetjp_7541_; +} +v_resetjp_7541_: +{ +lean_object* v___x_7544_; lean_object* v___y_7546_; lean_object* v___x_7554_; lean_object* v___x_7555_; lean_object* v___x_7556_; uint8_t v___x_7557_; +v___x_7544_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___closed__1); +v___x_7554_ = lean_box(0); +v___x_7555_ = lean_array_get_size(v_buckets_7540_); +v___x_7556_ = lean_unsigned_to_nat(0u); +v___x_7557_ = lean_nat_dec_lt(v___x_7556_, v___x_7555_); +if (v___x_7557_ == 0) +{ +lean_dec_ref(v_buckets_7540_); +v___y_7546_ = v___x_7554_; +goto v___jp_7545_; +} +else +{ +size_t v___x_7558_; lean_object* v___x_7559_; +v___x_7558_ = lean_usize_of_nat(v___x_7555_); +v___x_7559_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__8(v_buckets_7540_, v___x_7558_, v___x_7521_, v___x_7554_); +lean_dec_ref(v_buckets_7540_); +v___y_7546_ = v___x_7559_; +goto v___jp_7545_; +} +v___jp_7545_: +{ +lean_object* v___x_7547_; lean_object* v___x_7548_; lean_object* v___x_7549_; lean_object* v___x_7551_; +v___x_7547_ = lean_box(0); +v___x_7548_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__6(v___y_7546_, v___x_7547_); +v___x_7549_ = l_Lean_MessageData_ofList(v___x_7548_); +if (v_isShared_7543_ == 0) +{ +lean_ctor_set_tag(v___x_7542_, 7); +lean_ctor_set(v___x_7542_, 1, v___x_7549_); +lean_ctor_set(v___x_7542_, 0, v___x_7544_); +v___x_7551_ = v___x_7542_; +goto v_reusejp_7550_; +} +else +{ +lean_object* v_reuseFailAlloc_7553_; +v_reuseFailAlloc_7553_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v_reuseFailAlloc_7553_, 0, v___x_7544_); +lean_ctor_set(v_reuseFailAlloc_7553_, 1, v___x_7549_); +v___x_7551_ = v_reuseFailAlloc_7553_; +goto v_reusejp_7550_; +} +v_reusejp_7550_: +{ +lean_object* v___x_7552_; +v___x_7552_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_7528_, v___x_7551_, v_a_7507_, v_a_7508_, v_a_7509_, v_a_7510_); +return v___x_7552_; } } } @@ -22969,240 +23139,240 @@ return v___x_7523_; } else { -return v___x_7498_; +return v___x_7527_; } } else { -lean_object* v_a_7534_; lean_object* v___x_7536_; uint8_t v_isShared_7537_; uint8_t v_isSharedCheck_7541_; -v_a_7534_ = lean_ctor_get(v___x_7494_, 0); -v_isSharedCheck_7541_ = !lean_is_exclusive(v___x_7494_); -if (v_isSharedCheck_7541_ == 0) +lean_object* v_a_7563_; lean_object* v___x_7565_; uint8_t v_isShared_7566_; uint8_t v_isSharedCheck_7570_; +v_a_7563_ = lean_ctor_get(v___x_7523_, 0); +v_isSharedCheck_7570_ = !lean_is_exclusive(v___x_7523_); +if (v_isSharedCheck_7570_ == 0) { -v___x_7536_ = v___x_7494_; -v_isShared_7537_ = v_isSharedCheck_7541_; -goto v_resetjp_7535_; +v___x_7565_ = v___x_7523_; +v_isShared_7566_ = v_isSharedCheck_7570_; +goto v_resetjp_7564_; } else { -lean_inc(v_a_7534_); -lean_dec(v___x_7494_); -v___x_7536_ = lean_box(0); -v_isShared_7537_ = v_isSharedCheck_7541_; -goto v_resetjp_7535_; +lean_inc(v_a_7563_); +lean_dec(v___x_7523_); +v___x_7565_ = lean_box(0); +v_isShared_7566_ = v_isSharedCheck_7570_; +goto v_resetjp_7564_; } -v_resetjp_7535_: +v_resetjp_7564_: { -lean_object* v___x_7539_; -if (v_isShared_7537_ == 0) +lean_object* v___x_7568_; +if (v_isShared_7566_ == 0) { -v___x_7539_ = v___x_7536_; -goto v_reusejp_7538_; +v___x_7568_ = v___x_7565_; +goto v_reusejp_7567_; } else { -lean_object* v_reuseFailAlloc_7540_; -v_reuseFailAlloc_7540_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7540_, 0, v_a_7534_); -v___x_7539_ = v_reuseFailAlloc_7540_; -goto v_reusejp_7538_; +lean_object* v_reuseFailAlloc_7569_; +v_reuseFailAlloc_7569_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7569_, 0, v_a_7563_); +v___x_7568_ = v_reuseFailAlloc_7569_; +goto v_reusejp_7567_; } -v_reusejp_7538_: +v_reusejp_7567_: { -return v___x_7539_; +return v___x_7568_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___boxed(lean_object* v_a_7542_, lean_object* v_a_7543_, lean_object* v_a_7544_, lean_object* v_a_7545_, lean_object* v_a_7546_, lean_object* v_a_7547_, lean_object* v_a_7548_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo___boxed(lean_object* v_a_7571_, lean_object* v_a_7572_, lean_object* v_a_7573_, lean_object* v_a_7574_, lean_object* v_a_7575_, lean_object* v_a_7576_, lean_object* v_a_7577_){ _start: { -lean_object* v_res_7549_; -v_res_7549_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(v_a_7542_, v_a_7543_, v_a_7544_, v_a_7545_, v_a_7546_, v_a_7547_); -lean_dec(v_a_7547_); -lean_dec_ref(v_a_7546_); -lean_dec(v_a_7545_); -lean_dec_ref(v_a_7544_); -lean_dec(v_a_7543_); -lean_dec_ref(v_a_7542_); -return v_res_7549_; +lean_object* v_res_7578_; +v_res_7578_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(v_a_7571_, v_a_7572_, v_a_7573_, v_a_7574_, v_a_7575_, v_a_7576_); +lean_dec(v_a_7576_); +lean_dec_ref(v_a_7575_); +lean_dec(v_a_7574_); +lean_dec_ref(v_a_7573_); +lean_dec(v_a_7572_); +lean_dec_ref(v_a_7571_); +return v_res_7578_; } } -LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2(lean_object* v_00_u03b2_7550_, lean_object* v_m_7551_, lean_object* v_a_7552_){ +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2(lean_object* v_00_u03b2_7579_, lean_object* v_m_7580_, lean_object* v_a_7581_){ _start: { -uint8_t v___x_7553_; -v___x_7553_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v_m_7551_, v_a_7552_); -return v___x_7553_; +uint8_t v___x_7582_; +v___x_7582_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___redArg(v_m_7580_, v_a_7581_); +return v___x_7582_; } } -LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___boxed(lean_object* v_00_u03b2_7554_, lean_object* v_m_7555_, lean_object* v_a_7556_){ +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2___boxed(lean_object* v_00_u03b2_7583_, lean_object* v_m_7584_, lean_object* v_a_7585_){ _start: { -uint8_t v_res_7557_; lean_object* v_r_7558_; -v_res_7557_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2(v_00_u03b2_7554_, v_m_7555_, v_a_7556_); -lean_dec(v_a_7556_); -lean_dec_ref(v_m_7555_); -v_r_7558_ = lean_box(v_res_7557_); -return v_r_7558_; +uint8_t v_res_7586_; lean_object* v_r_7587_; +v_res_7586_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__2(v_00_u03b2_7583_, v_m_7584_, v_a_7585_); +lean_dec(v_a_7585_); +lean_dec_ref(v_m_7584_); +v_r_7587_ = lean_box(v_res_7586_); +return v_r_7587_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5(lean_object* v_as_7559_, size_t v_sz_7560_, size_t v_i_7561_, lean_object* v_b_7562_, lean_object* v___y_7563_, lean_object* v___y_7564_, lean_object* v___y_7565_, lean_object* v___y_7566_, lean_object* v___y_7567_, lean_object* v___y_7568_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5(lean_object* v_as_7588_, size_t v_sz_7589_, size_t v_i_7590_, lean_object* v_b_7591_, lean_object* v___y_7592_, lean_object* v___y_7593_, lean_object* v___y_7594_, lean_object* v___y_7595_, lean_object* v___y_7596_, lean_object* v___y_7597_){ _start: { -lean_object* v___x_7570_; -v___x_7570_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_as_7559_, v_sz_7560_, v_i_7561_, v_b_7562_, v___y_7564_); -return v___x_7570_; +lean_object* v___x_7599_; +v___x_7599_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___redArg(v_as_7588_, v_sz_7589_, v_i_7590_, v_b_7591_, v___y_7593_); +return v___x_7599_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___boxed(lean_object* v_as_7571_, lean_object* v_sz_7572_, lean_object* v_i_7573_, lean_object* v_b_7574_, lean_object* v___y_7575_, lean_object* v___y_7576_, lean_object* v___y_7577_, lean_object* v___y_7578_, lean_object* v___y_7579_, lean_object* v___y_7580_, lean_object* v___y_7581_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5___boxed(lean_object* v_as_7600_, lean_object* v_sz_7601_, lean_object* v_i_7602_, lean_object* v_b_7603_, lean_object* v___y_7604_, lean_object* v___y_7605_, lean_object* v___y_7606_, lean_object* v___y_7607_, lean_object* v___y_7608_, lean_object* v___y_7609_, lean_object* v___y_7610_){ _start: { -size_t v_sz_boxed_7582_; size_t v_i_boxed_7583_; lean_object* v_res_7584_; -v_sz_boxed_7582_ = lean_unbox_usize(v_sz_7572_); -lean_dec(v_sz_7572_); -v_i_boxed_7583_ = lean_unbox_usize(v_i_7573_); -lean_dec(v_i_7573_); -v_res_7584_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5(v_as_7571_, v_sz_boxed_7582_, v_i_boxed_7583_, v_b_7574_, v___y_7575_, v___y_7576_, v___y_7577_, v___y_7578_, v___y_7579_, v___y_7580_); -lean_dec(v___y_7580_); -lean_dec_ref(v___y_7579_); -lean_dec(v___y_7578_); -lean_dec_ref(v___y_7577_); -lean_dec(v___y_7576_); -lean_dec_ref(v___y_7575_); -lean_dec_ref(v_as_7571_); -return v_res_7584_; +size_t v_sz_boxed_7611_; size_t v_i_boxed_7612_; lean_object* v_res_7613_; +v_sz_boxed_7611_ = lean_unbox_usize(v_sz_7601_); +lean_dec(v_sz_7601_); +v_i_boxed_7612_ = lean_unbox_usize(v_i_7602_); +lean_dec(v_i_7602_); +v_res_7613_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__5(v_as_7600_, v_sz_boxed_7611_, v_i_boxed_7612_, v_b_7603_, v___y_7604_, v___y_7605_, v___y_7606_, v___y_7607_, v___y_7608_, v___y_7609_); +lean_dec(v___y_7609_); +lean_dec_ref(v___y_7608_); +lean_dec(v___y_7607_); +lean_dec_ref(v___y_7606_); +lean_dec(v___y_7605_); +lean_dec_ref(v___y_7604_); +lean_dec_ref(v_as_7600_); +return v_res_7613_; } } -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0(lean_object* v_xs_7585_, lean_object* v_ys_7586_, lean_object* v_hsz_7587_, lean_object* v_x_7588_, lean_object* v_x_7589_){ +LEAN_EXPORT uint8_t l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0(lean_object* v_xs_7614_, lean_object* v_ys_7615_, lean_object* v_hsz_7616_, lean_object* v_x_7617_, lean_object* v_x_7618_){ _start: { -uint8_t v___x_7590_; -v___x_7590_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_xs_7585_, v_ys_7586_, v_x_7588_); -return v___x_7590_; +uint8_t v___x_7619_; +v___x_7619_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___redArg(v_xs_7614_, v_ys_7615_, v_x_7617_); +return v___x_7619_; } } -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___boxed(lean_object* v_xs_7591_, lean_object* v_ys_7592_, lean_object* v_hsz_7593_, lean_object* v_x_7594_, lean_object* v_x_7595_){ +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0___boxed(lean_object* v_xs_7620_, lean_object* v_ys_7621_, lean_object* v_hsz_7622_, lean_object* v_x_7623_, lean_object* v_x_7624_){ _start: { -uint8_t v_res_7596_; lean_object* v_r_7597_; -v_res_7596_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0(v_xs_7591_, v_ys_7592_, v_hsz_7593_, v_x_7594_, v_x_7595_); -lean_dec_ref(v_ys_7592_); -lean_dec_ref(v_xs_7591_); -v_r_7597_ = lean_box(v_res_7596_); -return v_r_7597_; +uint8_t v_res_7625_; lean_object* v_r_7626_; +v_res_7625_ = l_Array_isEqvAux___at___00Option_instBEq_beq___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo_spec__0_spec__0(v_xs_7620_, v_ys_7621_, v_hsz_7622_, v_x_7623_, v_x_7624_); +lean_dec_ref(v_ys_7621_); +lean_dec_ref(v_xs_7620_); +v_r_7626_ = lean_box(v_res_7625_); +return v_r_7626_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(lean_object* v_msg_7598_, lean_object* v___y_7599_, lean_object* v___y_7600_, lean_object* v___y_7601_, lean_object* v___y_7602_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(lean_object* v_msg_7627_, lean_object* v___y_7628_, lean_object* v___y_7629_, lean_object* v___y_7630_, lean_object* v___y_7631_){ _start: { -lean_object* v_options_7604_; lean_object* v_ref_7605_; lean_object* v___x_7606_; lean_object* v___x_7607_; lean_object* v___x_7608_; -v_options_7604_ = lean_ctor_get(v___y_7601_, 2); -v_ref_7605_ = lean_ctor_get(v___y_7601_, 5); -v___x_7606_ = lean_st_ref_get(v___y_7602_); -v___x_7607_ = lean_st_ref_get(v___y_7600_); -v___x_7608_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_7599_); -if (lean_obj_tag(v___x_7608_) == 0) +lean_object* v_options_7633_; lean_object* v_ref_7634_; lean_object* v___x_7635_; lean_object* v___x_7636_; lean_object* v___x_7637_; +v_options_7633_ = lean_ctor_get(v___y_7630_, 2); +v_ref_7634_ = lean_ctor_get(v___y_7630_, 5); +v___x_7635_ = lean_st_ref_get(v___y_7631_); +v___x_7636_ = lean_st_ref_get(v___y_7629_); +v___x_7637_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_7628_); +if (lean_obj_tag(v___x_7637_) == 0) { -lean_object* v_a_7609_; lean_object* v___x_7611_; uint8_t v_isShared_7612_; uint8_t v_isSharedCheck_7631_; -v_a_7609_ = lean_ctor_get(v___x_7608_, 0); -v_isSharedCheck_7631_ = !lean_is_exclusive(v___x_7608_); -if (v_isSharedCheck_7631_ == 0) +lean_object* v_a_7638_; lean_object* v___x_7640_; uint8_t v_isShared_7641_; uint8_t v_isSharedCheck_7660_; +v_a_7638_ = lean_ctor_get(v___x_7637_, 0); +v_isSharedCheck_7660_ = !lean_is_exclusive(v___x_7637_); +if (v_isSharedCheck_7660_ == 0) { -v___x_7611_ = v___x_7608_; -v_isShared_7612_ = v_isSharedCheck_7631_; -goto v_resetjp_7610_; +v___x_7640_ = v___x_7637_; +v_isShared_7641_ = v_isSharedCheck_7660_; +goto v_resetjp_7639_; } else { -lean_inc(v_a_7609_); -lean_dec(v___x_7608_); -v___x_7611_ = lean_box(0); -v_isShared_7612_ = v_isSharedCheck_7631_; -goto v_resetjp_7610_; +lean_inc(v_a_7638_); +lean_dec(v___x_7637_); +v___x_7640_ = lean_box(0); +v_isShared_7641_ = v_isSharedCheck_7660_; +goto v_resetjp_7639_; } -v_resetjp_7610_: +v_resetjp_7639_: { -lean_object* v_env_7613_; lean_object* v_lctx_7614_; lean_object* v___x_7616_; uint8_t v_isShared_7617_; uint8_t v_isSharedCheck_7629_; -v_env_7613_ = lean_ctor_get(v___x_7606_, 0); -lean_inc_ref(v_env_7613_); -lean_dec(v___x_7606_); -v_lctx_7614_ = lean_ctor_get(v___x_7607_, 0); -v_isSharedCheck_7629_ = !lean_is_exclusive(v___x_7607_); -if (v_isSharedCheck_7629_ == 0) +lean_object* v_env_7642_; lean_object* v_lctx_7643_; lean_object* v___x_7645_; uint8_t v_isShared_7646_; uint8_t v_isSharedCheck_7658_; +v_env_7642_ = lean_ctor_get(v___x_7635_, 0); +lean_inc_ref(v_env_7642_); +lean_dec(v___x_7635_); +v_lctx_7643_ = lean_ctor_get(v___x_7636_, 0); +v_isSharedCheck_7658_ = !lean_is_exclusive(v___x_7636_); +if (v_isSharedCheck_7658_ == 0) { -lean_object* v_unused_7630_; -v_unused_7630_ = lean_ctor_get(v___x_7607_, 1); -lean_dec(v_unused_7630_); -v___x_7616_ = v___x_7607_; -v_isShared_7617_ = v_isSharedCheck_7629_; -goto v_resetjp_7615_; +lean_object* v_unused_7659_; +v_unused_7659_ = lean_ctor_get(v___x_7636_, 1); +lean_dec(v_unused_7659_); +v___x_7645_ = v___x_7636_; +v_isShared_7646_ = v_isSharedCheck_7658_; +goto v_resetjp_7644_; } else { -lean_inc(v_lctx_7614_); -lean_dec(v___x_7607_); -v___x_7616_ = lean_box(0); -v_isShared_7617_ = v_isSharedCheck_7629_; -goto v_resetjp_7615_; +lean_inc(v_lctx_7643_); +lean_dec(v___x_7636_); +v___x_7645_ = lean_box(0); +v_isShared_7646_ = v_isSharedCheck_7658_; +goto v_resetjp_7644_; } -v_resetjp_7615_: +v_resetjp_7644_: { -uint8_t v___x_7618_; lean_object* v___x_7619_; lean_object* v___x_7620_; lean_object* v___x_7621_; lean_object* v___x_7623_; -v___x_7618_ = lean_unbox(v_a_7609_); -lean_dec(v_a_7609_); -v___x_7619_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_7614_, v___x_7618_); -lean_dec_ref(v_lctx_7614_); -v___x_7620_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2); -lean_inc_ref(v_options_7604_); -v___x_7621_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_7621_, 0, v_env_7613_); -lean_ctor_set(v___x_7621_, 1, v___x_7620_); -lean_ctor_set(v___x_7621_, 2, v___x_7619_); -lean_ctor_set(v___x_7621_, 3, v_options_7604_); -if (v_isShared_7617_ == 0) +uint8_t v___x_7647_; lean_object* v___x_7648_; lean_object* v___x_7649_; lean_object* v___x_7650_; lean_object* v___x_7652_; +v___x_7647_ = lean_unbox(v_a_7638_); +lean_dec(v_a_7638_); +v___x_7648_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_7643_, v___x_7647_); +lean_dec_ref(v_lctx_7643_); +v___x_7649_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg___closed__2); +lean_inc_ref(v_options_7633_); +v___x_7650_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_7650_, 0, v_env_7642_); +lean_ctor_set(v___x_7650_, 1, v___x_7649_); +lean_ctor_set(v___x_7650_, 2, v___x_7648_); +lean_ctor_set(v___x_7650_, 3, v_options_7633_); +if (v_isShared_7646_ == 0) { -lean_ctor_set_tag(v___x_7616_, 3); -lean_ctor_set(v___x_7616_, 1, v_msg_7598_); -lean_ctor_set(v___x_7616_, 0, v___x_7621_); -v___x_7623_ = v___x_7616_; -goto v_reusejp_7622_; +lean_ctor_set_tag(v___x_7645_, 3); +lean_ctor_set(v___x_7645_, 1, v_msg_7627_); +lean_ctor_set(v___x_7645_, 0, v___x_7650_); +v___x_7652_ = v___x_7645_; +goto v_reusejp_7651_; } else { -lean_object* v_reuseFailAlloc_7628_; -v_reuseFailAlloc_7628_ = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(v_reuseFailAlloc_7628_, 0, v___x_7621_); -lean_ctor_set(v_reuseFailAlloc_7628_, 1, v_msg_7598_); -v___x_7623_ = v_reuseFailAlloc_7628_; -goto v_reusejp_7622_; +lean_object* v_reuseFailAlloc_7657_; +v_reuseFailAlloc_7657_ = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(v_reuseFailAlloc_7657_, 0, v___x_7650_); +lean_ctor_set(v_reuseFailAlloc_7657_, 1, v_msg_7627_); +v___x_7652_ = v_reuseFailAlloc_7657_; +goto v_reusejp_7651_; } -v_reusejp_7622_: +v_reusejp_7651_: { -lean_object* v___x_7624_; lean_object* v___x_7626_; -lean_inc(v_ref_7605_); -v___x_7624_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_7624_, 0, v_ref_7605_); -lean_ctor_set(v___x_7624_, 1, v___x_7623_); -if (v_isShared_7612_ == 0) +lean_object* v___x_7653_; lean_object* v___x_7655_; +lean_inc(v_ref_7634_); +v___x_7653_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_7653_, 0, v_ref_7634_); +lean_ctor_set(v___x_7653_, 1, v___x_7652_); +if (v_isShared_7641_ == 0) { -lean_ctor_set_tag(v___x_7611_, 1); -lean_ctor_set(v___x_7611_, 0, v___x_7624_); -v___x_7626_ = v___x_7611_; -goto v_reusejp_7625_; +lean_ctor_set_tag(v___x_7640_, 1); +lean_ctor_set(v___x_7640_, 0, v___x_7653_); +v___x_7655_ = v___x_7640_; +goto v_reusejp_7654_; } else { -lean_object* v_reuseFailAlloc_7627_; -v_reuseFailAlloc_7627_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7627_, 0, v___x_7624_); -v___x_7626_ = v_reuseFailAlloc_7627_; -goto v_reusejp_7625_; +lean_object* v_reuseFailAlloc_7656_; +v_reuseFailAlloc_7656_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7656_, 0, v___x_7653_); +v___x_7655_ = v_reuseFailAlloc_7656_; +goto v_reusejp_7654_; } -v_reusejp_7625_: +v_reusejp_7654_: { -return v___x_7626_; +return v___x_7655_; } } } @@ -23210,675 +23380,688 @@ return v___x_7626_; } else { -lean_object* v_a_7632_; lean_object* v___x_7634_; uint8_t v_isShared_7635_; uint8_t v_isSharedCheck_7639_; -lean_dec(v___x_7607_); -lean_dec(v___x_7606_); -lean_dec_ref(v_msg_7598_); -v_a_7632_ = lean_ctor_get(v___x_7608_, 0); -v_isSharedCheck_7639_ = !lean_is_exclusive(v___x_7608_); -if (v_isSharedCheck_7639_ == 0) +lean_object* v_a_7661_; lean_object* v___x_7663_; uint8_t v_isShared_7664_; uint8_t v_isSharedCheck_7668_; +lean_dec(v___x_7636_); +lean_dec(v___x_7635_); +lean_dec_ref(v_msg_7627_); +v_a_7661_ = lean_ctor_get(v___x_7637_, 0); +v_isSharedCheck_7668_ = !lean_is_exclusive(v___x_7637_); +if (v_isSharedCheck_7668_ == 0) { -v___x_7634_ = v___x_7608_; -v_isShared_7635_ = v_isSharedCheck_7639_; -goto v_resetjp_7633_; +v___x_7663_ = v___x_7637_; +v_isShared_7664_ = v_isSharedCheck_7668_; +goto v_resetjp_7662_; } else { -lean_inc(v_a_7632_); -lean_dec(v___x_7608_); -v___x_7634_ = lean_box(0); -v_isShared_7635_ = v_isSharedCheck_7639_; -goto v_resetjp_7633_; +lean_inc(v_a_7661_); +lean_dec(v___x_7637_); +v___x_7663_ = lean_box(0); +v_isShared_7664_ = v_isSharedCheck_7668_; +goto v_resetjp_7662_; } -v_resetjp_7633_: +v_resetjp_7662_: { -lean_object* v___x_7637_; -if (v_isShared_7635_ == 0) +lean_object* v___x_7666_; +if (v_isShared_7664_ == 0) { -v___x_7637_ = v___x_7634_; -goto v_reusejp_7636_; +v___x_7666_ = v___x_7663_; +goto v_reusejp_7665_; } else { -lean_object* v_reuseFailAlloc_7638_; -v_reuseFailAlloc_7638_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7638_, 0, v_a_7632_); -v___x_7637_ = v_reuseFailAlloc_7638_; -goto v_reusejp_7636_; +lean_object* v_reuseFailAlloc_7667_; +v_reuseFailAlloc_7667_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7667_, 0, v_a_7661_); +v___x_7666_ = v_reuseFailAlloc_7667_; +goto v_reusejp_7665_; } -v_reusejp_7636_: +v_reusejp_7665_: { -return v___x_7637_; +return v___x_7666_; } } } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg___boxed(lean_object* v_msg_7640_, lean_object* v___y_7641_, lean_object* v___y_7642_, lean_object* v___y_7643_, lean_object* v___y_7644_, lean_object* v___y_7645_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg___boxed(lean_object* v_msg_7669_, lean_object* v___y_7670_, lean_object* v___y_7671_, lean_object* v___y_7672_, lean_object* v___y_7673_, lean_object* v___y_7674_){ _start: { -lean_object* v_res_7646_; -v_res_7646_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v_msg_7640_, v___y_7641_, v___y_7642_, v___y_7643_, v___y_7644_); -lean_dec(v___y_7644_); -lean_dec_ref(v___y_7643_); -lean_dec(v___y_7642_); -lean_dec_ref(v___y_7641_); -return v_res_7646_; +lean_object* v_res_7675_; +v_res_7675_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v_msg_7669_, v___y_7670_, v___y_7671_, v___y_7672_, v___y_7673_); +lean_dec(v___y_7673_); +lean_dec_ref(v___y_7672_); +lean_dec(v___y_7671_); +lean_dec_ref(v___y_7670_); +return v_res_7675_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1(lean_object* v_00_u03b1_7647_, lean_object* v_msg_7648_, lean_object* v___y_7649_, lean_object* v___y_7650_, lean_object* v___y_7651_, lean_object* v___y_7652_, lean_object* v___y_7653_, lean_object* v___y_7654_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1(lean_object* v_00_u03b1_7676_, lean_object* v_msg_7677_, lean_object* v___y_7678_, lean_object* v___y_7679_, lean_object* v___y_7680_, lean_object* v___y_7681_, lean_object* v___y_7682_, lean_object* v___y_7683_){ _start: { -lean_object* v___x_7656_; -v___x_7656_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v_msg_7648_, v___y_7651_, v___y_7652_, v___y_7653_, v___y_7654_); -return v___x_7656_; +lean_object* v___x_7685_; +v___x_7685_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v_msg_7677_, v___y_7680_, v___y_7681_, v___y_7682_, v___y_7683_); +return v___x_7685_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___boxed(lean_object* v_00_u03b1_7657_, lean_object* v_msg_7658_, lean_object* v___y_7659_, lean_object* v___y_7660_, lean_object* v___y_7661_, lean_object* v___y_7662_, lean_object* v___y_7663_, lean_object* v___y_7664_, lean_object* v___y_7665_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___boxed(lean_object* v_00_u03b1_7686_, lean_object* v_msg_7687_, lean_object* v___y_7688_, lean_object* v___y_7689_, lean_object* v___y_7690_, lean_object* v___y_7691_, lean_object* v___y_7692_, lean_object* v___y_7693_, lean_object* v___y_7694_){ _start: { -lean_object* v_res_7666_; -v_res_7666_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1(v_00_u03b1_7657_, v_msg_7658_, v___y_7659_, v___y_7660_, v___y_7661_, v___y_7662_, v___y_7663_, v___y_7664_); -lean_dec(v___y_7664_); -lean_dec_ref(v___y_7663_); -lean_dec(v___y_7662_); -lean_dec_ref(v___y_7661_); -lean_dec(v___y_7660_); -lean_dec_ref(v___y_7659_); -return v_res_7666_; +lean_object* v_res_7695_; +v_res_7695_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1(v_00_u03b1_7686_, v_msg_7687_, v___y_7688_, v___y_7689_, v___y_7690_, v___y_7691_, v___y_7692_, v___y_7693_); +lean_dec(v___y_7693_); +lean_dec_ref(v___y_7692_); +lean_dec(v___y_7691_); +lean_dec_ref(v___y_7690_); +lean_dec(v___y_7689_); +lean_dec_ref(v___y_7688_); +return v_res_7695_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(lean_object* v_as_7667_, size_t v_sz_7668_, size_t v_i_7669_, lean_object* v_b_7670_, lean_object* v___y_7671_, lean_object* v___y_7672_, lean_object* v___y_7673_, lean_object* v___y_7674_, lean_object* v___y_7675_, lean_object* v___y_7676_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(lean_object* v_as_7696_, size_t v_sz_7697_, size_t v_i_7698_, lean_object* v_b_7699_, lean_object* v___y_7700_, lean_object* v___y_7701_, lean_object* v___y_7702_, lean_object* v___y_7703_, lean_object* v___y_7704_, lean_object* v___y_7705_){ _start: { -lean_object* v_a_7679_; uint8_t v___x_7683_; -v___x_7683_ = lean_usize_dec_lt(v_i_7669_, v_sz_7668_); -if (v___x_7683_ == 0) +lean_object* v_a_7708_; uint8_t v___x_7712_; +v___x_7712_ = lean_usize_dec_lt(v_i_7698_, v_sz_7697_); +if (v___x_7712_ == 0) { -lean_object* v___x_7684_; -v___x_7684_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_7684_, 0, v_b_7670_); -return v___x_7684_; +lean_object* v___x_7713_; +v___x_7713_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_7713_, 0, v_b_7699_); +return v___x_7713_; } else { -lean_object* v_a_7685_; lean_object* v_toSignature_7686_; lean_object* v_name_7687_; lean_object* v_params_7688_; lean_object* v___x_7689_; -v_a_7685_ = lean_array_uget_borrowed(v_as_7667_, v_i_7669_); -v_toSignature_7686_ = lean_ctor_get(v_a_7685_, 0); -v_name_7687_ = lean_ctor_get(v_toSignature_7686_, 0); -v_params_7688_ = lean_ctor_get(v_toSignature_7686_, 3); -v___x_7689_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(v_params_7688_, v___y_7673_, v___y_7674_, v___y_7675_, v___y_7676_); -if (lean_obj_tag(v___x_7689_) == 0) +lean_object* v_a_7714_; lean_object* v_toSignature_7715_; lean_object* v_name_7716_; lean_object* v_params_7717_; lean_object* v___x_7718_; +v_a_7714_ = lean_array_uget_borrowed(v_as_7696_, v_i_7698_); +v_toSignature_7715_ = lean_ctor_get(v_a_7714_, 0); +v_name_7716_ = lean_ctor_get(v_toSignature_7715_, 0); +v_params_7717_ = lean_ctor_get(v_toSignature_7715_, 3); +v___x_7718_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_paramsToGroundVars(v_params_7717_, v___y_7702_, v___y_7703_, v___y_7704_, v___y_7705_); +if (lean_obj_tag(v___x_7718_) == 0) { -lean_object* v_a_7690_; lean_object* v_scope_7691_; lean_object* v_underApplied_7692_; lean_object* v___x_7693_; lean_object* v___x_7694_; -v_a_7690_ = lean_ctor_get(v___x_7689_, 0); -lean_inc(v_a_7690_); -lean_dec_ref(v___x_7689_); -v_scope_7691_ = lean_ctor_get(v___y_7671_, 0); -v_underApplied_7692_ = lean_ctor_get(v___y_7671_, 2); -lean_inc(v_name_7687_); -lean_inc(v_underApplied_7692_); -lean_inc(v_scope_7691_); -v___x_7693_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_7693_, 0, v_scope_7691_); -lean_ctor_set(v___x_7693_, 1, v_a_7690_); -lean_ctor_set(v___x_7693_, 2, v_underApplied_7692_); -lean_ctor_set(v___x_7693_, 3, v_name_7687_); -lean_inc(v_a_7685_); -v___x_7694_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(v_a_7685_, v___x_7693_, v___y_7672_, v___y_7673_, v___y_7674_, v___y_7675_, v___y_7676_); -lean_dec_ref(v___x_7693_); -if (lean_obj_tag(v___x_7694_) == 0) +lean_object* v_a_7719_; lean_object* v_scope_7720_; lean_object* v_underApplied_7721_; lean_object* v___x_7722_; lean_object* v___x_7723_; +v_a_7719_ = lean_ctor_get(v___x_7718_, 0); +lean_inc(v_a_7719_); +lean_dec_ref(v___x_7718_); +v_scope_7720_ = lean_ctor_get(v___y_7700_, 0); +v_underApplied_7721_ = lean_ctor_get(v___y_7700_, 2); +lean_inc(v_name_7716_); +lean_inc(v_underApplied_7721_); +lean_inc(v_scope_7720_); +v___x_7722_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_7722_, 0, v_scope_7720_); +lean_ctor_set(v___x_7722_, 1, v_a_7719_); +lean_ctor_set(v___x_7722_, 2, v_underApplied_7721_); +lean_ctor_set(v___x_7722_, 3, v_name_7716_); +lean_inc(v_a_7714_); +v___x_7723_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeDecl(v_a_7714_, v___x_7722_, v___y_7701_, v___y_7702_, v___y_7703_, v___y_7704_, v___y_7705_); +lean_dec_ref(v___x_7722_); +if (lean_obj_tag(v___x_7723_) == 0) { -lean_object* v_a_7695_; lean_object* v_fst_7696_; lean_object* v_snd_7697_; lean_object* v___x_7698_; uint8_t v___x_7699_; -v_a_7695_ = lean_ctor_get(v___x_7694_, 0); -lean_inc(v_a_7695_); -lean_dec_ref(v___x_7694_); -v_fst_7696_ = lean_ctor_get(v_a_7695_, 0); -lean_inc(v_fst_7696_); -v_snd_7697_ = lean_ctor_get(v_a_7695_, 1); -lean_inc(v_snd_7697_); -lean_dec(v_a_7695_); -v___x_7698_ = lean_box(0); -v___x_7699_ = lean_unbox(v_snd_7697_); -lean_dec(v_snd_7697_); -if (v___x_7699_ == 0) +lean_object* v_a_7724_; lean_object* v_fst_7725_; lean_object* v_snd_7726_; lean_object* v___x_7727_; uint8_t v___x_7728_; +v_a_7724_ = lean_ctor_get(v___x_7723_, 0); +lean_inc(v_a_7724_); +lean_dec_ref(v___x_7723_); +v_fst_7725_ = lean_ctor_get(v_a_7724_, 0); +lean_inc(v_fst_7725_); +v_snd_7726_ = lean_ctor_get(v_a_7724_, 1); +lean_inc(v_snd_7726_); +lean_dec(v_a_7724_); +v___x_7727_ = lean_box(0); +v___x_7728_ = lean_unbox(v_snd_7726_); +lean_dec(v_snd_7726_); +if (v___x_7728_ == 0) { -lean_object* v___x_7700_; lean_object* v_processedDecls_7701_; lean_object* v_workingDecls_7702_; lean_object* v_localSpecParamInfo_7703_; lean_object* v_parentMasks_7704_; uint8_t v_changed_7705_; lean_object* v___x_7707_; uint8_t v_isShared_7708_; uint8_t v_isSharedCheck_7714_; -v___x_7700_ = lean_st_ref_take(v___y_7672_); -v_processedDecls_7701_ = lean_ctor_get(v___x_7700_, 0); -v_workingDecls_7702_ = lean_ctor_get(v___x_7700_, 1); -v_localSpecParamInfo_7703_ = lean_ctor_get(v___x_7700_, 2); -v_parentMasks_7704_ = lean_ctor_get(v___x_7700_, 3); -v_changed_7705_ = lean_ctor_get_uint8(v___x_7700_, sizeof(void*)*4); -v_isSharedCheck_7714_ = !lean_is_exclusive(v___x_7700_); -if (v_isSharedCheck_7714_ == 0) +lean_object* v___x_7729_; lean_object* v_processedDecls_7730_; lean_object* v_workingDecls_7731_; lean_object* v_localSpecParamInfo_7732_; lean_object* v_parentMasks_7733_; uint8_t v_changed_7734_; lean_object* v___x_7736_; uint8_t v_isShared_7737_; uint8_t v_isSharedCheck_7743_; +v___x_7729_ = lean_st_ref_take(v___y_7701_); +v_processedDecls_7730_ = lean_ctor_get(v___x_7729_, 0); +v_workingDecls_7731_ = lean_ctor_get(v___x_7729_, 1); +v_localSpecParamInfo_7732_ = lean_ctor_get(v___x_7729_, 2); +v_parentMasks_7733_ = lean_ctor_get(v___x_7729_, 3); +v_changed_7734_ = lean_ctor_get_uint8(v___x_7729_, sizeof(void*)*4); +v_isSharedCheck_7743_ = !lean_is_exclusive(v___x_7729_); +if (v_isSharedCheck_7743_ == 0) { -v___x_7707_ = v___x_7700_; -v_isShared_7708_ = v_isSharedCheck_7714_; -goto v_resetjp_7706_; +v___x_7736_ = v___x_7729_; +v_isShared_7737_ = v_isSharedCheck_7743_; +goto v_resetjp_7735_; } else { -lean_inc(v_parentMasks_7704_); -lean_inc(v_localSpecParamInfo_7703_); -lean_inc(v_workingDecls_7702_); -lean_inc(v_processedDecls_7701_); -lean_dec(v___x_7700_); -v___x_7707_ = lean_box(0); -v_isShared_7708_ = v_isSharedCheck_7714_; -goto v_resetjp_7706_; +lean_inc(v_parentMasks_7733_); +lean_inc(v_localSpecParamInfo_7732_); +lean_inc(v_workingDecls_7731_); +lean_inc(v_processedDecls_7730_); +lean_dec(v___x_7729_); +v___x_7736_ = lean_box(0); +v_isShared_7737_ = v_isSharedCheck_7743_; +goto v_resetjp_7735_; } -v_resetjp_7706_: +v_resetjp_7735_: { -lean_object* v___x_7709_; lean_object* v___x_7711_; -v___x_7709_ = lean_array_push(v_processedDecls_7701_, v_fst_7696_); -if (v_isShared_7708_ == 0) +lean_object* v___x_7738_; lean_object* v___x_7740_; +v___x_7738_ = lean_array_push(v_processedDecls_7730_, v_fst_7725_); +if (v_isShared_7737_ == 0) { -lean_ctor_set(v___x_7707_, 0, v___x_7709_); -v___x_7711_ = v___x_7707_; -goto v_reusejp_7710_; +lean_ctor_set(v___x_7736_, 0, v___x_7738_); +v___x_7740_ = v___x_7736_; +goto v_reusejp_7739_; } else { -lean_object* v_reuseFailAlloc_7713_; -v_reuseFailAlloc_7713_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_7713_, 0, v___x_7709_); -lean_ctor_set(v_reuseFailAlloc_7713_, 1, v_workingDecls_7702_); -lean_ctor_set(v_reuseFailAlloc_7713_, 2, v_localSpecParamInfo_7703_); -lean_ctor_set(v_reuseFailAlloc_7713_, 3, v_parentMasks_7704_); -lean_ctor_set_uint8(v_reuseFailAlloc_7713_, sizeof(void*)*4, v_changed_7705_); -v___x_7711_ = v_reuseFailAlloc_7713_; -goto v_reusejp_7710_; +lean_object* v_reuseFailAlloc_7742_; +v_reuseFailAlloc_7742_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_7742_, 0, v___x_7738_); +lean_ctor_set(v_reuseFailAlloc_7742_, 1, v_workingDecls_7731_); +lean_ctor_set(v_reuseFailAlloc_7742_, 2, v_localSpecParamInfo_7732_); +lean_ctor_set(v_reuseFailAlloc_7742_, 3, v_parentMasks_7733_); +lean_ctor_set_uint8(v_reuseFailAlloc_7742_, sizeof(void*)*4, v_changed_7734_); +v___x_7740_ = v_reuseFailAlloc_7742_; +goto v_reusejp_7739_; } -v_reusejp_7710_: +v_reusejp_7739_: { -lean_object* v___x_7712_; -v___x_7712_ = lean_st_ref_set(v___y_7672_, v___x_7711_); -v_a_7679_ = v___x_7698_; -goto v___jp_7678_; +lean_object* v___x_7741_; +v___x_7741_ = lean_st_ref_set(v___y_7701_, v___x_7740_); +v_a_7708_ = v___x_7727_; +goto v___jp_7707_; } } } else { -lean_object* v___x_7715_; lean_object* v_processedDecls_7716_; lean_object* v_workingDecls_7717_; lean_object* v_localSpecParamInfo_7718_; lean_object* v_parentMasks_7719_; uint8_t v_changed_7720_; lean_object* v___x_7722_; uint8_t v_isShared_7723_; uint8_t v_isSharedCheck_7729_; -v___x_7715_ = lean_st_ref_take(v___y_7672_); -v_processedDecls_7716_ = lean_ctor_get(v___x_7715_, 0); -v_workingDecls_7717_ = lean_ctor_get(v___x_7715_, 1); -v_localSpecParamInfo_7718_ = lean_ctor_get(v___x_7715_, 2); -v_parentMasks_7719_ = lean_ctor_get(v___x_7715_, 3); -v_changed_7720_ = lean_ctor_get_uint8(v___x_7715_, sizeof(void*)*4); -v_isSharedCheck_7729_ = !lean_is_exclusive(v___x_7715_); -if (v_isSharedCheck_7729_ == 0) +lean_object* v___x_7744_; lean_object* v_processedDecls_7745_; lean_object* v_workingDecls_7746_; lean_object* v_localSpecParamInfo_7747_; lean_object* v_parentMasks_7748_; uint8_t v_changed_7749_; lean_object* v___x_7751_; uint8_t v_isShared_7752_; uint8_t v_isSharedCheck_7758_; +v___x_7744_ = lean_st_ref_take(v___y_7701_); +v_processedDecls_7745_ = lean_ctor_get(v___x_7744_, 0); +v_workingDecls_7746_ = lean_ctor_get(v___x_7744_, 1); +v_localSpecParamInfo_7747_ = lean_ctor_get(v___x_7744_, 2); +v_parentMasks_7748_ = lean_ctor_get(v___x_7744_, 3); +v_changed_7749_ = lean_ctor_get_uint8(v___x_7744_, sizeof(void*)*4); +v_isSharedCheck_7758_ = !lean_is_exclusive(v___x_7744_); +if (v_isSharedCheck_7758_ == 0) { -v___x_7722_ = v___x_7715_; -v_isShared_7723_ = v_isSharedCheck_7729_; -goto v_resetjp_7721_; +v___x_7751_ = v___x_7744_; +v_isShared_7752_ = v_isSharedCheck_7758_; +goto v_resetjp_7750_; } else { -lean_inc(v_parentMasks_7719_); -lean_inc(v_localSpecParamInfo_7718_); -lean_inc(v_workingDecls_7717_); -lean_inc(v_processedDecls_7716_); -lean_dec(v___x_7715_); -v___x_7722_ = lean_box(0); -v_isShared_7723_ = v_isSharedCheck_7729_; -goto v_resetjp_7721_; +lean_inc(v_parentMasks_7748_); +lean_inc(v_localSpecParamInfo_7747_); +lean_inc(v_workingDecls_7746_); +lean_inc(v_processedDecls_7745_); +lean_dec(v___x_7744_); +v___x_7751_ = lean_box(0); +v_isShared_7752_ = v_isSharedCheck_7758_; +goto v_resetjp_7750_; } -v_resetjp_7721_: +v_resetjp_7750_: { -lean_object* v___x_7724_; lean_object* v___x_7726_; -v___x_7724_ = lean_array_push(v_workingDecls_7717_, v_fst_7696_); -if (v_isShared_7723_ == 0) +lean_object* v___x_7753_; lean_object* v___x_7755_; +v___x_7753_ = lean_array_push(v_workingDecls_7746_, v_fst_7725_); +if (v_isShared_7752_ == 0) { -lean_ctor_set(v___x_7722_, 1, v___x_7724_); -v___x_7726_ = v___x_7722_; -goto v_reusejp_7725_; +lean_ctor_set(v___x_7751_, 1, v___x_7753_); +v___x_7755_ = v___x_7751_; +goto v_reusejp_7754_; } else { -lean_object* v_reuseFailAlloc_7728_; -v_reuseFailAlloc_7728_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_7728_, 0, v_processedDecls_7716_); -lean_ctor_set(v_reuseFailAlloc_7728_, 1, v___x_7724_); -lean_ctor_set(v_reuseFailAlloc_7728_, 2, v_localSpecParamInfo_7718_); -lean_ctor_set(v_reuseFailAlloc_7728_, 3, v_parentMasks_7719_); -lean_ctor_set_uint8(v_reuseFailAlloc_7728_, sizeof(void*)*4, v_changed_7720_); -v___x_7726_ = v_reuseFailAlloc_7728_; -goto v_reusejp_7725_; +lean_object* v_reuseFailAlloc_7757_; +v_reuseFailAlloc_7757_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_7757_, 0, v_processedDecls_7745_); +lean_ctor_set(v_reuseFailAlloc_7757_, 1, v___x_7753_); +lean_ctor_set(v_reuseFailAlloc_7757_, 2, v_localSpecParamInfo_7747_); +lean_ctor_set(v_reuseFailAlloc_7757_, 3, v_parentMasks_7748_); +lean_ctor_set_uint8(v_reuseFailAlloc_7757_, sizeof(void*)*4, v_changed_7749_); +v___x_7755_ = v_reuseFailAlloc_7757_; +goto v_reusejp_7754_; } -v_reusejp_7725_: +v_reusejp_7754_: { -lean_object* v___x_7727_; -v___x_7727_ = lean_st_ref_set(v___y_7672_, v___x_7726_); -v_a_7679_ = v___x_7698_; -goto v___jp_7678_; +lean_object* v___x_7756_; +v___x_7756_ = lean_st_ref_set(v___y_7701_, v___x_7755_); +v_a_7708_ = v___x_7727_; +goto v___jp_7707_; } } } } else { -lean_object* v_a_7730_; lean_object* v___x_7732_; uint8_t v_isShared_7733_; uint8_t v_isSharedCheck_7737_; -v_a_7730_ = lean_ctor_get(v___x_7694_, 0); -v_isSharedCheck_7737_ = !lean_is_exclusive(v___x_7694_); -if (v_isSharedCheck_7737_ == 0) +lean_object* v_a_7759_; lean_object* v___x_7761_; uint8_t v_isShared_7762_; uint8_t v_isSharedCheck_7766_; +v_a_7759_ = lean_ctor_get(v___x_7723_, 0); +v_isSharedCheck_7766_ = !lean_is_exclusive(v___x_7723_); +if (v_isSharedCheck_7766_ == 0) { -v___x_7732_ = v___x_7694_; -v_isShared_7733_ = v_isSharedCheck_7737_; -goto v_resetjp_7731_; +v___x_7761_ = v___x_7723_; +v_isShared_7762_ = v_isSharedCheck_7766_; +goto v_resetjp_7760_; } else { -lean_inc(v_a_7730_); -lean_dec(v___x_7694_); -v___x_7732_ = lean_box(0); -v_isShared_7733_ = v_isSharedCheck_7737_; -goto v_resetjp_7731_; +lean_inc(v_a_7759_); +lean_dec(v___x_7723_); +v___x_7761_ = lean_box(0); +v_isShared_7762_ = v_isSharedCheck_7766_; +goto v_resetjp_7760_; } -v_resetjp_7731_: +v_resetjp_7760_: { -lean_object* v___x_7735_; -if (v_isShared_7733_ == 0) +lean_object* v___x_7764_; +if (v_isShared_7762_ == 0) { -v___x_7735_ = v___x_7732_; -goto v_reusejp_7734_; +v___x_7764_ = v___x_7761_; +goto v_reusejp_7763_; } else { -lean_object* v_reuseFailAlloc_7736_; -v_reuseFailAlloc_7736_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7736_, 0, v_a_7730_); -v___x_7735_ = v_reuseFailAlloc_7736_; -goto v_reusejp_7734_; +lean_object* v_reuseFailAlloc_7765_; +v_reuseFailAlloc_7765_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7765_, 0, v_a_7759_); +v___x_7764_ = v_reuseFailAlloc_7765_; +goto v_reusejp_7763_; } -v_reusejp_7734_: +v_reusejp_7763_: { -return v___x_7735_; +return v___x_7764_; } } } } else { -lean_object* v_a_7738_; lean_object* v___x_7740_; uint8_t v_isShared_7741_; uint8_t v_isSharedCheck_7745_; -v_a_7738_ = lean_ctor_get(v___x_7689_, 0); -v_isSharedCheck_7745_ = !lean_is_exclusive(v___x_7689_); -if (v_isSharedCheck_7745_ == 0) +lean_object* v_a_7767_; lean_object* v___x_7769_; uint8_t v_isShared_7770_; uint8_t v_isSharedCheck_7774_; +v_a_7767_ = lean_ctor_get(v___x_7718_, 0); +v_isSharedCheck_7774_ = !lean_is_exclusive(v___x_7718_); +if (v_isSharedCheck_7774_ == 0) { -v___x_7740_ = v___x_7689_; -v_isShared_7741_ = v_isSharedCheck_7745_; -goto v_resetjp_7739_; +v___x_7769_ = v___x_7718_; +v_isShared_7770_ = v_isSharedCheck_7774_; +goto v_resetjp_7768_; } else { -lean_inc(v_a_7738_); -lean_dec(v___x_7689_); -v___x_7740_ = lean_box(0); -v_isShared_7741_ = v_isSharedCheck_7745_; -goto v_resetjp_7739_; +lean_inc(v_a_7767_); +lean_dec(v___x_7718_); +v___x_7769_ = lean_box(0); +v_isShared_7770_ = v_isSharedCheck_7774_; +goto v_resetjp_7768_; } -v_resetjp_7739_: +v_resetjp_7768_: { -lean_object* v___x_7743_; -if (v_isShared_7741_ == 0) +lean_object* v___x_7772_; +if (v_isShared_7770_ == 0) { -v___x_7743_ = v___x_7740_; -goto v_reusejp_7742_; +v___x_7772_ = v___x_7769_; +goto v_reusejp_7771_; } else { -lean_object* v_reuseFailAlloc_7744_; -v_reuseFailAlloc_7744_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7744_, 0, v_a_7738_); -v___x_7743_ = v_reuseFailAlloc_7744_; -goto v_reusejp_7742_; +lean_object* v_reuseFailAlloc_7773_; +v_reuseFailAlloc_7773_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7773_, 0, v_a_7767_); +v___x_7772_ = v_reuseFailAlloc_7773_; +goto v_reusejp_7771_; } -v_reusejp_7742_: +v_reusejp_7771_: { -return v___x_7743_; +return v___x_7772_; } } } } -v___jp_7678_: +v___jp_7707_: { -size_t v___x_7680_; size_t v___x_7681_; -v___x_7680_ = ((size_t)1ULL); -v___x_7681_ = lean_usize_add(v_i_7669_, v___x_7680_); -v_i_7669_ = v___x_7681_; -v_b_7670_ = v_a_7679_; +size_t v___x_7709_; size_t v___x_7710_; +v___x_7709_ = ((size_t)1ULL); +v___x_7710_ = lean_usize_add(v_i_7698_, v___x_7709_); +v_i_7698_ = v___x_7710_; +v_b_7699_ = v_a_7708_; goto _start; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0___boxed(lean_object* v_as_7746_, lean_object* v_sz_7747_, lean_object* v_i_7748_, lean_object* v_b_7749_, lean_object* v___y_7750_, lean_object* v___y_7751_, lean_object* v___y_7752_, lean_object* v___y_7753_, lean_object* v___y_7754_, lean_object* v___y_7755_, lean_object* v___y_7756_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0___boxed(lean_object* v_as_7775_, lean_object* v_sz_7776_, lean_object* v_i_7777_, lean_object* v_b_7778_, lean_object* v___y_7779_, lean_object* v___y_7780_, lean_object* v___y_7781_, lean_object* v___y_7782_, lean_object* v___y_7783_, lean_object* v___y_7784_, lean_object* v___y_7785_){ _start: { -size_t v_sz_boxed_7757_; size_t v_i_boxed_7758_; lean_object* v_res_7759_; -v_sz_boxed_7757_ = lean_unbox_usize(v_sz_7747_); -lean_dec(v_sz_7747_); -v_i_boxed_7758_ = lean_unbox_usize(v_i_7748_); -lean_dec(v_i_7748_); -v_res_7759_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(v_as_7746_, v_sz_boxed_7757_, v_i_boxed_7758_, v_b_7749_, v___y_7750_, v___y_7751_, v___y_7752_, v___y_7753_, v___y_7754_, v___y_7755_); -lean_dec(v___y_7755_); -lean_dec_ref(v___y_7754_); -lean_dec(v___y_7753_); -lean_dec_ref(v___y_7752_); -lean_dec(v___y_7751_); -lean_dec_ref(v___y_7750_); -lean_dec_ref(v_as_7746_); -return v_res_7759_; +size_t v_sz_boxed_7786_; size_t v_i_boxed_7787_; lean_object* v_res_7788_; +v_sz_boxed_7786_ = lean_unbox_usize(v_sz_7776_); +lean_dec(v_sz_7776_); +v_i_boxed_7787_ = lean_unbox_usize(v_i_7777_); +lean_dec(v_i_7777_); +v_res_7788_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(v_as_7775_, v_sz_boxed_7786_, v_i_boxed_7787_, v_b_7778_, v___y_7779_, v___y_7780_, v___y_7781_, v___y_7782_, v___y_7783_, v___y_7784_); +lean_dec(v___y_7784_); +lean_dec_ref(v___y_7783_); +lean_dec(v___y_7782_); +lean_dec_ref(v___y_7781_); +lean_dec(v___y_7780_); +lean_dec_ref(v___y_7779_); +lean_dec_ref(v_as_7775_); +return v_res_7788_; } } -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(lean_object* v___x_7760_, lean_object* v_as_7761_, size_t v_i_7762_, size_t v_stop_7763_){ +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(lean_object* v___x_7789_, lean_object* v_as_7790_, size_t v_i_7791_, size_t v_stop_7792_){ _start: { -uint8_t v___x_7764_; -v___x_7764_ = lean_usize_dec_eq(v_i_7762_, v_stop_7763_); -if (v___x_7764_ == 0) +uint8_t v___x_7793_; +v___x_7793_ = lean_usize_dec_eq(v_i_7791_, v_stop_7792_); +if (v___x_7793_ == 0) { -uint8_t v___x_7765_; uint8_t v___y_7767_; lean_object* v___x_7771_; uint8_t v___x_7772_; -v___x_7765_ = 1; -v___x_7771_ = lean_array_uget_borrowed(v_as_7761_, v_i_7762_); -v___x_7772_ = lean_unbox(v___x_7771_); -switch(v___x_7772_) +lean_object* v___x_7794_; uint8_t v___x_7795_; uint8_t v___x_7796_; uint8_t v___y_7798_; lean_object* v___x_7802_; +v___x_7794_ = lean_unsigned_to_nat(0u); +v___x_7795_ = lean_nat_dec_eq(v___x_7789_, v___x_7794_); +v___x_7796_ = 1; +v___x_7802_ = lean_array_uget_borrowed(v_as_7790_, v_i_7791_); +switch(lean_obj_tag(v___x_7802_)) { +case 0: +{ +uint8_t v_weak_7803_; +v_weak_7803_ = lean_ctor_get_uint8(v___x_7802_, 0); +if (v_weak_7803_ == 0) +{ +v___y_7798_ = v___x_7795_; +goto v___jp_7797_; +} +else +{ +v___y_7798_ = v___x_7793_; +goto v___jp_7797_; +} +} case 2: { -v___y_7767_ = v___x_7764_; -goto v___jp_7766_; +v___y_7798_ = v___x_7793_; +goto v___jp_7797_; } case 4: { -v___y_7767_ = v___x_7764_; -goto v___jp_7766_; +v___y_7798_ = v___x_7793_; +goto v___jp_7797_; } default: { -lean_object* v___x_7773_; uint8_t v___x_7774_; -v___x_7773_ = lean_unsigned_to_nat(0u); -v___x_7774_ = lean_nat_dec_eq(v___x_7760_, v___x_7773_); -v___y_7767_ = v___x_7774_; -goto v___jp_7766_; +v___y_7798_ = v___x_7795_; +goto v___jp_7797_; } } -v___jp_7766_: +v___jp_7797_: { -if (v___y_7767_ == 0) +if (v___y_7798_ == 0) { -size_t v___x_7768_; size_t v___x_7769_; -v___x_7768_ = ((size_t)1ULL); -v___x_7769_ = lean_usize_add(v_i_7762_, v___x_7768_); -v_i_7762_ = v___x_7769_; +size_t v___x_7799_; size_t v___x_7800_; +v___x_7799_ = ((size_t)1ULL); +v___x_7800_ = lean_usize_add(v_i_7791_, v___x_7799_); +v_i_7791_ = v___x_7800_; goto _start; } else { -return v___x_7765_; +return v___x_7796_; } } } else { -uint8_t v___x_7775_; -v___x_7775_ = 0; -return v___x_7775_; +uint8_t v___x_7804_; +v___x_7804_ = 0; +return v___x_7804_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2___boxed(lean_object* v___x_7776_, lean_object* v_as_7777_, lean_object* v_i_7778_, lean_object* v_stop_7779_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2___boxed(lean_object* v___x_7805_, lean_object* v_as_7806_, lean_object* v_i_7807_, lean_object* v_stop_7808_){ _start: { -size_t v_i_boxed_7780_; size_t v_stop_boxed_7781_; uint8_t v_res_7782_; lean_object* v_r_7783_; -v_i_boxed_7780_ = lean_unbox_usize(v_i_7778_); -lean_dec(v_i_7778_); -v_stop_boxed_7781_ = lean_unbox_usize(v_stop_7779_); -lean_dec(v_stop_7779_); -v_res_7782_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(v___x_7776_, v_as_7777_, v_i_boxed_7780_, v_stop_boxed_7781_); -lean_dec_ref(v_as_7777_); -lean_dec(v___x_7776_); -v_r_7783_ = lean_box(v_res_7782_); -return v_r_7783_; +size_t v_i_boxed_7809_; size_t v_stop_boxed_7810_; uint8_t v_res_7811_; lean_object* v_r_7812_; +v_i_boxed_7809_ = lean_unbox_usize(v_i_7807_); +lean_dec(v_i_7807_); +v_stop_boxed_7810_ = lean_unbox_usize(v_stop_7808_); +lean_dec(v_stop_7808_); +v_res_7811_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(v___x_7805_, v_as_7806_, v_i_boxed_7809_, v_stop_boxed_7810_); +lean_dec_ref(v_as_7806_); +lean_dec(v___x_7805_); +v_r_7812_ = lean_box(v_res_7811_); +return v_r_7812_; } } static lean_object* _init_l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3(void){ _start: { -lean_object* v___x_7790_; lean_object* v___x_7791_; -v___x_7790_ = ((lean_object*)(l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__2)); -v___x_7791_ = l_Lean_stringToMessageData(v___x_7790_); -return v___x_7791_; +lean_object* v___x_7819_; lean_object* v___x_7820_; +v___x_7819_ = ((lean_object*)(l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__2)); +v___x_7820_ = l_Lean_stringToMessageData(v___x_7819_); +return v___x_7820_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(lean_object* v___x_7792_, lean_object* v_a_7793_, lean_object* v_a_7794_, lean_object* v___y_7795_, lean_object* v___y_7796_, lean_object* v___y_7797_, lean_object* v___y_7798_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(lean_object* v___x_7821_, lean_object* v_a_7822_, lean_object* v_a_7823_, lean_object* v___y_7824_, lean_object* v___y_7825_, lean_object* v___y_7826_, lean_object* v___y_7827_){ _start: { -if (lean_obj_tag(v_a_7793_) == 0) +if (lean_obj_tag(v_a_7822_) == 0) { -lean_object* v___x_7800_; lean_object* v___x_7801_; -v___x_7800_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_7800_, 0, v_a_7794_); -v___x_7801_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_7801_, 0, v___x_7800_); -return v___x_7801_; +lean_object* v___x_7829_; lean_object* v___x_7830_; +v___x_7829_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_7829_, 0, v_a_7823_); +v___x_7830_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_7830_, 0, v___x_7829_); +return v___x_7830_; } else { -lean_object* v_key_7802_; lean_object* v_value_7803_; lean_object* v_tail_7804_; lean_object* v___x_7805_; lean_object* v___x_7806_; lean_object* v___x_7807_; uint8_t v___x_7808_; -v_key_7802_ = lean_ctor_get(v_a_7793_, 0); -lean_inc(v_key_7802_); -v_value_7803_ = lean_ctor_get(v_a_7793_, 1); -lean_inc(v_value_7803_); -v_tail_7804_ = lean_ctor_get(v_a_7793_, 2); -lean_inc(v_tail_7804_); -lean_dec_ref(v_a_7793_); -v___x_7805_ = lean_box(0); -v___x_7806_ = lean_unsigned_to_nat(0u); -v___x_7807_ = lean_array_get_size(v_value_7803_); -v___x_7808_ = lean_nat_dec_lt(v___x_7806_, v___x_7807_); -if (v___x_7808_ == 0) +lean_object* v_key_7831_; lean_object* v_value_7832_; lean_object* v_tail_7833_; lean_object* v___x_7834_; lean_object* v___x_7835_; lean_object* v___x_7836_; uint8_t v___x_7837_; +v_key_7831_ = lean_ctor_get(v_a_7822_, 0); +lean_inc(v_key_7831_); +v_value_7832_ = lean_ctor_get(v_a_7822_, 1); +lean_inc(v_value_7832_); +v_tail_7833_ = lean_ctor_get(v_a_7822_, 2); +lean_inc(v_tail_7833_); +lean_dec_ref(v_a_7822_); +v___x_7834_ = lean_box(0); +v___x_7835_ = lean_unsigned_to_nat(0u); +v___x_7836_ = lean_array_get_size(v_value_7832_); +v___x_7837_ = lean_nat_dec_lt(v___x_7835_, v___x_7836_); +if (v___x_7837_ == 0) { -lean_dec(v_value_7803_); -lean_dec(v_key_7802_); -v_a_7793_ = v_tail_7804_; -v_a_7794_ = v___x_7805_; +lean_dec(v_value_7832_); +lean_dec(v_key_7831_); +v_a_7822_ = v_tail_7833_; +v_a_7823_ = v___x_7834_; goto _start; } else { -if (v___x_7808_ == 0) +if (v___x_7837_ == 0) { -lean_dec(v_value_7803_); -lean_dec(v_key_7802_); -v_a_7793_ = v_tail_7804_; -v_a_7794_ = v___x_7805_; +lean_dec(v_value_7832_); +lean_dec(v_key_7831_); +v_a_7822_ = v_tail_7833_; +v_a_7823_ = v___x_7834_; goto _start; } else { -uint8_t v___x_7811_; lean_object* v___y_7813_; size_t v___x_7840_; size_t v___x_7841_; uint8_t v___x_7842_; -v___x_7811_ = lean_nat_dec_eq(v___x_7792_, v___x_7806_); -v___x_7840_ = ((size_t)0ULL); -v___x_7841_ = lean_usize_of_nat(v___x_7807_); -v___x_7842_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(v___x_7792_, v_value_7803_, v___x_7840_, v___x_7841_); -if (v___x_7842_ == 0) +uint8_t v___x_7840_; lean_object* v___y_7842_; size_t v___x_7869_; size_t v___x_7870_; uint8_t v___x_7871_; +v___x_7840_ = lean_nat_dec_eq(v___x_7821_, v___x_7835_); +v___x_7869_ = ((size_t)0ULL); +v___x_7870_ = lean_usize_of_nat(v___x_7836_); +v___x_7871_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__2(v___x_7821_, v_value_7832_, v___x_7869_, v___x_7870_); +if (v___x_7871_ == 0) { -lean_dec(v_value_7803_); -lean_dec(v_key_7802_); -v_a_7793_ = v_tail_7804_; -v_a_7794_ = v___x_7805_; +lean_dec(v_value_7832_); +lean_dec(v_key_7831_); +v_a_7822_ = v_tail_7833_; +v_a_7823_ = v___x_7834_; goto _start; } else { -lean_object* v___x_7844_; lean_object* v___x_7845_; lean_object* v_a_7846_; uint8_t v___x_7847_; -v___x_7844_ = ((lean_object*)(l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__1)); -v___x_7845_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_7844_, v___y_7797_); -v_a_7846_ = lean_ctor_get(v___x_7845_, 0); -lean_inc(v_a_7846_); -lean_dec_ref(v___x_7845_); -v___x_7847_ = lean_unbox(v_a_7846_); -lean_dec(v_a_7846_); -if (v___x_7847_ == 0) +lean_object* v___x_7873_; lean_object* v___x_7874_; lean_object* v_a_7875_; uint8_t v___x_7876_; +v___x_7873_ = ((lean_object*)(l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__1)); +v___x_7874_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_7873_, v___y_7826_); +v_a_7875_ = lean_ctor_get(v___x_7874_, 0); +lean_inc(v_a_7875_); +lean_dec_ref(v___x_7874_); +v___x_7876_ = lean_unbox(v_a_7875_); +lean_dec(v_a_7875_); +if (v___x_7876_ == 0) { -v___y_7813_ = v___y_7798_; -goto v___jp_7812_; +v___y_7842_ = v___y_7827_; +goto v___jp_7841_; } else { -lean_object* v___x_7848_; lean_object* v___x_7849_; lean_object* v___x_7850_; lean_object* v___x_7851_; lean_object* v___x_7852_; lean_object* v___x_7853_; lean_object* v___x_7854_; lean_object* v___x_7855_; lean_object* v___x_7856_; -lean_inc(v_key_7802_); -v___x_7848_ = l_Lean_MessageData_ofName(v_key_7802_); -v___x_7849_ = lean_obj_once(&l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3, &l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3_once, _init_l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3); -v___x_7850_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7850_, 0, v___x_7848_); -lean_ctor_set(v___x_7850_, 1, v___x_7849_); -lean_inc(v_value_7803_); -v___x_7851_ = lean_array_to_list(v_value_7803_); -v___x_7852_ = lean_box(0); -v___x_7853_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_7851_, v___x_7852_); -v___x_7854_ = l_Lean_MessageData_ofList(v___x_7853_); -v___x_7855_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7855_, 0, v___x_7850_); -lean_ctor_set(v___x_7855_, 1, v___x_7854_); -v___x_7856_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_7844_, v___x_7855_, v___y_7795_, v___y_7796_, v___y_7797_, v___y_7798_); -if (lean_obj_tag(v___x_7856_) == 0) +lean_object* v___x_7877_; lean_object* v___x_7878_; lean_object* v___x_7879_; lean_object* v___x_7880_; lean_object* v___x_7881_; lean_object* v___x_7882_; lean_object* v___x_7883_; lean_object* v___x_7884_; lean_object* v___x_7885_; +lean_inc(v_key_7831_); +v___x_7877_ = l_Lean_MessageData_ofName(v_key_7831_); +v___x_7878_ = lean_obj_once(&l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3, &l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3_once, _init_l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___closed__3); +v___x_7879_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7879_, 0, v___x_7877_); +lean_ctor_set(v___x_7879_, 1, v___x_7878_); +lean_inc(v_value_7832_); +v___x_7880_ = lean_array_to_list(v_value_7832_); +v___x_7881_ = lean_box(0); +v___x_7882_ = l_List_mapTR_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__9(v___x_7880_, v___x_7881_); +v___x_7883_ = l_Lean_MessageData_ofList(v___x_7882_); +v___x_7884_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_7884_, 0, v___x_7879_); +lean_ctor_set(v___x_7884_, 1, v___x_7883_); +v___x_7885_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_7873_, v___x_7884_, v___y_7824_, v___y_7825_, v___y_7826_, v___y_7827_); +if (lean_obj_tag(v___x_7885_) == 0) { -lean_dec_ref(v___x_7856_); -v___y_7813_ = v___y_7798_; -goto v___jp_7812_; +lean_dec_ref(v___x_7885_); +v___y_7842_ = v___y_7827_; +goto v___jp_7841_; } else { -lean_object* v_a_7857_; lean_object* v___x_7859_; uint8_t v_isShared_7860_; uint8_t v_isSharedCheck_7864_; -lean_dec(v_tail_7804_); -lean_dec(v_value_7803_); -lean_dec(v_key_7802_); -v_a_7857_ = lean_ctor_get(v___x_7856_, 0); -v_isSharedCheck_7864_ = !lean_is_exclusive(v___x_7856_); -if (v_isSharedCheck_7864_ == 0) +lean_object* v_a_7886_; lean_object* v___x_7888_; uint8_t v_isShared_7889_; uint8_t v_isSharedCheck_7893_; +lean_dec(v_tail_7833_); +lean_dec(v_value_7832_); +lean_dec(v_key_7831_); +v_a_7886_ = lean_ctor_get(v___x_7885_, 0); +v_isSharedCheck_7893_ = !lean_is_exclusive(v___x_7885_); +if (v_isSharedCheck_7893_ == 0) { -v___x_7859_ = v___x_7856_; -v_isShared_7860_ = v_isSharedCheck_7864_; -goto v_resetjp_7858_; +v___x_7888_ = v___x_7885_; +v_isShared_7889_ = v_isSharedCheck_7893_; +goto v_resetjp_7887_; } else { -lean_inc(v_a_7857_); -lean_dec(v___x_7856_); +lean_inc(v_a_7886_); +lean_dec(v___x_7885_); +v___x_7888_ = lean_box(0); +v_isShared_7889_ = v_isSharedCheck_7893_; +goto v_resetjp_7887_; +} +v_resetjp_7887_: +{ +lean_object* v___x_7891_; +if (v_isShared_7889_ == 0) +{ +v___x_7891_ = v___x_7888_; +goto v_reusejp_7890_; +} +else +{ +lean_object* v_reuseFailAlloc_7892_; +v_reuseFailAlloc_7892_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7892_, 0, v_a_7886_); +v___x_7891_ = v_reuseFailAlloc_7892_; +goto v_reusejp_7890_; +} +v_reusejp_7890_: +{ +return v___x_7891_; +} +} +} +} +} +v___jp_7841_: +{ +lean_object* v___x_7843_; lean_object* v_env_7844_; lean_object* v_nextMacroScope_7845_; lean_object* v_ngen_7846_; lean_object* v_auxDeclNGen_7847_; lean_object* v_traceState_7848_; lean_object* v_messages_7849_; lean_object* v_infoState_7850_; lean_object* v_snapshotTasks_7851_; lean_object* v___x_7853_; uint8_t v_isShared_7854_; uint8_t v_isSharedCheck_7867_; +v___x_7843_ = lean_st_ref_take(v___y_7842_); +v_env_7844_ = lean_ctor_get(v___x_7843_, 0); +v_nextMacroScope_7845_ = lean_ctor_get(v___x_7843_, 1); +v_ngen_7846_ = lean_ctor_get(v___x_7843_, 2); +v_auxDeclNGen_7847_ = lean_ctor_get(v___x_7843_, 3); +v_traceState_7848_ = lean_ctor_get(v___x_7843_, 4); +v_messages_7849_ = lean_ctor_get(v___x_7843_, 6); +v_infoState_7850_ = lean_ctor_get(v___x_7843_, 7); +v_snapshotTasks_7851_ = lean_ctor_get(v___x_7843_, 8); +v_isSharedCheck_7867_ = !lean_is_exclusive(v___x_7843_); +if (v_isSharedCheck_7867_ == 0) +{ +lean_object* v_unused_7868_; +v_unused_7868_ = lean_ctor_get(v___x_7843_, 5); +lean_dec(v_unused_7868_); +v___x_7853_ = v___x_7843_; +v_isShared_7854_ = v_isSharedCheck_7867_; +goto v_resetjp_7852_; +} +else +{ +lean_inc(v_snapshotTasks_7851_); +lean_inc(v_infoState_7850_); +lean_inc(v_messages_7849_); +lean_inc(v_traceState_7848_); +lean_inc(v_auxDeclNGen_7847_); +lean_inc(v_ngen_7846_); +lean_inc(v_nextMacroScope_7845_); +lean_inc(v_env_7844_); +lean_dec(v___x_7843_); +v___x_7853_ = lean_box(0); +v_isShared_7854_ = v_isSharedCheck_7867_; +goto v_resetjp_7852_; +} +v_resetjp_7852_: +{ +lean_object* v___x_7855_; lean_object* v_toEnvExtension_7856_; lean_object* v_asyncMode_7857_; lean_object* v___x_7858_; lean_object* v___x_7859_; lean_object* v___x_7860_; lean_object* v___x_7861_; lean_object* v___x_7863_; +v___x_7855_ = l_Lean_Compiler_LCNF_specExtension; +v_toEnvExtension_7856_ = lean_ctor_get(v___x_7855_, 0); +lean_inc_ref(v_toEnvExtension_7856_); +v_asyncMode_7857_ = lean_ctor_get(v_toEnvExtension_7856_, 2); +lean_inc(v_asyncMode_7857_); +lean_dec_ref(v_toEnvExtension_7856_); +v___x_7858_ = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(v___x_7858_, 0, v_key_7831_); +lean_ctor_set(v___x_7858_, 1, v_value_7832_); +lean_ctor_set_uint8(v___x_7858_, sizeof(void*)*2, v___x_7840_); v___x_7859_ = lean_box(0); -v_isShared_7860_ = v_isSharedCheck_7864_; -goto v_resetjp_7858_; -} -v_resetjp_7858_: +v___x_7860_ = l_Lean_PersistentEnvExtension_addEntry___redArg(v___x_7855_, v_env_7844_, v___x_7858_, v_asyncMode_7857_, v___x_7859_); +lean_dec(v_asyncMode_7857_); +v___x_7861_ = lean_obj_once(&l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2, &l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2_once, _init_l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2); +if (v_isShared_7854_ == 0) { -lean_object* v___x_7862_; -if (v_isShared_7860_ == 0) -{ -v___x_7862_ = v___x_7859_; -goto v_reusejp_7861_; +lean_ctor_set(v___x_7853_, 5, v___x_7861_); +lean_ctor_set(v___x_7853_, 0, v___x_7860_); +v___x_7863_ = v___x_7853_; +goto v_reusejp_7862_; } else { -lean_object* v_reuseFailAlloc_7863_; -v_reuseFailAlloc_7863_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7863_, 0, v_a_7857_); -v___x_7862_ = v_reuseFailAlloc_7863_; -goto v_reusejp_7861_; +lean_object* v_reuseFailAlloc_7866_; +v_reuseFailAlloc_7866_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v_reuseFailAlloc_7866_, 0, v___x_7860_); +lean_ctor_set(v_reuseFailAlloc_7866_, 1, v_nextMacroScope_7845_); +lean_ctor_set(v_reuseFailAlloc_7866_, 2, v_ngen_7846_); +lean_ctor_set(v_reuseFailAlloc_7866_, 3, v_auxDeclNGen_7847_); +lean_ctor_set(v_reuseFailAlloc_7866_, 4, v_traceState_7848_); +lean_ctor_set(v_reuseFailAlloc_7866_, 5, v___x_7861_); +lean_ctor_set(v_reuseFailAlloc_7866_, 6, v_messages_7849_); +lean_ctor_set(v_reuseFailAlloc_7866_, 7, v_infoState_7850_); +lean_ctor_set(v_reuseFailAlloc_7866_, 8, v_snapshotTasks_7851_); +v___x_7863_ = v_reuseFailAlloc_7866_; +goto v_reusejp_7862_; } -v_reusejp_7861_: +v_reusejp_7862_: { -return v___x_7862_; -} -} -} -} -} -v___jp_7812_: -{ -lean_object* v___x_7814_; lean_object* v_env_7815_; lean_object* v_nextMacroScope_7816_; lean_object* v_ngen_7817_; lean_object* v_auxDeclNGen_7818_; lean_object* v_traceState_7819_; lean_object* v_messages_7820_; lean_object* v_infoState_7821_; lean_object* v_snapshotTasks_7822_; lean_object* v___x_7824_; uint8_t v_isShared_7825_; uint8_t v_isSharedCheck_7838_; -v___x_7814_ = lean_st_ref_take(v___y_7813_); -v_env_7815_ = lean_ctor_get(v___x_7814_, 0); -v_nextMacroScope_7816_ = lean_ctor_get(v___x_7814_, 1); -v_ngen_7817_ = lean_ctor_get(v___x_7814_, 2); -v_auxDeclNGen_7818_ = lean_ctor_get(v___x_7814_, 3); -v_traceState_7819_ = lean_ctor_get(v___x_7814_, 4); -v_messages_7820_ = lean_ctor_get(v___x_7814_, 6); -v_infoState_7821_ = lean_ctor_get(v___x_7814_, 7); -v_snapshotTasks_7822_ = lean_ctor_get(v___x_7814_, 8); -v_isSharedCheck_7838_ = !lean_is_exclusive(v___x_7814_); -if (v_isSharedCheck_7838_ == 0) -{ -lean_object* v_unused_7839_; -v_unused_7839_ = lean_ctor_get(v___x_7814_, 5); -lean_dec(v_unused_7839_); -v___x_7824_ = v___x_7814_; -v_isShared_7825_ = v_isSharedCheck_7838_; -goto v_resetjp_7823_; -} -else -{ -lean_inc(v_snapshotTasks_7822_); -lean_inc(v_infoState_7821_); -lean_inc(v_messages_7820_); -lean_inc(v_traceState_7819_); -lean_inc(v_auxDeclNGen_7818_); -lean_inc(v_ngen_7817_); -lean_inc(v_nextMacroScope_7816_); -lean_inc(v_env_7815_); -lean_dec(v___x_7814_); -v___x_7824_ = lean_box(0); -v_isShared_7825_ = v_isSharedCheck_7838_; -goto v_resetjp_7823_; -} -v_resetjp_7823_: -{ -lean_object* v___x_7826_; lean_object* v_toEnvExtension_7827_; lean_object* v_asyncMode_7828_; lean_object* v___x_7829_; lean_object* v___x_7830_; lean_object* v___x_7831_; lean_object* v___x_7832_; lean_object* v___x_7834_; -v___x_7826_ = l_Lean_Compiler_LCNF_specExtension; -v_toEnvExtension_7827_ = lean_ctor_get(v___x_7826_, 0); -lean_inc_ref(v_toEnvExtension_7827_); -v_asyncMode_7828_ = lean_ctor_get(v_toEnvExtension_7827_, 2); -lean_inc(v_asyncMode_7828_); -lean_dec_ref(v_toEnvExtension_7827_); -v___x_7829_ = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(v___x_7829_, 0, v_key_7802_); -lean_ctor_set(v___x_7829_, 1, v_value_7803_); -lean_ctor_set_uint8(v___x_7829_, sizeof(void*)*2, v___x_7811_); -v___x_7830_ = lean_box(0); -v___x_7831_ = l_Lean_PersistentEnvExtension_addEntry___redArg(v___x_7826_, v_env_7815_, v___x_7829_, v_asyncMode_7828_, v___x_7830_); -lean_dec(v_asyncMode_7828_); -v___x_7832_ = lean_obj_once(&l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2, &l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2_once, _init_l_Lean_Compiler_LCNF_Specialize_cacheSpec___redArg___closed__2); -if (v_isShared_7825_ == 0) -{ -lean_ctor_set(v___x_7824_, 5, v___x_7832_); -lean_ctor_set(v___x_7824_, 0, v___x_7831_); -v___x_7834_ = v___x_7824_; -goto v_reusejp_7833_; -} -else -{ -lean_object* v_reuseFailAlloc_7837_; -v_reuseFailAlloc_7837_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v_reuseFailAlloc_7837_, 0, v___x_7831_); -lean_ctor_set(v_reuseFailAlloc_7837_, 1, v_nextMacroScope_7816_); -lean_ctor_set(v_reuseFailAlloc_7837_, 2, v_ngen_7817_); -lean_ctor_set(v_reuseFailAlloc_7837_, 3, v_auxDeclNGen_7818_); -lean_ctor_set(v_reuseFailAlloc_7837_, 4, v_traceState_7819_); -lean_ctor_set(v_reuseFailAlloc_7837_, 5, v___x_7832_); -lean_ctor_set(v_reuseFailAlloc_7837_, 6, v_messages_7820_); -lean_ctor_set(v_reuseFailAlloc_7837_, 7, v_infoState_7821_); -lean_ctor_set(v_reuseFailAlloc_7837_, 8, v_snapshotTasks_7822_); -v___x_7834_ = v_reuseFailAlloc_7837_; -goto v_reusejp_7833_; -} -v_reusejp_7833_: -{ -lean_object* v___x_7835_; -v___x_7835_ = lean_st_ref_set(v___y_7813_, v___x_7834_); -v_a_7793_ = v_tail_7804_; -v_a_7794_ = v___x_7805_; +lean_object* v___x_7864_; +v___x_7864_ = lean_st_ref_set(v___y_7842_, v___x_7863_); +v_a_7822_ = v_tail_7833_; +v_a_7823_ = v___x_7834_; goto _start; } } @@ -23888,614 +24071,380 @@ goto _start; } } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___boxed(lean_object* v___x_7865_, lean_object* v_a_7866_, lean_object* v_a_7867_, lean_object* v___y_7868_, lean_object* v___y_7869_, lean_object* v___y_7870_, lean_object* v___y_7871_, lean_object* v___y_7872_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg___boxed(lean_object* v___x_7894_, lean_object* v_a_7895_, lean_object* v_a_7896_, lean_object* v___y_7897_, lean_object* v___y_7898_, lean_object* v___y_7899_, lean_object* v___y_7900_, lean_object* v___y_7901_){ _start: { -lean_object* v_res_7873_; -v_res_7873_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_7865_, v_a_7866_, v_a_7867_, v___y_7868_, v___y_7869_, v___y_7870_, v___y_7871_); -lean_dec(v___y_7871_); -lean_dec_ref(v___y_7870_); -lean_dec(v___y_7869_); -lean_dec_ref(v___y_7868_); -lean_dec(v___x_7865_); -return v_res_7873_; +lean_object* v_res_7902_; +v_res_7902_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_7894_, v_a_7895_, v_a_7896_, v___y_7897_, v___y_7898_, v___y_7899_, v___y_7900_); +lean_dec(v___y_7900_); +lean_dec_ref(v___y_7899_); +lean_dec(v___y_7898_); +lean_dec_ref(v___y_7897_); +lean_dec(v___x_7894_); +return v_res_7902_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(lean_object* v___x_7874_, lean_object* v_as_7875_, size_t v_sz_7876_, size_t v_i_7877_, lean_object* v_b_7878_, lean_object* v___y_7879_, lean_object* v___y_7880_, lean_object* v___y_7881_, lean_object* v___y_7882_, lean_object* v___y_7883_, lean_object* v___y_7884_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(lean_object* v___x_7903_, lean_object* v_as_7904_, size_t v_sz_7905_, size_t v_i_7906_, lean_object* v_b_7907_, lean_object* v___y_7908_, lean_object* v___y_7909_, lean_object* v___y_7910_, lean_object* v___y_7911_, lean_object* v___y_7912_, lean_object* v___y_7913_){ _start: { -uint8_t v___x_7886_; -v___x_7886_ = lean_usize_dec_lt(v_i_7877_, v_sz_7876_); -if (v___x_7886_ == 0) +uint8_t v___x_7915_; +v___x_7915_ = lean_usize_dec_lt(v_i_7906_, v_sz_7905_); +if (v___x_7915_ == 0) { -lean_object* v___x_7887_; -v___x_7887_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_7887_, 0, v_b_7878_); -return v___x_7887_; +lean_object* v___x_7916_; +v___x_7916_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_7916_, 0, v_b_7907_); +return v___x_7916_; } else { -lean_object* v_a_7888_; lean_object* v___x_7889_; -v_a_7888_ = lean_array_uget_borrowed(v_as_7875_, v_i_7877_); -lean_inc(v_a_7888_); -v___x_7889_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_7874_, v_a_7888_, v_b_7878_, v___y_7881_, v___y_7882_, v___y_7883_, v___y_7884_); -if (lean_obj_tag(v___x_7889_) == 0) +lean_object* v_a_7917_; lean_object* v___x_7918_; +v_a_7917_ = lean_array_uget_borrowed(v_as_7904_, v_i_7906_); +lean_inc(v_a_7917_); +v___x_7918_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_7903_, v_a_7917_, v_b_7907_, v___y_7910_, v___y_7911_, v___y_7912_, v___y_7913_); +if (lean_obj_tag(v___x_7918_) == 0) { -lean_object* v_a_7890_; lean_object* v___x_7892_; uint8_t v_isShared_7893_; uint8_t v_isSharedCheck_7902_; -v_a_7890_ = lean_ctor_get(v___x_7889_, 0); -v_isSharedCheck_7902_ = !lean_is_exclusive(v___x_7889_); -if (v_isSharedCheck_7902_ == 0) +lean_object* v_a_7919_; lean_object* v___x_7921_; uint8_t v_isShared_7922_; uint8_t v_isSharedCheck_7931_; +v_a_7919_ = lean_ctor_get(v___x_7918_, 0); +v_isSharedCheck_7931_ = !lean_is_exclusive(v___x_7918_); +if (v_isSharedCheck_7931_ == 0) { -v___x_7892_ = v___x_7889_; -v_isShared_7893_ = v_isSharedCheck_7902_; -goto v_resetjp_7891_; +v___x_7921_ = v___x_7918_; +v_isShared_7922_ = v_isSharedCheck_7931_; +goto v_resetjp_7920_; } else { -lean_inc(v_a_7890_); -lean_dec(v___x_7889_); -v___x_7892_ = lean_box(0); -v_isShared_7893_ = v_isSharedCheck_7902_; -goto v_resetjp_7891_; +lean_inc(v_a_7919_); +lean_dec(v___x_7918_); +v___x_7921_ = lean_box(0); +v_isShared_7922_ = v_isSharedCheck_7931_; +goto v_resetjp_7920_; } -v_resetjp_7891_: +v_resetjp_7920_: { -if (lean_obj_tag(v_a_7890_) == 0) +if (lean_obj_tag(v_a_7919_) == 0) { -lean_object* v_a_7894_; lean_object* v___x_7896_; -v_a_7894_ = lean_ctor_get(v_a_7890_, 0); -lean_inc(v_a_7894_); -lean_dec_ref(v_a_7890_); -if (v_isShared_7893_ == 0) +lean_object* v_a_7923_; lean_object* v___x_7925_; +v_a_7923_ = lean_ctor_get(v_a_7919_, 0); +lean_inc(v_a_7923_); +lean_dec_ref(v_a_7919_); +if (v_isShared_7922_ == 0) { -lean_ctor_set(v___x_7892_, 0, v_a_7894_); -v___x_7896_ = v___x_7892_; -goto v_reusejp_7895_; +lean_ctor_set(v___x_7921_, 0, v_a_7923_); +v___x_7925_ = v___x_7921_; +goto v_reusejp_7924_; } else { -lean_object* v_reuseFailAlloc_7897_; -v_reuseFailAlloc_7897_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7897_, 0, v_a_7894_); -v___x_7896_ = v_reuseFailAlloc_7897_; -goto v_reusejp_7895_; +lean_object* v_reuseFailAlloc_7926_; +v_reuseFailAlloc_7926_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7926_, 0, v_a_7923_); +v___x_7925_ = v_reuseFailAlloc_7926_; +goto v_reusejp_7924_; } -v_reusejp_7895_: +v_reusejp_7924_: { -return v___x_7896_; +return v___x_7925_; } } else { -lean_object* v_a_7898_; size_t v___x_7899_; size_t v___x_7900_; -lean_del_object(v___x_7892_); -v_a_7898_ = lean_ctor_get(v_a_7890_, 0); -lean_inc(v_a_7898_); -lean_dec_ref(v_a_7890_); -v___x_7899_ = ((size_t)1ULL); -v___x_7900_ = lean_usize_add(v_i_7877_, v___x_7899_); -v_i_7877_ = v___x_7900_; -v_b_7878_ = v_a_7898_; +lean_object* v_a_7927_; size_t v___x_7928_; size_t v___x_7929_; +lean_del_object(v___x_7921_); +v_a_7927_ = lean_ctor_get(v_a_7919_, 0); +lean_inc(v_a_7927_); +lean_dec_ref(v_a_7919_); +v___x_7928_ = ((size_t)1ULL); +v___x_7929_ = lean_usize_add(v_i_7906_, v___x_7928_); +v_i_7906_ = v___x_7929_; +v_b_7907_ = v_a_7927_; goto _start; } } } else { -lean_object* v_a_7903_; lean_object* v___x_7905_; uint8_t v_isShared_7906_; uint8_t v_isSharedCheck_7910_; -v_a_7903_ = lean_ctor_get(v___x_7889_, 0); -v_isSharedCheck_7910_ = !lean_is_exclusive(v___x_7889_); -if (v_isSharedCheck_7910_ == 0) +lean_object* v_a_7932_; lean_object* v___x_7934_; uint8_t v_isShared_7935_; uint8_t v_isSharedCheck_7939_; +v_a_7932_ = lean_ctor_get(v___x_7918_, 0); +v_isSharedCheck_7939_ = !lean_is_exclusive(v___x_7918_); +if (v_isSharedCheck_7939_ == 0) { -v___x_7905_ = v___x_7889_; -v_isShared_7906_ = v_isSharedCheck_7910_; -goto v_resetjp_7904_; +v___x_7934_ = v___x_7918_; +v_isShared_7935_ = v_isSharedCheck_7939_; +goto v_resetjp_7933_; } else { -lean_inc(v_a_7903_); -lean_dec(v___x_7889_); -v___x_7905_ = lean_box(0); -v_isShared_7906_ = v_isSharedCheck_7910_; -goto v_resetjp_7904_; +lean_inc(v_a_7932_); +lean_dec(v___x_7918_); +v___x_7934_ = lean_box(0); +v_isShared_7935_ = v_isSharedCheck_7939_; +goto v_resetjp_7933_; } -v_resetjp_7904_: +v_resetjp_7933_: { -lean_object* v___x_7908_; -if (v_isShared_7906_ == 0) +lean_object* v___x_7937_; +if (v_isShared_7935_ == 0) { -v___x_7908_ = v___x_7905_; -goto v_reusejp_7907_; +v___x_7937_ = v___x_7934_; +goto v_reusejp_7936_; } else { -lean_object* v_reuseFailAlloc_7909_; -v_reuseFailAlloc_7909_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_7909_, 0, v_a_7903_); -v___x_7908_ = v_reuseFailAlloc_7909_; -goto v_reusejp_7907_; +lean_object* v_reuseFailAlloc_7938_; +v_reuseFailAlloc_7938_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_7938_, 0, v_a_7932_); +v___x_7937_ = v_reuseFailAlloc_7938_; +goto v_reusejp_7936_; } -v_reusejp_7907_: +v_reusejp_7936_: { -return v___x_7908_; +return v___x_7937_; } } } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4___boxed(lean_object* v___x_7911_, lean_object* v_as_7912_, lean_object* v_sz_7913_, lean_object* v_i_7914_, lean_object* v_b_7915_, lean_object* v___y_7916_, lean_object* v___y_7917_, lean_object* v___y_7918_, lean_object* v___y_7919_, lean_object* v___y_7920_, lean_object* v___y_7921_, lean_object* v___y_7922_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4___boxed(lean_object* v___x_7940_, lean_object* v_as_7941_, lean_object* v_sz_7942_, lean_object* v_i_7943_, lean_object* v_b_7944_, lean_object* v___y_7945_, lean_object* v___y_7946_, lean_object* v___y_7947_, lean_object* v___y_7948_, lean_object* v___y_7949_, lean_object* v___y_7950_, lean_object* v___y_7951_){ _start: { -size_t v_sz_boxed_7923_; size_t v_i_boxed_7924_; lean_object* v_res_7925_; -v_sz_boxed_7923_ = lean_unbox_usize(v_sz_7913_); -lean_dec(v_sz_7913_); -v_i_boxed_7924_ = lean_unbox_usize(v_i_7914_); -lean_dec(v_i_7914_); -v_res_7925_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(v___x_7911_, v_as_7912_, v_sz_boxed_7923_, v_i_boxed_7924_, v_b_7915_, v___y_7916_, v___y_7917_, v___y_7918_, v___y_7919_, v___y_7920_, v___y_7921_); -lean_dec(v___y_7921_); -lean_dec_ref(v___y_7920_); -lean_dec(v___y_7919_); -lean_dec_ref(v___y_7918_); -lean_dec(v___y_7917_); -lean_dec_ref(v___y_7916_); -lean_dec_ref(v_as_7912_); -lean_dec(v___x_7911_); -return v_res_7925_; +size_t v_sz_boxed_7952_; size_t v_i_boxed_7953_; lean_object* v_res_7954_; +v_sz_boxed_7952_ = lean_unbox_usize(v_sz_7942_); +lean_dec(v_sz_7942_); +v_i_boxed_7953_ = lean_unbox_usize(v_i_7943_); +lean_dec(v_i_7943_); +v_res_7954_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(v___x_7940_, v_as_7941_, v_sz_boxed_7952_, v_i_boxed_7953_, v_b_7944_, v___y_7945_, v___y_7946_, v___y_7947_, v___y_7948_, v___y_7949_, v___y_7950_); +lean_dec(v___y_7950_); +lean_dec_ref(v___y_7949_); +lean_dec(v___y_7948_); +lean_dec_ref(v___y_7947_); +lean_dec(v___y_7946_); +lean_dec_ref(v___y_7945_); +lean_dec_ref(v_as_7941_); +lean_dec(v___x_7940_); +return v_res_7954_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1(void){ _start: { -lean_object* v___x_7927_; lean_object* v___x_7928_; -v___x_7927_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__0)); -v___x_7928_ = l_Lean_stringToMessageData(v___x_7927_); -return v___x_7928_; +lean_object* v___x_7956_; lean_object* v___x_7957_; +v___x_7956_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__0)); +v___x_7957_ = l_Lean_stringToMessageData(v___x_7956_); +return v___x_7957_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4(void){ _start: { -lean_object* v___x_7932_; lean_object* v___x_7933_; -v___x_7932_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__3)); -v___x_7933_ = l_Lean_stringToMessageData(v___x_7932_); -return v___x_7933_; +lean_object* v___x_7961_; lean_object* v___x_7962_; +v___x_7961_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__3)); +v___x_7962_ = l_Lean_stringToMessageData(v___x_7961_); +return v___x_7962_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6(void){ _start: { -lean_object* v___x_7935_; lean_object* v___x_7936_; -v___x_7935_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__5)); -v___x_7936_ = l_Lean_stringToMessageData(v___x_7935_); -return v___x_7936_; +lean_object* v___x_7964_; lean_object* v___x_7965_; +v___x_7964_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__5)); +v___x_7965_ = l_Lean_stringToMessageData(v___x_7964_); +return v___x_7965_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8(void){ _start: { -lean_object* v___x_7938_; lean_object* v___x_7939_; -v___x_7938_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__7)); -v___x_7939_ = l_Lean_stringToMessageData(v___x_7938_); -return v___x_7939_; +lean_object* v___x_7967_; lean_object* v___x_7968_; +v___x_7967_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__7)); +v___x_7968_ = l_Lean_stringToMessageData(v___x_7967_); +return v___x_7968_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10(void){ _start: { -lean_object* v___x_7941_; lean_object* v___x_7942_; -v___x_7941_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__9)); -v___x_7942_ = l_Lean_stringToMessageData(v___x_7941_); -return v___x_7942_; +lean_object* v___x_7970_; lean_object* v___x_7971_; +v___x_7970_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__9)); +v___x_7971_ = l_Lean_stringToMessageData(v___x_7970_); +return v___x_7971_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12(void){ _start: { -lean_object* v___x_7944_; lean_object* v___x_7945_; -v___x_7944_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__11)); -v___x_7945_ = l_Lean_stringToMessageData(v___x_7944_); -return v___x_7945_; +lean_object* v___x_7973_; lean_object* v___x_7974_; +v___x_7973_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__11)); +v___x_7974_ = l_Lean_stringToMessageData(v___x_7973_); +return v___x_7974_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(lean_object* v_round_7946_, lean_object* v_a_7947_, lean_object* v_a_7948_, lean_object* v_a_7949_, lean_object* v_a_7950_, lean_object* v_a_7951_, lean_object* v_a_7952_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(lean_object* v_round_7975_, lean_object* v_a_7976_, lean_object* v_a_7977_, lean_object* v_a_7978_, lean_object* v_a_7979_, lean_object* v_a_7980_, lean_object* v_a_7981_){ _start: { -lean_object* v___x_7954_; lean_object* v_processedDecls_7955_; lean_object* v_workingDecls_7956_; lean_object* v_localSpecParamInfo_7957_; lean_object* v_parentMasks_7958_; uint8_t v_changed_7959_; lean_object* v___x_7961_; uint8_t v_isShared_7962_; uint8_t v_isSharedCheck_8076_; -v___x_7954_ = lean_st_ref_take(v_a_7948_); -v_processedDecls_7955_ = lean_ctor_get(v___x_7954_, 0); -v_workingDecls_7956_ = lean_ctor_get(v___x_7954_, 1); -v_localSpecParamInfo_7957_ = lean_ctor_get(v___x_7954_, 2); -v_parentMasks_7958_ = lean_ctor_get(v___x_7954_, 3); -v_changed_7959_ = lean_ctor_get_uint8(v___x_7954_, sizeof(void*)*4); -v_isSharedCheck_8076_ = !lean_is_exclusive(v___x_7954_); -if (v_isSharedCheck_8076_ == 0) +lean_object* v___x_7983_; lean_object* v_processedDecls_7984_; lean_object* v_workingDecls_7985_; lean_object* v_localSpecParamInfo_7986_; lean_object* v_parentMasks_7987_; uint8_t v_changed_7988_; lean_object* v___x_7990_; uint8_t v_isShared_7991_; uint8_t v_isSharedCheck_8105_; +v___x_7983_ = lean_st_ref_take(v_a_7977_); +v_processedDecls_7984_ = lean_ctor_get(v___x_7983_, 0); +v_workingDecls_7985_ = lean_ctor_get(v___x_7983_, 1); +v_localSpecParamInfo_7986_ = lean_ctor_get(v___x_7983_, 2); +v_parentMasks_7987_ = lean_ctor_get(v___x_7983_, 3); +v_changed_7988_ = lean_ctor_get_uint8(v___x_7983_, sizeof(void*)*4); +v_isSharedCheck_8105_ = !lean_is_exclusive(v___x_7983_); +if (v_isSharedCheck_8105_ == 0) { -v___x_7961_ = v___x_7954_; -v_isShared_7962_ = v_isSharedCheck_8076_; -goto v_resetjp_7960_; +v___x_7990_ = v___x_7983_; +v_isShared_7991_ = v_isSharedCheck_8105_; +goto v_resetjp_7989_; } else { -lean_inc(v_parentMasks_7958_); -lean_inc(v_localSpecParamInfo_7957_); -lean_inc(v_workingDecls_7956_); -lean_inc(v_processedDecls_7955_); -lean_dec(v___x_7954_); -v___x_7961_ = lean_box(0); -v_isShared_7962_ = v_isSharedCheck_8076_; -goto v_resetjp_7960_; +lean_inc(v_parentMasks_7987_); +lean_inc(v_localSpecParamInfo_7986_); +lean_inc(v_workingDecls_7985_); +lean_inc(v_processedDecls_7984_); +lean_dec(v___x_7983_); +v___x_7990_ = lean_box(0); +v_isShared_7991_ = v_isSharedCheck_8105_; +goto v_resetjp_7989_; } -v_resetjp_7960_: +v_resetjp_7989_: { -lean_object* v___y_7964_; lean_object* v___y_7965_; lean_object* v___y_7966_; lean_object* v___y_7967_; lean_object* v___y_7968_; lean_object* v___y_7969_; lean_object* v___y_7979_; lean_object* v___y_7980_; lean_object* v___y_7981_; lean_object* v___y_7982_; lean_object* v___y_7983_; lean_object* v___y_7984_; lean_object* v___x_8003_; lean_object* v___x_8004_; lean_object* v___x_8006_; -v___x_8003_ = lean_unsigned_to_nat(0u); -v___x_8004_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__2)); -if (v_isShared_7962_ == 0) +lean_object* v___y_7993_; lean_object* v___y_7994_; lean_object* v___y_7995_; lean_object* v___y_7996_; lean_object* v___y_7997_; lean_object* v___y_7998_; lean_object* v___y_8008_; lean_object* v___y_8009_; lean_object* v___y_8010_; lean_object* v___y_8011_; lean_object* v___y_8012_; lean_object* v___y_8013_; lean_object* v___x_8032_; lean_object* v___x_8033_; lean_object* v___x_8035_; +v___x_8032_ = lean_unsigned_to_nat(0u); +v___x_8033_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__2)); +if (v_isShared_7991_ == 0) { -lean_ctor_set(v___x_7961_, 1, v___x_8004_); -v___x_8006_ = v___x_7961_; -goto v_reusejp_8005_; +lean_ctor_set(v___x_7990_, 1, v___x_8033_); +v___x_8035_ = v___x_7990_; +goto v_reusejp_8034_; } else { -lean_object* v_reuseFailAlloc_8075_; -v_reuseFailAlloc_8075_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v_reuseFailAlloc_8075_, 0, v_processedDecls_7955_); -lean_ctor_set(v_reuseFailAlloc_8075_, 1, v___x_8004_); -lean_ctor_set(v_reuseFailAlloc_8075_, 2, v_localSpecParamInfo_7957_); -lean_ctor_set(v_reuseFailAlloc_8075_, 3, v_parentMasks_7958_); -lean_ctor_set_uint8(v_reuseFailAlloc_8075_, sizeof(void*)*4, v_changed_7959_); -v___x_8006_ = v_reuseFailAlloc_8075_; -goto v_reusejp_8005_; +lean_object* v_reuseFailAlloc_8104_; +v_reuseFailAlloc_8104_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v_reuseFailAlloc_8104_, 0, v_processedDecls_7984_); +lean_ctor_set(v_reuseFailAlloc_8104_, 1, v___x_8033_); +lean_ctor_set(v_reuseFailAlloc_8104_, 2, v_localSpecParamInfo_7986_); +lean_ctor_set(v_reuseFailAlloc_8104_, 3, v_parentMasks_7987_); +lean_ctor_set_uint8(v_reuseFailAlloc_8104_, sizeof(void*)*4, v_changed_7988_); +v___x_8035_ = v_reuseFailAlloc_8104_; +goto v_reusejp_8034_; } -v___jp_7963_: +v___jp_7992_: { -lean_object* v___x_7970_; size_t v_sz_7971_; size_t v___x_7972_; lean_object* v___x_7973_; -v___x_7970_ = lean_box(0); -v_sz_7971_ = lean_array_size(v_workingDecls_7956_); -v___x_7972_ = ((size_t)0ULL); -v___x_7973_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(v_workingDecls_7956_, v_sz_7971_, v___x_7972_, v___x_7970_, v___y_7964_, v___y_7965_, v___y_7966_, v___y_7967_, v___y_7968_, v___y_7969_); -lean_dec_ref(v_workingDecls_7956_); -if (lean_obj_tag(v___x_7973_) == 0) +lean_object* v___x_7999_; size_t v_sz_8000_; size_t v___x_8001_; lean_object* v___x_8002_; +v___x_7999_ = lean_box(0); +v_sz_8000_ = lean_array_size(v_workingDecls_7985_); +v___x_8001_ = ((size_t)0ULL); +v___x_8002_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__0(v_workingDecls_7985_, v_sz_8000_, v___x_8001_, v___x_7999_, v___y_7993_, v___y_7994_, v___y_7995_, v___y_7996_, v___y_7997_, v___y_7998_); +lean_dec_ref(v_workingDecls_7985_); +if (lean_obj_tag(v___x_8002_) == 0) { -lean_object* v___x_7974_; -lean_dec_ref(v___x_7973_); -v___x_7974_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(v___y_7964_, v___y_7965_, v___y_7966_, v___y_7967_, v___y_7968_, v___y_7969_); -if (lean_obj_tag(v___x_7974_) == 0) +lean_object* v___x_8003_; +lean_dec_ref(v___x_8002_); +v___x_8003_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_updateLocalSpecParamInfo(v___y_7993_, v___y_7994_, v___y_7995_, v___y_7996_, v___y_7997_, v___y_7998_); +if (lean_obj_tag(v___x_8003_) == 0) { -lean_object* v___x_7975_; lean_object* v___x_7976_; -lean_dec_ref(v___x_7974_); -v___x_7975_ = lean_unsigned_to_nat(1u); -v___x_7976_ = lean_nat_add(v_round_7946_, v___x_7975_); -lean_dec(v_round_7946_); -v_round_7946_ = v___x_7976_; -v_a_7947_ = v___y_7964_; -v_a_7948_ = v___y_7965_; -v_a_7949_ = v___y_7966_; -v_a_7950_ = v___y_7967_; -v_a_7951_ = v___y_7968_; -v_a_7952_ = v___y_7969_; +lean_object* v___x_8004_; lean_object* v___x_8005_; +lean_dec_ref(v___x_8003_); +v___x_8004_ = lean_unsigned_to_nat(1u); +v___x_8005_ = lean_nat_add(v_round_7975_, v___x_8004_); +lean_dec(v_round_7975_); +v_round_7975_ = v___x_8005_; +v_a_7976_ = v___y_7993_; +v_a_7977_ = v___y_7994_; +v_a_7978_ = v___y_7995_; +v_a_7979_ = v___y_7996_; +v_a_7980_ = v___y_7997_; +v_a_7981_ = v___y_7998_; goto _start; } else { -lean_dec(v_round_7946_); -return v___x_7974_; +lean_dec(v_round_7975_); +return v___x_8003_; } } else { -lean_dec(v_round_7946_); -return v___x_7973_; +lean_dec(v_round_7975_); +return v___x_8002_; } } -v___jp_7978_: +v___jp_8007_: { -lean_object* v___x_7985_; lean_object* v___x_7986_; -v___x_7985_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_7986_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_7985_, v___y_7983_); -if (lean_obj_tag(v___x_7986_) == 0) +lean_object* v___x_8014_; lean_object* v___x_8015_; +v___x_8014_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_8015_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_8014_, v___y_8012_); +if (lean_obj_tag(v___x_8015_) == 0) { -lean_object* v_a_7987_; uint8_t v___x_7988_; -v_a_7987_ = lean_ctor_get(v___x_7986_, 0); -lean_inc(v_a_7987_); -lean_dec_ref(v___x_7986_); -v___x_7988_ = lean_unbox(v_a_7987_); -lean_dec(v_a_7987_); -if (v___x_7988_ == 0) +lean_object* v_a_8016_; uint8_t v___x_8017_; +v_a_8016_ = lean_ctor_get(v___x_8015_, 0); +lean_inc(v_a_8016_); +lean_dec_ref(v___x_8015_); +v___x_8017_ = lean_unbox(v_a_8016_); +lean_dec(v_a_8016_); +if (v___x_8017_ == 0) { -v___y_7964_ = v___y_7979_; -v___y_7965_ = v___y_7980_; -v___y_7966_ = v___y_7981_; -v___y_7967_ = v___y_7982_; -v___y_7968_ = v___y_7983_; -v___y_7969_ = v___y_7984_; -goto v___jp_7963_; +v___y_7993_ = v___y_8008_; +v___y_7994_ = v___y_8009_; +v___y_7995_ = v___y_8010_; +v___y_7996_ = v___y_8011_; +v___y_7997_ = v___y_8012_; +v___y_7998_ = v___y_8013_; +goto v___jp_7992_; } else { -lean_object* v___x_7989_; lean_object* v___x_7990_; lean_object* v___x_7991_; lean_object* v___x_7992_; lean_object* v___x_7993_; lean_object* v___x_7994_; -v___x_7989_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1); -lean_inc(v_round_7946_); -v___x_7990_ = l_Nat_reprFast(v_round_7946_); -v___x_7991_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_7991_, 0, v___x_7990_); -v___x_7992_ = l_Lean_MessageData_ofFormat(v___x_7991_); -v___x_7993_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_7993_, 0, v___x_7989_); -lean_ctor_set(v___x_7993_, 1, v___x_7992_); -v___x_7994_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_7985_, v___x_7993_, v___y_7981_, v___y_7982_, v___y_7983_, v___y_7984_); -if (lean_obj_tag(v___x_7994_) == 0) +lean_object* v___x_8018_; lean_object* v___x_8019_; lean_object* v___x_8020_; lean_object* v___x_8021_; lean_object* v___x_8022_; lean_object* v___x_8023_; +v___x_8018_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__1); +lean_inc(v_round_7975_); +v___x_8019_ = l_Nat_reprFast(v_round_7975_); +v___x_8020_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_8020_, 0, v___x_8019_); +v___x_8021_ = l_Lean_MessageData_ofFormat(v___x_8020_); +v___x_8022_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8022_, 0, v___x_8018_); +lean_ctor_set(v___x_8022_, 1, v___x_8021_); +v___x_8023_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_8014_, v___x_8022_, v___y_8010_, v___y_8011_, v___y_8012_, v___y_8013_); +if (lean_obj_tag(v___x_8023_) == 0) { -lean_dec_ref(v___x_7994_); -v___y_7964_ = v___y_7979_; -v___y_7965_ = v___y_7980_; -v___y_7966_ = v___y_7981_; -v___y_7967_ = v___y_7982_; -v___y_7968_ = v___y_7983_; -v___y_7969_ = v___y_7984_; -goto v___jp_7963_; +lean_dec_ref(v___x_8023_); +v___y_7993_ = v___y_8008_; +v___y_7994_ = v___y_8009_; +v___y_7995_ = v___y_8010_; +v___y_7996_ = v___y_8011_; +v___y_7997_ = v___y_8012_; +v___y_7998_ = v___y_8013_; +goto v___jp_7992_; } else { -lean_dec_ref(v_workingDecls_7956_); -lean_dec(v_round_7946_); -return v___x_7994_; +lean_dec_ref(v_workingDecls_7985_); +lean_dec(v_round_7975_); +return v___x_8023_; } } } else { -lean_object* v_a_7995_; lean_object* v___x_7997_; uint8_t v_isShared_7998_; uint8_t v_isSharedCheck_8002_; -lean_dec_ref(v_workingDecls_7956_); -lean_dec(v_round_7946_); -v_a_7995_ = lean_ctor_get(v___x_7986_, 0); -v_isSharedCheck_8002_ = !lean_is_exclusive(v___x_7986_); -if (v_isSharedCheck_8002_ == 0) -{ -v___x_7997_ = v___x_7986_; -v_isShared_7998_ = v_isSharedCheck_8002_; -goto v_resetjp_7996_; -} -else -{ -lean_inc(v_a_7995_); -lean_dec(v___x_7986_); -v___x_7997_ = lean_box(0); -v_isShared_7998_ = v_isSharedCheck_8002_; -goto v_resetjp_7996_; -} -v_resetjp_7996_: -{ -lean_object* v___x_8000_; -if (v_isShared_7998_ == 0) -{ -v___x_8000_ = v___x_7997_; -goto v_reusejp_7999_; -} -else -{ -lean_object* v_reuseFailAlloc_8001_; -v_reuseFailAlloc_8001_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8001_, 0, v_a_7995_); -v___x_8000_ = v_reuseFailAlloc_8001_; -goto v_reusejp_7999_; -} -v_reusejp_7999_: -{ -return v___x_8000_; -} -} -} -} -v_reusejp_8005_: -{ -lean_object* v___x_8007_; lean_object* v___x_8008_; -v___x_8007_ = lean_st_ref_set(v_a_7948_, v___x_8006_); -v___x_8008_ = l_Lean_Compiler_LCNF_getConfig___redArg(v_a_7949_); -if (lean_obj_tag(v___x_8008_) == 0) -{ -lean_object* v_a_8009_; lean_object* v___x_8010_; lean_object* v___y_8012_; lean_object* v___y_8013_; lean_object* v___y_8014_; lean_object* v___y_8015_; lean_object* v___y_8016_; lean_object* v___y_8017_; uint8_t v___x_8033_; -v_a_8009_ = lean_ctor_get(v___x_8008_, 0); -lean_inc(v_a_8009_); -lean_dec_ref(v___x_8008_); -v___x_8010_ = lean_array_get_size(v_workingDecls_7956_); -v___x_8033_ = lean_nat_dec_eq(v___x_8010_, v___x_8003_); -if (v___x_8033_ == 0) -{ -lean_object* v_maxRecSpecialize_8034_; uint8_t v___x_8035_; -v_maxRecSpecialize_8034_ = lean_ctor_get(v_a_8009_, 3); -lean_inc(v_maxRecSpecialize_8034_); -lean_dec(v_a_8009_); -v___x_8035_ = lean_nat_dec_lt(v_maxRecSpecialize_8034_, v_round_7946_); -if (v___x_8035_ == 0) -{ -lean_dec(v_maxRecSpecialize_8034_); -v___y_7979_ = v_a_7947_; -v___y_7980_ = v_a_7948_; -v___y_7981_ = v_a_7949_; -v___y_7982_ = v_a_7950_; -v___y_7983_ = v_a_7951_; -v___y_7984_ = v_a_7952_; -goto v___jp_7978_; -} -else -{ -lean_object* v___x_8036_; lean_object* v___x_8037_; lean_object* v___x_8038_; lean_object* v___x_8039_; lean_object* v___x_8040_; lean_object* v___x_8041_; lean_object* v___x_8042_; lean_object* v___x_8043_; lean_object* v___x_8044_; lean_object* v___x_8045_; lean_object* v___x_8046_; -v___x_8036_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4); -v___x_8037_ = l_Nat_reprFast(v_maxRecSpecialize_8034_); -v___x_8038_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_8038_, 0, v___x_8037_); -v___x_8039_ = l_Lean_MessageData_ofFormat(v___x_8038_); -lean_inc_ref(v___x_8039_); -v___x_8040_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8040_, 0, v___x_8036_); -lean_ctor_set(v___x_8040_, 1, v___x_8039_); -v___x_8041_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6); -v___x_8042_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8042_, 0, v___x_8040_); -lean_ctor_set(v___x_8042_, 1, v___x_8041_); -v___x_8043_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8043_, 0, v___x_8042_); -lean_ctor_set(v___x_8043_, 1, v___x_8039_); -v___x_8044_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8); -v___x_8045_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8045_, 0, v___x_8043_); -lean_ctor_set(v___x_8045_, 1, v___x_8044_); -v___x_8046_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v___x_8045_, v_a_7949_, v_a_7950_, v_a_7951_, v_a_7952_); -if (lean_obj_tag(v___x_8046_) == 0) -{ -lean_dec_ref(v___x_8046_); -v___y_7979_ = v_a_7947_; -v___y_7980_ = v_a_7948_; -v___y_7981_ = v_a_7949_; -v___y_7982_ = v_a_7950_; -v___y_7983_ = v_a_7951_; -v___y_7984_ = v_a_7952_; -goto v___jp_7978_; -} -else -{ -lean_dec_ref(v_workingDecls_7956_); -lean_dec(v_round_7946_); -return v___x_8046_; -} -} -} -else -{ -lean_object* v___x_8047_; lean_object* v___x_8048_; -lean_dec(v_a_8009_); -lean_dec_ref(v_workingDecls_7956_); -v___x_8047_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_8048_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_8047_, v_a_7951_); -if (lean_obj_tag(v___x_8048_) == 0) -{ -lean_object* v_a_8049_; uint8_t v___x_8050_; -v_a_8049_ = lean_ctor_get(v___x_8048_, 0); -lean_inc(v_a_8049_); -lean_dec_ref(v___x_8048_); -v___x_8050_ = lean_unbox(v_a_8049_); -lean_dec(v_a_8049_); -if (v___x_8050_ == 0) -{ -lean_dec(v_round_7946_); -v___y_8012_ = v_a_7947_; -v___y_8013_ = v_a_7948_; -v___y_8014_ = v_a_7949_; -v___y_8015_ = v_a_7950_; -v___y_8016_ = v_a_7951_; -v___y_8017_ = v_a_7952_; -goto v___jp_8011_; -} -else -{ -lean_object* v___x_8051_; lean_object* v___x_8052_; lean_object* v___x_8053_; lean_object* v___x_8054_; lean_object* v___x_8055_; lean_object* v___x_8056_; lean_object* v___x_8057_; lean_object* v___x_8058_; -v___x_8051_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10); -v___x_8052_ = l_Nat_reprFast(v_round_7946_); -v___x_8053_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_8053_, 0, v___x_8052_); -v___x_8054_ = l_Lean_MessageData_ofFormat(v___x_8053_); -v___x_8055_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8055_, 0, v___x_8051_); -lean_ctor_set(v___x_8055_, 1, v___x_8054_); -v___x_8056_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12); -v___x_8057_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_8057_, 0, v___x_8055_); -lean_ctor_set(v___x_8057_, 1, v___x_8056_); -v___x_8058_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_8047_, v___x_8057_, v_a_7949_, v_a_7950_, v_a_7951_, v_a_7952_); -if (lean_obj_tag(v___x_8058_) == 0) -{ -lean_dec_ref(v___x_8058_); -v___y_8012_ = v_a_7947_; -v___y_8013_ = v_a_7948_; -v___y_8014_ = v_a_7949_; -v___y_8015_ = v_a_7950_; -v___y_8016_ = v_a_7951_; -v___y_8017_ = v_a_7952_; -goto v___jp_8011_; -} -else -{ -return v___x_8058_; -} -} -} -else -{ -lean_object* v_a_8059_; lean_object* v___x_8061_; uint8_t v_isShared_8062_; uint8_t v_isSharedCheck_8066_; -lean_dec(v_round_7946_); -v_a_8059_ = lean_ctor_get(v___x_8048_, 0); -v_isSharedCheck_8066_ = !lean_is_exclusive(v___x_8048_); -if (v_isSharedCheck_8066_ == 0) -{ -v___x_8061_ = v___x_8048_; -v_isShared_8062_ = v_isSharedCheck_8066_; -goto v_resetjp_8060_; -} -else -{ -lean_inc(v_a_8059_); -lean_dec(v___x_8048_); -v___x_8061_ = lean_box(0); -v_isShared_8062_ = v_isSharedCheck_8066_; -goto v_resetjp_8060_; -} -v_resetjp_8060_: -{ -lean_object* v___x_8064_; -if (v_isShared_8062_ == 0) -{ -v___x_8064_ = v___x_8061_; -goto v_reusejp_8063_; -} -else -{ -lean_object* v_reuseFailAlloc_8065_; -v_reuseFailAlloc_8065_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8065_, 0, v_a_8059_); -v___x_8064_ = v_reuseFailAlloc_8065_; -goto v_reusejp_8063_; -} -v_reusejp_8063_: -{ -return v___x_8064_; -} -} -} -} -v___jp_8011_: -{ -lean_object* v___x_8018_; lean_object* v_localSpecParamInfo_8019_; lean_object* v_buckets_8020_; lean_object* v___x_8021_; size_t v_sz_8022_; size_t v___x_8023_; lean_object* v___x_8024_; -v___x_8018_ = lean_st_ref_get(v___y_8013_); -v_localSpecParamInfo_8019_ = lean_ctor_get(v___x_8018_, 2); -lean_inc_ref(v_localSpecParamInfo_8019_); -lean_dec(v___x_8018_); -v_buckets_8020_ = lean_ctor_get(v_localSpecParamInfo_8019_, 1); -lean_inc_ref(v_buckets_8020_); -lean_dec_ref(v_localSpecParamInfo_8019_); -v___x_8021_ = lean_box(0); -v_sz_8022_ = lean_array_size(v_buckets_8020_); -v___x_8023_ = ((size_t)0ULL); -v___x_8024_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(v___x_8010_, v_buckets_8020_, v_sz_8022_, v___x_8023_, v___x_8021_, v___y_8012_, v___y_8013_, v___y_8014_, v___y_8015_, v___y_8016_, v___y_8017_); -lean_dec_ref(v_buckets_8020_); -if (lean_obj_tag(v___x_8024_) == 0) -{ -lean_object* v___x_8026_; uint8_t v_isShared_8027_; uint8_t v_isSharedCheck_8031_; -v_isSharedCheck_8031_ = !lean_is_exclusive(v___x_8024_); +lean_object* v_a_8024_; lean_object* v___x_8026_; uint8_t v_isShared_8027_; uint8_t v_isSharedCheck_8031_; +lean_dec_ref(v_workingDecls_7985_); +lean_dec(v_round_7975_); +v_a_8024_ = lean_ctor_get(v___x_8015_, 0); +v_isSharedCheck_8031_ = !lean_is_exclusive(v___x_8015_); if (v_isSharedCheck_8031_ == 0) { -lean_object* v_unused_8032_; -v_unused_8032_ = lean_ctor_get(v___x_8024_, 0); -lean_dec(v_unused_8032_); -v___x_8026_ = v___x_8024_; +v___x_8026_ = v___x_8015_; v_isShared_8027_ = v_isSharedCheck_8031_; goto v_resetjp_8025_; } else { -lean_dec(v___x_8024_); +lean_inc(v_a_8024_); +lean_dec(v___x_8015_); v___x_8026_ = lean_box(0); v_isShared_8027_ = v_isSharedCheck_8031_; goto v_resetjp_8025_; @@ -24505,15 +24454,14 @@ v_resetjp_8025_: lean_object* v___x_8029_; if (v_isShared_8027_ == 0) { -lean_ctor_set(v___x_8026_, 0, v___x_8021_); v___x_8029_ = v___x_8026_; goto v_reusejp_8028_; } else { lean_object* v_reuseFailAlloc_8030_; -v_reuseFailAlloc_8030_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8030_, 0, v___x_8021_); +v_reuseFailAlloc_8030_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8030_, 0, v_a_8024_); v___x_8029_ = v_reuseFailAlloc_8030_; goto v_reusejp_8028_; } @@ -24523,52 +24471,287 @@ return v___x_8029_; } } } +} +v_reusejp_8034_: +{ +lean_object* v___x_8036_; lean_object* v___x_8037_; +v___x_8036_ = lean_st_ref_set(v_a_7977_, v___x_8035_); +v___x_8037_ = l_Lean_Compiler_LCNF_getConfig___redArg(v_a_7978_); +if (lean_obj_tag(v___x_8037_) == 0) +{ +lean_object* v_a_8038_; lean_object* v___x_8039_; lean_object* v___y_8041_; lean_object* v___y_8042_; lean_object* v___y_8043_; lean_object* v___y_8044_; lean_object* v___y_8045_; lean_object* v___y_8046_; uint8_t v___x_8062_; +v_a_8038_ = lean_ctor_get(v___x_8037_, 0); +lean_inc(v_a_8038_); +lean_dec_ref(v___x_8037_); +v___x_8039_ = lean_array_get_size(v_workingDecls_7985_); +v___x_8062_ = lean_nat_dec_eq(v___x_8039_, v___x_8032_); +if (v___x_8062_ == 0) +{ +lean_object* v_maxRecSpecialize_8063_; uint8_t v___x_8064_; +v_maxRecSpecialize_8063_ = lean_ctor_get(v_a_8038_, 3); +lean_inc(v_maxRecSpecialize_8063_); +lean_dec(v_a_8038_); +v___x_8064_ = lean_nat_dec_lt(v_maxRecSpecialize_8063_, v_round_7975_); +if (v___x_8064_ == 0) +{ +lean_dec(v_maxRecSpecialize_8063_); +v___y_8008_ = v_a_7976_; +v___y_8009_ = v_a_7977_; +v___y_8010_ = v_a_7978_; +v___y_8011_ = v_a_7979_; +v___y_8012_ = v_a_7980_; +v___y_8013_ = v_a_7981_; +goto v___jp_8007_; +} else { -return v___x_8024_; +lean_object* v___x_8065_; lean_object* v___x_8066_; lean_object* v___x_8067_; lean_object* v___x_8068_; lean_object* v___x_8069_; lean_object* v___x_8070_; lean_object* v___x_8071_; lean_object* v___x_8072_; lean_object* v___x_8073_; lean_object* v___x_8074_; lean_object* v___x_8075_; +v___x_8065_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__4); +v___x_8066_ = l_Nat_reprFast(v_maxRecSpecialize_8063_); +v___x_8067_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_8067_, 0, v___x_8066_); +v___x_8068_ = l_Lean_MessageData_ofFormat(v___x_8067_); +lean_inc_ref(v___x_8068_); +v___x_8069_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8069_, 0, v___x_8065_); +lean_ctor_set(v___x_8069_, 1, v___x_8068_); +v___x_8070_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__6); +v___x_8071_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8071_, 0, v___x_8069_); +lean_ctor_set(v___x_8071_, 1, v___x_8070_); +v___x_8072_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8072_, 0, v___x_8071_); +lean_ctor_set(v___x_8072_, 1, v___x_8068_); +v___x_8073_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__8); +v___x_8074_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8074_, 0, v___x_8072_); +lean_ctor_set(v___x_8074_, 1, v___x_8073_); +v___x_8075_ = l_Lean_throwError___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__1___redArg(v___x_8074_, v_a_7978_, v_a_7979_, v_a_7980_, v_a_7981_); +if (lean_obj_tag(v___x_8075_) == 0) +{ +lean_dec_ref(v___x_8075_); +v___y_8008_ = v_a_7976_; +v___y_8009_ = v_a_7977_; +v___y_8010_ = v_a_7978_; +v___y_8011_ = v_a_7979_; +v___y_8012_ = v_a_7980_; +v___y_8013_ = v_a_7981_; +goto v___jp_8007_; +} +else +{ +lean_dec_ref(v_workingDecls_7985_); +lean_dec(v_round_7975_); +return v___x_8075_; } } } else { -lean_object* v_a_8067_; lean_object* v___x_8069_; uint8_t v_isShared_8070_; uint8_t v_isSharedCheck_8074_; -lean_dec_ref(v_workingDecls_7956_); -lean_dec(v_round_7946_); -v_a_8067_ = lean_ctor_get(v___x_8008_, 0); -v_isSharedCheck_8074_ = !lean_is_exclusive(v___x_8008_); -if (v_isSharedCheck_8074_ == 0) +lean_object* v___x_8076_; lean_object* v___x_8077_; +lean_dec(v_a_8038_); +lean_dec_ref(v_workingDecls_7985_); +v___x_8076_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_8077_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__4___redArg(v___x_8076_, v_a_7980_); +if (lean_obj_tag(v___x_8077_) == 0) { -v___x_8069_ = v___x_8008_; -v_isShared_8070_ = v_isSharedCheck_8074_; -goto v_resetjp_8068_; +lean_object* v_a_8078_; uint8_t v___x_8079_; +v_a_8078_ = lean_ctor_get(v___x_8077_, 0); +lean_inc(v_a_8078_); +lean_dec_ref(v___x_8077_); +v___x_8079_ = lean_unbox(v_a_8078_); +lean_dec(v_a_8078_); +if (v___x_8079_ == 0) +{ +lean_dec(v_round_7975_); +v___y_8041_ = v_a_7976_; +v___y_8042_ = v_a_7977_; +v___y_8043_ = v_a_7978_; +v___y_8044_ = v_a_7979_; +v___y_8045_ = v_a_7980_; +v___y_8046_ = v_a_7981_; +goto v___jp_8040_; } else { -lean_inc(v_a_8067_); -lean_dec(v___x_8008_); -v___x_8069_ = lean_box(0); -v_isShared_8070_ = v_isSharedCheck_8074_; -goto v_resetjp_8068_; -} -v_resetjp_8068_: +lean_object* v___x_8080_; lean_object* v___x_8081_; lean_object* v___x_8082_; lean_object* v___x_8083_; lean_object* v___x_8084_; lean_object* v___x_8085_; lean_object* v___x_8086_; lean_object* v___x_8087_; +v___x_8080_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__10); +v___x_8081_ = l_Nat_reprFast(v_round_7975_); +v___x_8082_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_8082_, 0, v___x_8081_); +v___x_8083_ = l_Lean_MessageData_ofFormat(v___x_8082_); +v___x_8084_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8084_, 0, v___x_8080_); +lean_ctor_set(v___x_8084_, 1, v___x_8083_); +v___x_8085_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__12); +v___x_8086_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_8086_, 0, v___x_8084_); +lean_ctor_set(v___x_8086_, 1, v___x_8085_); +v___x_8087_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f_spec__5___redArg(v___x_8076_, v___x_8086_, v_a_7978_, v_a_7979_, v_a_7980_, v_a_7981_); +if (lean_obj_tag(v___x_8087_) == 0) { -lean_object* v___x_8072_; -if (v_isShared_8070_ == 0) -{ -v___x_8072_ = v___x_8069_; -goto v_reusejp_8071_; +lean_dec_ref(v___x_8087_); +v___y_8041_ = v_a_7976_; +v___y_8042_ = v_a_7977_; +v___y_8043_ = v_a_7978_; +v___y_8044_ = v_a_7979_; +v___y_8045_ = v_a_7980_; +v___y_8046_ = v_a_7981_; +goto v___jp_8040_; } else { -lean_object* v_reuseFailAlloc_8073_; -v_reuseFailAlloc_8073_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8073_, 0, v_a_8067_); -v___x_8072_ = v_reuseFailAlloc_8073_; -goto v_reusejp_8071_; +return v___x_8087_; } -v_reusejp_8071_: +} +} +else { -return v___x_8072_; +lean_object* v_a_8088_; lean_object* v___x_8090_; uint8_t v_isShared_8091_; uint8_t v_isSharedCheck_8095_; +lean_dec(v_round_7975_); +v_a_8088_ = lean_ctor_get(v___x_8077_, 0); +v_isSharedCheck_8095_ = !lean_is_exclusive(v___x_8077_); +if (v_isSharedCheck_8095_ == 0) +{ +v___x_8090_ = v___x_8077_; +v_isShared_8091_ = v_isSharedCheck_8095_; +goto v_resetjp_8089_; +} +else +{ +lean_inc(v_a_8088_); +lean_dec(v___x_8077_); +v___x_8090_ = lean_box(0); +v_isShared_8091_ = v_isSharedCheck_8095_; +goto v_resetjp_8089_; +} +v_resetjp_8089_: +{ +lean_object* v___x_8093_; +if (v_isShared_8091_ == 0) +{ +v___x_8093_ = v___x_8090_; +goto v_reusejp_8092_; +} +else +{ +lean_object* v_reuseFailAlloc_8094_; +v_reuseFailAlloc_8094_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8094_, 0, v_a_8088_); +v___x_8093_ = v_reuseFailAlloc_8094_; +goto v_reusejp_8092_; +} +v_reusejp_8092_: +{ +return v___x_8093_; +} +} +} +} +v___jp_8040_: +{ +lean_object* v___x_8047_; lean_object* v_localSpecParamInfo_8048_; lean_object* v_buckets_8049_; lean_object* v___x_8050_; size_t v_sz_8051_; size_t v___x_8052_; lean_object* v___x_8053_; +v___x_8047_ = lean_st_ref_get(v___y_8042_); +v_localSpecParamInfo_8048_ = lean_ctor_get(v___x_8047_, 2); +lean_inc_ref(v_localSpecParamInfo_8048_); +lean_dec(v___x_8047_); +v_buckets_8049_ = lean_ctor_get(v_localSpecParamInfo_8048_, 1); +lean_inc_ref(v_buckets_8049_); +lean_dec_ref(v_localSpecParamInfo_8048_); +v___x_8050_ = lean_box(0); +v_sz_8051_ = lean_array_size(v_buckets_8049_); +v___x_8052_ = ((size_t)0ULL); +v___x_8053_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__4(v___x_8039_, v_buckets_8049_, v_sz_8051_, v___x_8052_, v___x_8050_, v___y_8041_, v___y_8042_, v___y_8043_, v___y_8044_, v___y_8045_, v___y_8046_); +lean_dec_ref(v_buckets_8049_); +if (lean_obj_tag(v___x_8053_) == 0) +{ +lean_object* v___x_8055_; uint8_t v_isShared_8056_; uint8_t v_isSharedCheck_8060_; +v_isSharedCheck_8060_ = !lean_is_exclusive(v___x_8053_); +if (v_isSharedCheck_8060_ == 0) +{ +lean_object* v_unused_8061_; +v_unused_8061_ = lean_ctor_get(v___x_8053_, 0); +lean_dec(v_unused_8061_); +v___x_8055_ = v___x_8053_; +v_isShared_8056_ = v_isSharedCheck_8060_; +goto v_resetjp_8054_; +} +else +{ +lean_dec(v___x_8053_); +v___x_8055_ = lean_box(0); +v_isShared_8056_ = v_isSharedCheck_8060_; +goto v_resetjp_8054_; +} +v_resetjp_8054_: +{ +lean_object* v___x_8058_; +if (v_isShared_8056_ == 0) +{ +lean_ctor_set(v___x_8055_, 0, v___x_8050_); +v___x_8058_ = v___x_8055_; +goto v_reusejp_8057_; +} +else +{ +lean_object* v_reuseFailAlloc_8059_; +v_reuseFailAlloc_8059_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8059_, 0, v___x_8050_); +v___x_8058_ = v_reuseFailAlloc_8059_; +goto v_reusejp_8057_; +} +v_reusejp_8057_: +{ +return v___x_8058_; +} +} +} +else +{ +return v___x_8053_; +} +} +} +else +{ +lean_object* v_a_8096_; lean_object* v___x_8098_; uint8_t v_isShared_8099_; uint8_t v_isSharedCheck_8103_; +lean_dec_ref(v_workingDecls_7985_); +lean_dec(v_round_7975_); +v_a_8096_ = lean_ctor_get(v___x_8037_, 0); +v_isSharedCheck_8103_ = !lean_is_exclusive(v___x_8037_); +if (v_isSharedCheck_8103_ == 0) +{ +v___x_8098_ = v___x_8037_; +v_isShared_8099_ = v_isSharedCheck_8103_; +goto v_resetjp_8097_; +} +else +{ +lean_inc(v_a_8096_); +lean_dec(v___x_8037_); +v___x_8098_ = lean_box(0); +v_isShared_8099_ = v_isSharedCheck_8103_; +goto v_resetjp_8097_; +} +v_resetjp_8097_: +{ +lean_object* v___x_8101_; +if (v_isShared_8099_ == 0) +{ +v___x_8101_ = v___x_8098_; +goto v_reusejp_8100_; +} +else +{ +lean_object* v_reuseFailAlloc_8102_; +v_reuseFailAlloc_8102_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8102_, 0, v_a_8096_); +v___x_8101_ = v_reuseFailAlloc_8102_; +goto v_reusejp_8100_; +} +v_reusejp_8100_: +{ +return v___x_8101_; } } } @@ -24576,293 +24759,293 @@ return v___x_8072_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___boxed(lean_object* v_round_8077_, lean_object* v_a_8078_, lean_object* v_a_8079_, lean_object* v_a_8080_, lean_object* v_a_8081_, lean_object* v_a_8082_, lean_object* v_a_8083_, lean_object* v_a_8084_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___boxed(lean_object* v_round_8106_, lean_object* v_a_8107_, lean_object* v_a_8108_, lean_object* v_a_8109_, lean_object* v_a_8110_, lean_object* v_a_8111_, lean_object* v_a_8112_, lean_object* v_a_8113_){ _start: { -lean_object* v_res_8085_; -v_res_8085_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(v_round_8077_, v_a_8078_, v_a_8079_, v_a_8080_, v_a_8081_, v_a_8082_, v_a_8083_); -lean_dec(v_a_8083_); -lean_dec_ref(v_a_8082_); -lean_dec(v_a_8081_); -lean_dec_ref(v_a_8080_); -lean_dec(v_a_8079_); -lean_dec_ref(v_a_8078_); -return v_res_8085_; +lean_object* v_res_8114_; +v_res_8114_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(v_round_8106_, v_a_8107_, v_a_8108_, v_a_8109_, v_a_8110_, v_a_8111_, v_a_8112_); +lean_dec(v_a_8112_); +lean_dec_ref(v_a_8111_); +lean_dec(v_a_8110_); +lean_dec_ref(v_a_8109_); +lean_dec(v_a_8108_); +lean_dec_ref(v_a_8107_); +return v_res_8114_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3(lean_object* v___x_8086_, lean_object* v_a_8087_, lean_object* v_a_8088_, lean_object* v___y_8089_, lean_object* v___y_8090_, lean_object* v___y_8091_, lean_object* v___y_8092_, lean_object* v___y_8093_, lean_object* v___y_8094_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3(lean_object* v___x_8115_, lean_object* v_a_8116_, lean_object* v_a_8117_, lean_object* v___y_8118_, lean_object* v___y_8119_, lean_object* v___y_8120_, lean_object* v___y_8121_, lean_object* v___y_8122_, lean_object* v___y_8123_){ _start: { -lean_object* v___x_8096_; -v___x_8096_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_8086_, v_a_8087_, v_a_8088_, v___y_8091_, v___y_8092_, v___y_8093_, v___y_8094_); -return v___x_8096_; +lean_object* v___x_8125_; +v___x_8125_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___redArg(v___x_8115_, v_a_8116_, v_a_8117_, v___y_8120_, v___y_8121_, v___y_8122_, v___y_8123_); +return v___x_8125_; } } -LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___boxed(lean_object* v___x_8097_, lean_object* v_a_8098_, lean_object* v_a_8099_, lean_object* v___y_8100_, lean_object* v___y_8101_, lean_object* v___y_8102_, lean_object* v___y_8103_, lean_object* v___y_8104_, lean_object* v___y_8105_, lean_object* v___y_8106_){ +LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3___boxed(lean_object* v___x_8126_, lean_object* v_a_8127_, lean_object* v_a_8128_, lean_object* v___y_8129_, lean_object* v___y_8130_, lean_object* v___y_8131_, lean_object* v___y_8132_, lean_object* v___y_8133_, lean_object* v___y_8134_, lean_object* v___y_8135_){ _start: { -lean_object* v_res_8107_; -v_res_8107_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3(v___x_8097_, v_a_8098_, v_a_8099_, v___y_8100_, v___y_8101_, v___y_8102_, v___y_8103_, v___y_8104_, v___y_8105_); -lean_dec(v___y_8105_); -lean_dec_ref(v___y_8104_); -lean_dec(v___y_8103_); -lean_dec_ref(v___y_8102_); -lean_dec(v___y_8101_); -lean_dec_ref(v___y_8100_); -lean_dec(v___x_8097_); -return v_res_8107_; +lean_object* v_res_8136_; +v_res_8136_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00__private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop_spec__3(v___x_8126_, v_a_8127_, v_a_8128_, v___y_8129_, v___y_8130_, v___y_8131_, v___y_8132_, v___y_8133_, v___y_8134_); +lean_dec(v___y_8134_); +lean_dec_ref(v___y_8133_); +lean_dec(v___y_8132_); +lean_dec_ref(v___y_8131_); +lean_dec(v___y_8130_); +lean_dec_ref(v___y_8129_); +lean_dec(v___x_8126_); +return v_res_8136_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main(lean_object* v_decls_8111_, lean_object* v_a_8112_, lean_object* v_a_8113_, lean_object* v_a_8114_, lean_object* v_a_8115_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main(lean_object* v_decls_8140_, lean_object* v_a_8141_, lean_object* v_a_8142_, lean_object* v_a_8143_, lean_object* v_a_8144_){ _start: { -lean_object* v___x_8117_; -lean_inc_ref(v_decls_8111_); -v___x_8117_ = l_Lean_Compiler_LCNF_saveSpecEntries(v_decls_8111_, v_a_8112_, v_a_8113_, v_a_8114_, v_a_8115_); -if (lean_obj_tag(v___x_8117_) == 0) +lean_object* v___x_8146_; +lean_inc_ref(v_decls_8140_); +v___x_8146_ = l_Lean_Compiler_LCNF_saveSpecEntries(v_decls_8140_, v_a_8141_, v_a_8142_, v_a_8143_, v_a_8144_); +if (lean_obj_tag(v___x_8146_) == 0) { -lean_object* v___x_8118_; lean_object* v___x_8119_; lean_object* v___x_8120_; lean_object* v___x_8121_; uint8_t v___x_8122_; lean_object* v___x_8123_; lean_object* v___x_8124_; lean_object* v___x_8125_; -lean_dec_ref(v___x_8117_); -v___x_8118_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main___closed__0)); -v___x_8119_ = lean_unsigned_to_nat(0u); -v___x_8120_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__2)); -v___x_8121_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1); -v___x_8122_ = 0; -v___x_8123_ = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(v___x_8123_, 0, v___x_8120_); -lean_ctor_set(v___x_8123_, 1, v_decls_8111_); -lean_ctor_set(v___x_8123_, 2, v___x_8121_); -lean_ctor_set(v___x_8123_, 3, v___x_8121_); -lean_ctor_set_uint8(v___x_8123_, sizeof(void*)*4, v___x_8122_); -v___x_8124_ = lean_st_mk_ref(v___x_8123_); -v___x_8125_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(v___x_8119_, v___x_8118_, v___x_8124_, v_a_8112_, v_a_8113_, v_a_8114_, v_a_8115_); -if (lean_obj_tag(v___x_8125_) == 0) +lean_object* v___x_8147_; lean_object* v___x_8148_; lean_object* v___x_8149_; lean_object* v___x_8150_; uint8_t v___x_8151_; lean_object* v___x_8152_; lean_object* v___x_8153_; lean_object* v___x_8154_; +lean_dec_ref(v___x_8146_); +v___x_8147_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main___closed__0)); +v___x_8148_ = lean_unsigned_to_nat(0u); +v___x_8149_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop___closed__2)); +v___x_8150_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1_once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_mkSpecDecl___closed__1); +v___x_8151_ = 0; +v___x_8152_ = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(v___x_8152_, 0, v___x_8149_); +lean_ctor_set(v___x_8152_, 1, v_decls_8140_); +lean_ctor_set(v___x_8152_, 2, v___x_8150_); +lean_ctor_set(v___x_8152_, 3, v___x_8150_); +lean_ctor_set_uint8(v___x_8152_, sizeof(void*)*4, v___x_8151_); +v___x_8153_ = lean_st_mk_ref(v___x_8152_); +v___x_8154_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_loop(v___x_8148_, v___x_8147_, v___x_8153_, v_a_8141_, v_a_8142_, v_a_8143_, v_a_8144_); +if (lean_obj_tag(v___x_8154_) == 0) { -lean_object* v___x_8127_; uint8_t v_isShared_8128_; uint8_t v_isSharedCheck_8134_; -v_isSharedCheck_8134_ = !lean_is_exclusive(v___x_8125_); -if (v_isSharedCheck_8134_ == 0) +lean_object* v___x_8156_; uint8_t v_isShared_8157_; uint8_t v_isSharedCheck_8163_; +v_isSharedCheck_8163_ = !lean_is_exclusive(v___x_8154_); +if (v_isSharedCheck_8163_ == 0) { -lean_object* v_unused_8135_; -v_unused_8135_ = lean_ctor_get(v___x_8125_, 0); -lean_dec(v_unused_8135_); -v___x_8127_ = v___x_8125_; -v_isShared_8128_ = v_isSharedCheck_8134_; -goto v_resetjp_8126_; +lean_object* v_unused_8164_; +v_unused_8164_ = lean_ctor_get(v___x_8154_, 0); +lean_dec(v_unused_8164_); +v___x_8156_ = v___x_8154_; +v_isShared_8157_ = v_isSharedCheck_8163_; +goto v_resetjp_8155_; } else { -lean_dec(v___x_8125_); -v___x_8127_ = lean_box(0); -v_isShared_8128_ = v_isSharedCheck_8134_; -goto v_resetjp_8126_; +lean_dec(v___x_8154_); +v___x_8156_ = lean_box(0); +v_isShared_8157_ = v_isSharedCheck_8163_; +goto v_resetjp_8155_; } -v_resetjp_8126_: +v_resetjp_8155_: { -lean_object* v___x_8129_; lean_object* v_processedDecls_8130_; lean_object* v___x_8132_; -v___x_8129_ = lean_st_ref_get(v___x_8124_); -lean_dec(v___x_8124_); -v_processedDecls_8130_ = lean_ctor_get(v___x_8129_, 0); -lean_inc_ref(v_processedDecls_8130_); -lean_dec(v___x_8129_); -if (v_isShared_8128_ == 0) +lean_object* v___x_8158_; lean_object* v_processedDecls_8159_; lean_object* v___x_8161_; +v___x_8158_ = lean_st_ref_get(v___x_8153_); +lean_dec(v___x_8153_); +v_processedDecls_8159_ = lean_ctor_get(v___x_8158_, 0); +lean_inc_ref(v_processedDecls_8159_); +lean_dec(v___x_8158_); +if (v_isShared_8157_ == 0) { -lean_ctor_set(v___x_8127_, 0, v_processedDecls_8130_); -v___x_8132_ = v___x_8127_; -goto v_reusejp_8131_; +lean_ctor_set(v___x_8156_, 0, v_processedDecls_8159_); +v___x_8161_ = v___x_8156_; +goto v_reusejp_8160_; } else { -lean_object* v_reuseFailAlloc_8133_; -v_reuseFailAlloc_8133_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8133_, 0, v_processedDecls_8130_); -v___x_8132_ = v_reuseFailAlloc_8133_; -goto v_reusejp_8131_; +lean_object* v_reuseFailAlloc_8162_; +v_reuseFailAlloc_8162_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8162_, 0, v_processedDecls_8159_); +v___x_8161_ = v_reuseFailAlloc_8162_; +goto v_reusejp_8160_; } -v_reusejp_8131_: +v_reusejp_8160_: { -return v___x_8132_; +return v___x_8161_; } } } else { -lean_object* v_a_8136_; lean_object* v___x_8138_; uint8_t v_isShared_8139_; uint8_t v_isSharedCheck_8143_; -lean_dec(v___x_8124_); -v_a_8136_ = lean_ctor_get(v___x_8125_, 0); -v_isSharedCheck_8143_ = !lean_is_exclusive(v___x_8125_); -if (v_isSharedCheck_8143_ == 0) +lean_object* v_a_8165_; lean_object* v___x_8167_; uint8_t v_isShared_8168_; uint8_t v_isSharedCheck_8172_; +lean_dec(v___x_8153_); +v_a_8165_ = lean_ctor_get(v___x_8154_, 0); +v_isSharedCheck_8172_ = !lean_is_exclusive(v___x_8154_); +if (v_isSharedCheck_8172_ == 0) { -v___x_8138_ = v___x_8125_; -v_isShared_8139_ = v_isSharedCheck_8143_; -goto v_resetjp_8137_; +v___x_8167_ = v___x_8154_; +v_isShared_8168_ = v_isSharedCheck_8172_; +goto v_resetjp_8166_; } else { -lean_inc(v_a_8136_); -lean_dec(v___x_8125_); -v___x_8138_ = lean_box(0); -v_isShared_8139_ = v_isSharedCheck_8143_; -goto v_resetjp_8137_; +lean_inc(v_a_8165_); +lean_dec(v___x_8154_); +v___x_8167_ = lean_box(0); +v_isShared_8168_ = v_isSharedCheck_8172_; +goto v_resetjp_8166_; } -v_resetjp_8137_: +v_resetjp_8166_: { -lean_object* v___x_8141_; -if (v_isShared_8139_ == 0) +lean_object* v___x_8170_; +if (v_isShared_8168_ == 0) { -v___x_8141_ = v___x_8138_; -goto v_reusejp_8140_; +v___x_8170_ = v___x_8167_; +goto v_reusejp_8169_; } else { -lean_object* v_reuseFailAlloc_8142_; -v_reuseFailAlloc_8142_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8142_, 0, v_a_8136_); -v___x_8141_ = v_reuseFailAlloc_8142_; -goto v_reusejp_8140_; +lean_object* v_reuseFailAlloc_8171_; +v_reuseFailAlloc_8171_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8171_, 0, v_a_8165_); +v___x_8170_ = v_reuseFailAlloc_8171_; +goto v_reusejp_8169_; } -v_reusejp_8140_: +v_reusejp_8169_: { -return v___x_8141_; +return v___x_8170_; } } } } else { -lean_object* v_a_8144_; lean_object* v___x_8146_; uint8_t v_isShared_8147_; uint8_t v_isSharedCheck_8151_; -lean_dec_ref(v_decls_8111_); -v_a_8144_ = lean_ctor_get(v___x_8117_, 0); -v_isSharedCheck_8151_ = !lean_is_exclusive(v___x_8117_); -if (v_isSharedCheck_8151_ == 0) +lean_object* v_a_8173_; lean_object* v___x_8175_; uint8_t v_isShared_8176_; uint8_t v_isSharedCheck_8180_; +lean_dec_ref(v_decls_8140_); +v_a_8173_ = lean_ctor_get(v___x_8146_, 0); +v_isSharedCheck_8180_ = !lean_is_exclusive(v___x_8146_); +if (v_isSharedCheck_8180_ == 0) { -v___x_8146_ = v___x_8117_; -v_isShared_8147_ = v_isSharedCheck_8151_; -goto v_resetjp_8145_; +v___x_8175_ = v___x_8146_; +v_isShared_8176_ = v_isSharedCheck_8180_; +goto v_resetjp_8174_; } else { -lean_inc(v_a_8144_); -lean_dec(v___x_8117_); -v___x_8146_ = lean_box(0); -v_isShared_8147_ = v_isSharedCheck_8151_; -goto v_resetjp_8145_; +lean_inc(v_a_8173_); +lean_dec(v___x_8146_); +v___x_8175_ = lean_box(0); +v_isShared_8176_ = v_isSharedCheck_8180_; +goto v_resetjp_8174_; } -v_resetjp_8145_: +v_resetjp_8174_: { -lean_object* v___x_8149_; -if (v_isShared_8147_ == 0) +lean_object* v___x_8178_; +if (v_isShared_8176_ == 0) { -v___x_8149_ = v___x_8146_; -goto v_reusejp_8148_; +v___x_8178_ = v___x_8175_; +goto v_reusejp_8177_; } else { -lean_object* v_reuseFailAlloc_8150_; -v_reuseFailAlloc_8150_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_8150_, 0, v_a_8144_); -v___x_8149_ = v_reuseFailAlloc_8150_; -goto v_reusejp_8148_; +lean_object* v_reuseFailAlloc_8179_; +v_reuseFailAlloc_8179_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_8179_, 0, v_a_8173_); +v___x_8178_ = v_reuseFailAlloc_8179_; +goto v_reusejp_8177_; } -v_reusejp_8148_: +v_reusejp_8177_: { -return v___x_8149_; +return v___x_8178_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main___boxed(lean_object* v_decls_8152_, lean_object* v_a_8153_, lean_object* v_a_8154_, lean_object* v_a_8155_, lean_object* v_a_8156_, lean_object* v_a_8157_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main___boxed(lean_object* v_decls_8181_, lean_object* v_a_8182_, lean_object* v_a_8183_, lean_object* v_a_8184_, lean_object* v_a_8185_, lean_object* v_a_8186_){ _start: { -lean_object* v_res_8158_; -v_res_8158_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main(v_decls_8152_, v_a_8153_, v_a_8154_, v_a_8155_, v_a_8156_); -lean_dec(v_a_8156_); -lean_dec_ref(v_a_8155_); -lean_dec(v_a_8154_); -lean_dec_ref(v_a_8153_); -return v_res_8158_; +lean_object* v_res_8187_; +v_res_8187_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_main(v_decls_8181_, v_a_8182_, v_a_8183_, v_a_8184_, v_a_8185_); +lean_dec(v_a_8185_); +lean_dec_ref(v_a_8184_); +lean_dec(v_a_8183_); +lean_dec_ref(v_a_8182_); +return v_res_8187_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_8220_; lean_object* v___x_8221_; lean_object* v___x_8222_; -v___x_8220_ = lean_unsigned_to_nat(4224660852u); -v___x_8221_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); -v___x_8222_ = l_Lean_Name_num___override(v___x_8221_, v___x_8220_); -return v___x_8222_; +lean_object* v___x_8249_; lean_object* v___x_8250_; lean_object* v___x_8251_; +v___x_8249_ = lean_unsigned_to_nat(4224660852u); +v___x_8250_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); +v___x_8251_ = l_Lean_Name_num___override(v___x_8250_, v___x_8249_); +return v___x_8251_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_8224_; lean_object* v___x_8225_; lean_object* v___x_8226_; -v___x_8224_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); -v___x_8225_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); -v___x_8226_ = l_Lean_Name_str___override(v___x_8225_, v___x_8224_); -return v___x_8226_; +lean_object* v___x_8253_; lean_object* v___x_8254_; lean_object* v___x_8255_; +v___x_8253_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); +v___x_8254_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); +v___x_8255_ = l_Lean_Name_str___override(v___x_8254_, v___x_8253_); +return v___x_8255_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_8228_; lean_object* v___x_8229_; lean_object* v___x_8230_; -v___x_8228_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); -v___x_8229_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); -v___x_8230_ = l_Lean_Name_str___override(v___x_8229_, v___x_8228_); -return v___x_8230_; +lean_object* v___x_8257_; lean_object* v___x_8258_; lean_object* v___x_8259_; +v___x_8257_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); +v___x_8258_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); +v___x_8259_ = l_Lean_Name_str___override(v___x_8258_, v___x_8257_); +return v___x_8259_; } } static lean_object* _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_8231_; lean_object* v___x_8232_; lean_object* v___x_8233_; -v___x_8231_ = lean_unsigned_to_nat(2u); -v___x_8232_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); -v___x_8233_ = l_Lean_Name_num___override(v___x_8232_, v___x_8231_); -return v___x_8233_; +lean_object* v___x_8260_; lean_object* v___x_8261_; lean_object* v___x_8262_; +v___x_8260_ = lean_unsigned_to_nat(2u); +v___x_8261_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); +v___x_8262_ = l_Lean_Name_num___override(v___x_8261_, v___x_8260_); +return v___x_8262_; } } LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(){ _start: { -lean_object* v___x_8235_; uint8_t v___x_8236_; lean_object* v___x_8237_; lean_object* v___x_8238_; -v___x_8235_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); -v___x_8236_ = 1; -v___x_8237_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); -v___x_8238_ = l_Lean_registerTraceClass(v___x_8235_, v___x_8236_, v___x_8237_); -if (lean_obj_tag(v___x_8238_) == 0) +lean_object* v___x_8264_; uint8_t v___x_8265_; lean_object* v___x_8266_; lean_object* v___x_8267_; +v___x_8264_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_)); +v___x_8265_ = 1; +v___x_8266_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_); +v___x_8267_ = l_Lean_registerTraceClass(v___x_8264_, v___x_8265_, v___x_8266_); +if (lean_obj_tag(v___x_8267_) == 0) { -lean_object* v___x_8239_; uint8_t v___x_8240_; lean_object* v___x_8241_; -lean_dec_ref(v___x_8238_); -v___x_8239_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__15)); -v___x_8240_ = 0; -v___x_8241_ = l_Lean_registerTraceClass(v___x_8239_, v___x_8240_, v___x_8237_); -if (lean_obj_tag(v___x_8241_) == 0) +lean_object* v___x_8268_; uint8_t v___x_8269_; lean_object* v___x_8270_; +lean_dec_ref(v___x_8267_); +v___x_8268_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__15)); +v___x_8269_ = 0; +v___x_8270_ = l_Lean_registerTraceClass(v___x_8268_, v___x_8269_, v___x_8266_); +if (lean_obj_tag(v___x_8270_) == 0) { -lean_object* v___x_8242_; lean_object* v___x_8243_; -lean_dec_ref(v___x_8241_); -v___x_8242_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); -v___x_8243_ = l_Lean_registerTraceClass(v___x_8242_, v___x_8240_, v___x_8237_); -return v___x_8243_; +lean_object* v___x_8271_; lean_object* v___x_8272_; +lean_dec_ref(v___x_8270_); +v___x_8271_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_Specialize_specializeApp_x3f___closed__2)); +v___x_8272_ = l_Lean_registerTraceClass(v___x_8271_, v___x_8269_, v___x_8266_); +return v___x_8272_; } else { -return v___x_8241_; +return v___x_8270_; } } else { -return v___x_8238_; +return v___x_8267_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2____boxed(lean_object* v_a_8244_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2____boxed(lean_object* v_a_8273_){ _start: { -lean_object* v_res_8245_; -v_res_8245_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(); -return v_res_8245_; +lean_object* v_res_8274_; +v_res_8274_ = l___private_Lean_Compiler_LCNF_Specialize_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_Specialize_4224660852____hygCtx___hyg_2_(); +return v_res_8274_; } } lean_object* runtime_initialize_Lean_Compiler_LCNF_SpecInfo(uint8_t builtin); diff --git a/stage0/stdlib/Lean/Compiler/Specialize.c b/stage0/stdlib/Lean/Compiler/Specialize.c index f970cb8792..0c44ca92a1 100644 --- a/stage0/stdlib/Lean/Compiler/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/Specialize.c @@ -137,6 +137,41 @@ static const lean_ctor_object l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean static const lean_object* l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospecializeAttr_declRange__3___closed__6 = (const lean_object*)&l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospecializeAttr_declRange__3___closed__6_value; LEAN_EXPORT lean_object* l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospecializeAttr_declRange__3(); LEAN_EXPORT lean_object* l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospecializeAttr_declRange__3___boxed(lean_object*); +static const lean_string_object l_Lean_Compiler_initFn___closed__0_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 16, .m_capacity = 16, .m_length = 15, .m_data = "weak_specialize"}; +static const lean_object* l_Lean_Compiler_initFn___closed__0_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_initFn___closed__0_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value; +static const lean_ctor_object l_Lean_Compiler_initFn___closed__1_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_initFn___closed__0_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(195, 190, 16, 147, 6, 108, 139, 204)}}; +static const lean_object* l_Lean_Compiler_initFn___closed__1_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_initFn___closed__1_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value; +static const lean_string_object l_Lean_Compiler_initFn___closed__2_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 120, .m_capacity = 120, .m_length = 119, .m_data = "mark type for weak specialization: instances are only specialized when another argument already triggers specialization"}; +static const lean_object* l_Lean_Compiler_initFn___closed__2_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_initFn___closed__2_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value; +static const lean_string_object l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 19, .m_capacity = 19, .m_length = 18, .m_data = "weakSpecializeAttr"}; +static const lean_object* l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value; +static const lean_ctor_object l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_250634751____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}}; +static const lean_ctor_object l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value_aux_0),((lean_object*)&l_Lean_Compiler_initFn___closed__5_00___x40_Lean_Compiler_Specialize_250634751____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(68, 195, 72, 11, 109, 136, 143, 118)}}; +static const lean_ctor_object l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value_aux_1),((lean_object*)&l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(171, 136, 29, 200, 53, 12, 251, 84)}}; +static const lean_object* l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2__value; +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_(); +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2____boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr; +static const lean_string_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 300, .m_capacity = 300, .m_length = 299, .m_data = "Marks a type for weak specialization: Parameters of this type are only specialized when\nanother argument already triggers specialization. Unlike `@[nospecialize]`, if specialization\nhappens for other reasons, parameters of this type will participate in the specialization\nrather than being ignored.\n"}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___closed__0 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___closed__0_value; +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1(); +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___boxed(lean_object*); +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(27) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__0 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__0_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(36) << 1) | 1)),((lean_object*)(((size_t)(125) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__1 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__1_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*4 + 0, .m_other = 4, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__0_value),((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__1_value),((lean_object*)(((size_t)(125) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__2 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__2_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(34) << 1) | 1)),((lean_object*)(((size_t)(19) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__3 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__3_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(34) << 1) | 1)),((lean_object*)(((size_t)(37) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__4 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__4_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*4 + 0, .m_other = 4, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__3_value),((lean_object*)(((size_t)(19) << 1) | 1)),((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__4_value),((lean_object*)(((size_t)(37) << 1) | 1))}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__5 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__5_value; +static const lean_ctor_object l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__2_value),((lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__5_value)}}; +static const lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__6 = (const lean_object*)&l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__6_value; +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3(); +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); @@ -348,15 +383,15 @@ static const lean_string_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___closed__0 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___closed__0_value; LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1(); LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___boxed(lean_object*); -static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(53) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}}; +static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(64) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__0 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__0_value; -static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(74) << 1) | 1)),((lean_object*)(((size_t)(3) << 1) | 1))}}; +static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(85) << 1) | 1)),((lean_object*)(((size_t)(3) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__1 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__1_value; static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*4 + 0, .m_other = 4, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__0_value),((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__1_value),((lean_object*)(((size_t)(3) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__2 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__2_value; -static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(67) << 1) | 1)),((lean_object*)(((size_t)(19) << 1) | 1))}}; +static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(78) << 1) | 1)),((lean_object*)(((size_t)(19) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__3 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__3_value; -static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(67) << 1) | 1)),((lean_object*)(((size_t)(33) << 1) | 1))}}; +static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(78) << 1) | 1)),((lean_object*)(((size_t)(33) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__4 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__4_value; static const lean_ctor_object l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*4 + 0, .m_other = 4, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__3_value),((lean_object*)(((size_t)(19) << 1) | 1)),((lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__4_value),((lean_object*)(((size_t)(33) << 1) | 1))}}; static const lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__5 = (const lean_object*)&l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__5_value; @@ -371,6 +406,8 @@ LEAN_EXPORT uint8_t l_Lean_Compiler_hasSpecializeAttribute(lean_object*, lean_ob LEAN_EXPORT lean_object* l_Lean_Compiler_hasSpecializeAttribute___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Compiler_hasNospecializeAttribute(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_hasNospecializeAttribute___boxed(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_Compiler_hasWeakSpecializeAttribute(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_hasWeakSpecializeAttribute___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_SpecializeAttributeKind_ctorIdx(uint8_t v_x_1_){ _start: { @@ -632,1113 +669,1065 @@ v_res_138_ = l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospeci return v_res_138_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0(lean_object* v_k_139_, lean_object* v_b_140_, lean_object* v_c_141_, lean_object* v___y_142_, lean_object* v___y_143_, lean_object* v___y_144_, lean_object* v___y_145_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_(){ _start: { -lean_object* v___x_147_; -lean_inc(v___y_145_); -lean_inc_ref(v___y_144_); -lean_inc(v___y_143_); -lean_inc_ref(v___y_142_); -v___x_147_ = lean_apply_7(v_k_139_, v_b_140_, v_c_141_, v___y_142_, v___y_143_, v___y_144_, v___y_145_, lean_box(0)); -return v___x_147_; +lean_object* v___f_149_; lean_object* v___x_150_; lean_object* v___x_151_; lean_object* v___x_152_; uint8_t v___x_153_; lean_object* v___x_154_; lean_object* v___x_155_; +v___f_149_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__0_00___x40_Lean_Compiler_Specialize_250634751____hygCtx___hyg_2_)); +v___x_150_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__1_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_)); +v___x_151_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__2_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_)); +v___x_152_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_)); +v___x_153_ = 0; +v___x_154_ = lean_box(2); +v___x_155_ = l_Lean_registerTagAttribute(v___x_150_, v___x_151_, v___f_149_, v___x_152_, v___x_153_, v___x_154_); +return v___x_155_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0___boxed(lean_object* v_k_148_, lean_object* v_b_149_, lean_object* v_c_150_, lean_object* v___y_151_, lean_object* v___y_152_, lean_object* v___y_153_, lean_object* v___y_154_, lean_object* v___y_155_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2____boxed(lean_object* v_a_156_){ _start: { -lean_object* v_res_156_; -v_res_156_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0(v_k_148_, v_b_149_, v_c_150_, v___y_151_, v___y_152_, v___y_153_, v___y_154_); -lean_dec(v___y_154_); -lean_dec_ref(v___y_153_); -lean_dec(v___y_152_); -lean_dec_ref(v___y_151_); -return v_res_156_; +lean_object* v_res_157_; +v_res_157_ = l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_(); +return v_res_157_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(lean_object* v_type_157_, lean_object* v_k_158_, uint8_t v_cleanupAnnotations_159_, uint8_t v_whnfType_160_, lean_object* v___y_161_, lean_object* v___y_162_, lean_object* v___y_163_, lean_object* v___y_164_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1(){ _start: { -lean_object* v___f_166_; lean_object* v___x_167_; -v___f_166_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0___boxed), 8, 1); -lean_closure_set(v___f_166_, 0, v_k_158_); -v___x_167_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_box(0), v_type_157_, v___f_166_, v_cleanupAnnotations_159_, v_whnfType_160_, v___y_161_, v___y_162_, v___y_163_, v___y_164_); -if (lean_obj_tag(v___x_167_) == 0) -{ -lean_object* v_a_168_; lean_object* v___x_170_; uint8_t v_isShared_171_; uint8_t v_isSharedCheck_175_; -v_a_168_ = lean_ctor_get(v___x_167_, 0); -v_isSharedCheck_175_ = !lean_is_exclusive(v___x_167_); -if (v_isSharedCheck_175_ == 0) -{ -v___x_170_ = v___x_167_; -v_isShared_171_ = v_isSharedCheck_175_; -goto v_resetjp_169_; -} -else -{ -lean_inc(v_a_168_); -lean_dec(v___x_167_); -v___x_170_ = lean_box(0); -v_isShared_171_ = v_isSharedCheck_175_; -goto v_resetjp_169_; -} -v_resetjp_169_: -{ -lean_object* v___x_173_; -if (v_isShared_171_ == 0) -{ -v___x_173_ = v___x_170_; -goto v_reusejp_172_; -} -else -{ -lean_object* v_reuseFailAlloc_174_; -v_reuseFailAlloc_174_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_174_, 0, v_a_168_); -v___x_173_ = v_reuseFailAlloc_174_; -goto v_reusejp_172_; -} -v_reusejp_172_: -{ -return v___x_173_; +lean_object* v___x_160_; lean_object* v___x_161_; lean_object* v___x_162_; +v___x_160_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_)); +v___x_161_ = ((lean_object*)(l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___closed__0)); +v___x_162_ = l_Lean_addBuiltinDocString(v___x_160_, v___x_161_); +return v___x_162_; } } -} -else -{ -lean_object* v_a_176_; lean_object* v___x_178_; uint8_t v_isShared_179_; uint8_t v_isSharedCheck_183_; -v_a_176_ = lean_ctor_get(v___x_167_, 0); -v_isSharedCheck_183_ = !lean_is_exclusive(v___x_167_); -if (v_isSharedCheck_183_ == 0) -{ -v___x_178_ = v___x_167_; -v_isShared_179_ = v_isSharedCheck_183_; -goto v_resetjp_177_; -} -else -{ -lean_inc(v_a_176_); -lean_dec(v___x_167_); -v___x_178_ = lean_box(0); -v_isShared_179_ = v_isSharedCheck_183_; -goto v_resetjp_177_; -} -v_resetjp_177_: -{ -lean_object* v___x_181_; -if (v_isShared_179_ == 0) -{ -v___x_181_ = v___x_178_; -goto v_reusejp_180_; -} -else -{ -lean_object* v_reuseFailAlloc_182_; -v_reuseFailAlloc_182_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_182_, 0, v_a_176_); -v___x_181_ = v_reuseFailAlloc_182_; -goto v_reusejp_180_; -} -v_reusejp_180_: -{ -return v___x_181_; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___boxed(lean_object* v_type_184_, lean_object* v_k_185_, lean_object* v_cleanupAnnotations_186_, lean_object* v_whnfType_187_, lean_object* v___y_188_, lean_object* v___y_189_, lean_object* v___y_190_, lean_object* v___y_191_, lean_object* v___y_192_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1___boxed(lean_object* v_a_163_){ _start: { -uint8_t v_cleanupAnnotations_boxed_193_; uint8_t v_whnfType_boxed_194_; lean_object* v_res_195_; -v_cleanupAnnotations_boxed_193_ = lean_unbox(v_cleanupAnnotations_186_); -v_whnfType_boxed_194_ = lean_unbox(v_whnfType_187_); -v_res_195_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v_type_184_, v_k_185_, v_cleanupAnnotations_boxed_193_, v_whnfType_boxed_194_, v___y_188_, v___y_189_, v___y_190_, v___y_191_); -lean_dec(v___y_191_); -lean_dec_ref(v___y_190_); -lean_dec(v___y_189_); -lean_dec_ref(v___y_188_); +lean_object* v_res_164_; +v_res_164_ = l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1(); +return v_res_164_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3(){ +_start: +{ +lean_object* v___x_191_; lean_object* v___x_192_; lean_object* v___x_193_; +v___x_191_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__4_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_)); +v___x_192_ = ((lean_object*)(l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___closed__6)); +v___x_193_ = l_Lean_addBuiltinDeclarationRanges(v___x_191_, v___x_192_); +return v___x_193_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3___boxed(lean_object* v_a_194_){ +_start: +{ +lean_object* v_res_195_; +v_res_195_ = l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3(); return v_res_195_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7(lean_object* v_00_u03b1_196_, lean_object* v_type_197_, lean_object* v_k_198_, uint8_t v_cleanupAnnotations_199_, uint8_t v_whnfType_200_, lean_object* v___y_201_, lean_object* v___y_202_, lean_object* v___y_203_, lean_object* v___y_204_){ +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0(lean_object* v_k_196_, lean_object* v_b_197_, lean_object* v_c_198_, lean_object* v___y_199_, lean_object* v___y_200_, lean_object* v___y_201_, lean_object* v___y_202_){ _start: { -lean_object* v___x_206_; -v___x_206_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v_type_197_, v_k_198_, v_cleanupAnnotations_199_, v_whnfType_200_, v___y_201_, v___y_202_, v___y_203_, v___y_204_); -return v___x_206_; +lean_object* v___x_204_; +lean_inc(v___y_202_); +lean_inc_ref(v___y_201_); +lean_inc(v___y_200_); +lean_inc_ref(v___y_199_); +v___x_204_ = lean_apply_7(v_k_196_, v_b_197_, v_c_198_, v___y_199_, v___y_200_, v___y_201_, v___y_202_, lean_box(0)); +return v___x_204_; } } -LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___boxed(lean_object* v_00_u03b1_207_, lean_object* v_type_208_, lean_object* v_k_209_, lean_object* v_cleanupAnnotations_210_, lean_object* v_whnfType_211_, lean_object* v___y_212_, lean_object* v___y_213_, lean_object* v___y_214_, lean_object* v___y_215_, lean_object* v___y_216_){ +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0___boxed(lean_object* v_k_205_, lean_object* v_b_206_, lean_object* v_c_207_, lean_object* v___y_208_, lean_object* v___y_209_, lean_object* v___y_210_, lean_object* v___y_211_, lean_object* v___y_212_){ _start: { -uint8_t v_cleanupAnnotations_boxed_217_; uint8_t v_whnfType_boxed_218_; lean_object* v_res_219_; -v_cleanupAnnotations_boxed_217_ = lean_unbox(v_cleanupAnnotations_210_); -v_whnfType_boxed_218_ = lean_unbox(v_whnfType_211_); -v_res_219_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7(v_00_u03b1_207_, v_type_208_, v_k_209_, v_cleanupAnnotations_boxed_217_, v_whnfType_boxed_218_, v___y_212_, v___y_213_, v___y_214_, v___y_215_); -lean_dec(v___y_215_); -lean_dec_ref(v___y_214_); -lean_dec(v___y_213_); -lean_dec_ref(v___y_212_); -return v_res_219_; +lean_object* v_res_213_; +v_res_213_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0(v_k_205_, v_b_206_, v_c_207_, v___y_208_, v___y_209_, v___y_210_, v___y_211_); +lean_dec(v___y_211_); +lean_dec_ref(v___y_210_); +lean_dec(v___y_209_); +lean_dec_ref(v___y_208_); +return v_res_213_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(lean_object* v_as_221_, lean_object* v_lo_222_, lean_object* v_hi_223_){ +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(lean_object* v_type_214_, lean_object* v_k_215_, uint8_t v_cleanupAnnotations_216_, uint8_t v_whnfType_217_, lean_object* v___y_218_, lean_object* v___y_219_, lean_object* v___y_220_, lean_object* v___y_221_){ _start: { -uint8_t v___x_224_; -v___x_224_ = lean_nat_dec_lt(v_lo_222_, v_hi_223_); -if (v___x_224_ == 0) +lean_object* v___f_223_; lean_object* v___x_224_; +v___f_223_ = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___lam__0___boxed), 8, 1); +lean_closure_set(v___f_223_, 0, v_k_215_); +v___x_224_ = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp(lean_box(0), v_type_214_, v___f_223_, v_cleanupAnnotations_216_, v_whnfType_217_, v___y_218_, v___y_219_, v___y_220_, v___y_221_); +if (lean_obj_tag(v___x_224_) == 0) { -lean_dec(v_lo_222_); -return v_as_221_; +lean_object* v_a_225_; lean_object* v___x_227_; uint8_t v_isShared_228_; uint8_t v_isSharedCheck_232_; +v_a_225_ = lean_ctor_get(v___x_224_, 0); +v_isSharedCheck_232_ = !lean_is_exclusive(v___x_224_); +if (v_isSharedCheck_232_ == 0) +{ +v___x_227_ = v___x_224_; +v_isShared_228_ = v_isSharedCheck_232_; +goto v_resetjp_226_; } else { -lean_object* v___f_225_; lean_object* v___x_226_; lean_object* v_fst_227_; lean_object* v_snd_228_; uint8_t v___x_229_; -v___f_225_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg___closed__0)); -lean_inc(v_lo_222_); -v___x_226_ = l_Array_qpartition___redArg(v_as_221_, v___f_225_, v_lo_222_, v_hi_223_); -v_fst_227_ = lean_ctor_get(v___x_226_, 0); -lean_inc(v_fst_227_); -v_snd_228_ = lean_ctor_get(v___x_226_, 1); -lean_inc(v_snd_228_); -lean_dec_ref(v___x_226_); -v___x_229_ = lean_nat_dec_le(v_hi_223_, v_fst_227_); -if (v___x_229_ == 0) +lean_inc(v_a_225_); +lean_dec(v___x_224_); +v___x_227_ = lean_box(0); +v_isShared_228_ = v_isSharedCheck_232_; +goto v_resetjp_226_; +} +v_resetjp_226_: { -lean_object* v___x_230_; lean_object* v___x_231_; lean_object* v___x_232_; -v___x_230_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_snd_228_, v_lo_222_, v_fst_227_); -v___x_231_ = lean_unsigned_to_nat(1u); -v___x_232_ = lean_nat_add(v_fst_227_, v___x_231_); -lean_dec(v_fst_227_); -v_as_221_ = v___x_230_; -v_lo_222_ = v___x_232_; -goto _start; +lean_object* v___x_230_; +if (v_isShared_228_ == 0) +{ +v___x_230_ = v___x_227_; +goto v_reusejp_229_; } else { -lean_dec(v_fst_227_); -lean_dec(v_lo_222_); -return v_snd_228_; +lean_object* v_reuseFailAlloc_231_; +v_reuseFailAlloc_231_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_231_, 0, v_a_225_); +v___x_230_ = v_reuseFailAlloc_231_; +goto v_reusejp_229_; +} +v_reusejp_229_: +{ +return v___x_230_; +} +} +} +else +{ +lean_object* v_a_233_; lean_object* v___x_235_; uint8_t v_isShared_236_; uint8_t v_isSharedCheck_240_; +v_a_233_ = lean_ctor_get(v___x_224_, 0); +v_isSharedCheck_240_ = !lean_is_exclusive(v___x_224_); +if (v_isSharedCheck_240_ == 0) +{ +v___x_235_ = v___x_224_; +v_isShared_236_ = v_isSharedCheck_240_; +goto v_resetjp_234_; +} +else +{ +lean_inc(v_a_233_); +lean_dec(v___x_224_); +v___x_235_ = lean_box(0); +v_isShared_236_ = v_isSharedCheck_240_; +goto v_resetjp_234_; +} +v_resetjp_234_: +{ +lean_object* v___x_238_; +if (v_isShared_236_ == 0) +{ +v___x_238_ = v___x_235_; +goto v_reusejp_237_; +} +else +{ +lean_object* v_reuseFailAlloc_239_; +v_reuseFailAlloc_239_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_239_, 0, v_a_233_); +v___x_238_ = v_reuseFailAlloc_239_; +goto v_reusejp_237_; +} +v_reusejp_237_: +{ +return v___x_238_; } } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg___boxed(lean_object* v_as_234_, lean_object* v_lo_235_, lean_object* v_hi_236_){ +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg___boxed(lean_object* v_type_241_, lean_object* v_k_242_, lean_object* v_cleanupAnnotations_243_, lean_object* v_whnfType_244_, lean_object* v___y_245_, lean_object* v___y_246_, lean_object* v___y_247_, lean_object* v___y_248_, lean_object* v___y_249_){ _start: { -lean_object* v_res_237_; -v_res_237_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_as_234_, v_lo_235_, v_hi_236_); -lean_dec(v_hi_236_); -return v_res_237_; +uint8_t v_cleanupAnnotations_boxed_250_; uint8_t v_whnfType_boxed_251_; lean_object* v_res_252_; +v_cleanupAnnotations_boxed_250_ = lean_unbox(v_cleanupAnnotations_243_); +v_whnfType_boxed_251_ = lean_unbox(v_whnfType_244_); +v_res_252_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v_type_241_, v_k_242_, v_cleanupAnnotations_boxed_250_, v_whnfType_boxed_251_, v___y_245_, v___y_246_, v___y_247_, v___y_248_); +lean_dec(v___y_248_); +lean_dec_ref(v___y_247_); +lean_dec(v___y_246_); +lean_dec_ref(v___y_245_); +return v_res_252_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(size_t v_sz_238_, size_t v_i_239_, lean_object* v_bs_240_, lean_object* v___y_241_, lean_object* v___y_242_, lean_object* v___y_243_){ +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7(lean_object* v_00_u03b1_253_, lean_object* v_type_254_, lean_object* v_k_255_, uint8_t v_cleanupAnnotations_256_, uint8_t v_whnfType_257_, lean_object* v___y_258_, lean_object* v___y_259_, lean_object* v___y_260_, lean_object* v___y_261_){ _start: { -uint8_t v___x_245_; -v___x_245_ = lean_usize_dec_lt(v_i_239_, v_sz_238_); -if (v___x_245_ == 0) -{ -lean_object* v___x_246_; -v___x_246_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_246_, 0, v_bs_240_); -return v___x_246_; -} -else -{ -lean_object* v_v_247_; lean_object* v___x_248_; lean_object* v___x_249_; -v_v_247_ = lean_array_uget_borrowed(v_bs_240_, v_i_239_); -v___x_248_ = l_Lean_Expr_fvarId_x21(v_v_247_); -v___x_249_ = l_Lean_FVarId_getUserName___redArg(v___x_248_, v___y_241_, v___y_242_, v___y_243_); -if (lean_obj_tag(v___x_249_) == 0) -{ -lean_object* v_a_250_; lean_object* v___x_251_; lean_object* v_bs_x27_252_; size_t v___x_253_; size_t v___x_254_; lean_object* v___x_255_; -v_a_250_ = lean_ctor_get(v___x_249_, 0); -lean_inc(v_a_250_); -lean_dec_ref(v___x_249_); -v___x_251_ = lean_unsigned_to_nat(0u); -v_bs_x27_252_ = lean_array_uset(v_bs_240_, v_i_239_, v___x_251_); -v___x_253_ = ((size_t)1ULL); -v___x_254_ = lean_usize_add(v_i_239_, v___x_253_); -v___x_255_ = lean_array_uset(v_bs_x27_252_, v_i_239_, v_a_250_); -v_i_239_ = v___x_254_; -v_bs_240_ = v___x_255_; -goto _start; -} -else -{ -lean_object* v_a_257_; lean_object* v___x_259_; uint8_t v_isShared_260_; uint8_t v_isSharedCheck_264_; -lean_dec_ref(v_bs_240_); -v_a_257_ = lean_ctor_get(v___x_249_, 0); -v_isSharedCheck_264_ = !lean_is_exclusive(v___x_249_); -if (v_isSharedCheck_264_ == 0) -{ -v___x_259_ = v___x_249_; -v_isShared_260_ = v_isSharedCheck_264_; -goto v_resetjp_258_; -} -else -{ -lean_inc(v_a_257_); -lean_dec(v___x_249_); -v___x_259_ = lean_box(0); -v_isShared_260_ = v_isSharedCheck_264_; -goto v_resetjp_258_; -} -v_resetjp_258_: -{ -lean_object* v___x_262_; -if (v_isShared_260_ == 0) -{ -v___x_262_ = v___x_259_; -goto v_reusejp_261_; -} -else -{ -lean_object* v_reuseFailAlloc_263_; -v_reuseFailAlloc_263_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_263_, 0, v_a_257_); -v___x_262_ = v_reuseFailAlloc_263_; -goto v_reusejp_261_; -} -v_reusejp_261_: -{ -return v___x_262_; +lean_object* v___x_263_; +v___x_263_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v_type_254_, v_k_255_, v_cleanupAnnotations_256_, v_whnfType_257_, v___y_258_, v___y_259_, v___y_260_, v___y_261_); +return v___x_263_; } } -} -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg___boxed(lean_object* v_sz_265_, lean_object* v_i_266_, lean_object* v_bs_267_, lean_object* v___y_268_, lean_object* v___y_269_, lean_object* v___y_270_, lean_object* v___y_271_){ +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___boxed(lean_object* v_00_u03b1_264_, lean_object* v_type_265_, lean_object* v_k_266_, lean_object* v_cleanupAnnotations_267_, lean_object* v_whnfType_268_, lean_object* v___y_269_, lean_object* v___y_270_, lean_object* v___y_271_, lean_object* v___y_272_, lean_object* v___y_273_){ _start: { -size_t v_sz_boxed_272_; size_t v_i_boxed_273_; lean_object* v_res_274_; -v_sz_boxed_272_ = lean_unbox_usize(v_sz_265_); -lean_dec(v_sz_265_); -v_i_boxed_273_ = lean_unbox_usize(v_i_266_); -lean_dec(v_i_266_); -v_res_274_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_boxed_272_, v_i_boxed_273_, v_bs_267_, v___y_268_, v___y_269_, v___y_270_); +uint8_t v_cleanupAnnotations_boxed_274_; uint8_t v_whnfType_boxed_275_; lean_object* v_res_276_; +v_cleanupAnnotations_boxed_274_ = lean_unbox(v_cleanupAnnotations_267_); +v_whnfType_boxed_275_ = lean_unbox(v_whnfType_268_); +v_res_276_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7(v_00_u03b1_264_, v_type_265_, v_k_266_, v_cleanupAnnotations_boxed_274_, v_whnfType_boxed_275_, v___y_269_, v___y_270_, v___y_271_, v___y_272_); +lean_dec(v___y_272_); +lean_dec_ref(v___y_271_); lean_dec(v___y_270_); lean_dec_ref(v___y_269_); -lean_dec_ref(v___y_268_); -return v_res_274_; +return v_res_276_; } } -LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(lean_object* v_a_275_, lean_object* v_as_276_, size_t v_i_277_, size_t v_stop_278_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(lean_object* v_as_278_, lean_object* v_lo_279_, lean_object* v_hi_280_){ _start: { -uint8_t v___x_279_; -v___x_279_ = lean_usize_dec_eq(v_i_277_, v_stop_278_); -if (v___x_279_ == 0) -{ -lean_object* v___x_280_; uint8_t v___x_281_; -v___x_280_ = lean_array_uget_borrowed(v_as_276_, v_i_277_); -v___x_281_ = lean_nat_dec_eq(v_a_275_, v___x_280_); +uint8_t v___x_281_; +v___x_281_ = lean_nat_dec_lt(v_lo_279_, v_hi_280_); if (v___x_281_ == 0) { -size_t v___x_282_; size_t v___x_283_; -v___x_282_ = ((size_t)1ULL); -v___x_283_ = lean_usize_add(v_i_277_, v___x_282_); -v_i_277_ = v___x_283_; +lean_dec(v_lo_279_); +return v_as_278_; +} +else +{ +lean_object* v___f_282_; lean_object* v___x_283_; lean_object* v_fst_284_; lean_object* v_snd_285_; uint8_t v___x_286_; +v___f_282_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg___closed__0)); +lean_inc(v_lo_279_); +v___x_283_ = l_Array_qpartition___redArg(v_as_278_, v___f_282_, v_lo_279_, v_hi_280_); +v_fst_284_ = lean_ctor_get(v___x_283_, 0); +lean_inc(v_fst_284_); +v_snd_285_ = lean_ctor_get(v___x_283_, 1); +lean_inc(v_snd_285_); +lean_dec_ref(v___x_283_); +v___x_286_ = lean_nat_dec_le(v_hi_280_, v_fst_284_); +if (v___x_286_ == 0) +{ +lean_object* v___x_287_; lean_object* v___x_288_; lean_object* v___x_289_; +v___x_287_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_snd_285_, v_lo_279_, v_fst_284_); +v___x_288_ = lean_unsigned_to_nat(1u); +v___x_289_ = lean_nat_add(v_fst_284_, v___x_288_); +lean_dec(v_fst_284_); +v_as_278_ = v___x_287_; +v_lo_279_ = v___x_289_; goto _start; } else { -return v___x_281_; +lean_dec(v_fst_284_); +lean_dec(v_lo_279_); +return v_snd_285_; } } +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg___boxed(lean_object* v_as_291_, lean_object* v_lo_292_, lean_object* v_hi_293_){ +_start: +{ +lean_object* v_res_294_; +v_res_294_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_as_291_, v_lo_292_, v_hi_293_); +lean_dec(v_hi_293_); +return v_res_294_; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(size_t v_sz_295_, size_t v_i_296_, lean_object* v_bs_297_, lean_object* v___y_298_, lean_object* v___y_299_, lean_object* v___y_300_){ +_start: +{ +uint8_t v___x_302_; +v___x_302_ = lean_usize_dec_lt(v_i_296_, v_sz_295_); +if (v___x_302_ == 0) +{ +lean_object* v___x_303_; +v___x_303_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_303_, 0, v_bs_297_); +return v___x_303_; +} else { -uint8_t v___x_285_; -v___x_285_ = 0; -return v___x_285_; -} -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1___boxed(lean_object* v_a_286_, lean_object* v_as_287_, lean_object* v_i_288_, lean_object* v_stop_289_){ -_start: +lean_object* v_v_304_; lean_object* v___x_305_; lean_object* v___x_306_; +v_v_304_ = lean_array_uget_borrowed(v_bs_297_, v_i_296_); +v___x_305_ = l_Lean_Expr_fvarId_x21(v_v_304_); +v___x_306_ = l_Lean_FVarId_getUserName___redArg(v___x_305_, v___y_298_, v___y_299_, v___y_300_); +if (lean_obj_tag(v___x_306_) == 0) { -size_t v_i_boxed_290_; size_t v_stop_boxed_291_; uint8_t v_res_292_; lean_object* v_r_293_; -v_i_boxed_290_ = lean_unbox_usize(v_i_288_); -lean_dec(v_i_288_); -v_stop_boxed_291_ = lean_unbox_usize(v_stop_289_); -lean_dec(v_stop_289_); -v_res_292_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(v_a_286_, v_as_287_, v_i_boxed_290_, v_stop_boxed_291_); -lean_dec_ref(v_as_287_); -lean_dec(v_a_286_); -v_r_293_ = lean_box(v_res_292_); -return v_r_293_; -} -} -LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(lean_object* v_as_294_, lean_object* v_a_295_){ -_start: -{ -lean_object* v___x_296_; lean_object* v___x_297_; uint8_t v___x_298_; -v___x_296_ = lean_unsigned_to_nat(0u); -v___x_297_ = lean_array_get_size(v_as_294_); -v___x_298_ = lean_nat_dec_lt(v___x_296_, v___x_297_); -if (v___x_298_ == 0) -{ -return v___x_298_; -} -else -{ -if (v___x_298_ == 0) -{ -return v___x_298_; -} -else -{ -size_t v___x_299_; size_t v___x_300_; uint8_t v___x_301_; -v___x_299_ = ((size_t)0ULL); -v___x_300_ = lean_usize_of_nat(v___x_297_); -v___x_301_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(v_a_295_, v_as_294_, v___x_299_, v___x_300_); -return v___x_301_; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1___boxed(lean_object* v_as_302_, lean_object* v_a_303_){ -_start: -{ -uint8_t v_res_304_; lean_object* v_r_305_; -v_res_304_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_as_302_, v_a_303_); -lean_dec(v_a_303_); -lean_dec_ref(v_as_302_); -v_r_305_ = lean_box(v_res_304_); -return v_r_305_; -} -} -LEAN_EXPORT lean_object* l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(lean_object* v_xs_306_, lean_object* v_v_307_, lean_object* v_i_308_){ -_start: -{ -lean_object* v___x_309_; uint8_t v___x_310_; -v___x_309_ = lean_array_get_size(v_xs_306_); -v___x_310_ = lean_nat_dec_lt(v_i_308_, v___x_309_); -if (v___x_310_ == 0) -{ -lean_object* v___x_311_; -lean_dec(v_i_308_); -v___x_311_ = lean_box(0); -return v___x_311_; -} -else -{ -lean_object* v___x_312_; uint8_t v___x_313_; -v___x_312_ = lean_array_fget_borrowed(v_xs_306_, v_i_308_); -v___x_313_ = lean_name_eq(v___x_312_, v_v_307_); -if (v___x_313_ == 0) -{ -lean_object* v___x_314_; lean_object* v___x_315_; -v___x_314_ = lean_unsigned_to_nat(1u); -v___x_315_ = lean_nat_add(v_i_308_, v___x_314_); -lean_dec(v_i_308_); -v_i_308_ = v___x_315_; +lean_object* v_a_307_; lean_object* v___x_308_; lean_object* v_bs_x27_309_; size_t v___x_310_; size_t v___x_311_; lean_object* v___x_312_; +v_a_307_ = lean_ctor_get(v___x_306_, 0); +lean_inc(v_a_307_); +lean_dec_ref(v___x_306_); +v___x_308_ = lean_unsigned_to_nat(0u); +v_bs_x27_309_ = lean_array_uset(v_bs_297_, v_i_296_, v___x_308_); +v___x_310_ = ((size_t)1ULL); +v___x_311_ = lean_usize_add(v_i_296_, v___x_310_); +v___x_312_ = lean_array_uset(v_bs_x27_309_, v_i_296_, v_a_307_); +v_i_296_ = v___x_311_; +v_bs_297_ = v___x_312_; goto _start; } else { -lean_object* v___x_317_; -v___x_317_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v___x_317_, 0, v_i_308_); -return v___x_317_; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8___boxed(lean_object* v_xs_318_, lean_object* v_v_319_, lean_object* v_i_320_){ -_start: +lean_object* v_a_314_; lean_object* v___x_316_; uint8_t v_isShared_317_; uint8_t v_isSharedCheck_321_; +lean_dec_ref(v_bs_297_); +v_a_314_ = lean_ctor_get(v___x_306_, 0); +v_isSharedCheck_321_ = !lean_is_exclusive(v___x_306_); +if (v_isSharedCheck_321_ == 0) { -lean_object* v_res_321_; -v_res_321_ = l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(v_xs_318_, v_v_319_, v_i_320_); -lean_dec(v_v_319_); -lean_dec_ref(v_xs_318_); -return v_res_321_; -} -} -LEAN_EXPORT lean_object* l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(lean_object* v_xs_322_, lean_object* v_v_323_){ -_start: -{ -lean_object* v___x_324_; lean_object* v___x_325_; -v___x_324_ = lean_unsigned_to_nat(0u); -v___x_325_ = l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(v_xs_322_, v_v_323_, v___x_324_); -return v___x_325_; -} -} -LEAN_EXPORT lean_object* l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5___boxed(lean_object* v_xs_326_, lean_object* v_v_327_){ -_start: -{ -lean_object* v_res_328_; -v_res_328_ = l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(v_xs_326_, v_v_327_); -lean_dec(v_v_327_); -lean_dec_ref(v_xs_326_); -return v_res_328_; -} -} -LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(lean_object* v_xs_329_, lean_object* v_v_330_){ -_start: -{ -lean_object* v___x_331_; -v___x_331_ = l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(v_xs_329_, v_v_330_); -if (lean_obj_tag(v___x_331_) == 0) -{ -lean_object* v___x_332_; -v___x_332_ = lean_box(0); -return v___x_332_; +v___x_316_ = v___x_306_; +v_isShared_317_ = v_isSharedCheck_321_; +goto v_resetjp_315_; } else { -lean_object* v_val_333_; lean_object* v___x_335_; uint8_t v_isShared_336_; uint8_t v_isSharedCheck_340_; -v_val_333_ = lean_ctor_get(v___x_331_, 0); -v_isSharedCheck_340_ = !lean_is_exclusive(v___x_331_); -if (v_isSharedCheck_340_ == 0) +lean_inc(v_a_314_); +lean_dec(v___x_306_); +v___x_316_ = lean_box(0); +v_isShared_317_ = v_isSharedCheck_321_; +goto v_resetjp_315_; +} +v_resetjp_315_: { -v___x_335_ = v___x_331_; -v_isShared_336_ = v_isSharedCheck_340_; -goto v_resetjp_334_; +lean_object* v___x_319_; +if (v_isShared_317_ == 0) +{ +v___x_319_ = v___x_316_; +goto v_reusejp_318_; } else { -lean_inc(v_val_333_); -lean_dec(v___x_331_); -v___x_335_ = lean_box(0); -v_isShared_336_ = v_isSharedCheck_340_; -goto v_resetjp_334_; +lean_object* v_reuseFailAlloc_320_; +v_reuseFailAlloc_320_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_320_, 0, v_a_314_); +v___x_319_ = v_reuseFailAlloc_320_; +goto v_reusejp_318_; } -v_resetjp_334_: +v_reusejp_318_: { -lean_object* v___x_338_; -if (v_isShared_336_ == 0) +return v___x_319_; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg___boxed(lean_object* v_sz_322_, lean_object* v_i_323_, lean_object* v_bs_324_, lean_object* v___y_325_, lean_object* v___y_326_, lean_object* v___y_327_, lean_object* v___y_328_){ +_start: { -v___x_338_ = v___x_335_; -goto v_reusejp_337_; +size_t v_sz_boxed_329_; size_t v_i_boxed_330_; lean_object* v_res_331_; +v_sz_boxed_329_ = lean_unbox_usize(v_sz_322_); +lean_dec(v_sz_322_); +v_i_boxed_330_ = lean_unbox_usize(v_i_323_); +lean_dec(v_i_323_); +v_res_331_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_boxed_329_, v_i_boxed_330_, v_bs_324_, v___y_325_, v___y_326_, v___y_327_); +lean_dec(v___y_327_); +lean_dec_ref(v___y_326_); +lean_dec_ref(v___y_325_); +return v_res_331_; +} +} +LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(lean_object* v_a_332_, lean_object* v_as_333_, size_t v_i_334_, size_t v_stop_335_){ +_start: +{ +uint8_t v___x_336_; +v___x_336_ = lean_usize_dec_eq(v_i_334_, v_stop_335_); +if (v___x_336_ == 0) +{ +lean_object* v___x_337_; uint8_t v___x_338_; +v___x_337_ = lean_array_uget_borrowed(v_as_333_, v_i_334_); +v___x_338_ = lean_nat_dec_eq(v_a_332_, v___x_337_); +if (v___x_338_ == 0) +{ +size_t v___x_339_; size_t v___x_340_; +v___x_339_ = ((size_t)1ULL); +v___x_340_ = lean_usize_add(v_i_334_, v___x_339_); +v_i_334_ = v___x_340_; +goto _start; } else { -lean_object* v_reuseFailAlloc_339_; -v_reuseFailAlloc_339_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_339_, 0, v_val_333_); -v___x_338_ = v_reuseFailAlloc_339_; -goto v_reusejp_337_; -} -v_reusejp_337_: -{ return v___x_338_; } } +else +{ +uint8_t v___x_342_; +v___x_342_ = 0; +return v___x_342_; } } } -LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3___boxed(lean_object* v_xs_341_, lean_object* v_v_342_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1___boxed(lean_object* v_a_343_, lean_object* v_as_344_, lean_object* v_i_345_, lean_object* v_stop_346_){ _start: { -lean_object* v_res_343_; -v_res_343_ = l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(v_xs_341_, v_v_342_); -lean_dec(v_v_342_); -lean_dec_ref(v_xs_341_); -return v_res_343_; +size_t v_i_boxed_347_; size_t v_stop_boxed_348_; uint8_t v_res_349_; lean_object* v_r_350_; +v_i_boxed_347_ = lean_unbox_usize(v_i_345_); +lean_dec(v_i_345_); +v_stop_boxed_348_ = lean_unbox_usize(v_stop_346_); +lean_dec(v_stop_346_); +v_res_349_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(v_a_343_, v_as_344_, v_i_boxed_347_, v_stop_boxed_348_); +lean_dec_ref(v_as_344_); +lean_dec(v_a_343_); +v_r_350_ = lean_box(v_res_349_); +return v_r_350_; } } -LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(lean_object* v_msgData_344_, lean_object* v___y_345_, lean_object* v___y_346_, lean_object* v___y_347_, lean_object* v___y_348_){ +LEAN_EXPORT uint8_t l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(lean_object* v_as_351_, lean_object* v_a_352_){ _start: { -lean_object* v___x_350_; lean_object* v_env_351_; lean_object* v___x_352_; lean_object* v_mctx_353_; lean_object* v_lctx_354_; lean_object* v_options_355_; lean_object* v___x_356_; lean_object* v___x_357_; lean_object* v___x_358_; -v___x_350_ = lean_st_ref_get(v___y_348_); -v_env_351_ = lean_ctor_get(v___x_350_, 0); -lean_inc_ref(v_env_351_); -lean_dec(v___x_350_); -v___x_352_ = lean_st_ref_get(v___y_346_); -v_mctx_353_ = lean_ctor_get(v___x_352_, 0); -lean_inc_ref(v_mctx_353_); -lean_dec(v___x_352_); -v_lctx_354_ = lean_ctor_get(v___y_345_, 2); -v_options_355_ = lean_ctor_get(v___y_347_, 2); -lean_inc_ref(v_options_355_); -lean_inc_ref(v_lctx_354_); -v___x_356_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_356_, 0, v_env_351_); -lean_ctor_set(v___x_356_, 1, v_mctx_353_); -lean_ctor_set(v___x_356_, 2, v_lctx_354_); -lean_ctor_set(v___x_356_, 3, v_options_355_); -v___x_357_ = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(v___x_357_, 0, v___x_356_); -lean_ctor_set(v___x_357_, 1, v_msgData_344_); -v___x_358_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_358_, 0, v___x_357_); +lean_object* v___x_353_; lean_object* v___x_354_; uint8_t v___x_355_; +v___x_353_ = lean_unsigned_to_nat(0u); +v___x_354_ = lean_array_get_size(v_as_351_); +v___x_355_ = lean_nat_dec_lt(v___x_353_, v___x_354_); +if (v___x_355_ == 0) +{ +return v___x_355_; +} +else +{ +if (v___x_355_ == 0) +{ +return v___x_355_; +} +else +{ +size_t v___x_356_; size_t v___x_357_; uint8_t v___x_358_; +v___x_356_ = ((size_t)0ULL); +v___x_357_ = lean_usize_of_nat(v___x_354_); +v___x_358_ = l___private_Init_Data_Array_Basic_0__Array_anyMUnsafe_any___at___00Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1_spec__1(v_a_352_, v_as_351_, v___x_356_, v___x_357_); return v___x_358_; } } -LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5___boxed(lean_object* v_msgData_359_, lean_object* v___y_360_, lean_object* v___y_361_, lean_object* v___y_362_, lean_object* v___y_363_, lean_object* v___y_364_){ -_start: -{ -lean_object* v_res_365_; -v_res_365_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(v_msgData_359_, v___y_360_, v___y_361_, v___y_362_, v___y_363_); -lean_dec(v___y_363_); -lean_dec_ref(v___y_362_); -lean_dec(v___y_361_); -lean_dec_ref(v___y_360_); -return v_res_365_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(lean_object* v_msg_366_, lean_object* v___y_367_, lean_object* v___y_368_, lean_object* v___y_369_, lean_object* v___y_370_){ +LEAN_EXPORT lean_object* l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1___boxed(lean_object* v_as_359_, lean_object* v_a_360_){ _start: { -lean_object* v_ref_372_; lean_object* v___x_373_; lean_object* v_a_374_; lean_object* v___x_376_; uint8_t v_isShared_377_; uint8_t v_isSharedCheck_382_; -v_ref_372_ = lean_ctor_get(v___y_369_, 5); -v___x_373_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(v_msg_366_, v___y_367_, v___y_368_, v___y_369_, v___y_370_); -v_a_374_ = lean_ctor_get(v___x_373_, 0); -v_isSharedCheck_382_ = !lean_is_exclusive(v___x_373_); -if (v_isSharedCheck_382_ == 0) +uint8_t v_res_361_; lean_object* v_r_362_; +v_res_361_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_as_359_, v_a_360_); +lean_dec(v_a_360_); +lean_dec_ref(v_as_359_); +v_r_362_ = lean_box(v_res_361_); +return v_r_362_; +} +} +LEAN_EXPORT lean_object* l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(lean_object* v_xs_363_, lean_object* v_v_364_, lean_object* v_i_365_){ +_start: { -v___x_376_ = v___x_373_; -v_isShared_377_ = v_isSharedCheck_382_; -goto v_resetjp_375_; +lean_object* v___x_366_; uint8_t v___x_367_; +v___x_366_ = lean_array_get_size(v_xs_363_); +v___x_367_ = lean_nat_dec_lt(v_i_365_, v___x_366_); +if (v___x_367_ == 0) +{ +lean_object* v___x_368_; +lean_dec(v_i_365_); +v___x_368_ = lean_box(0); +return v___x_368_; } else { -lean_inc(v_a_374_); -lean_dec(v___x_373_); -v___x_376_ = lean_box(0); -v_isShared_377_ = v_isSharedCheck_382_; -goto v_resetjp_375_; -} -v_resetjp_375_: +lean_object* v___x_369_; uint8_t v___x_370_; +v___x_369_ = lean_array_fget_borrowed(v_xs_363_, v_i_365_); +v___x_370_ = lean_name_eq(v___x_369_, v_v_364_); +if (v___x_370_ == 0) { -lean_object* v___x_378_; lean_object* v___x_380_; -lean_inc(v_ref_372_); -v___x_378_ = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(v___x_378_, 0, v_ref_372_); -lean_ctor_set(v___x_378_, 1, v_a_374_); -if (v_isShared_377_ == 0) -{ -lean_ctor_set_tag(v___x_376_, 1); -lean_ctor_set(v___x_376_, 0, v___x_378_); -v___x_380_ = v___x_376_; -goto v_reusejp_379_; +lean_object* v___x_371_; lean_object* v___x_372_; +v___x_371_ = lean_unsigned_to_nat(1u); +v___x_372_ = lean_nat_add(v_i_365_, v___x_371_); +lean_dec(v_i_365_); +v_i_365_ = v___x_372_; +goto _start; } else { -lean_object* v_reuseFailAlloc_381_; -v_reuseFailAlloc_381_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_381_, 0, v___x_378_); -v___x_380_ = v_reuseFailAlloc_381_; -goto v_reusejp_379_; -} -v_reusejp_379_: -{ -return v___x_380_; +lean_object* v___x_374_; +v___x_374_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v___x_374_, 0, v_i_365_); +return v___x_374_; } } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg___boxed(lean_object* v_msg_383_, lean_object* v___y_384_, lean_object* v___y_385_, lean_object* v___y_386_, lean_object* v___y_387_, lean_object* v___y_388_){ +LEAN_EXPORT lean_object* l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8___boxed(lean_object* v_xs_375_, lean_object* v_v_376_, lean_object* v_i_377_){ _start: { -lean_object* v_res_389_; -v_res_389_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_383_, v___y_384_, v___y_385_, v___y_386_, v___y_387_); -lean_dec(v___y_387_); -lean_dec_ref(v___y_386_); -lean_dec(v___y_385_); -lean_dec_ref(v___y_384_); -return v_res_389_; +lean_object* v_res_378_; +v_res_378_ = l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(v_xs_375_, v_v_376_, v_i_377_); +lean_dec(v_v_376_); +lean_dec_ref(v_xs_375_); +return v_res_378_; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(lean_object* v_ref_390_, lean_object* v_msg_391_, lean_object* v___y_392_, lean_object* v___y_393_, lean_object* v___y_394_, lean_object* v___y_395_){ +LEAN_EXPORT lean_object* l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(lean_object* v_xs_379_, lean_object* v_v_380_){ _start: { -lean_object* v_fileName_397_; lean_object* v_fileMap_398_; lean_object* v_options_399_; lean_object* v_currRecDepth_400_; lean_object* v_maxRecDepth_401_; lean_object* v_ref_402_; lean_object* v_currNamespace_403_; lean_object* v_openDecls_404_; lean_object* v_initHeartbeats_405_; lean_object* v_maxHeartbeats_406_; lean_object* v_quotContext_407_; lean_object* v_currMacroScope_408_; uint8_t v_diag_409_; lean_object* v_cancelTk_x3f_410_; uint8_t v_suppressElabErrors_411_; lean_object* v_inheritedTraceOptions_412_; lean_object* v_ref_413_; lean_object* v___x_414_; lean_object* v___x_415_; -v_fileName_397_ = lean_ctor_get(v___y_394_, 0); -v_fileMap_398_ = lean_ctor_get(v___y_394_, 1); -v_options_399_ = lean_ctor_get(v___y_394_, 2); -v_currRecDepth_400_ = lean_ctor_get(v___y_394_, 3); -v_maxRecDepth_401_ = lean_ctor_get(v___y_394_, 4); -v_ref_402_ = lean_ctor_get(v___y_394_, 5); -v_currNamespace_403_ = lean_ctor_get(v___y_394_, 6); -v_openDecls_404_ = lean_ctor_get(v___y_394_, 7); -v_initHeartbeats_405_ = lean_ctor_get(v___y_394_, 8); -v_maxHeartbeats_406_ = lean_ctor_get(v___y_394_, 9); -v_quotContext_407_ = lean_ctor_get(v___y_394_, 10); -v_currMacroScope_408_ = lean_ctor_get(v___y_394_, 11); -v_diag_409_ = lean_ctor_get_uint8(v___y_394_, sizeof(void*)*14); -v_cancelTk_x3f_410_ = lean_ctor_get(v___y_394_, 12); -v_suppressElabErrors_411_ = lean_ctor_get_uint8(v___y_394_, sizeof(void*)*14 + 1); -v_inheritedTraceOptions_412_ = lean_ctor_get(v___y_394_, 13); -v_ref_413_ = l_Lean_replaceRef(v_ref_390_, v_ref_402_); -lean_inc_ref(v_inheritedTraceOptions_412_); -lean_inc(v_cancelTk_x3f_410_); -lean_inc(v_currMacroScope_408_); -lean_inc(v_quotContext_407_); -lean_inc(v_maxHeartbeats_406_); -lean_inc(v_initHeartbeats_405_); -lean_inc(v_openDecls_404_); -lean_inc(v_currNamespace_403_); -lean_inc(v_maxRecDepth_401_); -lean_inc(v_currRecDepth_400_); -lean_inc_ref(v_options_399_); -lean_inc_ref(v_fileMap_398_); -lean_inc_ref(v_fileName_397_); -v___x_414_ = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(v___x_414_, 0, v_fileName_397_); -lean_ctor_set(v___x_414_, 1, v_fileMap_398_); -lean_ctor_set(v___x_414_, 2, v_options_399_); -lean_ctor_set(v___x_414_, 3, v_currRecDepth_400_); -lean_ctor_set(v___x_414_, 4, v_maxRecDepth_401_); -lean_ctor_set(v___x_414_, 5, v_ref_413_); -lean_ctor_set(v___x_414_, 6, v_currNamespace_403_); -lean_ctor_set(v___x_414_, 7, v_openDecls_404_); -lean_ctor_set(v___x_414_, 8, v_initHeartbeats_405_); -lean_ctor_set(v___x_414_, 9, v_maxHeartbeats_406_); -lean_ctor_set(v___x_414_, 10, v_quotContext_407_); -lean_ctor_set(v___x_414_, 11, v_currMacroScope_408_); -lean_ctor_set(v___x_414_, 12, v_cancelTk_x3f_410_); -lean_ctor_set(v___x_414_, 13, v_inheritedTraceOptions_412_); -lean_ctor_set_uint8(v___x_414_, sizeof(void*)*14, v_diag_409_); -lean_ctor_set_uint8(v___x_414_, sizeof(void*)*14 + 1, v_suppressElabErrors_411_); -v___x_415_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_391_, v___y_392_, v___y_393_, v___x_414_, v___y_395_); -lean_dec_ref(v___x_414_); +lean_object* v___x_381_; lean_object* v___x_382_; +v___x_381_ = lean_unsigned_to_nat(0u); +v___x_382_ = l_Array_idxOfAux___at___00Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5_spec__8(v_xs_379_, v_v_380_, v___x_381_); +return v___x_382_; +} +} +LEAN_EXPORT lean_object* l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5___boxed(lean_object* v_xs_383_, lean_object* v_v_384_){ +_start: +{ +lean_object* v_res_385_; +v_res_385_ = l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(v_xs_383_, v_v_384_); +lean_dec(v_v_384_); +lean_dec_ref(v_xs_383_); +return v_res_385_; +} +} +LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(lean_object* v_xs_386_, lean_object* v_v_387_){ +_start: +{ +lean_object* v___x_388_; +v___x_388_ = l_Array_finIdxOf_x3f___at___00Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3_spec__5(v_xs_386_, v_v_387_); +if (lean_obj_tag(v___x_388_) == 0) +{ +lean_object* v___x_389_; +v___x_389_ = lean_box(0); +return v___x_389_; +} +else +{ +lean_object* v_val_390_; lean_object* v___x_392_; uint8_t v_isShared_393_; uint8_t v_isSharedCheck_397_; +v_val_390_ = lean_ctor_get(v___x_388_, 0); +v_isSharedCheck_397_ = !lean_is_exclusive(v___x_388_); +if (v_isSharedCheck_397_ == 0) +{ +v___x_392_ = v___x_388_; +v_isShared_393_ = v_isSharedCheck_397_; +goto v_resetjp_391_; +} +else +{ +lean_inc(v_val_390_); +lean_dec(v___x_388_); +v___x_392_ = lean_box(0); +v_isShared_393_ = v_isSharedCheck_397_; +goto v_resetjp_391_; +} +v_resetjp_391_: +{ +lean_object* v___x_395_; +if (v_isShared_393_ == 0) +{ +v___x_395_ = v___x_392_; +goto v_reusejp_394_; +} +else +{ +lean_object* v_reuseFailAlloc_396_; +v_reuseFailAlloc_396_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_396_, 0, v_val_390_); +v___x_395_ = v_reuseFailAlloc_396_; +goto v_reusejp_394_; +} +v_reusejp_394_: +{ +return v___x_395_; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3___boxed(lean_object* v_xs_398_, lean_object* v_v_399_){ +_start: +{ +lean_object* v_res_400_; +v_res_400_ = l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(v_xs_398_, v_v_399_); +lean_dec(v_v_399_); +lean_dec_ref(v_xs_398_); +return v_res_400_; +} +} +LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(lean_object* v_msgData_401_, lean_object* v___y_402_, lean_object* v___y_403_, lean_object* v___y_404_, lean_object* v___y_405_){ +_start: +{ +lean_object* v___x_407_; lean_object* v_env_408_; lean_object* v___x_409_; lean_object* v_mctx_410_; lean_object* v_lctx_411_; lean_object* v_options_412_; lean_object* v___x_413_; lean_object* v___x_414_; lean_object* v___x_415_; +v___x_407_ = lean_st_ref_get(v___y_405_); +v_env_408_ = lean_ctor_get(v___x_407_, 0); +lean_inc_ref(v_env_408_); +lean_dec(v___x_407_); +v___x_409_ = lean_st_ref_get(v___y_403_); +v_mctx_410_ = lean_ctor_get(v___x_409_, 0); +lean_inc_ref(v_mctx_410_); +lean_dec(v___x_409_); +v_lctx_411_ = lean_ctor_get(v___y_402_, 2); +v_options_412_ = lean_ctor_get(v___y_404_, 2); +lean_inc_ref(v_options_412_); +lean_inc_ref(v_lctx_411_); +v___x_413_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_413_, 0, v_env_408_); +lean_ctor_set(v___x_413_, 1, v_mctx_410_); +lean_ctor_set(v___x_413_, 2, v_lctx_411_); +lean_ctor_set(v___x_413_, 3, v_options_412_); +v___x_414_ = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(v___x_414_, 0, v___x_413_); +lean_ctor_set(v___x_414_, 1, v_msgData_401_); +v___x_415_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_415_, 0, v___x_414_); return v___x_415_; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg___boxed(lean_object* v_ref_416_, lean_object* v_msg_417_, lean_object* v___y_418_, lean_object* v___y_419_, lean_object* v___y_420_, lean_object* v___y_421_, lean_object* v___y_422_){ +LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5___boxed(lean_object* v_msgData_416_, lean_object* v___y_417_, lean_object* v___y_418_, lean_object* v___y_419_, lean_object* v___y_420_, lean_object* v___y_421_){ _start: { -lean_object* v_res_423_; -v_res_423_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_416_, v_msg_417_, v___y_418_, v___y_419_, v___y_420_, v___y_421_); -lean_dec(v___y_421_); -lean_dec_ref(v___y_420_); -lean_dec(v___y_419_); -lean_dec_ref(v___y_418_); -lean_dec(v_ref_416_); -return v_res_423_; +lean_object* v_res_422_; +v_res_422_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(v_msgData_416_, v___y_417_, v___y_418_, v___y_419_, v___y_420_); +lean_dec(v___y_420_); +lean_dec_ref(v___y_419_); +lean_dec(v___y_418_); +lean_dec_ref(v___y_417_); +return v_res_422_; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(lean_object* v_msg_423_, lean_object* v___y_424_, lean_object* v___y_425_, lean_object* v___y_426_, lean_object* v___y_427_){ +_start: +{ +lean_object* v_ref_429_; lean_object* v___x_430_; lean_object* v_a_431_; lean_object* v___x_433_; uint8_t v_isShared_434_; uint8_t v_isSharedCheck_439_; +v_ref_429_ = lean_ctor_get(v___y_426_, 5); +v___x_430_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3_spec__5(v_msg_423_, v___y_424_, v___y_425_, v___y_426_, v___y_427_); +v_a_431_ = lean_ctor_get(v___x_430_, 0); +v_isSharedCheck_439_ = !lean_is_exclusive(v___x_430_); +if (v_isSharedCheck_439_ == 0) +{ +v___x_433_ = v___x_430_; +v_isShared_434_ = v_isSharedCheck_439_; +goto v_resetjp_432_; +} +else +{ +lean_inc(v_a_431_); +lean_dec(v___x_430_); +v___x_433_ = lean_box(0); +v_isShared_434_ = v_isSharedCheck_439_; +goto v_resetjp_432_; +} +v_resetjp_432_: +{ +lean_object* v___x_435_; lean_object* v___x_437_; +lean_inc(v_ref_429_); +v___x_435_ = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(v___x_435_, 0, v_ref_429_); +lean_ctor_set(v___x_435_, 1, v_a_431_); +if (v_isShared_434_ == 0) +{ +lean_ctor_set_tag(v___x_433_, 1); +lean_ctor_set(v___x_433_, 0, v___x_435_); +v___x_437_ = v___x_433_; +goto v_reusejp_436_; +} +else +{ +lean_object* v_reuseFailAlloc_438_; +v_reuseFailAlloc_438_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_438_, 0, v___x_435_); +v___x_437_ = v_reuseFailAlloc_438_; +goto v_reusejp_436_; +} +v_reusejp_436_: +{ +return v___x_437_; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg___boxed(lean_object* v_msg_440_, lean_object* v___y_441_, lean_object* v___y_442_, lean_object* v___y_443_, lean_object* v___y_444_, lean_object* v___y_445_){ +_start: +{ +lean_object* v_res_446_; +v_res_446_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_440_, v___y_441_, v___y_442_, v___y_443_, v___y_444_); +lean_dec(v___y_444_); +lean_dec_ref(v___y_443_); +lean_dec(v___y_442_); +lean_dec_ref(v___y_441_); +return v_res_446_; +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(lean_object* v_ref_447_, lean_object* v_msg_448_, lean_object* v___y_449_, lean_object* v___y_450_, lean_object* v___y_451_, lean_object* v___y_452_){ +_start: +{ +lean_object* v_fileName_454_; lean_object* v_fileMap_455_; lean_object* v_options_456_; lean_object* v_currRecDepth_457_; lean_object* v_maxRecDepth_458_; lean_object* v_ref_459_; lean_object* v_currNamespace_460_; lean_object* v_openDecls_461_; lean_object* v_initHeartbeats_462_; lean_object* v_maxHeartbeats_463_; lean_object* v_quotContext_464_; lean_object* v_currMacroScope_465_; uint8_t v_diag_466_; lean_object* v_cancelTk_x3f_467_; uint8_t v_suppressElabErrors_468_; lean_object* v_inheritedTraceOptions_469_; lean_object* v_ref_470_; lean_object* v___x_471_; lean_object* v___x_472_; +v_fileName_454_ = lean_ctor_get(v___y_451_, 0); +v_fileMap_455_ = lean_ctor_get(v___y_451_, 1); +v_options_456_ = lean_ctor_get(v___y_451_, 2); +v_currRecDepth_457_ = lean_ctor_get(v___y_451_, 3); +v_maxRecDepth_458_ = lean_ctor_get(v___y_451_, 4); +v_ref_459_ = lean_ctor_get(v___y_451_, 5); +v_currNamespace_460_ = lean_ctor_get(v___y_451_, 6); +v_openDecls_461_ = lean_ctor_get(v___y_451_, 7); +v_initHeartbeats_462_ = lean_ctor_get(v___y_451_, 8); +v_maxHeartbeats_463_ = lean_ctor_get(v___y_451_, 9); +v_quotContext_464_ = lean_ctor_get(v___y_451_, 10); +v_currMacroScope_465_ = lean_ctor_get(v___y_451_, 11); +v_diag_466_ = lean_ctor_get_uint8(v___y_451_, sizeof(void*)*14); +v_cancelTk_x3f_467_ = lean_ctor_get(v___y_451_, 12); +v_suppressElabErrors_468_ = lean_ctor_get_uint8(v___y_451_, sizeof(void*)*14 + 1); +v_inheritedTraceOptions_469_ = lean_ctor_get(v___y_451_, 13); +v_ref_470_ = l_Lean_replaceRef(v_ref_447_, v_ref_459_); +lean_inc_ref(v_inheritedTraceOptions_469_); +lean_inc(v_cancelTk_x3f_467_); +lean_inc(v_currMacroScope_465_); +lean_inc(v_quotContext_464_); +lean_inc(v_maxHeartbeats_463_); +lean_inc(v_initHeartbeats_462_); +lean_inc(v_openDecls_461_); +lean_inc(v_currNamespace_460_); +lean_inc(v_maxRecDepth_458_); +lean_inc(v_currRecDepth_457_); +lean_inc_ref(v_options_456_); +lean_inc_ref(v_fileMap_455_); +lean_inc_ref(v_fileName_454_); +v___x_471_ = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(v___x_471_, 0, v_fileName_454_); +lean_ctor_set(v___x_471_, 1, v_fileMap_455_); +lean_ctor_set(v___x_471_, 2, v_options_456_); +lean_ctor_set(v___x_471_, 3, v_currRecDepth_457_); +lean_ctor_set(v___x_471_, 4, v_maxRecDepth_458_); +lean_ctor_set(v___x_471_, 5, v_ref_470_); +lean_ctor_set(v___x_471_, 6, v_currNamespace_460_); +lean_ctor_set(v___x_471_, 7, v_openDecls_461_); +lean_ctor_set(v___x_471_, 8, v_initHeartbeats_462_); +lean_ctor_set(v___x_471_, 9, v_maxHeartbeats_463_); +lean_ctor_set(v___x_471_, 10, v_quotContext_464_); +lean_ctor_set(v___x_471_, 11, v_currMacroScope_465_); +lean_ctor_set(v___x_471_, 12, v_cancelTk_x3f_467_); +lean_ctor_set(v___x_471_, 13, v_inheritedTraceOptions_469_); +lean_ctor_set_uint8(v___x_471_, sizeof(void*)*14, v_diag_466_); +lean_ctor_set_uint8(v___x_471_, sizeof(void*)*14 + 1, v_suppressElabErrors_468_); +v___x_472_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_448_, v___y_449_, v___y_450_, v___x_471_, v___y_452_); +lean_dec_ref(v___x_471_); +return v___x_472_; +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg___boxed(lean_object* v_ref_473_, lean_object* v_msg_474_, lean_object* v___y_475_, lean_object* v___y_476_, lean_object* v___y_477_, lean_object* v___y_478_, lean_object* v___y_479_){ +_start: +{ +lean_object* v_res_480_; +v_res_480_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_473_, v_msg_474_, v___y_475_, v___y_476_, v___y_477_, v___y_478_); +lean_dec(v___y_478_); +lean_dec_ref(v___y_477_); +lean_dec(v___y_476_); +lean_dec_ref(v___y_475_); +lean_dec(v_ref_473_); +return v_res_480_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1(void){ _start: { -lean_object* v___x_425_; lean_object* v___x_426_; -v___x_425_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__0)); -v___x_426_ = l_Lean_stringToMessageData(v___x_425_); -return v___x_426_; +lean_object* v___x_482_; lean_object* v___x_483_; +v___x_482_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__0)); +v___x_483_ = l_Lean_stringToMessageData(v___x_482_); +return v___x_483_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3(void){ _start: { -lean_object* v___x_428_; lean_object* v___x_429_; -v___x_428_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__2)); -v___x_429_ = l_Lean_stringToMessageData(v___x_428_); -return v___x_429_; +lean_object* v___x_485_; lean_object* v___x_486_; +v___x_485_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__2)); +v___x_486_ = l_Lean_stringToMessageData(v___x_485_); +return v___x_486_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5(void){ _start: { -lean_object* v___x_431_; lean_object* v___x_432_; -v___x_431_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__4)); -v___x_432_ = l_Lean_stringToMessageData(v___x_431_); -return v___x_432_; +lean_object* v___x_488_; lean_object* v___x_489_; +v___x_488_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__4)); +v___x_489_ = l_Lean_stringToMessageData(v___x_488_); +return v___x_489_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7(void){ _start: { -lean_object* v___x_434_; lean_object* v___x_435_; -v___x_434_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__6)); -v___x_435_ = l_Lean_stringToMessageData(v___x_434_); -return v___x_435_; +lean_object* v___x_491_; lean_object* v___x_492_; +v___x_491_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__6)); +v___x_492_ = l_Lean_stringToMessageData(v___x_491_); +return v___x_492_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9(void){ _start: { -lean_object* v___x_437_; lean_object* v___x_438_; -v___x_437_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__8)); -v___x_438_ = l_Lean_stringToMessageData(v___x_437_); -return v___x_438_; +lean_object* v___x_494_; lean_object* v___x_495_; +v___x_494_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__8)); +v___x_495_ = l_Lean_stringToMessageData(v___x_494_); +return v___x_495_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11(void){ _start: { -lean_object* v___x_440_; lean_object* v___x_441_; -v___x_440_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__10)); -v___x_441_ = l_Lean_stringToMessageData(v___x_440_); -return v___x_441_; +lean_object* v___x_497_; lean_object* v___x_498_; +v___x_497_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__10)); +v___x_498_ = l_Lean_stringToMessageData(v___x_497_); +return v___x_498_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13(void){ _start: { -lean_object* v___x_443_; lean_object* v___x_444_; -v___x_443_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__12)); -v___x_444_ = l_Lean_stringToMessageData(v___x_443_); -return v___x_444_; +lean_object* v___x_500_; lean_object* v___x_501_; +v___x_500_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__12)); +v___x_501_ = l_Lean_stringToMessageData(v___x_500_); +return v___x_501_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15(void){ _start: { -lean_object* v___x_446_; lean_object* v___x_447_; -v___x_446_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__14)); -v___x_447_ = l_Lean_stringToMessageData(v___x_446_); -return v___x_447_; +lean_object* v___x_503_; lean_object* v___x_504_; +v___x_503_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__14)); +v___x_504_ = l_Lean_stringToMessageData(v___x_503_); +return v___x_504_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17(void){ _start: { -lean_object* v___x_449_; lean_object* v___x_450_; -v___x_449_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__16)); -v___x_450_ = l_Lean_stringToMessageData(v___x_449_); -return v___x_450_; +lean_object* v___x_506_; lean_object* v___x_507_; +v___x_506_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__16)); +v___x_507_ = l_Lean_stringToMessageData(v___x_506_); +return v___x_507_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19(void){ _start: { -lean_object* v___x_452_; lean_object* v___x_453_; -v___x_452_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__18)); -v___x_453_ = l_Lean_stringToMessageData(v___x_452_); -return v___x_453_; +lean_object* v___x_509_; lean_object* v___x_510_; +v___x_509_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__18)); +v___x_510_ = l_Lean_stringToMessageData(v___x_509_); +return v___x_510_; } } static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21(void){ _start: { -lean_object* v___x_455_; lean_object* v___x_456_; -v___x_455_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__20)); -v___x_456_ = l_Lean_stringToMessageData(v___x_455_); -return v___x_456_; +lean_object* v___x_512_; lean_object* v___x_513_; +v___x_512_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__20)); +v___x_513_ = l_Lean_stringToMessageData(v___x_512_); +return v___x_513_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(lean_object* v_a_457_, lean_object* v_declName_458_, lean_object* v___x_459_, lean_object* v_as_460_, size_t v_sz_461_, size_t v_i_462_, lean_object* v_b_463_, lean_object* v___y_464_, lean_object* v___y_465_, lean_object* v___y_466_, lean_object* v___y_467_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(lean_object* v_a_514_, lean_object* v_declName_515_, lean_object* v___x_516_, lean_object* v_as_517_, size_t v_sz_518_, size_t v_i_519_, lean_object* v_b_520_, lean_object* v___y_521_, lean_object* v___y_522_, lean_object* v___y_523_, lean_object* v___y_524_){ _start: { -lean_object* v_a_470_; lean_object* v___y_475_; uint8_t v___x_477_; -v___x_477_ = lean_usize_dec_lt(v_i_462_, v_sz_461_); -if (v___x_477_ == 0) +lean_object* v_a_527_; lean_object* v___y_532_; uint8_t v___x_534_; +v___x_534_ = lean_usize_dec_lt(v_i_519_, v_sz_518_); +if (v___x_534_ == 0) { -lean_object* v___x_478_; -lean_dec(v_declName_458_); -v___x_478_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_478_, 0, v_b_463_); -return v___x_478_; +lean_object* v___x_535_; +lean_dec(v_declName_515_); +v___x_535_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_535_, 0, v_b_520_); +return v___x_535_; } else { -lean_object* v___x_479_; uint8_t v___x_480_; lean_object* v_a_481_; lean_object* v___x_482_; -v___x_479_ = lean_unsigned_to_nat(0u); -v___x_480_ = lean_nat_dec_eq(v___x_459_, v___x_479_); -v_a_481_ = lean_array_uget_borrowed(v_as_460_, v_i_462_); -v___x_482_ = l_Lean_Syntax_isNatLit_x3f(v_a_481_); -if (lean_obj_tag(v___x_482_) == 1) +lean_object* v___x_536_; uint8_t v___x_537_; lean_object* v_a_538_; lean_object* v___x_539_; +v___x_536_ = lean_unsigned_to_nat(0u); +v___x_537_ = lean_nat_dec_eq(v___x_516_, v___x_536_); +v_a_538_ = lean_array_uget_borrowed(v_as_517_, v_i_519_); +v___x_539_ = l_Lean_Syntax_isNatLit_x3f(v_a_538_); +if (lean_obj_tag(v___x_539_) == 1) { -lean_object* v_val_483_; lean_object* v___x_485_; uint8_t v_isShared_486_; uint8_t v_isSharedCheck_560_; -v_val_483_ = lean_ctor_get(v___x_482_, 0); -v_isSharedCheck_560_ = !lean_is_exclusive(v___x_482_); -if (v_isSharedCheck_560_ == 0) -{ -v___x_485_ = v___x_482_; -v_isShared_486_ = v_isSharedCheck_560_; -goto v_resetjp_484_; -} -else -{ -lean_inc(v_val_483_); -lean_dec(v___x_482_); -v___x_485_ = lean_box(0); -v_isShared_486_ = v_isSharedCheck_560_; -goto v_resetjp_484_; -} -v_resetjp_484_: -{ -lean_object* v___y_488_; lean_object* v___y_489_; lean_object* v___y_490_; lean_object* v___y_491_; uint8_t v___x_549_; -v___x_549_ = lean_nat_dec_eq(v_val_483_, v___x_479_); -if (v___x_549_ == 0) -{ -v___y_488_ = v___y_464_; -v___y_489_ = v___y_465_; -v___y_490_ = v___y_466_; -v___y_491_ = v___y_467_; -goto v___jp_487_; -} -else -{ -lean_object* v___x_550_; lean_object* v___x_551_; -v___x_550_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15); -v___x_551_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_481_, v___x_550_, v___y_464_, v___y_465_, v___y_466_, v___y_467_); -if (lean_obj_tag(v___x_551_) == 0) -{ -lean_dec_ref(v___x_551_); -v___y_488_ = v___y_464_; -v___y_489_ = v___y_465_; -v___y_490_ = v___y_466_; -v___y_491_ = v___y_467_; -goto v___jp_487_; -} -else -{ -lean_object* v_a_552_; lean_object* v___x_554_; uint8_t v_isShared_555_; uint8_t v_isSharedCheck_559_; -lean_del_object(v___x_485_); -lean_dec(v_val_483_); -lean_dec_ref(v_b_463_); -lean_dec(v_declName_458_); -v_a_552_ = lean_ctor_get(v___x_551_, 0); -v_isSharedCheck_559_ = !lean_is_exclusive(v___x_551_); -if (v_isSharedCheck_559_ == 0) -{ -v___x_554_ = v___x_551_; -v_isShared_555_ = v_isSharedCheck_559_; -goto v_resetjp_553_; -} -else -{ -lean_inc(v_a_552_); -lean_dec(v___x_551_); -v___x_554_ = lean_box(0); -v_isShared_555_ = v_isSharedCheck_559_; -goto v_resetjp_553_; -} -v_resetjp_553_: -{ -lean_object* v___x_557_; -if (v_isShared_555_ == 0) -{ -v___x_557_ = v___x_554_; -goto v_reusejp_556_; -} -else -{ -lean_object* v_reuseFailAlloc_558_; -v_reuseFailAlloc_558_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_558_, 0, v_a_552_); -v___x_557_ = v_reuseFailAlloc_558_; -goto v_reusejp_556_; -} -v_reusejp_556_: -{ -return v___x_557_; -} -} -} -} -v___jp_487_: -{ -lean_object* v___x_492_; lean_object* v___x_493_; lean_object* v___x_494_; uint8_t v___x_495_; -v___x_492_ = lean_unsigned_to_nat(1u); -v___x_493_ = lean_nat_sub(v_val_483_, v___x_492_); -lean_dec(v_val_483_); -v___x_494_ = lean_array_get_size(v_a_457_); -v___x_495_ = lean_nat_dec_le(v___x_494_, v___x_493_); -if (v___x_495_ == 0) -{ -uint8_t v___x_496_; -v___x_496_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_b_463_, v___x_493_); -if (v___x_496_ == 0) -{ -lean_del_object(v___x_485_); -v___y_475_ = v___x_493_; -goto v___jp_474_; -} -else -{ -lean_object* v___x_497_; lean_object* v___x_498_; lean_object* v___x_499_; lean_object* v___x_501_; -v___x_497_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1); -v___x_498_ = lean_nat_add(v___x_493_, v___x_492_); -v___x_499_ = l_Nat_reprFast(v___x_498_); -if (v_isShared_486_ == 0) -{ -lean_ctor_set_tag(v___x_485_, 3); -lean_ctor_set(v___x_485_, 0, v___x_499_); -v___x_501_ = v___x_485_; -goto v_reusejp_500_; -} -else -{ -lean_object* v_reuseFailAlloc_520_; -v_reuseFailAlloc_520_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v_reuseFailAlloc_520_, 0, v___x_499_); -v___x_501_ = v_reuseFailAlloc_520_; -goto v_reusejp_500_; -} -v_reusejp_500_: -{ -lean_object* v___x_502_; lean_object* v___x_503_; lean_object* v___x_504_; lean_object* v___x_505_; lean_object* v___x_506_; lean_object* v___x_507_; lean_object* v___x_508_; lean_object* v___x_509_; lean_object* v___x_510_; lean_object* v___x_511_; -v___x_502_ = l_Lean_MessageData_ofFormat(v___x_501_); -v___x_503_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_503_, 0, v___x_497_); -lean_ctor_set(v___x_503_, 1, v___x_502_); -v___x_504_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3); -v___x_505_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_505_, 0, v___x_503_); -lean_ctor_set(v___x_505_, 1, v___x_504_); -v___x_506_ = lean_array_fget_borrowed(v_a_457_, v___x_493_); -lean_inc(v___x_506_); -v___x_507_ = l_Lean_MessageData_ofName(v___x_506_); -v___x_508_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_508_, 0, v___x_505_); -lean_ctor_set(v___x_508_, 1, v___x_507_); -v___x_509_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5); -v___x_510_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_510_, 0, v___x_508_); -lean_ctor_set(v___x_510_, 1, v___x_509_); -v___x_511_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_481_, v___x_510_, v___y_488_, v___y_489_, v___y_490_, v___y_491_); -if (lean_obj_tag(v___x_511_) == 0) -{ -lean_dec_ref(v___x_511_); -v___y_475_ = v___x_493_; -goto v___jp_474_; -} -else -{ -lean_object* v_a_512_; lean_object* v___x_514_; uint8_t v_isShared_515_; uint8_t v_isSharedCheck_519_; -lean_dec(v___x_493_); -lean_dec_ref(v_b_463_); -lean_dec(v_declName_458_); -v_a_512_ = lean_ctor_get(v___x_511_, 0); -v_isSharedCheck_519_ = !lean_is_exclusive(v___x_511_); -if (v_isSharedCheck_519_ == 0) -{ -v___x_514_ = v___x_511_; -v_isShared_515_ = v_isSharedCheck_519_; -goto v_resetjp_513_; -} -else -{ -lean_inc(v_a_512_); -lean_dec(v___x_511_); -v___x_514_ = lean_box(0); -v_isShared_515_ = v_isSharedCheck_519_; -goto v_resetjp_513_; -} -v_resetjp_513_: -{ -lean_object* v___x_517_; -if (v_isShared_515_ == 0) -{ -v___x_517_ = v___x_514_; -goto v_reusejp_516_; -} -else -{ -lean_object* v_reuseFailAlloc_518_; -v_reuseFailAlloc_518_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_518_, 0, v_a_512_); -v___x_517_ = v_reuseFailAlloc_518_; -goto v_reusejp_516_; -} -v_reusejp_516_: -{ -return v___x_517_; -} -} -} -} -} -} -else -{ -lean_object* v___x_521_; lean_object* v___x_522_; lean_object* v___x_524_; -v___x_521_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7); -v___x_522_ = l_Nat_reprFast(v___x_493_); -if (v_isShared_486_ == 0) -{ -lean_ctor_set_tag(v___x_485_, 3); -lean_ctor_set(v___x_485_, 0, v___x_522_); -v___x_524_ = v___x_485_; -goto v_reusejp_523_; -} -else -{ -lean_object* v_reuseFailAlloc_548_; -v_reuseFailAlloc_548_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v_reuseFailAlloc_548_, 0, v___x_522_); -v___x_524_ = v_reuseFailAlloc_548_; -goto v_reusejp_523_; -} -v_reusejp_523_: -{ -lean_object* v___x_525_; lean_object* v___x_526_; lean_object* v___x_527_; lean_object* v___x_528_; lean_object* v___x_529_; lean_object* v___x_530_; lean_object* v___x_531_; lean_object* v___x_532_; lean_object* v___x_533_; lean_object* v___x_534_; lean_object* v___x_535_; lean_object* v___x_536_; lean_object* v___x_537_; lean_object* v___x_538_; lean_object* v___x_539_; -v___x_525_ = l_Lean_MessageData_ofFormat(v___x_524_); -v___x_526_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_526_, 0, v___x_521_); -lean_ctor_set(v___x_526_, 1, v___x_525_); -v___x_527_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9); -v___x_528_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_528_, 0, v___x_526_); -lean_ctor_set(v___x_528_, 1, v___x_527_); -lean_inc(v_declName_458_); -v___x_529_ = l_Lean_MessageData_ofConstName(v_declName_458_, v___x_480_); -v___x_530_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_530_, 0, v___x_528_); -lean_ctor_set(v___x_530_, 1, v___x_529_); -v___x_531_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11); -v___x_532_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_532_, 0, v___x_530_); -lean_ctor_set(v___x_532_, 1, v___x_531_); -v___x_533_ = l_Nat_reprFast(v___x_494_); -v___x_534_ = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(v___x_534_, 0, v___x_533_); -v___x_535_ = l_Lean_MessageData_ofFormat(v___x_534_); -v___x_536_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_536_, 0, v___x_532_); -lean_ctor_set(v___x_536_, 1, v___x_535_); -v___x_537_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13); -v___x_538_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_538_, 0, v___x_536_); -lean_ctor_set(v___x_538_, 1, v___x_537_); -v___x_539_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_481_, v___x_538_, v___y_488_, v___y_489_, v___y_490_, v___y_491_); -if (lean_obj_tag(v___x_539_) == 0) -{ -lean_dec_ref(v___x_539_); -v_a_470_ = v_b_463_; -goto v___jp_469_; -} -else -{ -lean_object* v_a_540_; lean_object* v___x_542_; uint8_t v_isShared_543_; uint8_t v_isSharedCheck_547_; -lean_dec_ref(v_b_463_); -lean_dec(v_declName_458_); -v_a_540_ = lean_ctor_get(v___x_539_, 0); -v_isSharedCheck_547_ = !lean_is_exclusive(v___x_539_); -if (v_isSharedCheck_547_ == 0) +lean_object* v_val_540_; lean_object* v___x_542_; uint8_t v_isShared_543_; uint8_t v_isSharedCheck_617_; +v_val_540_ = lean_ctor_get(v___x_539_, 0); +v_isSharedCheck_617_ = !lean_is_exclusive(v___x_539_); +if (v_isSharedCheck_617_ == 0) { v___x_542_ = v___x_539_; -v_isShared_543_ = v_isSharedCheck_547_; +v_isShared_543_ = v_isSharedCheck_617_; goto v_resetjp_541_; } else { -lean_inc(v_a_540_); +lean_inc(v_val_540_); lean_dec(v___x_539_); v___x_542_ = lean_box(0); -v_isShared_543_ = v_isSharedCheck_547_; +v_isShared_543_ = v_isSharedCheck_617_; goto v_resetjp_541_; } v_resetjp_541_: { -lean_object* v___x_545_; +lean_object* v___y_545_; lean_object* v___y_546_; lean_object* v___y_547_; lean_object* v___y_548_; uint8_t v___x_606_; +v___x_606_ = lean_nat_dec_eq(v_val_540_, v___x_536_); +if (v___x_606_ == 0) +{ +v___y_545_ = v___y_521_; +v___y_546_ = v___y_522_; +v___y_547_ = v___y_523_; +v___y_548_ = v___y_524_; +goto v___jp_544_; +} +else +{ +lean_object* v___x_607_; lean_object* v___x_608_; +v___x_607_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__15); +v___x_608_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_538_, v___x_607_, v___y_521_, v___y_522_, v___y_523_, v___y_524_); +if (lean_obj_tag(v___x_608_) == 0) +{ +lean_dec_ref(v___x_608_); +v___y_545_ = v___y_521_; +v___y_546_ = v___y_522_; +v___y_547_ = v___y_523_; +v___y_548_ = v___y_524_; +goto v___jp_544_; +} +else +{ +lean_object* v_a_609_; lean_object* v___x_611_; uint8_t v_isShared_612_; uint8_t v_isSharedCheck_616_; +lean_del_object(v___x_542_); +lean_dec(v_val_540_); +lean_dec_ref(v_b_520_); +lean_dec(v_declName_515_); +v_a_609_ = lean_ctor_get(v___x_608_, 0); +v_isSharedCheck_616_ = !lean_is_exclusive(v___x_608_); +if (v_isSharedCheck_616_ == 0) +{ +v___x_611_ = v___x_608_; +v_isShared_612_ = v_isSharedCheck_616_; +goto v_resetjp_610_; +} +else +{ +lean_inc(v_a_609_); +lean_dec(v___x_608_); +v___x_611_ = lean_box(0); +v_isShared_612_ = v_isSharedCheck_616_; +goto v_resetjp_610_; +} +v_resetjp_610_: +{ +lean_object* v___x_614_; +if (v_isShared_612_ == 0) +{ +v___x_614_ = v___x_611_; +goto v_reusejp_613_; +} +else +{ +lean_object* v_reuseFailAlloc_615_; +v_reuseFailAlloc_615_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_615_, 0, v_a_609_); +v___x_614_ = v_reuseFailAlloc_615_; +goto v_reusejp_613_; +} +v_reusejp_613_: +{ +return v___x_614_; +} +} +} +} +v___jp_544_: +{ +lean_object* v___x_549_; lean_object* v___x_550_; lean_object* v___x_551_; uint8_t v___x_552_; +v___x_549_ = lean_unsigned_to_nat(1u); +v___x_550_ = lean_nat_sub(v_val_540_, v___x_549_); +lean_dec(v_val_540_); +v___x_551_ = lean_array_get_size(v_a_514_); +v___x_552_ = lean_nat_dec_le(v___x_551_, v___x_550_); +if (v___x_552_ == 0) +{ +uint8_t v___x_553_; +v___x_553_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_b_520_, v___x_550_); +if (v___x_553_ == 0) +{ +lean_del_object(v___x_542_); +v___y_532_ = v___x_550_; +goto v___jp_531_; +} +else +{ +lean_object* v___x_554_; lean_object* v___x_555_; lean_object* v___x_556_; lean_object* v___x_558_; +v___x_554_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__1); +v___x_555_ = lean_nat_add(v___x_550_, v___x_549_); +v___x_556_ = l_Nat_reprFast(v___x_555_); if (v_isShared_543_ == 0) { -v___x_545_ = v___x_542_; -goto v_reusejp_544_; +lean_ctor_set_tag(v___x_542_, 3); +lean_ctor_set(v___x_542_, 0, v___x_556_); +v___x_558_ = v___x_542_; +goto v_reusejp_557_; } else { -lean_object* v_reuseFailAlloc_546_; -v_reuseFailAlloc_546_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_546_, 0, v_a_540_); -v___x_545_ = v_reuseFailAlloc_546_; -goto v_reusejp_544_; +lean_object* v_reuseFailAlloc_577_; +v_reuseFailAlloc_577_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v_reuseFailAlloc_577_, 0, v___x_556_); +v___x_558_ = v_reuseFailAlloc_577_; +goto v_reusejp_557_; } -v_reusejp_544_: +v_reusejp_557_: { -return v___x_545_; +lean_object* v___x_559_; lean_object* v___x_560_; lean_object* v___x_561_; lean_object* v___x_562_; lean_object* v___x_563_; lean_object* v___x_564_; lean_object* v___x_565_; lean_object* v___x_566_; lean_object* v___x_567_; lean_object* v___x_568_; +v___x_559_ = l_Lean_MessageData_ofFormat(v___x_558_); +v___x_560_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_560_, 0, v___x_554_); +lean_ctor_set(v___x_560_, 1, v___x_559_); +v___x_561_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__3); +v___x_562_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_562_, 0, v___x_560_); +lean_ctor_set(v___x_562_, 1, v___x_561_); +v___x_563_ = lean_array_fget_borrowed(v_a_514_, v___x_550_); +lean_inc(v___x_563_); +v___x_564_ = l_Lean_MessageData_ofName(v___x_563_); +v___x_565_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_565_, 0, v___x_562_); +lean_ctor_set(v___x_565_, 1, v___x_564_); +v___x_566_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__5); +v___x_567_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_567_, 0, v___x_565_); +lean_ctor_set(v___x_567_, 1, v___x_566_); +v___x_568_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_538_, v___x_567_, v___y_545_, v___y_546_, v___y_547_, v___y_548_); +if (lean_obj_tag(v___x_568_) == 0) +{ +lean_dec_ref(v___x_568_); +v___y_532_ = v___x_550_; +goto v___jp_531_; } +else +{ +lean_object* v_a_569_; lean_object* v___x_571_; uint8_t v_isShared_572_; uint8_t v_isSharedCheck_576_; +lean_dec(v___x_550_); +lean_dec_ref(v_b_520_); +lean_dec(v_declName_515_); +v_a_569_ = lean_ctor_get(v___x_568_, 0); +v_isSharedCheck_576_ = !lean_is_exclusive(v___x_568_); +if (v_isSharedCheck_576_ == 0) +{ +v___x_571_ = v___x_568_; +v_isShared_572_ = v_isSharedCheck_576_; +goto v_resetjp_570_; } +else +{ +lean_inc(v_a_569_); +lean_dec(v___x_568_); +v___x_571_ = lean_box(0); +v_isShared_572_ = v_isSharedCheck_576_; +goto v_resetjp_570_; +} +v_resetjp_570_: +{ +lean_object* v___x_574_; +if (v_isShared_572_ == 0) +{ +v___x_574_ = v___x_571_; +goto v_reusejp_573_; +} +else +{ +lean_object* v_reuseFailAlloc_575_; +v_reuseFailAlloc_575_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_575_, 0, v_a_569_); +v___x_574_ = v_reuseFailAlloc_575_; +goto v_reusejp_573_; +} +v_reusejp_573_: +{ +return v___x_574_; } } } @@ -1747,1600 +1736,1724 @@ return v___x_545_; } else { -lean_object* v___x_561_; lean_object* v___x_562_; -lean_dec(v___x_482_); -v___x_561_ = l_Lean_Syntax_getId(v_a_481_); -v___x_562_ = l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(v_a_457_, v___x_561_); -if (lean_obj_tag(v___x_562_) == 1) +lean_object* v___x_578_; lean_object* v___x_579_; lean_object* v___x_581_; +v___x_578_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__7); +v___x_579_ = l_Nat_reprFast(v___x_550_); +if (v_isShared_543_ == 0) { -lean_object* v_val_563_; uint8_t v___x_566_; -v_val_563_ = lean_ctor_get(v___x_562_, 0); -lean_inc(v_val_563_); -lean_dec_ref(v___x_562_); -v___x_566_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_b_463_, v_val_563_); -if (v___x_566_ == 0) -{ -lean_dec(v___x_561_); -goto v___jp_564_; +lean_ctor_set_tag(v___x_542_, 3); +lean_ctor_set(v___x_542_, 0, v___x_579_); +v___x_581_ = v___x_542_; +goto v_reusejp_580_; } else { -lean_object* v___x_567_; lean_object* v___x_568_; lean_object* v___x_569_; lean_object* v___x_570_; lean_object* v___x_571_; lean_object* v___x_572_; -v___x_567_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17); -v___x_568_ = l_Lean_MessageData_ofName(v___x_561_); -v___x_569_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_569_, 0, v___x_567_); -lean_ctor_set(v___x_569_, 1, v___x_568_); -v___x_570_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19); -v___x_571_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_571_, 0, v___x_569_); -lean_ctor_set(v___x_571_, 1, v___x_570_); -v___x_572_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_481_, v___x_571_, v___y_464_, v___y_465_, v___y_466_, v___y_467_); -if (lean_obj_tag(v___x_572_) == 0) +lean_object* v_reuseFailAlloc_605_; +v_reuseFailAlloc_605_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v_reuseFailAlloc_605_, 0, v___x_579_); +v___x_581_ = v_reuseFailAlloc_605_; +goto v_reusejp_580_; +} +v_reusejp_580_: { -lean_dec_ref(v___x_572_); -goto v___jp_564_; -} -else -{ -lean_object* v_a_573_; lean_object* v___x_575_; uint8_t v_isShared_576_; uint8_t v_isSharedCheck_580_; -lean_dec(v_val_563_); -lean_dec_ref(v_b_463_); -lean_dec(v_declName_458_); -v_a_573_ = lean_ctor_get(v___x_572_, 0); -v_isSharedCheck_580_ = !lean_is_exclusive(v___x_572_); -if (v_isSharedCheck_580_ == 0) -{ -v___x_575_ = v___x_572_; -v_isShared_576_ = v_isSharedCheck_580_; -goto v_resetjp_574_; -} -else -{ -lean_inc(v_a_573_); -lean_dec(v___x_572_); -v___x_575_ = lean_box(0); -v_isShared_576_ = v_isSharedCheck_580_; -goto v_resetjp_574_; -} -v_resetjp_574_: -{ -lean_object* v___x_578_; -if (v_isShared_576_ == 0) -{ -v___x_578_ = v___x_575_; -goto v_reusejp_577_; -} -else -{ -lean_object* v_reuseFailAlloc_579_; -v_reuseFailAlloc_579_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_579_, 0, v_a_573_); -v___x_578_ = v_reuseFailAlloc_579_; -goto v_reusejp_577_; -} -v_reusejp_577_: -{ -return v___x_578_; -} -} -} -} -v___jp_564_: -{ -lean_object* v___x_565_; -v___x_565_ = lean_array_push(v_b_463_, v_val_563_); -v_a_470_ = v___x_565_; -goto v___jp_469_; -} -} -else -{ -lean_object* v___x_581_; lean_object* v___x_582_; lean_object* v___x_583_; lean_object* v___x_584_; lean_object* v___x_585_; lean_object* v___x_586_; lean_object* v___x_587_; lean_object* v___x_588_; lean_object* v___x_589_; lean_object* v___x_590_; -lean_dec(v___x_562_); -v___x_581_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17); -v___x_582_ = l_Lean_MessageData_ofName(v___x_561_); +lean_object* v___x_582_; lean_object* v___x_583_; lean_object* v___x_584_; lean_object* v___x_585_; lean_object* v___x_586_; lean_object* v___x_587_; lean_object* v___x_588_; lean_object* v___x_589_; lean_object* v___x_590_; lean_object* v___x_591_; lean_object* v___x_592_; lean_object* v___x_593_; lean_object* v___x_594_; lean_object* v___x_595_; lean_object* v___x_596_; +v___x_582_ = l_Lean_MessageData_ofFormat(v___x_581_); v___x_583_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_583_, 0, v___x_581_); +lean_ctor_set(v___x_583_, 0, v___x_578_); lean_ctor_set(v___x_583_, 1, v___x_582_); v___x_584_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9); v___x_585_ = lean_alloc_ctor(7, 2, 0); lean_ctor_set(v___x_585_, 0, v___x_583_); lean_ctor_set(v___x_585_, 1, v___x_584_); -lean_inc(v_declName_458_); -v___x_586_ = l_Lean_MessageData_ofConstName(v_declName_458_, v___x_480_); +lean_inc(v_declName_515_); +v___x_586_ = l_Lean_MessageData_ofConstName(v_declName_515_, v___x_537_); v___x_587_ = lean_alloc_ctor(7, 2, 0); lean_ctor_set(v___x_587_, 0, v___x_585_); lean_ctor_set(v___x_587_, 1, v___x_586_); -v___x_588_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21); +v___x_588_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__11); v___x_589_ = lean_alloc_ctor(7, 2, 0); lean_ctor_set(v___x_589_, 0, v___x_587_); lean_ctor_set(v___x_589_, 1, v___x_588_); -v___x_590_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_481_, v___x_589_, v___y_464_, v___y_465_, v___y_466_, v___y_467_); -if (lean_obj_tag(v___x_590_) == 0) +v___x_590_ = l_Nat_reprFast(v___x_551_); +v___x_591_ = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(v___x_591_, 0, v___x_590_); +v___x_592_ = l_Lean_MessageData_ofFormat(v___x_591_); +v___x_593_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_593_, 0, v___x_589_); +lean_ctor_set(v___x_593_, 1, v___x_592_); +v___x_594_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__13); +v___x_595_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_595_, 0, v___x_593_); +lean_ctor_set(v___x_595_, 1, v___x_594_); +v___x_596_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_538_, v___x_595_, v___y_545_, v___y_546_, v___y_547_, v___y_548_); +if (lean_obj_tag(v___x_596_) == 0) { -lean_dec_ref(v___x_590_); -v_a_470_ = v_b_463_; -goto v___jp_469_; +lean_dec_ref(v___x_596_); +v_a_527_ = v_b_520_; +goto v___jp_526_; } else { -lean_object* v_a_591_; lean_object* v___x_593_; uint8_t v_isShared_594_; uint8_t v_isSharedCheck_598_; -lean_dec_ref(v_b_463_); -lean_dec(v_declName_458_); -v_a_591_ = lean_ctor_get(v___x_590_, 0); -v_isSharedCheck_598_ = !lean_is_exclusive(v___x_590_); -if (v_isSharedCheck_598_ == 0) +lean_object* v_a_597_; lean_object* v___x_599_; uint8_t v_isShared_600_; uint8_t v_isSharedCheck_604_; +lean_dec_ref(v_b_520_); +lean_dec(v_declName_515_); +v_a_597_ = lean_ctor_get(v___x_596_, 0); +v_isSharedCheck_604_ = !lean_is_exclusive(v___x_596_); +if (v_isSharedCheck_604_ == 0) { -v___x_593_ = v___x_590_; -v_isShared_594_ = v_isSharedCheck_598_; -goto v_resetjp_592_; +v___x_599_ = v___x_596_; +v_isShared_600_ = v_isSharedCheck_604_; +goto v_resetjp_598_; } else { -lean_inc(v_a_591_); -lean_dec(v___x_590_); -v___x_593_ = lean_box(0); -v_isShared_594_ = v_isSharedCheck_598_; -goto v_resetjp_592_; +lean_inc(v_a_597_); +lean_dec(v___x_596_); +v___x_599_ = lean_box(0); +v_isShared_600_ = v_isSharedCheck_604_; +goto v_resetjp_598_; } -v_resetjp_592_: +v_resetjp_598_: { -lean_object* v___x_596_; -if (v_isShared_594_ == 0) +lean_object* v___x_602_; +if (v_isShared_600_ == 0) { -v___x_596_ = v___x_593_; -goto v_reusejp_595_; +v___x_602_ = v___x_599_; +goto v_reusejp_601_; } else { -lean_object* v_reuseFailAlloc_597_; -v_reuseFailAlloc_597_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_597_, 0, v_a_591_); -v___x_596_ = v_reuseFailAlloc_597_; -goto v_reusejp_595_; +lean_object* v_reuseFailAlloc_603_; +v_reuseFailAlloc_603_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_603_, 0, v_a_597_); +v___x_602_ = v_reuseFailAlloc_603_; +goto v_reusejp_601_; } -v_reusejp_595_: +v_reusejp_601_: { -return v___x_596_; +return v___x_602_; } } } } } } -v___jp_469_: +} +} +else { -size_t v___x_471_; size_t v___x_472_; -v___x_471_ = ((size_t)1ULL); -v___x_472_ = lean_usize_add(v_i_462_, v___x_471_); -v_i_462_ = v___x_472_; -v_b_463_ = v_a_470_; +lean_object* v___x_618_; lean_object* v___x_619_; +lean_dec(v___x_539_); +v___x_618_ = l_Lean_Syntax_getId(v_a_538_); +v___x_619_ = l_Array_idxOf_x3f___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__3(v_a_514_, v___x_618_); +if (lean_obj_tag(v___x_619_) == 1) +{ +lean_object* v_val_620_; uint8_t v___x_623_; +v_val_620_ = lean_ctor_get(v___x_619_, 0); +lean_inc(v_val_620_); +lean_dec_ref(v___x_619_); +v___x_623_ = l_Array_contains___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__1(v_b_520_, v_val_620_); +if (v___x_623_ == 0) +{ +lean_dec(v___x_618_); +goto v___jp_621_; +} +else +{ +lean_object* v___x_624_; lean_object* v___x_625_; lean_object* v___x_626_; lean_object* v___x_627_; lean_object* v___x_628_; lean_object* v___x_629_; +v___x_624_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17); +v___x_625_ = l_Lean_MessageData_ofName(v___x_618_); +v___x_626_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_626_, 0, v___x_624_); +lean_ctor_set(v___x_626_, 1, v___x_625_); +v___x_627_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__19); +v___x_628_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_628_, 0, v___x_626_); +lean_ctor_set(v___x_628_, 1, v___x_627_); +v___x_629_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_538_, v___x_628_, v___y_521_, v___y_522_, v___y_523_, v___y_524_); +if (lean_obj_tag(v___x_629_) == 0) +{ +lean_dec_ref(v___x_629_); +goto v___jp_621_; +} +else +{ +lean_object* v_a_630_; lean_object* v___x_632_; uint8_t v_isShared_633_; uint8_t v_isSharedCheck_637_; +lean_dec(v_val_620_); +lean_dec_ref(v_b_520_); +lean_dec(v_declName_515_); +v_a_630_ = lean_ctor_get(v___x_629_, 0); +v_isSharedCheck_637_ = !lean_is_exclusive(v___x_629_); +if (v_isSharedCheck_637_ == 0) +{ +v___x_632_ = v___x_629_; +v_isShared_633_ = v_isSharedCheck_637_; +goto v_resetjp_631_; +} +else +{ +lean_inc(v_a_630_); +lean_dec(v___x_629_); +v___x_632_ = lean_box(0); +v_isShared_633_ = v_isSharedCheck_637_; +goto v_resetjp_631_; +} +v_resetjp_631_: +{ +lean_object* v___x_635_; +if (v_isShared_633_ == 0) +{ +v___x_635_ = v___x_632_; +goto v_reusejp_634_; +} +else +{ +lean_object* v_reuseFailAlloc_636_; +v_reuseFailAlloc_636_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_636_, 0, v_a_630_); +v___x_635_ = v_reuseFailAlloc_636_; +goto v_reusejp_634_; +} +v_reusejp_634_: +{ +return v___x_635_; +} +} +} +} +v___jp_621_: +{ +lean_object* v___x_622_; +v___x_622_ = lean_array_push(v_b_520_, v_val_620_); +v_a_527_ = v___x_622_; +goto v___jp_526_; +} +} +else +{ +lean_object* v___x_638_; lean_object* v___x_639_; lean_object* v___x_640_; lean_object* v___x_641_; lean_object* v___x_642_; lean_object* v___x_643_; lean_object* v___x_644_; lean_object* v___x_645_; lean_object* v___x_646_; lean_object* v___x_647_; +lean_dec(v___x_619_); +v___x_638_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__17); +v___x_639_ = l_Lean_MessageData_ofName(v___x_618_); +v___x_640_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_640_, 0, v___x_638_); +lean_ctor_set(v___x_640_, 1, v___x_639_); +v___x_641_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__9); +v___x_642_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_642_, 0, v___x_640_); +lean_ctor_set(v___x_642_, 1, v___x_641_); +lean_inc(v_declName_515_); +v___x_643_ = l_Lean_MessageData_ofConstName(v_declName_515_, v___x_537_); +v___x_644_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_644_, 0, v___x_642_); +lean_ctor_set(v___x_644_, 1, v___x_643_); +v___x_645_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___closed__21); +v___x_646_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_646_, 0, v___x_644_); +lean_ctor_set(v___x_646_, 1, v___x_645_); +v___x_647_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_a_538_, v___x_646_, v___y_521_, v___y_522_, v___y_523_, v___y_524_); +if (lean_obj_tag(v___x_647_) == 0) +{ +lean_dec_ref(v___x_647_); +v_a_527_ = v_b_520_; +goto v___jp_526_; +} +else +{ +lean_object* v_a_648_; lean_object* v___x_650_; uint8_t v_isShared_651_; uint8_t v_isSharedCheck_655_; +lean_dec_ref(v_b_520_); +lean_dec(v_declName_515_); +v_a_648_ = lean_ctor_get(v___x_647_, 0); +v_isSharedCheck_655_ = !lean_is_exclusive(v___x_647_); +if (v_isSharedCheck_655_ == 0) +{ +v___x_650_ = v___x_647_; +v_isShared_651_ = v_isSharedCheck_655_; +goto v_resetjp_649_; +} +else +{ +lean_inc(v_a_648_); +lean_dec(v___x_647_); +v___x_650_ = lean_box(0); +v_isShared_651_ = v_isSharedCheck_655_; +goto v_resetjp_649_; +} +v_resetjp_649_: +{ +lean_object* v___x_653_; +if (v_isShared_651_ == 0) +{ +v___x_653_ = v___x_650_; +goto v_reusejp_652_; +} +else +{ +lean_object* v_reuseFailAlloc_654_; +v_reuseFailAlloc_654_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_654_, 0, v_a_648_); +v___x_653_ = v_reuseFailAlloc_654_; +goto v_reusejp_652_; +} +v_reusejp_652_: +{ +return v___x_653_; +} +} +} +} +} +} +v___jp_526_: +{ +size_t v___x_528_; size_t v___x_529_; +v___x_528_ = ((size_t)1ULL); +v___x_529_ = lean_usize_add(v_i_519_, v___x_528_); +v_i_519_ = v___x_529_; +v_b_520_ = v_a_527_; goto _start; } -v___jp_474_: +v___jp_531_: { -lean_object* v___x_476_; -v___x_476_ = lean_array_push(v_b_463_, v___y_475_); -v_a_470_ = v___x_476_; -goto v___jp_469_; +lean_object* v___x_533_; +v___x_533_ = lean_array_push(v_b_520_, v___y_532_); +v_a_527_ = v___x_533_; +goto v___jp_526_; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___boxed(lean_object* v_a_599_, lean_object* v_declName_600_, lean_object* v___x_601_, lean_object* v_as_602_, lean_object* v_sz_603_, lean_object* v_i_604_, lean_object* v_b_605_, lean_object* v___y_606_, lean_object* v___y_607_, lean_object* v___y_608_, lean_object* v___y_609_, lean_object* v___y_610_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4___boxed(lean_object* v_a_656_, lean_object* v_declName_657_, lean_object* v___x_658_, lean_object* v_as_659_, lean_object* v_sz_660_, lean_object* v_i_661_, lean_object* v_b_662_, lean_object* v___y_663_, lean_object* v___y_664_, lean_object* v___y_665_, lean_object* v___y_666_, lean_object* v___y_667_){ _start: { -size_t v_sz_boxed_611_; size_t v_i_boxed_612_; lean_object* v_res_613_; -v_sz_boxed_611_ = lean_unbox_usize(v_sz_603_); -lean_dec(v_sz_603_); -v_i_boxed_612_ = lean_unbox_usize(v_i_604_); -lean_dec(v_i_604_); -v_res_613_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(v_a_599_, v_declName_600_, v___x_601_, v_as_602_, v_sz_boxed_611_, v_i_boxed_612_, v_b_605_, v___y_606_, v___y_607_, v___y_608_, v___y_609_); -lean_dec(v___y_609_); -lean_dec_ref(v___y_608_); -lean_dec(v___y_607_); -lean_dec_ref(v___y_606_); -lean_dec_ref(v_as_602_); -lean_dec(v___x_601_); -lean_dec_ref(v_a_599_); -return v_res_613_; +size_t v_sz_boxed_668_; size_t v_i_boxed_669_; lean_object* v_res_670_; +v_sz_boxed_668_ = lean_unbox_usize(v_sz_660_); +lean_dec(v_sz_660_); +v_i_boxed_669_ = lean_unbox_usize(v_i_661_); +lean_dec(v_i_661_); +v_res_670_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(v_a_656_, v_declName_657_, v___x_658_, v_as_659_, v_sz_boxed_668_, v_i_boxed_669_, v_b_662_, v___y_663_, v___y_664_, v___y_665_, v___y_666_); +lean_dec(v___y_666_); +lean_dec_ref(v___y_665_); +lean_dec(v___y_664_); +lean_dec_ref(v___y_663_); +lean_dec_ref(v_as_659_); +lean_dec(v___x_658_); +lean_dec_ref(v_a_656_); +return v_res_670_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0(lean_object* v___x_614_, lean_object* v_args_615_, lean_object* v_declName_616_, lean_object* v___x_617_, lean_object* v_xs_618_, lean_object* v_x_619_, lean_object* v___y_620_, lean_object* v___y_621_, lean_object* v___y_622_, lean_object* v___y_623_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0(lean_object* v___x_671_, lean_object* v_args_672_, lean_object* v_declName_673_, lean_object* v___x_674_, lean_object* v_xs_675_, lean_object* v_x_676_, lean_object* v___y_677_, lean_object* v___y_678_, lean_object* v___y_679_, lean_object* v___y_680_){ _start: { -size_t v_sz_625_; size_t v___x_626_; lean_object* v___x_627_; -v_sz_625_ = lean_array_size(v_xs_618_); -v___x_626_ = ((size_t)0ULL); -v___x_627_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_625_, v___x_626_, v_xs_618_, v___y_620_, v___y_622_, v___y_623_); -if (lean_obj_tag(v___x_627_) == 0) +size_t v_sz_682_; size_t v___x_683_; lean_object* v___x_684_; +v_sz_682_ = lean_array_size(v_xs_675_); +v___x_683_ = ((size_t)0ULL); +v___x_684_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_682_, v___x_683_, v_xs_675_, v___y_677_, v___y_679_, v___y_680_); +if (lean_obj_tag(v___x_684_) == 0) { -lean_object* v_a_628_; lean_object* v___x_630_; uint8_t v_isShared_631_; uint8_t v_isSharedCheck_651_; -v_a_628_ = lean_ctor_get(v___x_627_, 0); -v_isSharedCheck_651_ = !lean_is_exclusive(v___x_627_); -if (v_isSharedCheck_651_ == 0) +lean_object* v_a_685_; lean_object* v___x_687_; uint8_t v_isShared_688_; uint8_t v_isSharedCheck_708_; +v_a_685_ = lean_ctor_get(v___x_684_, 0); +v_isSharedCheck_708_ = !lean_is_exclusive(v___x_684_); +if (v_isSharedCheck_708_ == 0) { -v___x_630_ = v___x_627_; -v_isShared_631_ = v_isSharedCheck_651_; -goto v_resetjp_629_; +v___x_687_ = v___x_684_; +v_isShared_688_ = v_isSharedCheck_708_; +goto v_resetjp_686_; } else { -lean_inc(v_a_628_); -lean_dec(v___x_627_); -v___x_630_ = lean_box(0); -v_isShared_631_ = v_isSharedCheck_651_; -goto v_resetjp_629_; +lean_inc(v_a_685_); +lean_dec(v___x_684_); +v___x_687_ = lean_box(0); +v_isShared_688_ = v_isSharedCheck_708_; +goto v_resetjp_686_; } -v_resetjp_629_: +v_resetjp_686_: { -lean_object* v___x_632_; size_t v_sz_633_; lean_object* v___x_634_; -v___x_632_ = lean_mk_empty_array_with_capacity(v___x_614_); -v_sz_633_ = lean_array_size(v_args_615_); -v___x_634_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(v_a_628_, v_declName_616_, v___x_617_, v_args_615_, v_sz_633_, v___x_626_, v___x_632_, v___y_620_, v___y_621_, v___y_622_, v___y_623_); -lean_dec(v_a_628_); -if (lean_obj_tag(v___x_634_) == 0) +lean_object* v___x_689_; size_t v_sz_690_; lean_object* v___x_691_; +v___x_689_ = lean_mk_empty_array_with_capacity(v___x_671_); +v_sz_690_ = lean_array_size(v_args_672_); +v___x_691_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__4(v_a_685_, v_declName_673_, v___x_674_, v_args_672_, v_sz_690_, v___x_683_, v___x_689_, v___y_677_, v___y_678_, v___y_679_, v___y_680_); +lean_dec(v_a_685_); +if (lean_obj_tag(v___x_691_) == 0) { -lean_object* v_a_635_; lean_object* v___y_637_; lean_object* v___y_638_; lean_object* v___x_643_; uint8_t v___x_644_; -v_a_635_ = lean_ctor_get(v___x_634_, 0); -lean_inc(v_a_635_); -v___x_643_ = lean_array_get_size(v_a_635_); -v___x_644_ = lean_nat_dec_eq(v___x_643_, v___x_614_); -if (v___x_644_ == 0) +lean_object* v_a_692_; lean_object* v___y_694_; lean_object* v___y_695_; lean_object* v___x_700_; uint8_t v___x_701_; +v_a_692_ = lean_ctor_get(v___x_691_, 0); +lean_inc(v_a_692_); +v___x_700_ = lean_array_get_size(v_a_692_); +v___x_701_ = lean_nat_dec_eq(v___x_700_, v___x_671_); +if (v___x_701_ == 0) { -lean_object* v___x_645_; lean_object* v___x_646_; lean_object* v___y_648_; uint8_t v___x_650_; -lean_dec_ref(v___x_634_); -v___x_645_ = lean_unsigned_to_nat(1u); -v___x_646_ = lean_nat_sub(v___x_643_, v___x_645_); -v___x_650_ = lean_nat_dec_le(v___x_614_, v___x_646_); -if (v___x_650_ == 0) +lean_object* v___x_702_; lean_object* v___x_703_; lean_object* v___y_705_; uint8_t v___x_707_; +lean_dec_ref(v___x_691_); +v___x_702_ = lean_unsigned_to_nat(1u); +v___x_703_ = lean_nat_sub(v___x_700_, v___x_702_); +v___x_707_ = lean_nat_dec_le(v___x_671_, v___x_703_); +if (v___x_707_ == 0) { -lean_dec(v___x_614_); -lean_inc(v___x_646_); -v___y_648_ = v___x_646_; -goto v___jp_647_; +lean_dec(v___x_671_); +lean_inc(v___x_703_); +v___y_705_ = v___x_703_; +goto v___jp_704_; } else { -v___y_648_ = v___x_614_; -goto v___jp_647_; +v___y_705_ = v___x_671_; +goto v___jp_704_; } -v___jp_647_: +v___jp_704_: { -uint8_t v___x_649_; -v___x_649_ = lean_nat_dec_le(v___y_648_, v___x_646_); -if (v___x_649_ == 0) +uint8_t v___x_706_; +v___x_706_ = lean_nat_dec_le(v___y_705_, v___x_703_); +if (v___x_706_ == 0) { -lean_dec(v___x_646_); -lean_inc(v___y_648_); -v___y_637_ = v___y_648_; -v___y_638_ = v___y_648_; -goto v___jp_636_; +lean_dec(v___x_703_); +lean_inc(v___y_705_); +v___y_694_ = v___y_705_; +v___y_695_ = v___y_705_; +goto v___jp_693_; } else { -v___y_637_ = v___y_648_; -v___y_638_ = v___x_646_; -goto v___jp_636_; +v___y_694_ = v___y_705_; +v___y_695_ = v___x_703_; +goto v___jp_693_; } } } else { -lean_dec(v_a_635_); -lean_del_object(v___x_630_); -lean_dec(v___x_614_); -return v___x_634_; +lean_dec(v_a_692_); +lean_del_object(v___x_687_); +lean_dec(v___x_671_); +return v___x_691_; } -v___jp_636_: +v___jp_693_: { -lean_object* v___x_639_; lean_object* v___x_641_; -v___x_639_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_a_635_, v___y_637_, v___y_638_); -lean_dec(v___y_638_); -if (v_isShared_631_ == 0) +lean_object* v___x_696_; lean_object* v___x_698_; +v___x_696_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_a_692_, v___y_694_, v___y_695_); +lean_dec(v___y_695_); +if (v_isShared_688_ == 0) { -lean_ctor_set(v___x_630_, 0, v___x_639_); -v___x_641_ = v___x_630_; -goto v_reusejp_640_; +lean_ctor_set(v___x_687_, 0, v___x_696_); +v___x_698_ = v___x_687_; +goto v_reusejp_697_; } else { -lean_object* v_reuseFailAlloc_642_; -v_reuseFailAlloc_642_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_642_, 0, v___x_639_); -v___x_641_ = v_reuseFailAlloc_642_; -goto v_reusejp_640_; +lean_object* v_reuseFailAlloc_699_; +v_reuseFailAlloc_699_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_699_, 0, v___x_696_); +v___x_698_ = v_reuseFailAlloc_699_; +goto v_reusejp_697_; } -v_reusejp_640_: +v_reusejp_697_: { -return v___x_641_; +return v___x_698_; } } } else { -lean_del_object(v___x_630_); -lean_dec(v___x_614_); -return v___x_634_; +lean_del_object(v___x_687_); +lean_dec(v___x_671_); +return v___x_691_; } } } else { -lean_object* v_a_652_; lean_object* v___x_654_; uint8_t v_isShared_655_; uint8_t v_isSharedCheck_659_; -lean_dec(v_declName_616_); -lean_dec(v___x_614_); -v_a_652_ = lean_ctor_get(v___x_627_, 0); -v_isSharedCheck_659_ = !lean_is_exclusive(v___x_627_); -if (v_isSharedCheck_659_ == 0) +lean_object* v_a_709_; lean_object* v___x_711_; uint8_t v_isShared_712_; uint8_t v_isSharedCheck_716_; +lean_dec(v_declName_673_); +lean_dec(v___x_671_); +v_a_709_ = lean_ctor_get(v___x_684_, 0); +v_isSharedCheck_716_ = !lean_is_exclusive(v___x_684_); +if (v_isSharedCheck_716_ == 0) { -v___x_654_ = v___x_627_; -v_isShared_655_ = v_isSharedCheck_659_; -goto v_resetjp_653_; +v___x_711_ = v___x_684_; +v_isShared_712_ = v_isSharedCheck_716_; +goto v_resetjp_710_; } else { -lean_inc(v_a_652_); -lean_dec(v___x_627_); -v___x_654_ = lean_box(0); -v_isShared_655_ = v_isSharedCheck_659_; -goto v_resetjp_653_; +lean_inc(v_a_709_); +lean_dec(v___x_684_); +v___x_711_ = lean_box(0); +v_isShared_712_ = v_isSharedCheck_716_; +goto v_resetjp_710_; } -v_resetjp_653_: +v_resetjp_710_: { -lean_object* v___x_657_; -if (v_isShared_655_ == 0) +lean_object* v___x_714_; +if (v_isShared_712_ == 0) { -v___x_657_ = v___x_654_; -goto v_reusejp_656_; +v___x_714_ = v___x_711_; +goto v_reusejp_713_; } else { -lean_object* v_reuseFailAlloc_658_; -v_reuseFailAlloc_658_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_658_, 0, v_a_652_); -v___x_657_ = v_reuseFailAlloc_658_; -goto v_reusejp_656_; +lean_object* v_reuseFailAlloc_715_; +v_reuseFailAlloc_715_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_715_, 0, v_a_709_); +v___x_714_ = v_reuseFailAlloc_715_; +goto v_reusejp_713_; } -v_reusejp_656_: +v_reusejp_713_: { -return v___x_657_; +return v___x_714_; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0___boxed(lean_object* v___x_660_, lean_object* v_args_661_, lean_object* v_declName_662_, lean_object* v___x_663_, lean_object* v_xs_664_, lean_object* v_x_665_, lean_object* v___y_666_, lean_object* v___y_667_, lean_object* v___y_668_, lean_object* v___y_669_, lean_object* v___y_670_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0___boxed(lean_object* v___x_717_, lean_object* v_args_718_, lean_object* v_declName_719_, lean_object* v___x_720_, lean_object* v_xs_721_, lean_object* v_x_722_, lean_object* v___y_723_, lean_object* v___y_724_, lean_object* v___y_725_, lean_object* v___y_726_, lean_object* v___y_727_){ _start: { -lean_object* v_res_671_; -v_res_671_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0(v___x_660_, v_args_661_, v_declName_662_, v___x_663_, v_xs_664_, v_x_665_, v___y_666_, v___y_667_, v___y_668_, v___y_669_); -lean_dec(v___y_669_); -lean_dec_ref(v___y_668_); -lean_dec(v___y_667_); -lean_dec_ref(v___y_666_); -lean_dec_ref(v_x_665_); -lean_dec(v___x_663_); -lean_dec_ref(v_args_661_); -return v_res_671_; +lean_object* v_res_728_; +v_res_728_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0(v___x_717_, v_args_718_, v_declName_719_, v___x_720_, v_xs_721_, v_x_722_, v___y_723_, v___y_724_, v___y_725_, v___y_726_); +lean_dec(v___y_726_); +lean_dec_ref(v___y_725_); +lean_dec(v___y_724_); +lean_dec_ref(v___y_723_); +lean_dec_ref(v_x_722_); +lean_dec(v___x_720_); +lean_dec_ref(v_args_718_); +return v_res_728_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0(void){ _start: { -lean_object* v___x_672_; -v___x_672_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_672_; +lean_object* v___x_729_; +v___x_729_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_729_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1(void){ _start: { -lean_object* v___x_673_; lean_object* v___x_674_; -v___x_673_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0); -v___x_674_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_674_, 0, v___x_673_); -return v___x_674_; +lean_object* v___x_730_; lean_object* v___x_731_; +v___x_730_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__0); +v___x_731_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_731_, 0, v___x_730_); +return v___x_731_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2(void){ _start: { -lean_object* v___x_675_; lean_object* v___x_676_; lean_object* v___x_677_; -v___x_675_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1); -v___x_676_ = lean_unsigned_to_nat(0u); -v___x_677_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v___x_677_, 0, v___x_676_); -lean_ctor_set(v___x_677_, 1, v___x_676_); -lean_ctor_set(v___x_677_, 2, v___x_676_); -lean_ctor_set(v___x_677_, 3, v___x_675_); -lean_ctor_set(v___x_677_, 4, v___x_675_); -lean_ctor_set(v___x_677_, 5, v___x_675_); -lean_ctor_set(v___x_677_, 6, v___x_675_); -lean_ctor_set(v___x_677_, 7, v___x_675_); -lean_ctor_set(v___x_677_, 8, v___x_675_); -return v___x_677_; +lean_object* v___x_732_; lean_object* v___x_733_; lean_object* v___x_734_; +v___x_732_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1); +v___x_733_ = lean_unsigned_to_nat(0u); +v___x_734_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v___x_734_, 0, v___x_733_); +lean_ctor_set(v___x_734_, 1, v___x_733_); +lean_ctor_set(v___x_734_, 2, v___x_733_); +lean_ctor_set(v___x_734_, 3, v___x_732_); +lean_ctor_set(v___x_734_, 4, v___x_732_); +lean_ctor_set(v___x_734_, 5, v___x_732_); +lean_ctor_set(v___x_734_, 6, v___x_732_); +lean_ctor_set(v___x_734_, 7, v___x_732_); +lean_ctor_set(v___x_734_, 8, v___x_732_); +return v___x_734_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3(void){ _start: { -lean_object* v___x_678_; lean_object* v___x_679_; lean_object* v___x_680_; -v___x_678_ = lean_unsigned_to_nat(32u); -v___x_679_ = lean_mk_empty_array_with_capacity(v___x_678_); -v___x_680_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_680_, 0, v___x_679_); -return v___x_680_; +lean_object* v___x_735_; lean_object* v___x_736_; lean_object* v___x_737_; +v___x_735_ = lean_unsigned_to_nat(32u); +v___x_736_ = lean_mk_empty_array_with_capacity(v___x_735_); +v___x_737_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_737_, 0, v___x_736_); +return v___x_737_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4(void){ _start: { -size_t v___x_681_; lean_object* v___x_682_; lean_object* v___x_683_; lean_object* v___x_684_; lean_object* v___x_685_; lean_object* v___x_686_; -v___x_681_ = ((size_t)5ULL); -v___x_682_ = lean_unsigned_to_nat(0u); -v___x_683_ = lean_unsigned_to_nat(32u); -v___x_684_ = lean_mk_empty_array_with_capacity(v___x_683_); -v___x_685_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3); -v___x_686_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1); -lean_ctor_set(v___x_686_, 0, v___x_685_); -lean_ctor_set(v___x_686_, 1, v___x_684_); -lean_ctor_set(v___x_686_, 2, v___x_682_); -lean_ctor_set(v___x_686_, 3, v___x_682_); -lean_ctor_set_usize(v___x_686_, 4, v___x_681_); -return v___x_686_; +size_t v___x_738_; lean_object* v___x_739_; lean_object* v___x_740_; lean_object* v___x_741_; lean_object* v___x_742_; lean_object* v___x_743_; +v___x_738_ = ((size_t)5ULL); +v___x_739_ = lean_unsigned_to_nat(0u); +v___x_740_ = lean_unsigned_to_nat(32u); +v___x_741_ = lean_mk_empty_array_with_capacity(v___x_740_); +v___x_742_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__3); +v___x_743_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(v___x_743_, 0, v___x_742_); +lean_ctor_set(v___x_743_, 1, v___x_741_); +lean_ctor_set(v___x_743_, 2, v___x_739_); +lean_ctor_set(v___x_743_, 3, v___x_739_); +lean_ctor_set_usize(v___x_743_, 4, v___x_738_); +return v___x_743_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5(void){ _start: { -lean_object* v___x_687_; lean_object* v___x_688_; lean_object* v___x_689_; lean_object* v___x_690_; -v___x_687_ = lean_box(1); -v___x_688_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); -v___x_689_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1); -v___x_690_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v___x_690_, 0, v___x_689_); -lean_ctor_set(v___x_690_, 1, v___x_688_); -lean_ctor_set(v___x_690_, 2, v___x_687_); -return v___x_690_; +lean_object* v___x_744_; lean_object* v___x_745_; lean_object* v___x_746_; lean_object* v___x_747_; +v___x_744_ = lean_box(1); +v___x_745_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); +v___x_746_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__1); +v___x_747_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v___x_747_, 0, v___x_746_); +lean_ctor_set(v___x_747_, 1, v___x_745_); +lean_ctor_set(v___x_747_, 2, v___x_744_); +return v___x_747_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7(void){ _start: { -lean_object* v___x_692_; lean_object* v___x_693_; -v___x_692_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__6)); -v___x_693_ = l_Lean_stringToMessageData(v___x_692_); -return v___x_693_; +lean_object* v___x_749_; lean_object* v___x_750_; +v___x_749_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__6)); +v___x_750_ = l_Lean_stringToMessageData(v___x_749_); +return v___x_750_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9(void){ _start: { -lean_object* v___x_695_; lean_object* v___x_696_; -v___x_695_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__8)); -v___x_696_ = l_Lean_stringToMessageData(v___x_695_); -return v___x_696_; +lean_object* v___x_752_; lean_object* v___x_753_; +v___x_752_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__8)); +v___x_753_ = l_Lean_stringToMessageData(v___x_752_); +return v___x_753_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11(void){ _start: { -lean_object* v___x_698_; lean_object* v___x_699_; -v___x_698_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__10)); -v___x_699_ = l_Lean_stringToMessageData(v___x_698_); -return v___x_699_; +lean_object* v___x_755_; lean_object* v___x_756_; +v___x_755_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__10)); +v___x_756_ = l_Lean_stringToMessageData(v___x_755_); +return v___x_756_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13(void){ _start: { -lean_object* v___x_701_; lean_object* v___x_702_; -v___x_701_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__12)); -v___x_702_ = l_Lean_stringToMessageData(v___x_701_); -return v___x_702_; +lean_object* v___x_758_; lean_object* v___x_759_; +v___x_758_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__12)); +v___x_759_ = l_Lean_stringToMessageData(v___x_758_); +return v___x_759_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15(void){ _start: { -lean_object* v___x_704_; lean_object* v___x_705_; -v___x_704_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__14)); -v___x_705_ = l_Lean_stringToMessageData(v___x_704_); -return v___x_705_; +lean_object* v___x_761_; lean_object* v___x_762_; +v___x_761_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__14)); +v___x_762_ = l_Lean_stringToMessageData(v___x_761_); +return v___x_762_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17(void){ _start: { -lean_object* v___x_707_; lean_object* v___x_708_; -v___x_707_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__16)); -v___x_708_ = l_Lean_stringToMessageData(v___x_707_); -return v___x_708_; +lean_object* v___x_764_; lean_object* v___x_765_; +v___x_764_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__16)); +v___x_765_ = l_Lean_stringToMessageData(v___x_764_); +return v___x_765_; } } static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19(void){ _start: { -lean_object* v___x_710_; lean_object* v___x_711_; -v___x_710_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__18)); -v___x_711_ = l_Lean_stringToMessageData(v___x_710_); -return v___x_711_; +lean_object* v___x_767_; lean_object* v___x_768_; +v___x_767_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__18)); +v___x_768_ = l_Lean_stringToMessageData(v___x_767_); +return v___x_768_; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(lean_object* v_msg_712_, lean_object* v_declHint_713_, lean_object* v___y_714_){ +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(lean_object* v_msg_769_, lean_object* v_declHint_770_, lean_object* v___y_771_){ _start: { -lean_object* v___x_716_; lean_object* v_env_717_; uint8_t v___x_718_; -v___x_716_ = lean_st_ref_get(v___y_714_); -v_env_717_ = lean_ctor_get(v___x_716_, 0); -lean_inc_ref(v_env_717_); -lean_dec(v___x_716_); -v___x_718_ = l_Lean_Name_isAnonymous(v_declHint_713_); -if (v___x_718_ == 0) +lean_object* v___x_773_; lean_object* v_env_774_; uint8_t v___x_775_; +v___x_773_ = lean_st_ref_get(v___y_771_); +v_env_774_ = lean_ctor_get(v___x_773_, 0); +lean_inc_ref(v_env_774_); +lean_dec(v___x_773_); +v___x_775_ = l_Lean_Name_isAnonymous(v_declHint_770_); +if (v___x_775_ == 0) { -uint8_t v_isExporting_719_; -v_isExporting_719_ = lean_ctor_get_uint8(v_env_717_, sizeof(void*)*8); -if (v_isExporting_719_ == 0) +uint8_t v_isExporting_776_; +v_isExporting_776_ = lean_ctor_get_uint8(v_env_774_, sizeof(void*)*8); +if (v_isExporting_776_ == 0) { -lean_object* v___x_720_; -lean_dec_ref(v_env_717_); -lean_dec(v_declHint_713_); -v___x_720_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_720_, 0, v_msg_712_); -return v___x_720_; +lean_object* v___x_777_; +lean_dec_ref(v_env_774_); +lean_dec(v_declHint_770_); +v___x_777_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_777_, 0, v_msg_769_); +return v___x_777_; } else { -lean_object* v___x_721_; uint8_t v___x_722_; -lean_inc_ref(v_env_717_); -v___x_721_ = l_Lean_Environment_setExporting(v_env_717_, v___x_718_); -lean_inc(v_declHint_713_); -lean_inc_ref(v___x_721_); -v___x_722_ = l_Lean_Environment_contains(v___x_721_, v_declHint_713_, v_isExporting_719_); -if (v___x_722_ == 0) +lean_object* v___x_778_; uint8_t v___x_779_; +lean_inc_ref(v_env_774_); +v___x_778_ = l_Lean_Environment_setExporting(v_env_774_, v___x_775_); +lean_inc(v_declHint_770_); +lean_inc_ref(v___x_778_); +v___x_779_ = l_Lean_Environment_contains(v___x_778_, v_declHint_770_, v_isExporting_776_); +if (v___x_779_ == 0) { -lean_object* v___x_723_; -lean_dec_ref(v___x_721_); -lean_dec_ref(v_env_717_); -lean_dec(v_declHint_713_); -v___x_723_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_723_, 0, v_msg_712_); -return v___x_723_; +lean_object* v___x_780_; +lean_dec_ref(v___x_778_); +lean_dec_ref(v_env_774_); +lean_dec(v_declHint_770_); +v___x_780_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_780_, 0, v_msg_769_); +return v___x_780_; } else { -lean_object* v___x_724_; lean_object* v___x_725_; lean_object* v___x_726_; lean_object* v___x_727_; lean_object* v___x_728_; lean_object* v_c_729_; lean_object* v___x_730_; -v___x_724_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2); -v___x_725_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5); -v___x_726_ = l_Lean_Options_empty; -v___x_727_ = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(v___x_727_, 0, v___x_721_); -lean_ctor_set(v___x_727_, 1, v___x_724_); -lean_ctor_set(v___x_727_, 2, v___x_725_); -lean_ctor_set(v___x_727_, 3, v___x_726_); -lean_inc(v_declHint_713_); -v___x_728_ = l_Lean_MessageData_ofConstName(v_declHint_713_, v___x_718_); -v_c_729_ = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(v_c_729_, 0, v___x_727_); -lean_ctor_set(v_c_729_, 1, v___x_728_); -v___x_730_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_717_, v_declHint_713_); -if (lean_obj_tag(v___x_730_) == 0) +lean_object* v___x_781_; lean_object* v___x_782_; lean_object* v___x_783_; lean_object* v___x_784_; lean_object* v___x_785_; lean_object* v_c_786_; lean_object* v___x_787_; +v___x_781_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__2); +v___x_782_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__5); +v___x_783_ = l_Lean_Options_empty; +v___x_784_ = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(v___x_784_, 0, v___x_778_); +lean_ctor_set(v___x_784_, 1, v___x_781_); +lean_ctor_set(v___x_784_, 2, v___x_782_); +lean_ctor_set(v___x_784_, 3, v___x_783_); +lean_inc(v_declHint_770_); +v___x_785_ = l_Lean_MessageData_ofConstName(v_declHint_770_, v___x_775_); +v_c_786_ = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(v_c_786_, 0, v___x_784_); +lean_ctor_set(v_c_786_, 1, v___x_785_); +v___x_787_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_774_, v_declHint_770_); +if (lean_obj_tag(v___x_787_) == 0) { -lean_object* v___x_731_; lean_object* v___x_732_; lean_object* v___x_733_; lean_object* v___x_734_; lean_object* v___x_735_; lean_object* v___x_736_; lean_object* v___x_737_; -lean_dec_ref(v_env_717_); -lean_dec(v_declHint_713_); -v___x_731_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7); -v___x_732_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_732_, 0, v___x_731_); -lean_ctor_set(v___x_732_, 1, v_c_729_); -v___x_733_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9); -v___x_734_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_734_, 0, v___x_732_); -lean_ctor_set(v___x_734_, 1, v___x_733_); -v___x_735_ = l_Lean_MessageData_note(v___x_734_); -v___x_736_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_736_, 0, v_msg_712_); -lean_ctor_set(v___x_736_, 1, v___x_735_); -v___x_737_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_737_, 0, v___x_736_); -return v___x_737_; +lean_object* v___x_788_; lean_object* v___x_789_; lean_object* v___x_790_; lean_object* v___x_791_; lean_object* v___x_792_; lean_object* v___x_793_; lean_object* v___x_794_; +lean_dec_ref(v_env_774_); +lean_dec(v_declHint_770_); +v___x_788_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7); +v___x_789_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_789_, 0, v___x_788_); +lean_ctor_set(v___x_789_, 1, v_c_786_); +v___x_790_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__9); +v___x_791_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_791_, 0, v___x_789_); +lean_ctor_set(v___x_791_, 1, v___x_790_); +v___x_792_ = l_Lean_MessageData_note(v___x_791_); +v___x_793_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_793_, 0, v_msg_769_); +lean_ctor_set(v___x_793_, 1, v___x_792_); +v___x_794_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_794_, 0, v___x_793_); +return v___x_794_; } else { -lean_object* v_val_738_; lean_object* v___x_740_; uint8_t v_isShared_741_; uint8_t v_isSharedCheck_773_; -v_val_738_ = lean_ctor_get(v___x_730_, 0); -v_isSharedCheck_773_ = !lean_is_exclusive(v___x_730_); -if (v_isSharedCheck_773_ == 0) +lean_object* v_val_795_; lean_object* v___x_797_; uint8_t v_isShared_798_; uint8_t v_isSharedCheck_830_; +v_val_795_ = lean_ctor_get(v___x_787_, 0); +v_isSharedCheck_830_ = !lean_is_exclusive(v___x_787_); +if (v_isSharedCheck_830_ == 0) { -v___x_740_ = v___x_730_; -v_isShared_741_ = v_isSharedCheck_773_; -goto v_resetjp_739_; +v___x_797_ = v___x_787_; +v_isShared_798_ = v_isSharedCheck_830_; +goto v_resetjp_796_; } else { -lean_inc(v_val_738_); -lean_dec(v___x_730_); -v___x_740_ = lean_box(0); -v_isShared_741_ = v_isSharedCheck_773_; -goto v_resetjp_739_; -} -v_resetjp_739_: -{ -lean_object* v___x_742_; lean_object* v___x_743_; lean_object* v___x_744_; lean_object* v_mod_745_; uint8_t v___x_746_; -v___x_742_ = lean_box(0); -v___x_743_ = l_Lean_Environment_header(v_env_717_); -lean_dec_ref(v_env_717_); -v___x_744_ = l_Lean_EnvironmentHeader_moduleNames(v___x_743_); -v_mod_745_ = lean_array_get(v___x_742_, v___x_744_, v_val_738_); -lean_dec(v_val_738_); -lean_dec_ref(v___x_744_); -v___x_746_ = l_Lean_isPrivateName(v_declHint_713_); -lean_dec(v_declHint_713_); -if (v___x_746_ == 0) -{ -lean_object* v___x_747_; lean_object* v___x_748_; lean_object* v___x_749_; lean_object* v___x_750_; lean_object* v___x_751_; lean_object* v___x_752_; lean_object* v___x_753_; lean_object* v___x_754_; lean_object* v___x_755_; lean_object* v___x_756_; lean_object* v___x_758_; -v___x_747_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11); -v___x_748_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_748_, 0, v___x_747_); -lean_ctor_set(v___x_748_, 1, v_c_729_); -v___x_749_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13); -v___x_750_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_750_, 0, v___x_748_); -lean_ctor_set(v___x_750_, 1, v___x_749_); -v___x_751_ = l_Lean_MessageData_ofName(v_mod_745_); -v___x_752_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_752_, 0, v___x_750_); -lean_ctor_set(v___x_752_, 1, v___x_751_); -v___x_753_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15); -v___x_754_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_754_, 0, v___x_752_); -lean_ctor_set(v___x_754_, 1, v___x_753_); -v___x_755_ = l_Lean_MessageData_note(v___x_754_); -v___x_756_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_756_, 0, v_msg_712_); -lean_ctor_set(v___x_756_, 1, v___x_755_); -if (v_isShared_741_ == 0) -{ -lean_ctor_set_tag(v___x_740_, 0); -lean_ctor_set(v___x_740_, 0, v___x_756_); -v___x_758_ = v___x_740_; -goto v_reusejp_757_; -} -else -{ -lean_object* v_reuseFailAlloc_759_; -v_reuseFailAlloc_759_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_759_, 0, v___x_756_); -v___x_758_ = v_reuseFailAlloc_759_; -goto v_reusejp_757_; -} -v_reusejp_757_: -{ -return v___x_758_; -} -} -else -{ -lean_object* v___x_760_; lean_object* v___x_761_; lean_object* v___x_762_; lean_object* v___x_763_; lean_object* v___x_764_; lean_object* v___x_765_; lean_object* v___x_766_; lean_object* v___x_767_; lean_object* v___x_768_; lean_object* v___x_769_; lean_object* v___x_771_; -v___x_760_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7); -v___x_761_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_761_, 0, v___x_760_); -lean_ctor_set(v___x_761_, 1, v_c_729_); -v___x_762_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17); -v___x_763_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_763_, 0, v___x_761_); -lean_ctor_set(v___x_763_, 1, v___x_762_); -v___x_764_ = l_Lean_MessageData_ofName(v_mod_745_); -v___x_765_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_765_, 0, v___x_763_); -lean_ctor_set(v___x_765_, 1, v___x_764_); -v___x_766_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19); -v___x_767_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_767_, 0, v___x_765_); -lean_ctor_set(v___x_767_, 1, v___x_766_); -v___x_768_ = l_Lean_MessageData_note(v___x_767_); -v___x_769_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_769_, 0, v_msg_712_); -lean_ctor_set(v___x_769_, 1, v___x_768_); -if (v_isShared_741_ == 0) -{ -lean_ctor_set_tag(v___x_740_, 0); -lean_ctor_set(v___x_740_, 0, v___x_769_); -v___x_771_ = v___x_740_; -goto v_reusejp_770_; -} -else -{ -lean_object* v_reuseFailAlloc_772_; -v_reuseFailAlloc_772_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_772_, 0, v___x_769_); -v___x_771_ = v_reuseFailAlloc_772_; -goto v_reusejp_770_; -} -v_reusejp_770_: -{ -return v___x_771_; -} -} -} -} -} -} -} -else -{ -lean_object* v___x_774_; -lean_dec_ref(v_env_717_); -lean_dec(v_declHint_713_); -v___x_774_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_774_, 0, v_msg_712_); -return v___x_774_; -} -} -} -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___boxed(lean_object* v_msg_775_, lean_object* v_declHint_776_, lean_object* v___y_777_, lean_object* v___y_778_){ -_start: -{ -lean_object* v_res_779_; -v_res_779_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_775_, v_declHint_776_, v___y_777_); -lean_dec(v___y_777_); -return v_res_779_; -} -} -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(lean_object* v_msg_780_, lean_object* v_declHint_781_, lean_object* v___y_782_, lean_object* v___y_783_, lean_object* v___y_784_, lean_object* v___y_785_){ -_start: -{ -lean_object* v___x_787_; lean_object* v_a_788_; lean_object* v___x_790_; uint8_t v_isShared_791_; uint8_t v_isSharedCheck_797_; -v___x_787_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_780_, v_declHint_781_, v___y_785_); -v_a_788_ = lean_ctor_get(v___x_787_, 0); -v_isSharedCheck_797_ = !lean_is_exclusive(v___x_787_); -if (v_isSharedCheck_797_ == 0) -{ -v___x_790_ = v___x_787_; -v_isShared_791_ = v_isSharedCheck_797_; -goto v_resetjp_789_; -} -else -{ -lean_inc(v_a_788_); +lean_inc(v_val_795_); lean_dec(v___x_787_); -v___x_790_ = lean_box(0); -v_isShared_791_ = v_isSharedCheck_797_; -goto v_resetjp_789_; +v___x_797_ = lean_box(0); +v_isShared_798_ = v_isSharedCheck_830_; +goto v_resetjp_796_; } -v_resetjp_789_: +v_resetjp_796_: { -lean_object* v___x_792_; lean_object* v___x_793_; lean_object* v___x_795_; -v___x_792_ = l_Lean_unknownIdentifierMessageTag; -v___x_793_ = lean_alloc_ctor(8, 2, 0); -lean_ctor_set(v___x_793_, 0, v___x_792_); -lean_ctor_set(v___x_793_, 1, v_a_788_); -if (v_isShared_791_ == 0) +lean_object* v___x_799_; lean_object* v___x_800_; lean_object* v___x_801_; lean_object* v_mod_802_; uint8_t v___x_803_; +v___x_799_ = lean_box(0); +v___x_800_ = l_Lean_Environment_header(v_env_774_); +lean_dec_ref(v_env_774_); +v___x_801_ = l_Lean_EnvironmentHeader_moduleNames(v___x_800_); +v_mod_802_ = lean_array_get(v___x_799_, v___x_801_, v_val_795_); +lean_dec(v_val_795_); +lean_dec_ref(v___x_801_); +v___x_803_ = l_Lean_isPrivateName(v_declHint_770_); +lean_dec(v_declHint_770_); +if (v___x_803_ == 0) { -lean_ctor_set(v___x_790_, 0, v___x_793_); -v___x_795_ = v___x_790_; -goto v_reusejp_794_; +lean_object* v___x_804_; lean_object* v___x_805_; lean_object* v___x_806_; lean_object* v___x_807_; lean_object* v___x_808_; lean_object* v___x_809_; lean_object* v___x_810_; lean_object* v___x_811_; lean_object* v___x_812_; lean_object* v___x_813_; lean_object* v___x_815_; +v___x_804_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__11); +v___x_805_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_805_, 0, v___x_804_); +lean_ctor_set(v___x_805_, 1, v_c_786_); +v___x_806_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__13); +v___x_807_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_807_, 0, v___x_805_); +lean_ctor_set(v___x_807_, 1, v___x_806_); +v___x_808_ = l_Lean_MessageData_ofName(v_mod_802_); +v___x_809_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_809_, 0, v___x_807_); +lean_ctor_set(v___x_809_, 1, v___x_808_); +v___x_810_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__15); +v___x_811_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_811_, 0, v___x_809_); +lean_ctor_set(v___x_811_, 1, v___x_810_); +v___x_812_ = l_Lean_MessageData_note(v___x_811_); +v___x_813_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_813_, 0, v_msg_769_); +lean_ctor_set(v___x_813_, 1, v___x_812_); +if (v_isShared_798_ == 0) +{ +lean_ctor_set_tag(v___x_797_, 0); +lean_ctor_set(v___x_797_, 0, v___x_813_); +v___x_815_ = v___x_797_; +goto v_reusejp_814_; } else { -lean_object* v_reuseFailAlloc_796_; -v_reuseFailAlloc_796_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_796_, 0, v___x_793_); -v___x_795_ = v_reuseFailAlloc_796_; -goto v_reusejp_794_; +lean_object* v_reuseFailAlloc_816_; +v_reuseFailAlloc_816_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_816_, 0, v___x_813_); +v___x_815_ = v_reuseFailAlloc_816_; +goto v_reusejp_814_; } -v_reusejp_794_: +v_reusejp_814_: { -return v___x_795_; +return v___x_815_; +} +} +else +{ +lean_object* v___x_817_; lean_object* v___x_818_; lean_object* v___x_819_; lean_object* v___x_820_; lean_object* v___x_821_; lean_object* v___x_822_; lean_object* v___x_823_; lean_object* v___x_824_; lean_object* v___x_825_; lean_object* v___x_826_; lean_object* v___x_828_; +v___x_817_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__7); +v___x_818_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_818_, 0, v___x_817_); +lean_ctor_set(v___x_818_, 1, v_c_786_); +v___x_819_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__17); +v___x_820_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_820_, 0, v___x_818_); +lean_ctor_set(v___x_820_, 1, v___x_819_); +v___x_821_ = l_Lean_MessageData_ofName(v_mod_802_); +v___x_822_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_822_, 0, v___x_820_); +lean_ctor_set(v___x_822_, 1, v___x_821_); +v___x_823_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__19); +v___x_824_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_824_, 0, v___x_822_); +lean_ctor_set(v___x_824_, 1, v___x_823_); +v___x_825_ = l_Lean_MessageData_note(v___x_824_); +v___x_826_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_826_, 0, v_msg_769_); +lean_ctor_set(v___x_826_, 1, v___x_825_); +if (v_isShared_798_ == 0) +{ +lean_ctor_set_tag(v___x_797_, 0); +lean_ctor_set(v___x_797_, 0, v___x_826_); +v___x_828_ = v___x_797_; +goto v_reusejp_827_; +} +else +{ +lean_object* v_reuseFailAlloc_829_; +v_reuseFailAlloc_829_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_829_, 0, v___x_826_); +v___x_828_ = v_reuseFailAlloc_829_; +goto v_reusejp_827_; +} +v_reusejp_827_: +{ +return v___x_828_; } } } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15___boxed(lean_object* v_msg_798_, lean_object* v_declHint_799_, lean_object* v___y_800_, lean_object* v___y_801_, lean_object* v___y_802_, lean_object* v___y_803_, lean_object* v___y_804_){ +} +} +} +else +{ +lean_object* v___x_831_; +lean_dec_ref(v_env_774_); +lean_dec(v_declHint_770_); +v___x_831_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_831_, 0, v_msg_769_); +return v___x_831_; +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___boxed(lean_object* v_msg_832_, lean_object* v_declHint_833_, lean_object* v___y_834_, lean_object* v___y_835_){ _start: { -lean_object* v_res_805_; -v_res_805_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(v_msg_798_, v_declHint_799_, v___y_800_, v___y_801_, v___y_802_, v___y_803_); -lean_dec(v___y_803_); -lean_dec_ref(v___y_802_); -lean_dec(v___y_801_); -lean_dec_ref(v___y_800_); -return v_res_805_; +lean_object* v_res_836_; +v_res_836_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_832_, v_declHint_833_, v___y_834_); +lean_dec(v___y_834_); +return v_res_836_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(lean_object* v_ref_806_, lean_object* v_msg_807_, lean_object* v_declHint_808_, lean_object* v___y_809_, lean_object* v___y_810_, lean_object* v___y_811_, lean_object* v___y_812_){ +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(lean_object* v_msg_837_, lean_object* v_declHint_838_, lean_object* v___y_839_, lean_object* v___y_840_, lean_object* v___y_841_, lean_object* v___y_842_){ _start: { -lean_object* v___x_814_; lean_object* v_a_815_; lean_object* v___x_816_; -v___x_814_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(v_msg_807_, v_declHint_808_, v___y_809_, v___y_810_, v___y_811_, v___y_812_); -v_a_815_ = lean_ctor_get(v___x_814_, 0); -lean_inc(v_a_815_); -lean_dec_ref(v___x_814_); -v___x_816_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_806_, v_a_815_, v___y_809_, v___y_810_, v___y_811_, v___y_812_); -return v___x_816_; +lean_object* v___x_844_; lean_object* v_a_845_; lean_object* v___x_847_; uint8_t v_isShared_848_; uint8_t v_isSharedCheck_854_; +v___x_844_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_837_, v_declHint_838_, v___y_842_); +v_a_845_ = lean_ctor_get(v___x_844_, 0); +v_isSharedCheck_854_ = !lean_is_exclusive(v___x_844_); +if (v_isSharedCheck_854_ == 0) +{ +v___x_847_ = v___x_844_; +v_isShared_848_ = v_isSharedCheck_854_; +goto v_resetjp_846_; +} +else +{ +lean_inc(v_a_845_); +lean_dec(v___x_844_); +v___x_847_ = lean_box(0); +v_isShared_848_ = v_isSharedCheck_854_; +goto v_resetjp_846_; +} +v_resetjp_846_: +{ +lean_object* v___x_849_; lean_object* v___x_850_; lean_object* v___x_852_; +v___x_849_ = l_Lean_unknownIdentifierMessageTag; +v___x_850_ = lean_alloc_ctor(8, 2, 0); +lean_ctor_set(v___x_850_, 0, v___x_849_); +lean_ctor_set(v___x_850_, 1, v_a_845_); +if (v_isShared_848_ == 0) +{ +lean_ctor_set(v___x_847_, 0, v___x_850_); +v___x_852_ = v___x_847_; +goto v_reusejp_851_; +} +else +{ +lean_object* v_reuseFailAlloc_853_; +v_reuseFailAlloc_853_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_853_, 0, v___x_850_); +v___x_852_ = v_reuseFailAlloc_853_; +goto v_reusejp_851_; +} +v_reusejp_851_: +{ +return v___x_852_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg___boxed(lean_object* v_ref_817_, lean_object* v_msg_818_, lean_object* v_declHint_819_, lean_object* v___y_820_, lean_object* v___y_821_, lean_object* v___y_822_, lean_object* v___y_823_, lean_object* v___y_824_){ +} +} +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15___boxed(lean_object* v_msg_855_, lean_object* v_declHint_856_, lean_object* v___y_857_, lean_object* v___y_858_, lean_object* v___y_859_, lean_object* v___y_860_, lean_object* v___y_861_){ _start: { -lean_object* v_res_825_; -v_res_825_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_817_, v_msg_818_, v_declHint_819_, v___y_820_, v___y_821_, v___y_822_, v___y_823_); -lean_dec(v___y_823_); -lean_dec_ref(v___y_822_); -lean_dec(v___y_821_); -lean_dec_ref(v___y_820_); -lean_dec(v_ref_817_); -return v_res_825_; +lean_object* v_res_862_; +v_res_862_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(v_msg_855_, v_declHint_856_, v___y_857_, v___y_858_, v___y_859_, v___y_860_); +lean_dec(v___y_860_); +lean_dec_ref(v___y_859_); +lean_dec(v___y_858_); +lean_dec_ref(v___y_857_); +return v_res_862_; +} +} +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(lean_object* v_ref_863_, lean_object* v_msg_864_, lean_object* v_declHint_865_, lean_object* v___y_866_, lean_object* v___y_867_, lean_object* v___y_868_, lean_object* v___y_869_){ +_start: +{ +lean_object* v___x_871_; lean_object* v_a_872_; lean_object* v___x_873_; +v___x_871_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15(v_msg_864_, v_declHint_865_, v___y_866_, v___y_867_, v___y_868_, v___y_869_); +v_a_872_ = lean_ctor_get(v___x_871_, 0); +lean_inc(v_a_872_); +lean_dec_ref(v___x_871_); +v___x_873_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_863_, v_a_872_, v___y_866_, v___y_867_, v___y_868_, v___y_869_); +return v___x_873_; +} +} +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg___boxed(lean_object* v_ref_874_, lean_object* v_msg_875_, lean_object* v_declHint_876_, lean_object* v___y_877_, lean_object* v___y_878_, lean_object* v___y_879_, lean_object* v___y_880_, lean_object* v___y_881_){ +_start: +{ +lean_object* v_res_882_; +v_res_882_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_874_, v_msg_875_, v_declHint_876_, v___y_877_, v___y_878_, v___y_879_, v___y_880_); +lean_dec(v___y_880_); +lean_dec_ref(v___y_879_); +lean_dec(v___y_878_); +lean_dec_ref(v___y_877_); +lean_dec(v_ref_874_); +return v_res_882_; } } static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1(void){ _start: { -lean_object* v___x_827_; lean_object* v___x_828_; -v___x_827_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__0)); -v___x_828_ = l_Lean_stringToMessageData(v___x_827_); -return v___x_828_; +lean_object* v___x_884_; lean_object* v___x_885_; +v___x_884_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__0)); +v___x_885_ = l_Lean_stringToMessageData(v___x_884_); +return v___x_885_; } } static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3(void){ _start: { -lean_object* v___x_830_; lean_object* v___x_831_; -v___x_830_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__2)); -v___x_831_ = l_Lean_stringToMessageData(v___x_830_); -return v___x_831_; +lean_object* v___x_887_; lean_object* v___x_888_; +v___x_887_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__2)); +v___x_888_ = l_Lean_stringToMessageData(v___x_887_); +return v___x_888_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(lean_object* v_ref_832_, lean_object* v_constName_833_, lean_object* v___y_834_, lean_object* v___y_835_, lean_object* v___y_836_, lean_object* v___y_837_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(lean_object* v_ref_889_, lean_object* v_constName_890_, lean_object* v___y_891_, lean_object* v___y_892_, lean_object* v___y_893_, lean_object* v___y_894_){ _start: { -lean_object* v___x_839_; uint8_t v___x_840_; lean_object* v___x_841_; lean_object* v___x_842_; lean_object* v___x_843_; lean_object* v___x_844_; lean_object* v___x_845_; -v___x_839_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1); -v___x_840_ = 0; -lean_inc(v_constName_833_); -v___x_841_ = l_Lean_MessageData_ofConstName(v_constName_833_, v___x_840_); -v___x_842_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_842_, 0, v___x_839_); -lean_ctor_set(v___x_842_, 1, v___x_841_); -v___x_843_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3); -v___x_844_ = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(v___x_844_, 0, v___x_842_); -lean_ctor_set(v___x_844_, 1, v___x_843_); -v___x_845_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_832_, v___x_844_, v_constName_833_, v___y_834_, v___y_835_, v___y_836_, v___y_837_); -return v___x_845_; +lean_object* v___x_896_; uint8_t v___x_897_; lean_object* v___x_898_; lean_object* v___x_899_; lean_object* v___x_900_; lean_object* v___x_901_; lean_object* v___x_902_; +v___x_896_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__1); +v___x_897_ = 0; +lean_inc(v_constName_890_); +v___x_898_ = l_Lean_MessageData_ofConstName(v_constName_890_, v___x_897_); +v___x_899_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_899_, 0, v___x_896_); +lean_ctor_set(v___x_899_, 1, v___x_898_); +v___x_900_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___closed__3); +v___x_901_ = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(v___x_901_, 0, v___x_899_); +lean_ctor_set(v___x_901_, 1, v___x_900_); +v___x_902_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_889_, v___x_901_, v_constName_890_, v___y_891_, v___y_892_, v___y_893_, v___y_894_); +return v___x_902_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___boxed(lean_object* v_ref_846_, lean_object* v_constName_847_, lean_object* v___y_848_, lean_object* v___y_849_, lean_object* v___y_850_, lean_object* v___y_851_, lean_object* v___y_852_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg___boxed(lean_object* v_ref_903_, lean_object* v_constName_904_, lean_object* v___y_905_, lean_object* v___y_906_, lean_object* v___y_907_, lean_object* v___y_908_, lean_object* v___y_909_){ _start: { -lean_object* v_res_853_; -v_res_853_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_846_, v_constName_847_, v___y_848_, v___y_849_, v___y_850_, v___y_851_); -lean_dec(v___y_851_); -lean_dec_ref(v___y_850_); -lean_dec(v___y_849_); -lean_dec_ref(v___y_848_); -lean_dec(v_ref_846_); -return v_res_853_; +lean_object* v_res_910_; +v_res_910_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_903_, v_constName_904_, v___y_905_, v___y_906_, v___y_907_, v___y_908_); +lean_dec(v___y_908_); +lean_dec_ref(v___y_907_); +lean_dec(v___y_906_); +lean_dec_ref(v___y_905_); +lean_dec(v_ref_903_); +return v_res_910_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(lean_object* v_constName_854_, lean_object* v___y_855_, lean_object* v___y_856_, lean_object* v___y_857_, lean_object* v___y_858_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(lean_object* v_constName_911_, lean_object* v___y_912_, lean_object* v___y_913_, lean_object* v___y_914_, lean_object* v___y_915_){ _start: { -lean_object* v_ref_860_; lean_object* v___x_861_; -v_ref_860_ = lean_ctor_get(v___y_857_, 5); -v___x_861_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_860_, v_constName_854_, v___y_855_, v___y_856_, v___y_857_, v___y_858_); -return v___x_861_; +lean_object* v_ref_917_; lean_object* v___x_918_; +v_ref_917_ = lean_ctor_get(v___y_914_, 5); +v___x_918_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_917_, v_constName_911_, v___y_912_, v___y_913_, v___y_914_, v___y_915_); +return v___x_918_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg___boxed(lean_object* v_constName_862_, lean_object* v___y_863_, lean_object* v___y_864_, lean_object* v___y_865_, lean_object* v___y_866_, lean_object* v___y_867_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg___boxed(lean_object* v_constName_919_, lean_object* v___y_920_, lean_object* v___y_921_, lean_object* v___y_922_, lean_object* v___y_923_, lean_object* v___y_924_){ _start: { -lean_object* v_res_868_; -v_res_868_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_862_, v___y_863_, v___y_864_, v___y_865_, v___y_866_); -lean_dec(v___y_866_); -lean_dec_ref(v___y_865_); -lean_dec(v___y_864_); -lean_dec_ref(v___y_863_); -return v_res_868_; +lean_object* v_res_925_; +v_res_925_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_919_, v___y_920_, v___y_921_, v___y_922_, v___y_923_); +lean_dec(v___y_923_); +lean_dec_ref(v___y_922_); +lean_dec(v___y_921_); +lean_dec_ref(v___y_920_); +return v_res_925_; } } -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(lean_object* v_constName_869_, lean_object* v___y_870_, lean_object* v___y_871_, lean_object* v___y_872_, lean_object* v___y_873_){ +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(lean_object* v_constName_926_, lean_object* v___y_927_, lean_object* v___y_928_, lean_object* v___y_929_, lean_object* v___y_930_){ _start: { -lean_object* v___x_875_; lean_object* v_env_876_; uint8_t v___x_877_; lean_object* v___x_878_; -v___x_875_ = lean_st_ref_get(v___y_873_); -v_env_876_ = lean_ctor_get(v___x_875_, 0); -lean_inc_ref(v_env_876_); -lean_dec(v___x_875_); -v___x_877_ = 0; -lean_inc(v_constName_869_); -v___x_878_ = l_Lean_Environment_find_x3f(v_env_876_, v_constName_869_, v___x_877_); -if (lean_obj_tag(v___x_878_) == 0) +lean_object* v___x_932_; lean_object* v_env_933_; uint8_t v___x_934_; lean_object* v___x_935_; +v___x_932_ = lean_st_ref_get(v___y_930_); +v_env_933_ = lean_ctor_get(v___x_932_, 0); +lean_inc_ref(v_env_933_); +lean_dec(v___x_932_); +v___x_934_ = 0; +lean_inc(v_constName_926_); +v___x_935_ = l_Lean_Environment_find_x3f(v_env_933_, v_constName_926_, v___x_934_); +if (lean_obj_tag(v___x_935_) == 0) { -lean_object* v___x_879_; -v___x_879_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_869_, v___y_870_, v___y_871_, v___y_872_, v___y_873_); -return v___x_879_; +lean_object* v___x_936_; +v___x_936_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_926_, v___y_927_, v___y_928_, v___y_929_, v___y_930_); +return v___x_936_; } else { -lean_object* v_val_880_; lean_object* v___x_882_; uint8_t v_isShared_883_; uint8_t v_isSharedCheck_887_; -lean_dec(v_constName_869_); -v_val_880_ = lean_ctor_get(v___x_878_, 0); -v_isSharedCheck_887_ = !lean_is_exclusive(v___x_878_); -if (v_isSharedCheck_887_ == 0) +lean_object* v_val_937_; lean_object* v___x_939_; uint8_t v_isShared_940_; uint8_t v_isSharedCheck_944_; +lean_dec(v_constName_926_); +v_val_937_ = lean_ctor_get(v___x_935_, 0); +v_isSharedCheck_944_ = !lean_is_exclusive(v___x_935_); +if (v_isSharedCheck_944_ == 0) { -v___x_882_ = v___x_878_; -v_isShared_883_ = v_isSharedCheck_887_; -goto v_resetjp_881_; +v___x_939_ = v___x_935_; +v_isShared_940_ = v_isSharedCheck_944_; +goto v_resetjp_938_; } else { -lean_inc(v_val_880_); -lean_dec(v___x_878_); -v___x_882_ = lean_box(0); -v_isShared_883_ = v_isSharedCheck_887_; -goto v_resetjp_881_; +lean_inc(v_val_937_); +lean_dec(v___x_935_); +v___x_939_ = lean_box(0); +v_isShared_940_ = v_isSharedCheck_944_; +goto v_resetjp_938_; } -v_resetjp_881_: +v_resetjp_938_: { -lean_object* v___x_885_; -if (v_isShared_883_ == 0) +lean_object* v___x_942_; +if (v_isShared_940_ == 0) { -lean_ctor_set_tag(v___x_882_, 0); -v___x_885_ = v___x_882_; -goto v_reusejp_884_; +lean_ctor_set_tag(v___x_939_, 0); +v___x_942_ = v___x_939_; +goto v_reusejp_941_; } else { -lean_object* v_reuseFailAlloc_886_; -v_reuseFailAlloc_886_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_886_, 0, v_val_880_); -v___x_885_ = v_reuseFailAlloc_886_; -goto v_reusejp_884_; +lean_object* v_reuseFailAlloc_943_; +v_reuseFailAlloc_943_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_943_, 0, v_val_937_); +v___x_942_ = v_reuseFailAlloc_943_; +goto v_reusejp_941_; } -v_reusejp_884_: +v_reusejp_941_: { -return v___x_885_; +return v___x_942_; } } } } } -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6___boxed(lean_object* v_constName_888_, lean_object* v___y_889_, lean_object* v___y_890_, lean_object* v___y_891_, lean_object* v___y_892_, lean_object* v___y_893_){ +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6___boxed(lean_object* v_constName_945_, lean_object* v___y_946_, lean_object* v___y_947_, lean_object* v___y_948_, lean_object* v___y_949_, lean_object* v___y_950_){ _start: { -lean_object* v_res_894_; -v_res_894_ = l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(v_constName_888_, v___y_889_, v___y_890_, v___y_891_, v___y_892_); -lean_dec(v___y_892_); -lean_dec_ref(v___y_891_); -lean_dec(v___y_890_); -lean_dec_ref(v___y_889_); -return v_res_894_; +lean_object* v_res_951_; +v_res_951_ = l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(v_constName_945_, v___y_946_, v___y_947_, v___y_948_, v___y_949_); +lean_dec(v___y_949_); +lean_dec_ref(v___y_948_); +lean_dec(v___y_947_); +lean_dec_ref(v___y_946_); +return v_res_951_; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(lean_object* v_declName_897_, lean_object* v_args_898_, lean_object* v_a_899_, lean_object* v_a_900_, lean_object* v_a_901_, lean_object* v_a_902_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(lean_object* v_declName_954_, lean_object* v_args_955_, lean_object* v_a_956_, lean_object* v_a_957_, lean_object* v_a_958_, lean_object* v_a_959_){ _start: { -lean_object* v___x_904_; lean_object* v___x_905_; uint8_t v___x_906_; -v___x_904_ = lean_array_get_size(v_args_898_); -v___x_905_ = lean_unsigned_to_nat(0u); -v___x_906_ = lean_nat_dec_eq(v___x_904_, v___x_905_); -if (v___x_906_ == 0) +lean_object* v___x_961_; lean_object* v___x_962_; uint8_t v___x_963_; +v___x_961_ = lean_array_get_size(v_args_955_); +v___x_962_ = lean_unsigned_to_nat(0u); +v___x_963_ = lean_nat_dec_eq(v___x_961_, v___x_962_); +if (v___x_963_ == 0) { -lean_object* v___x_907_; -lean_inc(v_declName_897_); -v___x_907_ = l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(v_declName_897_, v_a_899_, v_a_900_, v_a_901_, v_a_902_); -if (lean_obj_tag(v___x_907_) == 0) +lean_object* v___x_964_; +lean_inc(v_declName_954_); +v___x_964_ = l_Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6(v_declName_954_, v_a_956_, v_a_957_, v_a_958_, v_a_959_); +if (lean_obj_tag(v___x_964_) == 0) { -lean_object* v_a_908_; lean_object* v___f_909_; lean_object* v___x_910_; lean_object* v___x_911_; -v_a_908_ = lean_ctor_get(v___x_907_, 0); -lean_inc(v_a_908_); -lean_dec_ref(v___x_907_); -v___f_909_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0___boxed), 11, 4); -lean_closure_set(v___f_909_, 0, v___x_905_); -lean_closure_set(v___f_909_, 1, v_args_898_); -lean_closure_set(v___f_909_, 2, v_declName_897_); -lean_closure_set(v___f_909_, 3, v___x_904_); -v___x_910_ = l_Lean_ConstantInfo_type(v_a_908_); -lean_dec(v_a_908_); -v___x_911_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v___x_910_, v___f_909_, v___x_906_, v___x_906_, v_a_899_, v_a_900_, v_a_901_, v_a_902_); -return v___x_911_; +lean_object* v_a_965_; lean_object* v___f_966_; lean_object* v___x_967_; lean_object* v___x_968_; +v_a_965_ = lean_ctor_get(v___x_964_, 0); +lean_inc(v_a_965_); +lean_dec_ref(v___x_964_); +v___f_966_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___lam__0___boxed), 11, 4); +lean_closure_set(v___f_966_, 0, v___x_962_); +lean_closure_set(v___f_966_, 1, v_args_955_); +lean_closure_set(v___f_966_, 2, v_declName_954_); +lean_closure_set(v___f_966_, 3, v___x_961_); +v___x_967_ = l_Lean_ConstantInfo_type(v_a_965_); +lean_dec(v_a_965_); +v___x_968_ = l_Lean_Meta_forallTelescopeReducing___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__7___redArg(v___x_967_, v___f_966_, v___x_963_, v___x_963_, v_a_956_, v_a_957_, v_a_958_, v_a_959_); +return v___x_968_; } else { -lean_object* v_a_912_; lean_object* v___x_914_; uint8_t v_isShared_915_; uint8_t v_isSharedCheck_919_; -lean_dec_ref(v_args_898_); -lean_dec(v_declName_897_); -v_a_912_ = lean_ctor_get(v___x_907_, 0); -v_isSharedCheck_919_ = !lean_is_exclusive(v___x_907_); -if (v_isSharedCheck_919_ == 0) +lean_object* v_a_969_; lean_object* v___x_971_; uint8_t v_isShared_972_; uint8_t v_isSharedCheck_976_; +lean_dec_ref(v_args_955_); +lean_dec(v_declName_954_); +v_a_969_ = lean_ctor_get(v___x_964_, 0); +v_isSharedCheck_976_ = !lean_is_exclusive(v___x_964_); +if (v_isSharedCheck_976_ == 0) { -v___x_914_ = v___x_907_; -v_isShared_915_ = v_isSharedCheck_919_; -goto v_resetjp_913_; +v___x_971_ = v___x_964_; +v_isShared_972_ = v_isSharedCheck_976_; +goto v_resetjp_970_; } else { -lean_inc(v_a_912_); -lean_dec(v___x_907_); -v___x_914_ = lean_box(0); -v_isShared_915_ = v_isSharedCheck_919_; -goto v_resetjp_913_; +lean_inc(v_a_969_); +lean_dec(v___x_964_); +v___x_971_ = lean_box(0); +v_isShared_972_ = v_isSharedCheck_976_; +goto v_resetjp_970_; } -v_resetjp_913_: +v_resetjp_970_: { -lean_object* v___x_917_; -if (v_isShared_915_ == 0) +lean_object* v___x_974_; +if (v_isShared_972_ == 0) { -v___x_917_ = v___x_914_; -goto v_reusejp_916_; +v___x_974_ = v___x_971_; +goto v_reusejp_973_; } else { -lean_object* v_reuseFailAlloc_918_; -v_reuseFailAlloc_918_ = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(v_reuseFailAlloc_918_, 0, v_a_912_); -v___x_917_ = v_reuseFailAlloc_918_; -goto v_reusejp_916_; +lean_object* v_reuseFailAlloc_975_; +v_reuseFailAlloc_975_ = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(v_reuseFailAlloc_975_, 0, v_a_969_); +v___x_974_ = v_reuseFailAlloc_975_; +goto v_reusejp_973_; } -v_reusejp_916_: +v_reusejp_973_: { -return v___x_917_; +return v___x_974_; } } } } else { -lean_object* v___x_920_; lean_object* v___x_921_; -lean_dec_ref(v_args_898_); -lean_dec(v_declName_897_); -v___x_920_ = ((lean_object*)(l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___closed__0)); -v___x_921_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_921_, 0, v___x_920_); -return v___x_921_; +lean_object* v___x_977_; lean_object* v___x_978_; +lean_dec_ref(v_args_955_); +lean_dec(v_declName_954_); +v___x_977_ = ((lean_object*)(l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___closed__0)); +v___x_978_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_978_, 0, v___x_977_); +return v___x_978_; } } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___boxed(lean_object* v_declName_922_, lean_object* v_args_923_, lean_object* v_a_924_, lean_object* v_a_925_, lean_object* v_a_926_, lean_object* v_a_927_, lean_object* v_a_928_){ +LEAN_EXPORT lean_object* l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs___boxed(lean_object* v_declName_979_, lean_object* v_args_980_, lean_object* v_a_981_, lean_object* v_a_982_, lean_object* v_a_983_, lean_object* v_a_984_, lean_object* v_a_985_){ _start: { -lean_object* v_res_929_; -v_res_929_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(v_declName_922_, v_args_923_, v_a_924_, v_a_925_, v_a_926_, v_a_927_); -lean_dec(v_a_927_); -lean_dec_ref(v_a_926_); -lean_dec(v_a_925_); -lean_dec_ref(v_a_924_); -return v_res_929_; +lean_object* v_res_986_; +v_res_986_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(v_declName_979_, v_args_980_, v_a_981_, v_a_982_, v_a_983_, v_a_984_); +lean_dec(v_a_984_); +lean_dec_ref(v_a_983_); +lean_dec(v_a_982_); +lean_dec_ref(v_a_981_); +return v_res_986_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0(size_t v_sz_930_, size_t v_i_931_, lean_object* v_bs_932_, lean_object* v___y_933_, lean_object* v___y_934_, lean_object* v___y_935_, lean_object* v___y_936_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0(size_t v_sz_987_, size_t v_i_988_, lean_object* v_bs_989_, lean_object* v___y_990_, lean_object* v___y_991_, lean_object* v___y_992_, lean_object* v___y_993_){ _start: { -lean_object* v___x_938_; -v___x_938_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_930_, v_i_931_, v_bs_932_, v___y_933_, v___y_935_, v___y_936_); -return v___x_938_; +lean_object* v___x_995_; +v___x_995_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___redArg(v_sz_987_, v_i_988_, v_bs_989_, v___y_990_, v___y_992_, v___y_993_); +return v___x_995_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___boxed(lean_object* v_sz_939_, lean_object* v_i_940_, lean_object* v_bs_941_, lean_object* v___y_942_, lean_object* v___y_943_, lean_object* v___y_944_, lean_object* v___y_945_, lean_object* v___y_946_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0___boxed(lean_object* v_sz_996_, lean_object* v_i_997_, lean_object* v_bs_998_, lean_object* v___y_999_, lean_object* v___y_1000_, lean_object* v___y_1001_, lean_object* v___y_1002_, lean_object* v___y_1003_){ _start: { -size_t v_sz_boxed_947_; size_t v_i_boxed_948_; lean_object* v_res_949_; -v_sz_boxed_947_ = lean_unbox_usize(v_sz_939_); -lean_dec(v_sz_939_); -v_i_boxed_948_ = lean_unbox_usize(v_i_940_); -lean_dec(v_i_940_); -v_res_949_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0(v_sz_boxed_947_, v_i_boxed_948_, v_bs_941_, v___y_942_, v___y_943_, v___y_944_, v___y_945_); -lean_dec(v___y_945_); -lean_dec_ref(v___y_944_); -lean_dec(v___y_943_); -lean_dec_ref(v___y_942_); -return v_res_949_; +size_t v_sz_boxed_1004_; size_t v_i_boxed_1005_; lean_object* v_res_1006_; +v_sz_boxed_1004_ = lean_unbox_usize(v_sz_996_); +lean_dec(v_sz_996_); +v_i_boxed_1005_ = lean_unbox_usize(v_i_997_); +lean_dec(v_i_997_); +v_res_1006_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__0(v_sz_boxed_1004_, v_i_boxed_1005_, v_bs_998_, v___y_999_, v___y_1000_, v___y_1001_, v___y_1002_); +lean_dec(v___y_1002_); +lean_dec_ref(v___y_1001_); +lean_dec(v___y_1000_); +lean_dec_ref(v___y_999_); +return v_res_1006_; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2(lean_object* v_00_u03b1_950_, lean_object* v_ref_951_, lean_object* v_msg_952_, lean_object* v___y_953_, lean_object* v___y_954_, lean_object* v___y_955_, lean_object* v___y_956_){ +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2(lean_object* v_00_u03b1_1007_, lean_object* v_ref_1008_, lean_object* v_msg_1009_, lean_object* v___y_1010_, lean_object* v___y_1011_, lean_object* v___y_1012_, lean_object* v___y_1013_){ _start: { -lean_object* v___x_958_; -v___x_958_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_951_, v_msg_952_, v___y_953_, v___y_954_, v___y_955_, v___y_956_); -return v___x_958_; +lean_object* v___x_1015_; +v___x_1015_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___redArg(v_ref_1008_, v_msg_1009_, v___y_1010_, v___y_1011_, v___y_1012_, v___y_1013_); +return v___x_1015_; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___boxed(lean_object* v_00_u03b1_959_, lean_object* v_ref_960_, lean_object* v_msg_961_, lean_object* v___y_962_, lean_object* v___y_963_, lean_object* v___y_964_, lean_object* v___y_965_, lean_object* v___y_966_){ +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2___boxed(lean_object* v_00_u03b1_1016_, lean_object* v_ref_1017_, lean_object* v_msg_1018_, lean_object* v___y_1019_, lean_object* v___y_1020_, lean_object* v___y_1021_, lean_object* v___y_1022_, lean_object* v___y_1023_){ _start: { -lean_object* v_res_967_; -v_res_967_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2(v_00_u03b1_959_, v_ref_960_, v_msg_961_, v___y_962_, v___y_963_, v___y_964_, v___y_965_); -lean_dec(v___y_965_); -lean_dec_ref(v___y_964_); -lean_dec(v___y_963_); -lean_dec_ref(v___y_962_); -lean_dec(v_ref_960_); -return v_res_967_; +lean_object* v_res_1024_; +v_res_1024_ = l_Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2(v_00_u03b1_1016_, v_ref_1017_, v_msg_1018_, v___y_1019_, v___y_1020_, v___y_1021_, v___y_1022_); +lean_dec(v___y_1022_); +lean_dec_ref(v___y_1021_); +lean_dec(v___y_1020_); +lean_dec_ref(v___y_1019_); +lean_dec(v_ref_1017_); +return v_res_1024_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5(lean_object* v_n_968_, lean_object* v_as_969_, lean_object* v_lo_970_, lean_object* v_hi_971_, lean_object* v_w_972_, lean_object* v_hlo_973_, lean_object* v_hhi_974_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5(lean_object* v_n_1025_, lean_object* v_as_1026_, lean_object* v_lo_1027_, lean_object* v_hi_1028_, lean_object* v_w_1029_, lean_object* v_hlo_1030_, lean_object* v_hhi_1031_){ _start: { -lean_object* v___x_975_; -v___x_975_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_as_969_, v_lo_970_, v_hi_971_); -return v___x_975_; +lean_object* v___x_1032_; +v___x_1032_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___redArg(v_as_1026_, v_lo_1027_, v_hi_1028_); +return v___x_1032_; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___boxed(lean_object* v_n_976_, lean_object* v_as_977_, lean_object* v_lo_978_, lean_object* v_hi_979_, lean_object* v_w_980_, lean_object* v_hlo_981_, lean_object* v_hhi_982_){ +LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5___boxed(lean_object* v_n_1033_, lean_object* v_as_1034_, lean_object* v_lo_1035_, lean_object* v_hi_1036_, lean_object* v_w_1037_, lean_object* v_hlo_1038_, lean_object* v_hhi_1039_){ _start: { -lean_object* v_res_983_; -v_res_983_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5(v_n_976_, v_as_977_, v_lo_978_, v_hi_979_, v_w_980_, v_hlo_981_, v_hhi_982_); -lean_dec(v_hi_979_); -lean_dec(v_n_976_); -return v_res_983_; +lean_object* v_res_1040_; +v_res_1040_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__5(v_n_1033_, v_as_1034_, v_lo_1035_, v_hi_1036_, v_w_1037_, v_hlo_1038_, v_hhi_1039_); +lean_dec(v_hi_1036_); +lean_dec(v_n_1033_); +return v_res_1040_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3(lean_object* v_00_u03b1_984_, lean_object* v_msg_985_, lean_object* v___y_986_, lean_object* v___y_987_, lean_object* v___y_988_, lean_object* v___y_989_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3(lean_object* v_00_u03b1_1041_, lean_object* v_msg_1042_, lean_object* v___y_1043_, lean_object* v___y_1044_, lean_object* v___y_1045_, lean_object* v___y_1046_){ _start: { -lean_object* v___x_991_; -v___x_991_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_985_, v___y_986_, v___y_987_, v___y_988_, v___y_989_); -return v___x_991_; +lean_object* v___x_1048_; +v___x_1048_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___redArg(v_msg_1042_, v___y_1043_, v___y_1044_, v___y_1045_, v___y_1046_); +return v___x_1048_; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___boxed(lean_object* v_00_u03b1_992_, lean_object* v_msg_993_, lean_object* v___y_994_, lean_object* v___y_995_, lean_object* v___y_996_, lean_object* v___y_997_, lean_object* v___y_998_){ +LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3___boxed(lean_object* v_00_u03b1_1049_, lean_object* v_msg_1050_, lean_object* v___y_1051_, lean_object* v___y_1052_, lean_object* v___y_1053_, lean_object* v___y_1054_, lean_object* v___y_1055_){ _start: { -lean_object* v_res_999_; -v_res_999_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3(v_00_u03b1_992_, v_msg_993_, v___y_994_, v___y_995_, v___y_996_, v___y_997_); -lean_dec(v___y_997_); -lean_dec_ref(v___y_996_); -lean_dec(v___y_995_); -lean_dec_ref(v___y_994_); -return v_res_999_; +lean_object* v_res_1056_; +v_res_1056_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__2_spec__3(v_00_u03b1_1049_, v_msg_1050_, v___y_1051_, v___y_1052_, v___y_1053_, v___y_1054_); +lean_dec(v___y_1054_); +lean_dec_ref(v___y_1053_); +lean_dec(v___y_1052_); +lean_dec_ref(v___y_1051_); +return v_res_1056_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9(lean_object* v_00_u03b1_1000_, lean_object* v_constName_1001_, lean_object* v___y_1002_, lean_object* v___y_1003_, lean_object* v___y_1004_, lean_object* v___y_1005_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9(lean_object* v_00_u03b1_1057_, lean_object* v_constName_1058_, lean_object* v___y_1059_, lean_object* v___y_1060_, lean_object* v___y_1061_, lean_object* v___y_1062_){ _start: { -lean_object* v___x_1007_; -v___x_1007_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_1001_, v___y_1002_, v___y_1003_, v___y_1004_, v___y_1005_); -return v___x_1007_; +lean_object* v___x_1064_; +v___x_1064_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___redArg(v_constName_1058_, v___y_1059_, v___y_1060_, v___y_1061_, v___y_1062_); +return v___x_1064_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___boxed(lean_object* v_00_u03b1_1008_, lean_object* v_constName_1009_, lean_object* v___y_1010_, lean_object* v___y_1011_, lean_object* v___y_1012_, lean_object* v___y_1013_, lean_object* v___y_1014_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9___boxed(lean_object* v_00_u03b1_1065_, lean_object* v_constName_1066_, lean_object* v___y_1067_, lean_object* v___y_1068_, lean_object* v___y_1069_, lean_object* v___y_1070_, lean_object* v___y_1071_){ _start: { -lean_object* v_res_1015_; -v_res_1015_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9(v_00_u03b1_1008_, v_constName_1009_, v___y_1010_, v___y_1011_, v___y_1012_, v___y_1013_); -lean_dec(v___y_1013_); -lean_dec_ref(v___y_1012_); -lean_dec(v___y_1011_); -lean_dec_ref(v___y_1010_); -return v_res_1015_; +lean_object* v_res_1072_; +v_res_1072_ = l_Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9(v_00_u03b1_1065_, v_constName_1066_, v___y_1067_, v___y_1068_, v___y_1069_, v___y_1070_); +lean_dec(v___y_1070_); +lean_dec_ref(v___y_1069_); +lean_dec(v___y_1068_); +lean_dec_ref(v___y_1067_); +return v_res_1072_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13(lean_object* v_00_u03b1_1016_, lean_object* v_ref_1017_, lean_object* v_constName_1018_, lean_object* v___y_1019_, lean_object* v___y_1020_, lean_object* v___y_1021_, lean_object* v___y_1022_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13(lean_object* v_00_u03b1_1073_, lean_object* v_ref_1074_, lean_object* v_constName_1075_, lean_object* v___y_1076_, lean_object* v___y_1077_, lean_object* v___y_1078_, lean_object* v___y_1079_){ _start: { -lean_object* v___x_1024_; -v___x_1024_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_1017_, v_constName_1018_, v___y_1019_, v___y_1020_, v___y_1021_, v___y_1022_); -return v___x_1024_; +lean_object* v___x_1081_; +v___x_1081_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___redArg(v_ref_1074_, v_constName_1075_, v___y_1076_, v___y_1077_, v___y_1078_, v___y_1079_); +return v___x_1081_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___boxed(lean_object* v_00_u03b1_1025_, lean_object* v_ref_1026_, lean_object* v_constName_1027_, lean_object* v___y_1028_, lean_object* v___y_1029_, lean_object* v___y_1030_, lean_object* v___y_1031_, lean_object* v___y_1032_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13___boxed(lean_object* v_00_u03b1_1082_, lean_object* v_ref_1083_, lean_object* v_constName_1084_, lean_object* v___y_1085_, lean_object* v___y_1086_, lean_object* v___y_1087_, lean_object* v___y_1088_, lean_object* v___y_1089_){ _start: { -lean_object* v_res_1033_; -v_res_1033_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13(v_00_u03b1_1025_, v_ref_1026_, v_constName_1027_, v___y_1028_, v___y_1029_, v___y_1030_, v___y_1031_); -lean_dec(v___y_1031_); -lean_dec_ref(v___y_1030_); -lean_dec(v___y_1029_); -lean_dec_ref(v___y_1028_); -lean_dec(v_ref_1026_); -return v_res_1033_; +lean_object* v_res_1090_; +v_res_1090_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13(v_00_u03b1_1082_, v_ref_1083_, v_constName_1084_, v___y_1085_, v___y_1086_, v___y_1087_, v___y_1088_); +lean_dec(v___y_1088_); +lean_dec_ref(v___y_1087_); +lean_dec(v___y_1086_); +lean_dec_ref(v___y_1085_); +lean_dec(v_ref_1083_); +return v_res_1090_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14(lean_object* v_00_u03b1_1034_, lean_object* v_ref_1035_, lean_object* v_msg_1036_, lean_object* v_declHint_1037_, lean_object* v___y_1038_, lean_object* v___y_1039_, lean_object* v___y_1040_, lean_object* v___y_1041_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14(lean_object* v_00_u03b1_1091_, lean_object* v_ref_1092_, lean_object* v_msg_1093_, lean_object* v_declHint_1094_, lean_object* v___y_1095_, lean_object* v___y_1096_, lean_object* v___y_1097_, lean_object* v___y_1098_){ _start: { -lean_object* v___x_1043_; -v___x_1043_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_1035_, v_msg_1036_, v_declHint_1037_, v___y_1038_, v___y_1039_, v___y_1040_, v___y_1041_); -return v___x_1043_; +lean_object* v___x_1100_; +v___x_1100_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___redArg(v_ref_1092_, v_msg_1093_, v_declHint_1094_, v___y_1095_, v___y_1096_, v___y_1097_, v___y_1098_); +return v___x_1100_; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___boxed(lean_object* v_00_u03b1_1044_, lean_object* v_ref_1045_, lean_object* v_msg_1046_, lean_object* v_declHint_1047_, lean_object* v___y_1048_, lean_object* v___y_1049_, lean_object* v___y_1050_, lean_object* v___y_1051_, lean_object* v___y_1052_){ +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14___boxed(lean_object* v_00_u03b1_1101_, lean_object* v_ref_1102_, lean_object* v_msg_1103_, lean_object* v_declHint_1104_, lean_object* v___y_1105_, lean_object* v___y_1106_, lean_object* v___y_1107_, lean_object* v___y_1108_, lean_object* v___y_1109_){ _start: { -lean_object* v_res_1053_; -v_res_1053_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14(v_00_u03b1_1044_, v_ref_1045_, v_msg_1046_, v_declHint_1047_, v___y_1048_, v___y_1049_, v___y_1050_, v___y_1051_); -lean_dec(v___y_1051_); -lean_dec_ref(v___y_1050_); -lean_dec(v___y_1049_); -lean_dec_ref(v___y_1048_); -lean_dec(v_ref_1045_); -return v_res_1053_; +lean_object* v_res_1110_; +v_res_1110_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14(v_00_u03b1_1101_, v_ref_1102_, v_msg_1103_, v_declHint_1104_, v___y_1105_, v___y_1106_, v___y_1107_, v___y_1108_); +lean_dec(v___y_1108_); +lean_dec_ref(v___y_1107_); +lean_dec(v___y_1106_); +lean_dec_ref(v___y_1105_); +lean_dec(v_ref_1102_); +return v_res_1110_; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16(lean_object* v_msg_1054_, lean_object* v_declHint_1055_, lean_object* v___y_1056_, lean_object* v___y_1057_, lean_object* v___y_1058_, lean_object* v___y_1059_){ +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16(lean_object* v_msg_1111_, lean_object* v_declHint_1112_, lean_object* v___y_1113_, lean_object* v___y_1114_, lean_object* v___y_1115_, lean_object* v___y_1116_){ _start: { -lean_object* v___x_1061_; -v___x_1061_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_1054_, v_declHint_1055_, v___y_1059_); -return v___x_1061_; +lean_object* v___x_1118_; +v___x_1118_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg(v_msg_1111_, v_declHint_1112_, v___y_1116_); +return v___x_1118_; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___boxed(lean_object* v_msg_1062_, lean_object* v_declHint_1063_, lean_object* v___y_1064_, lean_object* v___y_1065_, lean_object* v___y_1066_, lean_object* v___y_1067_, lean_object* v___y_1068_){ +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___boxed(lean_object* v_msg_1119_, lean_object* v_declHint_1120_, lean_object* v___y_1121_, lean_object* v___y_1122_, lean_object* v___y_1123_, lean_object* v___y_1124_, lean_object* v___y_1125_){ _start: { -lean_object* v_res_1069_; -v_res_1069_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16(v_msg_1062_, v_declHint_1063_, v___y_1064_, v___y_1065_, v___y_1066_, v___y_1067_); -lean_dec(v___y_1067_); -lean_dec_ref(v___y_1066_); -lean_dec(v___y_1065_); -lean_dec_ref(v___y_1064_); -return v_res_1069_; +lean_object* v_res_1126_; +v_res_1126_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16(v_msg_1119_, v_declHint_1120_, v___y_1121_, v___y_1122_, v___y_1123_, v___y_1124_); +lean_dec(v___y_1124_); +lean_dec_ref(v___y_1123_); +lean_dec(v___y_1122_); +lean_dec_ref(v___y_1121_); +return v_res_1126_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(lean_object* v_x_1070_, lean_object* v_x_1071_, lean_object* v_x_1072_, lean_object* v___y_1073_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(lean_object* v_x_1127_, lean_object* v_x_1128_, lean_object* v_x_1129_, lean_object* v___y_1130_){ _start: { -lean_object* v___x_1075_; lean_object* v___x_1076_; -v___x_1075_ = lean_box(0); -v___x_1076_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1076_, 0, v___x_1075_); -return v___x_1076_; +lean_object* v___x_1132_; lean_object* v___x_1133_; +v___x_1132_ = lean_box(0); +v___x_1133_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1133_, 0, v___x_1132_); +return v___x_1133_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v_x_1077_, lean_object* v_x_1078_, lean_object* v_x_1079_, lean_object* v___y_1080_, lean_object* v___y_1081_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v_x_1134_, lean_object* v_x_1135_, lean_object* v_x_1136_, lean_object* v___y_1137_, lean_object* v___y_1138_){ _start: { -lean_object* v_res_1082_; -v_res_1082_ = l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v_x_1077_, v_x_1078_, v_x_1079_, v___y_1080_); -lean_dec(v___y_1080_); -lean_dec_ref(v_x_1079_); -lean_dec_ref(v_x_1078_); -lean_dec(v_x_1077_); -return v_res_1082_; +lean_object* v_res_1139_; +v_res_1139_ = l_Lean_Compiler_initFn___lam__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v_x_1134_, v_x_1135_, v_x_1136_, v___y_1137_); +lean_dec(v___y_1137_); +lean_dec_ref(v_x_1136_); +lean_dec_ref(v_x_1135_); +lean_dec(v_x_1134_); +return v_res_1139_; } } static uint64_t _init_l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1089_; uint64_t v___x_1090_; -v___x_1089_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1090_ = l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(v___x_1089_); -return v___x_1090_; +lean_object* v___x_1146_; uint64_t v___x_1147_; +v___x_1146_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1147_ = l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(v___x_1146_); +return v___x_1147_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -uint64_t v___x_1091_; lean_object* v___x_1092_; lean_object* v___x_1093_; -v___x_1091_ = lean_uint64_once(&l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1092_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1093_ = lean_alloc_ctor(0, 1, 8); -lean_ctor_set(v___x_1093_, 0, v___x_1092_); -lean_ctor_set_uint64(v___x_1093_, sizeof(void*)*1, v___x_1091_); -return v___x_1093_; +uint64_t v___x_1148_; lean_object* v___x_1149_; lean_object* v___x_1150_; +v___x_1148_ = lean_uint64_once(&l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1149_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__0_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1150_ = lean_alloc_ctor(0, 1, 8); +lean_ctor_set(v___x_1150_, 0, v___x_1149_); +lean_ctor_set_uint64(v___x_1150_, sizeof(void*)*1, v___x_1148_); +return v___x_1150_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1094_; -v___x_1094_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return v___x_1094_; +lean_object* v___x_1151_; +v___x_1151_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return v___x_1151_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1095_; lean_object* v___x_1096_; -v___x_1095_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1096_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v___x_1096_, 0, v___x_1095_); -return v___x_1096_; +lean_object* v___x_1152_; lean_object* v___x_1153_; +v___x_1152_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1153_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v___x_1153_, 0, v___x_1152_); +return v___x_1153_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1097_; lean_object* v___x_1098_; lean_object* v___x_1099_; lean_object* v___x_1100_; -v___x_1097_ = lean_box(1); -v___x_1098_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); -v___x_1099_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1100_ = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(v___x_1100_, 0, v___x_1099_); -lean_ctor_set(v___x_1100_, 1, v___x_1098_); -lean_ctor_set(v___x_1100_, 2, v___x_1097_); -return v___x_1100_; +lean_object* v___x_1154_; lean_object* v___x_1155_; lean_object* v___x_1156_; lean_object* v___x_1157_; +v___x_1154_ = lean_box(1); +v___x_1155_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); +v___x_1156_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1157_ = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(v___x_1157_, 0, v___x_1156_); +lean_ctor_set(v___x_1157_, 1, v___x_1155_); +lean_ctor_set(v___x_1157_, 2, v___x_1154_); +return v___x_1157_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1103_; lean_object* v___x_1104_; lean_object* v___x_1105_; -v___x_1103_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1104_ = lean_unsigned_to_nat(0u); -v___x_1105_ = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(v___x_1105_, 0, v___x_1104_); -lean_ctor_set(v___x_1105_, 1, v___x_1104_); -lean_ctor_set(v___x_1105_, 2, v___x_1104_); -lean_ctor_set(v___x_1105_, 3, v___x_1103_); -lean_ctor_set(v___x_1105_, 4, v___x_1103_); -lean_ctor_set(v___x_1105_, 5, v___x_1103_); -lean_ctor_set(v___x_1105_, 6, v___x_1103_); -lean_ctor_set(v___x_1105_, 7, v___x_1103_); -lean_ctor_set(v___x_1105_, 8, v___x_1103_); -return v___x_1105_; +lean_object* v___x_1160_; lean_object* v___x_1161_; lean_object* v___x_1162_; +v___x_1160_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1161_ = lean_unsigned_to_nat(0u); +v___x_1162_ = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(v___x_1162_, 0, v___x_1161_); +lean_ctor_set(v___x_1162_, 1, v___x_1161_); +lean_ctor_set(v___x_1162_, 2, v___x_1161_); +lean_ctor_set(v___x_1162_, 3, v___x_1160_); +lean_ctor_set(v___x_1162_, 4, v___x_1160_); +lean_ctor_set(v___x_1162_, 5, v___x_1160_); +lean_ctor_set(v___x_1162_, 6, v___x_1160_); +lean_ctor_set(v___x_1162_, 7, v___x_1160_); +lean_ctor_set(v___x_1162_, 8, v___x_1160_); +return v___x_1162_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1106_; lean_object* v___x_1107_; -v___x_1106_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1107_ = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(v___x_1107_, 0, v___x_1106_); -lean_ctor_set(v___x_1107_, 1, v___x_1106_); -lean_ctor_set(v___x_1107_, 2, v___x_1106_); -lean_ctor_set(v___x_1107_, 3, v___x_1106_); -lean_ctor_set(v___x_1107_, 4, v___x_1106_); -lean_ctor_set(v___x_1107_, 5, v___x_1106_); -return v___x_1107_; +lean_object* v___x_1163_; lean_object* v___x_1164_; +v___x_1163_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1164_ = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(v___x_1164_, 0, v___x_1163_); +lean_ctor_set(v___x_1164_, 1, v___x_1163_); +lean_ctor_set(v___x_1164_, 2, v___x_1163_); +lean_ctor_set(v___x_1164_, 3, v___x_1163_); +lean_ctor_set(v___x_1164_, 4, v___x_1163_); +lean_ctor_set(v___x_1164_, 5, v___x_1163_); +return v___x_1164_; } } static lean_object* _init_l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(void){ _start: { -lean_object* v___x_1108_; lean_object* v___x_1109_; -v___x_1108_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1109_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_1109_, 0, v___x_1108_); -lean_ctor_set(v___x_1109_, 1, v___x_1108_); -lean_ctor_set(v___x_1109_, 2, v___x_1108_); -lean_ctor_set(v___x_1109_, 3, v___x_1108_); -lean_ctor_set(v___x_1109_, 4, v___x_1108_); -return v___x_1109_; +lean_object* v___x_1165_; lean_object* v___x_1166_; +v___x_1165_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__4_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1166_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_1166_, 0, v___x_1165_); +lean_ctor_set(v___x_1166_, 1, v___x_1165_); +lean_ctor_set(v___x_1166_, 2, v___x_1165_); +lean_ctor_set(v___x_1166_, 3, v___x_1165_); +lean_ctor_set(v___x_1166_, 4, v___x_1165_); +return v___x_1166_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(lean_object* v___x_1110_, lean_object* v_declName_1111_, lean_object* v_stx_1112_, lean_object* v___y_1113_, lean_object* v___y_1114_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(lean_object* v___x_1167_, lean_object* v_declName_1168_, lean_object* v_stx_1169_, lean_object* v___y_1170_, lean_object* v___y_1171_){ _start: { -uint8_t v___x_1116_; uint8_t v___x_1117_; lean_object* v___x_1118_; lean_object* v___x_1119_; lean_object* v___x_1120_; lean_object* v___x_1121_; lean_object* v___x_1122_; lean_object* v___x_1123_; lean_object* v___x_1124_; lean_object* v___x_1125_; lean_object* v___x_1126_; lean_object* v___x_1127_; lean_object* v___x_1128_; lean_object* v___x_1129_; lean_object* v___x_1130_; lean_object* v___x_1131_; lean_object* v_args_1132_; lean_object* v___x_1133_; -v___x_1116_ = 0; -v___x_1117_ = 1; -v___x_1118_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1119_ = lean_unsigned_to_nat(0u); -v___x_1120_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); -v___x_1121_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1122_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__6_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1123_ = lean_box(0); -lean_inc(v___x_1110_); -v___x_1124_ = lean_alloc_ctor(0, 7, 4); -lean_ctor_set(v___x_1124_, 0, v___x_1118_); -lean_ctor_set(v___x_1124_, 1, v___x_1110_); -lean_ctor_set(v___x_1124_, 2, v___x_1121_); -lean_ctor_set(v___x_1124_, 3, v___x_1122_); -lean_ctor_set(v___x_1124_, 4, v___x_1123_); -lean_ctor_set(v___x_1124_, 5, v___x_1119_); -lean_ctor_set(v___x_1124_, 6, v___x_1123_); -lean_ctor_set_uint8(v___x_1124_, sizeof(void*)*7, v___x_1116_); -lean_ctor_set_uint8(v___x_1124_, sizeof(void*)*7 + 1, v___x_1116_); -lean_ctor_set_uint8(v___x_1124_, sizeof(void*)*7 + 2, v___x_1116_); -lean_ctor_set_uint8(v___x_1124_, sizeof(void*)*7 + 3, v___x_1117_); -v___x_1125_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1126_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1127_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); -v___x_1128_ = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(v___x_1128_, 0, v___x_1125_); -lean_ctor_set(v___x_1128_, 1, v___x_1126_); -lean_ctor_set(v___x_1128_, 2, v___x_1110_); -lean_ctor_set(v___x_1128_, 3, v___x_1120_); -lean_ctor_set(v___x_1128_, 4, v___x_1127_); -v___x_1129_ = lean_st_mk_ref(v___x_1128_); -v___x_1130_ = lean_unsigned_to_nat(1u); -v___x_1131_ = l_Lean_Syntax_getArg(v_stx_1112_, v___x_1130_); -v_args_1132_ = l_Lean_Syntax_getArgs(v___x_1131_); -lean_dec(v___x_1131_); -v___x_1133_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(v_declName_1111_, v_args_1132_, v___x_1124_, v___x_1129_, v___y_1113_, v___y_1114_); -lean_dec_ref(v___x_1124_); -if (lean_obj_tag(v___x_1133_) == 0) +uint8_t v___x_1173_; uint8_t v___x_1174_; lean_object* v___x_1175_; lean_object* v___x_1176_; lean_object* v___x_1177_; lean_object* v___x_1178_; lean_object* v___x_1179_; lean_object* v___x_1180_; lean_object* v___x_1181_; lean_object* v___x_1182_; lean_object* v___x_1183_; lean_object* v___x_1184_; lean_object* v___x_1185_; lean_object* v___x_1186_; lean_object* v___x_1187_; lean_object* v___x_1188_; lean_object* v_args_1189_; lean_object* v___x_1190_; +v___x_1173_ = 0; +v___x_1174_ = 1; +v___x_1175_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1176_ = lean_unsigned_to_nat(0u); +v___x_1177_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstInfo___at___00__private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs_spec__6_spec__9_spec__13_spec__14_spec__15_spec__16___redArg___closed__4); +v___x_1178_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__5_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1179_ = ((lean_object*)(l_Lean_Compiler_initFn___lam__1___closed__6_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1180_ = lean_box(0); +lean_inc(v___x_1167_); +v___x_1181_ = lean_alloc_ctor(0, 7, 4); +lean_ctor_set(v___x_1181_, 0, v___x_1175_); +lean_ctor_set(v___x_1181_, 1, v___x_1167_); +lean_ctor_set(v___x_1181_, 2, v___x_1178_); +lean_ctor_set(v___x_1181_, 3, v___x_1179_); +lean_ctor_set(v___x_1181_, 4, v___x_1180_); +lean_ctor_set(v___x_1181_, 5, v___x_1176_); +lean_ctor_set(v___x_1181_, 6, v___x_1180_); +lean_ctor_set_uint8(v___x_1181_, sizeof(void*)*7, v___x_1173_); +lean_ctor_set_uint8(v___x_1181_, sizeof(void*)*7 + 1, v___x_1173_); +lean_ctor_set_uint8(v___x_1181_, sizeof(void*)*7 + 2, v___x_1173_); +lean_ctor_set_uint8(v___x_1181_, sizeof(void*)*7 + 3, v___x_1174_); +v___x_1182_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__7_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1183_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__8_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1184_ = lean_obj_once(&l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_, &l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2__once, _init_l_Lean_Compiler_initFn___lam__1___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_); +v___x_1185_ = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(v___x_1185_, 0, v___x_1182_); +lean_ctor_set(v___x_1185_, 1, v___x_1183_); +lean_ctor_set(v___x_1185_, 2, v___x_1167_); +lean_ctor_set(v___x_1185_, 3, v___x_1177_); +lean_ctor_set(v___x_1185_, 4, v___x_1184_); +v___x_1186_ = lean_st_mk_ref(v___x_1185_); +v___x_1187_ = lean_unsigned_to_nat(1u); +v___x_1188_ = l_Lean_Syntax_getArg(v_stx_1169_, v___x_1187_); +v_args_1189_ = l_Lean_Syntax_getArgs(v___x_1188_); +lean_dec(v___x_1188_); +v___x_1190_ = l___private_Lean_Compiler_Specialize_0__Lean_Compiler_elabSpecArgs(v_declName_1168_, v_args_1189_, v___x_1181_, v___x_1186_, v___y_1170_, v___y_1171_); +lean_dec_ref(v___x_1181_); +if (lean_obj_tag(v___x_1190_) == 0) { -lean_object* v_a_1134_; lean_object* v___x_1136_; uint8_t v_isShared_1137_; uint8_t v_isSharedCheck_1142_; -v_a_1134_ = lean_ctor_get(v___x_1133_, 0); -v_isSharedCheck_1142_ = !lean_is_exclusive(v___x_1133_); -if (v_isSharedCheck_1142_ == 0) +lean_object* v_a_1191_; lean_object* v___x_1193_; uint8_t v_isShared_1194_; uint8_t v_isSharedCheck_1199_; +v_a_1191_ = lean_ctor_get(v___x_1190_, 0); +v_isSharedCheck_1199_ = !lean_is_exclusive(v___x_1190_); +if (v_isSharedCheck_1199_ == 0) { -v___x_1136_ = v___x_1133_; -v_isShared_1137_ = v_isSharedCheck_1142_; -goto v_resetjp_1135_; +v___x_1193_ = v___x_1190_; +v_isShared_1194_ = v_isSharedCheck_1199_; +goto v_resetjp_1192_; } else { -lean_inc(v_a_1134_); -lean_dec(v___x_1133_); -v___x_1136_ = lean_box(0); -v_isShared_1137_ = v_isSharedCheck_1142_; -goto v_resetjp_1135_; +lean_inc(v_a_1191_); +lean_dec(v___x_1190_); +v___x_1193_ = lean_box(0); +v_isShared_1194_ = v_isSharedCheck_1199_; +goto v_resetjp_1192_; } -v_resetjp_1135_: +v_resetjp_1192_: { -lean_object* v___x_1138_; lean_object* v___x_1140_; -v___x_1138_ = lean_st_ref_get(v___x_1129_); -lean_dec(v___x_1129_); -lean_dec(v___x_1138_); -if (v_isShared_1137_ == 0) +lean_object* v___x_1195_; lean_object* v___x_1197_; +v___x_1195_ = lean_st_ref_get(v___x_1186_); +lean_dec(v___x_1186_); +lean_dec(v___x_1195_); +if (v_isShared_1194_ == 0) { -v___x_1140_ = v___x_1136_; -goto v_reusejp_1139_; +v___x_1197_ = v___x_1193_; +goto v_reusejp_1196_; } else { -lean_object* v_reuseFailAlloc_1141_; -v_reuseFailAlloc_1141_ = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(v_reuseFailAlloc_1141_, 0, v_a_1134_); -v___x_1140_ = v_reuseFailAlloc_1141_; -goto v_reusejp_1139_; +lean_object* v_reuseFailAlloc_1198_; +v_reuseFailAlloc_1198_ = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(v_reuseFailAlloc_1198_, 0, v_a_1191_); +v___x_1197_ = v_reuseFailAlloc_1198_; +goto v_reusejp_1196_; } -v_reusejp_1139_: +v_reusejp_1196_: { -return v___x_1140_; +return v___x_1197_; } } } else { -lean_dec(v___x_1129_); -return v___x_1133_; +lean_dec(v___x_1186_); +return v___x_1190_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v___x_1143_, lean_object* v_declName_1144_, lean_object* v_stx_1145_, lean_object* v___y_1146_, lean_object* v___y_1147_, lean_object* v___y_1148_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v___x_1200_, lean_object* v_declName_1201_, lean_object* v_stx_1202_, lean_object* v___y_1203_, lean_object* v___y_1204_, lean_object* v___y_1205_){ _start: { -lean_object* v_res_1149_; -v_res_1149_ = l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v___x_1143_, v_declName_1144_, v_stx_1145_, v___y_1146_, v___y_1147_); -lean_dec(v___y_1147_); -lean_dec_ref(v___y_1146_); -lean_dec(v_stx_1145_); -return v_res_1149_; +lean_object* v_res_1206_; +v_res_1206_ = l_Lean_Compiler_initFn___lam__1_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v___x_1200_, v_declName_1201_, v_stx_1202_, v___y_1203_, v___y_1204_); +lean_dec(v___y_1204_); +lean_dec_ref(v___y_1203_); +lean_dec(v_stx_1202_); +return v_res_1206_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(uint8_t v___x_1150_, lean_object* v_env_1151_, lean_object* v_n_1152_, lean_object* v_x_1153_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(uint8_t v___x_1207_, lean_object* v_env_1208_, lean_object* v_n_1209_, lean_object* v_x_1210_){ _start: { -uint8_t v___x_1154_; -v___x_1154_ = l_Lean_Environment_contains(v_env_1151_, v_n_1152_, v___x_1150_); -return v___x_1154_; +uint8_t v___x_1211_; +v___x_1211_ = l_Lean_Environment_contains(v_env_1208_, v_n_1209_, v___x_1207_); +return v___x_1211_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v___x_1155_, lean_object* v_env_1156_, lean_object* v_n_1157_, lean_object* v_x_1158_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v___x_1212_, lean_object* v_env_1213_, lean_object* v_n_1214_, lean_object* v_x_1215_){ _start: { -uint8_t v___x_551__boxed_1159_; uint8_t v_res_1160_; lean_object* v_r_1161_; -v___x_551__boxed_1159_ = lean_unbox(v___x_1155_); -v_res_1160_ = l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v___x_551__boxed_1159_, v_env_1156_, v_n_1157_, v_x_1158_); -lean_dec_ref(v_x_1158_); -v_r_1161_ = lean_box(v_res_1160_); -return v_r_1161_; +uint8_t v___x_551__boxed_1216_; uint8_t v_res_1217_; lean_object* v_r_1218_; +v___x_551__boxed_1216_ = lean_unbox(v___x_1212_); +v_res_1217_ = l_Lean_Compiler_initFn___lam__2_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(v___x_551__boxed_1216_, v_env_1213_, v_n_1214_, v_x_1215_); +lean_dec_ref(v_x_1215_); +v_r_1218_ = lean_box(v_res_1217_); +return v_r_1218_; } } LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(){ _start: { -lean_object* v___x_1189_; lean_object* v___x_1190_; -v___x_1189_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1190_ = l_Lean_registerParametricAttribute___redArg(v___x_1189_); -return v___x_1190_; +lean_object* v___x_1246_; lean_object* v___x_1247_; +v___x_1246_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__9_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1247_ = l_Lean_registerParametricAttribute___redArg(v___x_1246_); +return v___x_1247_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v_a_1191_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2____boxed(lean_object* v_a_1248_){ _start: { -lean_object* v_res_1192_; -v_res_1192_ = l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(); -return v_res_1192_; +lean_object* v_res_1249_; +v_res_1249_ = l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(); +return v_res_1249_; } } LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1(){ _start: { -lean_object* v___x_1195_; lean_object* v___x_1196_; lean_object* v___x_1197_; -v___x_1195_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1196_ = ((lean_object*)(l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___closed__0)); -v___x_1197_ = l_Lean_addBuiltinDocString(v___x_1195_, v___x_1196_); -return v___x_1197_; +lean_object* v___x_1252_; lean_object* v___x_1253_; lean_object* v___x_1254_; +v___x_1252_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1253_ = ((lean_object*)(l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___closed__0)); +v___x_1254_ = l_Lean_addBuiltinDocString(v___x_1252_, v___x_1253_); +return v___x_1254_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___boxed(lean_object* v_a_1198_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1___boxed(lean_object* v_a_1255_){ _start: { -lean_object* v_res_1199_; -v_res_1199_ = l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1(); -return v_res_1199_; +lean_object* v_res_1256_; +v_res_1256_ = l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_docString__1(); +return v_res_1256_; } } LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3(){ _start: { -lean_object* v___x_1226_; lean_object* v___x_1227_; lean_object* v___x_1228_; -v___x_1226_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); -v___x_1227_ = ((lean_object*)(l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__6)); -v___x_1228_ = l_Lean_addBuiltinDeclarationRanges(v___x_1226_, v___x_1227_); -return v___x_1228_; +lean_object* v___x_1283_; lean_object* v___x_1284_; lean_object* v___x_1285_; +v___x_1283_ = ((lean_object*)(l_Lean_Compiler_initFn___closed__3_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_)); +v___x_1284_ = ((lean_object*)(l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___closed__6)); +v___x_1285_ = l_Lean_addBuiltinDeclarationRanges(v___x_1283_, v___x_1284_); +return v___x_1285_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___boxed(lean_object* v_a_1229_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3___boxed(lean_object* v_a_1286_){ _start: { -lean_object* v_res_1230_; -v_res_1230_ = l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3(); -return v_res_1230_; +lean_object* v_res_1287_; +v_res_1287_ = l_Lean_Compiler_specializeAttr___regBuiltin_Lean_Compiler_specializeAttr_declRange__3(); +return v_res_1287_; } } static lean_object* _init_l_Lean_Compiler_getSpecializationArgs_x3f___closed__0(void){ _start: { -lean_object* v___x_1231_; -v___x_1231_ = l_Array_instInhabited(lean_box(0)); -return v___x_1231_; +lean_object* v___x_1288_; +v___x_1288_ = l_Array_instInhabited(lean_box(0)); +return v___x_1288_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_getSpecializationArgs_x3f(lean_object* v_env_1232_, lean_object* v_declName_1233_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_getSpecializationArgs_x3f(lean_object* v_env_1289_, lean_object* v_declName_1290_){ _start: { -lean_object* v___x_1234_; lean_object* v___x_1235_; lean_object* v___x_1236_; -v___x_1234_ = lean_obj_once(&l_Lean_Compiler_getSpecializationArgs_x3f___closed__0, &l_Lean_Compiler_getSpecializationArgs_x3f___closed__0_once, _init_l_Lean_Compiler_getSpecializationArgs_x3f___closed__0); -v___x_1235_ = l_Lean_Compiler_specializeAttr; -v___x_1236_ = l_Lean_ParametricAttribute_getParam_x3f___redArg(v___x_1234_, v___x_1235_, v_env_1232_, v_declName_1233_); -return v___x_1236_; +lean_object* v___x_1291_; lean_object* v___x_1292_; lean_object* v___x_1293_; +v___x_1291_ = lean_obj_once(&l_Lean_Compiler_getSpecializationArgs_x3f___closed__0, &l_Lean_Compiler_getSpecializationArgs_x3f___closed__0_once, _init_l_Lean_Compiler_getSpecializationArgs_x3f___closed__0); +v___x_1292_ = l_Lean_Compiler_specializeAttr; +v___x_1293_ = l_Lean_ParametricAttribute_getParam_x3f___redArg(v___x_1291_, v___x_1292_, v_env_1289_, v_declName_1290_); +return v___x_1293_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_hasSpecializeAttribute(lean_object* v_env_1237_, lean_object* v_declName_1238_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_hasSpecializeAttribute(lean_object* v_env_1294_, lean_object* v_declName_1295_){ _start: { -lean_object* v___x_1239_; -v___x_1239_ = l_Lean_Compiler_getSpecializationArgs_x3f(v_env_1237_, v_declName_1238_); -if (lean_obj_tag(v___x_1239_) == 0) +lean_object* v___x_1296_; +v___x_1296_ = l_Lean_Compiler_getSpecializationArgs_x3f(v_env_1294_, v_declName_1295_); +if (lean_obj_tag(v___x_1296_) == 0) { -uint8_t v___x_1240_; -v___x_1240_ = 0; -return v___x_1240_; +uint8_t v___x_1297_; +v___x_1297_ = 0; +return v___x_1297_; } else { -uint8_t v___x_1241_; -lean_dec_ref(v___x_1239_); -v___x_1241_ = 1; -return v___x_1241_; +uint8_t v___x_1298_; +lean_dec_ref(v___x_1296_); +v___x_1298_ = 1; +return v___x_1298_; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_hasSpecializeAttribute___boxed(lean_object* v_env_1242_, lean_object* v_declName_1243_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_hasSpecializeAttribute___boxed(lean_object* v_env_1299_, lean_object* v_declName_1300_){ _start: { -uint8_t v_res_1244_; lean_object* v_r_1245_; -v_res_1244_ = l_Lean_Compiler_hasSpecializeAttribute(v_env_1242_, v_declName_1243_); -v_r_1245_ = lean_box(v_res_1244_); -return v_r_1245_; +uint8_t v_res_1301_; lean_object* v_r_1302_; +v_res_1301_ = l_Lean_Compiler_hasSpecializeAttribute(v_env_1299_, v_declName_1300_); +v_r_1302_ = lean_box(v_res_1301_); +return v_r_1302_; } } -LEAN_EXPORT uint8_t l_Lean_Compiler_hasNospecializeAttribute(lean_object* v_env_1246_, lean_object* v_declName_1247_){ +LEAN_EXPORT uint8_t l_Lean_Compiler_hasNospecializeAttribute(lean_object* v_env_1303_, lean_object* v_declName_1304_){ _start: { -lean_object* v___x_1248_; uint8_t v___x_1249_; -v___x_1248_ = l_Lean_Compiler_nospecializeAttr; -v___x_1249_ = l_Lean_TagAttribute_hasTag(v___x_1248_, v_env_1246_, v_declName_1247_); -return v___x_1249_; +lean_object* v___x_1305_; uint8_t v___x_1306_; +v___x_1305_ = l_Lean_Compiler_nospecializeAttr; +v___x_1306_ = l_Lean_TagAttribute_hasTag(v___x_1305_, v_env_1303_, v_declName_1304_); +return v___x_1306_; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_hasNospecializeAttribute___boxed(lean_object* v_env_1250_, lean_object* v_declName_1251_){ +LEAN_EXPORT lean_object* l_Lean_Compiler_hasNospecializeAttribute___boxed(lean_object* v_env_1307_, lean_object* v_declName_1308_){ _start: { -uint8_t v_res_1252_; lean_object* v_r_1253_; -v_res_1252_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_1250_, v_declName_1251_); -v_r_1253_ = lean_box(v_res_1252_); -return v_r_1253_; +uint8_t v_res_1309_; lean_object* v_r_1310_; +v_res_1309_ = l_Lean_Compiler_hasNospecializeAttribute(v_env_1307_, v_declName_1308_); +v_r_1310_ = lean_box(v_res_1309_); +return v_r_1310_; +} +} +LEAN_EXPORT uint8_t l_Lean_Compiler_hasWeakSpecializeAttribute(lean_object* v_env_1311_, lean_object* v_declName_1312_){ +_start: +{ +lean_object* v___x_1313_; uint8_t v___x_1314_; +v___x_1313_ = l_Lean_Compiler_weakSpecializeAttr; +v___x_1314_ = l_Lean_TagAttribute_hasTag(v___x_1313_, v_env_1311_, v_declName_1312_); +return v___x_1314_; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_hasWeakSpecializeAttribute___boxed(lean_object* v_env_1315_, lean_object* v_declName_1316_){ +_start: +{ +uint8_t v_res_1317_; lean_object* v_r_1318_; +v_res_1317_ = l_Lean_Compiler_hasWeakSpecializeAttribute(v_env_1315_, v_declName_1316_); +v_r_1318_ = lean_box(v_res_1317_); +return v_r_1318_; } } lean_object* runtime_initialize_Lean_Meta_Basic(uint8_t builtin); @@ -3369,6 +3482,17 @@ lean_dec_ref(res); res = l_Lean_Compiler_nospecializeAttr___regBuiltin_Lean_Compiler_nospecializeAttr_declRange__3(); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_1607742496____hygCtx___hyg_2_(); +if (lean_io_result_is_error(res)) return res; +l_Lean_Compiler_weakSpecializeAttr = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_Compiler_weakSpecializeAttr); +lean_dec_ref(res); +res = l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_docString__1(); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = l_Lean_Compiler_weakSpecializeAttr___regBuiltin_Lean_Compiler_weakSpecializeAttr_declRange__3(); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = l_Lean_Compiler_initFn_00___x40_Lean_Compiler_Specialize_149776412____hygCtx___hyg_2_(); if (lean_io_result_is_error(res)) return res; l_Lean_Compiler_specializeAttr = lean_io_result_get_value(res);