diff --git a/stage0/src/Init/Prelude.lean b/stage0/src/Init/Prelude.lean index aa1b8d508e..69883312b4 100644 --- a/stage0/src/Init/Prelude.lean +++ b/stage0/src/Init/Prelude.lean @@ -2497,6 +2497,42 @@ Push an element onto the end of an array. This is amortized O(1) because def Array.push {α : Type u} (a : Array α) (v : α) : Array α where data := List.concat a.data v +/-- Create array `#[]` -/ +def Array.mkArray0 {α : Type u} : Array α := + mkEmpty 0 + +/-- Create array `#[a₁]` -/ +def Array.mkArray1 {α : Type u} (a₁ : α) : Array α := + (mkEmpty 1).push a₁ + +/-- Create array `#[a₁, a₂]` -/ +def Array.mkArray2 {α : Type u} (a₁ a₂ : α) : Array α := + ((mkEmpty 1).push a₁).push a₂ + +/-- Create array `#[a₁, a₂, a₃]` -/ +def Array.mkArray3 {α : Type u} (a₁ a₂ a₃ : α) : Array α := + (((mkEmpty 1).push a₁).push a₂).push a₃ + +/-- Create array `#[a₁, a₂, a₃, a₄]` -/ +def Array.mkArray4 {α : Type u} (a₁ a₂ a₃ a₄ : α) : Array α := + ((((mkEmpty 1).push a₁).push a₂).push a₃).push a₄ + +/-- Create array `#[a₁, a₂, a₃, a₄, a₅]` -/ +def Array.mkArray5 {α : Type u} (a₁ a₂ a₃ a₄ a₅ : α) : Array α := + (((((mkEmpty 1).push a₁).push a₂).push a₃).push a₄).push a₅ + +/-- Create array `#[a₁, a₂, a₃, a₄, a₅, a₆]` -/ +def Array.mkArray6 {α : Type u} (a₁ a₂ a₃ a₄ a₅ a₆ : α) : Array α := + ((((((mkEmpty 1).push a₁).push a₂).push a₃).push a₄).push a₅).push a₆ + +/-- Create array `#[a₁, a₂, a₃, a₄, a₅, a₆, a₇]` -/ +def Array.mkArray7 {α : Type u} (a₁ a₂ a₃ a₄ a₅ a₆ a₇ : α) : Array α := + (((((((mkEmpty 1).push a₁).push a₂).push a₃).push a₄).push a₅).push a₆).push a₇ + +/-- Create array `#[a₁, a₂, a₃, a₄, a₅, a₆, a₇, a₈]` -/ +def Array.mkArray8 {α : Type u} (a₁ a₂ a₃ a₄ a₅ a₆ a₇ a₈ : α) : Array α := + ((((((((mkEmpty 1).push a₁).push a₂).push a₃).push a₄).push a₅).push a₆).push a₇).push a₈ + /-- Set an element in an array without bounds checks, using a `Fin` index. diff --git a/stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean b/stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean index a0a2d4f8e2..091f12c1af 100644 --- a/stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean +++ b/stage0/src/Lean/Compiler/LCNF/Simp/ConstantFold.lean @@ -158,6 +158,12 @@ where | _ => return none +def mkSmallArrayFunctions := #[ + ``Array.mkArray0, ``Array.mkArray1, ``Array.mkArray2, ``Array.mkArray3, + ``Array.mkArray4, ``Array.mkArray5, ``Array.mkArray6, ``Array.mkArray7, + ``Array.mkArray8 +] + /-- Turn an `#[a, b, c]` into: ``` @@ -170,11 +176,15 @@ _x.26 ``` -/ def mkPseudoArrayLiteral (elements : Array FVarId) (typ : Expr) (typLevel : Level) : FolderM Expr := do - let sizeLit ← mkAuxLit elements.size - let mut literal ← mkAuxLetDecl <| mkApp2 (mkConst ``Array.mkEmpty [typLevel]) typ (.fvar sizeLit) - for element in elements do - literal ← mkAuxLetDecl <| mkApp3 (mkConst ``Array.push [typLevel]) typ (.fvar literal) (.fvar element) - return .fvar literal + if h : elements.size < mkSmallArrayFunctions.size then + let mkFn := mkApp (mkConst mkSmallArrayFunctions[elements.size] [typLevel]) typ + return mkAppN mkFn (elements.map (.fvar ·)) + else + let sizeLit ← mkAuxLit elements.size + let mut literal ← mkAuxLetDecl <| mkApp2 (mkConst ``Array.mkEmpty [typLevel]) typ (.fvar sizeLit) + for element in elements do + literal ← mkAuxLetDecl <| mkApp3 (mkConst ``Array.push [typLevel]) typ (.fvar literal) (.fvar element) + return .fvar literal /-- Evaluate array literals at compile time, that is turn: diff --git a/stage0/stdlib/Init/Prelude.c b/stage0/stdlib/Init/Prelude.c index 049502ce2b..2620a97583 100644 --- a/stage0/stdlib/Init/Prelude.c +++ b/stage0/stdlib/Init/Prelude.c @@ -296,6 +296,7 @@ LEAN_EXPORT lean_object* l_ite(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedTSyntax___boxed(lean_object*); static lean_object* l_Lean_groupKind___closed__2; LEAN_EXPORT lean_object* l_instTransEq__1___rarg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray3(lean_object*); LEAN_EXPORT lean_object* l_Lean_numLitKind; LEAN_EXPORT lean_object* l_EStateM_run_x27___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_instMonadQuotationUnexpandM___spec__2(lean_object*); @@ -303,6 +304,7 @@ LEAN_EXPORT lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_ static lean_object* l_Lean_choiceKind___closed__1; LEAN_EXPORT lean_object* l_not___boxed(lean_object*); LEAN_EXPORT lean_object* l_ReaderT_instFunctorReaderT___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray2(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_instAppendName; LEAN_EXPORT lean_object* l_Lean_TSyntaxArray_mkImpl___boxed(lean_object*); @@ -364,6 +366,7 @@ static lean_object* l_Lean_scientificLitKind___closed__2; LEAN_EXPORT lean_object* l_instHAddPosChar___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_set(lean_object*); LEAN_EXPORT uint8_t l_List_hasDecEq___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray5(lean_object*); LEAN_EXPORT lean_object* l_Char_utf8Size___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_MonadQuotation_addMacroScope___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_strLitKind___closed__2; @@ -379,6 +382,7 @@ static uint16_t l_instInhabitedUInt16___closed__1; static uint32_t l_Char_utf8Size___closed__1; LEAN_EXPORT lean_object* l_Lean_Macro_instMonadQuotationMacroM___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_instMonadQuotationUnexpandM___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_getId(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_instMonadQuotationUnexpandM___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -395,12 +399,14 @@ LEAN_EXPORT lean_object* l_instHPow(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_instMulNat; static lean_object* l_Lean_Macro_instMonadRefMacroM___closed__1; LEAN_EXPORT lean_object* l_Lean_Macro_instMonadQuotationMacroM___lambda__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray0(lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_ReaderT_read___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_inferInstance___rarg___boxed(lean_object*); LEAN_EXPORT uint8_t l_instDecidableEqUInt8(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_Syntax_instGetElemSyntaxNatTrue___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Function_comp___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Functor_mapConst___default___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_run___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Macro_instInhabitedMethods___lambda__1___boxed(lean_object*, lean_object*, lean_object*); @@ -537,6 +543,7 @@ LEAN_EXPORT uint8_t l_Lean_Syntax_isMissing(lean_object*); LEAN_EXPORT lean_object* l_EStateM_throw___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_setArg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Macro_instInhabitedMethods___lambda__3(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray6(lean_object*); LEAN_EXPORT lean_object* l_Lean_identKind; LEAN_EXPORT lean_object* l_MonadExcept_instOrElse___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ite___rarg(uint8_t, lean_object*, lean_object*); @@ -566,11 +573,13 @@ LEAN_EXPORT lean_object* l_ReaderT_instApplicativeReaderT___rarg___lambda__3(lea LEAN_EXPORT lean_object* l_Lean_Syntax_isNodeOf___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getNumArgs(lean_object*); LEAN_EXPORT lean_object* l_instMonadWithReader(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_EStateM_instMonadEStateM___closed__3; LEAN_EXPORT lean_object* l_Lean_Macro_throwError___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_inferInstanceAs(lean_object*); LEAN_EXPORT lean_object* l_instHAnd(lean_object*); LEAN_EXPORT lean_object* l_Lean_scientificLitKind; +LEAN_EXPORT lean_object* l_Array_mkArray1___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Monad_seqRight___default___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_mk(lean_object*); @@ -633,8 +642,10 @@ LEAN_EXPORT uint32_t l_Char_utf8Size(uint32_t); LEAN_EXPORT lean_object* l_EStateM_run_x27(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_getThe___rarg___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_setD(lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray7___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_instDecidableAnd(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_hasMacroScopes___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray2___rarg(lean_object*, lean_object*); static uint32_t l_Char_utf8Size___closed__4; LEAN_EXPORT lean_object* l_Lean_MonadQuotation_addMacroScope___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Macro_getMethodsImp(lean_object*, lean_object*); @@ -664,6 +675,7 @@ LEAN_EXPORT uint8_t l_instDecidableEqString(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedName; LEAN_EXPORT lean_object* l_instHAdd___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_appendCore(lean_object*); LEAN_EXPORT lean_object* l_instHAnd___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -706,6 +718,7 @@ static lean_object* l_EStateM_instMonadExceptOfEStateM___rarg___closed__1; LEAN_EXPORT lean_object* l___private_Init_Prelude_0__Lean_eraseMacroScopesAux___boxed(lean_object*); LEAN_EXPORT lean_object* l_UInt16_ofNatCore___boxed(lean_object*, lean_object*); uint32_t lean_uint32_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray8(lean_object*); LEAN_EXPORT lean_object* l_instLTPos; lean_object* lean_array_data(lean_object*); LEAN_EXPORT lean_object* l_Lean_Macro_instInhabitedMethods___lambda__4(lean_object*, lean_object*, lean_object*); @@ -717,6 +730,7 @@ static lean_object* l_Lean_instInhabitedMacroScopesView___closed__1; LEAN_EXPORT lean_object* l_Array_sequenceMap_loop(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_USize_ofNatCore___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_instMonadExceptOfReaderT___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray7(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_instInhabited(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Fin_decLt___boxed(lean_object*); @@ -752,6 +766,8 @@ LEAN_EXPORT lean_object* l_Lean_Macro_instInhabitedMethods; LEAN_EXPORT lean_object* l_Lean_Syntax_getOptional_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_instHOrElse___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Prelude_0__Lean_Macro_MethodsRefPointed; +LEAN_EXPORT lean_object* l_Array_mkArray3___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray4(lean_object*); LEAN_EXPORT lean_object* l_dite___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_String_utf8ByteSize___boxed(lean_object*); LEAN_EXPORT lean_object* l_id___rarg(lean_object*); @@ -798,6 +814,7 @@ static lean_object* l_EStateM_instMonadEStateM___closed__7; LEAN_EXPORT uint8_t l_Lean_Syntax_matchesIdent(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_instMonadQuotationUnexpandM___closed__5; LEAN_EXPORT lean_object* l_instMonadReader(lean_object*, lean_object*); +static lean_object* l_Array_mkArray1___rarg___closed__1; LEAN_EXPORT lean_object* l_instPowNat; LEAN_EXPORT lean_object* l_instInhabitedReaderT___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_instMonadExceptOfReaderT___rarg___lambda__2(lean_object*, lean_object*, lean_object*); @@ -818,6 +835,7 @@ LEAN_EXPORT lean_object* l_instDecidableLtPosInstLTPos___boxed(lean_object*, lea LEAN_EXPORT lean_object* l_instLTFin___boxed(lean_object*); LEAN_EXPORT lean_object* l_modifyGetThe___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_modify___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mkArray1(lean_object*); LEAN_EXPORT lean_object* l_EStateM_instMonadExceptOfEStateM(lean_object*, lean_object*, lean_object*); lean_object* lean_uint32_to_nat(uint32_t); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4188,6 +4206,187 @@ x_4 = lean_array_push(x_2, x_3); return x_4; } } +LEAN_EXPORT lean_object* l_Array_mkArray0(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Array_empty___closed__1; +return x_2; +} +} +static lean_object* _init_l_Array_mkArray1___rarg___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(1u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray1___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Array_mkArray1___rarg___closed__1; +x_3 = lean_array_push(x_2, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray1___rarg), 1, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray2___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = l_Array_mkArray1___rarg___closed__1; +x_4 = lean_array_push(x_3, x_1); +x_5 = lean_array_push(x_4, x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray2___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = l_Array_mkArray1___rarg___closed__1; +x_5 = lean_array_push(x_4, x_1); +x_6 = lean_array_push(x_5, x_2); +x_7 = lean_array_push(x_6, x_3); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray3___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_5 = l_Array_mkArray1___rarg___closed__1; +x_6 = lean_array_push(x_5, x_1); +x_7 = lean_array_push(x_6, x_2); +x_8 = lean_array_push(x_7, x_3); +x_9 = lean_array_push(x_8, x_4); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray4(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray4___rarg), 4, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = l_Array_mkArray1___rarg___closed__1; +x_7 = lean_array_push(x_6, x_1); +x_8 = lean_array_push(x_7, x_2); +x_9 = lean_array_push(x_8, x_3); +x_10 = lean_array_push(x_9, x_4); +x_11 = lean_array_push(x_10, x_5); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray5(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray5___rarg), 5, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_7 = l_Array_mkArray1___rarg___closed__1; +x_8 = lean_array_push(x_7, x_1); +x_9 = lean_array_push(x_8, x_2); +x_10 = lean_array_push(x_9, x_3); +x_11 = lean_array_push(x_10, x_4); +x_12 = lean_array_push(x_11, x_5); +x_13 = lean_array_push(x_12, x_6); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray6(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray6___rarg), 6, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray7___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_8 = l_Array_mkArray1___rarg___closed__1; +x_9 = lean_array_push(x_8, x_1); +x_10 = lean_array_push(x_9, x_2); +x_11 = lean_array_push(x_10, x_3); +x_12 = lean_array_push(x_11, x_4); +x_13 = lean_array_push(x_12, x_5); +x_14 = lean_array_push(x_13, x_6); +x_15 = lean_array_push(x_14, x_7); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray7(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray7___rarg), 7, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray8___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_9 = l_Array_mkArray1___rarg___closed__1; +x_10 = lean_array_push(x_9, x_1); +x_11 = lean_array_push(x_10, x_2); +x_12 = lean_array_push(x_11, x_3); +x_13 = lean_array_push(x_12, x_4); +x_14 = lean_array_push(x_13, x_5); +x_15 = lean_array_push(x_14, x_6); +x_16 = lean_array_push(x_15, x_7); +x_17 = lean_array_push(x_16, x_8); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Array_mkArray8(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_mkArray8___rarg), 8, 0); +return x_2; +} +} LEAN_EXPORT lean_object* l_Array_set___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -11324,6 +11523,8 @@ l_instLTPos = _init_l_instLTPos(); lean_mark_persistent(l_instLTPos); l_Array_empty___closed__1 = _init_l_Array_empty___closed__1(); lean_mark_persistent(l_Array_empty___closed__1); +l_Array_mkArray1___rarg___closed__1 = _init_l_Array_mkArray1___rarg___closed__1(); +lean_mark_persistent(l_Array_mkArray1___rarg___closed__1); l_Applicative_seqLeft___default___rarg___closed__1 = _init_l_Applicative_seqLeft___default___rarg___closed__1(); lean_mark_persistent(l_Applicative_seqLeft___default___rarg___closed__1); l_Applicative_seqRight___default___rarg___closed__1 = _init_l_Applicative_seqRight___default___rarg___closed__1(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c b/stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c index 6ecedebb28..b2cffa5ef3 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Simp/ConstantFold.c @@ -15,14 +15,13 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkUnary___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1(lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__44; lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); static lean_object* l_panic___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__1___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___closed__1; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getStringLit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_sub___boxed(lean_object*, lean_object*); @@ -38,6 +37,8 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___c uint8_t lean_uint64_dec_eq(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__26(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__17(uint32_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__10; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32___closed__1; @@ -54,11 +55,11 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_folderExt; lean_object* l_Nat_div___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__3(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__38; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__21; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt8___closed__7; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__1; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__28___boxed(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_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__16(uint32_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -70,28 +71,35 @@ lean_object* l_UInt8_toNat___boxed(lean_object*); lean_object* l_UInt16_ofNat___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_AssocList_contains___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__7(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_sub(size_t, size_t); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldConstants(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__29; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__3; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__42; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkUnary(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolder___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); extern lean_object* l_Lean_instHashableName; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28; static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__25(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__37; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralString; uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__15; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__5; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22; LEAN_EXPORT lean_object* l_Lean_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__6(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getFolders___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__18; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__30; @@ -101,9 +109,11 @@ extern uint8_t l_instInhabitedUInt8; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__25; lean_object* l_UInt16_mul___boxed(lean_object*, lean_object*); lean_object* l_UInt16_div___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15; lean_object* l_UInt32_mul___boxed(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralNat___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -122,7 +132,6 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt64___c static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__33; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolder(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralNat; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__22; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt8___closed__5; @@ -151,24 +160,26 @@ static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Com static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__3; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2; +lean_object* l_Lean_mkAppN(lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar___closed__5; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2___boxed(lean_object*, lean_object*, lean_object*); extern uint64_t l_instInhabitedUInt64; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12; lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__23; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1(lean_object*, lean_object*); uint64_t l_Lean_Name_hash___override(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__13; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__41; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolder___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__22(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_Simp_ConstantFold_Folder_leftRightAnnihilator___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__5; LEAN_EXPORT lean_object* l_Lean_AssocList_find_x3f___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__7___boxed(lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkHashMapImp___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__11; @@ -176,8 +187,8 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__3; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19; LEAN_EXPORT lean_object* l_Lean_HashMap_insert___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getFolders___rarg___boxed(lean_object*, lean_object*); lean_object* l_UInt64_sub___boxed(lean_object*, lean_object*); @@ -198,18 +209,19 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralNat___clos lean_object* l_panic___at_Lean_Level_normalize___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getNatLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__34; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe(lean_object*, lean_object*, lean_object*); lean_object* l_UInt32_add___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__48; -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__9(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SMap_find_x3f___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__2(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433_(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__4; @@ -237,25 +249,27 @@ lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg(lean_object*, le lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt64___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatLit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__9; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkUnary___at_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__12; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt64___closed__6___boxed__const__1; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26; LEAN_EXPORT lean_object* l_Lean_mkHashMap___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__12(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__4; lean_object* l_Lean_Expr_sort___override(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__30(uint16_t, uint16_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__20(uint64_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_UInt64_mul___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_HashMapImp_expand___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__8(lean_object*, lean_object*); size_t lean_usize_shift_left(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__8; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar___closed__6; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10; static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__12; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightAnnihilator(lean_object*); @@ -265,13 +279,13 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt3 static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt16___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt8___closed__1; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_modn(size_t, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt8___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt64; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__3(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__1; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -284,12 +298,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lea LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkStringLit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_mul(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__30___boxed(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_Simp_ConstantFold_registerFolder(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__19; LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_939____at_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___spec__1___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__34___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -316,7 +331,9 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_ static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13; lean_object* l_Lean_Compiler_LCNF_mkAuxLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLit___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -324,7 +341,8 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary( LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getLitAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern uint32_t l_Char_instInhabitedChar; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__8(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvar___override(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__39; @@ -333,12 +351,14 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___closed LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Data_HashMap_0__Lean_numBucketsForCapacity(lean_object*); lean_object* l_List_redLength___rarg(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11; extern uint32_t l_instInhabitedUInt32; LEAN_EXPORT lean_object* l_Lean_AssocList_contains___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__7___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__35; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_higherOrderLiteralFolders___closed__4; +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_939____at_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__36; @@ -361,13 +381,14 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); uint8_t lean_usize_dec_le(size_t, size_t); LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__1___closed__3; -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar___closed__2; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__7; lean_object* l_instInhabitedReaderT___rarg___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32___closed__3; extern lean_object* l_Lean_Core_instMonadCoreM; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolder___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__24; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getFolders(lean_object*); @@ -380,11 +401,12 @@ lean_object* l_UInt64_toNat___boxed(lean_object*); lean_object* l_UInt16_toNat___boxed(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__49; static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__7; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_mul___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral(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_Simp_ConstantFold_Folder_leftRightNeutral___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getLitAux___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__31; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -394,6 +416,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt1 static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__11; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt16___closed__3; LEAN_EXPORT lean_object* l_Lean_AssocList_replace___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__11(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions; LEAN_EXPORT lean_object* l_Lean_AssocList_foldlM___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__10(lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_UInt32_sub___boxed(lean_object*, lean_object*); @@ -403,8 +426,10 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__13(uint16_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6; lean_object* l_Lean_Expr_constName_x3f(lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); @@ -416,12 +441,15 @@ lean_object* l_Char_ofNat___boxed(lean_object*); lean_object* l_UInt64_div___boxed(lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLit(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralChar___closed__6___boxed__const__1; lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolder___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__28; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt32___closed__5; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt16___closed__4; @@ -429,20 +457,21 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__9; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__3; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__5; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__14; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__11; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__27(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getFolders___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_uint16_dec_eq(uint16_t, uint16_t); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_UInt8_mul___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__11; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt8___closed__6; lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*); lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); @@ -457,13 +486,14 @@ lean_object* l_UInt64_add___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_registerFolder___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getNatLit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__2(lean_object*); -LEAN_EXPORT lean_object* l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___rarg___boxed(lean_object*, lean_object*, 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_Simp_ConstantFold_Folder_rightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__4; lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralUInt64___closed__4; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_push___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_instLiteralString___closed__3; @@ -475,16 +505,17 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutr LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern uint16_t l_instInhabitedUInt16; lean_object* lean_usize_to_nat(size_t); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___spec__3___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_higherOrderLiteralFolders___closed__5; lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftRightNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_leftNeutral___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_rightAnnihilator___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__33___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__6; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__16; +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_mkBinary___at_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -505,9 +536,11 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_Consta static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_higherOrderLiteralFolders___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_arithmeticFolders___closed__46; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___spec__4___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getLitAux___rarg___closed__2; lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_stringFolders___closed__7; @@ -2365,6 +2398,293 @@ lean_dec(x_2); return x_7; } } +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Array", 5); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray0", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray1", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray2", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray3", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray4", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray5", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray6", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray7", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("mkArray8", 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(9u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30; +return x_1; +} +} static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___closed__1() { _start: { @@ -2461,38 +2781,54 @@ return x_33; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = l_Lean_Expr_fvar___override(x_5); +x_9 = 1; +x_10 = lean_usize_add(x_2, x_9); +x_11 = lean_array_uset(x_7, x_2, x_8); +x_2 = x_10; +x_3 = x_11; +goto _start; +} +} +} static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Array", 5); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions; +x_2 = lean_array_get_size(x_1); +return x_2; } } static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3() { -_start: -{ lean_object* x_1; x_1 = lean_mk_string_from_bytes("mkEmpty", 7); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2; -x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -2500,134 +2836,141 @@ return x_3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_object* x_10; lean_object* x_11; uint8_t x_12; x_10 = lean_array_get_size(x_1); -x_11 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___rarg___closed__2; +x_11 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__1; +x_12 = lean_nat_dec_lt(x_10, x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___rarg___closed__2; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_10); -x_12 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLit___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___spec__1(x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_12) == 0) +x_14 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLit___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkNatWrapperInstance___elambda__1___spec__1(x_10, x_13, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_box(0); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_3); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); -x_18 = l_Lean_Expr_const___override(x_17, x_16); -x_19 = l_Lean_Expr_fvar___override(x_13); +lean_dec(x_14); +x_17 = lean_box(0); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_3); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3; +lean_inc(x_18); +x_20 = l_Lean_Expr_const___override(x_19, x_18); +x_21 = l_Lean_Expr_fvar___override(x_15); lean_inc(x_2); -x_20 = l_Lean_mkAppB(x_18, x_2, x_19); +x_22 = l_Lean_mkAppB(x_20, x_2, x_21); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_21 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLetDecl(x_20, x_11, x_4, x_5, x_6, x_7, x_8, x_14); -if (lean_obj_tag(x_21) == 0) +x_23 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkAuxLetDecl(x_22, x_13, x_4, x_5, x_6, x_7, x_8, x_16); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_usize_of_nat(x_10); +lean_object* x_24; lean_object* x_25; size_t x_26; size_t x_27; lean_object* x_28; lean_object* x_29; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_usize_of_nat(x_10); lean_dec(x_10); -x_25 = 0; -x_26 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2; -x_27 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1(x_2, x_11, x_26, x_16, x_1, x_24, x_25, x_22, x_4, x_5, x_6, x_7, x_8, x_23); -if (lean_obj_tag(x_27) == 0) +x_27 = 0; +x_28 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2; +x_29 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1(x_2, x_13, x_28, x_18, x_1, x_26, x_27, x_24, x_4, x_5, x_6, x_7, x_8, x_25); +lean_dec(x_1); +if (lean_obj_tag(x_29) == 0) { -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) { -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = l_Lean_Expr_fvar___override(x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_29, 0); +x_32 = l_Lean_Expr_fvar___override(x_31); +lean_ctor_set(x_29, 0, x_32); +return x_29; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = l_Lean_Expr_fvar___override(x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); -return x_34; +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_29, 0); +x_34 = lean_ctor_get(x_29, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_29); +x_35 = l_Lean_Expr_fvar___override(x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_34); +return x_36; } } else { -uint8_t x_35; -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) +uint8_t x_37; +x_37 = !lean_is_exclusive(x_29); +if (x_37 == 0) { -return x_27; +return x_29; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_27); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_29, 0); +x_39 = lean_ctor_get(x_29, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_29); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; } } } else { -uint8_t x_39; -lean_dec(x_16); +uint8_t x_41; +lean_dec(x_18); lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) +lean_dec(x_1); +x_41 = !lean_is_exclusive(x_23); +if (x_41 == 0) { -return x_21; +return x_23; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_21); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_23, 0); +x_43 = lean_ctor_get(x_23, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_23); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; } } } else { -uint8_t x_43; +uint8_t x_45; lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); @@ -2635,26 +2978,53 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_43 = !lean_is_exclusive(x_12); -if (x_43 == 0) +lean_dec(x_1); +x_45 = !lean_is_exclusive(x_14); +if (x_45 == 0) { -return x_12; +return x_14; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_12, 0); -x_45 = lean_ctor_get(x_12, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_12); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -return x_46; +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_14, 0); +x_47 = lean_ctor_get(x_14, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_14); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; } } } +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; size_t x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_49 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions; +x_50 = lean_array_fget(x_49, x_10); +x_51 = lean_box(0); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_3); +lean_ctor_set(x_52, 1, x_51); +x_53 = l_Lean_Expr_const___override(x_50, x_52); +x_54 = l_Lean_Expr_app___override(x_53, x_2); +x_55 = lean_usize_of_nat(x_10); +lean_dec(x_10); +x_56 = 0; +x_57 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2(x_55, x_56, x_1); +x_58 = l_Lean_mkAppN(x_54, x_57); +x_59 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_9); +return x_59; +} +} } LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: @@ -2670,13 +3040,24 @@ lean_dec(x_5); return x_17; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +size_t x_4; size_t x_5; lean_object* x_6; +x_4 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__2(x_4, x_5, x_3); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; x_10 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); -lean_dec(x_1); return x_10; } } @@ -2757,7 +3138,6 @@ lean_dec(x_23); x_28 = lean_array_mk(x_25); x_29 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral(x_28, x_26, x_27, x_2, x_3, x_4, x_5, x_6, x_24); lean_dec(x_2); -lean_dec(x_28); if (lean_obj_tag(x_29) == 0) { uint8_t x_30; @@ -2831,7 +3211,6 @@ lean_dec(x_40); x_45 = lean_array_mk(x_42); x_46 = l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral(x_45, x_43, x_44, x_2, x_3, x_4, x_5, x_6, x_41); lean_dec(x_2); -lean_dec(x_45); if (lean_obj_tag(x_46) == 0) { lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; @@ -13076,7 +13455,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__1; x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__2; -x_3 = lean_unsigned_to_nat(363u); +x_3 = lean_unsigned_to_nat(373u); x_4 = lean_unsigned_to_nat(9u); x_5 = l_Lean_Compiler_LCNF_Simp_ConstantFold_applyFolders___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14692,7 +15071,7 @@ lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) @@ -14719,7 +15098,7 @@ return x_7; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; @@ -14748,7 +15127,7 @@ x_14 = lean_ctor_get(x_1, 1); lean_inc(x_14); x_15 = l___private_Lean_Compiler_LCNF_Simp_ConstantFold_0__Lean_Compiler_LCNF_Simp_ConstantFold_getFolderCoreUnsafe(x_13, x_14, x_12); lean_dec(x_14); -x_16 = l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1(x_15, x_7); +x_16 = l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1(x_15, x_7); lean_dec(x_15); if (lean_obj_tag(x_16) == 0) { @@ -14794,7 +15173,7 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; @@ -14817,7 +15196,7 @@ x_12 = lean_usize_of_nat(x_11); lean_dec(x_11); x_13 = 0; lean_inc(x_1); -x_14 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2(x_1, x_10, x_12, x_13, x_5, x_6, x_7); +x_14 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2(x_1, x_10, x_12, x_13, x_5, x_6, x_7); lean_dec(x_10); if (lean_obj_tag(x_14) == 0) { @@ -14860,7 +15239,7 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__4(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__4(lean_object* x_1) { _start: { uint8_t x_2; @@ -14898,7 +15277,7 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; @@ -14908,7 +15287,7 @@ lean_dec(x_5); x_7 = 0; x_8 = l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders; lean_inc(x_3); -x_9 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3(x_3, x_2, x_6, x_7, x_8, x_3, x_4); +x_9 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3(x_3, x_2, x_6, x_7, x_8, x_3, x_4); lean_dec(x_3); if (lean_obj_tag(x_9) == 0) { @@ -14918,7 +15297,7 @@ if (x_10 == 0) { lean_object* x_11; lean_object* x_12; lean_object* x_13; x_11 = lean_ctor_get(x_9, 0); -x_12 = l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__4(x_11); +x_12 = l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__4(x_11); x_13 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_13, 0, x_1); lean_ctor_set(x_13, 1, x_12); @@ -14933,7 +15312,7 @@ x_15 = lean_ctor_get(x_9, 1); lean_inc(x_15); lean_inc(x_14); lean_dec(x_9); -x_16 = l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__4(x_14); +x_16 = l_Lean_SMap_switch___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__4(x_14); x_17 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_17, 0, x_1); lean_ctor_set(x_17, 1, x_16); @@ -14968,7 +15347,7 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__2(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; @@ -15023,7 +15402,7 @@ return x_18; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__3(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__3(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -15038,7 +15417,7 @@ x_6 = l_List_toArrayAux___rarg(x_3, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4(lean_object* x_1) { _start: { lean_object* x_2; @@ -15046,7 +15425,7 @@ x_2 = lean_box(0); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1() { _start: { lean_object* x_1; @@ -15054,17 +15433,17 @@ x_1 = lean_mk_string_from_bytes("cfolder", 7); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1; +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -15076,52 +15455,52 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3; +x_1 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3; x_2 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__2), 2, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__2), 2, 0); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__3), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__3), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7() { +static lean_object* _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4___boxed), 1, 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; x_2 = lean_box(0); -x_3 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1___boxed), 4, 1); +x_3 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1___boxed), 4, 1); lean_closure_set(x_3, 0, x_2); -x_4 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2; -x_5 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4; -x_6 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5; -x_7 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6; -x_8 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7; +x_4 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2; +x_5 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4; +x_6 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5; +x_7 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6; +x_8 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7; x_9 = lean_alloc_ctor(0, 6, 0); lean_ctor_set(x_9, 0, x_4); lean_ctor_set(x_9, 1, x_5); @@ -15133,16 +15512,16 @@ x_10 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_9, x_1); return x_10; } } -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__1(x_1, x_2); +x_3 = l_IO_ofExcept___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__1(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { size_t x_8; size_t x_9; lean_object* x_10; @@ -15150,13 +15529,13 @@ x_8 = lean_unbox_usize(x_3); lean_dec(x_3); x_9 = lean_unbox_usize(x_4); lean_dec(x_4); -x_10 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__2(x_1, x_2, x_8, x_9, x_5, x_6, x_7); +x_10 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__2(x_1, x_2, x_8, x_9, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { size_t x_8; size_t x_9; lean_object* x_10; @@ -15164,26 +15543,26 @@ x_8 = lean_unbox_usize(x_3); lean_dec(x_3); x_9 = lean_unbox_usize(x_4); lean_dec(x_4); -x_10 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____spec__3(x_1, x_2, x_8, x_9, x_5, x_6, x_7); +x_10 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____spec__3(x_1, x_2, x_8, x_9, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__1(x_1, x_2, x_3, x_4); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____lambda__4(x_1); +x_2 = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____lambda__4(x_1); lean_dec(x_1); return x_2; } @@ -15617,6 +15996,68 @@ l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__11 = _i lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__11); l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__12 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__12(); lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_getPseudoListLiteral_go___closed__12); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__1); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__2); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__3); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__4); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__5); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__6); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__7); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__8); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__9); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__10); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__11); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__12); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__13); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__14); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__15); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__16); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__17); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__18); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__19); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__20); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__21); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__22); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__23); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__24); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__25); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__26); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__27); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__28); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__29); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions___closed__30); +l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkSmallArrayFunctions); l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___closed__1(); lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___spec__1___closed__1); l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__1(); @@ -15625,8 +16066,6 @@ l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2 = _init_ lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__2); l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3(); lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__3); -l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_mkPseudoArrayLiteral___closed__4); l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_foldArrayLiteral___closed__1); l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_Folder_first___closed__1(); @@ -15835,21 +16274,21 @@ l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___closed__5 = _init_l_Lean lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders___closed__5); l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders(); lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_builtinFolders); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__1); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__2); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__3); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__4); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__5); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__6); -l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433____closed__7); -if (builtin) {res = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4433_(lean_io_mk_world()); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__1); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__2); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__3); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__4); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__5); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__6); +l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7 = _init_l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555____closed__7); +if (builtin) {res = l_Lean_Compiler_LCNF_Simp_ConstantFold_initFn____x40_Lean_Compiler_LCNF_Simp_ConstantFold___hyg_4555_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Compiler_LCNF_Simp_ConstantFold_folderExt = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Compiler_LCNF_Simp_ConstantFold_folderExt);