// Lean compiler output
// Module: Lean.Compiler.LCNF.SimpleGroundExpr
// Imports: public import Lean.Compiler.LCNF.CompilerM public import Lean.Compiler.LCNF.PassManager import Init.While
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
#ifdef __cplusplus
extern "C" {
#endif
lean_object* lean_mk_array(lean_object*, lean_object*);
size_t lean_uint64_to_usize(uint64_t);
size_t lean_usize_shift_left(size_t, size_t);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
lean_object* lean_usize_to_nat(size_t);
lean_object* lean_array_get_size(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
size_t lean_usize_add(size_t, size_t);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
size_t lean_usize_mul(size_t, size_t);
uint64_t lean_uint64_of_nat(lean_object*);
uint8_t lean_usize_dec_le(size_t, size_t);
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
lean_object* lean_st_ref_get(lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
lean_object* l_List_lengthTR___redArg(lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l___private_Init_Data_List_Impl_0__List_takeTR_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Lean_registerEnvExtension___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Environment_0__Lean_EnvExtension_getStateUnsafe___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
uint64_t l_Lean_instHashableFVarId_hash(lean_object*);
uint64_t lean_uint64_shift_right(uint64_t, uint64_t);
uint64_t lean_uint64_xor(uint64_t, uint64_t);
size_t lean_usize_of_nat(lean_object*);
uint8_t l_Lean_instBEqFVarId_beq(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*);
size_t lean_array_size(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
lean_object* lean_array_get_borrowed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t lean_uint64_to_uint8(uint64_t);
lean_object* l_List_reverse___redArg(lean_object*);
uint8_t lean_uint8_of_nat(lean_object*);
lean_object* lean_array_mk(lean_object*);
lean_object* l_Array_reverse___redArg(lean_object*);
lean_object* lean_st_ref_take(lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
uint8_t l_Lean_Compiler_LCNF_CtorInfo_isScalar(lean_object*);
lean_object* lean_nat_shiftr(lean_object*, lean_object*);
lean_object* lean_array_set(lean_object*, lean_object*, lean_object*);
uint8_t lean_uint16_to_uint8(uint16_t);
uint16_t lean_uint16_shift_right(uint16_t, uint16_t);
uint8_t lean_uint32_to_uint8(uint32_t);
uint32_t lean_uint32_shift_right(uint32_t, uint32_t);
lean_object* lean_nat_mod(lean_object*, lean_object*);
lean_object* lean_uint8_to_nat(uint8_t);
lean_object* lean_uint16_to_nat(uint16_t);
lean_object* l_Lean_EnvExtension_modifyState___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* l_Lean_Name_append(lean_object*, lean_object*);
uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
lean_object* l_Lean_Compiler_LCNF_getPurity___redArg(lean_object*);
lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*, uint8_t);
double lean_float_of_nat(lean_object*);
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
uint8_t l_Lean_Compiler_LCNF_ImpureType_Lean_Expr_isPossibleRef(lean_object*);
lean_object* l_Lean_instBEqFVarId_beq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_instHashableFVarId_hash___boxed(lean_object*);
lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorIdx(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorIdx___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_tagged_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_tagged_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_reference_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_reference_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_rawReference_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_rawReference_elim(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value;
LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorIdx(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorIdx___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctor_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctor_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_string_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_string_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_pap_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_pap_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_nameMkStr_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_nameMkStr_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_reference_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_reference_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_array_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_array_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_byteArray_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_byteArray_elim(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__0_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr;
static lean_once_cell_t l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0;
static lean_once_cell_t l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1;
static lean_once_cell_t l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState;
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__2(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2___redArg(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static uint64_t l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg(size_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg(lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg___boxed(lean_object*, lean_object*);
static const lean_string_object l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 28, .m_capacity = 28, .m_length = 27, .m_data = "Lean.Data.PersistentHashMap"};
static const lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__0 = (const lean_object*)&l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__0_value;
static const lean_string_object l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 29, .m_capacity = 29, .m_length = 28, .m_data = "Lean.PersistentHashMap.find!"};
static const lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__1 = (const lean_object*)&l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__1_value;
static const lean_string_object l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 22, .m_capacity = 22, .m_length = 21, .m_data = "key is not in the map"};
static const lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__2 = (const lean_object*)&l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__2_value;
static lean_once_cell_t l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3;
LEAN_EXPORT lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3(lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Lean_Compiler_LCNF_initFn___lam__0___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Lean_Compiler_LCNF_initFn___lam__0___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_LCNF_initFn___lam__0___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed, .m_arity = 4, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value;
static lean_once_cell_t l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_;
static const lean_ctor_object l_Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value)}};
static const lean_object* l_Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2(lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_addSimpleGroundDecl___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_addSimpleGroundDecl(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExpr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExpr___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_While_0__Lean_Loop_forIn_loop___at___00Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg(lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_isSimpleGroundDecl(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSimpleGroundDecl___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0(lean_object*, lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_uint64ToByteArrayLE(uint64_t);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_uint64ToByteArrayLE___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorIdx(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorIdx___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arg_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arg_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint8_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint8_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint16_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint16_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint32_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint32_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint64_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint64_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_usize_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_usize_elim(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arrayBuilder_elim___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arrayBuilder_elim(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 0}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default___closed__0_value;
LEAN_EXPORT const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default___closed__0_value;
LEAN_EXPORT const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default___closed__0_value;
static const lean_string_object l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 43, .m_capacity = 43, .m_length = 42, .m_data = "Std.Data.DHashMap.Internal.AssocList.Basic"};
static const lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__0 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__0_value;
static const lean_string_object l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 37, .m_capacity = 37, .m_length = 36, .m_data = "Std.DHashMap.Internal.AssocList.get!"};
static const lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__1 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__1_value;
static const lean_string_object l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 33, .m_capacity = 33, .m_length = 32, .m_data = "key is not present in hash table"};
static const lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__2 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__2_value;
static lean_once_cell_t l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3;
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg___boxed(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_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain(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___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___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_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundArg_default___closed__0_value)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg(size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_instBEqFVarId_beq___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__0_value;
static const lean_closure_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_instHashableFVarId_hash___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__1_value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__2 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__2_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___boxed(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_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___boxed(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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0_value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 5}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0_value)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__1_value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__1_value)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__2 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__2_value;
static const lean_array_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Lean"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Name"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__5 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__5_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "num"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__6 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__6_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "str"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__7 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__7_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "_override"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__8 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__8_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr1"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__9 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__9_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr2"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__10 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__10_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr3"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__11 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__11_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr4"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__12 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__12_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr5"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__13 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__13_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__14_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr6"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__14 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__14_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr7"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__15 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__15_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "mkStr8"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__16 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__16_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "Array"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__18_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "ByteArray"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__18 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__18_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__19_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "mk"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__19 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__19_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__20_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "mkEmpty"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__20 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__20_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__21_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 18, .m_capacity = 18, .m_length = 17, .m_data = "emptyWithCapacity"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__21 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__21_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__22_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "push"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__22 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__22_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___boxed(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_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2___redArg(lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "tagged"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___closed__0_value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed__const__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*0 + 8, .m_other = 0, .m_tag = 0}, .m_objs = {LEAN_SCALAR_PTR_LITERAL(0, 0, 0, 0, 0, 0, 0, 0)}};
LEAN_EXPORT const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed__const__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed__const__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "trace"};
static const lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__0_value;
static const lean_ctor_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(212, 145, 141, 177, 67, 149, 127, 197)}};
static const lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__1 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0;
static lean_once_cell_t l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1;
static lean_once_cell_t l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2;
static lean_once_cell_t l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3;
static const lean_string_object l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 1, .m_capacity = 1, .m_length = 0, .m_data = ""};
static const lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__4 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__4_value;
static const lean_array_object l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__5 = (const lean_object*)&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__5_value;
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "Compiler"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 13, .m_capacity = 13, .m_length = 12, .m_data = "simpleGround"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__4 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__4_value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value),LEAN_SCALAR_PTR_LITERAL(253, 55, 142, 128, 91, 63, 88, 28)}};
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__4_value),LEAN_SCALAR_PTR_LITERAL(19, 238, 201, 186, 223, 180, 9, 216)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "Marked "};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__6 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__6_value;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 23, .m_capacity = 23, .m_length = 22, .m_data = " as simple ground expr"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__8 = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__8_value;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0___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_detectSimpleGround___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_detectSimpleGround___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Compiler_LCNF_detectSimpleGround___lam__0___boxed, .m_arity = 7, .m_num_fixed = 1, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))} };
static const lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__0_value;
static const lean_string_object l_Lean_Compiler_LCNF_detectSimpleGround___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 19, .m_capacity = 19, .m_length = 18, .m_data = "detectSimpleGround"};
static const lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__1_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_detectSimpleGround___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__1_value),LEAN_SCALAR_PTR_LITERAL(52, 143, 21, 157, 251, 104, 113, 210)}};
static const lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__2_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_detectSimpleGround___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 8, .m_other = 3, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__2_value),((lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__0_value),LEAN_SCALAR_PTR_LITERAL(2, 2, 0, 0, 0, 0, 0, 0)}};
static const lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___closed__3 = (const lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__3_value;
LEAN_EXPORT const lean_object* l_Lean_Compiler_LCNF_detectSimpleGround = (const lean_object*)&l_Lean_Compiler_LCNF_detectSimpleGround___closed__3_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "_private"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(103, 214, 75, 80, 34, 198, 193, 153)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4_value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value),LEAN_SCALAR_PTR_LITERAL(72, 245, 227, 28, 172, 102, 215, 20)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "LCNF"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(225, 25, 15, 1, 146, 18, 87, 58)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 17, .m_capacity = 17, .m_length = 16, .m_data = "SimpleGroundExpr"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(61, 199, 107, 178, 59, 230, 153, 82)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(200, 15, 252, 76, 24, 86, 94, 44)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4_value),LEAN_SCALAR_PTR_LITERAL(161, 224, 119, 190, 26, 170, 72, 221)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value),LEAN_SCALAR_PTR_LITERAL(207, 225, 253, 228, 86, 113, 195, 216)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(162, 131, 116, 174, 82, 25, 58, 96)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "initFn"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(23, 58, 235, 189, 221, 197, 79, 51)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "_@"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(210, 14, 60, 98, 81, 56, 15, 224)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4_value),LEAN_SCALAR_PTR_LITERAL(211, 56, 196, 78, 2, 71, 5, 183)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__3_value),LEAN_SCALAR_PTR_LITERAL(181, 42, 128, 158, 82, 173, 5, 8)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(96, 137, 204, 206, 73, 80, 154, 63)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(40, 120, 157, 224, 246, 59, 244, 173)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)(((size_t)(1728217338) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(52, 139, 41, 73, 99, 84, 239, 8)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "_hygCtx"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(59, 195, 220, 2, 165, 170, 215, 117)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "_hyg"};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(155, 177, 253, 216, 227, 220, 122, 206)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value),((lean_object*)(((size_t)(2) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(238, 116, 47, 1, 181, 231, 54, 10)}};
static const lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorIdx(lean_object* v_x_1_){
_start:
{
switch(lean_obj_tag(v_x_1_))
{
case 0:
{
lean_object* v___x_2_; 
v___x_2_ = lean_unsigned_to_nat(0u);
return v___x_2_;
}
case 1:
{
lean_object* v___x_3_; 
v___x_3_ = lean_unsigned_to_nat(1u);
return v___x_3_;
}
default: 
{
lean_object* v___x_4_; 
v___x_4_ = lean_unsigned_to_nat(2u);
return v___x_4_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorIdx___boxed(lean_object* v_x_5_){
_start:
{
lean_object* v_res_6_; 
v_res_6_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorIdx(v_x_5_);
lean_dec_ref(v_x_5_);
return v_res_6_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(lean_object* v_t_7_, lean_object* v_k_8_){
_start:
{
if (lean_obj_tag(v_t_7_) == 2)
{
lean_object* v_s_9_; lean_object* v___x_10_; 
v_s_9_ = lean_ctor_get(v_t_7_, 0);
lean_inc_ref(v_s_9_);
lean_dec_ref(v_t_7_);
v___x_10_ = lean_apply_1(v_k_8_, v_s_9_);
return v___x_10_;
}
else
{
lean_object* v_val_11_; lean_object* v___x_12_; 
v_val_11_ = lean_ctor_get(v_t_7_, 0);
lean_inc(v_val_11_);
lean_dec_ref(v_t_7_);
v___x_12_ = lean_apply_1(v_k_8_, v_val_11_);
return v___x_12_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim(lean_object* v_motive_13_, lean_object* v_ctorIdx_14_, lean_object* v_t_15_, lean_object* v_h_16_, lean_object* v_k_17_){
_start:
{
lean_object* v___x_18_; 
v___x_18_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_15_, v_k_17_);
return v___x_18_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___boxed(lean_object* v_motive_19_, lean_object* v_ctorIdx_20_, lean_object* v_t_21_, lean_object* v_h_22_, lean_object* v_k_23_){
_start:
{
lean_object* v_res_24_; 
v_res_24_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim(v_motive_19_, v_ctorIdx_20_, v_t_21_, v_h_22_, v_k_23_);
lean_dec(v_ctorIdx_20_);
return v_res_24_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_tagged_elim___redArg(lean_object* v_t_25_, lean_object* v_tagged_26_){
_start:
{
lean_object* v___x_27_; 
v___x_27_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_25_, v_tagged_26_);
return v___x_27_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_tagged_elim(lean_object* v_motive_28_, lean_object* v_t_29_, lean_object* v_h_30_, lean_object* v_tagged_31_){
_start:
{
lean_object* v___x_32_; 
v___x_32_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_29_, v_tagged_31_);
return v___x_32_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_reference_elim___redArg(lean_object* v_t_33_, lean_object* v_reference_34_){
_start:
{
lean_object* v___x_35_; 
v___x_35_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_33_, v_reference_34_);
return v___x_35_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_reference_elim(lean_object* v_motive_36_, lean_object* v_t_37_, lean_object* v_h_38_, lean_object* v_reference_39_){
_start:
{
lean_object* v___x_40_; 
v___x_40_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_37_, v_reference_39_);
return v___x_40_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_rawReference_elim___redArg(lean_object* v_t_41_, lean_object* v_rawReference_42_){
_start:
{
lean_object* v___x_43_; 
v___x_43_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_41_, v_rawReference_42_);
return v___x_43_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundArg_rawReference_elim(lean_object* v_motive_44_, lean_object* v_t_45_, lean_object* v_h_46_, lean_object* v_rawReference_47_){
_start:
{
lean_object* v___x_48_; 
v___x_48_ = l_Lean_Compiler_LCNF_SimpleGroundArg_ctorElim___redArg(v_t_45_, v_rawReference_47_);
return v___x_48_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorIdx(lean_object* v_x_53_){
_start:
{
switch(lean_obj_tag(v_x_53_))
{
case 0:
{
lean_object* v___x_54_; 
v___x_54_ = lean_unsigned_to_nat(0u);
return v___x_54_;
}
case 1:
{
lean_object* v___x_55_; 
v___x_55_ = lean_unsigned_to_nat(1u);
return v___x_55_;
}
case 2:
{
lean_object* v___x_56_; 
v___x_56_ = lean_unsigned_to_nat(2u);
return v___x_56_;
}
case 3:
{
lean_object* v___x_57_; 
v___x_57_ = lean_unsigned_to_nat(3u);
return v___x_57_;
}
case 4:
{
lean_object* v___x_58_; 
v___x_58_ = lean_unsigned_to_nat(4u);
return v___x_58_;
}
case 5:
{
lean_object* v___x_59_; 
v___x_59_ = lean_unsigned_to_nat(5u);
return v___x_59_;
}
default: 
{
lean_object* v___x_60_; 
v___x_60_ = lean_unsigned_to_nat(6u);
return v___x_60_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorIdx___boxed(lean_object* v_x_61_){
_start:
{
lean_object* v_res_62_; 
v_res_62_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorIdx(v_x_61_);
lean_dec_ref(v_x_61_);
return v_res_62_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(lean_object* v_t_63_, lean_object* v_k_64_){
_start:
{
switch(lean_obj_tag(v_t_63_))
{
case 0:
{
lean_object* v_cidx_65_; lean_object* v_objArgs_66_; lean_object* v_usizeArgs_67_; lean_object* v_scalarArgs_68_; lean_object* v___x_69_; 
v_cidx_65_ = lean_ctor_get(v_t_63_, 0);
lean_inc(v_cidx_65_);
v_objArgs_66_ = lean_ctor_get(v_t_63_, 1);
lean_inc_ref(v_objArgs_66_);
v_usizeArgs_67_ = lean_ctor_get(v_t_63_, 2);
lean_inc_ref(v_usizeArgs_67_);
v_scalarArgs_68_ = lean_ctor_get(v_t_63_, 3);
lean_inc_ref(v_scalarArgs_68_);
lean_dec_ref(v_t_63_);
v___x_69_ = lean_apply_4(v_k_64_, v_cidx_65_, v_objArgs_66_, v_usizeArgs_67_, v_scalarArgs_68_);
return v___x_69_;
}
case 2:
{
lean_object* v_func_70_; lean_object* v_args_71_; lean_object* v___x_72_; 
v_func_70_ = lean_ctor_get(v_t_63_, 0);
lean_inc(v_func_70_);
v_args_71_ = lean_ctor_get(v_t_63_, 1);
lean_inc_ref(v_args_71_);
lean_dec_ref(v_t_63_);
v___x_72_ = lean_apply_2(v_k_64_, v_func_70_, v_args_71_);
return v___x_72_;
}
case 4:
{
lean_object* v_n_73_; lean_object* v___x_74_; 
v_n_73_ = lean_ctor_get(v_t_63_, 0);
lean_inc(v_n_73_);
lean_dec_ref(v_t_63_);
v___x_74_ = lean_apply_1(v_k_64_, v_n_73_);
return v___x_74_;
}
default: 
{
lean_object* v_data_75_; lean_object* v___x_76_; 
v_data_75_ = lean_ctor_get(v_t_63_, 0);
lean_inc_ref(v_data_75_);
lean_dec_ref(v_t_63_);
v___x_76_ = lean_apply_1(v_k_64_, v_data_75_);
return v___x_76_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim(lean_object* v_motive_77_, lean_object* v_ctorIdx_78_, lean_object* v_t_79_, lean_object* v_h_80_, lean_object* v_k_81_){
_start:
{
lean_object* v___x_82_; 
v___x_82_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_79_, v_k_81_);
return v___x_82_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___boxed(lean_object* v_motive_83_, lean_object* v_ctorIdx_84_, lean_object* v_t_85_, lean_object* v_h_86_, lean_object* v_k_87_){
_start:
{
lean_object* v_res_88_; 
v_res_88_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim(v_motive_83_, v_ctorIdx_84_, v_t_85_, v_h_86_, v_k_87_);
lean_dec(v_ctorIdx_84_);
return v_res_88_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctor_elim___redArg(lean_object* v_t_89_, lean_object* v_ctor_90_){
_start:
{
lean_object* v___x_91_; 
v___x_91_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_89_, v_ctor_90_);
return v___x_91_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_ctor_elim(lean_object* v_motive_92_, lean_object* v_t_93_, lean_object* v_h_94_, lean_object* v_ctor_95_){
_start:
{
lean_object* v___x_96_; 
v___x_96_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_93_, v_ctor_95_);
return v___x_96_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_string_elim___redArg(lean_object* v_t_97_, lean_object* v_string_98_){
_start:
{
lean_object* v___x_99_; 
v___x_99_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_97_, v_string_98_);
return v___x_99_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_string_elim(lean_object* v_motive_100_, lean_object* v_t_101_, lean_object* v_h_102_, lean_object* v_string_103_){
_start:
{
lean_object* v___x_104_; 
v___x_104_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_101_, v_string_103_);
return v___x_104_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_pap_elim___redArg(lean_object* v_t_105_, lean_object* v_pap_106_){
_start:
{
lean_object* v___x_107_; 
v___x_107_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_105_, v_pap_106_);
return v___x_107_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_pap_elim(lean_object* v_motive_108_, lean_object* v_t_109_, lean_object* v_h_110_, lean_object* v_pap_111_){
_start:
{
lean_object* v___x_112_; 
v___x_112_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_109_, v_pap_111_);
return v___x_112_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_nameMkStr_elim___redArg(lean_object* v_t_113_, lean_object* v_nameMkStr_114_){
_start:
{
lean_object* v___x_115_; 
v___x_115_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_113_, v_nameMkStr_114_);
return v___x_115_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_nameMkStr_elim(lean_object* v_motive_116_, lean_object* v_t_117_, lean_object* v_h_118_, lean_object* v_nameMkStr_119_){
_start:
{
lean_object* v___x_120_; 
v___x_120_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_117_, v_nameMkStr_119_);
return v___x_120_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_reference_elim___redArg(lean_object* v_t_121_, lean_object* v_reference_122_){
_start:
{
lean_object* v___x_123_; 
v___x_123_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_121_, v_reference_122_);
return v___x_123_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_reference_elim(lean_object* v_motive_124_, lean_object* v_t_125_, lean_object* v_h_126_, lean_object* v_reference_127_){
_start:
{
lean_object* v___x_128_; 
v___x_128_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_125_, v_reference_127_);
return v___x_128_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_array_elim___redArg(lean_object* v_t_129_, lean_object* v_array_130_){
_start:
{
lean_object* v___x_131_; 
v___x_131_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_129_, v_array_130_);
return v___x_131_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_array_elim(lean_object* v_motive_132_, lean_object* v_t_133_, lean_object* v_h_134_, lean_object* v_array_135_){
_start:
{
lean_object* v___x_136_; 
v___x_136_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_133_, v_array_135_);
return v___x_136_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_byteArray_elim___redArg(lean_object* v_t_137_, lean_object* v_byteArray_138_){
_start:
{
lean_object* v___x_139_; 
v___x_139_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_137_, v_byteArray_138_);
return v___x_139_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_SimpleGroundExpr_byteArray_elim(lean_object* v_motive_140_, lean_object* v_t_141_, lean_object* v_h_142_, lean_object* v_byteArray_143_){
_start:
{
lean_object* v___x_144_; 
v___x_144_ = l_Lean_Compiler_LCNF_SimpleGroundExpr_ctorElim___redArg(v_t_141_, v_byteArray_143_);
return v___x_144_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1(void){
_start:
{
lean_object* v___x_147_; lean_object* v___x_148_; lean_object* v___x_149_; 
v___x_147_ = ((lean_object*)(l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__0));
v___x_148_ = lean_unsigned_to_nat(0u);
v___x_149_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_149_, 0, v___x_148_);
lean_ctor_set(v___x_149_, 1, v___x_147_);
lean_ctor_set(v___x_149_, 2, v___x_147_);
lean_ctor_set(v___x_149_, 3, v___x_147_);
return v___x_149_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default(void){
_start:
{
lean_object* v___x_150_; 
v___x_150_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default___closed__1);
return v___x_150_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr(void){
_start:
{
lean_object* v___x_151_; 
v___x_151_ = l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default;
return v___x_151_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0(void){
_start:
{
lean_object* v___x_152_; 
v___x_152_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_152_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1(void){
_start:
{
lean_object* v___x_153_; lean_object* v___x_154_; 
v___x_153_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0, &l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0_once, _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__0);
v___x_154_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_154_, 0, v___x_153_);
return v___x_154_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2(void){
_start:
{
lean_object* v___x_155_; lean_object* v___x_156_; lean_object* v___x_157_; 
v___x_155_ = lean_box(0);
v___x_156_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1, &l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1_once, _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__1);
v___x_157_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_157_, 0, v___x_156_);
lean_ctor_set(v___x_157_, 1, v___x_155_);
return v___x_157_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default(void){
_start:
{
lean_object* v___x_158_; 
v___x_158_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2, &l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2_once, _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2);
return v___x_158_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState(void){
_start:
{
lean_object* v___x_159_; 
v___x_159_ = l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default;
return v___x_159_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__2(lean_object* v_msg_160_){
_start:
{
lean_object* v___x_161_; lean_object* v___x_162_; 
v___x_161_ = l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default;
v___x_162_ = lean_panic_fn(v___x_161_, v_msg_160_);
return v___x_162_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5___redArg(lean_object* v_x_163_, lean_object* v_x_164_, lean_object* v_x_165_, lean_object* v_x_166_){
_start:
{
lean_object* v_ks_167_; lean_object* v_vs_168_; lean_object* v___x_170_; uint8_t v_isShared_171_; uint8_t v_isSharedCheck_192_; 
v_ks_167_ = lean_ctor_get(v_x_163_, 0);
v_vs_168_ = lean_ctor_get(v_x_163_, 1);
v_isSharedCheck_192_ = !lean_is_exclusive(v_x_163_);
if (v_isSharedCheck_192_ == 0)
{
v___x_170_ = v_x_163_;
v_isShared_171_ = v_isSharedCheck_192_;
goto v_resetjp_169_;
}
else
{
lean_inc(v_vs_168_);
lean_inc(v_ks_167_);
lean_dec(v_x_163_);
v___x_170_ = lean_box(0);
v_isShared_171_ = v_isSharedCheck_192_;
goto v_resetjp_169_;
}
v_resetjp_169_:
{
lean_object* v___x_172_; uint8_t v___x_173_; 
v___x_172_ = lean_array_get_size(v_ks_167_);
v___x_173_ = lean_nat_dec_lt(v_x_164_, v___x_172_);
if (v___x_173_ == 0)
{
lean_object* v___x_174_; lean_object* v___x_175_; lean_object* v___x_177_; 
lean_dec(v_x_164_);
v___x_174_ = lean_array_push(v_ks_167_, v_x_165_);
v___x_175_ = lean_array_push(v_vs_168_, v_x_166_);
if (v_isShared_171_ == 0)
{
lean_ctor_set(v___x_170_, 1, v___x_175_);
lean_ctor_set(v___x_170_, 0, v___x_174_);
v___x_177_ = v___x_170_;
goto v_reusejp_176_;
}
else
{
lean_object* v_reuseFailAlloc_178_; 
v_reuseFailAlloc_178_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_178_, 0, v___x_174_);
lean_ctor_set(v_reuseFailAlloc_178_, 1, v___x_175_);
v___x_177_ = v_reuseFailAlloc_178_;
goto v_reusejp_176_;
}
v_reusejp_176_:
{
return v___x_177_;
}
}
else
{
lean_object* v_k_x27_179_; uint8_t v___x_180_; 
v_k_x27_179_ = lean_array_fget_borrowed(v_ks_167_, v_x_164_);
v___x_180_ = lean_name_eq(v_x_165_, v_k_x27_179_);
if (v___x_180_ == 0)
{
lean_object* v___x_182_; 
if (v_isShared_171_ == 0)
{
v___x_182_ = v___x_170_;
goto v_reusejp_181_;
}
else
{
lean_object* v_reuseFailAlloc_186_; 
v_reuseFailAlloc_186_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_186_, 0, v_ks_167_);
lean_ctor_set(v_reuseFailAlloc_186_, 1, v_vs_168_);
v___x_182_ = v_reuseFailAlloc_186_;
goto v_reusejp_181_;
}
v_reusejp_181_:
{
lean_object* v___x_183_; lean_object* v___x_184_; 
v___x_183_ = lean_unsigned_to_nat(1u);
v___x_184_ = lean_nat_add(v_x_164_, v___x_183_);
lean_dec(v_x_164_);
v_x_163_ = v___x_182_;
v_x_164_ = v___x_184_;
goto _start;
}
}
else
{
lean_object* v___x_187_; lean_object* v___x_188_; lean_object* v___x_190_; 
v___x_187_ = lean_array_fset(v_ks_167_, v_x_164_, v_x_165_);
v___x_188_ = lean_array_fset(v_vs_168_, v_x_164_, v_x_166_);
lean_dec(v_x_164_);
if (v_isShared_171_ == 0)
{
lean_ctor_set(v___x_170_, 1, v___x_188_);
lean_ctor_set(v___x_170_, 0, v___x_187_);
v___x_190_ = v___x_170_;
goto v_reusejp_189_;
}
else
{
lean_object* v_reuseFailAlloc_191_; 
v_reuseFailAlloc_191_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_191_, 0, v___x_187_);
lean_ctor_set(v_reuseFailAlloc_191_, 1, v___x_188_);
v___x_190_ = v_reuseFailAlloc_191_;
goto v_reusejp_189_;
}
v_reusejp_189_:
{
return v___x_190_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2___redArg(lean_object* v_n_193_, lean_object* v_k_194_, lean_object* v_v_195_){
_start:
{
lean_object* v___x_196_; lean_object* v___x_197_; 
v___x_196_ = lean_unsigned_to_nat(0u);
v___x_197_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5___redArg(v_n_193_, v___x_196_, v_k_194_, v_v_195_);
return v___x_197_;
}
}
static uint64_t _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0(void){
_start:
{
lean_object* v___x_198_; uint64_t v___x_199_; 
v___x_198_ = lean_unsigned_to_nat(1723u);
v___x_199_ = lean_uint64_of_nat(v___x_198_);
return v___x_199_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0(void){
_start:
{
size_t v___x_200_; size_t v___x_201_; size_t v___x_202_; 
v___x_200_ = ((size_t)5ULL);
v___x_201_ = ((size_t)1ULL);
v___x_202_ = lean_usize_shift_left(v___x_201_, v___x_200_);
return v___x_202_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1(void){
_start:
{
size_t v___x_203_; size_t v___x_204_; size_t v___x_205_; 
v___x_203_ = ((size_t)1ULL);
v___x_204_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__0);
v___x_205_ = lean_usize_sub(v___x_204_, v___x_203_);
return v___x_205_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2(void){
_start:
{
lean_object* v___x_206_; 
v___x_206_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
return v___x_206_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(lean_object* v_x_207_, size_t v_x_208_, size_t v_x_209_, lean_object* v_x_210_, lean_object* v_x_211_){
_start:
{
if (lean_obj_tag(v_x_207_) == 0)
{
lean_object* v_es_212_; size_t v___x_213_; size_t v___x_214_; size_t v___x_215_; size_t v___x_216_; lean_object* v_j_217_; lean_object* v___x_218_; uint8_t v___x_219_; 
v_es_212_ = lean_ctor_get(v_x_207_, 0);
v___x_213_ = ((size_t)5ULL);
v___x_214_ = ((size_t)1ULL);
v___x_215_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1);
v___x_216_ = lean_usize_land(v_x_208_, v___x_215_);
v_j_217_ = lean_usize_to_nat(v___x_216_);
v___x_218_ = lean_array_get_size(v_es_212_);
v___x_219_ = lean_nat_dec_lt(v_j_217_, v___x_218_);
if (v___x_219_ == 0)
{
lean_dec(v_j_217_);
lean_dec(v_x_211_);
lean_dec(v_x_210_);
return v_x_207_;
}
else
{
lean_object* v___x_221_; uint8_t v_isShared_222_; uint8_t v_isSharedCheck_256_; 
lean_inc_ref(v_es_212_);
v_isSharedCheck_256_ = !lean_is_exclusive(v_x_207_);
if (v_isSharedCheck_256_ == 0)
{
lean_object* v_unused_257_; 
v_unused_257_ = lean_ctor_get(v_x_207_, 0);
lean_dec(v_unused_257_);
v___x_221_ = v_x_207_;
v_isShared_222_ = v_isSharedCheck_256_;
goto v_resetjp_220_;
}
else
{
lean_dec(v_x_207_);
v___x_221_ = lean_box(0);
v_isShared_222_ = v_isSharedCheck_256_;
goto v_resetjp_220_;
}
v_resetjp_220_:
{
lean_object* v_v_223_; lean_object* v___x_224_; lean_object* v_xs_x27_225_; lean_object* v___y_227_; 
v_v_223_ = lean_array_fget(v_es_212_, v_j_217_);
v___x_224_ = lean_box(0);
v_xs_x27_225_ = lean_array_fset(v_es_212_, v_j_217_, v___x_224_);
switch(lean_obj_tag(v_v_223_))
{
case 0:
{
lean_object* v_key_232_; lean_object* v_val_233_; lean_object* v___x_235_; uint8_t v_isShared_236_; uint8_t v_isSharedCheck_243_; 
v_key_232_ = lean_ctor_get(v_v_223_, 0);
v_val_233_ = lean_ctor_get(v_v_223_, 1);
v_isSharedCheck_243_ = !lean_is_exclusive(v_v_223_);
if (v_isSharedCheck_243_ == 0)
{
v___x_235_ = v_v_223_;
v_isShared_236_ = v_isSharedCheck_243_;
goto v_resetjp_234_;
}
else
{
lean_inc(v_val_233_);
lean_inc(v_key_232_);
lean_dec(v_v_223_);
v___x_235_ = lean_box(0);
v_isShared_236_ = v_isSharedCheck_243_;
goto v_resetjp_234_;
}
v_resetjp_234_:
{
uint8_t v___x_237_; 
v___x_237_ = lean_name_eq(v_x_210_, v_key_232_);
if (v___x_237_ == 0)
{
lean_object* v___x_238_; lean_object* v___x_239_; 
lean_del_object(v___x_235_);
v___x_238_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_232_, v_val_233_, v_x_210_, v_x_211_);
v___x_239_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_239_, 0, v___x_238_);
v___y_227_ = v___x_239_;
goto v___jp_226_;
}
else
{
lean_object* v___x_241_; 
lean_dec(v_val_233_);
lean_dec(v_key_232_);
if (v_isShared_236_ == 0)
{
lean_ctor_set(v___x_235_, 1, v_x_211_);
lean_ctor_set(v___x_235_, 0, v_x_210_);
v___x_241_ = v___x_235_;
goto v_reusejp_240_;
}
else
{
lean_object* v_reuseFailAlloc_242_; 
v_reuseFailAlloc_242_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_242_, 0, v_x_210_);
lean_ctor_set(v_reuseFailAlloc_242_, 1, v_x_211_);
v___x_241_ = v_reuseFailAlloc_242_;
goto v_reusejp_240_;
}
v_reusejp_240_:
{
v___y_227_ = v___x_241_;
goto v___jp_226_;
}
}
}
}
case 1:
{
lean_object* v_node_244_; lean_object* v___x_246_; uint8_t v_isShared_247_; uint8_t v_isSharedCheck_254_; 
v_node_244_ = lean_ctor_get(v_v_223_, 0);
v_isSharedCheck_254_ = !lean_is_exclusive(v_v_223_);
if (v_isSharedCheck_254_ == 0)
{
v___x_246_ = v_v_223_;
v_isShared_247_ = v_isSharedCheck_254_;
goto v_resetjp_245_;
}
else
{
lean_inc(v_node_244_);
lean_dec(v_v_223_);
v___x_246_ = lean_box(0);
v_isShared_247_ = v_isSharedCheck_254_;
goto v_resetjp_245_;
}
v_resetjp_245_:
{
size_t v___x_248_; size_t v___x_249_; lean_object* v___x_250_; lean_object* v___x_252_; 
v___x_248_ = lean_usize_shift_right(v_x_208_, v___x_213_);
v___x_249_ = lean_usize_add(v_x_209_, v___x_214_);
v___x_250_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(v_node_244_, v___x_248_, v___x_249_, v_x_210_, v_x_211_);
if (v_isShared_247_ == 0)
{
lean_ctor_set(v___x_246_, 0, v___x_250_);
v___x_252_ = v___x_246_;
goto v_reusejp_251_;
}
else
{
lean_object* v_reuseFailAlloc_253_; 
v_reuseFailAlloc_253_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_253_, 0, v___x_250_);
v___x_252_ = v_reuseFailAlloc_253_;
goto v_reusejp_251_;
}
v_reusejp_251_:
{
v___y_227_ = v___x_252_;
goto v___jp_226_;
}
}
}
default: 
{
lean_object* v___x_255_; 
v___x_255_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_255_, 0, v_x_210_);
lean_ctor_set(v___x_255_, 1, v_x_211_);
v___y_227_ = v___x_255_;
goto v___jp_226_;
}
}
v___jp_226_:
{
lean_object* v___x_228_; lean_object* v___x_230_; 
v___x_228_ = lean_array_fset(v_xs_x27_225_, v_j_217_, v___y_227_);
lean_dec(v_j_217_);
if (v_isShared_222_ == 0)
{
lean_ctor_set(v___x_221_, 0, v___x_228_);
v___x_230_ = v___x_221_;
goto v_reusejp_229_;
}
else
{
lean_object* v_reuseFailAlloc_231_; 
v_reuseFailAlloc_231_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_231_, 0, v___x_228_);
v___x_230_ = v_reuseFailAlloc_231_;
goto v_reusejp_229_;
}
v_reusejp_229_:
{
return v___x_230_;
}
}
}
}
}
else
{
lean_object* v_ks_258_; lean_object* v_vs_259_; lean_object* v___x_261_; uint8_t v_isShared_262_; uint8_t v_isSharedCheck_279_; 
v_ks_258_ = lean_ctor_get(v_x_207_, 0);
v_vs_259_ = lean_ctor_get(v_x_207_, 1);
v_isSharedCheck_279_ = !lean_is_exclusive(v_x_207_);
if (v_isSharedCheck_279_ == 0)
{
v___x_261_ = v_x_207_;
v_isShared_262_ = v_isSharedCheck_279_;
goto v_resetjp_260_;
}
else
{
lean_inc(v_vs_259_);
lean_inc(v_ks_258_);
lean_dec(v_x_207_);
v___x_261_ = lean_box(0);
v_isShared_262_ = v_isSharedCheck_279_;
goto v_resetjp_260_;
}
v_resetjp_260_:
{
lean_object* v___x_264_; 
if (v_isShared_262_ == 0)
{
v___x_264_ = v___x_261_;
goto v_reusejp_263_;
}
else
{
lean_object* v_reuseFailAlloc_278_; 
v_reuseFailAlloc_278_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_278_, 0, v_ks_258_);
lean_ctor_set(v_reuseFailAlloc_278_, 1, v_vs_259_);
v___x_264_ = v_reuseFailAlloc_278_;
goto v_reusejp_263_;
}
v_reusejp_263_:
{
lean_object* v_newNode_265_; uint8_t v___y_267_; size_t v___x_273_; uint8_t v___x_274_; 
v_newNode_265_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2___redArg(v___x_264_, v_x_210_, v_x_211_);
v___x_273_ = ((size_t)7ULL);
v___x_274_ = lean_usize_dec_le(v___x_273_, v_x_209_);
if (v___x_274_ == 0)
{
lean_object* v___x_275_; lean_object* v___x_276_; uint8_t v___x_277_; 
v___x_275_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_265_);
v___x_276_ = lean_unsigned_to_nat(4u);
v___x_277_ = lean_nat_dec_lt(v___x_275_, v___x_276_);
lean_dec(v___x_275_);
v___y_267_ = v___x_277_;
goto v___jp_266_;
}
else
{
v___y_267_ = v___x_274_;
goto v___jp_266_;
}
v___jp_266_:
{
if (v___y_267_ == 0)
{
lean_object* v_ks_268_; lean_object* v_vs_269_; lean_object* v___x_270_; lean_object* v___x_271_; lean_object* v___x_272_; 
v_ks_268_ = lean_ctor_get(v_newNode_265_, 0);
lean_inc_ref(v_ks_268_);
v_vs_269_ = lean_ctor_get(v_newNode_265_, 1);
lean_inc_ref(v_vs_269_);
lean_dec_ref(v_newNode_265_);
v___x_270_ = lean_unsigned_to_nat(0u);
v___x_271_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__2);
v___x_272_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg(v_x_209_, v_ks_268_, v_vs_269_, v___x_270_, v___x_271_);
lean_dec_ref(v_vs_269_);
lean_dec_ref(v_ks_268_);
return v___x_272_;
}
else
{
return v_newNode_265_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg(size_t v_depth_280_, lean_object* v_keys_281_, lean_object* v_vals_282_, lean_object* v_i_283_, lean_object* v_entries_284_){
_start:
{
lean_object* v___x_285_; uint8_t v___x_286_; 
v___x_285_ = lean_array_get_size(v_keys_281_);
v___x_286_ = lean_nat_dec_lt(v_i_283_, v___x_285_);
if (v___x_286_ == 0)
{
lean_dec(v_i_283_);
return v_entries_284_;
}
else
{
lean_object* v_k_287_; lean_object* v_v_288_; uint64_t v___y_290_; 
v_k_287_ = lean_array_fget_borrowed(v_keys_281_, v_i_283_);
v_v_288_ = lean_array_fget_borrowed(v_vals_282_, v_i_283_);
if (lean_obj_tag(v_k_287_) == 0)
{
uint64_t v___x_301_; 
v___x_301_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_290_ = v___x_301_;
goto v___jp_289_;
}
else
{
uint64_t v_hash_302_; 
v_hash_302_ = lean_ctor_get_uint64(v_k_287_, sizeof(void*)*2);
v___y_290_ = v_hash_302_;
goto v___jp_289_;
}
v___jp_289_:
{
size_t v_h_291_; size_t v___x_292_; lean_object* v___x_293_; size_t v___x_294_; size_t v___x_295_; size_t v___x_296_; size_t v_h_297_; lean_object* v___x_298_; lean_object* v___x_299_; 
v_h_291_ = lean_uint64_to_usize(v___y_290_);
v___x_292_ = ((size_t)5ULL);
v___x_293_ = lean_unsigned_to_nat(1u);
v___x_294_ = ((size_t)1ULL);
v___x_295_ = lean_usize_sub(v_depth_280_, v___x_294_);
v___x_296_ = lean_usize_mul(v___x_292_, v___x_295_);
v_h_297_ = lean_usize_shift_right(v_h_291_, v___x_296_);
v___x_298_ = lean_nat_add(v_i_283_, v___x_293_);
lean_dec(v_i_283_);
lean_inc(v_v_288_);
lean_inc(v_k_287_);
v___x_299_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(v_entries_284_, v_h_297_, v_depth_280_, v_k_287_, v_v_288_);
v_i_283_ = v___x_298_;
v_entries_284_ = v___x_299_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___boxed(lean_object* v_depth_303_, lean_object* v_keys_304_, lean_object* v_vals_305_, lean_object* v_i_306_, lean_object* v_entries_307_){
_start:
{
size_t v_depth_boxed_308_; lean_object* v_res_309_; 
v_depth_boxed_308_ = lean_unbox_usize(v_depth_303_);
lean_dec(v_depth_303_);
v_res_309_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg(v_depth_boxed_308_, v_keys_304_, v_vals_305_, v_i_306_, v_entries_307_);
lean_dec_ref(v_vals_305_);
lean_dec_ref(v_keys_304_);
return v_res_309_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___boxed(lean_object* v_x_310_, lean_object* v_x_311_, lean_object* v_x_312_, lean_object* v_x_313_, lean_object* v_x_314_){
_start:
{
size_t v_x_703__boxed_315_; size_t v_x_704__boxed_316_; lean_object* v_res_317_; 
v_x_703__boxed_315_ = lean_unbox_usize(v_x_311_);
lean_dec(v_x_311_);
v_x_704__boxed_316_ = lean_unbox_usize(v_x_312_);
lean_dec(v_x_312_);
v_res_317_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(v_x_310_, v_x_703__boxed_315_, v_x_704__boxed_316_, v_x_313_, v_x_314_);
return v_res_317_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0___redArg(lean_object* v_x_318_, lean_object* v_x_319_, lean_object* v_x_320_){
_start:
{
uint64_t v___y_322_; 
if (lean_obj_tag(v_x_319_) == 0)
{
uint64_t v___x_326_; 
v___x_326_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_322_ = v___x_326_;
goto v___jp_321_;
}
else
{
uint64_t v_hash_327_; 
v_hash_327_ = lean_ctor_get_uint64(v_x_319_, sizeof(void*)*2);
v___y_322_ = v_hash_327_;
goto v___jp_321_;
}
v___jp_321_:
{
size_t v___x_323_; size_t v___x_324_; lean_object* v___x_325_; 
v___x_323_ = lean_uint64_to_usize(v___y_322_);
v___x_324_ = ((size_t)1ULL);
v___x_325_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(v_x_318_, v___x_323_, v___x_324_, v_x_319_, v_x_320_);
return v___x_325_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg(lean_object* v_keys_328_, lean_object* v_vals_329_, lean_object* v_i_330_, lean_object* v_k_331_){
_start:
{
lean_object* v___x_332_; uint8_t v___x_333_; 
v___x_332_ = lean_array_get_size(v_keys_328_);
v___x_333_ = lean_nat_dec_lt(v_i_330_, v___x_332_);
if (v___x_333_ == 0)
{
lean_object* v___x_334_; 
lean_dec(v_i_330_);
v___x_334_ = lean_box(0);
return v___x_334_;
}
else
{
lean_object* v_k_x27_335_; uint8_t v___x_336_; 
v_k_x27_335_ = lean_array_fget_borrowed(v_keys_328_, v_i_330_);
v___x_336_ = lean_name_eq(v_k_331_, v_k_x27_335_);
if (v___x_336_ == 0)
{
lean_object* v___x_337_; lean_object* v___x_338_; 
v___x_337_ = lean_unsigned_to_nat(1u);
v___x_338_ = lean_nat_add(v_i_330_, v___x_337_);
lean_dec(v_i_330_);
v_i_330_ = v___x_338_;
goto _start;
}
else
{
lean_object* v___x_340_; lean_object* v___x_341_; 
v___x_340_ = lean_array_fget_borrowed(v_vals_329_, v_i_330_);
lean_dec(v_i_330_);
lean_inc(v___x_340_);
v___x_341_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_341_, 0, v___x_340_);
return v___x_341_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg___boxed(lean_object* v_keys_342_, lean_object* v_vals_343_, lean_object* v_i_344_, lean_object* v_k_345_){
_start:
{
lean_object* v_res_346_; 
v_res_346_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg(v_keys_342_, v_vals_343_, v_i_344_, v_k_345_);
lean_dec(v_k_345_);
lean_dec_ref(v_vals_343_);
lean_dec_ref(v_keys_342_);
return v_res_346_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg(lean_object* v_x_347_, size_t v_x_348_, lean_object* v_x_349_){
_start:
{
if (lean_obj_tag(v_x_347_) == 0)
{
lean_object* v_es_350_; lean_object* v___x_352_; uint8_t v_isShared_353_; uint8_t v_isSharedCheck_371_; 
v_es_350_ = lean_ctor_get(v_x_347_, 0);
v_isSharedCheck_371_ = !lean_is_exclusive(v_x_347_);
if (v_isSharedCheck_371_ == 0)
{
v___x_352_ = v_x_347_;
v_isShared_353_ = v_isSharedCheck_371_;
goto v_resetjp_351_;
}
else
{
lean_inc(v_es_350_);
lean_dec(v_x_347_);
v___x_352_ = lean_box(0);
v_isShared_353_ = v_isSharedCheck_371_;
goto v_resetjp_351_;
}
v_resetjp_351_:
{
lean_object* v___x_354_; size_t v___x_355_; size_t v___x_356_; size_t v___x_357_; lean_object* v_j_358_; lean_object* v___x_359_; 
v___x_354_ = lean_box(2);
v___x_355_ = ((size_t)5ULL);
v___x_356_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1);
v___x_357_ = lean_usize_land(v_x_348_, v___x_356_);
v_j_358_ = lean_usize_to_nat(v___x_357_);
v___x_359_ = lean_array_get(v___x_354_, v_es_350_, v_j_358_);
lean_dec(v_j_358_);
lean_dec_ref(v_es_350_);
switch(lean_obj_tag(v___x_359_))
{
case 0:
{
lean_object* v_key_360_; lean_object* v_val_361_; uint8_t v___x_362_; 
v_key_360_ = lean_ctor_get(v___x_359_, 0);
lean_inc(v_key_360_);
v_val_361_ = lean_ctor_get(v___x_359_, 1);
lean_inc(v_val_361_);
lean_dec_ref(v___x_359_);
v___x_362_ = lean_name_eq(v_x_349_, v_key_360_);
lean_dec(v_key_360_);
if (v___x_362_ == 0)
{
lean_object* v___x_363_; 
lean_dec(v_val_361_);
lean_del_object(v___x_352_);
v___x_363_ = lean_box(0);
return v___x_363_;
}
else
{
lean_object* v___x_365_; 
if (v_isShared_353_ == 0)
{
lean_ctor_set_tag(v___x_352_, 1);
lean_ctor_set(v___x_352_, 0, v_val_361_);
v___x_365_ = v___x_352_;
goto v_reusejp_364_;
}
else
{
lean_object* v_reuseFailAlloc_366_; 
v_reuseFailAlloc_366_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_366_, 0, v_val_361_);
v___x_365_ = v_reuseFailAlloc_366_;
goto v_reusejp_364_;
}
v_reusejp_364_:
{
return v___x_365_;
}
}
}
case 1:
{
lean_object* v_node_367_; size_t v___x_368_; 
lean_del_object(v___x_352_);
v_node_367_ = lean_ctor_get(v___x_359_, 0);
lean_inc(v_node_367_);
lean_dec_ref(v___x_359_);
v___x_368_ = lean_usize_shift_right(v_x_348_, v___x_355_);
v_x_347_ = v_node_367_;
v_x_348_ = v___x_368_;
goto _start;
}
default: 
{
lean_object* v___x_370_; 
lean_del_object(v___x_352_);
v___x_370_ = lean_box(0);
return v___x_370_;
}
}
}
}
else
{
lean_object* v_ks_372_; lean_object* v_vs_373_; lean_object* v___x_374_; lean_object* v___x_375_; 
v_ks_372_ = lean_ctor_get(v_x_347_, 0);
lean_inc_ref(v_ks_372_);
v_vs_373_ = lean_ctor_get(v_x_347_, 1);
lean_inc_ref(v_vs_373_);
lean_dec_ref(v_x_347_);
v___x_374_ = lean_unsigned_to_nat(0u);
v___x_375_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg(v_ks_372_, v_vs_373_, v___x_374_, v_x_349_);
lean_dec_ref(v_vs_373_);
lean_dec_ref(v_ks_372_);
return v___x_375_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg___boxed(lean_object* v_x_376_, lean_object* v_x_377_, lean_object* v_x_378_){
_start:
{
size_t v_x_914__boxed_379_; lean_object* v_res_380_; 
v_x_914__boxed_379_ = lean_unbox_usize(v_x_377_);
lean_dec(v_x_377_);
v_res_380_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg(v_x_376_, v_x_914__boxed_379_, v_x_378_);
lean_dec(v_x_378_);
return v_res_380_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(lean_object* v_x_381_, lean_object* v_x_382_){
_start:
{
uint64_t v___y_384_; 
if (lean_obj_tag(v_x_382_) == 0)
{
uint64_t v___x_387_; 
v___x_387_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_384_ = v___x_387_;
goto v___jp_383_;
}
else
{
uint64_t v_hash_388_; 
v_hash_388_ = lean_ctor_get_uint64(v_x_382_, sizeof(void*)*2);
v___y_384_ = v_hash_388_;
goto v___jp_383_;
}
v___jp_383_:
{
size_t v___x_385_; lean_object* v___x_386_; 
v___x_385_ = lean_uint64_to_usize(v___y_384_);
v___x_386_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg(v_x_381_, v___x_385_, v_x_382_);
return v___x_386_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg___boxed(lean_object* v_x_389_, lean_object* v_x_390_){
_start:
{
lean_object* v_res_391_; 
v_res_391_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(v_x_389_, v_x_390_);
lean_dec(v_x_390_);
return v_res_391_;
}
}
static lean_object* _init_l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3(void){
_start:
{
lean_object* v___x_395_; lean_object* v___x_396_; lean_object* v___x_397_; lean_object* v___x_398_; lean_object* v___x_399_; lean_object* v___x_400_; 
v___x_395_ = ((lean_object*)(l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__2));
v___x_396_ = lean_unsigned_to_nat(14u);
v___x_397_ = lean_unsigned_to_nat(177u);
v___x_398_ = ((lean_object*)(l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__1));
v___x_399_ = ((lean_object*)(l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__0));
v___x_400_ = l_mkPanicMessageWithDecl(v___x_399_, v___x_398_, v___x_397_, v___x_396_, v___x_395_);
return v___x_400_;
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3(lean_object* v_newState_401_, lean_object* v_x_402_, lean_object* v_x_403_){
_start:
{
if (lean_obj_tag(v_x_403_) == 0)
{
lean_dec_ref(v_newState_401_);
return v_x_402_;
}
else
{
lean_object* v_head_404_; lean_object* v_tail_405_; lean_object* v___x_407_; uint8_t v_isShared_408_; uint8_t v_isSharedCheck_430_; 
v_head_404_ = lean_ctor_get(v_x_403_, 0);
v_tail_405_ = lean_ctor_get(v_x_403_, 1);
v_isSharedCheck_430_ = !lean_is_exclusive(v_x_403_);
if (v_isSharedCheck_430_ == 0)
{
v___x_407_ = v_x_403_;
v_isShared_408_ = v_isSharedCheck_430_;
goto v_resetjp_406_;
}
else
{
lean_inc(v_tail_405_);
lean_inc(v_head_404_);
lean_dec(v_x_403_);
v___x_407_ = lean_box(0);
v_isShared_408_ = v_isSharedCheck_430_;
goto v_resetjp_406_;
}
v_resetjp_406_:
{
lean_object* v___y_410_; lean_object* v_constNames_425_; lean_object* v___x_426_; 
v_constNames_425_ = lean_ctor_get(v_newState_401_, 0);
lean_inc_ref(v_constNames_425_);
v___x_426_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(v_constNames_425_, v_head_404_);
if (lean_obj_tag(v___x_426_) == 0)
{
lean_object* v___x_427_; lean_object* v___x_428_; 
v___x_427_ = lean_obj_once(&l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3, &l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3_once, _init_l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3___closed__3);
v___x_428_ = l_panic___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__2(v___x_427_);
v___y_410_ = v___x_428_;
goto v___jp_409_;
}
else
{
lean_object* v_val_429_; 
v_val_429_ = lean_ctor_get(v___x_426_, 0);
lean_inc(v_val_429_);
lean_dec_ref(v___x_426_);
v___y_410_ = v_val_429_;
goto v___jp_409_;
}
v___jp_409_:
{
lean_object* v_constNames_411_; lean_object* v_revNames_412_; lean_object* v___x_414_; uint8_t v_isShared_415_; uint8_t v_isSharedCheck_424_; 
v_constNames_411_ = lean_ctor_get(v_x_402_, 0);
v_revNames_412_ = lean_ctor_get(v_x_402_, 1);
v_isSharedCheck_424_ = !lean_is_exclusive(v_x_402_);
if (v_isSharedCheck_424_ == 0)
{
v___x_414_ = v_x_402_;
v_isShared_415_ = v_isSharedCheck_424_;
goto v_resetjp_413_;
}
else
{
lean_inc(v_revNames_412_);
lean_inc(v_constNames_411_);
lean_dec(v_x_402_);
v___x_414_ = lean_box(0);
v_isShared_415_ = v_isSharedCheck_424_;
goto v_resetjp_413_;
}
v_resetjp_413_:
{
lean_object* v___x_416_; lean_object* v___x_418_; 
lean_inc(v_head_404_);
v___x_416_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0___redArg(v_constNames_411_, v_head_404_, v___y_410_);
if (v_isShared_408_ == 0)
{
lean_ctor_set(v___x_407_, 1, v_revNames_412_);
v___x_418_ = v___x_407_;
goto v_reusejp_417_;
}
else
{
lean_object* v_reuseFailAlloc_423_; 
v_reuseFailAlloc_423_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_423_, 0, v_head_404_);
lean_ctor_set(v_reuseFailAlloc_423_, 1, v_revNames_412_);
v___x_418_ = v_reuseFailAlloc_423_;
goto v_reusejp_417_;
}
v_reusejp_417_:
{
lean_object* v___x_420_; 
if (v_isShared_415_ == 0)
{
lean_ctor_set(v___x_414_, 1, v___x_418_);
lean_ctor_set(v___x_414_, 0, v___x_416_);
v___x_420_ = v___x_414_;
goto v_reusejp_419_;
}
else
{
lean_object* v_reuseFailAlloc_422_; 
v_reuseFailAlloc_422_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_422_, 0, v___x_416_);
lean_ctor_set(v_reuseFailAlloc_422_, 1, v___x_418_);
v___x_420_ = v_reuseFailAlloc_422_;
goto v_reusejp_419_;
}
v_reusejp_419_:
{
v_x_402_ = v___x_420_;
v_x_403_ = v_tail_405_;
goto _start;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(lean_object* v_oldState_433_, lean_object* v_newState_434_, lean_object* v_x_435_, lean_object* v_s_436_){
_start:
{
lean_object* v_revNames_437_; lean_object* v_revNames_438_; lean_object* v___x_439_; lean_object* v___x_440_; lean_object* v___x_441_; lean_object* v___x_442_; lean_object* v_newNames_443_; lean_object* v___x_444_; 
v_revNames_437_ = lean_ctor_get(v_newState_434_, 1);
v_revNames_438_ = lean_ctor_get(v_oldState_433_, 1);
v___x_439_ = l_List_lengthTR___redArg(v_revNames_437_);
v___x_440_ = l_List_lengthTR___redArg(v_revNames_438_);
v___x_441_ = lean_nat_sub(v___x_439_, v___x_440_);
lean_dec(v___x_440_);
lean_dec(v___x_439_);
v___x_442_ = ((lean_object*)(l_Lean_Compiler_LCNF_initFn___lam__0___closed__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_));
lean_inc(v_revNames_437_);
v_newNames_443_ = l___private_Init_Data_List_Impl_0__List_takeTR_go(lean_box(0), v_revNames_437_, v_revNames_437_, v___x_441_, v___x_442_);
v___x_444_ = l_List_foldl___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__3(v_newState_434_, v_s_436_, v_newNames_443_);
return v___x_444_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object* v_oldState_445_, lean_object* v_newState_446_, lean_object* v_x_447_, lean_object* v_s_448_){
_start:
{
lean_object* v_res_449_; 
v_res_449_ = l_Lean_Compiler_LCNF_initFn___lam__0_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(v_oldState_445_, v_newState_446_, v_x_447_, v_s_448_);
lean_dec(v_x_447_);
lean_dec_ref(v_oldState_445_);
return v_res_449_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(lean_object* v___x_450_){
_start:
{
lean_object* v___x_452_; 
v___x_452_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_452_, 0, v___x_450_);
return v___x_452_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object* v___x_453_, lean_object* v___y_454_){
_start:
{
lean_object* v_res_455_; 
v_res_455_ = l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(v___x_453_);
return v_res_455_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(void){
_start:
{
lean_object* v___x_457_; lean_object* v___f_458_; 
v___x_457_ = lean_obj_once(&l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2, &l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2_once, _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default___closed__2);
v___f_458_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_initFn___lam__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed), 2, 1);
lean_closure_set(v___f_458_, 0, v___x_457_);
return v___f_458_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_(){
_start:
{
lean_object* v___f_462_; lean_object* v___x_463_; lean_object* v___x_464_; lean_object* v___x_465_; 
v___f_462_ = lean_obj_once(&l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_, &l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__once, _init_l_Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_);
v___x_463_ = ((lean_object*)(l_Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_));
v___x_464_ = lean_box(0);
v___x_465_ = l_Lean_registerEnvExtension___redArg(v___f_462_, v___x_463_, v___x_464_);
return v___x_465_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2____boxed(lean_object* v_a_466_){
_start:
{
lean_object* v_res_467_; 
v_res_467_ = l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_();
return v_res_467_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0(lean_object* v_00_u03b2_468_, lean_object* v_x_469_, lean_object* v_x_470_, lean_object* v_x_471_){
_start:
{
lean_object* v___x_472_; 
v___x_472_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0___redArg(v_x_469_, v_x_470_, v_x_471_);
return v___x_472_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1(lean_object* v_00_u03b2_473_, lean_object* v_x_474_, lean_object* v_x_475_){
_start:
{
lean_object* v___x_476_; 
v___x_476_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(v_x_474_, v_x_475_);
return v___x_476_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___boxed(lean_object* v_00_u03b2_477_, lean_object* v_x_478_, lean_object* v_x_479_){
_start:
{
lean_object* v_res_480_; 
v_res_480_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1(v_00_u03b2_477_, v_x_478_, v_x_479_);
lean_dec(v_x_479_);
return v_res_480_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0(lean_object* v_00_u03b2_481_, lean_object* v_x_482_, size_t v_x_483_, size_t v_x_484_, lean_object* v_x_485_, lean_object* v_x_486_){
_start:
{
lean_object* v___x_487_; 
v___x_487_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg(v_x_482_, v_x_483_, v_x_484_, v_x_485_, v_x_486_);
return v___x_487_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___boxed(lean_object* v_00_u03b2_488_, lean_object* v_x_489_, lean_object* v_x_490_, lean_object* v_x_491_, lean_object* v_x_492_, lean_object* v_x_493_){
_start:
{
size_t v_x_1148__boxed_494_; size_t v_x_1149__boxed_495_; lean_object* v_res_496_; 
v_x_1148__boxed_494_ = lean_unbox_usize(v_x_490_);
lean_dec(v_x_490_);
v_x_1149__boxed_495_ = lean_unbox_usize(v_x_491_);
lean_dec(v_x_491_);
v_res_496_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0(v_00_u03b2_488_, v_x_489_, v_x_1148__boxed_494_, v_x_1149__boxed_495_, v_x_492_, v_x_493_);
return v_res_496_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2(lean_object* v_00_u03b2_497_, lean_object* v_x_498_, size_t v_x_499_, lean_object* v_x_500_){
_start:
{
lean_object* v___x_501_; 
v___x_501_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___redArg(v_x_498_, v_x_499_, v_x_500_);
return v___x_501_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2___boxed(lean_object* v_00_u03b2_502_, lean_object* v_x_503_, lean_object* v_x_504_, lean_object* v_x_505_){
_start:
{
size_t v_x_1165__boxed_506_; lean_object* v_res_507_; 
v_x_1165__boxed_506_ = lean_unbox_usize(v_x_504_);
lean_dec(v_x_504_);
v_res_507_ = l_Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2(v_00_u03b2_502_, v_x_503_, v_x_1165__boxed_506_, v_x_505_);
lean_dec(v_x_505_);
return v_res_507_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2(lean_object* v_00_u03b2_508_, lean_object* v_n_509_, lean_object* v_k_510_, lean_object* v_v_511_){
_start:
{
lean_object* v___x_512_; 
v___x_512_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2___redArg(v_n_509_, v_k_510_, v_v_511_);
return v___x_512_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3(lean_object* v_00_u03b2_513_, size_t v_depth_514_, lean_object* v_keys_515_, lean_object* v_vals_516_, lean_object* v_heq_517_, lean_object* v_i_518_, lean_object* v_entries_519_){
_start:
{
lean_object* v___x_520_; 
v___x_520_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg(v_depth_514_, v_keys_515_, v_vals_516_, v_i_518_, v_entries_519_);
return v___x_520_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___boxed(lean_object* v_00_u03b2_521_, lean_object* v_depth_522_, lean_object* v_keys_523_, lean_object* v_vals_524_, lean_object* v_heq_525_, lean_object* v_i_526_, lean_object* v_entries_527_){
_start:
{
size_t v_depth_boxed_528_; lean_object* v_res_529_; 
v_depth_boxed_528_ = lean_unbox_usize(v_depth_522_);
lean_dec(v_depth_522_);
v_res_529_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3(v_00_u03b2_521_, v_depth_boxed_528_, v_keys_523_, v_vals_524_, v_heq_525_, v_i_526_, v_entries_527_);
lean_dec_ref(v_vals_524_);
lean_dec_ref(v_keys_523_);
return v_res_529_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6(lean_object* v_00_u03b2_530_, lean_object* v_keys_531_, lean_object* v_vals_532_, lean_object* v_heq_533_, lean_object* v_i_534_, lean_object* v_k_535_){
_start:
{
lean_object* v___x_536_; 
v___x_536_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___redArg(v_keys_531_, v_vals_532_, v_i_534_, v_k_535_);
return v___x_536_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6___boxed(lean_object* v_00_u03b2_537_, lean_object* v_keys_538_, lean_object* v_vals_539_, lean_object* v_heq_540_, lean_object* v_i_541_, lean_object* v_k_542_){
_start:
{
lean_object* v_res_543_; 
v_res_543_ = l_Lean_PersistentHashMap_findAtAux___at___00Lean_PersistentHashMap_findAux___at___00Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1_spec__2_spec__6(v_00_u03b2_537_, v_keys_538_, v_vals_539_, v_heq_540_, v_i_541_, v_k_542_);
lean_dec(v_k_542_);
lean_dec_ref(v_vals_539_);
lean_dec_ref(v_keys_538_);
return v_res_543_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5(lean_object* v_00_u03b2_544_, lean_object* v_x_545_, lean_object* v_x_546_, lean_object* v_x_547_, lean_object* v_x_548_){
_start:
{
lean_object* v___x_549_; 
v___x_549_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__2_spec__5___redArg(v_x_545_, v_x_546_, v_x_547_, v_x_548_);
return v___x_549_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_addSimpleGroundDecl___lam__0(lean_object* v_declName_550_, lean_object* v_expr_551_, lean_object* v_s_552_){
_start:
{
lean_object* v_constNames_553_; lean_object* v_revNames_554_; lean_object* v___x_556_; uint8_t v_isShared_557_; uint8_t v_isSharedCheck_563_; 
v_constNames_553_ = lean_ctor_get(v_s_552_, 0);
v_revNames_554_ = lean_ctor_get(v_s_552_, 1);
v_isSharedCheck_563_ = !lean_is_exclusive(v_s_552_);
if (v_isSharedCheck_563_ == 0)
{
v___x_556_ = v_s_552_;
v_isShared_557_ = v_isSharedCheck_563_;
goto v_resetjp_555_;
}
else
{
lean_inc(v_revNames_554_);
lean_inc(v_constNames_553_);
lean_dec(v_s_552_);
v___x_556_ = lean_box(0);
v_isShared_557_ = v_isSharedCheck_563_;
goto v_resetjp_555_;
}
v_resetjp_555_:
{
lean_object* v___x_558_; lean_object* v___x_559_; lean_object* v___x_561_; 
lean_inc(v_declName_550_);
v___x_558_ = l_Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0___redArg(v_constNames_553_, v_declName_550_, v_expr_551_);
v___x_559_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_559_, 0, v_declName_550_);
lean_ctor_set(v___x_559_, 1, v_revNames_554_);
if (v_isShared_557_ == 0)
{
lean_ctor_set(v___x_556_, 1, v___x_559_);
lean_ctor_set(v___x_556_, 0, v___x_558_);
v___x_561_ = v___x_556_;
goto v_reusejp_560_;
}
else
{
lean_object* v_reuseFailAlloc_562_; 
v_reuseFailAlloc_562_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_562_, 0, v___x_558_);
lean_ctor_set(v_reuseFailAlloc_562_, 1, v___x_559_);
v___x_561_ = v_reuseFailAlloc_562_;
goto v_reusejp_560_;
}
v_reusejp_560_:
{
return v___x_561_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_addSimpleGroundDecl(lean_object* v_env_564_, lean_object* v_declName_565_, lean_object* v_expr_566_){
_start:
{
lean_object* v___x_567_; lean_object* v_asyncMode_568_; lean_object* v___f_569_; lean_object* v___x_570_; lean_object* v___x_571_; 
v___x_567_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt;
v_asyncMode_568_ = lean_ctor_get(v___x_567_, 2);
lean_inc(v_asyncMode_568_);
v___f_569_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_addSimpleGroundDecl___lam__0), 3, 2);
lean_closure_set(v___f_569_, 0, v_declName_565_);
lean_closure_set(v___f_569_, 1, v_expr_566_);
v___x_570_ = lean_box(0);
v___x_571_ = l_Lean_EnvExtension_modifyState___redArg(v___x_567_, v_env_564_, v___f_569_, v_asyncMode_568_, v___x_570_);
lean_dec(v_asyncMode_568_);
return v___x_571_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExpr(lean_object* v_env_572_, lean_object* v_declName_573_){
_start:
{
lean_object* v___x_574_; lean_object* v_asyncMode_575_; lean_object* v___x_576_; lean_object* v___x_577_; lean_object* v___x_578_; lean_object* v_constNames_579_; lean_object* v___x_580_; 
v___x_574_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt;
v_asyncMode_575_ = lean_ctor_get(v___x_574_, 2);
lean_inc(v_asyncMode_575_);
v___x_576_ = l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default;
v___x_577_ = lean_box(0);
v___x_578_ = l___private_Lean_Environment_0__Lean_EnvExtension_getStateUnsafe___redArg(v___x_576_, v___x_574_, v_env_572_, v_asyncMode_575_, v___x_577_);
lean_dec(v_asyncMode_575_);
v_constNames_579_ = lean_ctor_get(v___x_578_, 0);
lean_inc_ref(v_constNames_579_);
lean_dec(v___x_578_);
v___x_580_ = l_Lean_PersistentHashMap_find_x3f___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__1___redArg(v_constNames_579_, v_declName_573_);
return v___x_580_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExpr___boxed(lean_object* v_env_581_, lean_object* v_declName_582_){
_start:
{
lean_object* v_res_583_; 
v_res_583_ = l_Lean_Compiler_LCNF_getSimpleGroundExpr(v_env_581_, v_declName_582_);
lean_dec(v_declName_582_);
return v_res_583_;
}
}
LEAN_EXPORT lean_object* l___private_Init_While_0__Lean_Loop_forIn_loop___at___00Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs_spec__0(lean_object* v_env_584_, lean_object* v_b_585_){
_start:
{
lean_object* v_snd_586_; lean_object* v___x_588_; uint8_t v_isShared_589_; uint8_t v_isSharedCheck_602_; 
v_snd_586_ = lean_ctor_get(v_b_585_, 1);
v_isSharedCheck_602_ = !lean_is_exclusive(v_b_585_);
if (v_isSharedCheck_602_ == 0)
{
lean_object* v_unused_603_; 
v_unused_603_ = lean_ctor_get(v_b_585_, 0);
lean_dec(v_unused_603_);
v___x_588_ = v_b_585_;
v_isShared_589_ = v_isSharedCheck_602_;
goto v_resetjp_587_;
}
else
{
lean_inc(v_snd_586_);
lean_dec(v_b_585_);
v___x_588_ = lean_box(0);
v_isShared_589_ = v_isSharedCheck_602_;
goto v_resetjp_587_;
}
v_resetjp_587_:
{
lean_object* v_other_591_; lean_object* v_val_596_; 
lean_inc_ref(v_env_584_);
v_val_596_ = l_Lean_Compiler_LCNF_getSimpleGroundExpr(v_env_584_, v_snd_586_);
if (lean_obj_tag(v_val_596_) == 1)
{
lean_object* v_val_597_; 
v_val_597_ = lean_ctor_get(v_val_596_, 0);
lean_inc(v_val_597_);
if (lean_obj_tag(v_val_597_) == 4)
{
lean_object* v_n_598_; lean_object* v___x_599_; lean_object* v___x_600_; 
lean_dec_ref(v_val_596_);
lean_del_object(v___x_588_);
lean_dec(v_snd_586_);
v_n_598_ = lean_ctor_get(v_val_597_, 0);
lean_inc(v_n_598_);
lean_dec_ref(v_val_597_);
v___x_599_ = lean_box(0);
v___x_600_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_600_, 0, v___x_599_);
lean_ctor_set(v___x_600_, 1, v_n_598_);
v_b_585_ = v___x_600_;
goto _start;
}
else
{
lean_dec(v_val_597_);
lean_dec_ref(v_env_584_);
v_other_591_ = v_val_596_;
goto v___jp_590_;
}
}
else
{
lean_dec_ref(v_env_584_);
v_other_591_ = v_val_596_;
goto v___jp_590_;
}
v___jp_590_:
{
lean_object* v___x_592_; lean_object* v___x_594_; 
v___x_592_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_592_, 0, v_other_591_);
if (v_isShared_589_ == 0)
{
lean_ctor_set(v___x_588_, 0, v___x_592_);
v___x_594_ = v___x_588_;
goto v_reusejp_593_;
}
else
{
lean_object* v_reuseFailAlloc_595_; 
v_reuseFailAlloc_595_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_595_, 0, v___x_592_);
lean_ctor_set(v_reuseFailAlloc_595_, 1, v_snd_586_);
v___x_594_ = v_reuseFailAlloc_595_;
goto v_reusejp_593_;
}
v_reusejp_593_:
{
return v___x_594_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(lean_object* v_env_604_, lean_object* v_declName_605_){
_start:
{
lean_object* v___x_606_; lean_object* v___x_607_; lean_object* v___x_608_; lean_object* v_fst_609_; 
v___x_606_ = lean_box(0);
v___x_607_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_607_, 0, v___x_606_);
lean_ctor_set(v___x_607_, 1, v_declName_605_);
v___x_608_ = l___private_Init_While_0__Lean_Loop_forIn_loop___at___00Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs_spec__0(v_env_604_, v___x_607_);
v_fst_609_ = lean_ctor_get(v___x_608_, 0);
lean_inc(v_fst_609_);
lean_dec_ref(v___x_608_);
if (lean_obj_tag(v_fst_609_) == 0)
{
return v___x_606_;
}
else
{
lean_object* v_val_610_; 
v_val_610_ = lean_ctor_get(v_fst_609_, 0);
lean_inc(v_val_610_);
lean_dec_ref(v_fst_609_);
return v_val_610_;
}
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg(lean_object* v_keys_611_, lean_object* v_i_612_, lean_object* v_k_613_){
_start:
{
lean_object* v___x_614_; uint8_t v___x_615_; 
v___x_614_ = lean_array_get_size(v_keys_611_);
v___x_615_ = lean_nat_dec_lt(v_i_612_, v___x_614_);
if (v___x_615_ == 0)
{
lean_dec(v_i_612_);
return v___x_615_;
}
else
{
lean_object* v_k_x27_616_; uint8_t v___x_617_; 
v_k_x27_616_ = lean_array_fget_borrowed(v_keys_611_, v_i_612_);
v___x_617_ = lean_name_eq(v_k_613_, v_k_x27_616_);
if (v___x_617_ == 0)
{
lean_object* v___x_618_; lean_object* v___x_619_; 
v___x_618_ = lean_unsigned_to_nat(1u);
v___x_619_ = lean_nat_add(v_i_612_, v___x_618_);
lean_dec(v_i_612_);
v_i_612_ = v___x_619_;
goto _start;
}
else
{
lean_dec(v_i_612_);
return v___x_617_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_keys_621_, lean_object* v_i_622_, lean_object* v_k_623_){
_start:
{
uint8_t v_res_624_; lean_object* v_r_625_; 
v_res_624_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg(v_keys_621_, v_i_622_, v_k_623_);
lean_dec(v_k_623_);
lean_dec_ref(v_keys_621_);
v_r_625_ = lean_box(v_res_624_);
return v_r_625_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg(lean_object* v_x_626_, size_t v_x_627_, lean_object* v_x_628_){
_start:
{
if (lean_obj_tag(v_x_626_) == 0)
{
lean_object* v_es_629_; lean_object* v___x_630_; size_t v___x_631_; size_t v___x_632_; size_t v___x_633_; lean_object* v_j_634_; lean_object* v___x_635_; 
v_es_629_ = lean_ctor_get(v_x_626_, 0);
lean_inc_ref(v_es_629_);
lean_dec_ref(v_x_626_);
v___x_630_ = lean_box(2);
v___x_631_ = ((size_t)5ULL);
v___x_632_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0___redArg___closed__1);
v___x_633_ = lean_usize_land(v_x_627_, v___x_632_);
v_j_634_ = lean_usize_to_nat(v___x_633_);
v___x_635_ = lean_array_get(v___x_630_, v_es_629_, v_j_634_);
lean_dec(v_j_634_);
lean_dec_ref(v_es_629_);
switch(lean_obj_tag(v___x_635_))
{
case 0:
{
lean_object* v_key_636_; uint8_t v___x_637_; 
v_key_636_ = lean_ctor_get(v___x_635_, 0);
lean_inc(v_key_636_);
lean_dec_ref(v___x_635_);
v___x_637_ = lean_name_eq(v_x_628_, v_key_636_);
lean_dec(v_key_636_);
return v___x_637_;
}
case 1:
{
lean_object* v_node_638_; size_t v___x_639_; 
v_node_638_ = lean_ctor_get(v___x_635_, 0);
lean_inc(v_node_638_);
lean_dec_ref(v___x_635_);
v___x_639_ = lean_usize_shift_right(v_x_627_, v___x_631_);
v_x_626_ = v_node_638_;
v_x_627_ = v___x_639_;
goto _start;
}
default: 
{
uint8_t v___x_641_; 
v___x_641_ = 0;
return v___x_641_;
}
}
}
else
{
lean_object* v_ks_642_; lean_object* v___x_643_; uint8_t v___x_644_; 
v_ks_642_ = lean_ctor_get(v_x_626_, 0);
lean_inc_ref(v_ks_642_);
lean_dec_ref(v_x_626_);
v___x_643_ = lean_unsigned_to_nat(0u);
v___x_644_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg(v_ks_642_, v___x_643_, v_x_628_);
lean_dec_ref(v_ks_642_);
return v___x_644_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg___boxed(lean_object* v_x_645_, lean_object* v_x_646_, lean_object* v_x_647_){
_start:
{
size_t v_x_140__boxed_648_; uint8_t v_res_649_; lean_object* v_r_650_; 
v_x_140__boxed_648_ = lean_unbox_usize(v_x_646_);
lean_dec(v_x_646_);
v_res_649_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg(v_x_645_, v_x_140__boxed_648_, v_x_647_);
lean_dec(v_x_647_);
v_r_650_ = lean_box(v_res_649_);
return v_r_650_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg(lean_object* v_x_651_, lean_object* v_x_652_){
_start:
{
uint64_t v___y_654_; 
if (lean_obj_tag(v_x_652_) == 0)
{
uint64_t v___x_657_; 
v___x_657_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_654_ = v___x_657_;
goto v___jp_653_;
}
else
{
uint64_t v_hash_658_; 
v_hash_658_ = lean_ctor_get_uint64(v_x_652_, sizeof(void*)*2);
v___y_654_ = v_hash_658_;
goto v___jp_653_;
}
v___jp_653_:
{
size_t v___x_655_; uint8_t v___x_656_; 
v___x_655_ = lean_uint64_to_usize(v___y_654_);
v___x_656_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg(v_x_651_, v___x_655_, v_x_652_);
return v___x_656_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg___boxed(lean_object* v_x_659_, lean_object* v_x_660_){
_start:
{
uint8_t v_res_661_; lean_object* v_r_662_; 
v_res_661_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg(v_x_659_, v_x_660_);
lean_dec(v_x_660_);
v_r_662_ = lean_box(v_res_661_);
return v_r_662_;
}
}
LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_isSimpleGroundDecl(lean_object* v_env_663_, lean_object* v_declName_664_){
_start:
{
lean_object* v___x_665_; lean_object* v_asyncMode_666_; lean_object* v___x_667_; lean_object* v___x_668_; lean_object* v___x_669_; lean_object* v_constNames_670_; uint8_t v___x_671_; 
v___x_665_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt;
v_asyncMode_666_ = lean_ctor_get(v___x_665_, 2);
lean_inc(v_asyncMode_666_);
v___x_667_ = l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default;
v___x_668_ = lean_box(0);
v___x_669_ = l___private_Lean_Environment_0__Lean_EnvExtension_getStateUnsafe___redArg(v___x_667_, v___x_665_, v_env_663_, v_asyncMode_666_, v___x_668_);
lean_dec(v_asyncMode_666_);
v_constNames_670_ = lean_ctor_get(v___x_669_, 0);
lean_inc_ref(v_constNames_670_);
lean_dec(v___x_669_);
v___x_671_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg(v_constNames_670_, v_declName_664_);
return v___x_671_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isSimpleGroundDecl___boxed(lean_object* v_env_672_, lean_object* v_declName_673_){
_start:
{
uint8_t v_res_674_; lean_object* v_r_675_; 
v_res_674_ = l_Lean_Compiler_LCNF_isSimpleGroundDecl(v_env_672_, v_declName_673_);
lean_dec(v_declName_673_);
v_r_675_ = lean_box(v_res_674_);
return v_r_675_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0(lean_object* v_00_u03b2_676_, lean_object* v_x_677_, lean_object* v_x_678_){
_start:
{
uint8_t v___x_679_; 
v___x_679_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___redArg(v_x_677_, v_x_678_);
return v___x_679_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0___boxed(lean_object* v_00_u03b2_680_, lean_object* v_x_681_, lean_object* v_x_682_){
_start:
{
uint8_t v_res_683_; lean_object* v_r_684_; 
v_res_683_ = l_Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0(v_00_u03b2_680_, v_x_681_, v_x_682_);
lean_dec(v_x_682_);
v_r_684_ = lean_box(v_res_683_);
return v_r_684_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0(lean_object* v_00_u03b2_685_, lean_object* v_x_686_, size_t v_x_687_, lean_object* v_x_688_){
_start:
{
uint8_t v___x_689_; 
v___x_689_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___redArg(v_x_686_, v_x_687_, v_x_688_);
return v___x_689_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_690_, lean_object* v_x_691_, lean_object* v_x_692_, lean_object* v_x_693_){
_start:
{
size_t v_x_220__boxed_694_; uint8_t v_res_695_; lean_object* v_r_696_; 
v_x_220__boxed_694_ = lean_unbox_usize(v_x_692_);
lean_dec(v_x_692_);
v_res_695_ = l_Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0(v_00_u03b2_690_, v_x_691_, v_x_220__boxed_694_, v_x_693_);
lean_dec(v_x_693_);
v_r_696_ = lean_box(v_res_695_);
return v_r_696_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_697_, lean_object* v_keys_698_, lean_object* v_vals_699_, lean_object* v_heq_700_, lean_object* v_i_701_, lean_object* v_k_702_){
_start:
{
uint8_t v___x_703_; 
v___x_703_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___redArg(v_keys_698_, v_i_701_, v_k_702_);
return v___x_703_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b2_704_, lean_object* v_keys_705_, lean_object* v_vals_706_, lean_object* v_heq_707_, lean_object* v_i_708_, lean_object* v_k_709_){
_start:
{
uint8_t v_res_710_; lean_object* v_r_711_; 
v_res_710_ = l_Lean_PersistentHashMap_containsAtAux___at___00Lean_PersistentHashMap_containsAux___at___00Lean_PersistentHashMap_contains___at___00Lean_Compiler_LCNF_isSimpleGroundDecl_spec__0_spec__0_spec__1(v_00_u03b2_704_, v_keys_705_, v_vals_706_, v_heq_707_, v_i_708_, v_k_709_);
lean_dec(v_k_709_);
lean_dec_ref(v_vals_706_);
lean_dec_ref(v_keys_705_);
v_r_711_ = lean_box(v_res_710_);
return v_r_711_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_uint64ToByteArrayLE(uint64_t v_n_712_){
_start:
{
uint8_t v___x_713_; uint64_t v___x_714_; uint64_t v___x_715_; uint8_t v___x_716_; uint64_t v___x_717_; uint64_t v___x_718_; uint8_t v___x_719_; uint64_t v___x_720_; uint64_t v___x_721_; uint8_t v___x_722_; uint64_t v___x_723_; uint64_t v___x_724_; uint8_t v___x_725_; uint64_t v___x_726_; uint64_t v___x_727_; uint8_t v___x_728_; uint64_t v___x_729_; uint64_t v___x_730_; uint8_t v___x_731_; uint64_t v___x_732_; uint64_t v___x_733_; uint8_t v___x_734_; lean_object* v___x_735_; lean_object* v___x_736_; lean_object* v___x_737_; lean_object* v___x_738_; lean_object* v___x_739_; lean_object* v___x_740_; lean_object* v___x_741_; lean_object* v___x_742_; lean_object* v___x_743_; lean_object* v___x_744_; lean_object* v___x_745_; lean_object* v___x_746_; lean_object* v___x_747_; lean_object* v___x_748_; lean_object* v___x_749_; lean_object* v___x_750_; lean_object* v___x_751_; lean_object* v___x_752_; 
v___x_713_ = lean_uint64_to_uint8(v_n_712_);
v___x_714_ = 8ULL;
v___x_715_ = lean_uint64_shift_right(v_n_712_, v___x_714_);
v___x_716_ = lean_uint64_to_uint8(v___x_715_);
v___x_717_ = 16ULL;
v___x_718_ = lean_uint64_shift_right(v_n_712_, v___x_717_);
v___x_719_ = lean_uint64_to_uint8(v___x_718_);
v___x_720_ = 24ULL;
v___x_721_ = lean_uint64_shift_right(v_n_712_, v___x_720_);
v___x_722_ = lean_uint64_to_uint8(v___x_721_);
v___x_723_ = 32ULL;
v___x_724_ = lean_uint64_shift_right(v_n_712_, v___x_723_);
v___x_725_ = lean_uint64_to_uint8(v___x_724_);
v___x_726_ = 40ULL;
v___x_727_ = lean_uint64_shift_right(v_n_712_, v___x_726_);
v___x_728_ = lean_uint64_to_uint8(v___x_727_);
v___x_729_ = 48ULL;
v___x_730_ = lean_uint64_shift_right(v_n_712_, v___x_729_);
v___x_731_ = lean_uint64_to_uint8(v___x_730_);
v___x_732_ = 56ULL;
v___x_733_ = lean_uint64_shift_right(v_n_712_, v___x_732_);
v___x_734_ = lean_uint64_to_uint8(v___x_733_);
v___x_735_ = lean_unsigned_to_nat(8u);
v___x_736_ = lean_mk_empty_array_with_capacity(v___x_735_);
v___x_737_ = lean_box(v___x_713_);
v___x_738_ = lean_array_push(v___x_736_, v___x_737_);
v___x_739_ = lean_box(v___x_716_);
v___x_740_ = lean_array_push(v___x_738_, v___x_739_);
v___x_741_ = lean_box(v___x_719_);
v___x_742_ = lean_array_push(v___x_740_, v___x_741_);
v___x_743_ = lean_box(v___x_722_);
v___x_744_ = lean_array_push(v___x_742_, v___x_743_);
v___x_745_ = lean_box(v___x_725_);
v___x_746_ = lean_array_push(v___x_744_, v___x_745_);
v___x_747_ = lean_box(v___x_728_);
v___x_748_ = lean_array_push(v___x_746_, v___x_747_);
v___x_749_ = lean_box(v___x_731_);
v___x_750_ = lean_array_push(v___x_748_, v___x_749_);
v___x_751_ = lean_box(v___x_734_);
v___x_752_ = lean_array_push(v___x_750_, v___x_751_);
return v___x_752_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_uint64ToByteArrayLE___boxed(lean_object* v_n_753_){
_start:
{
uint64_t v_n_boxed_754_; lean_object* v_res_755_; 
v_n_boxed_754_ = lean_unbox_uint64(v_n_753_);
lean_dec_ref(v_n_753_);
v_res_755_ = l_Lean_Compiler_LCNF_uint64ToByteArrayLE(v_n_boxed_754_);
return v_res_755_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorIdx(lean_object* v_x_756_){
_start:
{
switch(lean_obj_tag(v_x_756_))
{
case 0:
{
lean_object* v___x_757_; 
v___x_757_ = lean_unsigned_to_nat(0u);
return v___x_757_;
}
case 1:
{
lean_object* v___x_758_; 
v___x_758_ = lean_unsigned_to_nat(1u);
return v___x_758_;
}
case 2:
{
lean_object* v___x_759_; 
v___x_759_ = lean_unsigned_to_nat(2u);
return v___x_759_;
}
case 3:
{
lean_object* v___x_760_; 
v___x_760_ = lean_unsigned_to_nat(3u);
return v___x_760_;
}
case 4:
{
lean_object* v___x_761_; 
v___x_761_ = lean_unsigned_to_nat(4u);
return v___x_761_;
}
case 5:
{
lean_object* v___x_762_; 
v___x_762_ = lean_unsigned_to_nat(5u);
return v___x_762_;
}
default: 
{
lean_object* v___x_763_; 
v___x_763_ = lean_unsigned_to_nat(6u);
return v___x_763_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorIdx___boxed(lean_object* v_x_764_){
_start:
{
lean_object* v_res_765_; 
v_res_765_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorIdx(v_x_764_);
lean_dec_ref(v_x_764_);
return v_res_765_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(lean_object* v_t_766_, lean_object* v_k_767_){
_start:
{
switch(lean_obj_tag(v_t_766_))
{
case 0:
{
lean_object* v_arg_768_; lean_object* v___x_769_; 
v_arg_768_ = lean_ctor_get(v_t_766_, 0);
lean_inc_ref(v_arg_768_);
lean_dec_ref(v_t_766_);
v___x_769_ = lean_apply_1(v_k_767_, v_arg_768_);
return v___x_769_;
}
case 1:
{
uint8_t v_val_770_; lean_object* v___x_771_; lean_object* v___x_772_; 
v_val_770_ = lean_ctor_get_uint8(v_t_766_, 0);
lean_dec_ref(v_t_766_);
v___x_771_ = lean_box(v_val_770_);
v___x_772_ = lean_apply_1(v_k_767_, v___x_771_);
return v___x_772_;
}
case 2:
{
uint16_t v_val_773_; lean_object* v___x_774_; lean_object* v___x_775_; 
v_val_773_ = lean_ctor_get_uint16(v_t_766_, 0);
lean_dec_ref(v_t_766_);
v___x_774_ = lean_box(v_val_773_);
v___x_775_ = lean_apply_1(v_k_767_, v___x_774_);
return v___x_775_;
}
case 3:
{
uint32_t v_val_776_; lean_object* v___x_777_; lean_object* v___x_778_; 
v_val_776_ = lean_ctor_get_uint32(v_t_766_, 0);
lean_dec_ref(v_t_766_);
v___x_777_ = lean_box_uint32(v_val_776_);
v___x_778_ = lean_apply_1(v_k_767_, v___x_777_);
return v___x_778_;
}
case 6:
{
lean_object* v_elems_779_; lean_object* v_remainingCapacity_780_; lean_object* v___x_781_; 
v_elems_779_ = lean_ctor_get(v_t_766_, 0);
lean_inc(v_elems_779_);
v_remainingCapacity_780_ = lean_ctor_get(v_t_766_, 1);
lean_inc(v_remainingCapacity_780_);
lean_dec_ref(v_t_766_);
v___x_781_ = lean_apply_2(v_k_767_, v_elems_779_, v_remainingCapacity_780_);
return v___x_781_;
}
default: 
{
uint64_t v_val_782_; lean_object* v___x_783_; lean_object* v___x_784_; 
v_val_782_ = lean_ctor_get_uint64(v_t_766_, 0);
lean_dec_ref(v_t_766_);
v___x_783_ = lean_box_uint64(v_val_782_);
v___x_784_ = lean_apply_1(v_k_767_, v___x_783_);
return v___x_784_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim(lean_object* v_motive_785_, lean_object* v_ctorIdx_786_, lean_object* v_t_787_, lean_object* v_h_788_, lean_object* v_k_789_){
_start:
{
lean_object* v___x_790_; 
v___x_790_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_787_, v_k_789_);
return v___x_790_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___boxed(lean_object* v_motive_791_, lean_object* v_ctorIdx_792_, lean_object* v_t_793_, lean_object* v_h_794_, lean_object* v_k_795_){
_start:
{
lean_object* v_res_796_; 
v_res_796_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim(v_motive_791_, v_ctorIdx_792_, v_t_793_, v_h_794_, v_k_795_);
lean_dec(v_ctorIdx_792_);
return v_res_796_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arg_elim___redArg(lean_object* v_t_797_, lean_object* v_arg_798_){
_start:
{
lean_object* v___x_799_; 
v___x_799_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_797_, v_arg_798_);
return v___x_799_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arg_elim(lean_object* v_motive_800_, lean_object* v_t_801_, lean_object* v_h_802_, lean_object* v_arg_803_){
_start:
{
lean_object* v___x_804_; 
v___x_804_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_801_, v_arg_803_);
return v___x_804_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint8_elim___redArg(lean_object* v_t_805_, lean_object* v_uint8_806_){
_start:
{
lean_object* v___x_807_; 
v___x_807_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_805_, v_uint8_806_);
return v___x_807_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint8_elim(lean_object* v_motive_808_, lean_object* v_t_809_, lean_object* v_h_810_, lean_object* v_uint8_811_){
_start:
{
lean_object* v___x_812_; 
v___x_812_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_809_, v_uint8_811_);
return v___x_812_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint16_elim___redArg(lean_object* v_t_813_, lean_object* v_uint16_814_){
_start:
{
lean_object* v___x_815_; 
v___x_815_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_813_, v_uint16_814_);
return v___x_815_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint16_elim(lean_object* v_motive_816_, lean_object* v_t_817_, lean_object* v_h_818_, lean_object* v_uint16_819_){
_start:
{
lean_object* v___x_820_; 
v___x_820_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_817_, v_uint16_819_);
return v___x_820_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint32_elim___redArg(lean_object* v_t_821_, lean_object* v_uint32_822_){
_start:
{
lean_object* v___x_823_; 
v___x_823_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_821_, v_uint32_822_);
return v___x_823_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint32_elim(lean_object* v_motive_824_, lean_object* v_t_825_, lean_object* v_h_826_, lean_object* v_uint32_827_){
_start:
{
lean_object* v___x_828_; 
v___x_828_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_825_, v_uint32_827_);
return v___x_828_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint64_elim___redArg(lean_object* v_t_829_, lean_object* v_uint64_830_){
_start:
{
lean_object* v___x_831_; 
v___x_831_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_829_, v_uint64_830_);
return v___x_831_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_uint64_elim(lean_object* v_motive_832_, lean_object* v_t_833_, lean_object* v_h_834_, lean_object* v_uint64_835_){
_start:
{
lean_object* v___x_836_; 
v___x_836_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_833_, v_uint64_835_);
return v___x_836_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_usize_elim___redArg(lean_object* v_t_837_, lean_object* v_usize_838_){
_start:
{
lean_object* v___x_839_; 
v___x_839_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_837_, v_usize_838_);
return v___x_839_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_usize_elim(lean_object* v_motive_840_, lean_object* v_t_841_, lean_object* v_h_842_, lean_object* v_usize_843_){
_start:
{
lean_object* v___x_844_; 
v___x_844_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_841_, v_usize_843_);
return v___x_844_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arrayBuilder_elim___redArg(lean_object* v_t_845_, lean_object* v_arrayBuilder_846_){
_start:
{
lean_object* v___x_847_; 
v___x_847_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_845_, v_arrayBuilder_846_);
return v___x_847_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_arrayBuilder_elim(lean_object* v_motive_848_, lean_object* v_t_849_, lean_object* v_h_850_, lean_object* v_arrayBuilder_851_){
_start:
{
lean_object* v___x_852_; 
v___x_852_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_SimpleGroundValue_ctorElim___redArg(v_t_849_, v_arrayBuilder_851_);
return v___x_852_;
}
}
static lean_object* _init_l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3(void){
_start:
{
lean_object* v___x_860_; lean_object* v___x_861_; lean_object* v___x_862_; lean_object* v___x_863_; lean_object* v___x_864_; lean_object* v___x_865_; 
v___x_860_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__2));
v___x_861_ = lean_unsigned_to_nat(11u);
v___x_862_ = lean_unsigned_to_nat(163u);
v___x_863_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__1));
v___x_864_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__0));
v___x_865_ = l_mkPanicMessageWithDecl(v___x_864_, v___x_863_, v___x_862_, v___x_861_, v___x_860_);
return v___x_865_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg(lean_object* v_inst_866_, lean_object* v_a_867_, lean_object* v_x_868_){
_start:
{
if (lean_obj_tag(v_x_868_) == 0)
{
lean_object* v___x_869_; lean_object* v___x_870_; 
v___x_869_ = lean_obj_once(&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3, &l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3_once, _init_l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___closed__3);
v___x_870_ = lean_panic_fn(v_inst_866_, v___x_869_);
return v___x_870_;
}
else
{
lean_object* v_key_871_; lean_object* v_value_872_; lean_object* v_tail_873_; uint8_t v___x_874_; 
v_key_871_ = lean_ctor_get(v_x_868_, 0);
v_value_872_ = lean_ctor_get(v_x_868_, 1);
v_tail_873_ = lean_ctor_get(v_x_868_, 2);
v___x_874_ = l_Lean_instBEqFVarId_beq(v_key_871_, v_a_867_);
if (v___x_874_ == 0)
{
v_x_868_ = v_tail_873_;
goto _start;
}
else
{
lean_dec(v_inst_866_);
lean_inc(v_value_872_);
return v_value_872_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg___boxed(lean_object* v_inst_876_, lean_object* v_a_877_, lean_object* v_x_878_){
_start:
{
lean_object* v_res_879_; 
v_res_879_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg(v_inst_876_, v_a_877_, v_x_878_);
lean_dec(v_x_878_);
lean_dec(v_a_877_);
return v_res_879_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(lean_object* v_inst_880_, lean_object* v_m_881_, lean_object* v_a_882_){
_start:
{
lean_object* v_buckets_883_; lean_object* v___x_884_; uint64_t v___x_885_; uint64_t v___x_886_; uint64_t v___x_887_; uint64_t v_fold_888_; uint64_t v___x_889_; uint64_t v___x_890_; uint64_t v___x_891_; size_t v___x_892_; size_t v___x_893_; size_t v___x_894_; size_t v___x_895_; size_t v___x_896_; lean_object* v___x_897_; lean_object* v___x_898_; 
v_buckets_883_ = lean_ctor_get(v_m_881_, 1);
v___x_884_ = lean_array_get_size(v_buckets_883_);
v___x_885_ = l_Lean_instHashableFVarId_hash(v_a_882_);
v___x_886_ = 32ULL;
v___x_887_ = lean_uint64_shift_right(v___x_885_, v___x_886_);
v_fold_888_ = lean_uint64_xor(v___x_885_, v___x_887_);
v___x_889_ = 16ULL;
v___x_890_ = lean_uint64_shift_right(v_fold_888_, v___x_889_);
v___x_891_ = lean_uint64_xor(v_fold_888_, v___x_890_);
v___x_892_ = lean_uint64_to_usize(v___x_891_);
v___x_893_ = lean_usize_of_nat(v___x_884_);
v___x_894_ = ((size_t)1ULL);
v___x_895_ = lean_usize_sub(v___x_893_, v___x_894_);
v___x_896_ = lean_usize_land(v___x_892_, v___x_895_);
v___x_897_ = lean_array_uget_borrowed(v_buckets_883_, v___x_896_);
v___x_898_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg(v_inst_880_, v_a_882_, v___x_897_);
return v___x_898_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg___boxed(lean_object* v_inst_899_, lean_object* v_m_900_, lean_object* v_a_901_){
_start:
{
lean_object* v_res_902_; 
v_res_902_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v_inst_899_, v_m_900_, v_a_901_);
lean_dec(v_a_901_);
lean_dec_ref(v_m_900_);
return v_res_902_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg(lean_object* v_id_903_, lean_object* v_info_904_, lean_object* v_objArgs_905_, lean_object* v_usizeArgs_906_, lean_object* v_scalarArgs_907_, lean_object* v_code_908_, lean_object* v_a_909_){
_start:
{
lean_object* v___x_911_; 
v___x_911_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default));
switch(lean_obj_tag(v_code_908_))
{
case 5:
{
lean_object* v_fvarId_912_; lean_object* v___x_914_; uint8_t v_isShared_915_; uint8_t v_isSharedCheck_927_; 
v_fvarId_912_ = lean_ctor_get(v_code_908_, 0);
v_isSharedCheck_927_ = !lean_is_exclusive(v_code_908_);
if (v_isSharedCheck_927_ == 0)
{
v___x_914_ = v_code_908_;
v_isShared_915_ = v_isSharedCheck_927_;
goto v_resetjp_913_;
}
else
{
lean_inc(v_fvarId_912_);
lean_dec(v_code_908_);
v___x_914_ = lean_box(0);
v_isShared_915_ = v_isSharedCheck_927_;
goto v_resetjp_913_;
}
v_resetjp_913_:
{
uint8_t v___x_916_; 
v___x_916_ = l_Lean_instBEqFVarId_beq(v_id_903_, v_fvarId_912_);
lean_dec(v_fvarId_912_);
if (v___x_916_ == 0)
{
lean_object* v___x_917_; lean_object* v___x_919_; 
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_917_ = lean_box(0);
if (v_isShared_915_ == 0)
{
lean_ctor_set_tag(v___x_914_, 0);
lean_ctor_set(v___x_914_, 0, v___x_917_);
v___x_919_ = v___x_914_;
goto v_reusejp_918_;
}
else
{
lean_object* v_reuseFailAlloc_920_; 
v_reuseFailAlloc_920_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_920_, 0, v___x_917_);
v___x_919_ = v_reuseFailAlloc_920_;
goto v_reusejp_918_;
}
v_reusejp_918_:
{
return v___x_919_;
}
}
else
{
lean_object* v_cidx_921_; lean_object* v___x_922_; lean_object* v___x_924_; 
v_cidx_921_ = lean_ctor_get(v_info_904_, 1);
lean_inc(v_cidx_921_);
v___x_922_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_922_, 0, v_cidx_921_);
lean_ctor_set(v___x_922_, 1, v_objArgs_905_);
lean_ctor_set(v___x_922_, 2, v_usizeArgs_906_);
lean_ctor_set(v___x_922_, 3, v_scalarArgs_907_);
if (v_isShared_915_ == 0)
{
lean_ctor_set_tag(v___x_914_, 1);
lean_ctor_set(v___x_914_, 0, v___x_922_);
v___x_924_ = v___x_914_;
goto v_reusejp_923_;
}
else
{
lean_object* v_reuseFailAlloc_926_; 
v_reuseFailAlloc_926_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_926_, 0, v___x_922_);
v___x_924_ = v_reuseFailAlloc_926_;
goto v_reusejp_923_;
}
v_reusejp_923_:
{
lean_object* v___x_925_; 
v___x_925_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_925_, 0, v___x_924_);
return v___x_925_;
}
}
}
}
case 9:
{
lean_object* v_fvarId_928_; lean_object* v_i_929_; lean_object* v_offset_930_; lean_object* v_y_931_; lean_object* v_k_932_; uint8_t v___x_933_; 
v_fvarId_928_ = lean_ctor_get(v_code_908_, 0);
lean_inc(v_fvarId_928_);
v_i_929_ = lean_ctor_get(v_code_908_, 1);
lean_inc(v_i_929_);
v_offset_930_ = lean_ctor_get(v_code_908_, 2);
lean_inc(v_offset_930_);
v_y_931_ = lean_ctor_get(v_code_908_, 3);
lean_inc(v_y_931_);
v_k_932_ = lean_ctor_get(v_code_908_, 5);
lean_inc_ref(v_k_932_);
lean_dec_ref(v_code_908_);
v___x_933_ = l_Lean_instBEqFVarId_beq(v_id_903_, v_fvarId_928_);
lean_dec(v_fvarId_928_);
if (v___x_933_ == 0)
{
lean_object* v___x_934_; lean_object* v___x_935_; 
lean_dec_ref(v_k_932_);
lean_dec(v_y_931_);
lean_dec(v_offset_930_);
lean_dec(v_i_929_);
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_934_ = lean_box(0);
v___x_935_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_935_, 0, v___x_934_);
return v___x_935_;
}
else
{
lean_object* v___x_936_; lean_object* v___x_937_; lean_object* v___x_938_; lean_object* v___x_939_; lean_object* v___x_940_; lean_object* v___x_941_; lean_object* v___x_942_; lean_object* v___x_943_; lean_object* v___x_944_; 
v___x_936_ = lean_st_ref_get(v_a_909_);
v___x_937_ = lean_array_get_size(v_objArgs_905_);
v___x_938_ = lean_nat_sub(v_i_929_, v___x_937_);
lean_dec(v_i_929_);
v___x_939_ = lean_array_get_size(v_usizeArgs_906_);
v___x_940_ = lean_nat_sub(v___x_938_, v___x_939_);
lean_dec(v___x_938_);
v___x_941_ = lean_unsigned_to_nat(8u);
v___x_942_ = lean_nat_mul(v___x_940_, v___x_941_);
lean_dec(v___x_940_);
v___x_943_ = lean_nat_add(v___x_942_, v_offset_930_);
lean_dec(v_offset_930_);
lean_dec(v___x_942_);
v___x_944_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_911_, v___x_936_, v_y_931_);
lean_dec(v_y_931_);
lean_dec(v___x_936_);
switch(lean_obj_tag(v___x_944_))
{
case 1:
{
uint8_t v_val_945_; lean_object* v___x_946_; lean_object* v___x_947_; 
v_val_945_ = lean_ctor_get_uint8(v___x_944_, 0);
lean_dec_ref(v___x_944_);
v___x_946_ = lean_box(v_val_945_);
v___x_947_ = lean_array_set(v_scalarArgs_907_, v___x_943_, v___x_946_);
lean_dec(v___x_943_);
v_scalarArgs_907_ = v___x_947_;
v_code_908_ = v_k_932_;
goto _start;
}
case 2:
{
uint16_t v_val_949_; uint8_t v___x_950_; lean_object* v___x_951_; lean_object* v___x_952_; lean_object* v___x_953_; lean_object* v___x_954_; uint16_t v___x_955_; uint16_t v___x_956_; uint8_t v___x_957_; lean_object* v___x_958_; lean_object* v___x_959_; 
v_val_949_ = lean_ctor_get_uint16(v___x_944_, 0);
lean_dec_ref(v___x_944_);
v___x_950_ = lean_uint16_to_uint8(v_val_949_);
v___x_951_ = lean_box(v___x_950_);
v___x_952_ = lean_array_set(v_scalarArgs_907_, v___x_943_, v___x_951_);
v___x_953_ = lean_unsigned_to_nat(1u);
v___x_954_ = lean_nat_add(v___x_943_, v___x_953_);
lean_dec(v___x_943_);
v___x_955_ = 8;
v___x_956_ = lean_uint16_shift_right(v_val_949_, v___x_955_);
v___x_957_ = lean_uint16_to_uint8(v___x_956_);
v___x_958_ = lean_box(v___x_957_);
v___x_959_ = lean_array_set(v___x_952_, v___x_954_, v___x_958_);
lean_dec(v___x_954_);
v_scalarArgs_907_ = v___x_959_;
v_code_908_ = v_k_932_;
goto _start;
}
case 3:
{
uint32_t v_val_961_; uint8_t v___x_962_; lean_object* v___x_963_; lean_object* v___x_964_; lean_object* v___x_965_; lean_object* v___x_966_; uint32_t v___x_967_; uint32_t v___x_968_; uint8_t v___x_969_; lean_object* v___x_970_; lean_object* v___x_971_; lean_object* v___x_972_; lean_object* v___x_973_; uint32_t v___x_974_; uint32_t v___x_975_; uint8_t v___x_976_; lean_object* v___x_977_; lean_object* v___x_978_; lean_object* v___x_979_; lean_object* v___x_980_; uint32_t v___x_981_; uint32_t v___x_982_; uint8_t v___x_983_; lean_object* v___x_984_; lean_object* v___x_985_; 
v_val_961_ = lean_ctor_get_uint32(v___x_944_, 0);
lean_dec_ref(v___x_944_);
v___x_962_ = lean_uint32_to_uint8(v_val_961_);
v___x_963_ = lean_box(v___x_962_);
v___x_964_ = lean_array_set(v_scalarArgs_907_, v___x_943_, v___x_963_);
v___x_965_ = lean_unsigned_to_nat(1u);
v___x_966_ = lean_nat_add(v___x_943_, v___x_965_);
v___x_967_ = 8;
v___x_968_ = lean_uint32_shift_right(v_val_961_, v___x_967_);
v___x_969_ = lean_uint32_to_uint8(v___x_968_);
v___x_970_ = lean_box(v___x_969_);
v___x_971_ = lean_array_set(v___x_964_, v___x_966_, v___x_970_);
lean_dec(v___x_966_);
v___x_972_ = lean_unsigned_to_nat(2u);
v___x_973_ = lean_nat_add(v___x_943_, v___x_972_);
v___x_974_ = 16;
v___x_975_ = lean_uint32_shift_right(v_val_961_, v___x_974_);
v___x_976_ = lean_uint32_to_uint8(v___x_975_);
v___x_977_ = lean_box(v___x_976_);
v___x_978_ = lean_array_set(v___x_971_, v___x_973_, v___x_977_);
lean_dec(v___x_973_);
v___x_979_ = lean_unsigned_to_nat(3u);
v___x_980_ = lean_nat_add(v___x_943_, v___x_979_);
lean_dec(v___x_943_);
v___x_981_ = 24;
v___x_982_ = lean_uint32_shift_right(v_val_961_, v___x_981_);
v___x_983_ = lean_uint32_to_uint8(v___x_982_);
v___x_984_ = lean_box(v___x_983_);
v___x_985_ = lean_array_set(v___x_978_, v___x_980_, v___x_984_);
lean_dec(v___x_980_);
v_scalarArgs_907_ = v___x_985_;
v_code_908_ = v_k_932_;
goto _start;
}
case 4:
{
uint64_t v_val_987_; uint8_t v___x_988_; lean_object* v___x_989_; lean_object* v___x_990_; lean_object* v___x_991_; lean_object* v___x_992_; uint64_t v___x_993_; uint64_t v___x_994_; uint8_t v___x_995_; lean_object* v___x_996_; lean_object* v___x_997_; lean_object* v___x_998_; lean_object* v___x_999_; uint64_t v___x_1000_; uint64_t v___x_1001_; uint8_t v___x_1002_; lean_object* v___x_1003_; lean_object* v___x_1004_; lean_object* v___x_1005_; lean_object* v___x_1006_; uint64_t v___x_1007_; uint64_t v___x_1008_; uint8_t v___x_1009_; lean_object* v___x_1010_; lean_object* v___x_1011_; lean_object* v___x_1012_; lean_object* v___x_1013_; uint64_t v___x_1014_; uint64_t v___x_1015_; uint8_t v___x_1016_; lean_object* v___x_1017_; lean_object* v___x_1018_; lean_object* v___x_1019_; lean_object* v___x_1020_; uint64_t v___x_1021_; uint64_t v___x_1022_; uint8_t v___x_1023_; lean_object* v___x_1024_; lean_object* v___x_1025_; lean_object* v___x_1026_; lean_object* v___x_1027_; uint64_t v___x_1028_; uint64_t v___x_1029_; uint8_t v___x_1030_; lean_object* v___x_1031_; lean_object* v___x_1032_; lean_object* v___x_1033_; lean_object* v___x_1034_; uint64_t v___x_1035_; uint64_t v___x_1036_; uint8_t v___x_1037_; lean_object* v___x_1038_; lean_object* v___x_1039_; 
v_val_987_ = lean_ctor_get_uint64(v___x_944_, 0);
lean_dec_ref(v___x_944_);
v___x_988_ = lean_uint64_to_uint8(v_val_987_);
v___x_989_ = lean_box(v___x_988_);
v___x_990_ = lean_array_set(v_scalarArgs_907_, v___x_943_, v___x_989_);
v___x_991_ = lean_unsigned_to_nat(1u);
v___x_992_ = lean_nat_add(v___x_943_, v___x_991_);
v___x_993_ = 8ULL;
v___x_994_ = lean_uint64_shift_right(v_val_987_, v___x_993_);
v___x_995_ = lean_uint64_to_uint8(v___x_994_);
v___x_996_ = lean_box(v___x_995_);
v___x_997_ = lean_array_set(v___x_990_, v___x_992_, v___x_996_);
lean_dec(v___x_992_);
v___x_998_ = lean_unsigned_to_nat(2u);
v___x_999_ = lean_nat_add(v___x_943_, v___x_998_);
v___x_1000_ = 16ULL;
v___x_1001_ = lean_uint64_shift_right(v_val_987_, v___x_1000_);
v___x_1002_ = lean_uint64_to_uint8(v___x_1001_);
v___x_1003_ = lean_box(v___x_1002_);
v___x_1004_ = lean_array_set(v___x_997_, v___x_999_, v___x_1003_);
lean_dec(v___x_999_);
v___x_1005_ = lean_unsigned_to_nat(3u);
v___x_1006_ = lean_nat_add(v___x_943_, v___x_1005_);
v___x_1007_ = 24ULL;
v___x_1008_ = lean_uint64_shift_right(v_val_987_, v___x_1007_);
v___x_1009_ = lean_uint64_to_uint8(v___x_1008_);
v___x_1010_ = lean_box(v___x_1009_);
v___x_1011_ = lean_array_set(v___x_1004_, v___x_1006_, v___x_1010_);
lean_dec(v___x_1006_);
v___x_1012_ = lean_unsigned_to_nat(4u);
v___x_1013_ = lean_nat_add(v___x_943_, v___x_1012_);
v___x_1014_ = 32ULL;
v___x_1015_ = lean_uint64_shift_right(v_val_987_, v___x_1014_);
v___x_1016_ = lean_uint64_to_uint8(v___x_1015_);
v___x_1017_ = lean_box(v___x_1016_);
v___x_1018_ = lean_array_set(v___x_1011_, v___x_1013_, v___x_1017_);
lean_dec(v___x_1013_);
v___x_1019_ = lean_unsigned_to_nat(5u);
v___x_1020_ = lean_nat_add(v___x_943_, v___x_1019_);
v___x_1021_ = 40ULL;
v___x_1022_ = lean_uint64_shift_right(v_val_987_, v___x_1021_);
v___x_1023_ = lean_uint64_to_uint8(v___x_1022_);
v___x_1024_ = lean_box(v___x_1023_);
v___x_1025_ = lean_array_set(v___x_1018_, v___x_1020_, v___x_1024_);
lean_dec(v___x_1020_);
v___x_1026_ = lean_unsigned_to_nat(6u);
v___x_1027_ = lean_nat_add(v___x_943_, v___x_1026_);
v___x_1028_ = 48ULL;
v___x_1029_ = lean_uint64_shift_right(v_val_987_, v___x_1028_);
v___x_1030_ = lean_uint64_to_uint8(v___x_1029_);
v___x_1031_ = lean_box(v___x_1030_);
v___x_1032_ = lean_array_set(v___x_1025_, v___x_1027_, v___x_1031_);
lean_dec(v___x_1027_);
v___x_1033_ = lean_unsigned_to_nat(7u);
v___x_1034_ = lean_nat_add(v___x_943_, v___x_1033_);
lean_dec(v___x_943_);
v___x_1035_ = 56ULL;
v___x_1036_ = lean_uint64_shift_right(v_val_987_, v___x_1035_);
v___x_1037_ = lean_uint64_to_uint8(v___x_1036_);
v___x_1038_ = lean_box(v___x_1037_);
v___x_1039_ = lean_array_set(v___x_1032_, v___x_1034_, v___x_1038_);
lean_dec(v___x_1034_);
v_scalarArgs_907_ = v___x_1039_;
v_code_908_ = v_k_932_;
goto _start;
}
default: 
{
lean_object* v___x_1041_; lean_object* v___x_1042_; 
lean_dec(v___x_944_);
lean_dec(v___x_943_);
lean_dec_ref(v_k_932_);
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_1041_ = lean_box(0);
v___x_1042_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1042_, 0, v___x_1041_);
return v___x_1042_;
}
}
}
}
case 8:
{
lean_object* v_fvarId_1043_; lean_object* v_i_1044_; lean_object* v_y_1045_; lean_object* v_k_1046_; uint8_t v___x_1047_; 
v_fvarId_1043_ = lean_ctor_get(v_code_908_, 0);
lean_inc(v_fvarId_1043_);
v_i_1044_ = lean_ctor_get(v_code_908_, 1);
lean_inc(v_i_1044_);
v_y_1045_ = lean_ctor_get(v_code_908_, 2);
lean_inc(v_y_1045_);
v_k_1046_ = lean_ctor_get(v_code_908_, 3);
lean_inc_ref(v_k_1046_);
lean_dec_ref(v_code_908_);
v___x_1047_ = l_Lean_instBEqFVarId_beq(v_id_903_, v_fvarId_1043_);
lean_dec(v_fvarId_1043_);
if (v___x_1047_ == 0)
{
lean_object* v___x_1048_; lean_object* v___x_1049_; 
lean_dec_ref(v_k_1046_);
lean_dec(v_y_1045_);
lean_dec(v_i_1044_);
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_1048_ = lean_box(0);
v___x_1049_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1049_, 0, v___x_1048_);
return v___x_1049_;
}
else
{
lean_object* v___x_1050_; lean_object* v___x_1051_; 
v___x_1050_ = lean_st_ref_get(v_a_909_);
v___x_1051_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_911_, v___x_1050_, v_y_1045_);
lean_dec(v_y_1045_);
lean_dec(v___x_1050_);
if (lean_obj_tag(v___x_1051_) == 5)
{
uint64_t v_val_1052_; lean_object* v___x_1053_; lean_object* v___x_1054_; lean_object* v___x_1055_; lean_object* v___x_1056_; 
v_val_1052_ = lean_ctor_get_uint64(v___x_1051_, 0);
lean_dec_ref(v___x_1051_);
v___x_1053_ = lean_array_get_size(v_objArgs_905_);
v___x_1054_ = lean_nat_sub(v_i_1044_, v___x_1053_);
lean_dec(v_i_1044_);
v___x_1055_ = lean_box_uint64(v_val_1052_);
v___x_1056_ = lean_array_set(v_usizeArgs_906_, v___x_1054_, v___x_1055_);
lean_dec(v___x_1054_);
v_usizeArgs_906_ = v___x_1056_;
v_code_908_ = v_k_1046_;
goto _start;
}
else
{
lean_object* v___x_1058_; lean_object* v___x_1059_; 
lean_dec(v___x_1051_);
lean_dec_ref(v_k_1046_);
lean_dec(v_i_1044_);
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_1058_ = lean_box(0);
v___x_1059_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1059_, 0, v___x_1058_);
return v___x_1059_;
}
}
}
default: 
{
lean_object* v___x_1060_; lean_object* v___x_1061_; 
lean_dec_ref(v_code_908_);
lean_dec_ref(v_scalarArgs_907_);
lean_dec_ref(v_usizeArgs_906_);
lean_dec_ref(v_objArgs_905_);
v___x_1060_ = lean_box(0);
v___x_1061_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1061_, 0, v___x_1060_);
return v___x_1061_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg___boxed(lean_object* v_id_1062_, lean_object* v_info_1063_, lean_object* v_objArgs_1064_, lean_object* v_usizeArgs_1065_, lean_object* v_scalarArgs_1066_, lean_object* v_code_1067_, lean_object* v_a_1068_, lean_object* v_a_1069_){
_start:
{
lean_object* v_res_1070_; 
v_res_1070_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg(v_id_1062_, v_info_1063_, v_objArgs_1064_, v_usizeArgs_1065_, v_scalarArgs_1066_, v_code_1067_, v_a_1068_);
lean_dec(v_a_1068_);
lean_dec_ref(v_info_1063_);
lean_dec(v_id_1062_);
return v_res_1070_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain(lean_object* v_id_1071_, lean_object* v_info_1072_, lean_object* v_objArgs_1073_, lean_object* v_usizeArgs_1074_, lean_object* v_scalarArgs_1075_, lean_object* v_code_1076_, lean_object* v_a_1077_, lean_object* v_a_1078_, lean_object* v_a_1079_, lean_object* v_a_1080_, lean_object* v_a_1081_){
_start:
{
lean_object* v___x_1083_; 
v___x_1083_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg(v_id_1071_, v_info_1072_, v_objArgs_1073_, v_usizeArgs_1074_, v_scalarArgs_1075_, v_code_1076_, v_a_1077_);
return v___x_1083_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___boxed(lean_object* v_id_1084_, lean_object* v_info_1085_, lean_object* v_objArgs_1086_, lean_object* v_usizeArgs_1087_, lean_object* v_scalarArgs_1088_, lean_object* v_code_1089_, lean_object* v_a_1090_, lean_object* v_a_1091_, lean_object* v_a_1092_, lean_object* v_a_1093_, lean_object* v_a_1094_, lean_object* v_a_1095_){
_start:
{
lean_object* v_res_1096_; 
v_res_1096_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain(v_id_1084_, v_info_1085_, v_objArgs_1086_, v_usizeArgs_1087_, v_scalarArgs_1088_, v_code_1089_, v_a_1090_, v_a_1091_, v_a_1092_, v_a_1093_, v_a_1094_);
lean_dec(v_a_1094_);
lean_dec_ref(v_a_1093_);
lean_dec(v_a_1092_);
lean_dec_ref(v_a_1091_);
lean_dec(v_a_1090_);
lean_dec_ref(v_info_1085_);
lean_dec(v_id_1084_);
return v_res_1096_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0(lean_object* v_00_u03b2_1097_, lean_object* v_inst_1098_, lean_object* v_m_1099_, lean_object* v_a_1100_){
_start:
{
lean_object* v___x_1101_; 
v___x_1101_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v_inst_1098_, v_m_1099_, v_a_1100_);
return v___x_1101_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___boxed(lean_object* v_00_u03b2_1102_, lean_object* v_inst_1103_, lean_object* v_m_1104_, lean_object* v_a_1105_){
_start:
{
lean_object* v_res_1106_; 
v_res_1106_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0(v_00_u03b2_1102_, v_inst_1103_, v_m_1104_, v_a_1105_);
lean_dec(v_a_1105_);
lean_dec_ref(v_m_1104_);
return v_res_1106_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0_spec__1___redArg(lean_object* v_inst_1107_, lean_object* v_msg_1108_){
_start:
{
lean_object* v___x_1109_; 
v___x_1109_ = lean_panic_fn(v_inst_1107_, v_msg_1108_);
return v___x_1109_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_1110_, lean_object* v_inst_1111_, lean_object* v_msg_1112_){
_start:
{
lean_object* v___x_1113_; 
v___x_1113_ = lean_panic_fn(v_inst_1111_, v_msg_1112_);
return v___x_1113_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0(lean_object* v_00_u03b2_1114_, lean_object* v_inst_1115_, lean_object* v_a_1116_, lean_object* v_x_1117_){
_start:
{
lean_object* v___x_1118_; 
v___x_1118_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___redArg(v_inst_1115_, v_a_1116_, v_x_1117_);
return v___x_1118_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1119_, lean_object* v_inst_1120_, lean_object* v_a_1121_, lean_object* v_x_1122_){
_start:
{
lean_object* v_res_1123_; 
v_res_1123_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0_spec__0(v_00_u03b2_1119_, v_inst_1120_, v_a_1121_, v_x_1122_);
lean_dec(v_x_1122_);
lean_dec(v_a_1121_);
return v_res_1123_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(lean_object* v_arg_1126_, lean_object* v_a_1127_){
_start:
{
if (lean_obj_tag(v_arg_1126_) == 0)
{
lean_object* v___x_1129_; lean_object* v___x_1130_; 
v___x_1129_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___closed__0));
v___x_1130_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1130_, 0, v___x_1129_);
return v___x_1130_;
}
else
{
lean_object* v_fvarId_1131_; lean_object* v___x_1133_; uint8_t v_isShared_1134_; uint8_t v_isSharedCheck_1153_; 
v_fvarId_1131_ = lean_ctor_get(v_arg_1126_, 0);
v_isSharedCheck_1153_ = !lean_is_exclusive(v_arg_1126_);
if (v_isSharedCheck_1153_ == 0)
{
v___x_1133_ = v_arg_1126_;
v_isShared_1134_ = v_isSharedCheck_1153_;
goto v_resetjp_1132_;
}
else
{
lean_inc(v_fvarId_1131_);
lean_dec(v_arg_1126_);
v___x_1133_ = lean_box(0);
v_isShared_1134_ = v_isSharedCheck_1153_;
goto v_resetjp_1132_;
}
v_resetjp_1132_:
{
lean_object* v___x_1135_; lean_object* v___x_1136_; lean_object* v___x_1137_; 
v___x_1135_ = lean_st_ref_get(v_a_1127_);
v___x_1136_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default));
v___x_1137_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1136_, v___x_1135_, v_fvarId_1131_);
lean_dec(v_fvarId_1131_);
lean_dec(v___x_1135_);
if (lean_obj_tag(v___x_1137_) == 0)
{
lean_object* v_arg_1138_; lean_object* v___x_1140_; uint8_t v_isShared_1141_; uint8_t v_isSharedCheck_1148_; 
v_arg_1138_ = lean_ctor_get(v___x_1137_, 0);
v_isSharedCheck_1148_ = !lean_is_exclusive(v___x_1137_);
if (v_isSharedCheck_1148_ == 0)
{
v___x_1140_ = v___x_1137_;
v_isShared_1141_ = v_isSharedCheck_1148_;
goto v_resetjp_1139_;
}
else
{
lean_inc(v_arg_1138_);
lean_dec(v___x_1137_);
v___x_1140_ = lean_box(0);
v_isShared_1141_ = v_isSharedCheck_1148_;
goto v_resetjp_1139_;
}
v_resetjp_1139_:
{
lean_object* v___x_1143_; 
if (v_isShared_1141_ == 0)
{
lean_ctor_set_tag(v___x_1140_, 1);
v___x_1143_ = v___x_1140_;
goto v_reusejp_1142_;
}
else
{
lean_object* v_reuseFailAlloc_1147_; 
v_reuseFailAlloc_1147_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1147_, 0, v_arg_1138_);
v___x_1143_ = v_reuseFailAlloc_1147_;
goto v_reusejp_1142_;
}
v_reusejp_1142_:
{
lean_object* v___x_1145_; 
if (v_isShared_1134_ == 0)
{
lean_ctor_set_tag(v___x_1133_, 0);
lean_ctor_set(v___x_1133_, 0, v___x_1143_);
v___x_1145_ = v___x_1133_;
goto v_reusejp_1144_;
}
else
{
lean_object* v_reuseFailAlloc_1146_; 
v_reuseFailAlloc_1146_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1146_, 0, v___x_1143_);
v___x_1145_ = v_reuseFailAlloc_1146_;
goto v_reusejp_1144_;
}
v_reusejp_1144_:
{
return v___x_1145_;
}
}
}
}
else
{
lean_object* v___x_1149_; lean_object* v___x_1151_; 
lean_dec(v___x_1137_);
v___x_1149_ = lean_box(0);
if (v_isShared_1134_ == 0)
{
lean_ctor_set_tag(v___x_1133_, 0);
lean_ctor_set(v___x_1133_, 0, v___x_1149_);
v___x_1151_ = v___x_1133_;
goto v_reusejp_1150_;
}
else
{
lean_object* v_reuseFailAlloc_1152_; 
v_reuseFailAlloc_1152_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1152_, 0, v___x_1149_);
v___x_1151_ = v_reuseFailAlloc_1152_;
goto v_reusejp_1150_;
}
v_reusejp_1150_:
{
return v___x_1151_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg___boxed(lean_object* v_arg_1154_, lean_object* v_a_1155_, lean_object* v_a_1156_){
_start:
{
lean_object* v_res_1157_; 
v_res_1157_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v_arg_1154_, v_a_1155_);
lean_dec(v_a_1155_);
return v_res_1157_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg(lean_object* v_arg_1158_, lean_object* v_a_1159_, lean_object* v_a_1160_, lean_object* v_a_1161_, lean_object* v_a_1162_, lean_object* v_a_1163_){
_start:
{
lean_object* v___x_1165_; 
v___x_1165_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v_arg_1158_, v_a_1159_);
return v___x_1165_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___boxed(lean_object* v_arg_1166_, lean_object* v_a_1167_, lean_object* v_a_1168_, lean_object* v_a_1169_, lean_object* v_a_1170_, lean_object* v_a_1171_, lean_object* v_a_1172_){
_start:
{
lean_object* v_res_1173_; 
v_res_1173_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg(v_arg_1166_, v_a_1167_, v_a_1168_, v_a_1169_, v_a_1170_, v_a_1171_);
lean_dec(v_a_1171_);
lean_dec_ref(v_a_1170_);
lean_dec(v_a_1169_);
lean_dec_ref(v_a_1168_);
lean_dec(v_a_1167_);
return v_res_1173_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg(size_t v_sz_1174_, size_t v_i_1175_, lean_object* v_bs_1176_, lean_object* v___y_1177_){
_start:
{
uint8_t v___x_1179_; 
v___x_1179_ = lean_usize_dec_lt(v_i_1175_, v_sz_1174_);
if (v___x_1179_ == 0)
{
lean_object* v___x_1180_; lean_object* v___x_1181_; 
v___x_1180_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1180_, 0, v_bs_1176_);
v___x_1181_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1181_, 0, v___x_1180_);
return v___x_1181_;
}
else
{
lean_object* v_v_1182_; lean_object* v___x_1183_; 
v_v_1182_ = lean_array_uget_borrowed(v_bs_1176_, v_i_1175_);
lean_inc(v_v_1182_);
v___x_1183_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v_v_1182_, v___y_1177_);
if (lean_obj_tag(v___x_1183_) == 0)
{
lean_object* v_a_1184_; lean_object* v___x_1186_; uint8_t v_isShared_1187_; uint8_t v_isSharedCheck_1199_; 
v_a_1184_ = lean_ctor_get(v___x_1183_, 0);
v_isSharedCheck_1199_ = !lean_is_exclusive(v___x_1183_);
if (v_isSharedCheck_1199_ == 0)
{
v___x_1186_ = v___x_1183_;
v_isShared_1187_ = v_isSharedCheck_1199_;
goto v_resetjp_1185_;
}
else
{
lean_inc(v_a_1184_);
lean_dec(v___x_1183_);
v___x_1186_ = lean_box(0);
v_isShared_1187_ = v_isSharedCheck_1199_;
goto v_resetjp_1185_;
}
v_resetjp_1185_:
{
if (lean_obj_tag(v_a_1184_) == 0)
{
lean_object* v___x_1188_; lean_object* v___x_1190_; 
lean_dec_ref(v_bs_1176_);
v___x_1188_ = lean_box(0);
if (v_isShared_1187_ == 0)
{
lean_ctor_set(v___x_1186_, 0, v___x_1188_);
v___x_1190_ = v___x_1186_;
goto v_reusejp_1189_;
}
else
{
lean_object* v_reuseFailAlloc_1191_; 
v_reuseFailAlloc_1191_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1191_, 0, v___x_1188_);
v___x_1190_ = v_reuseFailAlloc_1191_;
goto v_reusejp_1189_;
}
v_reusejp_1189_:
{
return v___x_1190_;
}
}
else
{
lean_object* v_val_1192_; lean_object* v___x_1193_; lean_object* v_bs_x27_1194_; size_t v___x_1195_; size_t v___x_1196_; lean_object* v___x_1197_; 
lean_del_object(v___x_1186_);
v_val_1192_ = lean_ctor_get(v_a_1184_, 0);
lean_inc(v_val_1192_);
lean_dec_ref(v_a_1184_);
v___x_1193_ = lean_unsigned_to_nat(0u);
v_bs_x27_1194_ = lean_array_uset(v_bs_1176_, v_i_1175_, v___x_1193_);
v___x_1195_ = ((size_t)1ULL);
v___x_1196_ = lean_usize_add(v_i_1175_, v___x_1195_);
v___x_1197_ = lean_array_uset(v_bs_x27_1194_, v_i_1175_, v_val_1192_);
v_i_1175_ = v___x_1196_;
v_bs_1176_ = v___x_1197_;
goto _start;
}
}
}
else
{
lean_object* v_a_1200_; lean_object* v___x_1202_; uint8_t v_isShared_1203_; uint8_t v_isSharedCheck_1207_; 
lean_dec_ref(v_bs_1176_);
v_a_1200_ = lean_ctor_get(v___x_1183_, 0);
v_isSharedCheck_1207_ = !lean_is_exclusive(v___x_1183_);
if (v_isSharedCheck_1207_ == 0)
{
v___x_1202_ = v___x_1183_;
v_isShared_1203_ = v_isSharedCheck_1207_;
goto v_resetjp_1201_;
}
else
{
lean_inc(v_a_1200_);
lean_dec(v___x_1183_);
v___x_1202_ = lean_box(0);
v_isShared_1203_ = v_isSharedCheck_1207_;
goto v_resetjp_1201_;
}
v_resetjp_1201_:
{
lean_object* v___x_1205_; 
if (v_isShared_1203_ == 0)
{
v___x_1205_ = v___x_1202_;
goto v_reusejp_1204_;
}
else
{
lean_object* v_reuseFailAlloc_1206_; 
v_reuseFailAlloc_1206_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1206_, 0, v_a_1200_);
v___x_1205_ = v_reuseFailAlloc_1206_;
goto v_reusejp_1204_;
}
v_reusejp_1204_:
{
return v___x_1205_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg___boxed(lean_object* v_sz_1208_, lean_object* v_i_1209_, lean_object* v_bs_1210_, lean_object* v___y_1211_, lean_object* v___y_1212_){
_start:
{
size_t v_sz_boxed_1213_; size_t v_i_boxed_1214_; lean_object* v_res_1215_; 
v_sz_boxed_1213_ = lean_unbox_usize(v_sz_1208_);
lean_dec(v_sz_1208_);
v_i_boxed_1214_ = lean_unbox_usize(v_i_1209_);
lean_dec(v_i_1209_);
v_res_1215_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg(v_sz_boxed_1213_, v_i_boxed_1214_, v_bs_1210_, v___y_1211_);
lean_dec(v___y_1211_);
return v_res_1215_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(lean_object* v_args_1216_, lean_object* v_a_1217_, lean_object* v_a_1218_, lean_object* v_a_1219_, lean_object* v_a_1220_, lean_object* v_a_1221_){
_start:
{
size_t v_sz_1223_; size_t v___x_1224_; lean_object* v___x_1225_; 
v_sz_1223_ = lean_array_size(v_args_1216_);
v___x_1224_ = ((size_t)0ULL);
v___x_1225_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg(v_sz_1223_, v___x_1224_, v_args_1216_, v_a_1217_);
return v___x_1225_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs___boxed(lean_object* v_args_1226_, lean_object* v_a_1227_, lean_object* v_a_1228_, lean_object* v_a_1229_, lean_object* v_a_1230_, lean_object* v_a_1231_, lean_object* v_a_1232_){
_start:
{
lean_object* v_res_1233_; 
v_res_1233_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(v_args_1226_, v_a_1227_, v_a_1228_, v_a_1229_, v_a_1230_, v_a_1231_);
lean_dec(v_a_1231_);
lean_dec_ref(v_a_1230_);
lean_dec(v_a_1229_);
lean_dec_ref(v_a_1228_);
lean_dec(v_a_1227_);
return v_res_1233_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0(size_t v_sz_1234_, size_t v_i_1235_, lean_object* v_bs_1236_, lean_object* v___y_1237_, lean_object* v___y_1238_, lean_object* v___y_1239_, lean_object* v___y_1240_, lean_object* v___y_1241_){
_start:
{
lean_object* v___x_1243_; 
v___x_1243_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___redArg(v_sz_1234_, v_i_1235_, v_bs_1236_, v___y_1237_);
return v___x_1243_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0___boxed(lean_object* v_sz_1244_, lean_object* v_i_1245_, lean_object* v_bs_1246_, lean_object* v___y_1247_, lean_object* v___y_1248_, lean_object* v___y_1249_, lean_object* v___y_1250_, lean_object* v___y_1251_, lean_object* v___y_1252_){
_start:
{
size_t v_sz_boxed_1253_; size_t v_i_boxed_1254_; lean_object* v_res_1255_; 
v_sz_boxed_1253_ = lean_unbox_usize(v_sz_1244_);
lean_dec(v_sz_1244_);
v_i_boxed_1254_ = lean_unbox_usize(v_i_1245_);
lean_dec(v_i_1245_);
v_res_1255_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs_spec__0(v_sz_boxed_1253_, v_i_boxed_1254_, v_bs_1246_, v___y_1247_, v___y_1248_, v___y_1249_, v___y_1250_, v___y_1251_);
lean_dec(v___y_1251_);
lean_dec_ref(v___y_1250_);
lean_dec(v___y_1249_);
lean_dec_ref(v___y_1248_);
lean_dec(v___y_1247_);
return v_res_1255_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg(lean_object* v_id_1260_, lean_object* v_val_1261_, lean_object* v_a_1262_){
_start:
{
lean_object* v___x_1264_; lean_object* v___x_1265_; lean_object* v___x_1266_; lean_object* v___x_1267_; lean_object* v___x_1268_; lean_object* v___x_1269_; lean_object* v___x_1270_; 
v___x_1264_ = lean_st_ref_take(v_a_1262_);
v___x_1265_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__0));
v___x_1266_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__1));
v___x_1267_ = l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(v___x_1265_, v___x_1266_, v___x_1264_, v_id_1260_, v_val_1261_);
v___x_1268_ = lean_st_ref_set(v_a_1262_, v___x_1267_);
v___x_1269_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__2));
v___x_1270_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1270_, 0, v___x_1269_);
return v___x_1270_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___boxed(lean_object* v_id_1271_, lean_object* v_val_1272_, lean_object* v_a_1273_, lean_object* v_a_1274_){
_start:
{
lean_object* v_res_1275_; 
v_res_1275_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg(v_id_1271_, v_val_1272_, v_a_1273_);
lean_dec(v_a_1273_);
return v_res_1275_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record(lean_object* v_id_1276_, lean_object* v_val_1277_, lean_object* v_a_1278_, lean_object* v_a_1279_, lean_object* v_a_1280_, lean_object* v_a_1281_, lean_object* v_a_1282_){
_start:
{
lean_object* v___x_1284_; lean_object* v___x_1285_; lean_object* v___x_1286_; lean_object* v___x_1287_; lean_object* v___x_1288_; lean_object* v___x_1289_; lean_object* v___x_1290_; 
v___x_1284_ = lean_st_ref_take(v_a_1278_);
v___x_1285_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__0));
v___x_1286_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__1));
v___x_1287_ = l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(v___x_1285_, v___x_1286_, v___x_1284_, v_id_1276_, v_val_1277_);
v___x_1288_ = lean_st_ref_set(v_a_1278_, v___x_1287_);
v___x_1289_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___redArg___closed__2));
v___x_1290_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1290_, 0, v___x_1289_);
return v___x_1290_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record___boxed(lean_object* v_id_1291_, lean_object* v_val_1292_, lean_object* v_a_1293_, lean_object* v_a_1294_, lean_object* v_a_1295_, lean_object* v_a_1296_, lean_object* v_a_1297_, lean_object* v_a_1298_){
_start:
{
lean_object* v_res_1299_; 
v_res_1299_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_record(v_id_1291_, v_val_1292_, v_a_1293_, v_a_1294_, v_a_1295_, v_a_1296_, v_a_1297_);
lean_dec(v_a_1297_);
lean_dec_ref(v_a_1296_);
lean_dec(v_a_1295_);
lean_dec_ref(v_a_1294_);
lean_dec(v_a_1293_);
return v_res_1299_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(lean_object* v_arg_1300_, lean_object* v_a_1301_, lean_object* v_a_1302_){
_start:
{
if (lean_obj_tag(v_arg_1300_) == 1)
{
lean_object* v_fvarId_1307_; lean_object* v___x_1309_; uint8_t v_isShared_1310_; uint8_t v_isSharedCheck_1341_; 
v_fvarId_1307_ = lean_ctor_get(v_arg_1300_, 0);
v_isSharedCheck_1341_ = !lean_is_exclusive(v_arg_1300_);
if (v_isSharedCheck_1341_ == 0)
{
v___x_1309_ = v_arg_1300_;
v_isShared_1310_ = v_isSharedCheck_1341_;
goto v_resetjp_1308_;
}
else
{
lean_inc(v_fvarId_1307_);
lean_dec(v_arg_1300_);
v___x_1309_ = lean_box(0);
v_isShared_1310_ = v_isSharedCheck_1341_;
goto v_resetjp_1308_;
}
v_resetjp_1308_:
{
lean_object* v___x_1311_; lean_object* v___x_1317_; lean_object* v___x_1318_; 
v___x_1311_ = lean_st_ref_get(v_a_1301_);
v___x_1317_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default));
v___x_1318_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1317_, v___x_1311_, v_fvarId_1307_);
lean_dec(v_fvarId_1307_);
lean_dec(v___x_1311_);
if (lean_obj_tag(v___x_1318_) == 0)
{
lean_object* v_arg_1319_; 
v_arg_1319_ = lean_ctor_get(v___x_1318_, 0);
lean_inc_ref(v_arg_1319_);
lean_dec_ref(v___x_1318_);
if (lean_obj_tag(v_arg_1319_) == 1)
{
lean_object* v_n_1320_; lean_object* v___x_1321_; lean_object* v_env_1322_; lean_object* v___x_1323_; 
lean_del_object(v___x_1309_);
v_n_1320_ = lean_ctor_get(v_arg_1319_, 0);
lean_inc(v_n_1320_);
lean_dec_ref(v_arg_1319_);
v___x_1321_ = lean_st_ref_get(v_a_1302_);
v_env_1322_ = lean_ctor_get(v___x_1321_, 0);
lean_inc_ref(v_env_1322_);
lean_dec(v___x_1321_);
lean_inc(v_n_1320_);
v___x_1323_ = l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(v_env_1322_, v_n_1320_);
if (lean_obj_tag(v___x_1323_) == 1)
{
lean_object* v_val_1324_; lean_object* v___x_1326_; uint8_t v_isShared_1327_; uint8_t v_isSharedCheck_1340_; 
v_val_1324_ = lean_ctor_get(v___x_1323_, 0);
v_isSharedCheck_1340_ = !lean_is_exclusive(v___x_1323_);
if (v_isSharedCheck_1340_ == 0)
{
v___x_1326_ = v___x_1323_;
v_isShared_1327_ = v_isSharedCheck_1340_;
goto v_resetjp_1325_;
}
else
{
lean_inc(v_val_1324_);
lean_dec(v___x_1323_);
v___x_1326_ = lean_box(0);
v_isShared_1327_ = v_isSharedCheck_1340_;
goto v_resetjp_1325_;
}
v_resetjp_1325_:
{
if (lean_obj_tag(v_val_1324_) == 1)
{
lean_object* v_data_1328_; lean_object* v___x_1330_; uint8_t v_isShared_1331_; uint8_t v_isSharedCheck_1339_; 
v_data_1328_ = lean_ctor_get(v_val_1324_, 0);
v_isSharedCheck_1339_ = !lean_is_exclusive(v_val_1324_);
if (v_isSharedCheck_1339_ == 0)
{
v___x_1330_ = v_val_1324_;
v_isShared_1331_ = v_isSharedCheck_1339_;
goto v_resetjp_1329_;
}
else
{
lean_inc(v_data_1328_);
lean_dec(v_val_1324_);
v___x_1330_ = lean_box(0);
v_isShared_1331_ = v_isSharedCheck_1339_;
goto v_resetjp_1329_;
}
v_resetjp_1329_:
{
lean_object* v___x_1332_; lean_object* v___x_1334_; 
v___x_1332_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1332_, 0, v_n_1320_);
lean_ctor_set(v___x_1332_, 1, v_data_1328_);
if (v_isShared_1327_ == 0)
{
lean_ctor_set(v___x_1326_, 0, v___x_1332_);
v___x_1334_ = v___x_1326_;
goto v_reusejp_1333_;
}
else
{
lean_object* v_reuseFailAlloc_1338_; 
v_reuseFailAlloc_1338_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1338_, 0, v___x_1332_);
v___x_1334_ = v_reuseFailAlloc_1338_;
goto v_reusejp_1333_;
}
v_reusejp_1333_:
{
lean_object* v___x_1336_; 
if (v_isShared_1331_ == 0)
{
lean_ctor_set_tag(v___x_1330_, 0);
lean_ctor_set(v___x_1330_, 0, v___x_1334_);
v___x_1336_ = v___x_1330_;
goto v_reusejp_1335_;
}
else
{
lean_object* v_reuseFailAlloc_1337_; 
v_reuseFailAlloc_1337_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1337_, 0, v___x_1334_);
v___x_1336_ = v_reuseFailAlloc_1337_;
goto v_reusejp_1335_;
}
v_reusejp_1335_:
{
return v___x_1336_;
}
}
}
}
else
{
lean_del_object(v___x_1326_);
lean_dec(v_val_1324_);
lean_dec(v_n_1320_);
goto v___jp_1304_;
}
}
}
else
{
lean_dec(v___x_1323_);
lean_dec(v_n_1320_);
goto v___jp_1304_;
}
}
else
{
lean_dec_ref(v_arg_1319_);
goto v___jp_1312_;
}
}
else
{
lean_dec(v___x_1318_);
goto v___jp_1312_;
}
v___jp_1312_:
{
lean_object* v___x_1313_; lean_object* v___x_1315_; 
v___x_1313_ = lean_box(0);
if (v_isShared_1310_ == 0)
{
lean_ctor_set_tag(v___x_1309_, 0);
lean_ctor_set(v___x_1309_, 0, v___x_1313_);
v___x_1315_ = v___x_1309_;
goto v_reusejp_1314_;
}
else
{
lean_object* v_reuseFailAlloc_1316_; 
v_reuseFailAlloc_1316_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1316_, 0, v___x_1313_);
v___x_1315_ = v_reuseFailAlloc_1316_;
goto v_reusejp_1314_;
}
v_reusejp_1314_:
{
return v___x_1315_;
}
}
}
}
else
{
lean_object* v___x_1342_; lean_object* v___x_1343_; 
lean_dec(v_arg_1300_);
v___x_1342_ = lean_box(0);
v___x_1343_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1343_, 0, v___x_1342_);
return v___x_1343_;
}
v___jp_1304_:
{
lean_object* v___x_1305_; lean_object* v___x_1306_; 
v___x_1305_ = lean_box(0);
v___x_1306_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1306_, 0, v___x_1305_);
return v___x_1306_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg___boxed(lean_object* v_arg_1344_, lean_object* v_a_1345_, lean_object* v_a_1346_, lean_object* v_a_1347_){
_start:
{
lean_object* v_res_1348_; 
v_res_1348_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(v_arg_1344_, v_a_1345_, v_a_1346_);
lean_dec(v_a_1346_);
lean_dec(v_a_1345_);
return v_res_1348_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg(lean_object* v_arg_1349_, lean_object* v_a_1350_, lean_object* v_a_1351_, lean_object* v_a_1352_, lean_object* v_a_1353_, lean_object* v_a_1354_){
_start:
{
lean_object* v___x_1356_; 
v___x_1356_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(v_arg_1349_, v_a_1350_, v_a_1354_);
return v___x_1356_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___boxed(lean_object* v_arg_1357_, lean_object* v_a_1358_, lean_object* v_a_1359_, lean_object* v_a_1360_, lean_object* v_a_1361_, lean_object* v_a_1362_, lean_object* v_a_1363_){
_start:
{
lean_object* v_res_1364_; 
v_res_1364_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg(v_arg_1357_, v_a_1358_, v_a_1359_, v_a_1360_, v_a_1361_, v_a_1362_);
lean_dec(v_a_1362_);
lean_dec_ref(v_a_1361_);
lean_dec(v_a_1360_);
lean_dec_ref(v_a_1359_);
lean_dec(v_a_1358_);
return v_res_1364_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(lean_object* v_arg_1365_, lean_object* v_a_1366_){
_start:
{
if (lean_obj_tag(v_arg_1365_) == 1)
{
lean_object* v_n_1371_; lean_object* v___x_1372_; lean_object* v_env_1373_; lean_object* v___x_1374_; 
v_n_1371_ = lean_ctor_get(v_arg_1365_, 0);
lean_inc(v_n_1371_);
lean_dec_ref(v_arg_1365_);
v___x_1372_ = lean_st_ref_get(v_a_1366_);
v_env_1373_ = lean_ctor_get(v___x_1372_, 0);
lean_inc_ref(v_env_1373_);
lean_dec(v___x_1372_);
v___x_1374_ = l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(v_env_1373_, v_n_1371_);
if (lean_obj_tag(v___x_1374_) == 1)
{
lean_object* v_val_1375_; lean_object* v___x_1377_; uint8_t v_isShared_1378_; uint8_t v_isSharedCheck_1390_; 
v_val_1375_ = lean_ctor_get(v___x_1374_, 0);
v_isSharedCheck_1390_ = !lean_is_exclusive(v___x_1374_);
if (v_isSharedCheck_1390_ == 0)
{
v___x_1377_ = v___x_1374_;
v_isShared_1378_ = v_isSharedCheck_1390_;
goto v_resetjp_1376_;
}
else
{
lean_inc(v_val_1375_);
lean_dec(v___x_1374_);
v___x_1377_ = lean_box(0);
v_isShared_1378_ = v_isSharedCheck_1390_;
goto v_resetjp_1376_;
}
v_resetjp_1376_:
{
if (lean_obj_tag(v_val_1375_) == 1)
{
lean_object* v_data_1379_; lean_object* v___x_1381_; uint8_t v_isShared_1382_; uint8_t v_isSharedCheck_1389_; 
v_data_1379_ = lean_ctor_get(v_val_1375_, 0);
v_isSharedCheck_1389_ = !lean_is_exclusive(v_val_1375_);
if (v_isSharedCheck_1389_ == 0)
{
v___x_1381_ = v_val_1375_;
v_isShared_1382_ = v_isSharedCheck_1389_;
goto v_resetjp_1380_;
}
else
{
lean_inc(v_data_1379_);
lean_dec(v_val_1375_);
v___x_1381_ = lean_box(0);
v_isShared_1382_ = v_isSharedCheck_1389_;
goto v_resetjp_1380_;
}
v_resetjp_1380_:
{
lean_object* v___x_1384_; 
if (v_isShared_1378_ == 0)
{
lean_ctor_set(v___x_1377_, 0, v_data_1379_);
v___x_1384_ = v___x_1377_;
goto v_reusejp_1383_;
}
else
{
lean_object* v_reuseFailAlloc_1388_; 
v_reuseFailAlloc_1388_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1388_, 0, v_data_1379_);
v___x_1384_ = v_reuseFailAlloc_1388_;
goto v_reusejp_1383_;
}
v_reusejp_1383_:
{
lean_object* v___x_1386_; 
if (v_isShared_1382_ == 0)
{
lean_ctor_set_tag(v___x_1381_, 0);
lean_ctor_set(v___x_1381_, 0, v___x_1384_);
v___x_1386_ = v___x_1381_;
goto v_reusejp_1385_;
}
else
{
lean_object* v_reuseFailAlloc_1387_; 
v_reuseFailAlloc_1387_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1387_, 0, v___x_1384_);
v___x_1386_ = v_reuseFailAlloc_1387_;
goto v_reusejp_1385_;
}
v_reusejp_1385_:
{
return v___x_1386_;
}
}
}
}
else
{
lean_del_object(v___x_1377_);
lean_dec(v_val_1375_);
goto v___jp_1368_;
}
}
}
else
{
lean_dec(v___x_1374_);
goto v___jp_1368_;
}
}
else
{
lean_object* v___x_1391_; lean_object* v___x_1392_; 
lean_dec_ref(v_arg_1365_);
v___x_1391_ = lean_box(0);
v___x_1392_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1392_, 0, v___x_1391_);
return v___x_1392_;
}
v___jp_1368_:
{
lean_object* v___x_1369_; lean_object* v___x_1370_; 
v___x_1369_ = lean_box(0);
v___x_1370_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1370_, 0, v___x_1369_);
return v___x_1370_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg___boxed(lean_object* v_arg_1393_, lean_object* v_a_1394_, lean_object* v_a_1395_){
_start:
{
lean_object* v_res_1396_; 
v_res_1396_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(v_arg_1393_, v_a_1394_);
lean_dec(v_a_1394_);
return v_res_1396_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral(lean_object* v_arg_1397_, lean_object* v_a_1398_, lean_object* v_a_1399_, lean_object* v_a_1400_, lean_object* v_a_1401_, lean_object* v_a_1402_){
_start:
{
lean_object* v___x_1404_; 
v___x_1404_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(v_arg_1397_, v_a_1402_);
return v___x_1404_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___boxed(lean_object* v_arg_1405_, lean_object* v_a_1406_, lean_object* v_a_1407_, lean_object* v_a_1408_, lean_object* v_a_1409_, lean_object* v_a_1410_, lean_object* v_a_1411_){
_start:
{
lean_object* v_res_1412_; 
v_res_1412_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral(v_arg_1405_, v_a_1406_, v_a_1407_, v_a_1408_, v_a_1409_, v_a_1410_);
lean_dec(v_a_1410_);
lean_dec_ref(v_a_1409_);
lean_dec(v_a_1408_);
lean_dec_ref(v_a_1407_);
lean_dec(v_a_1406_);
return v_res_1412_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(lean_object* v_as_1413_, size_t v_i_1414_, size_t v_stop_1415_, lean_object* v_b_1416_, lean_object* v___y_1417_){
_start:
{
uint8_t v___x_1419_; 
v___x_1419_ = lean_usize_dec_eq(v_i_1414_, v_stop_1415_);
if (v___x_1419_ == 0)
{
lean_object* v___x_1420_; lean_object* v_fst_1421_; lean_object* v___x_1422_; lean_object* v___x_1423_; 
v___x_1420_ = lean_array_uget_borrowed(v_as_1413_, v_i_1414_);
v_fst_1421_ = lean_ctor_get(v___x_1420_, 0);
lean_inc(v_fst_1421_);
v___x_1422_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1422_, 0, v_fst_1421_);
v___x_1423_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(v___x_1422_, v___y_1417_);
if (lean_obj_tag(v___x_1423_) == 0)
{
lean_object* v_a_1424_; lean_object* v___x_1426_; uint8_t v_isShared_1427_; uint8_t v_isSharedCheck_1437_; 
v_a_1424_ = lean_ctor_get(v___x_1423_, 0);
v_isSharedCheck_1437_ = !lean_is_exclusive(v___x_1423_);
if (v_isSharedCheck_1437_ == 0)
{
v___x_1426_ = v___x_1423_;
v_isShared_1427_ = v_isSharedCheck_1437_;
goto v_resetjp_1425_;
}
else
{
lean_inc(v_a_1424_);
lean_dec(v___x_1423_);
v___x_1426_ = lean_box(0);
v_isShared_1427_ = v_isSharedCheck_1437_;
goto v_resetjp_1425_;
}
v_resetjp_1425_:
{
if (lean_obj_tag(v_a_1424_) == 0)
{
lean_object* v___x_1428_; lean_object* v___x_1430_; 
lean_dec(v_b_1416_);
v___x_1428_ = lean_box(0);
if (v_isShared_1427_ == 0)
{
lean_ctor_set(v___x_1426_, 0, v___x_1428_);
v___x_1430_ = v___x_1426_;
goto v_reusejp_1429_;
}
else
{
lean_object* v_reuseFailAlloc_1431_; 
v_reuseFailAlloc_1431_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1431_, 0, v___x_1428_);
v___x_1430_ = v_reuseFailAlloc_1431_;
goto v_reusejp_1429_;
}
v_reusejp_1429_:
{
return v___x_1430_;
}
}
else
{
lean_object* v_val_1432_; lean_object* v___x_1433_; size_t v___x_1434_; size_t v___x_1435_; 
lean_del_object(v___x_1426_);
v_val_1432_ = lean_ctor_get(v_a_1424_, 0);
lean_inc(v_val_1432_);
lean_dec_ref(v_a_1424_);
v___x_1433_ = l_Lean_Name_str___override(v_b_1416_, v_val_1432_);
v___x_1434_ = ((size_t)1ULL);
v___x_1435_ = lean_usize_add(v_i_1414_, v___x_1434_);
v_i_1414_ = v___x_1435_;
v_b_1416_ = v___x_1433_;
goto _start;
}
}
}
else
{
lean_object* v_a_1438_; lean_object* v___x_1440_; uint8_t v_isShared_1441_; uint8_t v_isSharedCheck_1445_; 
lean_dec(v_b_1416_);
v_a_1438_ = lean_ctor_get(v___x_1423_, 0);
v_isSharedCheck_1445_ = !lean_is_exclusive(v___x_1423_);
if (v_isSharedCheck_1445_ == 0)
{
v___x_1440_ = v___x_1423_;
v_isShared_1441_ = v_isSharedCheck_1445_;
goto v_resetjp_1439_;
}
else
{
lean_inc(v_a_1438_);
lean_dec(v___x_1423_);
v___x_1440_ = lean_box(0);
v_isShared_1441_ = v_isSharedCheck_1445_;
goto v_resetjp_1439_;
}
v_resetjp_1439_:
{
lean_object* v___x_1443_; 
if (v_isShared_1441_ == 0)
{
v___x_1443_ = v___x_1440_;
goto v_reusejp_1442_;
}
else
{
lean_object* v_reuseFailAlloc_1444_; 
v_reuseFailAlloc_1444_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1444_, 0, v_a_1438_);
v___x_1443_ = v_reuseFailAlloc_1444_;
goto v_reusejp_1442_;
}
v_reusejp_1442_:
{
return v___x_1443_;
}
}
}
}
else
{
lean_object* v___x_1446_; lean_object* v___x_1447_; 
v___x_1446_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1446_, 0, v_b_1416_);
v___x_1447_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1447_, 0, v___x_1446_);
return v___x_1447_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg___boxed(lean_object* v_as_1448_, lean_object* v_i_1449_, lean_object* v_stop_1450_, lean_object* v_b_1451_, lean_object* v___y_1452_, lean_object* v___y_1453_){
_start:
{
size_t v_i_boxed_1454_; size_t v_stop_boxed_1455_; lean_object* v_res_1456_; 
v_i_boxed_1454_ = lean_unbox_usize(v_i_1449_);
lean_dec(v_i_1449_);
v_stop_boxed_1455_ = lean_unbox_usize(v_stop_1450_);
lean_dec(v_stop_1450_);
v_res_1456_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(v_as_1448_, v_i_boxed_1454_, v_stop_boxed_1455_, v_b_1451_, v___y_1452_);
lean_dec(v___y_1452_);
lean_dec_ref(v_as_1448_);
return v_res_1456_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(lean_object* v_arg_1459_, lean_object* v_a_1460_, lean_object* v_a_1461_, lean_object* v_a_1462_, lean_object* v_a_1463_, lean_object* v_a_1464_){
_start:
{
switch(lean_obj_tag(v_arg_1459_))
{
case 0:
{
lean_object* v_val_1472_; lean_object* v___x_1474_; uint8_t v_isShared_1475_; uint8_t v_isSharedCheck_1482_; 
v_val_1472_ = lean_ctor_get(v_arg_1459_, 0);
v_isSharedCheck_1482_ = !lean_is_exclusive(v_arg_1459_);
if (v_isSharedCheck_1482_ == 0)
{
v___x_1474_ = v_arg_1459_;
v_isShared_1475_ = v_isSharedCheck_1482_;
goto v_resetjp_1473_;
}
else
{
lean_inc(v_val_1472_);
lean_dec(v_arg_1459_);
v___x_1474_ = lean_box(0);
v_isShared_1475_ = v_isSharedCheck_1482_;
goto v_resetjp_1473_;
}
v_resetjp_1473_:
{
lean_object* v___x_1476_; uint8_t v___x_1477_; 
v___x_1476_ = lean_unsigned_to_nat(0u);
v___x_1477_ = lean_nat_dec_eq(v_val_1472_, v___x_1476_);
lean_dec(v_val_1472_);
if (v___x_1477_ == 0)
{
lean_del_object(v___x_1474_);
goto v___jp_1466_;
}
else
{
lean_object* v___x_1478_; lean_object* v___x_1480_; 
v___x_1478_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0));
if (v_isShared_1475_ == 0)
{
lean_ctor_set(v___x_1474_, 0, v___x_1478_);
v___x_1480_ = v___x_1474_;
goto v_reusejp_1479_;
}
else
{
lean_object* v_reuseFailAlloc_1481_; 
v_reuseFailAlloc_1481_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1481_, 0, v___x_1478_);
v___x_1480_ = v_reuseFailAlloc_1481_;
goto v_reusejp_1479_;
}
v_reusejp_1479_:
{
return v___x_1480_;
}
}
}
}
case 1:
{
lean_object* v_n_1483_; lean_object* v___x_1484_; lean_object* v_env_1485_; lean_object* v___x_1486_; 
v_n_1483_ = lean_ctor_get(v_arg_1459_, 0);
lean_inc(v_n_1483_);
lean_dec_ref(v_arg_1459_);
v___x_1484_ = lean_st_ref_get(v_a_1464_);
v_env_1485_ = lean_ctor_get(v___x_1484_, 0);
lean_inc_ref(v_env_1485_);
lean_dec(v___x_1484_);
v___x_1486_ = l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(v_env_1485_, v_n_1483_);
if (lean_obj_tag(v___x_1486_) == 1)
{
lean_object* v_val_1487_; 
v_val_1487_ = lean_ctor_get(v___x_1486_, 0);
lean_inc(v_val_1487_);
lean_dec_ref(v___x_1486_);
switch(lean_obj_tag(v_val_1487_))
{
case 0:
{
lean_object* v_cidx_1488_; lean_object* v_objArgs_1489_; lean_object* v___x_1490_; uint8_t v___x_1491_; 
v_cidx_1488_ = lean_ctor_get(v_val_1487_, 0);
lean_inc(v_cidx_1488_);
v_objArgs_1489_ = lean_ctor_get(v_val_1487_, 1);
lean_inc_ref(v_objArgs_1489_);
lean_dec_ref(v_val_1487_);
v___x_1490_ = lean_unsigned_to_nat(1u);
v___x_1491_ = lean_nat_dec_eq(v_cidx_1488_, v___x_1490_);
if (v___x_1491_ == 0)
{
lean_object* v___x_1492_; uint8_t v___x_1493_; 
v___x_1492_ = lean_unsigned_to_nat(2u);
v___x_1493_ = lean_nat_dec_eq(v_cidx_1488_, v___x_1492_);
lean_dec(v_cidx_1488_);
if (v___x_1493_ == 0)
{
lean_dec_ref(v_objArgs_1489_);
goto v___jp_1469_;
}
else
{
lean_object* v___x_1494_; uint8_t v___x_1495_; 
v___x_1494_ = lean_array_get_size(v_objArgs_1489_);
v___x_1495_ = lean_nat_dec_eq(v___x_1494_, v___x_1492_);
if (v___x_1495_ == 0)
{
lean_dec_ref(v_objArgs_1489_);
goto v___jp_1469_;
}
else
{
lean_object* v___x_1496_; 
v___x_1496_ = lean_array_fget_borrowed(v_objArgs_1489_, v___x_1490_);
if (lean_obj_tag(v___x_1496_) == 0)
{
lean_object* v_val_1497_; lean_object* v___x_1498_; lean_object* v___x_1499_; lean_object* v___x_1500_; 
v_val_1497_ = lean_ctor_get(v___x_1496_, 0);
lean_inc(v_val_1497_);
v___x_1498_ = lean_unsigned_to_nat(0u);
v___x_1499_ = lean_array_fget(v_objArgs_1489_, v___x_1498_);
lean_dec_ref(v_objArgs_1489_);
v___x_1500_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(v___x_1499_, v_a_1460_, v_a_1461_, v_a_1462_, v_a_1463_, v_a_1464_);
if (lean_obj_tag(v___x_1500_) == 0)
{
lean_object* v_a_1501_; 
v_a_1501_ = lean_ctor_get(v___x_1500_, 0);
lean_inc(v_a_1501_);
if (lean_obj_tag(v_a_1501_) == 0)
{
lean_dec(v_val_1497_);
return v___x_1500_;
}
else
{
lean_object* v___x_1503_; uint8_t v_isShared_1504_; uint8_t v_isSharedCheck_1517_; 
v_isSharedCheck_1517_ = !lean_is_exclusive(v___x_1500_);
if (v_isSharedCheck_1517_ == 0)
{
lean_object* v_unused_1518_; 
v_unused_1518_ = lean_ctor_get(v___x_1500_, 0);
lean_dec(v_unused_1518_);
v___x_1503_ = v___x_1500_;
v_isShared_1504_ = v_isSharedCheck_1517_;
goto v_resetjp_1502_;
}
else
{
lean_dec(v___x_1500_);
v___x_1503_ = lean_box(0);
v_isShared_1504_ = v_isSharedCheck_1517_;
goto v_resetjp_1502_;
}
v_resetjp_1502_:
{
lean_object* v_val_1505_; lean_object* v___x_1507_; uint8_t v_isShared_1508_; uint8_t v_isSharedCheck_1516_; 
v_val_1505_ = lean_ctor_get(v_a_1501_, 0);
v_isSharedCheck_1516_ = !lean_is_exclusive(v_a_1501_);
if (v_isSharedCheck_1516_ == 0)
{
v___x_1507_ = v_a_1501_;
v_isShared_1508_ = v_isSharedCheck_1516_;
goto v_resetjp_1506_;
}
else
{
lean_inc(v_val_1505_);
lean_dec(v_a_1501_);
v___x_1507_ = lean_box(0);
v_isShared_1508_ = v_isSharedCheck_1516_;
goto v_resetjp_1506_;
}
v_resetjp_1506_:
{
lean_object* v___x_1509_; lean_object* v___x_1511_; 
v___x_1509_ = l_Lean_Name_num___override(v_val_1505_, v_val_1497_);
if (v_isShared_1508_ == 0)
{
lean_ctor_set(v___x_1507_, 0, v___x_1509_);
v___x_1511_ = v___x_1507_;
goto v_reusejp_1510_;
}
else
{
lean_object* v_reuseFailAlloc_1515_; 
v_reuseFailAlloc_1515_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1515_, 0, v___x_1509_);
v___x_1511_ = v_reuseFailAlloc_1515_;
goto v_reusejp_1510_;
}
v_reusejp_1510_:
{
lean_object* v___x_1513_; 
if (v_isShared_1504_ == 0)
{
lean_ctor_set(v___x_1503_, 0, v___x_1511_);
v___x_1513_ = v___x_1503_;
goto v_reusejp_1512_;
}
else
{
lean_object* v_reuseFailAlloc_1514_; 
v_reuseFailAlloc_1514_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1514_, 0, v___x_1511_);
v___x_1513_ = v_reuseFailAlloc_1514_;
goto v_reusejp_1512_;
}
v_reusejp_1512_:
{
return v___x_1513_;
}
}
}
}
}
}
else
{
lean_dec(v_val_1497_);
return v___x_1500_;
}
}
else
{
lean_dec_ref(v_objArgs_1489_);
goto v___jp_1469_;
}
}
}
}
else
{
lean_object* v___x_1519_; lean_object* v___x_1520_; uint8_t v___x_1521_; 
lean_dec(v_cidx_1488_);
v___x_1519_ = lean_array_get_size(v_objArgs_1489_);
v___x_1520_ = lean_unsigned_to_nat(2u);
v___x_1521_ = lean_nat_dec_eq(v___x_1519_, v___x_1520_);
if (v___x_1521_ == 0)
{
lean_dec_ref(v_objArgs_1489_);
goto v___jp_1469_;
}
else
{
lean_object* v___x_1522_; 
v___x_1522_ = lean_array_fget(v_objArgs_1489_, v___x_1490_);
if (lean_obj_tag(v___x_1522_) == 1)
{
lean_object* v___x_1523_; lean_object* v___x_1524_; lean_object* v___x_1525_; 
v___x_1523_ = lean_unsigned_to_nat(0u);
v___x_1524_ = lean_array_fget(v_objArgs_1489_, v___x_1523_);
lean_dec_ref(v_objArgs_1489_);
v___x_1525_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(v___x_1524_, v_a_1460_, v_a_1461_, v_a_1462_, v_a_1463_, v_a_1464_);
if (lean_obj_tag(v___x_1525_) == 0)
{
lean_object* v_a_1526_; 
v_a_1526_ = lean_ctor_get(v___x_1525_, 0);
lean_inc(v_a_1526_);
if (lean_obj_tag(v_a_1526_) == 0)
{
lean_dec_ref(v___x_1522_);
return v___x_1525_;
}
else
{
lean_object* v_val_1527_; lean_object* v___x_1528_; 
lean_dec_ref(v___x_1525_);
v_val_1527_ = lean_ctor_get(v_a_1526_, 0);
lean_inc(v_val_1527_);
lean_dec_ref(v_a_1526_);
v___x_1528_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpStringLiteral___redArg(v___x_1522_, v_a_1464_);
if (lean_obj_tag(v___x_1528_) == 0)
{
lean_object* v_a_1529_; lean_object* v___x_1531_; uint8_t v_isShared_1532_; uint8_t v_isSharedCheck_1549_; 
v_a_1529_ = lean_ctor_get(v___x_1528_, 0);
v_isSharedCheck_1549_ = !lean_is_exclusive(v___x_1528_);
if (v_isSharedCheck_1549_ == 0)
{
v___x_1531_ = v___x_1528_;
v_isShared_1532_ = v_isSharedCheck_1549_;
goto v_resetjp_1530_;
}
else
{
lean_inc(v_a_1529_);
lean_dec(v___x_1528_);
v___x_1531_ = lean_box(0);
v_isShared_1532_ = v_isSharedCheck_1549_;
goto v_resetjp_1530_;
}
v_resetjp_1530_:
{
if (lean_obj_tag(v_a_1529_) == 0)
{
lean_object* v___x_1533_; lean_object* v___x_1535_; 
lean_dec(v_val_1527_);
v___x_1533_ = lean_box(0);
if (v_isShared_1532_ == 0)
{
lean_ctor_set(v___x_1531_, 0, v___x_1533_);
v___x_1535_ = v___x_1531_;
goto v_reusejp_1534_;
}
else
{
lean_object* v_reuseFailAlloc_1536_; 
v_reuseFailAlloc_1536_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1536_, 0, v___x_1533_);
v___x_1535_ = v_reuseFailAlloc_1536_;
goto v_reusejp_1534_;
}
v_reusejp_1534_:
{
return v___x_1535_;
}
}
else
{
lean_object* v_val_1537_; lean_object* v___x_1539_; uint8_t v_isShared_1540_; uint8_t v_isSharedCheck_1548_; 
v_val_1537_ = lean_ctor_get(v_a_1529_, 0);
v_isSharedCheck_1548_ = !lean_is_exclusive(v_a_1529_);
if (v_isSharedCheck_1548_ == 0)
{
v___x_1539_ = v_a_1529_;
v_isShared_1540_ = v_isSharedCheck_1548_;
goto v_resetjp_1538_;
}
else
{
lean_inc(v_val_1537_);
lean_dec(v_a_1529_);
v___x_1539_ = lean_box(0);
v_isShared_1540_ = v_isSharedCheck_1548_;
goto v_resetjp_1538_;
}
v_resetjp_1538_:
{
lean_object* v___x_1541_; lean_object* v___x_1543_; 
v___x_1541_ = l_Lean_Name_str___override(v_val_1527_, v_val_1537_);
if (v_isShared_1540_ == 0)
{
lean_ctor_set(v___x_1539_, 0, v___x_1541_);
v___x_1543_ = v___x_1539_;
goto v_reusejp_1542_;
}
else
{
lean_object* v_reuseFailAlloc_1547_; 
v_reuseFailAlloc_1547_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1547_, 0, v___x_1541_);
v___x_1543_ = v_reuseFailAlloc_1547_;
goto v_reusejp_1542_;
}
v_reusejp_1542_:
{
lean_object* v___x_1545_; 
if (v_isShared_1532_ == 0)
{
lean_ctor_set(v___x_1531_, 0, v___x_1543_);
v___x_1545_ = v___x_1531_;
goto v_reusejp_1544_;
}
else
{
lean_object* v_reuseFailAlloc_1546_; 
v_reuseFailAlloc_1546_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1546_, 0, v___x_1543_);
v___x_1545_ = v_reuseFailAlloc_1546_;
goto v_reusejp_1544_;
}
v_reusejp_1544_:
{
return v___x_1545_;
}
}
}
}
}
}
else
{
lean_object* v_a_1550_; lean_object* v___x_1552_; uint8_t v_isShared_1553_; uint8_t v_isSharedCheck_1557_; 
lean_dec(v_val_1527_);
v_a_1550_ = lean_ctor_get(v___x_1528_, 0);
v_isSharedCheck_1557_ = !lean_is_exclusive(v___x_1528_);
if (v_isSharedCheck_1557_ == 0)
{
v___x_1552_ = v___x_1528_;
v_isShared_1553_ = v_isSharedCheck_1557_;
goto v_resetjp_1551_;
}
else
{
lean_inc(v_a_1550_);
lean_dec(v___x_1528_);
v___x_1552_ = lean_box(0);
v_isShared_1553_ = v_isSharedCheck_1557_;
goto v_resetjp_1551_;
}
v_resetjp_1551_:
{
lean_object* v___x_1555_; 
if (v_isShared_1553_ == 0)
{
v___x_1555_ = v___x_1552_;
goto v_reusejp_1554_;
}
else
{
lean_object* v_reuseFailAlloc_1556_; 
v_reuseFailAlloc_1556_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1556_, 0, v_a_1550_);
v___x_1555_ = v_reuseFailAlloc_1556_;
goto v_reusejp_1554_;
}
v_reusejp_1554_:
{
return v___x_1555_;
}
}
}
}
}
else
{
lean_dec_ref(v___x_1522_);
return v___x_1525_;
}
}
else
{
lean_dec(v___x_1522_);
lean_dec_ref(v_objArgs_1489_);
goto v___jp_1469_;
}
}
}
}
case 3:
{
lean_object* v_args_1558_; lean_object* v___x_1560_; uint8_t v_isShared_1561_; uint8_t v_isSharedCheck_1581_; 
v_args_1558_ = lean_ctor_get(v_val_1487_, 0);
v_isSharedCheck_1581_ = !lean_is_exclusive(v_val_1487_);
if (v_isSharedCheck_1581_ == 0)
{
v___x_1560_ = v_val_1487_;
v_isShared_1561_ = v_isSharedCheck_1581_;
goto v_resetjp_1559_;
}
else
{
lean_inc(v_args_1558_);
lean_dec(v_val_1487_);
v___x_1560_ = lean_box(0);
v_isShared_1561_ = v_isSharedCheck_1581_;
goto v_resetjp_1559_;
}
v_resetjp_1559_:
{
lean_object* v___x_1562_; lean_object* v___x_1563_; lean_object* v___x_1564_; uint8_t v___x_1565_; 
v___x_1562_ = lean_box(0);
v___x_1563_ = lean_unsigned_to_nat(0u);
v___x_1564_ = lean_array_get_size(v_args_1558_);
v___x_1565_ = lean_nat_dec_lt(v___x_1563_, v___x_1564_);
if (v___x_1565_ == 0)
{
lean_object* v___x_1566_; lean_object* v___x_1568_; 
lean_dec_ref(v_args_1558_);
v___x_1566_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0));
if (v_isShared_1561_ == 0)
{
lean_ctor_set_tag(v___x_1560_, 0);
lean_ctor_set(v___x_1560_, 0, v___x_1566_);
v___x_1568_ = v___x_1560_;
goto v_reusejp_1567_;
}
else
{
lean_object* v_reuseFailAlloc_1569_; 
v_reuseFailAlloc_1569_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1569_, 0, v___x_1566_);
v___x_1568_ = v_reuseFailAlloc_1569_;
goto v_reusejp_1567_;
}
v_reusejp_1567_:
{
return v___x_1568_;
}
}
else
{
uint8_t v___x_1570_; 
v___x_1570_ = lean_nat_dec_le(v___x_1564_, v___x_1564_);
if (v___x_1570_ == 0)
{
if (v___x_1565_ == 0)
{
lean_object* v___x_1571_; lean_object* v___x_1573_; 
lean_dec_ref(v_args_1558_);
v___x_1571_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___closed__0));
if (v_isShared_1561_ == 0)
{
lean_ctor_set_tag(v___x_1560_, 0);
lean_ctor_set(v___x_1560_, 0, v___x_1571_);
v___x_1573_ = v___x_1560_;
goto v_reusejp_1572_;
}
else
{
lean_object* v_reuseFailAlloc_1574_; 
v_reuseFailAlloc_1574_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1574_, 0, v___x_1571_);
v___x_1573_ = v_reuseFailAlloc_1574_;
goto v_reusejp_1572_;
}
v_reusejp_1572_:
{
return v___x_1573_;
}
}
else
{
size_t v___x_1575_; size_t v___x_1576_; lean_object* v___x_1577_; 
lean_del_object(v___x_1560_);
v___x_1575_ = ((size_t)0ULL);
v___x_1576_ = lean_usize_of_nat(v___x_1564_);
v___x_1577_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(v_args_1558_, v___x_1575_, v___x_1576_, v___x_1562_, v_a_1464_);
lean_dec_ref(v_args_1558_);
return v___x_1577_;
}
}
else
{
size_t v___x_1578_; size_t v___x_1579_; lean_object* v___x_1580_; 
lean_del_object(v___x_1560_);
v___x_1578_ = ((size_t)0ULL);
v___x_1579_ = lean_usize_of_nat(v___x_1564_);
v___x_1580_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(v_args_1558_, v___x_1578_, v___x_1579_, v___x_1562_, v_a_1464_);
lean_dec_ref(v_args_1558_);
return v___x_1580_;
}
}
}
}
default: 
{
lean_dec(v_val_1487_);
goto v___jp_1469_;
}
}
}
else
{
lean_dec(v___x_1486_);
goto v___jp_1469_;
}
}
default: 
{
lean_dec_ref(v_arg_1459_);
goto v___jp_1466_;
}
}
v___jp_1466_:
{
lean_object* v___x_1467_; lean_object* v___x_1468_; 
v___x_1467_ = lean_box(0);
v___x_1468_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1468_, 0, v___x_1467_);
return v___x_1468_;
}
v___jp_1469_:
{
lean_object* v___x_1470_; lean_object* v___x_1471_; 
v___x_1470_ = lean_box(0);
v___x_1471_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1471_, 0, v___x_1470_);
return v___x_1471_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral___boxed(lean_object* v_arg_1582_, lean_object* v_a_1583_, lean_object* v_a_1584_, lean_object* v_a_1585_, lean_object* v_a_1586_, lean_object* v_a_1587_, lean_object* v_a_1588_){
_start:
{
lean_object* v_res_1589_; 
v_res_1589_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(v_arg_1582_, v_a_1583_, v_a_1584_, v_a_1585_, v_a_1586_, v_a_1587_);
lean_dec(v_a_1587_);
lean_dec_ref(v_a_1586_);
lean_dec(v_a_1585_);
lean_dec_ref(v_a_1584_);
lean_dec(v_a_1583_);
return v_res_1589_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0(lean_object* v_as_1590_, size_t v_i_1591_, size_t v_stop_1592_, lean_object* v_b_1593_, lean_object* v___y_1594_, lean_object* v___y_1595_, lean_object* v___y_1596_, lean_object* v___y_1597_, lean_object* v___y_1598_){
_start:
{
lean_object* v___x_1600_; 
v___x_1600_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___redArg(v_as_1590_, v_i_1591_, v_stop_1592_, v_b_1593_, v___y_1598_);
return v___x_1600_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0___boxed(lean_object* v_as_1601_, lean_object* v_i_1602_, lean_object* v_stop_1603_, lean_object* v_b_1604_, lean_object* v___y_1605_, lean_object* v___y_1606_, lean_object* v___y_1607_, lean_object* v___y_1608_, lean_object* v___y_1609_, lean_object* v___y_1610_){
_start:
{
size_t v_i_boxed_1611_; size_t v_stop_boxed_1612_; lean_object* v_res_1613_; 
v_i_boxed_1611_ = lean_unbox_usize(v_i_1602_);
lean_dec(v_i_1602_);
v_stop_boxed_1612_ = lean_unbox_usize(v_stop_1603_);
lean_dec(v_stop_1603_);
v_res_1613_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral_spec__0(v_as_1601_, v_i_boxed_1611_, v_stop_boxed_1612_, v_b_1604_, v___y_1605_, v___y_1606_, v___y_1607_, v___y_1608_, v___y_1609_);
lean_dec(v___y_1609_);
lean_dec_ref(v___y_1608_);
lean_dec(v___y_1607_);
lean_dec_ref(v___y_1606_);
lean_dec(v___y_1605_);
lean_dec_ref(v_as_1601_);
return v_res_1613_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg(lean_object* v_as_1614_, size_t v_sz_1615_, size_t v_i_1616_, lean_object* v_b_1617_, lean_object* v___y_1618_, lean_object* v___y_1619_){
_start:
{
uint8_t v___x_1621_; 
v___x_1621_ = lean_usize_dec_lt(v_i_1616_, v_sz_1615_);
if (v___x_1621_ == 0)
{
lean_object* v___x_1622_; lean_object* v___x_1623_; 
v___x_1622_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1622_, 0, v_b_1617_);
v___x_1623_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1623_, 0, v___x_1622_);
return v___x_1623_;
}
else
{
lean_object* v_a_1624_; lean_object* v___x_1625_; 
v_a_1624_ = lean_array_uget_borrowed(v_as_1614_, v_i_1616_);
lean_inc(v_a_1624_);
v___x_1625_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(v_a_1624_, v___y_1618_, v___y_1619_);
if (lean_obj_tag(v___x_1625_) == 0)
{
lean_object* v_a_1626_; lean_object* v___x_1628_; uint8_t v_isShared_1629_; uint8_t v_isSharedCheck_1663_; 
v_a_1626_ = lean_ctor_get(v___x_1625_, 0);
v_isSharedCheck_1663_ = !lean_is_exclusive(v___x_1625_);
if (v_isSharedCheck_1663_ == 0)
{
v___x_1628_ = v___x_1625_;
v_isShared_1629_ = v_isSharedCheck_1663_;
goto v_resetjp_1627_;
}
else
{
lean_inc(v_a_1626_);
lean_dec(v___x_1625_);
v___x_1628_ = lean_box(0);
v_isShared_1629_ = v_isSharedCheck_1663_;
goto v_resetjp_1627_;
}
v_resetjp_1627_:
{
if (lean_obj_tag(v_a_1626_) == 0)
{
lean_object* v___x_1630_; lean_object* v___x_1632_; 
lean_dec_ref(v_b_1617_);
v___x_1630_ = lean_box(0);
if (v_isShared_1629_ == 0)
{
lean_ctor_set(v___x_1628_, 0, v___x_1630_);
v___x_1632_ = v___x_1628_;
goto v_reusejp_1631_;
}
else
{
lean_object* v_reuseFailAlloc_1633_; 
v_reuseFailAlloc_1633_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1633_, 0, v___x_1630_);
v___x_1632_ = v_reuseFailAlloc_1633_;
goto v_reusejp_1631_;
}
v_reusejp_1631_:
{
return v___x_1632_;
}
}
else
{
lean_object* v_val_1634_; lean_object* v_fst_1635_; lean_object* v_snd_1636_; lean_object* v___x_1638_; uint8_t v_isShared_1639_; uint8_t v_isSharedCheck_1662_; 
lean_del_object(v___x_1628_);
v_val_1634_ = lean_ctor_get(v_a_1626_, 0);
lean_inc(v_val_1634_);
lean_dec_ref(v_a_1626_);
v_fst_1635_ = lean_ctor_get(v_val_1634_, 0);
v_snd_1636_ = lean_ctor_get(v_val_1634_, 1);
v_isSharedCheck_1662_ = !lean_is_exclusive(v_val_1634_);
if (v_isSharedCheck_1662_ == 0)
{
v___x_1638_ = v_val_1634_;
v_isShared_1639_ = v_isSharedCheck_1662_;
goto v_resetjp_1637_;
}
else
{
lean_inc(v_snd_1636_);
lean_inc(v_fst_1635_);
lean_dec(v_val_1634_);
v___x_1638_ = lean_box(0);
v_isShared_1639_ = v_isSharedCheck_1662_;
goto v_resetjp_1637_;
}
v_resetjp_1637_:
{
lean_object* v_fst_1640_; lean_object* v_snd_1641_; lean_object* v___x_1643_; uint8_t v_isShared_1644_; uint8_t v_isSharedCheck_1661_; 
v_fst_1640_ = lean_ctor_get(v_b_1617_, 0);
v_snd_1641_ = lean_ctor_get(v_b_1617_, 1);
v_isSharedCheck_1661_ = !lean_is_exclusive(v_b_1617_);
if (v_isSharedCheck_1661_ == 0)
{
v___x_1643_ = v_b_1617_;
v_isShared_1644_ = v_isSharedCheck_1661_;
goto v_resetjp_1642_;
}
else
{
lean_inc(v_snd_1641_);
lean_inc(v_fst_1640_);
lean_dec(v_b_1617_);
v___x_1643_ = lean_box(0);
v_isShared_1644_ = v_isSharedCheck_1661_;
goto v_resetjp_1642_;
}
v_resetjp_1642_:
{
lean_object* v___x_1645_; uint64_t v___y_1647_; 
v___x_1645_ = l_Lean_Name_str___override(v_fst_1640_, v_snd_1636_);
if (lean_obj_tag(v___x_1645_) == 0)
{
uint64_t v___x_1659_; 
v___x_1659_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_1647_ = v___x_1659_;
goto v___jp_1646_;
}
else
{
uint64_t v_hash_1660_; 
v_hash_1660_ = lean_ctor_get_uint64(v___x_1645_, sizeof(void*)*2);
v___y_1647_ = v_hash_1660_;
goto v___jp_1646_;
}
v___jp_1646_:
{
lean_object* v___x_1648_; lean_object* v___x_1650_; 
v___x_1648_ = lean_box_uint64(v___y_1647_);
if (v_isShared_1644_ == 0)
{
lean_ctor_set(v___x_1643_, 1, v___x_1648_);
lean_ctor_set(v___x_1643_, 0, v_fst_1635_);
v___x_1650_ = v___x_1643_;
goto v_reusejp_1649_;
}
else
{
lean_object* v_reuseFailAlloc_1658_; 
v_reuseFailAlloc_1658_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1658_, 0, v_fst_1635_);
lean_ctor_set(v_reuseFailAlloc_1658_, 1, v___x_1648_);
v___x_1650_ = v_reuseFailAlloc_1658_;
goto v_reusejp_1649_;
}
v_reusejp_1649_:
{
lean_object* v___x_1651_; lean_object* v___x_1653_; 
v___x_1651_ = lean_array_push(v_snd_1641_, v___x_1650_);
if (v_isShared_1639_ == 0)
{
lean_ctor_set(v___x_1638_, 1, v___x_1651_);
lean_ctor_set(v___x_1638_, 0, v___x_1645_);
v___x_1653_ = v___x_1638_;
goto v_reusejp_1652_;
}
else
{
lean_object* v_reuseFailAlloc_1657_; 
v_reuseFailAlloc_1657_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1657_, 0, v___x_1645_);
lean_ctor_set(v_reuseFailAlloc_1657_, 1, v___x_1651_);
v___x_1653_ = v_reuseFailAlloc_1657_;
goto v_reusejp_1652_;
}
v_reusejp_1652_:
{
size_t v___x_1654_; size_t v___x_1655_; 
v___x_1654_ = ((size_t)1ULL);
v___x_1655_ = lean_usize_add(v_i_1616_, v___x_1654_);
v_i_1616_ = v___x_1655_;
v_b_1617_ = v___x_1653_;
goto _start;
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_1664_; lean_object* v___x_1666_; uint8_t v_isShared_1667_; uint8_t v_isSharedCheck_1671_; 
lean_dec_ref(v_b_1617_);
v_a_1664_ = lean_ctor_get(v___x_1625_, 0);
v_isSharedCheck_1671_ = !lean_is_exclusive(v___x_1625_);
if (v_isSharedCheck_1671_ == 0)
{
v___x_1666_ = v___x_1625_;
v_isShared_1667_ = v_isSharedCheck_1671_;
goto v_resetjp_1665_;
}
else
{
lean_inc(v_a_1664_);
lean_dec(v___x_1625_);
v___x_1666_ = lean_box(0);
v_isShared_1667_ = v_isSharedCheck_1671_;
goto v_resetjp_1665_;
}
v_resetjp_1665_:
{
lean_object* v___x_1669_; 
if (v_isShared_1667_ == 0)
{
v___x_1669_ = v___x_1666_;
goto v_reusejp_1668_;
}
else
{
lean_object* v_reuseFailAlloc_1670_; 
v_reuseFailAlloc_1670_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1670_, 0, v_a_1664_);
v___x_1669_ = v_reuseFailAlloc_1670_;
goto v_reusejp_1668_;
}
v_reusejp_1668_:
{
return v___x_1669_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg___boxed(lean_object* v_as_1672_, lean_object* v_sz_1673_, lean_object* v_i_1674_, lean_object* v_b_1675_, lean_object* v___y_1676_, lean_object* v___y_1677_, lean_object* v___y_1678_){
_start:
{
size_t v_sz_boxed_1679_; size_t v_i_boxed_1680_; lean_object* v_res_1681_; 
v_sz_boxed_1679_ = lean_unbox_usize(v_sz_1673_);
lean_dec(v_sz_1673_);
v_i_boxed_1680_ = lean_unbox_usize(v_i_1674_);
lean_dec(v_i_1674_);
v_res_1681_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg(v_as_1672_, v_sz_boxed_1679_, v_i_boxed_1680_, v_b_1675_, v___y_1676_, v___y_1677_);
lean_dec(v___y_1677_);
lean_dec(v___y_1676_);
lean_dec_ref(v_as_1672_);
return v_res_1681_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg(lean_object* v_x_1682_, lean_object* v_x_1683_){
_start:
{
if (lean_obj_tag(v_x_1682_) == 0)
{
lean_object* v___x_1685_; lean_object* v___x_1686_; lean_object* v___x_1687_; 
v___x_1685_ = l_List_reverse___redArg(v_x_1683_);
v___x_1686_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1686_, 0, v___x_1685_);
v___x_1687_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1687_, 0, v___x_1686_);
return v___x_1687_;
}
else
{
lean_object* v_head_1688_; 
v_head_1688_ = lean_ctor_get(v_x_1682_, 0);
lean_inc(v_head_1688_);
if (lean_obj_tag(v_head_1688_) == 0)
{
lean_object* v_tail_1689_; lean_object* v___x_1691_; uint8_t v_isShared_1692_; uint8_t v_isSharedCheck_1700_; 
v_tail_1689_ = lean_ctor_get(v_x_1682_, 1);
v_isSharedCheck_1700_ = !lean_is_exclusive(v_x_1682_);
if (v_isSharedCheck_1700_ == 0)
{
lean_object* v_unused_1701_; 
v_unused_1701_ = lean_ctor_get(v_x_1682_, 0);
lean_dec(v_unused_1701_);
v___x_1691_ = v_x_1682_;
v_isShared_1692_ = v_isSharedCheck_1700_;
goto v_resetjp_1690_;
}
else
{
lean_inc(v_tail_1689_);
lean_dec(v_x_1682_);
v___x_1691_ = lean_box(0);
v_isShared_1692_ = v_isSharedCheck_1700_;
goto v_resetjp_1690_;
}
v_resetjp_1690_:
{
lean_object* v_val_1693_; uint8_t v___x_1694_; lean_object* v___x_1695_; lean_object* v___x_1697_; 
v_val_1693_ = lean_ctor_get(v_head_1688_, 0);
lean_inc(v_val_1693_);
lean_dec_ref(v_head_1688_);
v___x_1694_ = lean_uint8_of_nat(v_val_1693_);
lean_dec(v_val_1693_);
v___x_1695_ = lean_box(v___x_1694_);
if (v_isShared_1692_ == 0)
{
lean_ctor_set(v___x_1691_, 1, v_x_1683_);
lean_ctor_set(v___x_1691_, 0, v___x_1695_);
v___x_1697_ = v___x_1691_;
goto v_reusejp_1696_;
}
else
{
lean_object* v_reuseFailAlloc_1699_; 
v_reuseFailAlloc_1699_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1699_, 0, v___x_1695_);
lean_ctor_set(v_reuseFailAlloc_1699_, 1, v_x_1683_);
v___x_1697_ = v_reuseFailAlloc_1699_;
goto v_reusejp_1696_;
}
v_reusejp_1696_:
{
v_x_1682_ = v_tail_1689_;
v_x_1683_ = v___x_1697_;
goto _start;
}
}
}
else
{
lean_object* v___x_1702_; lean_object* v___x_1703_; 
lean_dec_ref(v_x_1682_);
lean_dec(v_head_1688_);
lean_dec(v_x_1683_);
v___x_1702_ = lean_box(0);
v___x_1703_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1703_, 0, v___x_1702_);
return v___x_1703_;
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg___boxed(lean_object* v_x_1704_, lean_object* v_x_1705_, lean_object* v___y_1706_){
_start:
{
lean_object* v_res_1707_; 
v_res_1707_ = l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg(v_x_1704_, v_x_1705_);
return v_res_1707_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg(size_t v_sz_1708_, size_t v_i_1709_, lean_object* v_bs_1710_){
_start:
{
uint8_t v___x_1712_; 
v___x_1712_ = lean_usize_dec_lt(v_i_1709_, v_sz_1708_);
if (v___x_1712_ == 0)
{
lean_object* v___x_1713_; lean_object* v___x_1714_; 
v___x_1713_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1713_, 0, v_bs_1710_);
v___x_1714_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1714_, 0, v___x_1713_);
return v___x_1714_;
}
else
{
lean_object* v_v_1715_; 
v_v_1715_ = lean_array_uget_borrowed(v_bs_1710_, v_i_1709_);
if (lean_obj_tag(v_v_1715_) == 0)
{
lean_object* v_val_1716_; lean_object* v___x_1717_; lean_object* v_bs_x27_1718_; uint8_t v___x_1719_; size_t v___x_1720_; size_t v___x_1721_; lean_object* v___x_1722_; lean_object* v___x_1723_; 
v_val_1716_ = lean_ctor_get(v_v_1715_, 0);
lean_inc(v_val_1716_);
v___x_1717_ = lean_unsigned_to_nat(0u);
v_bs_x27_1718_ = lean_array_uset(v_bs_1710_, v_i_1709_, v___x_1717_);
v___x_1719_ = lean_uint8_of_nat(v_val_1716_);
lean_dec(v_val_1716_);
v___x_1720_ = ((size_t)1ULL);
v___x_1721_ = lean_usize_add(v_i_1709_, v___x_1720_);
v___x_1722_ = lean_box(v___x_1719_);
v___x_1723_ = lean_array_uset(v_bs_x27_1718_, v_i_1709_, v___x_1722_);
v_i_1709_ = v___x_1721_;
v_bs_1710_ = v___x_1723_;
goto _start;
}
else
{
lean_object* v___x_1725_; lean_object* v___x_1726_; 
lean_dec_ref(v_bs_1710_);
v___x_1725_ = lean_box(0);
v___x_1726_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1726_, 0, v___x_1725_);
return v___x_1726_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg___boxed(lean_object* v_sz_1727_, lean_object* v_i_1728_, lean_object* v_bs_1729_, lean_object* v___y_1730_){
_start:
{
size_t v_sz_boxed_1731_; size_t v_i_boxed_1732_; lean_object* v_res_1733_; 
v_sz_boxed_1731_ = lean_unbox_usize(v_sz_1727_);
lean_dec(v_sz_1727_);
v_i_boxed_1732_ = lean_unbox_usize(v_i_1728_);
lean_dec(v_i_1728_);
v_res_1733_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg(v_sz_boxed_1731_, v_i_boxed_1732_, v_bs_1729_);
return v_res_1733_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet(lean_object* v_e_1761_, lean_object* v_a_1762_, lean_object* v_a_1763_, lean_object* v_a_1764_, lean_object* v_a_1765_, lean_object* v_a_1766_){
_start:
{
lean_object* v_c_1778_; lean_object* v___y_1779_; lean_object* v_args_1789_; lean_object* v___y_1790_; lean_object* v___y_1791_; lean_object* v___y_1792_; lean_object* v___y_1793_; lean_object* v___y_1794_; lean_object* v___x_1835_; lean_object* v_sizeId_1837_; lean_object* v___y_1838_; 
v___x_1835_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default));
switch(lean_obj_tag(v_e_1761_))
{
case 0:
{
lean_object* v_value_1853_; lean_object* v___x_1855_; uint8_t v_isShared_1856_; uint8_t v_isSharedCheck_1873_; 
v_value_1853_ = lean_ctor_get(v_e_1761_, 0);
v_isSharedCheck_1873_ = !lean_is_exclusive(v_e_1761_);
if (v_isSharedCheck_1873_ == 0)
{
v___x_1855_ = v_e_1761_;
v_isShared_1856_ = v_isSharedCheck_1873_;
goto v_resetjp_1854_;
}
else
{
lean_inc(v_value_1853_);
lean_dec(v_e_1761_);
v___x_1855_ = lean_box(0);
v_isShared_1856_ = v_isSharedCheck_1873_;
goto v_resetjp_1854_;
}
v_resetjp_1854_:
{
if (lean_obj_tag(v_value_1853_) == 1)
{
lean_object* v_val_1857_; lean_object* v___x_1859_; uint8_t v_isShared_1860_; uint8_t v_isSharedCheck_1868_; 
v_val_1857_ = lean_ctor_get(v_value_1853_, 0);
v_isSharedCheck_1868_ = !lean_is_exclusive(v_value_1853_);
if (v_isSharedCheck_1868_ == 0)
{
v___x_1859_ = v_value_1853_;
v_isShared_1860_ = v_isSharedCheck_1868_;
goto v_resetjp_1858_;
}
else
{
lean_inc(v_val_1857_);
lean_dec(v_value_1853_);
v___x_1859_ = lean_box(0);
v_isShared_1860_ = v_isSharedCheck_1868_;
goto v_resetjp_1858_;
}
v_resetjp_1858_:
{
lean_object* v___x_1862_; 
if (v_isShared_1860_ == 0)
{
v___x_1862_ = v___x_1859_;
goto v_reusejp_1861_;
}
else
{
lean_object* v_reuseFailAlloc_1867_; 
v_reuseFailAlloc_1867_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1867_, 0, v_val_1857_);
v___x_1862_ = v_reuseFailAlloc_1867_;
goto v_reusejp_1861_;
}
v_reusejp_1861_:
{
lean_object* v___x_1864_; 
if (v_isShared_1856_ == 0)
{
lean_ctor_set_tag(v___x_1855_, 1);
lean_ctor_set(v___x_1855_, 0, v___x_1862_);
v___x_1864_ = v___x_1855_;
goto v_reusejp_1863_;
}
else
{
lean_object* v_reuseFailAlloc_1866_; 
v_reuseFailAlloc_1866_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1866_, 0, v___x_1862_);
v___x_1864_ = v_reuseFailAlloc_1866_;
goto v_reusejp_1863_;
}
v_reusejp_1863_:
{
lean_object* v___x_1865_; 
v___x_1865_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1865_, 0, v___x_1864_);
return v___x_1865_;
}
}
}
}
else
{
lean_object* v___x_1869_; lean_object* v___x_1871_; 
lean_dec_ref(v_value_1853_);
v___x_1869_ = lean_box(0);
if (v_isShared_1856_ == 0)
{
lean_ctor_set(v___x_1855_, 0, v___x_1869_);
v___x_1871_ = v___x_1855_;
goto v_reusejp_1870_;
}
else
{
lean_object* v_reuseFailAlloc_1872_; 
v_reuseFailAlloc_1872_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1872_, 0, v___x_1869_);
v___x_1871_ = v_reuseFailAlloc_1872_;
goto v_reusejp_1870_;
}
v_reusejp_1870_:
{
return v___x_1871_;
}
}
}
}
case 5:
{
lean_object* v_i_1874_; lean_object* v_args_1875_; lean_object* v_cidx_1876_; lean_object* v_usize_1877_; lean_object* v_ssize_1878_; uint8_t v___y_1880_; lean_object* v___x_1915_; uint8_t v___x_1916_; 
v_i_1874_ = lean_ctor_get(v_e_1761_, 0);
lean_inc_ref(v_i_1874_);
v_args_1875_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_1875_);
lean_dec_ref(v_e_1761_);
v_cidx_1876_ = lean_ctor_get(v_i_1874_, 1);
lean_inc(v_cidx_1876_);
v_usize_1877_ = lean_ctor_get(v_i_1874_, 3);
lean_inc(v_usize_1877_);
v_ssize_1878_ = lean_ctor_get(v_i_1874_, 4);
lean_inc(v_ssize_1878_);
lean_dec_ref(v_i_1874_);
v___x_1915_ = lean_unsigned_to_nat(0u);
v___x_1916_ = lean_nat_dec_eq(v_usize_1877_, v___x_1915_);
lean_dec(v_usize_1877_);
if (v___x_1916_ == 0)
{
lean_dec(v_ssize_1878_);
v___y_1880_ = v___x_1916_;
goto v___jp_1879_;
}
else
{
uint8_t v___x_1917_; 
v___x_1917_ = lean_nat_dec_eq(v_ssize_1878_, v___x_1915_);
lean_dec(v_ssize_1878_);
v___y_1880_ = v___x_1917_;
goto v___jp_1879_;
}
v___jp_1879_:
{
if (v___y_1880_ == 0)
{
lean_dec(v_cidx_1876_);
lean_dec_ref(v_args_1875_);
goto v___jp_1771_;
}
else
{
lean_object* v___x_1881_; lean_object* v___x_1882_; uint8_t v___x_1883_; 
v___x_1881_ = lean_array_get_size(v_args_1875_);
v___x_1882_ = lean_unsigned_to_nat(0u);
v___x_1883_ = lean_nat_dec_eq(v___x_1881_, v___x_1882_);
if (v___x_1883_ == 0)
{
lean_object* v___x_1884_; 
v___x_1884_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(v_args_1875_, v_a_1762_, v_a_1763_, v_a_1764_, v_a_1765_, v_a_1766_);
if (lean_obj_tag(v___x_1884_) == 0)
{
lean_object* v_a_1885_; lean_object* v___x_1887_; uint8_t v_isShared_1888_; uint8_t v_isSharedCheck_1906_; 
v_a_1885_ = lean_ctor_get(v___x_1884_, 0);
v_isSharedCheck_1906_ = !lean_is_exclusive(v___x_1884_);
if (v_isSharedCheck_1906_ == 0)
{
v___x_1887_ = v___x_1884_;
v_isShared_1888_ = v_isSharedCheck_1906_;
goto v_resetjp_1886_;
}
else
{
lean_inc(v_a_1885_);
lean_dec(v___x_1884_);
v___x_1887_ = lean_box(0);
v_isShared_1888_ = v_isSharedCheck_1906_;
goto v_resetjp_1886_;
}
v_resetjp_1886_:
{
if (lean_obj_tag(v_a_1885_) == 0)
{
lean_object* v___x_1889_; lean_object* v___x_1891_; 
lean_dec(v_cidx_1876_);
v___x_1889_ = lean_box(0);
if (v_isShared_1888_ == 0)
{
lean_ctor_set(v___x_1887_, 0, v___x_1889_);
v___x_1891_ = v___x_1887_;
goto v_reusejp_1890_;
}
else
{
lean_object* v_reuseFailAlloc_1892_; 
v_reuseFailAlloc_1892_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1892_, 0, v___x_1889_);
v___x_1891_ = v_reuseFailAlloc_1892_;
goto v_reusejp_1890_;
}
v_reusejp_1890_:
{
return v___x_1891_;
}
}
else
{
lean_object* v_val_1893_; lean_object* v___x_1895_; uint8_t v_isShared_1896_; uint8_t v_isSharedCheck_1905_; 
v_val_1893_ = lean_ctor_get(v_a_1885_, 0);
v_isSharedCheck_1905_ = !lean_is_exclusive(v_a_1885_);
if (v_isSharedCheck_1905_ == 0)
{
v___x_1895_ = v_a_1885_;
v_isShared_1896_ = v_isSharedCheck_1905_;
goto v_resetjp_1894_;
}
else
{
lean_inc(v_val_1893_);
lean_dec(v_a_1885_);
v___x_1895_ = lean_box(0);
v_isShared_1896_ = v_isSharedCheck_1905_;
goto v_resetjp_1894_;
}
v_resetjp_1894_:
{
lean_object* v___x_1897_; lean_object* v___x_1898_; lean_object* v___x_1900_; 
v___x_1897_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3));
v___x_1898_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_1898_, 0, v_cidx_1876_);
lean_ctor_set(v___x_1898_, 1, v_val_1893_);
lean_ctor_set(v___x_1898_, 2, v___x_1897_);
lean_ctor_set(v___x_1898_, 3, v___x_1897_);
if (v_isShared_1896_ == 0)
{
lean_ctor_set(v___x_1895_, 0, v___x_1898_);
v___x_1900_ = v___x_1895_;
goto v_reusejp_1899_;
}
else
{
lean_object* v_reuseFailAlloc_1904_; 
v_reuseFailAlloc_1904_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1904_, 0, v___x_1898_);
v___x_1900_ = v_reuseFailAlloc_1904_;
goto v_reusejp_1899_;
}
v_reusejp_1899_:
{
lean_object* v___x_1902_; 
if (v_isShared_1888_ == 0)
{
lean_ctor_set(v___x_1887_, 0, v___x_1900_);
v___x_1902_ = v___x_1887_;
goto v_reusejp_1901_;
}
else
{
lean_object* v_reuseFailAlloc_1903_; 
v_reuseFailAlloc_1903_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1903_, 0, v___x_1900_);
v___x_1902_ = v_reuseFailAlloc_1903_;
goto v_reusejp_1901_;
}
v_reusejp_1901_:
{
return v___x_1902_;
}
}
}
}
}
}
else
{
lean_object* v_a_1907_; lean_object* v___x_1909_; uint8_t v_isShared_1910_; uint8_t v_isSharedCheck_1914_; 
lean_dec(v_cidx_1876_);
v_a_1907_ = lean_ctor_get(v___x_1884_, 0);
v_isSharedCheck_1914_ = !lean_is_exclusive(v___x_1884_);
if (v_isSharedCheck_1914_ == 0)
{
v___x_1909_ = v___x_1884_;
v_isShared_1910_ = v_isSharedCheck_1914_;
goto v_resetjp_1908_;
}
else
{
lean_inc(v_a_1907_);
lean_dec(v___x_1884_);
v___x_1909_ = lean_box(0);
v_isShared_1910_ = v_isSharedCheck_1914_;
goto v_resetjp_1908_;
}
v_resetjp_1908_:
{
lean_object* v___x_1912_; 
if (v_isShared_1910_ == 0)
{
v___x_1912_ = v___x_1909_;
goto v_reusejp_1911_;
}
else
{
lean_object* v_reuseFailAlloc_1913_; 
v_reuseFailAlloc_1913_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1913_, 0, v_a_1907_);
v___x_1912_ = v_reuseFailAlloc_1913_;
goto v_reusejp_1911_;
}
v_reusejp_1911_:
{
return v___x_1912_;
}
}
}
}
else
{
lean_dec(v_cidx_1876_);
lean_dec_ref(v_args_1875_);
goto v___jp_1771_;
}
}
}
}
case 9:
{
lean_object* v_fn_1918_; 
v_fn_1918_ = lean_ctor_get(v_e_1761_, 0);
lean_inc(v_fn_1918_);
if (lean_obj_tag(v_fn_1918_) == 1)
{
lean_object* v_pre_1919_; 
v_pre_1919_ = lean_ctor_get(v_fn_1918_, 0);
if (lean_obj_tag(v_pre_1919_) == 1)
{
lean_object* v_pre_1920_; 
v_pre_1920_ = lean_ctor_get(v_pre_1919_, 0);
switch(lean_obj_tag(v_pre_1920_))
{
case 1:
{
lean_object* v_pre_1921_; 
v_pre_1921_ = lean_ctor_get(v_pre_1920_, 0);
switch(lean_obj_tag(v_pre_1921_))
{
case 1:
{
lean_object* v_pre_1922_; 
v_pre_1922_ = lean_ctor_get(v_pre_1921_, 0);
if (lean_obj_tag(v_pre_1922_) == 0)
{
lean_object* v_args_1923_; lean_object* v_str_1924_; lean_object* v_str_1925_; lean_object* v_str_1926_; lean_object* v_str_1927_; lean_object* v___x_1928_; uint8_t v___x_1929_; 
v_args_1923_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_1923_);
lean_dec_ref(v_e_1761_);
v_str_1924_ = lean_ctor_get(v_fn_1918_, 1);
v_str_1925_ = lean_ctor_get(v_pre_1919_, 1);
v_str_1926_ = lean_ctor_get(v_pre_1920_, 1);
v_str_1927_ = lean_ctor_get(v_pre_1921_, 1);
v___x_1928_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4));
v___x_1929_ = lean_string_dec_eq(v_str_1927_, v___x_1928_);
if (v___x_1929_ == 0)
{
lean_object* v___x_1930_; lean_object* v___x_1931_; uint8_t v___x_1932_; 
v___x_1930_ = lean_array_get_size(v_args_1923_);
lean_dec_ref(v_args_1923_);
v___x_1931_ = lean_unsigned_to_nat(0u);
v___x_1932_ = lean_nat_dec_eq(v___x_1930_, v___x_1931_);
if (v___x_1932_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_1933_; uint8_t v___x_1934_; 
lean_inc_ref(v_str_1926_);
lean_inc_ref(v_str_1925_);
lean_inc_ref(v_str_1924_);
lean_inc(v_pre_1922_);
lean_dec_ref(v_fn_1918_);
v___x_1933_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__5));
v___x_1934_ = lean_string_dec_eq(v_str_1926_, v___x_1933_);
if (v___x_1934_ == 0)
{
lean_object* v___x_1935_; lean_object* v___x_1936_; uint8_t v___x_1937_; 
v___x_1935_ = lean_array_get_size(v_args_1923_);
lean_dec_ref(v_args_1923_);
v___x_1936_ = lean_unsigned_to_nat(0u);
v___x_1937_ = lean_nat_dec_eq(v___x_1935_, v___x_1936_);
if (v___x_1937_ == 0)
{
lean_dec_ref(v_str_1926_);
lean_dec_ref(v_str_1925_);
lean_dec_ref(v_str_1924_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_1938_; lean_object* v___x_1939_; lean_object* v___x_1940_; lean_object* v___x_1941_; 
v___x_1938_ = l_Lean_Name_str___override(v_pre_1922_, v___x_1928_);
v___x_1939_ = l_Lean_Name_str___override(v___x_1938_, v_str_1926_);
v___x_1940_ = l_Lean_Name_str___override(v___x_1939_, v_str_1925_);
v___x_1941_ = l_Lean_Name_str___override(v___x_1940_, v_str_1924_);
v_c_1778_ = v___x_1941_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_1942_; uint8_t v___x_1943_; 
lean_dec_ref(v_str_1926_);
v___x_1942_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__6));
v___x_1943_ = lean_string_dec_eq(v_str_1925_, v___x_1942_);
if (v___x_1943_ == 0)
{
lean_object* v___x_1944_; uint8_t v___x_1945_; 
v___x_1944_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__7));
v___x_1945_ = lean_string_dec_eq(v_str_1925_, v___x_1944_);
if (v___x_1945_ == 0)
{
lean_object* v___x_1946_; lean_object* v___x_1947_; uint8_t v___x_1948_; 
v___x_1946_ = lean_array_get_size(v_args_1923_);
lean_dec_ref(v_args_1923_);
v___x_1947_ = lean_unsigned_to_nat(0u);
v___x_1948_ = lean_nat_dec_eq(v___x_1946_, v___x_1947_);
if (v___x_1948_ == 0)
{
lean_dec_ref(v_str_1925_);
lean_dec_ref(v_str_1924_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_1949_; lean_object* v___x_1950_; lean_object* v___x_1951_; lean_object* v___x_1952_; 
v___x_1949_ = l_Lean_Name_str___override(v_pre_1922_, v___x_1928_);
v___x_1950_ = l_Lean_Name_str___override(v___x_1949_, v___x_1933_);
v___x_1951_ = l_Lean_Name_str___override(v___x_1950_, v_str_1925_);
v___x_1952_ = l_Lean_Name_str___override(v___x_1951_, v_str_1924_);
v_c_1778_ = v___x_1952_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_1953_; uint8_t v___x_1954_; 
lean_dec_ref(v_str_1925_);
v___x_1953_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__8));
v___x_1954_ = lean_string_dec_eq(v_str_1924_, v___x_1953_);
if (v___x_1954_ == 0)
{
lean_object* v___x_1955_; lean_object* v___x_1956_; uint8_t v___x_1957_; 
v___x_1955_ = lean_array_get_size(v_args_1923_);
lean_dec_ref(v_args_1923_);
v___x_1956_ = lean_unsigned_to_nat(0u);
v___x_1957_ = lean_nat_dec_eq(v___x_1955_, v___x_1956_);
if (v___x_1957_ == 0)
{
lean_dec_ref(v_str_1924_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_1958_; lean_object* v___x_1959_; lean_object* v___x_1960_; lean_object* v___x_1961_; 
v___x_1958_ = l_Lean_Name_str___override(v_pre_1922_, v___x_1928_);
v___x_1959_ = l_Lean_Name_str___override(v___x_1958_, v___x_1933_);
v___x_1960_ = l_Lean_Name_str___override(v___x_1959_, v___x_1944_);
v___x_1961_ = l_Lean_Name_str___override(v___x_1960_, v_str_1924_);
v_c_1778_ = v___x_1961_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_1962_; lean_object* v___x_1963_; lean_object* v___x_1964_; lean_object* v___x_1965_; lean_object* v_a_1966_; lean_object* v___x_1968_; uint8_t v_isShared_1969_; uint8_t v_isSharedCheck_2038_; 
lean_dec_ref(v_str_1924_);
v___x_1962_ = lean_box(0);
v___x_1963_ = lean_unsigned_to_nat(0u);
v___x_1964_ = lean_array_get_borrowed(v___x_1962_, v_args_1923_, v___x_1963_);
lean_inc(v___x_1964_);
v___x_1965_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v___x_1964_, v_a_1762_);
v_a_1966_ = lean_ctor_get(v___x_1965_, 0);
v_isSharedCheck_2038_ = !lean_is_exclusive(v___x_1965_);
if (v_isSharedCheck_2038_ == 0)
{
v___x_1968_ = v___x_1965_;
v_isShared_1969_ = v_isSharedCheck_2038_;
goto v_resetjp_1967_;
}
else
{
lean_inc(v_a_1966_);
lean_dec(v___x_1965_);
v___x_1968_ = lean_box(0);
v_isShared_1969_ = v_isSharedCheck_2038_;
goto v_resetjp_1967_;
}
v_resetjp_1967_:
{
if (lean_obj_tag(v_a_1966_) == 0)
{
lean_object* v___x_1970_; lean_object* v___x_1972_; 
lean_dec_ref(v_args_1923_);
v___x_1970_ = lean_box(0);
if (v_isShared_1969_ == 0)
{
lean_ctor_set(v___x_1968_, 0, v___x_1970_);
v___x_1972_ = v___x_1968_;
goto v_reusejp_1971_;
}
else
{
lean_object* v_reuseFailAlloc_1973_; 
v_reuseFailAlloc_1973_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1973_, 0, v___x_1970_);
v___x_1972_ = v_reuseFailAlloc_1973_;
goto v_reusejp_1971_;
}
v_reusejp_1971_:
{
return v___x_1972_;
}
}
else
{
lean_object* v_val_1974_; lean_object* v___x_1976_; uint8_t v_isShared_1977_; uint8_t v_isSharedCheck_2037_; 
lean_del_object(v___x_1968_);
v_val_1974_ = lean_ctor_get(v_a_1966_, 0);
v_isSharedCheck_2037_ = !lean_is_exclusive(v_a_1966_);
if (v_isSharedCheck_2037_ == 0)
{
v___x_1976_ = v_a_1966_;
v_isShared_1977_ = v_isSharedCheck_2037_;
goto v_resetjp_1975_;
}
else
{
lean_inc(v_val_1974_);
lean_dec(v_a_1966_);
v___x_1976_ = lean_box(0);
v_isShared_1977_ = v_isSharedCheck_2037_;
goto v_resetjp_1975_;
}
v_resetjp_1975_:
{
lean_object* v___x_1978_; lean_object* v___x_1979_; lean_object* v___x_1980_; lean_object* v_a_1981_; lean_object* v___x_1983_; uint8_t v_isShared_1984_; uint8_t v_isSharedCheck_2036_; 
v___x_1978_ = lean_unsigned_to_nat(1u);
v___x_1979_ = lean_array_get(v___x_1962_, v_args_1923_, v___x_1978_);
lean_dec_ref(v_args_1923_);
v___x_1980_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileStrArg___redArg(v___x_1979_, v_a_1762_, v_a_1766_);
v_a_1981_ = lean_ctor_get(v___x_1980_, 0);
v_isSharedCheck_2036_ = !lean_is_exclusive(v___x_1980_);
if (v_isSharedCheck_2036_ == 0)
{
v___x_1983_ = v___x_1980_;
v_isShared_1984_ = v_isSharedCheck_2036_;
goto v_resetjp_1982_;
}
else
{
lean_inc(v_a_1981_);
lean_dec(v___x_1980_);
v___x_1983_ = lean_box(0);
v_isShared_1984_ = v_isSharedCheck_2036_;
goto v_resetjp_1982_;
}
v_resetjp_1982_:
{
if (lean_obj_tag(v_a_1981_) == 0)
{
lean_object* v___x_1985_; lean_object* v___x_1987_; 
lean_del_object(v___x_1976_);
lean_dec(v_val_1974_);
v___x_1985_ = lean_box(0);
if (v_isShared_1984_ == 0)
{
lean_ctor_set(v___x_1983_, 0, v___x_1985_);
v___x_1987_ = v___x_1983_;
goto v_reusejp_1986_;
}
else
{
lean_object* v_reuseFailAlloc_1988_; 
v_reuseFailAlloc_1988_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1988_, 0, v___x_1985_);
v___x_1987_ = v_reuseFailAlloc_1988_;
goto v_reusejp_1986_;
}
v_reusejp_1986_:
{
return v___x_1987_;
}
}
else
{
lean_object* v_val_1989_; lean_object* v___x_1991_; uint8_t v_isShared_1992_; uint8_t v_isSharedCheck_2035_; 
v_val_1989_ = lean_ctor_get(v_a_1981_, 0);
v_isSharedCheck_2035_ = !lean_is_exclusive(v_a_1981_);
if (v_isSharedCheck_2035_ == 0)
{
v___x_1991_ = v_a_1981_;
v_isShared_1992_ = v_isSharedCheck_2035_;
goto v_resetjp_1990_;
}
else
{
lean_inc(v_val_1989_);
lean_dec(v_a_1981_);
v___x_1991_ = lean_box(0);
v_isShared_1992_ = v_isSharedCheck_2035_;
goto v_resetjp_1990_;
}
v_resetjp_1990_:
{
lean_object* v_fst_1993_; lean_object* v_snd_1994_; lean_object* v___x_1995_; 
v_fst_1993_ = lean_ctor_get(v_val_1989_, 0);
lean_inc(v_fst_1993_);
v_snd_1994_ = lean_ctor_get(v_val_1989_, 1);
lean_inc(v_snd_1994_);
lean_dec(v_val_1989_);
lean_inc(v_val_1974_);
v___x_1995_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(v_val_1974_, v_a_1762_, v_a_1763_, v_a_1764_, v_a_1765_, v_a_1766_);
if (lean_obj_tag(v___x_1995_) == 0)
{
lean_object* v_a_1996_; lean_object* v___x_1998_; uint8_t v_isShared_1999_; uint8_t v_isSharedCheck_2026_; 
v_a_1996_ = lean_ctor_get(v___x_1995_, 0);
v_isSharedCheck_2026_ = !lean_is_exclusive(v___x_1995_);
if (v_isSharedCheck_2026_ == 0)
{
v___x_1998_ = v___x_1995_;
v_isShared_1999_ = v_isSharedCheck_2026_;
goto v_resetjp_1997_;
}
else
{
lean_inc(v_a_1996_);
lean_dec(v___x_1995_);
v___x_1998_ = lean_box(0);
v_isShared_1999_ = v_isSharedCheck_2026_;
goto v_resetjp_1997_;
}
v_resetjp_1997_:
{
uint64_t v___y_2001_; 
if (lean_obj_tag(v_a_1996_) == 0)
{
lean_object* v___x_2018_; lean_object* v___x_2020_; 
lean_del_object(v___x_1998_);
lean_dec(v_snd_1994_);
lean_dec(v_fst_1993_);
lean_del_object(v___x_1991_);
lean_del_object(v___x_1976_);
lean_dec(v_val_1974_);
v___x_2018_ = lean_box(0);
if (v_isShared_1984_ == 0)
{
lean_ctor_set(v___x_1983_, 0, v___x_2018_);
v___x_2020_ = v___x_1983_;
goto v_reusejp_2019_;
}
else
{
lean_object* v_reuseFailAlloc_2021_; 
v_reuseFailAlloc_2021_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2021_, 0, v___x_2018_);
v___x_2020_ = v_reuseFailAlloc_2021_;
goto v_reusejp_2019_;
}
v_reusejp_2019_:
{
return v___x_2020_;
}
}
else
{
lean_object* v_val_2022_; lean_object* v___x_2023_; 
lean_del_object(v___x_1983_);
v_val_2022_ = lean_ctor_get(v_a_1996_, 0);
lean_inc(v_val_2022_);
lean_dec_ref(v_a_1996_);
v___x_2023_ = l_Lean_Name_str___override(v_val_2022_, v_snd_1994_);
if (lean_obj_tag(v___x_2023_) == 0)
{
uint64_t v___x_2024_; 
v___x_2024_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_2001_ = v___x_2024_;
goto v___jp_2000_;
}
else
{
uint64_t v_hash_2025_; 
v_hash_2025_ = lean_ctor_get_uint64(v___x_2023_, sizeof(void*)*2);
lean_dec(v___x_2023_);
v___y_2001_ = v_hash_2025_;
goto v___jp_2000_;
}
}
v___jp_2000_:
{
lean_object* v___x_2003_; 
if (v_isShared_1977_ == 0)
{
lean_ctor_set(v___x_1976_, 0, v_fst_1993_);
v___x_2003_ = v___x_1976_;
goto v_reusejp_2002_;
}
else
{
lean_object* v_reuseFailAlloc_2017_; 
v_reuseFailAlloc_2017_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2017_, 0, v_fst_1993_);
v___x_2003_ = v_reuseFailAlloc_2017_;
goto v_reusejp_2002_;
}
v_reusejp_2002_:
{
lean_object* v___x_2004_; lean_object* v___x_2005_; lean_object* v___x_2006_; lean_object* v___x_2007_; lean_object* v___x_2008_; lean_object* v___x_2009_; lean_object* v___x_2010_; lean_object* v___x_2012_; 
v___x_2004_ = lean_unsigned_to_nat(2u);
v___x_2005_ = lean_mk_empty_array_with_capacity(v___x_2004_);
v___x_2006_ = lean_array_push(v___x_2005_, v_val_1974_);
v___x_2007_ = lean_array_push(v___x_2006_, v___x_2003_);
v___x_2008_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3));
v___x_2009_ = l_Lean_Compiler_LCNF_uint64ToByteArrayLE(v___y_2001_);
v___x_2010_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2010_, 0, v___x_1978_);
lean_ctor_set(v___x_2010_, 1, v___x_2007_);
lean_ctor_set(v___x_2010_, 2, v___x_2008_);
lean_ctor_set(v___x_2010_, 3, v___x_2009_);
if (v_isShared_1992_ == 0)
{
lean_ctor_set(v___x_1991_, 0, v___x_2010_);
v___x_2012_ = v___x_1991_;
goto v_reusejp_2011_;
}
else
{
lean_object* v_reuseFailAlloc_2016_; 
v_reuseFailAlloc_2016_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2016_, 0, v___x_2010_);
v___x_2012_ = v_reuseFailAlloc_2016_;
goto v_reusejp_2011_;
}
v_reusejp_2011_:
{
lean_object* v___x_2014_; 
if (v_isShared_1999_ == 0)
{
lean_ctor_set(v___x_1998_, 0, v___x_2012_);
v___x_2014_ = v___x_1998_;
goto v_reusejp_2013_;
}
else
{
lean_object* v_reuseFailAlloc_2015_; 
v_reuseFailAlloc_2015_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2015_, 0, v___x_2012_);
v___x_2014_ = v_reuseFailAlloc_2015_;
goto v_reusejp_2013_;
}
v_reusejp_2013_:
{
return v___x_2014_;
}
}
}
}
}
}
else
{
lean_object* v_a_2027_; lean_object* v___x_2029_; uint8_t v_isShared_2030_; uint8_t v_isSharedCheck_2034_; 
lean_dec(v_snd_1994_);
lean_dec(v_fst_1993_);
lean_del_object(v___x_1991_);
lean_del_object(v___x_1983_);
lean_del_object(v___x_1976_);
lean_dec(v_val_1974_);
v_a_2027_ = lean_ctor_get(v___x_1995_, 0);
v_isSharedCheck_2034_ = !lean_is_exclusive(v___x_1995_);
if (v_isSharedCheck_2034_ == 0)
{
v___x_2029_ = v___x_1995_;
v_isShared_2030_ = v_isSharedCheck_2034_;
goto v_resetjp_2028_;
}
else
{
lean_inc(v_a_2027_);
lean_dec(v___x_1995_);
v___x_2029_ = lean_box(0);
v_isShared_2030_ = v_isSharedCheck_2034_;
goto v_resetjp_2028_;
}
v_resetjp_2028_:
{
lean_object* v___x_2032_; 
if (v_isShared_2030_ == 0)
{
v___x_2032_ = v___x_2029_;
goto v_reusejp_2031_;
}
else
{
lean_object* v_reuseFailAlloc_2033_; 
v_reuseFailAlloc_2033_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2033_, 0, v_a_2027_);
v___x_2032_ = v_reuseFailAlloc_2033_;
goto v_reusejp_2031_;
}
v_reusejp_2031_:
{
return v___x_2032_;
}
}
}
}
}
}
}
}
}
}
}
}
else
{
lean_object* v___x_2039_; uint8_t v___x_2040_; 
lean_dec_ref(v_str_1925_);
v___x_2039_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__8));
v___x_2040_ = lean_string_dec_eq(v_str_1924_, v___x_2039_);
if (v___x_2040_ == 0)
{
lean_object* v___x_2041_; lean_object* v___x_2042_; uint8_t v___x_2043_; 
v___x_2041_ = lean_array_get_size(v_args_1923_);
lean_dec_ref(v_args_1923_);
v___x_2042_ = lean_unsigned_to_nat(0u);
v___x_2043_ = lean_nat_dec_eq(v___x_2041_, v___x_2042_);
if (v___x_2043_ == 0)
{
lean_dec_ref(v_str_1924_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_2044_; lean_object* v___x_2045_; lean_object* v___x_2046_; lean_object* v___x_2047_; 
v___x_2044_ = l_Lean_Name_str___override(v_pre_1922_, v___x_1928_);
v___x_2045_ = l_Lean_Name_str___override(v___x_2044_, v___x_1933_);
v___x_2046_ = l_Lean_Name_str___override(v___x_2045_, v___x_1942_);
v___x_2047_ = l_Lean_Name_str___override(v___x_2046_, v_str_1924_);
v_c_1778_ = v___x_2047_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2048_; lean_object* v___x_2049_; lean_object* v___x_2050_; lean_object* v___x_2051_; lean_object* v_a_2052_; lean_object* v___x_2054_; uint8_t v_isShared_2055_; uint8_t v_isSharedCheck_2120_; 
lean_dec_ref(v_str_1924_);
v___x_2048_ = lean_box(0);
v___x_2049_ = lean_unsigned_to_nat(0u);
v___x_2050_ = lean_array_get_borrowed(v___x_2048_, v_args_1923_, v___x_2049_);
lean_inc(v___x_2050_);
v___x_2051_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v___x_2050_, v_a_1762_);
v_a_2052_ = lean_ctor_get(v___x_2051_, 0);
v_isSharedCheck_2120_ = !lean_is_exclusive(v___x_2051_);
if (v_isSharedCheck_2120_ == 0)
{
v___x_2054_ = v___x_2051_;
v_isShared_2055_ = v_isSharedCheck_2120_;
goto v_resetjp_2053_;
}
else
{
lean_inc(v_a_2052_);
lean_dec(v___x_2051_);
v___x_2054_ = lean_box(0);
v_isShared_2055_ = v_isSharedCheck_2120_;
goto v_resetjp_2053_;
}
v_resetjp_2053_:
{
if (lean_obj_tag(v_a_2052_) == 0)
{
lean_object* v___x_2056_; lean_object* v___x_2058_; 
lean_dec_ref(v_args_1923_);
v___x_2056_ = lean_box(0);
if (v_isShared_2055_ == 0)
{
lean_ctor_set(v___x_2054_, 0, v___x_2056_);
v___x_2058_ = v___x_2054_;
goto v_reusejp_2057_;
}
else
{
lean_object* v_reuseFailAlloc_2059_; 
v_reuseFailAlloc_2059_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2059_, 0, v___x_2056_);
v___x_2058_ = v_reuseFailAlloc_2059_;
goto v_reusejp_2057_;
}
v_reusejp_2057_:
{
return v___x_2058_;
}
}
else
{
lean_object* v_val_2060_; lean_object* v___x_2061_; lean_object* v___x_2062_; lean_object* v___x_2063_; lean_object* v_a_2064_; lean_object* v___x_2066_; uint8_t v_isShared_2067_; uint8_t v_isSharedCheck_2119_; 
lean_del_object(v___x_2054_);
v_val_2060_ = lean_ctor_get(v_a_2052_, 0);
lean_inc(v_val_2060_);
lean_dec_ref(v_a_2052_);
v___x_2061_ = lean_unsigned_to_nat(1u);
v___x_2062_ = lean_array_get(v___x_2048_, v_args_1923_, v___x_2061_);
lean_dec_ref(v_args_1923_);
v___x_2063_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArg___redArg(v___x_2062_, v_a_1762_);
v_a_2064_ = lean_ctor_get(v___x_2063_, 0);
v_isSharedCheck_2119_ = !lean_is_exclusive(v___x_2063_);
if (v_isSharedCheck_2119_ == 0)
{
v___x_2066_ = v___x_2063_;
v_isShared_2067_ = v_isSharedCheck_2119_;
goto v_resetjp_2065_;
}
else
{
lean_inc(v_a_2064_);
lean_dec(v___x_2063_);
v___x_2066_ = lean_box(0);
v_isShared_2067_ = v_isSharedCheck_2119_;
goto v_resetjp_2065_;
}
v_resetjp_2065_:
{
if (lean_obj_tag(v_a_2064_) == 0)
{
lean_object* v___x_2068_; lean_object* v___x_2070_; 
lean_dec(v_val_2060_);
v___x_2068_ = lean_box(0);
if (v_isShared_2067_ == 0)
{
lean_ctor_set(v___x_2066_, 0, v___x_2068_);
v___x_2070_ = v___x_2066_;
goto v_reusejp_2069_;
}
else
{
lean_object* v_reuseFailAlloc_2071_; 
v_reuseFailAlloc_2071_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2071_, 0, v___x_2068_);
v___x_2070_ = v_reuseFailAlloc_2071_;
goto v_reusejp_2069_;
}
v_reusejp_2069_:
{
return v___x_2070_;
}
}
else
{
lean_object* v_val_2072_; lean_object* v___x_2074_; uint8_t v_isShared_2075_; uint8_t v_isSharedCheck_2118_; 
v_val_2072_ = lean_ctor_get(v_a_2064_, 0);
v_isSharedCheck_2118_ = !lean_is_exclusive(v_a_2064_);
if (v_isSharedCheck_2118_ == 0)
{
v___x_2074_ = v_a_2064_;
v_isShared_2075_ = v_isSharedCheck_2118_;
goto v_resetjp_2073_;
}
else
{
lean_inc(v_val_2072_);
lean_dec(v_a_2064_);
v___x_2074_ = lean_box(0);
v_isShared_2075_ = v_isSharedCheck_2118_;
goto v_resetjp_2073_;
}
v_resetjp_2073_:
{
if (lean_obj_tag(v_val_2072_) == 0)
{
lean_object* v_val_2076_; lean_object* v___x_2077_; 
v_val_2076_ = lean_ctor_get(v_val_2072_, 0);
lean_inc(v_val_2060_);
v___x_2077_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_interpNameLiteral(v_val_2060_, v_a_1762_, v_a_1763_, v_a_1764_, v_a_1765_, v_a_1766_);
if (lean_obj_tag(v___x_2077_) == 0)
{
lean_object* v_a_2078_; lean_object* v___x_2080_; uint8_t v_isShared_2081_; uint8_t v_isSharedCheck_2105_; 
v_a_2078_ = lean_ctor_get(v___x_2077_, 0);
v_isSharedCheck_2105_ = !lean_is_exclusive(v___x_2077_);
if (v_isSharedCheck_2105_ == 0)
{
v___x_2080_ = v___x_2077_;
v_isShared_2081_ = v_isSharedCheck_2105_;
goto v_resetjp_2079_;
}
else
{
lean_inc(v_a_2078_);
lean_dec(v___x_2077_);
v___x_2080_ = lean_box(0);
v_isShared_2081_ = v_isSharedCheck_2105_;
goto v_resetjp_2079_;
}
v_resetjp_2079_:
{
uint64_t v___y_2083_; 
if (lean_obj_tag(v_a_2078_) == 0)
{
lean_object* v___x_2097_; lean_object* v___x_2099_; 
lean_del_object(v___x_2080_);
lean_dec_ref(v_val_2072_);
lean_del_object(v___x_2074_);
lean_dec(v_val_2060_);
v___x_2097_ = lean_box(0);
if (v_isShared_2067_ == 0)
{
lean_ctor_set(v___x_2066_, 0, v___x_2097_);
v___x_2099_ = v___x_2066_;
goto v_reusejp_2098_;
}
else
{
lean_object* v_reuseFailAlloc_2100_; 
v_reuseFailAlloc_2100_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2100_, 0, v___x_2097_);
v___x_2099_ = v_reuseFailAlloc_2100_;
goto v_reusejp_2098_;
}
v_reusejp_2098_:
{
return v___x_2099_;
}
}
else
{
lean_object* v_val_2101_; lean_object* v___x_2102_; 
lean_del_object(v___x_2066_);
v_val_2101_ = lean_ctor_get(v_a_2078_, 0);
lean_inc(v_val_2101_);
lean_dec_ref(v_a_2078_);
lean_inc(v_val_2076_);
v___x_2102_ = l_Lean_Name_num___override(v_val_2101_, v_val_2076_);
if (lean_obj_tag(v___x_2102_) == 0)
{
uint64_t v___x_2103_; 
v___x_2103_ = lean_uint64_once(&l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0, &l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0_once, _init_l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2__spec__0_spec__0_spec__3___redArg___closed__0);
v___y_2083_ = v___x_2103_;
goto v___jp_2082_;
}
else
{
uint64_t v_hash_2104_; 
v_hash_2104_ = lean_ctor_get_uint64(v___x_2102_, sizeof(void*)*2);
lean_dec(v___x_2102_);
v___y_2083_ = v_hash_2104_;
goto v___jp_2082_;
}
}
v___jp_2082_:
{
lean_object* v___x_2084_; lean_object* v___x_2085_; lean_object* v___x_2086_; lean_object* v___x_2087_; lean_object* v___x_2088_; lean_object* v___x_2089_; lean_object* v___x_2090_; lean_object* v___x_2092_; 
v___x_2084_ = lean_unsigned_to_nat(2u);
v___x_2085_ = lean_mk_empty_array_with_capacity(v___x_2084_);
v___x_2086_ = lean_array_push(v___x_2085_, v_val_2060_);
v___x_2087_ = lean_array_push(v___x_2086_, v_val_2072_);
v___x_2088_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__3));
v___x_2089_ = l_Lean_Compiler_LCNF_uint64ToByteArrayLE(v___y_2083_);
v___x_2090_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2090_, 0, v___x_2084_);
lean_ctor_set(v___x_2090_, 1, v___x_2087_);
lean_ctor_set(v___x_2090_, 2, v___x_2088_);
lean_ctor_set(v___x_2090_, 3, v___x_2089_);
if (v_isShared_2075_ == 0)
{
lean_ctor_set(v___x_2074_, 0, v___x_2090_);
v___x_2092_ = v___x_2074_;
goto v_reusejp_2091_;
}
else
{
lean_object* v_reuseFailAlloc_2096_; 
v_reuseFailAlloc_2096_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2096_, 0, v___x_2090_);
v___x_2092_ = v_reuseFailAlloc_2096_;
goto v_reusejp_2091_;
}
v_reusejp_2091_:
{
lean_object* v___x_2094_; 
if (v_isShared_2081_ == 0)
{
lean_ctor_set(v___x_2080_, 0, v___x_2092_);
v___x_2094_ = v___x_2080_;
goto v_reusejp_2093_;
}
else
{
lean_object* v_reuseFailAlloc_2095_; 
v_reuseFailAlloc_2095_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2095_, 0, v___x_2092_);
v___x_2094_ = v_reuseFailAlloc_2095_;
goto v_reusejp_2093_;
}
v_reusejp_2093_:
{
return v___x_2094_;
}
}
}
}
}
else
{
lean_object* v_a_2106_; lean_object* v___x_2108_; uint8_t v_isShared_2109_; uint8_t v_isSharedCheck_2113_; 
lean_dec_ref(v_val_2072_);
lean_del_object(v___x_2074_);
lean_del_object(v___x_2066_);
lean_dec(v_val_2060_);
v_a_2106_ = lean_ctor_get(v___x_2077_, 0);
v_isSharedCheck_2113_ = !lean_is_exclusive(v___x_2077_);
if (v_isSharedCheck_2113_ == 0)
{
v___x_2108_ = v___x_2077_;
v_isShared_2109_ = v_isSharedCheck_2113_;
goto v_resetjp_2107_;
}
else
{
lean_inc(v_a_2106_);
lean_dec(v___x_2077_);
v___x_2108_ = lean_box(0);
v_isShared_2109_ = v_isSharedCheck_2113_;
goto v_resetjp_2107_;
}
v_resetjp_2107_:
{
lean_object* v___x_2111_; 
if (v_isShared_2109_ == 0)
{
v___x_2111_ = v___x_2108_;
goto v_reusejp_2110_;
}
else
{
lean_object* v_reuseFailAlloc_2112_; 
v_reuseFailAlloc_2112_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2112_, 0, v_a_2106_);
v___x_2111_ = v_reuseFailAlloc_2112_;
goto v_reusejp_2110_;
}
v_reusejp_2110_:
{
return v___x_2111_;
}
}
}
}
else
{
lean_object* v___x_2114_; lean_object* v___x_2116_; 
lean_del_object(v___x_2074_);
lean_dec(v_val_2072_);
lean_dec(v_val_2060_);
v___x_2114_ = lean_box(0);
if (v_isShared_2067_ == 0)
{
lean_ctor_set(v___x_2066_, 0, v___x_2114_);
v___x_2116_ = v___x_2066_;
goto v_reusejp_2115_;
}
else
{
lean_object* v_reuseFailAlloc_2117_; 
v_reuseFailAlloc_2117_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2117_, 0, v___x_2114_);
v___x_2116_ = v_reuseFailAlloc_2117_;
goto v_reusejp_2115_;
}
v_reusejp_2115_:
{
return v___x_2116_;
}
}
}
}
}
}
}
}
}
}
}
}
else
{
lean_object* v_args_2121_; lean_object* v___x_2122_; lean_object* v___x_2123_; uint8_t v___x_2124_; 
v_args_2121_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2121_);
lean_dec_ref(v_e_1761_);
v___x_2122_ = lean_array_get_size(v_args_2121_);
lean_dec_ref(v_args_2121_);
v___x_2123_ = lean_unsigned_to_nat(0u);
v___x_2124_ = lean_nat_dec_eq(v___x_2122_, v___x_2123_);
if (v___x_2124_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
}
case 0:
{
lean_object* v_args_2125_; lean_object* v_str_2126_; lean_object* v_str_2127_; lean_object* v_str_2128_; lean_object* v___x_2129_; uint8_t v___x_2130_; 
v_args_2125_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2125_);
lean_dec_ref(v_e_1761_);
v_str_2126_ = lean_ctor_get(v_fn_1918_, 1);
v_str_2127_ = lean_ctor_get(v_pre_1919_, 1);
v_str_2128_ = lean_ctor_get(v_pre_1920_, 1);
v___x_2129_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__4));
v___x_2130_ = lean_string_dec_eq(v_str_2128_, v___x_2129_);
if (v___x_2130_ == 0)
{
lean_object* v___x_2131_; lean_object* v___x_2132_; uint8_t v___x_2133_; 
v___x_2131_ = lean_array_get_size(v_args_2125_);
lean_dec_ref(v_args_2125_);
v___x_2132_ = lean_unsigned_to_nat(0u);
v___x_2133_ = lean_nat_dec_eq(v___x_2131_, v___x_2132_);
if (v___x_2133_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2134_; uint8_t v___x_2135_; 
lean_inc_ref(v_str_2127_);
lean_inc_ref(v_str_2126_);
lean_inc(v_pre_1921_);
lean_dec_ref(v_fn_1918_);
v___x_2134_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__5));
v___x_2135_ = lean_string_dec_eq(v_str_2127_, v___x_2134_);
if (v___x_2135_ == 0)
{
lean_object* v___x_2136_; lean_object* v___x_2137_; uint8_t v___x_2138_; 
v___x_2136_ = lean_array_get_size(v_args_2125_);
lean_dec_ref(v_args_2125_);
v___x_2137_ = lean_unsigned_to_nat(0u);
v___x_2138_ = lean_nat_dec_eq(v___x_2136_, v___x_2137_);
if (v___x_2138_ == 0)
{
lean_dec_ref(v_str_2127_);
lean_dec_ref(v_str_2126_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_2139_; lean_object* v___x_2140_; lean_object* v___x_2141_; 
v___x_2139_ = l_Lean_Name_str___override(v_pre_1921_, v___x_2129_);
v___x_2140_ = l_Lean_Name_str___override(v___x_2139_, v_str_2127_);
v___x_2141_ = l_Lean_Name_str___override(v___x_2140_, v_str_2126_);
v_c_1778_ = v___x_2141_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2142_; uint8_t v___x_2143_; 
lean_dec_ref(v_str_2127_);
v___x_2142_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__9));
v___x_2143_ = lean_string_dec_eq(v_str_2126_, v___x_2142_);
if (v___x_2143_ == 0)
{
lean_object* v___x_2144_; uint8_t v___x_2145_; 
v___x_2144_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__10));
v___x_2145_ = lean_string_dec_eq(v_str_2126_, v___x_2144_);
if (v___x_2145_ == 0)
{
lean_object* v___x_2146_; uint8_t v___x_2147_; 
v___x_2146_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__11));
v___x_2147_ = lean_string_dec_eq(v_str_2126_, v___x_2146_);
if (v___x_2147_ == 0)
{
lean_object* v___x_2148_; uint8_t v___x_2149_; 
v___x_2148_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__12));
v___x_2149_ = lean_string_dec_eq(v_str_2126_, v___x_2148_);
if (v___x_2149_ == 0)
{
lean_object* v___x_2150_; uint8_t v___x_2151_; 
v___x_2150_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__13));
v___x_2151_ = lean_string_dec_eq(v_str_2126_, v___x_2150_);
if (v___x_2151_ == 0)
{
lean_object* v___x_2152_; uint8_t v___x_2153_; 
v___x_2152_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__14));
v___x_2153_ = lean_string_dec_eq(v_str_2126_, v___x_2152_);
if (v___x_2153_ == 0)
{
lean_object* v___x_2154_; uint8_t v___x_2155_; 
v___x_2154_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__15));
v___x_2155_ = lean_string_dec_eq(v_str_2126_, v___x_2154_);
if (v___x_2155_ == 0)
{
lean_object* v___x_2156_; uint8_t v___x_2157_; 
v___x_2156_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__16));
v___x_2157_ = lean_string_dec_eq(v_str_2126_, v___x_2156_);
if (v___x_2157_ == 0)
{
lean_object* v___x_2158_; lean_object* v___x_2159_; uint8_t v___x_2160_; 
v___x_2158_ = lean_array_get_size(v_args_2125_);
lean_dec_ref(v_args_2125_);
v___x_2159_ = lean_unsigned_to_nat(0u);
v___x_2160_ = lean_nat_dec_eq(v___x_2158_, v___x_2159_);
if (v___x_2160_ == 0)
{
lean_dec_ref(v_str_2126_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_2161_; lean_object* v___x_2162_; lean_object* v___x_2163_; 
v___x_2161_ = l_Lean_Name_str___override(v_pre_1921_, v___x_2129_);
v___x_2162_ = l_Lean_Name_str___override(v___x_2161_, v___x_2134_);
v___x_2163_ = l_Lean_Name_str___override(v___x_2162_, v_str_2126_);
v_c_1778_ = v___x_2163_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
else
{
lean_dec_ref(v_str_2126_);
v_args_1789_ = v_args_2125_;
v___y_1790_ = v_a_1762_;
v___y_1791_ = v_a_1763_;
v___y_1792_ = v_a_1764_;
v___y_1793_ = v_a_1765_;
v___y_1794_ = v_a_1766_;
goto v___jp_1788_;
}
}
}
}
default: 
{
lean_object* v_args_2164_; lean_object* v___x_2165_; lean_object* v___x_2166_; uint8_t v___x_2167_; 
v_args_2164_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2164_);
lean_dec_ref(v_e_1761_);
v___x_2165_ = lean_array_get_size(v_args_2164_);
lean_dec_ref(v_args_2164_);
v___x_2166_ = lean_unsigned_to_nat(0u);
v___x_2167_ = lean_nat_dec_eq(v___x_2165_, v___x_2166_);
if (v___x_2167_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
}
}
case 0:
{
lean_object* v_args_2168_; lean_object* v_str_2169_; lean_object* v_str_2170_; lean_object* v___x_2171_; uint8_t v___x_2172_; 
v_args_2168_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2168_);
lean_dec_ref(v_e_1761_);
v_str_2169_ = lean_ctor_get(v_fn_1918_, 1);
v_str_2170_ = lean_ctor_get(v_pre_1919_, 1);
v___x_2171_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17));
v___x_2172_ = lean_string_dec_eq(v_str_2170_, v___x_2171_);
if (v___x_2172_ == 0)
{
lean_object* v___x_2173_; uint8_t v___x_2174_; 
v___x_2173_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__18));
v___x_2174_ = lean_string_dec_eq(v_str_2170_, v___x_2173_);
if (v___x_2174_ == 0)
{
lean_object* v___x_2175_; lean_object* v___x_2176_; uint8_t v___x_2177_; 
v___x_2175_ = lean_array_get_size(v_args_2168_);
lean_dec_ref(v_args_2168_);
v___x_2176_ = lean_unsigned_to_nat(0u);
v___x_2177_ = lean_nat_dec_eq(v___x_2175_, v___x_2176_);
if (v___x_2177_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2178_; uint8_t v___x_2179_; 
lean_inc_ref(v_str_2169_);
lean_inc(v_pre_1920_);
lean_dec_ref(v_fn_1918_);
v___x_2178_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__19));
v___x_2179_ = lean_string_dec_eq(v_str_2169_, v___x_2178_);
if (v___x_2179_ == 0)
{
lean_object* v___x_2180_; lean_object* v___x_2181_; uint8_t v___x_2182_; 
v___x_2180_ = lean_array_get_size(v_args_2168_);
lean_dec_ref(v_args_2168_);
v___x_2181_ = lean_unsigned_to_nat(0u);
v___x_2182_ = lean_nat_dec_eq(v___x_2180_, v___x_2181_);
if (v___x_2182_ == 0)
{
lean_dec_ref(v_str_2169_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_2183_; lean_object* v___x_2184_; 
v___x_2183_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2173_);
v___x_2184_ = l_Lean_Name_str___override(v___x_2183_, v_str_2169_);
v_c_1778_ = v___x_2184_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2185_; lean_object* v___x_2186_; uint8_t v___x_2187_; 
lean_dec_ref(v_str_2169_);
v___x_2185_ = lean_array_get_size(v_args_2168_);
v___x_2186_ = lean_unsigned_to_nat(1u);
v___x_2187_ = lean_nat_dec_eq(v___x_2185_, v___x_2186_);
if (v___x_2187_ == 0)
{
lean_object* v___x_2188_; uint8_t v___x_2189_; 
lean_dec_ref(v_args_2168_);
v___x_2188_ = lean_unsigned_to_nat(0u);
v___x_2189_ = lean_nat_dec_eq(v___x_2185_, v___x_2188_);
if (v___x_2189_ == 0)
{
goto v___jp_1774_;
}
else
{
lean_object* v___x_2190_; lean_object* v___x_2191_; 
v___x_2190_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2173_);
v___x_2191_ = l_Lean_Name_str___override(v___x_2190_, v___x_2178_);
v_c_1778_ = v___x_2191_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2192_; lean_object* v___x_2193_; 
v___x_2192_ = lean_unsigned_to_nat(0u);
v___x_2193_ = lean_array_fget(v_args_2168_, v___x_2192_);
lean_dec_ref(v_args_2168_);
if (lean_obj_tag(v___x_2193_) == 1)
{
lean_object* v_fvarId_2194_; lean_object* v___x_2196_; uint8_t v_isShared_2197_; uint8_t v_isSharedCheck_2278_; 
v_fvarId_2194_ = lean_ctor_get(v___x_2193_, 0);
v_isSharedCheck_2278_ = !lean_is_exclusive(v___x_2193_);
if (v_isSharedCheck_2278_ == 0)
{
v___x_2196_ = v___x_2193_;
v_isShared_2197_ = v_isSharedCheck_2278_;
goto v_resetjp_2195_;
}
else
{
lean_inc(v_fvarId_2194_);
lean_dec(v___x_2193_);
v___x_2196_ = lean_box(0);
v_isShared_2197_ = v_isSharedCheck_2278_;
goto v_resetjp_2195_;
}
v_resetjp_2195_:
{
lean_object* v___x_2198_; lean_object* v___x_2204_; 
v___x_2198_ = lean_st_ref_get(v_a_1762_);
v___x_2204_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1835_, v___x_2198_, v_fvarId_2194_);
lean_dec(v_fvarId_2194_);
lean_dec(v___x_2198_);
switch(lean_obj_tag(v___x_2204_))
{
case 6:
{
lean_object* v_elems_2205_; lean_object* v_remainingCapacity_2206_; uint8_t v___x_2207_; 
v_elems_2205_ = lean_ctor_get(v___x_2204_, 0);
lean_inc(v_elems_2205_);
v_remainingCapacity_2206_ = lean_ctor_get(v___x_2204_, 1);
lean_inc(v_remainingCapacity_2206_);
lean_dec_ref(v___x_2204_);
v___x_2207_ = lean_nat_dec_eq(v_remainingCapacity_2206_, v___x_2192_);
lean_dec(v_remainingCapacity_2206_);
if (v___x_2207_ == 0)
{
lean_dec(v_elems_2205_);
goto v___jp_2199_;
}
else
{
lean_object* v___x_2208_; lean_object* v___x_2209_; lean_object* v_a_2210_; lean_object* v___x_2212_; uint8_t v_isShared_2213_; uint8_t v_isSharedCheck_2232_; 
lean_del_object(v___x_2196_);
v___x_2208_ = lean_box(0);
v___x_2209_ = l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg(v_elems_2205_, v___x_2208_);
v_a_2210_ = lean_ctor_get(v___x_2209_, 0);
v_isSharedCheck_2232_ = !lean_is_exclusive(v___x_2209_);
if (v_isSharedCheck_2232_ == 0)
{
v___x_2212_ = v___x_2209_;
v_isShared_2213_ = v_isSharedCheck_2232_;
goto v_resetjp_2211_;
}
else
{
lean_inc(v_a_2210_);
lean_dec(v___x_2209_);
v___x_2212_ = lean_box(0);
v_isShared_2213_ = v_isSharedCheck_2232_;
goto v_resetjp_2211_;
}
v_resetjp_2211_:
{
if (lean_obj_tag(v_a_2210_) == 0)
{
lean_object* v___x_2214_; lean_object* v___x_2216_; 
v___x_2214_ = lean_box(0);
if (v_isShared_2213_ == 0)
{
lean_ctor_set(v___x_2212_, 0, v___x_2214_);
v___x_2216_ = v___x_2212_;
goto v_reusejp_2215_;
}
else
{
lean_object* v_reuseFailAlloc_2217_; 
v_reuseFailAlloc_2217_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2217_, 0, v___x_2214_);
v___x_2216_ = v_reuseFailAlloc_2217_;
goto v_reusejp_2215_;
}
v_reusejp_2215_:
{
return v___x_2216_;
}
}
else
{
lean_object* v_val_2218_; lean_object* v___x_2220_; uint8_t v_isShared_2221_; uint8_t v_isSharedCheck_2231_; 
v_val_2218_ = lean_ctor_get(v_a_2210_, 0);
v_isSharedCheck_2231_ = !lean_is_exclusive(v_a_2210_);
if (v_isSharedCheck_2231_ == 0)
{
v___x_2220_ = v_a_2210_;
v_isShared_2221_ = v_isSharedCheck_2231_;
goto v_resetjp_2219_;
}
else
{
lean_inc(v_val_2218_);
lean_dec(v_a_2210_);
v___x_2220_ = lean_box(0);
v_isShared_2221_ = v_isSharedCheck_2231_;
goto v_resetjp_2219_;
}
v_resetjp_2219_:
{
lean_object* v___x_2222_; lean_object* v___x_2223_; lean_object* v___x_2224_; lean_object* v___x_2226_; 
v___x_2222_ = lean_array_mk(v_val_2218_);
v___x_2223_ = l_Array_reverse___redArg(v___x_2222_);
v___x_2224_ = lean_alloc_ctor(6, 1, 0);
lean_ctor_set(v___x_2224_, 0, v___x_2223_);
if (v_isShared_2221_ == 0)
{
lean_ctor_set(v___x_2220_, 0, v___x_2224_);
v___x_2226_ = v___x_2220_;
goto v_reusejp_2225_;
}
else
{
lean_object* v_reuseFailAlloc_2230_; 
v_reuseFailAlloc_2230_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2230_, 0, v___x_2224_);
v___x_2226_ = v_reuseFailAlloc_2230_;
goto v_reusejp_2225_;
}
v_reusejp_2225_:
{
lean_object* v___x_2228_; 
if (v_isShared_2213_ == 0)
{
lean_ctor_set(v___x_2212_, 0, v___x_2226_);
v___x_2228_ = v___x_2212_;
goto v_reusejp_2227_;
}
else
{
lean_object* v_reuseFailAlloc_2229_; 
v_reuseFailAlloc_2229_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2229_, 0, v___x_2226_);
v___x_2228_ = v_reuseFailAlloc_2229_;
goto v_reusejp_2227_;
}
v_reusejp_2227_:
{
return v___x_2228_;
}
}
}
}
}
}
}
case 0:
{
lean_object* v_arg_2233_; 
v_arg_2233_ = lean_ctor_get(v___x_2204_, 0);
lean_inc_ref(v_arg_2233_);
lean_dec_ref(v___x_2204_);
if (lean_obj_tag(v_arg_2233_) == 1)
{
lean_object* v_n_2234_; lean_object* v___x_2235_; lean_object* v_env_2236_; lean_object* v___x_2237_; 
lean_del_object(v___x_2196_);
v_n_2234_ = lean_ctor_get(v_arg_2233_, 0);
lean_inc(v_n_2234_);
lean_dec_ref(v_arg_2233_);
v___x_2235_ = lean_st_ref_get(v_a_1766_);
v_env_2236_ = lean_ctor_get(v___x_2235_, 0);
lean_inc_ref(v_env_2236_);
lean_dec(v___x_2235_);
v___x_2237_ = l_Lean_Compiler_LCNF_getSimpleGroundExprWithResolvedRefs(v_env_2236_, v_n_2234_);
if (lean_obj_tag(v___x_2237_) == 1)
{
lean_object* v_val_2238_; 
v_val_2238_ = lean_ctor_get(v___x_2237_, 0);
lean_inc(v_val_2238_);
lean_dec_ref(v___x_2237_);
if (lean_obj_tag(v_val_2238_) == 5)
{
lean_object* v_elems_2239_; lean_object* v___x_2241_; uint8_t v_isShared_2242_; uint8_t v_isSharedCheck_2277_; 
v_elems_2239_ = lean_ctor_get(v_val_2238_, 0);
v_isSharedCheck_2277_ = !lean_is_exclusive(v_val_2238_);
if (v_isSharedCheck_2277_ == 0)
{
v___x_2241_ = v_val_2238_;
v_isShared_2242_ = v_isSharedCheck_2277_;
goto v_resetjp_2240_;
}
else
{
lean_inc(v_elems_2239_);
lean_dec(v_val_2238_);
v___x_2241_ = lean_box(0);
v_isShared_2242_ = v_isSharedCheck_2277_;
goto v_resetjp_2240_;
}
v_resetjp_2240_:
{
size_t v_sz_2243_; size_t v___x_2244_; lean_object* v___x_2245_; 
v_sz_2243_ = lean_array_size(v_elems_2239_);
v___x_2244_ = ((size_t)0ULL);
v___x_2245_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg(v_sz_2243_, v___x_2244_, v_elems_2239_);
if (lean_obj_tag(v___x_2245_) == 0)
{
lean_object* v_a_2246_; lean_object* v___x_2248_; uint8_t v_isShared_2249_; uint8_t v_isSharedCheck_2268_; 
v_a_2246_ = lean_ctor_get(v___x_2245_, 0);
v_isSharedCheck_2268_ = !lean_is_exclusive(v___x_2245_);
if (v_isSharedCheck_2268_ == 0)
{
v___x_2248_ = v___x_2245_;
v_isShared_2249_ = v_isSharedCheck_2268_;
goto v_resetjp_2247_;
}
else
{
lean_inc(v_a_2246_);
lean_dec(v___x_2245_);
v___x_2248_ = lean_box(0);
v_isShared_2249_ = v_isSharedCheck_2268_;
goto v_resetjp_2247_;
}
v_resetjp_2247_:
{
if (lean_obj_tag(v_a_2246_) == 0)
{
lean_object* v___x_2250_; lean_object* v___x_2252_; 
lean_del_object(v___x_2241_);
v___x_2250_ = lean_box(0);
if (v_isShared_2249_ == 0)
{
lean_ctor_set(v___x_2248_, 0, v___x_2250_);
v___x_2252_ = v___x_2248_;
goto v_reusejp_2251_;
}
else
{
lean_object* v_reuseFailAlloc_2253_; 
v_reuseFailAlloc_2253_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2253_, 0, v___x_2250_);
v___x_2252_ = v_reuseFailAlloc_2253_;
goto v_reusejp_2251_;
}
v_reusejp_2251_:
{
return v___x_2252_;
}
}
else
{
lean_object* v_val_2254_; lean_object* v___x_2256_; uint8_t v_isShared_2257_; uint8_t v_isSharedCheck_2267_; 
v_val_2254_ = lean_ctor_get(v_a_2246_, 0);
v_isSharedCheck_2267_ = !lean_is_exclusive(v_a_2246_);
if (v_isSharedCheck_2267_ == 0)
{
v___x_2256_ = v_a_2246_;
v_isShared_2257_ = v_isSharedCheck_2267_;
goto v_resetjp_2255_;
}
else
{
lean_inc(v_val_2254_);
lean_dec(v_a_2246_);
v___x_2256_ = lean_box(0);
v_isShared_2257_ = v_isSharedCheck_2267_;
goto v_resetjp_2255_;
}
v_resetjp_2255_:
{
lean_object* v___x_2259_; 
if (v_isShared_2242_ == 0)
{
lean_ctor_set_tag(v___x_2241_, 6);
lean_ctor_set(v___x_2241_, 0, v_val_2254_);
v___x_2259_ = v___x_2241_;
goto v_reusejp_2258_;
}
else
{
lean_object* v_reuseFailAlloc_2266_; 
v_reuseFailAlloc_2266_ = lean_alloc_ctor(6, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2266_, 0, v_val_2254_);
v___x_2259_ = v_reuseFailAlloc_2266_;
goto v_reusejp_2258_;
}
v_reusejp_2258_:
{
lean_object* v___x_2261_; 
if (v_isShared_2257_ == 0)
{
lean_ctor_set(v___x_2256_, 0, v___x_2259_);
v___x_2261_ = v___x_2256_;
goto v_reusejp_2260_;
}
else
{
lean_object* v_reuseFailAlloc_2265_; 
v_reuseFailAlloc_2265_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2265_, 0, v___x_2259_);
v___x_2261_ = v_reuseFailAlloc_2265_;
goto v_reusejp_2260_;
}
v_reusejp_2260_:
{
lean_object* v___x_2263_; 
if (v_isShared_2249_ == 0)
{
lean_ctor_set(v___x_2248_, 0, v___x_2261_);
v___x_2263_ = v___x_2248_;
goto v_reusejp_2262_;
}
else
{
lean_object* v_reuseFailAlloc_2264_; 
v_reuseFailAlloc_2264_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2264_, 0, v___x_2261_);
v___x_2263_ = v_reuseFailAlloc_2264_;
goto v_reusejp_2262_;
}
v_reusejp_2262_:
{
return v___x_2263_;
}
}
}
}
}
}
}
else
{
lean_object* v_a_2269_; lean_object* v___x_2271_; uint8_t v_isShared_2272_; uint8_t v_isSharedCheck_2276_; 
lean_del_object(v___x_2241_);
v_a_2269_ = lean_ctor_get(v___x_2245_, 0);
v_isSharedCheck_2276_ = !lean_is_exclusive(v___x_2245_);
if (v_isSharedCheck_2276_ == 0)
{
v___x_2271_ = v___x_2245_;
v_isShared_2272_ = v_isSharedCheck_2276_;
goto v_resetjp_2270_;
}
else
{
lean_inc(v_a_2269_);
lean_dec(v___x_2245_);
v___x_2271_ = lean_box(0);
v_isShared_2272_ = v_isSharedCheck_2276_;
goto v_resetjp_2270_;
}
v_resetjp_2270_:
{
lean_object* v___x_2274_; 
if (v_isShared_2272_ == 0)
{
v___x_2274_ = v___x_2271_;
goto v_reusejp_2273_;
}
else
{
lean_object* v_reuseFailAlloc_2275_; 
v_reuseFailAlloc_2275_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2275_, 0, v_a_2269_);
v___x_2274_ = v_reuseFailAlloc_2275_;
goto v_reusejp_2273_;
}
v_reusejp_2273_:
{
return v___x_2274_;
}
}
}
}
}
else
{
lean_dec(v_val_2238_);
goto v___jp_1832_;
}
}
else
{
lean_dec(v___x_2237_);
goto v___jp_1832_;
}
}
else
{
lean_dec_ref(v_arg_2233_);
goto v___jp_2199_;
}
}
default: 
{
lean_dec(v___x_2204_);
goto v___jp_2199_;
}
}
v___jp_2199_:
{
lean_object* v___x_2200_; lean_object* v___x_2202_; 
v___x_2200_ = lean_box(0);
if (v_isShared_2197_ == 0)
{
lean_ctor_set_tag(v___x_2196_, 0);
lean_ctor_set(v___x_2196_, 0, v___x_2200_);
v___x_2202_ = v___x_2196_;
goto v_reusejp_2201_;
}
else
{
lean_object* v_reuseFailAlloc_2203_; 
v_reuseFailAlloc_2203_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2203_, 0, v___x_2200_);
v___x_2202_ = v_reuseFailAlloc_2203_;
goto v_reusejp_2201_;
}
v_reusejp_2201_:
{
return v___x_2202_;
}
}
}
}
else
{
lean_dec(v___x_2193_);
goto v___jp_1774_;
}
}
}
}
}
else
{
lean_object* v___x_2279_; uint8_t v___x_2280_; 
lean_inc_ref(v_str_2169_);
lean_inc(v_pre_1920_);
lean_dec_ref(v_fn_1918_);
v___x_2279_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__20));
v___x_2280_ = lean_string_dec_eq(v_str_2169_, v___x_2279_);
if (v___x_2280_ == 0)
{
lean_object* v___x_2281_; uint8_t v___x_2282_; 
v___x_2281_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__21));
v___x_2282_ = lean_string_dec_eq(v_str_2169_, v___x_2281_);
if (v___x_2282_ == 0)
{
lean_object* v___x_2283_; uint8_t v___x_2284_; 
v___x_2283_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__22));
v___x_2284_ = lean_string_dec_eq(v_str_2169_, v___x_2283_);
if (v___x_2284_ == 0)
{
lean_object* v___x_2285_; lean_object* v___x_2286_; uint8_t v___x_2287_; 
v___x_2285_ = lean_array_get_size(v_args_2168_);
lean_dec_ref(v_args_2168_);
v___x_2286_ = lean_unsigned_to_nat(0u);
v___x_2287_ = lean_nat_dec_eq(v___x_2285_, v___x_2286_);
if (v___x_2287_ == 0)
{
lean_dec_ref(v_str_2169_);
goto v___jp_1774_;
}
else
{
lean_object* v___x_2288_; lean_object* v___x_2289_; 
v___x_2288_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2171_);
v___x_2289_ = l_Lean_Name_str___override(v___x_2288_, v_str_2169_);
v_c_1778_ = v___x_2289_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2290_; lean_object* v___x_2291_; uint8_t v___x_2292_; 
lean_dec_ref(v_str_2169_);
v___x_2290_ = lean_array_get_size(v_args_2168_);
v___x_2291_ = lean_unsigned_to_nat(3u);
v___x_2292_ = lean_nat_dec_eq(v___x_2290_, v___x_2291_);
if (v___x_2292_ == 0)
{
lean_object* v___x_2293_; uint8_t v___x_2294_; 
lean_dec_ref(v_args_2168_);
v___x_2293_ = lean_unsigned_to_nat(0u);
v___x_2294_ = lean_nat_dec_eq(v___x_2290_, v___x_2293_);
if (v___x_2294_ == 0)
{
goto v___jp_1774_;
}
else
{
lean_object* v___x_2295_; lean_object* v___x_2296_; 
v___x_2295_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2171_);
v___x_2296_ = l_Lean_Name_str___override(v___x_2295_, v___x_2283_);
v_c_1778_ = v___x_2296_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2297_; lean_object* v___x_2298_; 
v___x_2297_ = lean_unsigned_to_nat(0u);
v___x_2298_ = lean_array_fget_borrowed(v_args_2168_, v___x_2297_);
if (lean_obj_tag(v___x_2298_) == 0)
{
lean_object* v___x_2299_; lean_object* v___x_2300_; 
v___x_2299_ = lean_unsigned_to_nat(1u);
v___x_2300_ = lean_array_fget(v_args_2168_, v___x_2299_);
if (lean_obj_tag(v___x_2300_) == 1)
{
lean_object* v_fvarId_2301_; lean_object* v___x_2303_; uint8_t v_isShared_2304_; uint8_t v_isSharedCheck_2354_; 
v_fvarId_2301_ = lean_ctor_get(v___x_2300_, 0);
v_isSharedCheck_2354_ = !lean_is_exclusive(v___x_2300_);
if (v_isSharedCheck_2354_ == 0)
{
v___x_2303_ = v___x_2300_;
v_isShared_2304_ = v_isSharedCheck_2354_;
goto v_resetjp_2302_;
}
else
{
lean_inc(v_fvarId_2301_);
lean_dec(v___x_2300_);
v___x_2303_ = lean_box(0);
v_isShared_2304_ = v_isSharedCheck_2354_;
goto v_resetjp_2302_;
}
v_resetjp_2302_:
{
lean_object* v___x_2305_; lean_object* v___x_2306_; 
v___x_2305_ = lean_unsigned_to_nat(2u);
v___x_2306_ = lean_array_fget(v_args_2168_, v___x_2305_);
lean_dec_ref(v_args_2168_);
if (lean_obj_tag(v___x_2306_) == 1)
{
lean_object* v_fvarId_2307_; lean_object* v___x_2309_; uint8_t v_isShared_2310_; uint8_t v_isSharedCheck_2353_; 
v_fvarId_2307_ = lean_ctor_get(v___x_2306_, 0);
v_isSharedCheck_2353_ = !lean_is_exclusive(v___x_2306_);
if (v_isSharedCheck_2353_ == 0)
{
v___x_2309_ = v___x_2306_;
v_isShared_2310_ = v_isSharedCheck_2353_;
goto v_resetjp_2308_;
}
else
{
lean_inc(v_fvarId_2307_);
lean_dec(v___x_2306_);
v___x_2309_ = lean_box(0);
v_isShared_2310_ = v_isSharedCheck_2353_;
goto v_resetjp_2308_;
}
v_resetjp_2308_:
{
lean_object* v___x_2311_; lean_object* v___x_2312_; 
v___x_2311_ = lean_st_ref_get(v_a_1762_);
v___x_2312_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1835_, v___x_2311_, v_fvarId_2301_);
lean_dec(v_fvarId_2301_);
lean_dec(v___x_2311_);
if (lean_obj_tag(v___x_2312_) == 6)
{
lean_object* v_elems_2313_; lean_object* v_remainingCapacity_2314_; lean_object* v___x_2316_; uint8_t v_isShared_2317_; uint8_t v_isSharedCheck_2348_; 
v_elems_2313_ = lean_ctor_get(v___x_2312_, 0);
v_remainingCapacity_2314_ = lean_ctor_get(v___x_2312_, 1);
v_isSharedCheck_2348_ = !lean_is_exclusive(v___x_2312_);
if (v_isSharedCheck_2348_ == 0)
{
v___x_2316_ = v___x_2312_;
v_isShared_2317_ = v_isSharedCheck_2348_;
goto v_resetjp_2315_;
}
else
{
lean_inc(v_remainingCapacity_2314_);
lean_inc(v_elems_2313_);
lean_dec(v___x_2312_);
v___x_2316_ = lean_box(0);
v_isShared_2317_ = v_isSharedCheck_2348_;
goto v_resetjp_2315_;
}
v_resetjp_2315_:
{
uint8_t v___x_2318_; 
v___x_2318_ = lean_nat_dec_lt(v___x_2299_, v_remainingCapacity_2314_);
lean_dec(v_remainingCapacity_2314_);
if (v___x_2318_ == 0)
{
lean_object* v___x_2319_; lean_object* v___x_2320_; 
v___x_2319_ = lean_st_ref_get(v_a_1762_);
v___x_2320_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1835_, v___x_2319_, v_fvarId_2307_);
lean_dec(v_fvarId_2307_);
lean_dec(v___x_2319_);
if (lean_obj_tag(v___x_2320_) == 0)
{
lean_object* v_arg_2321_; lean_object* v___x_2323_; uint8_t v_isShared_2324_; uint8_t v_isSharedCheck_2339_; 
v_arg_2321_ = lean_ctor_get(v___x_2320_, 0);
v_isSharedCheck_2339_ = !lean_is_exclusive(v___x_2320_);
if (v_isSharedCheck_2339_ == 0)
{
v___x_2323_ = v___x_2320_;
v_isShared_2324_ = v_isSharedCheck_2339_;
goto v_resetjp_2322_;
}
else
{
lean_inc(v_arg_2321_);
lean_dec(v___x_2320_);
v___x_2323_ = lean_box(0);
v_isShared_2324_ = v_isSharedCheck_2339_;
goto v_resetjp_2322_;
}
v_resetjp_2322_:
{
lean_object* v___x_2326_; 
if (v_isShared_2317_ == 0)
{
lean_ctor_set_tag(v___x_2316_, 1);
lean_ctor_set(v___x_2316_, 1, v_elems_2313_);
lean_ctor_set(v___x_2316_, 0, v_arg_2321_);
v___x_2326_ = v___x_2316_;
goto v_reusejp_2325_;
}
else
{
lean_object* v_reuseFailAlloc_2338_; 
v_reuseFailAlloc_2338_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2338_, 0, v_arg_2321_);
lean_ctor_set(v_reuseFailAlloc_2338_, 1, v_elems_2313_);
v___x_2326_ = v_reuseFailAlloc_2338_;
goto v_reusejp_2325_;
}
v_reusejp_2325_:
{
lean_object* v___x_2327_; lean_object* v___x_2328_; lean_object* v___x_2330_; 
v___x_2327_ = lean_array_mk(v___x_2326_);
v___x_2328_ = l_Array_reverse___redArg(v___x_2327_);
if (v_isShared_2324_ == 0)
{
lean_ctor_set_tag(v___x_2323_, 5);
lean_ctor_set(v___x_2323_, 0, v___x_2328_);
v___x_2330_ = v___x_2323_;
goto v_reusejp_2329_;
}
else
{
lean_object* v_reuseFailAlloc_2337_; 
v_reuseFailAlloc_2337_ = lean_alloc_ctor(5, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2337_, 0, v___x_2328_);
v___x_2330_ = v_reuseFailAlloc_2337_;
goto v_reusejp_2329_;
}
v_reusejp_2329_:
{
lean_object* v___x_2332_; 
if (v_isShared_2310_ == 0)
{
lean_ctor_set(v___x_2309_, 0, v___x_2330_);
v___x_2332_ = v___x_2309_;
goto v_reusejp_2331_;
}
else
{
lean_object* v_reuseFailAlloc_2336_; 
v_reuseFailAlloc_2336_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2336_, 0, v___x_2330_);
v___x_2332_ = v_reuseFailAlloc_2336_;
goto v_reusejp_2331_;
}
v_reusejp_2331_:
{
lean_object* v___x_2334_; 
if (v_isShared_2304_ == 0)
{
lean_ctor_set_tag(v___x_2303_, 0);
lean_ctor_set(v___x_2303_, 0, v___x_2332_);
v___x_2334_ = v___x_2303_;
goto v_reusejp_2333_;
}
else
{
lean_object* v_reuseFailAlloc_2335_; 
v_reuseFailAlloc_2335_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2335_, 0, v___x_2332_);
v___x_2334_ = v_reuseFailAlloc_2335_;
goto v_reusejp_2333_;
}
v_reusejp_2333_:
{
return v___x_2334_;
}
}
}
}
}
}
else
{
lean_object* v___x_2340_; lean_object* v___x_2342_; 
lean_dec(v___x_2320_);
lean_del_object(v___x_2316_);
lean_dec(v_elems_2313_);
lean_del_object(v___x_2303_);
v___x_2340_ = lean_box(0);
if (v_isShared_2310_ == 0)
{
lean_ctor_set_tag(v___x_2309_, 0);
lean_ctor_set(v___x_2309_, 0, v___x_2340_);
v___x_2342_ = v___x_2309_;
goto v_reusejp_2341_;
}
else
{
lean_object* v_reuseFailAlloc_2343_; 
v_reuseFailAlloc_2343_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2343_, 0, v___x_2340_);
v___x_2342_ = v_reuseFailAlloc_2343_;
goto v_reusejp_2341_;
}
v_reusejp_2341_:
{
return v___x_2342_;
}
}
}
else
{
lean_object* v___x_2344_; lean_object* v___x_2346_; 
lean_del_object(v___x_2316_);
lean_dec(v_elems_2313_);
lean_dec(v_fvarId_2307_);
lean_del_object(v___x_2303_);
v___x_2344_ = lean_box(0);
if (v_isShared_2310_ == 0)
{
lean_ctor_set_tag(v___x_2309_, 0);
lean_ctor_set(v___x_2309_, 0, v___x_2344_);
v___x_2346_ = v___x_2309_;
goto v_reusejp_2345_;
}
else
{
lean_object* v_reuseFailAlloc_2347_; 
v_reuseFailAlloc_2347_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2347_, 0, v___x_2344_);
v___x_2346_ = v_reuseFailAlloc_2347_;
goto v_reusejp_2345_;
}
v_reusejp_2345_:
{
return v___x_2346_;
}
}
}
}
else
{
lean_object* v___x_2349_; lean_object* v___x_2351_; 
lean_dec(v___x_2312_);
lean_dec(v_fvarId_2307_);
lean_del_object(v___x_2303_);
v___x_2349_ = lean_box(0);
if (v_isShared_2310_ == 0)
{
lean_ctor_set_tag(v___x_2309_, 0);
lean_ctor_set(v___x_2309_, 0, v___x_2349_);
v___x_2351_ = v___x_2309_;
goto v_reusejp_2350_;
}
else
{
lean_object* v_reuseFailAlloc_2352_; 
v_reuseFailAlloc_2352_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2352_, 0, v___x_2349_);
v___x_2351_ = v_reuseFailAlloc_2352_;
goto v_reusejp_2350_;
}
v_reusejp_2350_:
{
return v___x_2351_;
}
}
}
}
else
{
lean_dec(v___x_2306_);
lean_del_object(v___x_2303_);
lean_dec(v_fvarId_2301_);
goto v___jp_1774_;
}
}
}
else
{
lean_dec(v___x_2300_);
lean_dec_ref(v_args_2168_);
goto v___jp_1774_;
}
}
else
{
lean_dec_ref(v_args_2168_);
goto v___jp_1774_;
}
}
}
}
else
{
lean_object* v___x_2355_; lean_object* v___x_2356_; uint8_t v___x_2357_; 
lean_dec_ref(v_str_2169_);
v___x_2355_ = lean_array_get_size(v_args_2168_);
v___x_2356_ = lean_unsigned_to_nat(2u);
v___x_2357_ = lean_nat_dec_eq(v___x_2355_, v___x_2356_);
if (v___x_2357_ == 0)
{
lean_object* v___x_2358_; uint8_t v___x_2359_; 
lean_dec_ref(v_args_2168_);
v___x_2358_ = lean_unsigned_to_nat(0u);
v___x_2359_ = lean_nat_dec_eq(v___x_2355_, v___x_2358_);
if (v___x_2359_ == 0)
{
goto v___jp_1774_;
}
else
{
lean_object* v___x_2360_; lean_object* v___x_2361_; 
v___x_2360_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2171_);
v___x_2361_ = l_Lean_Name_str___override(v___x_2360_, v___x_2281_);
v_c_1778_ = v___x_2361_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2362_; lean_object* v___x_2363_; 
v___x_2362_ = lean_unsigned_to_nat(0u);
v___x_2363_ = lean_array_fget_borrowed(v_args_2168_, v___x_2362_);
if (lean_obj_tag(v___x_2363_) == 0)
{
lean_object* v___x_2364_; lean_object* v___x_2365_; 
v___x_2364_ = lean_unsigned_to_nat(1u);
v___x_2365_ = lean_array_fget(v_args_2168_, v___x_2364_);
lean_dec_ref(v_args_2168_);
if (lean_obj_tag(v___x_2365_) == 1)
{
lean_object* v_fvarId_2366_; 
v_fvarId_2366_ = lean_ctor_get(v___x_2365_, 0);
lean_inc(v_fvarId_2366_);
lean_dec_ref(v___x_2365_);
v_sizeId_1837_ = v_fvarId_2366_;
v___y_1838_ = v_a_1762_;
goto v___jp_1836_;
}
else
{
lean_dec(v___x_2365_);
goto v___jp_1774_;
}
}
else
{
lean_dec_ref(v_args_2168_);
goto v___jp_1774_;
}
}
}
}
else
{
lean_object* v___x_2367_; lean_object* v___x_2368_; uint8_t v___x_2369_; 
lean_dec_ref(v_str_2169_);
v___x_2367_ = lean_array_get_size(v_args_2168_);
v___x_2368_ = lean_unsigned_to_nat(2u);
v___x_2369_ = lean_nat_dec_eq(v___x_2367_, v___x_2368_);
if (v___x_2369_ == 0)
{
lean_object* v___x_2370_; uint8_t v___x_2371_; 
lean_dec_ref(v_args_2168_);
v___x_2370_ = lean_unsigned_to_nat(0u);
v___x_2371_ = lean_nat_dec_eq(v___x_2367_, v___x_2370_);
if (v___x_2371_ == 0)
{
goto v___jp_1774_;
}
else
{
lean_object* v___x_2372_; lean_object* v___x_2373_; 
v___x_2372_ = l_Lean_Name_str___override(v_pre_1920_, v___x_2171_);
v___x_2373_ = l_Lean_Name_str___override(v___x_2372_, v___x_2279_);
v_c_1778_ = v___x_2373_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
else
{
lean_object* v___x_2374_; lean_object* v___x_2375_; 
v___x_2374_ = lean_unsigned_to_nat(0u);
v___x_2375_ = lean_array_fget_borrowed(v_args_2168_, v___x_2374_);
if (lean_obj_tag(v___x_2375_) == 0)
{
lean_object* v___x_2376_; lean_object* v___x_2377_; 
v___x_2376_ = lean_unsigned_to_nat(1u);
v___x_2377_ = lean_array_fget(v_args_2168_, v___x_2376_);
lean_dec_ref(v_args_2168_);
if (lean_obj_tag(v___x_2377_) == 1)
{
lean_object* v_fvarId_2378_; 
v_fvarId_2378_ = lean_ctor_get(v___x_2377_, 0);
lean_inc(v_fvarId_2378_);
lean_dec_ref(v___x_2377_);
v_sizeId_1837_ = v_fvarId_2378_;
v___y_1838_ = v_a_1762_;
goto v___jp_1836_;
}
else
{
lean_dec(v___x_2377_);
goto v___jp_1774_;
}
}
else
{
lean_dec_ref(v_args_2168_);
goto v___jp_1774_;
}
}
}
}
}
default: 
{
lean_object* v_args_2379_; lean_object* v___x_2380_; lean_object* v___x_2381_; uint8_t v___x_2382_; 
v_args_2379_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2379_);
lean_dec_ref(v_e_1761_);
v___x_2380_ = lean_array_get_size(v_args_2379_);
lean_dec_ref(v_args_2379_);
v___x_2381_ = lean_unsigned_to_nat(0u);
v___x_2382_ = lean_nat_dec_eq(v___x_2380_, v___x_2381_);
if (v___x_2382_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
}
}
else
{
lean_object* v_args_2383_; lean_object* v___x_2384_; lean_object* v___x_2385_; uint8_t v___x_2386_; 
v_args_2383_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2383_);
lean_dec_ref(v_e_1761_);
v___x_2384_ = lean_array_get_size(v_args_2383_);
lean_dec_ref(v_args_2383_);
v___x_2385_ = lean_unsigned_to_nat(0u);
v___x_2386_ = lean_nat_dec_eq(v___x_2384_, v___x_2385_);
if (v___x_2386_ == 0)
{
lean_dec_ref(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
}
else
{
lean_object* v_args_2387_; lean_object* v___x_2388_; lean_object* v___x_2389_; uint8_t v___x_2390_; 
v_args_2387_ = lean_ctor_get(v_e_1761_, 1);
lean_inc_ref(v_args_2387_);
lean_dec_ref(v_e_1761_);
v___x_2388_ = lean_array_get_size(v_args_2387_);
lean_dec_ref(v_args_2387_);
v___x_2389_ = lean_unsigned_to_nat(0u);
v___x_2390_ = lean_nat_dec_eq(v___x_2388_, v___x_2389_);
if (v___x_2390_ == 0)
{
lean_dec(v_fn_1918_);
goto v___jp_1774_;
}
else
{
v_c_1778_ = v_fn_1918_;
v___y_1779_ = v_a_1766_;
goto v___jp_1777_;
}
}
}
case 13:
{
lean_object* v_fvarId_2391_; lean_object* v___x_2392_; lean_object* v___x_2393_; 
v_fvarId_2391_ = lean_ctor_get(v_e_1761_, 1);
lean_inc(v_fvarId_2391_);
lean_dec_ref(v_e_1761_);
v___x_2392_ = lean_st_ref_get(v_a_1762_);
v___x_2393_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1835_, v___x_2392_, v_fvarId_2391_);
lean_dec(v_fvarId_2391_);
lean_dec(v___x_2392_);
switch(lean_obj_tag(v___x_2393_))
{
case 3:
{
lean_object* v___x_2394_; lean_object* v___x_2395_; 
lean_dec_ref(v___x_2393_);
v___x_2394_ = lean_box(0);
v___x_2395_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2395_, 0, v___x_2394_);
return v___x_2395_;
}
case 4:
{
uint64_t v_val_2396_; lean_object* v___x_2397_; lean_object* v___x_2398_; lean_object* v___x_2399_; lean_object* v___x_2400_; lean_object* v___x_2401_; lean_object* v___x_2402_; 
v_val_2396_ = lean_ctor_get_uint64(v___x_2393_, 0);
lean_dec_ref(v___x_2393_);
v___x_2397_ = lean_unsigned_to_nat(0u);
v___x_2398_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0));
v___x_2399_ = l_Lean_Compiler_LCNF_uint64ToByteArrayLE(v_val_2396_);
v___x_2400_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2400_, 0, v___x_2397_);
lean_ctor_set(v___x_2400_, 1, v___x_2398_);
lean_ctor_set(v___x_2400_, 2, v___x_2398_);
lean_ctor_set(v___x_2400_, 3, v___x_2399_);
v___x_2401_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2401_, 0, v___x_2400_);
v___x_2402_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2402_, 0, v___x_2401_);
return v___x_2402_;
}
case 5:
{
uint64_t v_val_2403_; lean_object* v___x_2404_; lean_object* v___x_2405_; lean_object* v___x_2406_; lean_object* v___x_2407_; lean_object* v___x_2408_; lean_object* v___x_2409_; lean_object* v___x_2410_; lean_object* v___x_2411_; lean_object* v___x_2412_; 
v_val_2403_ = lean_ctor_get_uint64(v___x_2393_, 0);
lean_dec_ref(v___x_2393_);
v___x_2404_ = lean_unsigned_to_nat(0u);
v___x_2405_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__0));
v___x_2406_ = lean_unsigned_to_nat(1u);
v___x_2407_ = lean_mk_empty_array_with_capacity(v___x_2406_);
v___x_2408_ = lean_box_uint64(v_val_2403_);
v___x_2409_ = lean_array_push(v___x_2407_, v___x_2408_);
v___x_2410_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_2410_, 0, v___x_2404_);
lean_ctor_set(v___x_2410_, 1, v___x_2405_);
lean_ctor_set(v___x_2410_, 2, v___x_2409_);
lean_ctor_set(v___x_2410_, 3, v___x_2405_);
v___x_2411_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2411_, 0, v___x_2410_);
v___x_2412_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2412_, 0, v___x_2411_);
return v___x_2412_;
}
case 1:
{
lean_object* v___x_2413_; lean_object* v___x_2414_; 
lean_dec_ref(v___x_2393_);
v___x_2413_ = lean_box(0);
v___x_2414_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2414_, 0, v___x_2413_);
return v___x_2414_;
}
case 2:
{
lean_object* v___x_2415_; lean_object* v___x_2416_; 
lean_dec_ref(v___x_2393_);
v___x_2415_ = lean_box(0);
v___x_2416_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2416_, 0, v___x_2415_);
return v___x_2416_;
}
default: 
{
lean_object* v___x_2417_; lean_object* v___x_2418_; 
lean_dec(v___x_2393_);
v___x_2417_ = lean_box(0);
v___x_2418_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2418_, 0, v___x_2417_);
return v___x_2418_;
}
}
}
case 10:
{
lean_object* v_fn_2419_; lean_object* v_args_2420_; lean_object* v___x_2422_; uint8_t v_isShared_2423_; uint8_t v_isSharedCheck_2456_; 
v_fn_2419_ = lean_ctor_get(v_e_1761_, 0);
v_args_2420_ = lean_ctor_get(v_e_1761_, 1);
v_isSharedCheck_2456_ = !lean_is_exclusive(v_e_1761_);
if (v_isSharedCheck_2456_ == 0)
{
v___x_2422_ = v_e_1761_;
v_isShared_2423_ = v_isSharedCheck_2456_;
goto v_resetjp_2421_;
}
else
{
lean_inc(v_args_2420_);
lean_inc(v_fn_2419_);
lean_dec(v_e_1761_);
v___x_2422_ = lean_box(0);
v_isShared_2423_ = v_isSharedCheck_2456_;
goto v_resetjp_2421_;
}
v_resetjp_2421_:
{
lean_object* v___x_2424_; 
v___x_2424_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(v_args_2420_, v_a_1762_, v_a_1763_, v_a_1764_, v_a_1765_, v_a_1766_);
if (lean_obj_tag(v___x_2424_) == 0)
{
lean_object* v_a_2425_; lean_object* v___x_2427_; uint8_t v_isShared_2428_; uint8_t v_isSharedCheck_2447_; 
v_a_2425_ = lean_ctor_get(v___x_2424_, 0);
v_isSharedCheck_2447_ = !lean_is_exclusive(v___x_2424_);
if (v_isSharedCheck_2447_ == 0)
{
v___x_2427_ = v___x_2424_;
v_isShared_2428_ = v_isSharedCheck_2447_;
goto v_resetjp_2426_;
}
else
{
lean_inc(v_a_2425_);
lean_dec(v___x_2424_);
v___x_2427_ = lean_box(0);
v_isShared_2428_ = v_isSharedCheck_2447_;
goto v_resetjp_2426_;
}
v_resetjp_2426_:
{
if (lean_obj_tag(v_a_2425_) == 0)
{
lean_object* v___x_2429_; lean_object* v___x_2431_; 
lean_del_object(v___x_2422_);
lean_dec(v_fn_2419_);
v___x_2429_ = lean_box(0);
if (v_isShared_2428_ == 0)
{
lean_ctor_set(v___x_2427_, 0, v___x_2429_);
v___x_2431_ = v___x_2427_;
goto v_reusejp_2430_;
}
else
{
lean_object* v_reuseFailAlloc_2432_; 
v_reuseFailAlloc_2432_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2432_, 0, v___x_2429_);
v___x_2431_ = v_reuseFailAlloc_2432_;
goto v_reusejp_2430_;
}
v_reusejp_2430_:
{
return v___x_2431_;
}
}
else
{
lean_object* v_val_2433_; lean_object* v___x_2435_; uint8_t v_isShared_2436_; uint8_t v_isSharedCheck_2446_; 
v_val_2433_ = lean_ctor_get(v_a_2425_, 0);
v_isSharedCheck_2446_ = !lean_is_exclusive(v_a_2425_);
if (v_isSharedCheck_2446_ == 0)
{
v___x_2435_ = v_a_2425_;
v_isShared_2436_ = v_isSharedCheck_2446_;
goto v_resetjp_2434_;
}
else
{
lean_inc(v_val_2433_);
lean_dec(v_a_2425_);
v___x_2435_ = lean_box(0);
v_isShared_2436_ = v_isSharedCheck_2446_;
goto v_resetjp_2434_;
}
v_resetjp_2434_:
{
lean_object* v___x_2438_; 
if (v_isShared_2423_ == 0)
{
lean_ctor_set_tag(v___x_2422_, 2);
lean_ctor_set(v___x_2422_, 1, v_val_2433_);
v___x_2438_ = v___x_2422_;
goto v_reusejp_2437_;
}
else
{
lean_object* v_reuseFailAlloc_2445_; 
v_reuseFailAlloc_2445_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2445_, 0, v_fn_2419_);
lean_ctor_set(v_reuseFailAlloc_2445_, 1, v_val_2433_);
v___x_2438_ = v_reuseFailAlloc_2445_;
goto v_reusejp_2437_;
}
v_reusejp_2437_:
{
lean_object* v___x_2440_; 
if (v_isShared_2436_ == 0)
{
lean_ctor_set(v___x_2435_, 0, v___x_2438_);
v___x_2440_ = v___x_2435_;
goto v_reusejp_2439_;
}
else
{
lean_object* v_reuseFailAlloc_2444_; 
v_reuseFailAlloc_2444_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2444_, 0, v___x_2438_);
v___x_2440_ = v_reuseFailAlloc_2444_;
goto v_reusejp_2439_;
}
v_reusejp_2439_:
{
lean_object* v___x_2442_; 
if (v_isShared_2428_ == 0)
{
lean_ctor_set(v___x_2427_, 0, v___x_2440_);
v___x_2442_ = v___x_2427_;
goto v_reusejp_2441_;
}
else
{
lean_object* v_reuseFailAlloc_2443_; 
v_reuseFailAlloc_2443_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2443_, 0, v___x_2440_);
v___x_2442_ = v_reuseFailAlloc_2443_;
goto v_reusejp_2441_;
}
v_reusejp_2441_:
{
return v___x_2442_;
}
}
}
}
}
}
}
else
{
lean_object* v_a_2448_; lean_object* v___x_2450_; uint8_t v_isShared_2451_; uint8_t v_isSharedCheck_2455_; 
lean_del_object(v___x_2422_);
lean_dec(v_fn_2419_);
v_a_2448_ = lean_ctor_get(v___x_2424_, 0);
v_isSharedCheck_2455_ = !lean_is_exclusive(v___x_2424_);
if (v_isSharedCheck_2455_ == 0)
{
v___x_2450_ = v___x_2424_;
v_isShared_2451_ = v_isSharedCheck_2455_;
goto v_resetjp_2449_;
}
else
{
lean_inc(v_a_2448_);
lean_dec(v___x_2424_);
v___x_2450_ = lean_box(0);
v_isShared_2451_ = v_isSharedCheck_2455_;
goto v_resetjp_2449_;
}
v_resetjp_2449_:
{
lean_object* v___x_2453_; 
if (v_isShared_2451_ == 0)
{
v___x_2453_ = v___x_2450_;
goto v_reusejp_2452_;
}
else
{
lean_object* v_reuseFailAlloc_2454_; 
v_reuseFailAlloc_2454_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2454_, 0, v_a_2448_);
v___x_2453_ = v_reuseFailAlloc_2454_;
goto v_reusejp_2452_;
}
v_reusejp_2452_:
{
return v___x_2453_;
}
}
}
}
}
default: 
{
lean_dec(v_e_1761_);
goto v___jp_1774_;
}
}
v___jp_1768_:
{
lean_object* v___x_1769_; lean_object* v___x_1770_; 
v___x_1769_ = lean_box(0);
v___x_1770_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1770_, 0, v___x_1769_);
return v___x_1770_;
}
v___jp_1771_:
{
lean_object* v___x_1772_; lean_object* v___x_1773_; 
v___x_1772_ = lean_box(0);
v___x_1773_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1773_, 0, v___x_1772_);
return v___x_1773_;
}
v___jp_1774_:
{
lean_object* v___x_1775_; lean_object* v___x_1776_; 
v___x_1775_ = lean_box(0);
v___x_1776_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1776_, 0, v___x_1775_);
return v___x_1776_;
}
v___jp_1777_:
{
lean_object* v___x_1780_; lean_object* v_env_1781_; uint8_t v___x_1782_; 
v___x_1780_ = lean_st_ref_get(v___y_1779_);
v_env_1781_ = lean_ctor_get(v___x_1780_, 0);
lean_inc_ref(v_env_1781_);
lean_dec(v___x_1780_);
v___x_1782_ = l_Lean_Compiler_LCNF_isSimpleGroundDecl(v_env_1781_, v_c_1778_);
if (v___x_1782_ == 0)
{
lean_object* v___x_1783_; lean_object* v___x_1784_; 
lean_dec(v_c_1778_);
v___x_1783_ = lean_box(0);
v___x_1784_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1784_, 0, v___x_1783_);
return v___x_1784_;
}
else
{
lean_object* v___x_1785_; lean_object* v___x_1786_; lean_object* v___x_1787_; 
v___x_1785_ = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(v___x_1785_, 0, v_c_1778_);
v___x_1786_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1786_, 0, v___x_1785_);
v___x_1787_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1787_, 0, v___x_1786_);
return v___x_1787_;
}
}
v___jp_1788_:
{
lean_object* v_nameAcc_1795_; lean_object* v___x_1796_; lean_object* v_processedArgs_1797_; lean_object* v___x_1798_; size_t v_sz_1799_; size_t v___x_1800_; lean_object* v___x_1801_; 
v_nameAcc_1795_ = lean_box(0);
v___x_1796_ = lean_array_get_size(v_args_1789_);
v_processedArgs_1797_ = lean_mk_empty_array_with_capacity(v___x_1796_);
v___x_1798_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1798_, 0, v_nameAcc_1795_);
lean_ctor_set(v___x_1798_, 1, v_processedArgs_1797_);
v_sz_1799_ = lean_array_size(v_args_1789_);
v___x_1800_ = ((size_t)0ULL);
v___x_1801_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg(v_args_1789_, v_sz_1799_, v___x_1800_, v___x_1798_, v___y_1790_, v___y_1794_);
lean_dec_ref(v_args_1789_);
if (lean_obj_tag(v___x_1801_) == 0)
{
lean_object* v_a_1802_; lean_object* v___x_1804_; uint8_t v_isShared_1805_; uint8_t v_isSharedCheck_1823_; 
v_a_1802_ = lean_ctor_get(v___x_1801_, 0);
v_isSharedCheck_1823_ = !lean_is_exclusive(v___x_1801_);
if (v_isSharedCheck_1823_ == 0)
{
v___x_1804_ = v___x_1801_;
v_isShared_1805_ = v_isSharedCheck_1823_;
goto v_resetjp_1803_;
}
else
{
lean_inc(v_a_1802_);
lean_dec(v___x_1801_);
v___x_1804_ = lean_box(0);
v_isShared_1805_ = v_isSharedCheck_1823_;
goto v_resetjp_1803_;
}
v_resetjp_1803_:
{
if (lean_obj_tag(v_a_1802_) == 0)
{
lean_object* v___x_1806_; lean_object* v___x_1808_; 
v___x_1806_ = lean_box(0);
if (v_isShared_1805_ == 0)
{
lean_ctor_set(v___x_1804_, 0, v___x_1806_);
v___x_1808_ = v___x_1804_;
goto v_reusejp_1807_;
}
else
{
lean_object* v_reuseFailAlloc_1809_; 
v_reuseFailAlloc_1809_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1809_, 0, v___x_1806_);
v___x_1808_ = v_reuseFailAlloc_1809_;
goto v_reusejp_1807_;
}
v_reusejp_1807_:
{
return v___x_1808_;
}
}
else
{
lean_object* v_val_1810_; lean_object* v___x_1812_; uint8_t v_isShared_1813_; uint8_t v_isSharedCheck_1822_; 
v_val_1810_ = lean_ctor_get(v_a_1802_, 0);
v_isSharedCheck_1822_ = !lean_is_exclusive(v_a_1802_);
if (v_isSharedCheck_1822_ == 0)
{
v___x_1812_ = v_a_1802_;
v_isShared_1813_ = v_isSharedCheck_1822_;
goto v_resetjp_1811_;
}
else
{
lean_inc(v_val_1810_);
lean_dec(v_a_1802_);
v___x_1812_ = lean_box(0);
v_isShared_1813_ = v_isSharedCheck_1822_;
goto v_resetjp_1811_;
}
v_resetjp_1811_:
{
lean_object* v_snd_1814_; lean_object* v___x_1815_; lean_object* v___x_1817_; 
v_snd_1814_ = lean_ctor_get(v_val_1810_, 1);
lean_inc(v_snd_1814_);
lean_dec(v_val_1810_);
v___x_1815_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_1815_, 0, v_snd_1814_);
if (v_isShared_1813_ == 0)
{
lean_ctor_set(v___x_1812_, 0, v___x_1815_);
v___x_1817_ = v___x_1812_;
goto v_reusejp_1816_;
}
else
{
lean_object* v_reuseFailAlloc_1821_; 
v_reuseFailAlloc_1821_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1821_, 0, v___x_1815_);
v___x_1817_ = v_reuseFailAlloc_1821_;
goto v_reusejp_1816_;
}
v_reusejp_1816_:
{
lean_object* v___x_1819_; 
if (v_isShared_1805_ == 0)
{
lean_ctor_set(v___x_1804_, 0, v___x_1817_);
v___x_1819_ = v___x_1804_;
goto v_reusejp_1818_;
}
else
{
lean_object* v_reuseFailAlloc_1820_; 
v_reuseFailAlloc_1820_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1820_, 0, v___x_1817_);
v___x_1819_ = v_reuseFailAlloc_1820_;
goto v_reusejp_1818_;
}
v_reusejp_1818_:
{
return v___x_1819_;
}
}
}
}
}
}
else
{
lean_object* v_a_1824_; lean_object* v___x_1826_; uint8_t v_isShared_1827_; uint8_t v_isSharedCheck_1831_; 
v_a_1824_ = lean_ctor_get(v___x_1801_, 0);
v_isSharedCheck_1831_ = !lean_is_exclusive(v___x_1801_);
if (v_isSharedCheck_1831_ == 0)
{
v___x_1826_ = v___x_1801_;
v_isShared_1827_ = v_isSharedCheck_1831_;
goto v_resetjp_1825_;
}
else
{
lean_inc(v_a_1824_);
lean_dec(v___x_1801_);
v___x_1826_ = lean_box(0);
v_isShared_1827_ = v_isSharedCheck_1831_;
goto v_resetjp_1825_;
}
v_resetjp_1825_:
{
lean_object* v___x_1829_; 
if (v_isShared_1827_ == 0)
{
v___x_1829_ = v___x_1826_;
goto v_reusejp_1828_;
}
else
{
lean_object* v_reuseFailAlloc_1830_; 
v_reuseFailAlloc_1830_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1830_, 0, v_a_1824_);
v___x_1829_ = v_reuseFailAlloc_1830_;
goto v_reusejp_1828_;
}
v_reusejp_1828_:
{
return v___x_1829_;
}
}
}
}
v___jp_1832_:
{
lean_object* v___x_1833_; lean_object* v___x_1834_; 
v___x_1833_ = lean_box(0);
v___x_1834_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1834_, 0, v___x_1833_);
return v___x_1834_;
}
v___jp_1836_:
{
lean_object* v___x_1839_; lean_object* v___x_1840_; 
v___x_1839_ = lean_st_ref_get(v___y_1838_);
v___x_1840_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_1835_, v___x_1839_, v_sizeId_1837_);
lean_dec(v_sizeId_1837_);
lean_dec(v___x_1839_);
if (lean_obj_tag(v___x_1840_) == 0)
{
lean_object* v_arg_1841_; 
v_arg_1841_ = lean_ctor_get(v___x_1840_, 0);
lean_inc_ref(v_arg_1841_);
lean_dec_ref(v___x_1840_);
if (lean_obj_tag(v_arg_1841_) == 0)
{
lean_object* v_val_1842_; lean_object* v___x_1844_; uint8_t v_isShared_1845_; uint8_t v_isSharedCheck_1852_; 
v_val_1842_ = lean_ctor_get(v_arg_1841_, 0);
v_isSharedCheck_1852_ = !lean_is_exclusive(v_arg_1841_);
if (v_isSharedCheck_1852_ == 0)
{
v___x_1844_ = v_arg_1841_;
v_isShared_1845_ = v_isSharedCheck_1852_;
goto v_resetjp_1843_;
}
else
{
lean_inc(v_val_1842_);
lean_dec(v_arg_1841_);
v___x_1844_ = lean_box(0);
v_isShared_1845_ = v_isSharedCheck_1852_;
goto v_resetjp_1843_;
}
v_resetjp_1843_:
{
lean_object* v___x_1846_; uint8_t v___x_1847_; 
v___x_1846_ = lean_unsigned_to_nat(0u);
v___x_1847_ = lean_nat_dec_eq(v_val_1842_, v___x_1846_);
lean_dec(v_val_1842_);
if (v___x_1847_ == 0)
{
lean_del_object(v___x_1844_);
goto v___jp_1768_;
}
else
{
lean_object* v___x_1848_; lean_object* v___x_1850_; 
v___x_1848_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__2));
if (v_isShared_1845_ == 0)
{
lean_ctor_set(v___x_1844_, 0, v___x_1848_);
v___x_1850_ = v___x_1844_;
goto v_reusejp_1849_;
}
else
{
lean_object* v_reuseFailAlloc_1851_; 
v_reuseFailAlloc_1851_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1851_, 0, v___x_1848_);
v___x_1850_ = v_reuseFailAlloc_1851_;
goto v_reusejp_1849_;
}
v_reusejp_1849_:
{
return v___x_1850_;
}
}
}
}
else
{
lean_dec_ref(v_arg_1841_);
goto v___jp_1768_;
}
}
else
{
lean_dec(v___x_1840_);
goto v___jp_1768_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___boxed(lean_object* v_e_2457_, lean_object* v_a_2458_, lean_object* v_a_2459_, lean_object* v_a_2460_, lean_object* v_a_2461_, lean_object* v_a_2462_, lean_object* v_a_2463_){
_start:
{
lean_object* v_res_2464_; 
v_res_2464_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet(v_e_2457_, v_a_2458_, v_a_2459_, v_a_2460_, v_a_2461_, v_a_2462_);
lean_dec(v_a_2462_);
lean_dec_ref(v_a_2461_);
lean_dec(v_a_2460_);
lean_dec_ref(v_a_2459_);
lean_dec(v_a_2458_);
return v_res_2464_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0(lean_object* v_as_2465_, size_t v_sz_2466_, size_t v_i_2467_, lean_object* v_b_2468_, lean_object* v___y_2469_, lean_object* v___y_2470_, lean_object* v___y_2471_, lean_object* v___y_2472_, lean_object* v___y_2473_){
_start:
{
lean_object* v___x_2475_; 
v___x_2475_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___redArg(v_as_2465_, v_sz_2466_, v_i_2467_, v_b_2468_, v___y_2469_, v___y_2473_);
return v___x_2475_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0___boxed(lean_object* v_as_2476_, lean_object* v_sz_2477_, lean_object* v_i_2478_, lean_object* v_b_2479_, lean_object* v___y_2480_, lean_object* v___y_2481_, lean_object* v___y_2482_, lean_object* v___y_2483_, lean_object* v___y_2484_, lean_object* v___y_2485_){
_start:
{
size_t v_sz_boxed_2486_; size_t v_i_boxed_2487_; lean_object* v_res_2488_; 
v_sz_boxed_2486_ = lean_unbox_usize(v_sz_2477_);
lean_dec(v_sz_2477_);
v_i_boxed_2487_ = lean_unbox_usize(v_i_2478_);
lean_dec(v_i_2478_);
v_res_2488_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__0(v_as_2476_, v_sz_boxed_2486_, v_i_boxed_2487_, v_b_2479_, v___y_2480_, v___y_2481_, v___y_2482_, v___y_2483_, v___y_2484_);
lean_dec(v___y_2484_);
lean_dec_ref(v___y_2483_);
lean_dec(v___y_2482_);
lean_dec_ref(v___y_2481_);
lean_dec(v___y_2480_);
lean_dec_ref(v_as_2476_);
return v_res_2488_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1(lean_object* v_x_2489_, lean_object* v_x_2490_, lean_object* v___y_2491_, lean_object* v___y_2492_, lean_object* v___y_2493_, lean_object* v___y_2494_, lean_object* v___y_2495_){
_start:
{
lean_object* v___x_2497_; 
v___x_2497_ = l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___redArg(v_x_2489_, v_x_2490_);
return v___x_2497_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1___boxed(lean_object* v_x_2498_, lean_object* v_x_2499_, lean_object* v___y_2500_, lean_object* v___y_2501_, lean_object* v___y_2502_, lean_object* v___y_2503_, lean_object* v___y_2504_, lean_object* v___y_2505_){
_start:
{
lean_object* v_res_2506_; 
v_res_2506_ = l_List_mapM_loop___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__1(v_x_2498_, v_x_2499_, v___y_2500_, v___y_2501_, v___y_2502_, v___y_2503_, v___y_2504_);
lean_dec(v___y_2504_);
lean_dec_ref(v___y_2503_);
lean_dec(v___y_2502_);
lean_dec_ref(v___y_2501_);
lean_dec(v___y_2500_);
return v_res_2506_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2(size_t v_sz_2507_, size_t v_i_2508_, lean_object* v_bs_2509_, lean_object* v___y_2510_, lean_object* v___y_2511_, lean_object* v___y_2512_, lean_object* v___y_2513_, lean_object* v___y_2514_){
_start:
{
lean_object* v___x_2516_; 
v___x_2516_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___redArg(v_sz_2507_, v_i_2508_, v_bs_2509_);
return v___x_2516_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2___boxed(lean_object* v_sz_2517_, lean_object* v_i_2518_, lean_object* v_bs_2519_, lean_object* v___y_2520_, lean_object* v___y_2521_, lean_object* v___y_2522_, lean_object* v___y_2523_, lean_object* v___y_2524_, lean_object* v___y_2525_){
_start:
{
size_t v_sz_boxed_2526_; size_t v_i_boxed_2527_; lean_object* v_res_2528_; 
v_sz_boxed_2526_ = lean_unbox_usize(v_sz_2517_);
lean_dec(v_sz_2517_);
v_i_boxed_2527_ = lean_unbox_usize(v_i_2518_);
lean_dec(v_i_2518_);
v_res_2528_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet_spec__2(v_sz_boxed_2526_, v_i_boxed_2527_, v_bs_2519_, v___y_2520_, v___y_2521_, v___y_2522_, v___y_2523_, v___y_2524_);
lean_dec(v___y_2524_);
lean_dec_ref(v___y_2523_);
lean_dec(v___y_2522_);
lean_dec_ref(v___y_2521_);
lean_dec(v___y_2520_);
return v_res_2528_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4___redArg(lean_object* v_x_2529_, lean_object* v_x_2530_){
_start:
{
if (lean_obj_tag(v_x_2530_) == 0)
{
return v_x_2529_;
}
else
{
lean_object* v_key_2531_; lean_object* v_value_2532_; lean_object* v_tail_2533_; lean_object* v___x_2535_; uint8_t v_isShared_2536_; uint8_t v_isSharedCheck_2556_; 
v_key_2531_ = lean_ctor_get(v_x_2530_, 0);
v_value_2532_ = lean_ctor_get(v_x_2530_, 1);
v_tail_2533_ = lean_ctor_get(v_x_2530_, 2);
v_isSharedCheck_2556_ = !lean_is_exclusive(v_x_2530_);
if (v_isSharedCheck_2556_ == 0)
{
v___x_2535_ = v_x_2530_;
v_isShared_2536_ = v_isSharedCheck_2556_;
goto v_resetjp_2534_;
}
else
{
lean_inc(v_tail_2533_);
lean_inc(v_value_2532_);
lean_inc(v_key_2531_);
lean_dec(v_x_2530_);
v___x_2535_ = lean_box(0);
v_isShared_2536_ = v_isSharedCheck_2556_;
goto v_resetjp_2534_;
}
v_resetjp_2534_:
{
lean_object* v___x_2537_; uint64_t v___x_2538_; uint64_t v___x_2539_; uint64_t v___x_2540_; uint64_t v_fold_2541_; uint64_t v___x_2542_; uint64_t v___x_2543_; uint64_t v___x_2544_; size_t v___x_2545_; size_t v___x_2546_; size_t v___x_2547_; size_t v___x_2548_; size_t v___x_2549_; lean_object* v___x_2550_; lean_object* v___x_2552_; 
v___x_2537_ = lean_array_get_size(v_x_2529_);
v___x_2538_ = l_Lean_instHashableFVarId_hash(v_key_2531_);
v___x_2539_ = 32ULL;
v___x_2540_ = lean_uint64_shift_right(v___x_2538_, v___x_2539_);
v_fold_2541_ = lean_uint64_xor(v___x_2538_, v___x_2540_);
v___x_2542_ = 16ULL;
v___x_2543_ = lean_uint64_shift_right(v_fold_2541_, v___x_2542_);
v___x_2544_ = lean_uint64_xor(v_fold_2541_, v___x_2543_);
v___x_2545_ = lean_uint64_to_usize(v___x_2544_);
v___x_2546_ = lean_usize_of_nat(v___x_2537_);
v___x_2547_ = ((size_t)1ULL);
v___x_2548_ = lean_usize_sub(v___x_2546_, v___x_2547_);
v___x_2549_ = lean_usize_land(v___x_2545_, v___x_2548_);
v___x_2550_ = lean_array_uget_borrowed(v_x_2529_, v___x_2549_);
lean_inc(v___x_2550_);
if (v_isShared_2536_ == 0)
{
lean_ctor_set(v___x_2535_, 2, v___x_2550_);
v___x_2552_ = v___x_2535_;
goto v_reusejp_2551_;
}
else
{
lean_object* v_reuseFailAlloc_2555_; 
v_reuseFailAlloc_2555_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2555_, 0, v_key_2531_);
lean_ctor_set(v_reuseFailAlloc_2555_, 1, v_value_2532_);
lean_ctor_set(v_reuseFailAlloc_2555_, 2, v___x_2550_);
v___x_2552_ = v_reuseFailAlloc_2555_;
goto v_reusejp_2551_;
}
v_reusejp_2551_:
{
lean_object* v___x_2553_; 
v___x_2553_ = lean_array_uset(v_x_2529_, v___x_2549_, v___x_2552_);
v_x_2529_ = v___x_2553_;
v_x_2530_ = v_tail_2533_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3___redArg(lean_object* v_i_2557_, lean_object* v_source_2558_, lean_object* v_target_2559_){
_start:
{
lean_object* v___x_2560_; uint8_t v___x_2561_; 
v___x_2560_ = lean_array_get_size(v_source_2558_);
v___x_2561_ = lean_nat_dec_lt(v_i_2557_, v___x_2560_);
if (v___x_2561_ == 0)
{
lean_dec_ref(v_source_2558_);
lean_dec(v_i_2557_);
return v_target_2559_;
}
else
{
lean_object* v_es_2562_; lean_object* v___x_2563_; lean_object* v_source_2564_; lean_object* v_target_2565_; lean_object* v___x_2566_; lean_object* v___x_2567_; 
v_es_2562_ = lean_array_fget(v_source_2558_, v_i_2557_);
v___x_2563_ = lean_box(0);
v_source_2564_ = lean_array_fset(v_source_2558_, v_i_2557_, v___x_2563_);
v_target_2565_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4___redArg(v_target_2559_, v_es_2562_);
v___x_2566_ = lean_unsigned_to_nat(1u);
v___x_2567_ = lean_nat_add(v_i_2557_, v___x_2566_);
lean_dec(v_i_2557_);
v_i_2557_ = v___x_2567_;
v_source_2558_ = v_source_2564_;
v_target_2559_ = v_target_2565_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2___redArg(lean_object* v_data_2569_){
_start:
{
lean_object* v___x_2570_; lean_object* v___x_2571_; lean_object* v_nbuckets_2572_; lean_object* v___x_2573_; lean_object* v___x_2574_; lean_object* v___x_2575_; lean_object* v___x_2576_; 
v___x_2570_ = lean_array_get_size(v_data_2569_);
v___x_2571_ = lean_unsigned_to_nat(2u);
v_nbuckets_2572_ = lean_nat_mul(v___x_2570_, v___x_2571_);
v___x_2573_ = lean_unsigned_to_nat(0u);
v___x_2574_ = lean_box(0);
v___x_2575_ = lean_mk_array(v_nbuckets_2572_, v___x_2574_);
v___x_2576_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3___redArg(v___x_2573_, v_data_2569_, v___x_2575_);
return v___x_2576_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg(lean_object* v_a_2577_, lean_object* v_x_2578_){
_start:
{
if (lean_obj_tag(v_x_2578_) == 0)
{
uint8_t v___x_2579_; 
v___x_2579_ = 0;
return v___x_2579_;
}
else
{
lean_object* v_key_2580_; lean_object* v_tail_2581_; uint8_t v___x_2582_; 
v_key_2580_ = lean_ctor_get(v_x_2578_, 0);
v_tail_2581_ = lean_ctor_get(v_x_2578_, 2);
v___x_2582_ = l_Lean_instBEqFVarId_beq(v_key_2580_, v_a_2577_);
if (v___x_2582_ == 0)
{
v_x_2578_ = v_tail_2581_;
goto _start;
}
else
{
return v___x_2582_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg___boxed(lean_object* v_a_2584_, lean_object* v_x_2585_){
_start:
{
uint8_t v_res_2586_; lean_object* v_r_2587_; 
v_res_2586_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg(v_a_2584_, v_x_2585_);
lean_dec(v_x_2585_);
lean_dec(v_a_2584_);
v_r_2587_ = lean_box(v_res_2586_);
return v_r_2587_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3___redArg(lean_object* v_a_2588_, lean_object* v_b_2589_, lean_object* v_x_2590_){
_start:
{
if (lean_obj_tag(v_x_2590_) == 0)
{
lean_dec(v_b_2589_);
lean_dec(v_a_2588_);
return v_x_2590_;
}
else
{
lean_object* v_key_2591_; lean_object* v_value_2592_; lean_object* v_tail_2593_; lean_object* v___x_2595_; uint8_t v_isShared_2596_; uint8_t v_isSharedCheck_2605_; 
v_key_2591_ = lean_ctor_get(v_x_2590_, 0);
v_value_2592_ = lean_ctor_get(v_x_2590_, 1);
v_tail_2593_ = lean_ctor_get(v_x_2590_, 2);
v_isSharedCheck_2605_ = !lean_is_exclusive(v_x_2590_);
if (v_isSharedCheck_2605_ == 0)
{
v___x_2595_ = v_x_2590_;
v_isShared_2596_ = v_isSharedCheck_2605_;
goto v_resetjp_2594_;
}
else
{
lean_inc(v_tail_2593_);
lean_inc(v_value_2592_);
lean_inc(v_key_2591_);
lean_dec(v_x_2590_);
v___x_2595_ = lean_box(0);
v_isShared_2596_ = v_isSharedCheck_2605_;
goto v_resetjp_2594_;
}
v_resetjp_2594_:
{
uint8_t v___x_2597_; 
v___x_2597_ = l_Lean_instBEqFVarId_beq(v_key_2591_, v_a_2588_);
if (v___x_2597_ == 0)
{
lean_object* v___x_2598_; lean_object* v___x_2600_; 
v___x_2598_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3___redArg(v_a_2588_, v_b_2589_, v_tail_2593_);
if (v_isShared_2596_ == 0)
{
lean_ctor_set(v___x_2595_, 2, v___x_2598_);
v___x_2600_ = v___x_2595_;
goto v_reusejp_2599_;
}
else
{
lean_object* v_reuseFailAlloc_2601_; 
v_reuseFailAlloc_2601_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2601_, 0, v_key_2591_);
lean_ctor_set(v_reuseFailAlloc_2601_, 1, v_value_2592_);
lean_ctor_set(v_reuseFailAlloc_2601_, 2, v___x_2598_);
v___x_2600_ = v_reuseFailAlloc_2601_;
goto v_reusejp_2599_;
}
v_reusejp_2599_:
{
return v___x_2600_;
}
}
else
{
lean_object* v___x_2603_; 
lean_dec(v_value_2592_);
lean_dec(v_key_2591_);
if (v_isShared_2596_ == 0)
{
lean_ctor_set(v___x_2595_, 1, v_b_2589_);
lean_ctor_set(v___x_2595_, 0, v_a_2588_);
v___x_2603_ = v___x_2595_;
goto v_reusejp_2602_;
}
else
{
lean_object* v_reuseFailAlloc_2604_; 
v_reuseFailAlloc_2604_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2604_, 0, v_a_2588_);
lean_ctor_set(v_reuseFailAlloc_2604_, 1, v_b_2589_);
lean_ctor_set(v_reuseFailAlloc_2604_, 2, v_tail_2593_);
v___x_2603_ = v_reuseFailAlloc_2604_;
goto v_reusejp_2602_;
}
v_reusejp_2602_:
{
return v___x_2603_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(lean_object* v_m_2606_, lean_object* v_a_2607_, lean_object* v_b_2608_){
_start:
{
lean_object* v_size_2609_; lean_object* v_buckets_2610_; lean_object* v___x_2612_; uint8_t v_isShared_2613_; uint8_t v_isSharedCheck_2653_; 
v_size_2609_ = lean_ctor_get(v_m_2606_, 0);
v_buckets_2610_ = lean_ctor_get(v_m_2606_, 1);
v_isSharedCheck_2653_ = !lean_is_exclusive(v_m_2606_);
if (v_isSharedCheck_2653_ == 0)
{
v___x_2612_ = v_m_2606_;
v_isShared_2613_ = v_isSharedCheck_2653_;
goto v_resetjp_2611_;
}
else
{
lean_inc(v_buckets_2610_);
lean_inc(v_size_2609_);
lean_dec(v_m_2606_);
v___x_2612_ = lean_box(0);
v_isShared_2613_ = v_isSharedCheck_2653_;
goto v_resetjp_2611_;
}
v_resetjp_2611_:
{
lean_object* v___x_2614_; uint64_t v___x_2615_; uint64_t v___x_2616_; uint64_t v___x_2617_; uint64_t v_fold_2618_; uint64_t v___x_2619_; uint64_t v___x_2620_; uint64_t v___x_2621_; size_t v___x_2622_; size_t v___x_2623_; size_t v___x_2624_; size_t v___x_2625_; size_t v___x_2626_; lean_object* v_bkt_2627_; uint8_t v___x_2628_; 
v___x_2614_ = lean_array_get_size(v_buckets_2610_);
v___x_2615_ = l_Lean_instHashableFVarId_hash(v_a_2607_);
v___x_2616_ = 32ULL;
v___x_2617_ = lean_uint64_shift_right(v___x_2615_, v___x_2616_);
v_fold_2618_ = lean_uint64_xor(v___x_2615_, v___x_2617_);
v___x_2619_ = 16ULL;
v___x_2620_ = lean_uint64_shift_right(v_fold_2618_, v___x_2619_);
v___x_2621_ = lean_uint64_xor(v_fold_2618_, v___x_2620_);
v___x_2622_ = lean_uint64_to_usize(v___x_2621_);
v___x_2623_ = lean_usize_of_nat(v___x_2614_);
v___x_2624_ = ((size_t)1ULL);
v___x_2625_ = lean_usize_sub(v___x_2623_, v___x_2624_);
v___x_2626_ = lean_usize_land(v___x_2622_, v___x_2625_);
v_bkt_2627_ = lean_array_uget_borrowed(v_buckets_2610_, v___x_2626_);
v___x_2628_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg(v_a_2607_, v_bkt_2627_);
if (v___x_2628_ == 0)
{
lean_object* v___x_2629_; lean_object* v_size_x27_2630_; lean_object* v___x_2631_; lean_object* v_buckets_x27_2632_; lean_object* v___x_2633_; lean_object* v___x_2634_; lean_object* v___x_2635_; lean_object* v___x_2636_; lean_object* v___x_2637_; uint8_t v___x_2638_; 
v___x_2629_ = lean_unsigned_to_nat(1u);
v_size_x27_2630_ = lean_nat_add(v_size_2609_, v___x_2629_);
lean_dec(v_size_2609_);
lean_inc(v_bkt_2627_);
v___x_2631_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_2631_, 0, v_a_2607_);
lean_ctor_set(v___x_2631_, 1, v_b_2608_);
lean_ctor_set(v___x_2631_, 2, v_bkt_2627_);
v_buckets_x27_2632_ = lean_array_uset(v_buckets_2610_, v___x_2626_, v___x_2631_);
v___x_2633_ = lean_unsigned_to_nat(4u);
v___x_2634_ = lean_nat_mul(v_size_x27_2630_, v___x_2633_);
v___x_2635_ = lean_unsigned_to_nat(3u);
v___x_2636_ = lean_nat_div(v___x_2634_, v___x_2635_);
lean_dec(v___x_2634_);
v___x_2637_ = lean_array_get_size(v_buckets_x27_2632_);
v___x_2638_ = lean_nat_dec_le(v___x_2636_, v___x_2637_);
lean_dec(v___x_2636_);
if (v___x_2638_ == 0)
{
lean_object* v_val_2639_; lean_object* v___x_2641_; 
v_val_2639_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2___redArg(v_buckets_x27_2632_);
if (v_isShared_2613_ == 0)
{
lean_ctor_set(v___x_2612_, 1, v_val_2639_);
lean_ctor_set(v___x_2612_, 0, v_size_x27_2630_);
v___x_2641_ = v___x_2612_;
goto v_reusejp_2640_;
}
else
{
lean_object* v_reuseFailAlloc_2642_; 
v_reuseFailAlloc_2642_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2642_, 0, v_size_x27_2630_);
lean_ctor_set(v_reuseFailAlloc_2642_, 1, v_val_2639_);
v___x_2641_ = v_reuseFailAlloc_2642_;
goto v_reusejp_2640_;
}
v_reusejp_2640_:
{
return v___x_2641_;
}
}
else
{
lean_object* v___x_2644_; 
if (v_isShared_2613_ == 0)
{
lean_ctor_set(v___x_2612_, 1, v_buckets_x27_2632_);
lean_ctor_set(v___x_2612_, 0, v_size_x27_2630_);
v___x_2644_ = v___x_2612_;
goto v_reusejp_2643_;
}
else
{
lean_object* v_reuseFailAlloc_2645_; 
v_reuseFailAlloc_2645_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2645_, 0, v_size_x27_2630_);
lean_ctor_set(v_reuseFailAlloc_2645_, 1, v_buckets_x27_2632_);
v___x_2644_ = v_reuseFailAlloc_2645_;
goto v_reusejp_2643_;
}
v_reusejp_2643_:
{
return v___x_2644_;
}
}
}
else
{
lean_object* v___x_2646_; lean_object* v_buckets_x27_2647_; lean_object* v___x_2648_; lean_object* v___x_2649_; lean_object* v___x_2651_; 
lean_inc(v_bkt_2627_);
v___x_2646_ = lean_box(0);
v_buckets_x27_2647_ = lean_array_uset(v_buckets_2610_, v___x_2626_, v___x_2646_);
v___x_2648_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3___redArg(v_a_2607_, v_b_2608_, v_bkt_2627_);
v___x_2649_ = lean_array_uset(v_buckets_x27_2647_, v___x_2626_, v___x_2648_);
if (v_isShared_2613_ == 0)
{
lean_ctor_set(v___x_2612_, 1, v___x_2649_);
v___x_2651_ = v___x_2612_;
goto v_reusejp_2650_;
}
else
{
lean_object* v_reuseFailAlloc_2652_; 
v_reuseFailAlloc_2652_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2652_, 0, v_size_2609_);
lean_ctor_set(v_reuseFailAlloc_2652_, 1, v___x_2649_);
v___x_2651_ = v_reuseFailAlloc_2652_;
goto v_reusejp_2650_;
}
v_reusejp_2650_:
{
return v___x_2651_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet(lean_object* v_decl_2657_, lean_object* v_k_2658_, lean_object* v_a_2659_, lean_object* v_a_2660_, lean_object* v_a_2661_, lean_object* v_a_2662_, lean_object* v_a_2663_){
_start:
{
lean_object* v_fvarId_2674_; lean_object* v_type_2675_; lean_object* v_value_2676_; lean_object* v___x_2677_; lean_object* v_sizeId_2679_; lean_object* v___y_2680_; lean_object* v___y_2681_; lean_object* v___y_2682_; lean_object* v___y_2683_; lean_object* v___y_2684_; 
v_fvarId_2674_ = lean_ctor_get(v_decl_2657_, 0);
lean_inc(v_fvarId_2674_);
v_type_2675_ = lean_ctor_get(v_decl_2657_, 2);
lean_inc_ref(v_type_2675_);
v_value_2676_ = lean_ctor_get(v_decl_2657_, 3);
lean_inc(v_value_2676_);
lean_dec_ref(v_decl_2657_);
v___x_2677_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_instInhabitedSimpleGroundValue_default));
switch(lean_obj_tag(v_value_2676_))
{
case 9:
{
lean_object* v_fn_2695_; lean_object* v_args_2696_; lean_object* v___x_2698_; uint8_t v_isShared_2699_; uint8_t v_isSharedCheck_2780_; 
lean_dec_ref(v_type_2675_);
v_fn_2695_ = lean_ctor_get(v_value_2676_, 0);
v_args_2696_ = lean_ctor_get(v_value_2676_, 1);
v_isSharedCheck_2780_ = !lean_is_exclusive(v_value_2676_);
if (v_isSharedCheck_2780_ == 0)
{
v___x_2698_ = v_value_2676_;
v_isShared_2699_ = v_isSharedCheck_2780_;
goto v_resetjp_2697_;
}
else
{
lean_inc(v_args_2696_);
lean_inc(v_fn_2695_);
lean_dec(v_value_2676_);
v___x_2698_ = lean_box(0);
v_isShared_2699_ = v_isSharedCheck_2780_;
goto v_resetjp_2697_;
}
v_resetjp_2697_:
{
lean_object* v___x_2700_; lean_object* v___x_2701_; uint8_t v___x_2702_; 
v___x_2700_ = lean_array_get_size(v_args_2696_);
v___x_2701_ = lean_unsigned_to_nat(0u);
v___x_2702_ = lean_nat_dec_eq(v___x_2700_, v___x_2701_);
if (v___x_2702_ == 0)
{
lean_object* v___x_2703_; uint8_t v___x_2704_; 
v___x_2703_ = lean_unsigned_to_nat(2u);
v___x_2704_ = lean_nat_dec_eq(v___x_2700_, v___x_2703_);
if (v___x_2704_ == 0)
{
lean_object* v___x_2705_; uint8_t v___x_2706_; 
v___x_2705_ = lean_unsigned_to_nat(3u);
v___x_2706_ = lean_nat_dec_eq(v___x_2700_, v___x_2705_);
if (v___x_2706_ == 0)
{
lean_del_object(v___x_2698_);
lean_dec_ref(v_args_2696_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
else
{
lean_object* v___x_2707_; 
v___x_2707_ = lean_array_fget_borrowed(v_args_2696_, v___x_2701_);
if (lean_obj_tag(v___x_2707_) == 0)
{
lean_object* v___x_2708_; lean_object* v___x_2709_; 
v___x_2708_ = lean_unsigned_to_nat(1u);
v___x_2709_ = lean_array_fget_borrowed(v_args_2696_, v___x_2708_);
if (lean_obj_tag(v___x_2709_) == 1)
{
lean_object* v_fvarId_2710_; lean_object* v___x_2711_; 
v_fvarId_2710_ = lean_ctor_get(v___x_2709_, 0);
lean_inc(v_fvarId_2710_);
v___x_2711_ = lean_array_fget(v_args_2696_, v___x_2703_);
lean_dec_ref(v_args_2696_);
if (lean_obj_tag(v___x_2711_) == 1)
{
if (lean_obj_tag(v_fn_2695_) == 1)
{
lean_object* v_pre_2712_; 
v_pre_2712_ = lean_ctor_get(v_fn_2695_, 0);
lean_inc(v_pre_2712_);
if (lean_obj_tag(v_pre_2712_) == 1)
{
lean_object* v_pre_2713_; 
v_pre_2713_ = lean_ctor_get(v_pre_2712_, 0);
if (lean_obj_tag(v_pre_2713_) == 0)
{
lean_object* v_fvarId_2714_; lean_object* v___x_2716_; uint8_t v_isShared_2717_; uint8_t v_isSharedCheck_2754_; 
v_fvarId_2714_ = lean_ctor_get(v___x_2711_, 0);
v_isSharedCheck_2754_ = !lean_is_exclusive(v___x_2711_);
if (v_isSharedCheck_2754_ == 0)
{
v___x_2716_ = v___x_2711_;
v_isShared_2717_ = v_isSharedCheck_2754_;
goto v_resetjp_2715_;
}
else
{
lean_inc(v_fvarId_2714_);
lean_dec(v___x_2711_);
v___x_2716_ = lean_box(0);
v_isShared_2717_ = v_isSharedCheck_2754_;
goto v_resetjp_2715_;
}
v_resetjp_2715_:
{
lean_object* v_str_2718_; lean_object* v_str_2719_; lean_object* v___x_2720_; uint8_t v___x_2721_; 
v_str_2718_ = lean_ctor_get(v_fn_2695_, 1);
lean_inc_ref(v_str_2718_);
lean_dec_ref(v_fn_2695_);
v_str_2719_ = lean_ctor_get(v_pre_2712_, 1);
lean_inc_ref(v_str_2719_);
lean_dec_ref(v_pre_2712_);
v___x_2720_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17));
v___x_2721_ = lean_string_dec_eq(v_str_2719_, v___x_2720_);
lean_dec_ref(v_str_2719_);
if (v___x_2721_ == 0)
{
lean_dec_ref(v_str_2718_);
lean_del_object(v___x_2716_);
lean_dec(v_fvarId_2714_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
else
{
lean_object* v___x_2722_; uint8_t v___x_2723_; 
v___x_2722_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__22));
v___x_2723_ = lean_string_dec_eq(v_str_2718_, v___x_2722_);
lean_dec_ref(v_str_2718_);
if (v___x_2723_ == 0)
{
lean_del_object(v___x_2716_);
lean_dec(v_fvarId_2714_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
else
{
lean_object* v___x_2724_; lean_object* v___x_2725_; 
v___x_2724_ = lean_st_ref_get(v_a_2659_);
v___x_2725_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_2677_, v___x_2724_, v_fvarId_2710_);
lean_dec(v_fvarId_2710_);
lean_dec(v___x_2724_);
if (lean_obj_tag(v___x_2725_) == 6)
{
lean_object* v_elems_2726_; lean_object* v_remainingCapacity_2727_; lean_object* v___x_2729_; uint8_t v_isShared_2730_; uint8_t v_isSharedCheck_2749_; 
v_elems_2726_ = lean_ctor_get(v___x_2725_, 0);
v_remainingCapacity_2727_ = lean_ctor_get(v___x_2725_, 1);
v_isSharedCheck_2749_ = !lean_is_exclusive(v___x_2725_);
if (v_isSharedCheck_2749_ == 0)
{
v___x_2729_ = v___x_2725_;
v_isShared_2730_ = v_isSharedCheck_2749_;
goto v_resetjp_2728_;
}
else
{
lean_inc(v_remainingCapacity_2727_);
lean_inc(v_elems_2726_);
lean_dec(v___x_2725_);
v___x_2729_ = lean_box(0);
v_isShared_2730_ = v_isSharedCheck_2749_;
goto v_resetjp_2728_;
}
v_resetjp_2728_:
{
lean_object* v___x_2731_; lean_object* v___x_2732_; 
v___x_2731_ = lean_st_ref_get(v_a_2659_);
v___x_2732_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_2677_, v___x_2731_, v_fvarId_2714_);
lean_dec(v_fvarId_2714_);
lean_dec(v___x_2731_);
if (lean_obj_tag(v___x_2732_) == 0)
{
lean_object* v_arg_2733_; lean_object* v___x_2734_; lean_object* v___x_2736_; 
lean_del_object(v___x_2716_);
v_arg_2733_ = lean_ctor_get(v___x_2732_, 0);
lean_inc_ref(v_arg_2733_);
lean_dec_ref(v___x_2732_);
v___x_2734_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2699_ == 0)
{
lean_ctor_set_tag(v___x_2698_, 1);
lean_ctor_set(v___x_2698_, 1, v_elems_2726_);
lean_ctor_set(v___x_2698_, 0, v_arg_2733_);
v___x_2736_ = v___x_2698_;
goto v_reusejp_2735_;
}
else
{
lean_object* v_reuseFailAlloc_2744_; 
v_reuseFailAlloc_2744_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2744_, 0, v_arg_2733_);
lean_ctor_set(v_reuseFailAlloc_2744_, 1, v_elems_2726_);
v___x_2736_ = v_reuseFailAlloc_2744_;
goto v_reusejp_2735_;
}
v_reusejp_2735_:
{
lean_object* v___x_2737_; lean_object* v___x_2739_; 
v___x_2737_ = lean_nat_sub(v_remainingCapacity_2727_, v___x_2708_);
lean_dec(v_remainingCapacity_2727_);
if (v_isShared_2730_ == 0)
{
lean_ctor_set(v___x_2729_, 1, v___x_2737_);
lean_ctor_set(v___x_2729_, 0, v___x_2736_);
v___x_2739_ = v___x_2729_;
goto v_reusejp_2738_;
}
else
{
lean_object* v_reuseFailAlloc_2743_; 
v_reuseFailAlloc_2743_ = lean_alloc_ctor(6, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2743_, 0, v___x_2736_);
lean_ctor_set(v_reuseFailAlloc_2743_, 1, v___x_2737_);
v___x_2739_ = v_reuseFailAlloc_2743_;
goto v_reusejp_2738_;
}
v_reusejp_2738_:
{
lean_object* v___x_2740_; lean_object* v___x_2741_; lean_object* v___x_2742_; 
v___x_2740_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2734_, v_fvarId_2674_, v___x_2739_);
v___x_2741_ = lean_st_ref_set(v_a_2659_, v___x_2740_);
v___x_2742_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2742_;
}
}
}
else
{
lean_object* v___x_2745_; lean_object* v___x_2747_; 
lean_dec(v___x_2732_);
lean_del_object(v___x_2729_);
lean_dec(v_remainingCapacity_2727_);
lean_dec(v_elems_2726_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2745_ = lean_box(0);
if (v_isShared_2717_ == 0)
{
lean_ctor_set_tag(v___x_2716_, 0);
lean_ctor_set(v___x_2716_, 0, v___x_2745_);
v___x_2747_ = v___x_2716_;
goto v_reusejp_2746_;
}
else
{
lean_object* v_reuseFailAlloc_2748_; 
v_reuseFailAlloc_2748_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2748_, 0, v___x_2745_);
v___x_2747_ = v_reuseFailAlloc_2748_;
goto v_reusejp_2746_;
}
v_reusejp_2746_:
{
return v___x_2747_;
}
}
}
}
else
{
lean_object* v___x_2750_; lean_object* v___x_2752_; 
lean_dec(v___x_2725_);
lean_dec(v_fvarId_2714_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2750_ = lean_box(0);
if (v_isShared_2717_ == 0)
{
lean_ctor_set_tag(v___x_2716_, 0);
lean_ctor_set(v___x_2716_, 0, v___x_2750_);
v___x_2752_ = v___x_2716_;
goto v_reusejp_2751_;
}
else
{
lean_object* v_reuseFailAlloc_2753_; 
v_reuseFailAlloc_2753_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2753_, 0, v___x_2750_);
v___x_2752_ = v_reuseFailAlloc_2753_;
goto v_reusejp_2751_;
}
v_reusejp_2751_:
{
return v___x_2752_;
}
}
}
}
}
}
else
{
lean_dec_ref(v_pre_2712_);
lean_dec_ref(v_fn_2695_);
lean_dec_ref(v___x_2711_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec(v_pre_2712_);
lean_dec_ref(v_fn_2695_);
lean_dec_ref(v___x_2711_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec_ref(v___x_2711_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec(v___x_2711_);
lean_dec(v_fvarId_2710_);
lean_del_object(v___x_2698_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_del_object(v___x_2698_);
lean_dec_ref(v_args_2696_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_del_object(v___x_2698_);
lean_dec_ref(v_args_2696_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
}
else
{
lean_object* v___x_2755_; 
lean_del_object(v___x_2698_);
v___x_2755_ = lean_array_fget_borrowed(v_args_2696_, v___x_2701_);
if (lean_obj_tag(v___x_2755_) == 0)
{
lean_object* v___x_2756_; lean_object* v___x_2757_; 
v___x_2756_ = lean_unsigned_to_nat(1u);
v___x_2757_ = lean_array_fget(v_args_2696_, v___x_2756_);
lean_dec_ref(v_args_2696_);
if (lean_obj_tag(v___x_2757_) == 1)
{
if (lean_obj_tag(v_fn_2695_) == 1)
{
lean_object* v_pre_2758_; 
v_pre_2758_ = lean_ctor_get(v_fn_2695_, 0);
lean_inc(v_pre_2758_);
if (lean_obj_tag(v_pre_2758_) == 1)
{
lean_object* v_pre_2759_; 
v_pre_2759_ = lean_ctor_get(v_pre_2758_, 0);
if (lean_obj_tag(v_pre_2759_) == 0)
{
lean_object* v_fvarId_2760_; lean_object* v_str_2761_; lean_object* v_str_2762_; lean_object* v___x_2763_; uint8_t v___x_2764_; 
v_fvarId_2760_ = lean_ctor_get(v___x_2757_, 0);
lean_inc(v_fvarId_2760_);
lean_dec_ref(v___x_2757_);
v_str_2761_ = lean_ctor_get(v_fn_2695_, 1);
lean_inc_ref(v_str_2761_);
lean_dec_ref(v_fn_2695_);
v_str_2762_ = lean_ctor_get(v_pre_2758_, 1);
lean_inc_ref(v_str_2762_);
lean_dec_ref(v_pre_2758_);
v___x_2763_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__17));
v___x_2764_ = lean_string_dec_eq(v_str_2762_, v___x_2763_);
lean_dec_ref(v_str_2762_);
if (v___x_2764_ == 0)
{
lean_dec_ref(v_str_2761_);
lean_dec(v_fvarId_2760_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
else
{
lean_object* v___x_2765_; uint8_t v___x_2766_; 
v___x_2765_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__20));
v___x_2766_ = lean_string_dec_eq(v_str_2761_, v___x_2765_);
if (v___x_2766_ == 0)
{
lean_object* v___x_2767_; uint8_t v___x_2768_; 
v___x_2767_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet___closed__21));
v___x_2768_ = lean_string_dec_eq(v_str_2761_, v___x_2767_);
lean_dec_ref(v_str_2761_);
if (v___x_2768_ == 0)
{
lean_dec(v_fvarId_2760_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
else
{
v_sizeId_2679_ = v_fvarId_2760_;
v___y_2680_ = v_a_2659_;
v___y_2681_ = v_a_2660_;
v___y_2682_ = v_a_2661_;
v___y_2683_ = v_a_2662_;
v___y_2684_ = v_a_2663_;
goto v___jp_2678_;
}
}
else
{
lean_dec_ref(v_str_2761_);
v_sizeId_2679_ = v_fvarId_2760_;
v___y_2680_ = v_a_2659_;
v___y_2681_ = v_a_2660_;
v___y_2682_ = v_a_2661_;
v___y_2683_ = v_a_2662_;
v___y_2684_ = v_a_2663_;
goto v___jp_2678_;
}
}
}
else
{
lean_dec_ref(v_pre_2758_);
lean_dec_ref(v_fn_2695_);
lean_dec_ref(v___x_2757_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec_ref(v_fn_2695_);
lean_dec(v_pre_2758_);
lean_dec_ref(v___x_2757_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec_ref(v___x_2757_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec(v___x_2757_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
else
{
lean_dec_ref(v_args_2696_);
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
}
else
{
lean_object* v___x_2769_; lean_object* v_env_2770_; uint8_t v___x_2771_; 
lean_del_object(v___x_2698_);
lean_dec_ref(v_args_2696_);
v___x_2769_ = lean_st_ref_get(v_a_2663_);
v_env_2770_ = lean_ctor_get(v___x_2769_, 0);
lean_inc_ref(v_env_2770_);
lean_dec(v___x_2769_);
v___x_2771_ = l_Lean_Compiler_LCNF_isSimpleGroundDecl(v_env_2770_, v_fn_2695_);
if (v___x_2771_ == 0)
{
lean_object* v___x_2772_; lean_object* v___x_2773_; 
lean_dec(v_fn_2695_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2772_ = lean_box(0);
v___x_2773_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2773_, 0, v___x_2772_);
return v___x_2773_;
}
else
{
lean_object* v___x_2774_; lean_object* v___x_2775_; lean_object* v___x_2776_; lean_object* v___x_2777_; lean_object* v___x_2778_; lean_object* v___x_2779_; 
v___x_2774_ = lean_st_ref_take(v_a_2659_);
v___x_2775_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2775_, 0, v_fn_2695_);
v___x_2776_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2776_, 0, v___x_2775_);
v___x_2777_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2774_, v_fvarId_2674_, v___x_2776_);
v___x_2778_ = lean_st_ref_set(v_a_2659_, v___x_2777_);
v___x_2779_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2779_;
}
}
}
}
case 0:
{
lean_object* v_value_2781_; lean_object* v___x_2783_; uint8_t v_isShared_2784_; uint8_t v_isSharedCheck_2881_; 
v_value_2781_ = lean_ctor_get(v_value_2676_, 0);
v_isSharedCheck_2881_ = !lean_is_exclusive(v_value_2676_);
if (v_isSharedCheck_2881_ == 0)
{
v___x_2783_ = v_value_2676_;
v_isShared_2784_ = v_isSharedCheck_2881_;
goto v_resetjp_2782_;
}
else
{
lean_inc(v_value_2781_);
lean_dec(v_value_2676_);
v___x_2783_ = lean_box(0);
v_isShared_2784_ = v_isSharedCheck_2881_;
goto v_resetjp_2782_;
}
v_resetjp_2782_:
{
switch(lean_obj_tag(v_value_2781_))
{
case 0:
{
if (lean_obj_tag(v_type_2675_) == 4)
{
lean_object* v_declName_2785_; 
v_declName_2785_ = lean_ctor_get(v_type_2675_, 0);
lean_inc(v_declName_2785_);
if (lean_obj_tag(v_declName_2785_) == 1)
{
lean_object* v_pre_2786_; 
v_pre_2786_ = lean_ctor_get(v_declName_2785_, 0);
if (lean_obj_tag(v_pre_2786_) == 0)
{
lean_object* v_val_2787_; lean_object* v___x_2789_; uint8_t v_isShared_2790_; uint8_t v_isSharedCheck_2811_; 
v_val_2787_ = lean_ctor_get(v_value_2781_, 0);
v_isSharedCheck_2811_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2811_ == 0)
{
v___x_2789_ = v_value_2781_;
v_isShared_2790_ = v_isSharedCheck_2811_;
goto v_resetjp_2788_;
}
else
{
lean_inc(v_val_2787_);
lean_dec(v_value_2781_);
v___x_2789_ = lean_box(0);
v_isShared_2790_ = v_isSharedCheck_2811_;
goto v_resetjp_2788_;
}
v_resetjp_2788_:
{
lean_object* v_us_2791_; lean_object* v_str_2792_; lean_object* v___x_2793_; uint8_t v___x_2794_; 
v_us_2791_ = lean_ctor_get(v_type_2675_, 1);
lean_inc(v_us_2791_);
lean_dec_ref(v_type_2675_);
v_str_2792_ = lean_ctor_get(v_declName_2785_, 1);
lean_inc_ref(v_str_2792_);
lean_dec_ref(v_declName_2785_);
v___x_2793_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___closed__0));
v___x_2794_ = lean_string_dec_eq(v_str_2792_, v___x_2793_);
lean_dec_ref(v_str_2792_);
if (v___x_2794_ == 0)
{
lean_dec(v_us_2791_);
lean_del_object(v___x_2789_);
lean_dec(v_val_2787_);
lean_del_object(v___x_2783_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2665_;
}
else
{
if (lean_obj_tag(v_us_2791_) == 0)
{
lean_object* v___x_2795_; uint8_t v___x_2796_; 
v___x_2795_ = lean_unsigned_to_nat(2147483648u);
v___x_2796_ = lean_nat_dec_lt(v_val_2787_, v___x_2795_);
if (v___x_2796_ == 0)
{
lean_object* v___x_2797_; lean_object* v___x_2799_; 
lean_dec(v_val_2787_);
lean_del_object(v___x_2783_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2797_ = lean_box(0);
if (v_isShared_2790_ == 0)
{
lean_ctor_set(v___x_2789_, 0, v___x_2797_);
v___x_2799_ = v___x_2789_;
goto v_reusejp_2798_;
}
else
{
lean_object* v_reuseFailAlloc_2800_; 
v_reuseFailAlloc_2800_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2800_, 0, v___x_2797_);
v___x_2799_ = v_reuseFailAlloc_2800_;
goto v_reusejp_2798_;
}
v_reusejp_2798_:
{
return v___x_2799_;
}
}
else
{
lean_object* v___x_2801_; lean_object* v___x_2803_; 
v___x_2801_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2790_ == 0)
{
v___x_2803_ = v___x_2789_;
goto v_reusejp_2802_;
}
else
{
lean_object* v_reuseFailAlloc_2810_; 
v_reuseFailAlloc_2810_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2810_, 0, v_val_2787_);
v___x_2803_ = v_reuseFailAlloc_2810_;
goto v_reusejp_2802_;
}
v_reusejp_2802_:
{
lean_object* v___x_2805_; 
if (v_isShared_2784_ == 0)
{
lean_ctor_set(v___x_2783_, 0, v___x_2803_);
v___x_2805_ = v___x_2783_;
goto v_reusejp_2804_;
}
else
{
lean_object* v_reuseFailAlloc_2809_; 
v_reuseFailAlloc_2809_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2809_, 0, v___x_2803_);
v___x_2805_ = v_reuseFailAlloc_2809_;
goto v_reusejp_2804_;
}
v_reusejp_2804_:
{
lean_object* v___x_2806_; lean_object* v___x_2807_; lean_object* v___x_2808_; 
v___x_2806_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2801_, v_fvarId_2674_, v___x_2805_);
v___x_2807_ = lean_st_ref_set(v_a_2659_, v___x_2806_);
v___x_2808_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2808_;
}
}
}
}
else
{
lean_dec(v_us_2791_);
lean_del_object(v___x_2789_);
lean_dec(v_val_2787_);
lean_del_object(v___x_2783_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2665_;
}
}
}
}
else
{
lean_dec_ref(v_declName_2785_);
lean_dec_ref(v_type_2675_);
lean_dec_ref(v_value_2781_);
lean_del_object(v___x_2783_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2665_;
}
}
else
{
lean_dec(v_declName_2785_);
lean_dec_ref(v_type_2675_);
lean_dec_ref(v_value_2781_);
lean_del_object(v___x_2783_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2665_;
}
}
else
{
lean_dec_ref(v_value_2781_);
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2665_;
}
}
case 1:
{
lean_object* v___x_2813_; uint8_t v_isShared_2814_; uint8_t v_isSharedCheck_2819_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v_isSharedCheck_2819_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2819_ == 0)
{
lean_object* v_unused_2820_; 
v_unused_2820_ = lean_ctor_get(v_value_2781_, 0);
lean_dec(v_unused_2820_);
v___x_2813_ = v_value_2781_;
v_isShared_2814_ = v_isSharedCheck_2819_;
goto v_resetjp_2812_;
}
else
{
lean_dec(v_value_2781_);
v___x_2813_ = lean_box(0);
v_isShared_2814_ = v_isSharedCheck_2819_;
goto v_resetjp_2812_;
}
v_resetjp_2812_:
{
lean_object* v___x_2815_; lean_object* v___x_2817_; 
v___x_2815_ = lean_box(0);
if (v_isShared_2814_ == 0)
{
lean_ctor_set_tag(v___x_2813_, 0);
lean_ctor_set(v___x_2813_, 0, v___x_2815_);
v___x_2817_ = v___x_2813_;
goto v_reusejp_2816_;
}
else
{
lean_object* v_reuseFailAlloc_2818_; 
v_reuseFailAlloc_2818_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2818_, 0, v___x_2815_);
v___x_2817_ = v_reuseFailAlloc_2818_;
goto v_reusejp_2816_;
}
v_reusejp_2816_:
{
return v___x_2817_;
}
}
}
case 2:
{
uint8_t v_val_2821_; lean_object* v___x_2823_; uint8_t v_isShared_2824_; uint8_t v_isSharedCheck_2832_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
v_val_2821_ = lean_ctor_get_uint8(v_value_2781_, 0);
v_isSharedCheck_2832_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2832_ == 0)
{
v___x_2823_ = v_value_2781_;
v_isShared_2824_ = v_isSharedCheck_2832_;
goto v_resetjp_2822_;
}
else
{
lean_dec(v_value_2781_);
v___x_2823_ = lean_box(0);
v_isShared_2824_ = v_isSharedCheck_2832_;
goto v_resetjp_2822_;
}
v_resetjp_2822_:
{
lean_object* v___x_2825_; lean_object* v___x_2827_; 
v___x_2825_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2824_ == 0)
{
lean_ctor_set_tag(v___x_2823_, 1);
v___x_2827_ = v___x_2823_;
goto v_reusejp_2826_;
}
else
{
lean_object* v_reuseFailAlloc_2831_; 
v_reuseFailAlloc_2831_ = lean_alloc_ctor(1, 0, 1);
lean_ctor_set_uint8(v_reuseFailAlloc_2831_, 0, v_val_2821_);
v___x_2827_ = v_reuseFailAlloc_2831_;
goto v_reusejp_2826_;
}
v_reusejp_2826_:
{
lean_object* v___x_2828_; lean_object* v___x_2829_; lean_object* v___x_2830_; 
v___x_2828_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2825_, v_fvarId_2674_, v___x_2827_);
v___x_2829_ = lean_st_ref_set(v_a_2659_, v___x_2828_);
v___x_2830_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2830_;
}
}
}
case 3:
{
uint16_t v_val_2833_; lean_object* v___x_2835_; uint8_t v_isShared_2836_; uint8_t v_isSharedCheck_2844_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
v_val_2833_ = lean_ctor_get_uint16(v_value_2781_, 0);
v_isSharedCheck_2844_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2844_ == 0)
{
v___x_2835_ = v_value_2781_;
v_isShared_2836_ = v_isSharedCheck_2844_;
goto v_resetjp_2834_;
}
else
{
lean_dec(v_value_2781_);
v___x_2835_ = lean_box(0);
v_isShared_2836_ = v_isSharedCheck_2844_;
goto v_resetjp_2834_;
}
v_resetjp_2834_:
{
lean_object* v___x_2837_; lean_object* v___x_2839_; 
v___x_2837_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2836_ == 0)
{
lean_ctor_set_tag(v___x_2835_, 2);
v___x_2839_ = v___x_2835_;
goto v_reusejp_2838_;
}
else
{
lean_object* v_reuseFailAlloc_2843_; 
v_reuseFailAlloc_2843_ = lean_alloc_ctor(2, 0, 2);
lean_ctor_set_uint16(v_reuseFailAlloc_2843_, 0, v_val_2833_);
v___x_2839_ = v_reuseFailAlloc_2843_;
goto v_reusejp_2838_;
}
v_reusejp_2838_:
{
lean_object* v___x_2840_; lean_object* v___x_2841_; lean_object* v___x_2842_; 
v___x_2840_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2837_, v_fvarId_2674_, v___x_2839_);
v___x_2841_ = lean_st_ref_set(v_a_2659_, v___x_2840_);
v___x_2842_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2842_;
}
}
}
case 4:
{
uint32_t v_val_2845_; lean_object* v___x_2847_; uint8_t v_isShared_2848_; uint8_t v_isSharedCheck_2856_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
v_val_2845_ = lean_ctor_get_uint32(v_value_2781_, 0);
v_isSharedCheck_2856_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2856_ == 0)
{
v___x_2847_ = v_value_2781_;
v_isShared_2848_ = v_isSharedCheck_2856_;
goto v_resetjp_2846_;
}
else
{
lean_dec(v_value_2781_);
v___x_2847_ = lean_box(0);
v_isShared_2848_ = v_isSharedCheck_2856_;
goto v_resetjp_2846_;
}
v_resetjp_2846_:
{
lean_object* v___x_2849_; lean_object* v___x_2851_; 
v___x_2849_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2848_ == 0)
{
lean_ctor_set_tag(v___x_2847_, 3);
v___x_2851_ = v___x_2847_;
goto v_reusejp_2850_;
}
else
{
lean_object* v_reuseFailAlloc_2855_; 
v_reuseFailAlloc_2855_ = lean_alloc_ctor(3, 0, 4);
lean_ctor_set_uint32(v_reuseFailAlloc_2855_, 0, v_val_2845_);
v___x_2851_ = v_reuseFailAlloc_2855_;
goto v_reusejp_2850_;
}
v_reusejp_2850_:
{
lean_object* v___x_2852_; lean_object* v___x_2853_; lean_object* v___x_2854_; 
v___x_2852_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2849_, v_fvarId_2674_, v___x_2851_);
v___x_2853_ = lean_st_ref_set(v_a_2659_, v___x_2852_);
v___x_2854_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2854_;
}
}
}
case 5:
{
uint64_t v_val_2857_; lean_object* v___x_2859_; uint8_t v_isShared_2860_; uint8_t v_isSharedCheck_2868_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
v_val_2857_ = lean_ctor_get_uint64(v_value_2781_, 0);
v_isSharedCheck_2868_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2868_ == 0)
{
v___x_2859_ = v_value_2781_;
v_isShared_2860_ = v_isSharedCheck_2868_;
goto v_resetjp_2858_;
}
else
{
lean_dec(v_value_2781_);
v___x_2859_ = lean_box(0);
v_isShared_2860_ = v_isSharedCheck_2868_;
goto v_resetjp_2858_;
}
v_resetjp_2858_:
{
lean_object* v___x_2861_; lean_object* v___x_2863_; 
v___x_2861_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2860_ == 0)
{
lean_ctor_set_tag(v___x_2859_, 4);
v___x_2863_ = v___x_2859_;
goto v_reusejp_2862_;
}
else
{
lean_object* v_reuseFailAlloc_2867_; 
v_reuseFailAlloc_2867_ = lean_alloc_ctor(4, 0, 8);
lean_ctor_set_uint64(v_reuseFailAlloc_2867_, 0, v_val_2857_);
v___x_2863_ = v_reuseFailAlloc_2867_;
goto v_reusejp_2862_;
}
v_reusejp_2862_:
{
lean_object* v___x_2864_; lean_object* v___x_2865_; lean_object* v___x_2866_; 
v___x_2864_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2861_, v_fvarId_2674_, v___x_2863_);
v___x_2865_ = lean_st_ref_set(v_a_2659_, v___x_2864_);
v___x_2866_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2866_;
}
}
}
default: 
{
uint64_t v_val_2869_; lean_object* v___x_2871_; uint8_t v_isShared_2872_; uint8_t v_isSharedCheck_2880_; 
lean_del_object(v___x_2783_);
lean_dec_ref(v_type_2675_);
v_val_2869_ = lean_ctor_get_uint64(v_value_2781_, 0);
v_isSharedCheck_2880_ = !lean_is_exclusive(v_value_2781_);
if (v_isSharedCheck_2880_ == 0)
{
v___x_2871_ = v_value_2781_;
v_isShared_2872_ = v_isSharedCheck_2880_;
goto v_resetjp_2870_;
}
else
{
lean_dec(v_value_2781_);
v___x_2871_ = lean_box(0);
v_isShared_2872_ = v_isSharedCheck_2880_;
goto v_resetjp_2870_;
}
v_resetjp_2870_:
{
lean_object* v___x_2873_; lean_object* v___x_2875_; 
v___x_2873_ = lean_st_ref_take(v_a_2659_);
if (v_isShared_2872_ == 0)
{
lean_ctor_set_tag(v___x_2871_, 5);
v___x_2875_ = v___x_2871_;
goto v_reusejp_2874_;
}
else
{
lean_object* v_reuseFailAlloc_2879_; 
v_reuseFailAlloc_2879_ = lean_alloc_ctor(5, 0, 8);
lean_ctor_set_uint64(v_reuseFailAlloc_2879_, 0, v_val_2869_);
v___x_2875_ = v_reuseFailAlloc_2879_;
goto v_reusejp_2874_;
}
v_reusejp_2874_:
{
lean_object* v___x_2876_; lean_object* v___x_2877_; lean_object* v___x_2878_; 
v___x_2876_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2873_, v_fvarId_2674_, v___x_2875_);
v___x_2877_ = lean_st_ref_set(v_a_2659_, v___x_2876_);
v___x_2878_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2878_;
}
}
}
}
}
}
case 5:
{
lean_object* v_i_2882_; lean_object* v_args_2883_; uint8_t v___x_2884_; 
lean_dec_ref(v_type_2675_);
v_i_2882_ = lean_ctor_get(v_value_2676_, 0);
lean_inc_ref(v_i_2882_);
v_args_2883_ = lean_ctor_get(v_value_2676_, 1);
lean_inc_ref(v_args_2883_);
lean_dec_ref(v_value_2676_);
v___x_2884_ = l_Lean_Compiler_LCNF_CtorInfo_isScalar(v_i_2882_);
if (v___x_2884_ == 0)
{
lean_object* v___x_2885_; 
v___x_2885_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileArgs(v_args_2883_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
if (lean_obj_tag(v___x_2885_) == 0)
{
lean_object* v_a_2886_; lean_object* v___x_2888_; uint8_t v_isShared_2889_; uint8_t v_isSharedCheck_2916_; 
v_a_2886_ = lean_ctor_get(v___x_2885_, 0);
v_isSharedCheck_2916_ = !lean_is_exclusive(v___x_2885_);
if (v_isSharedCheck_2916_ == 0)
{
v___x_2888_ = v___x_2885_;
v_isShared_2889_ = v_isSharedCheck_2916_;
goto v_resetjp_2887_;
}
else
{
lean_inc(v_a_2886_);
lean_dec(v___x_2885_);
v___x_2888_ = lean_box(0);
v_isShared_2889_ = v_isSharedCheck_2916_;
goto v_resetjp_2887_;
}
v_resetjp_2887_:
{
if (lean_obj_tag(v_a_2886_) == 0)
{
lean_object* v___x_2890_; lean_object* v___x_2892_; 
lean_dec_ref(v_i_2882_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2890_ = lean_box(0);
if (v_isShared_2889_ == 0)
{
lean_ctor_set(v___x_2888_, 0, v___x_2890_);
v___x_2892_ = v___x_2888_;
goto v_reusejp_2891_;
}
else
{
lean_object* v_reuseFailAlloc_2893_; 
v_reuseFailAlloc_2893_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2893_, 0, v___x_2890_);
v___x_2892_ = v_reuseFailAlloc_2893_;
goto v_reusejp_2891_;
}
v_reusejp_2891_:
{
return v___x_2892_;
}
}
else
{
lean_object* v_val_2894_; lean_object* v_usize_2895_; lean_object* v_ssize_2896_; lean_object* v___x_2897_; lean_object* v___x_2898_; lean_object* v___x_2899_; lean_object* v___x_2900_; lean_object* v___x_2901_; lean_object* v___x_2902_; lean_object* v___x_2903_; lean_object* v___y_2905_; lean_object* v___x_2914_; uint8_t v___x_2915_; 
lean_del_object(v___x_2888_);
v_val_2894_ = lean_ctor_get(v_a_2886_, 0);
lean_inc(v_val_2894_);
lean_dec_ref(v_a_2886_);
v_usize_2895_ = lean_ctor_get(v_i_2882_, 3);
v_ssize_2896_ = lean_ctor_get(v_i_2882_, 4);
v___x_2897_ = lean_unsigned_to_nat(0u);
v___x_2898_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed__const__1));
lean_inc(v_usize_2895_);
v___x_2899_ = lean_mk_array(v_usize_2895_, v___x_2898_);
v___x_2900_ = lean_unsigned_to_nat(8u);
v___x_2901_ = lean_unsigned_to_nat(3u);
v___x_2902_ = lean_nat_shiftr(v_ssize_2896_, v___x_2901_);
v___x_2903_ = lean_nat_mul(v___x_2902_, v___x_2900_);
lean_dec(v___x_2902_);
v___x_2914_ = lean_nat_mod(v_ssize_2896_, v___x_2900_);
v___x_2915_ = lean_nat_dec_eq(v___x_2914_, v___x_2897_);
lean_dec(v___x_2914_);
if (v___x_2915_ == 0)
{
goto v___jp_2912_;
}
else
{
if (v___x_2884_ == 0)
{
v___y_2905_ = v___x_2897_;
goto v___jp_2904_;
}
else
{
goto v___jp_2912_;
}
}
v___jp_2904_:
{
lean_object* v___x_2906_; lean_object* v___x_2907_; uint8_t v___x_2908_; lean_object* v___x_2909_; lean_object* v___x_2910_; lean_object* v___x_2911_; 
v___x_2906_ = lean_nat_mul(v___x_2900_, v___y_2905_);
v___x_2907_ = lean_nat_add(v___x_2903_, v___x_2906_);
lean_dec(v___x_2906_);
lean_dec(v___x_2903_);
v___x_2908_ = 0;
v___x_2909_ = lean_box(v___x_2908_);
v___x_2910_ = lean_mk_array(v___x_2907_, v___x_2909_);
v___x_2911_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain___redArg(v_fvarId_2674_, v_i_2882_, v_val_2894_, v___x_2899_, v___x_2910_, v_k_2658_, v_a_2659_);
lean_dec_ref(v_i_2882_);
lean_dec(v_fvarId_2674_);
return v___x_2911_;
}
v___jp_2912_:
{
lean_object* v___x_2913_; 
v___x_2913_ = lean_unsigned_to_nat(1u);
v___y_2905_ = v___x_2913_;
goto v___jp_2904_;
}
}
}
}
else
{
lean_object* v_a_2917_; lean_object* v___x_2919_; uint8_t v_isShared_2920_; uint8_t v_isSharedCheck_2924_; 
lean_dec_ref(v_i_2882_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v_a_2917_ = lean_ctor_get(v___x_2885_, 0);
v_isSharedCheck_2924_ = !lean_is_exclusive(v___x_2885_);
if (v_isSharedCheck_2924_ == 0)
{
v___x_2919_ = v___x_2885_;
v_isShared_2920_ = v_isSharedCheck_2924_;
goto v_resetjp_2918_;
}
else
{
lean_inc(v_a_2917_);
lean_dec(v___x_2885_);
v___x_2919_ = lean_box(0);
v_isShared_2920_ = v_isSharedCheck_2924_;
goto v_resetjp_2918_;
}
v_resetjp_2918_:
{
lean_object* v___x_2922_; 
if (v_isShared_2920_ == 0)
{
v___x_2922_ = v___x_2919_;
goto v_reusejp_2921_;
}
else
{
lean_object* v_reuseFailAlloc_2923_; 
v_reuseFailAlloc_2923_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2923_, 0, v_a_2917_);
v___x_2922_ = v_reuseFailAlloc_2923_;
goto v_reusejp_2921_;
}
v_reusejp_2921_:
{
return v___x_2922_;
}
}
}
}
else
{
lean_object* v___x_2925_; lean_object* v_cidx_2926_; lean_object* v___x_2927_; lean_object* v___x_2928_; lean_object* v___x_2929_; lean_object* v___x_2930_; lean_object* v___x_2931_; 
lean_dec_ref(v_args_2883_);
v___x_2925_ = lean_st_ref_take(v_a_2659_);
v_cidx_2926_ = lean_ctor_get(v_i_2882_, 1);
lean_inc(v_cidx_2926_);
lean_dec_ref(v_i_2882_);
v___x_2927_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2927_, 0, v_cidx_2926_);
v___x_2928_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2928_, 0, v___x_2927_);
v___x_2929_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2925_, v_fvarId_2674_, v___x_2928_);
v___x_2930_ = lean_st_ref_set(v_a_2659_, v___x_2929_);
v___x_2931_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2931_;
}
}
case 13:
{
lean_object* v_fvarId_2932_; lean_object* v___x_2933_; lean_object* v___x_2934_; 
lean_dec_ref(v_type_2675_);
v_fvarId_2932_ = lean_ctor_get(v_value_2676_, 1);
lean_inc(v_fvarId_2932_);
lean_dec_ref(v_value_2676_);
v___x_2933_ = lean_st_ref_get(v_a_2659_);
v___x_2934_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_2677_, v___x_2933_, v_fvarId_2932_);
lean_dec(v_fvarId_2932_);
lean_dec(v___x_2933_);
switch(lean_obj_tag(v___x_2934_))
{
case 1:
{
uint8_t v_val_2935_; lean_object* v___x_2936_; lean_object* v___x_2937_; lean_object* v___x_2938_; lean_object* v___x_2939_; lean_object* v___x_2940_; lean_object* v___x_2941_; lean_object* v___x_2942_; 
v_val_2935_ = lean_ctor_get_uint8(v___x_2934_, 0);
lean_dec_ref(v___x_2934_);
v___x_2936_ = lean_st_ref_take(v_a_2659_);
v___x_2937_ = lean_uint8_to_nat(v_val_2935_);
v___x_2938_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2938_, 0, v___x_2937_);
v___x_2939_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2939_, 0, v___x_2938_);
v___x_2940_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2936_, v_fvarId_2674_, v___x_2939_);
v___x_2941_ = lean_st_ref_set(v_a_2659_, v___x_2940_);
v___x_2942_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2942_;
}
case 2:
{
uint16_t v_val_2943_; lean_object* v___x_2944_; lean_object* v___x_2945_; lean_object* v___x_2946_; lean_object* v___x_2947_; lean_object* v___x_2948_; lean_object* v___x_2949_; lean_object* v___x_2950_; 
v_val_2943_ = lean_ctor_get_uint16(v___x_2934_, 0);
lean_dec_ref(v___x_2934_);
v___x_2944_ = lean_st_ref_take(v_a_2659_);
v___x_2945_ = lean_uint16_to_nat(v_val_2943_);
v___x_2946_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2946_, 0, v___x_2945_);
v___x_2947_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2947_, 0, v___x_2946_);
v___x_2948_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2944_, v_fvarId_2674_, v___x_2947_);
v___x_2949_ = lean_st_ref_set(v_a_2659_, v___x_2948_);
v___x_2950_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v_a_2659_, v_a_2660_, v_a_2661_, v_a_2662_, v_a_2663_);
return v___x_2950_;
}
default: 
{
lean_object* v___x_2951_; lean_object* v___x_2952_; 
lean_dec(v___x_2934_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
v___x_2951_ = lean_box(0);
v___x_2952_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2952_, 0, v___x_2951_);
return v___x_2952_;
}
}
}
default: 
{
lean_dec(v_value_2676_);
lean_dec_ref(v_type_2675_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2671_;
}
}
v___jp_2665_:
{
lean_object* v___x_2666_; lean_object* v___x_2667_; 
v___x_2666_ = lean_box(0);
v___x_2667_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2667_, 0, v___x_2666_);
return v___x_2667_;
}
v___jp_2668_:
{
lean_object* v___x_2669_; lean_object* v___x_2670_; 
v___x_2669_ = lean_box(0);
v___x_2670_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2670_, 0, v___x_2669_);
return v___x_2670_;
}
v___jp_2671_:
{
lean_object* v___x_2672_; lean_object* v___x_2673_; 
v___x_2672_ = lean_box(0);
v___x_2673_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2673_, 0, v___x_2672_);
return v___x_2673_;
}
v___jp_2678_:
{
lean_object* v___x_2685_; lean_object* v___x_2686_; 
v___x_2685_ = lean_st_ref_get(v___y_2680_);
v___x_2686_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileSetChain_spec__0___redArg(v___x_2677_, v___x_2685_, v_sizeId_2679_);
lean_dec(v_sizeId_2679_);
lean_dec(v___x_2685_);
if (lean_obj_tag(v___x_2686_) == 0)
{
lean_object* v_arg_2687_; 
v_arg_2687_ = lean_ctor_get(v___x_2686_, 0);
lean_inc_ref(v_arg_2687_);
lean_dec_ref(v___x_2686_);
if (lean_obj_tag(v_arg_2687_) == 0)
{
lean_object* v_val_2688_; lean_object* v___x_2689_; lean_object* v___x_2690_; lean_object* v___x_2691_; lean_object* v___x_2692_; lean_object* v___x_2693_; lean_object* v___x_2694_; 
v_val_2688_ = lean_ctor_get(v_arg_2687_, 0);
lean_inc(v_val_2688_);
lean_dec_ref(v_arg_2687_);
v___x_2689_ = lean_st_ref_take(v___y_2680_);
v___x_2690_ = lean_box(0);
v___x_2691_ = lean_alloc_ctor(6, 2, 0);
lean_ctor_set(v___x_2691_, 0, v___x_2690_);
lean_ctor_set(v___x_2691_, 1, v_val_2688_);
v___x_2692_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v___x_2689_, v_fvarId_2674_, v___x_2691_);
v___x_2693_ = lean_st_ref_set(v___y_2680_, v___x_2692_);
v___x_2694_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_k_2658_, v___y_2680_, v___y_2681_, v___y_2682_, v___y_2683_, v___y_2684_);
return v___x_2694_;
}
else
{
lean_dec_ref(v_arg_2687_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2668_;
}
}
else
{
lean_dec(v___x_2686_);
lean_dec(v_fvarId_2674_);
lean_dec_ref(v_k_2658_);
goto v___jp_2668_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(lean_object* v_code_2953_, lean_object* v_a_2954_, lean_object* v_a_2955_, lean_object* v_a_2956_, lean_object* v_a_2957_, lean_object* v_a_2958_){
_start:
{
if (lean_obj_tag(v_code_2953_) == 0)
{
lean_object* v_k_2960_; 
v_k_2960_ = lean_ctor_get(v_code_2953_, 1);
lean_inc_ref(v_k_2960_);
if (lean_obj_tag(v_k_2960_) == 5)
{
lean_object* v_decl_2961_; lean_object* v_fvarId_2962_; lean_object* v___x_2964_; uint8_t v_isShared_2965_; uint8_t v_isSharedCheck_2974_; 
v_decl_2961_ = lean_ctor_get(v_code_2953_, 0);
lean_inc_ref(v_decl_2961_);
lean_dec_ref(v_code_2953_);
v_fvarId_2962_ = lean_ctor_get(v_k_2960_, 0);
v_isSharedCheck_2974_ = !lean_is_exclusive(v_k_2960_);
if (v_isSharedCheck_2974_ == 0)
{
v___x_2964_ = v_k_2960_;
v_isShared_2965_ = v_isSharedCheck_2974_;
goto v_resetjp_2963_;
}
else
{
lean_inc(v_fvarId_2962_);
lean_dec(v_k_2960_);
v___x_2964_ = lean_box(0);
v_isShared_2965_ = v_isSharedCheck_2974_;
goto v_resetjp_2963_;
}
v_resetjp_2963_:
{
lean_object* v_fvarId_2966_; lean_object* v_value_2967_; uint8_t v___x_2968_; 
v_fvarId_2966_ = lean_ctor_get(v_decl_2961_, 0);
lean_inc(v_fvarId_2966_);
v_value_2967_ = lean_ctor_get(v_decl_2961_, 3);
lean_inc(v_value_2967_);
lean_dec_ref(v_decl_2961_);
v___x_2968_ = l_Lean_instBEqFVarId_beq(v_fvarId_2966_, v_fvarId_2962_);
lean_dec(v_fvarId_2962_);
lean_dec(v_fvarId_2966_);
if (v___x_2968_ == 0)
{
lean_object* v___x_2969_; lean_object* v___x_2971_; 
lean_dec(v_value_2967_);
v___x_2969_ = lean_box(0);
if (v_isShared_2965_ == 0)
{
lean_ctor_set_tag(v___x_2964_, 0);
lean_ctor_set(v___x_2964_, 0, v___x_2969_);
v___x_2971_ = v___x_2964_;
goto v_reusejp_2970_;
}
else
{
lean_object* v_reuseFailAlloc_2972_; 
v_reuseFailAlloc_2972_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2972_, 0, v___x_2969_);
v___x_2971_ = v_reuseFailAlloc_2972_;
goto v_reusejp_2970_;
}
v_reusejp_2970_:
{
return v___x_2971_;
}
}
else
{
lean_object* v___x_2973_; 
lean_del_object(v___x_2964_);
v___x_2973_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileFinalLet(v_value_2967_, v_a_2954_, v_a_2955_, v_a_2956_, v_a_2957_, v_a_2958_);
return v___x_2973_;
}
}
}
else
{
lean_object* v_decl_2975_; lean_object* v___x_2976_; 
v_decl_2975_ = lean_ctor_get(v_code_2953_, 0);
lean_inc_ref(v_decl_2975_);
lean_dec_ref(v_code_2953_);
v___x_2976_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet(v_decl_2975_, v_k_2960_, v_a_2954_, v_a_2955_, v_a_2956_, v_a_2957_, v_a_2958_);
return v___x_2976_;
}
}
else
{
lean_object* v___x_2977_; lean_object* v___x_2978_; 
lean_dec_ref(v_code_2953_);
v___x_2977_ = lean_box(0);
v___x_2978_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2978_, 0, v___x_2977_);
return v___x_2978_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go___boxed(lean_object* v_code_2979_, lean_object* v_a_2980_, lean_object* v_a_2981_, lean_object* v_a_2982_, lean_object* v_a_2983_, lean_object* v_a_2984_, lean_object* v_a_2985_){
_start:
{
lean_object* v_res_2986_; 
v_res_2986_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_code_2979_, v_a_2980_, v_a_2981_, v_a_2982_, v_a_2983_, v_a_2984_);
lean_dec(v_a_2984_);
lean_dec_ref(v_a_2983_);
lean_dec(v_a_2982_);
lean_dec_ref(v_a_2981_);
lean_dec(v_a_2980_);
return v_res_2986_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet___boxed(lean_object* v_decl_2987_, lean_object* v_k_2988_, lean_object* v_a_2989_, lean_object* v_a_2990_, lean_object* v_a_2991_, lean_object* v_a_2992_, lean_object* v_a_2993_, lean_object* v_a_2994_){
_start:
{
lean_object* v_res_2995_; 
v_res_2995_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet(v_decl_2987_, v_k_2988_, v_a_2989_, v_a_2990_, v_a_2991_, v_a_2992_, v_a_2993_);
lean_dec(v_a_2993_);
lean_dec_ref(v_a_2992_);
lean_dec(v_a_2991_);
lean_dec_ref(v_a_2990_);
lean_dec(v_a_2989_);
return v_res_2995_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1(lean_object* v_00_u03b2_2996_, lean_object* v_m_2997_, lean_object* v_a_2998_, lean_object* v_b_2999_){
_start:
{
lean_object* v___x_3000_; 
v___x_3000_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1___redArg(v_m_2997_, v_a_2998_, v_b_2999_);
return v___x_3000_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1(lean_object* v_00_u03b2_3001_, lean_object* v_a_3002_, lean_object* v_x_3003_){
_start:
{
uint8_t v___x_3004_; 
v___x_3004_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___redArg(v_a_3002_, v_x_3003_);
return v___x_3004_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1___boxed(lean_object* v_00_u03b2_3005_, lean_object* v_a_3006_, lean_object* v_x_3007_){
_start:
{
uint8_t v_res_3008_; lean_object* v_r_3009_; 
v_res_3008_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__1(v_00_u03b2_3005_, v_a_3006_, v_x_3007_);
lean_dec(v_x_3007_);
lean_dec(v_a_3006_);
v_r_3009_ = lean_box(v_res_3008_);
return v_r_3009_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2(lean_object* v_00_u03b2_3010_, lean_object* v_data_3011_){
_start:
{
lean_object* v___x_3012_; 
v___x_3012_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2___redArg(v_data_3011_);
return v___x_3012_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3(lean_object* v_00_u03b2_3013_, lean_object* v_a_3014_, lean_object* v_b_3015_, lean_object* v_x_3016_){
_start:
{
lean_object* v___x_3017_; 
v___x_3017_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__3___redArg(v_a_3014_, v_b_3015_, v_x_3016_);
return v___x_3017_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3(lean_object* v_00_u03b2_3018_, lean_object* v_i_3019_, lean_object* v_source_3020_, lean_object* v_target_3021_){
_start:
{
lean_object* v___x_3022_; 
v___x_3022_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3___redArg(v_i_3019_, v_source_3020_, v_target_3021_);
return v___x_3022_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4(lean_object* v_00_u03b2_3023_, lean_object* v_x_3024_, lean_object* v_x_3025_){
_start:
{
lean_object* v___x_3026_; 
v___x_3026_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_compileNonFinalLet_spec__1_spec__2_spec__3_spec__4___redArg(v_x_3024_, v_x_3025_);
return v___x_3026_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0(void){
_start:
{
lean_object* v___x_3027_; lean_object* v___x_3028_; lean_object* v___x_3029_; 
v___x_3027_ = lean_box(0);
v___x_3028_ = lean_unsigned_to_nat(16u);
v___x_3029_ = lean_mk_array(v___x_3028_, v___x_3027_);
return v___x_3029_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1(void){
_start:
{
lean_object* v___x_3030_; lean_object* v___x_3031_; lean_object* v___x_3032_; 
v___x_3030_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__0);
v___x_3031_ = lean_unsigned_to_nat(0u);
v___x_3032_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3032_, 0, v___x_3031_);
lean_ctor_set(v___x_3032_, 1, v___x_3030_);
return v___x_3032_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr(lean_object* v_code_3033_, lean_object* v_a_3034_, lean_object* v_a_3035_, lean_object* v_a_3036_, lean_object* v_a_3037_){
_start:
{
lean_object* v___x_3039_; lean_object* v___x_3040_; lean_object* v___x_3041_; 
v___x_3039_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___closed__1);
v___x_3040_ = lean_st_mk_ref(v___x_3039_);
v___x_3041_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr_go(v_code_3033_, v___x_3040_, v_a_3034_, v_a_3035_, v_a_3036_, v_a_3037_);
if (lean_obj_tag(v___x_3041_) == 0)
{
lean_object* v_a_3042_; 
v_a_3042_ = lean_ctor_get(v___x_3041_, 0);
lean_inc(v_a_3042_);
if (lean_obj_tag(v_a_3042_) == 0)
{
lean_dec(v___x_3040_);
return v___x_3041_;
}
else
{
lean_object* v___x_3044_; uint8_t v_isShared_3045_; uint8_t v_isSharedCheck_3050_; 
v_isSharedCheck_3050_ = !lean_is_exclusive(v___x_3041_);
if (v_isSharedCheck_3050_ == 0)
{
lean_object* v_unused_3051_; 
v_unused_3051_ = lean_ctor_get(v___x_3041_, 0);
lean_dec(v_unused_3051_);
v___x_3044_ = v___x_3041_;
v_isShared_3045_ = v_isSharedCheck_3050_;
goto v_resetjp_3043_;
}
else
{
lean_dec(v___x_3041_);
v___x_3044_ = lean_box(0);
v_isShared_3045_ = v_isSharedCheck_3050_;
goto v_resetjp_3043_;
}
v_resetjp_3043_:
{
lean_object* v___x_3046_; lean_object* v___x_3048_; 
v___x_3046_ = lean_st_ref_get(v___x_3040_);
lean_dec(v___x_3040_);
lean_dec(v___x_3046_);
if (v_isShared_3045_ == 0)
{
v___x_3048_ = v___x_3044_;
goto v_reusejp_3047_;
}
else
{
lean_object* v_reuseFailAlloc_3049_; 
v_reuseFailAlloc_3049_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3049_, 0, v_a_3042_);
v___x_3048_ = v_reuseFailAlloc_3049_;
goto v_reusejp_3047_;
}
v_reusejp_3047_:
{
return v___x_3048_;
}
}
}
}
else
{
lean_dec(v___x_3040_);
return v___x_3041_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr___boxed(lean_object* v_code_3052_, lean_object* v_a_3053_, lean_object* v_a_3054_, lean_object* v_a_3055_, lean_object* v_a_3056_, lean_object* v_a_3057_){
_start:
{
lean_object* v_res_3058_; 
v_res_3058_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr(v_code_3052_, v_a_3053_, v_a_3054_, v_a_3055_, v_a_3056_);
lean_dec(v_a_3056_);
lean_dec_ref(v_a_3055_);
lean_dec(v_a_3054_);
lean_dec_ref(v_a_3053_);
return v_res_3058_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg(lean_object* v_cls_3062_, lean_object* v___y_3063_){
_start:
{
lean_object* v_options_3065_; uint8_t v_hasTrace_3066_; 
v_options_3065_ = lean_ctor_get(v___y_3063_, 2);
v_hasTrace_3066_ = lean_ctor_get_uint8(v_options_3065_, sizeof(void*)*1);
if (v_hasTrace_3066_ == 0)
{
lean_object* v___x_3067_; lean_object* v___x_3068_; 
lean_dec(v_cls_3062_);
v___x_3067_ = lean_box(v_hasTrace_3066_);
v___x_3068_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3068_, 0, v___x_3067_);
return v___x_3068_;
}
else
{
lean_object* v_inheritedTraceOptions_3069_; lean_object* v___x_3070_; lean_object* v___x_3071_; uint8_t v___x_3072_; lean_object* v___x_3073_; lean_object* v___x_3074_; 
v_inheritedTraceOptions_3069_ = lean_ctor_get(v___y_3063_, 13);
v___x_3070_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___closed__1));
v___x_3071_ = l_Lean_Name_append(v___x_3070_, v_cls_3062_);
v___x_3072_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_3069_, v_options_3065_, v___x_3071_);
lean_dec(v___x_3071_);
v___x_3073_ = lean_box(v___x_3072_);
v___x_3074_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3074_, 0, v___x_3073_);
return v___x_3074_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg___boxed(lean_object* v_cls_3075_, lean_object* v___y_3076_, lean_object* v___y_3077_){
_start:
{
lean_object* v_res_3078_; 
v_res_3078_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg(v_cls_3075_, v___y_3076_);
lean_dec_ref(v___y_3076_);
return v_res_3078_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0(lean_object* v_cls_3079_, lean_object* v___y_3080_, lean_object* v___y_3081_, lean_object* v___y_3082_, lean_object* v___y_3083_){
_start:
{
lean_object* v___x_3085_; 
v___x_3085_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg(v_cls_3079_, v___y_3082_);
return v___x_3085_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___boxed(lean_object* v_cls_3086_, lean_object* v___y_3087_, lean_object* v___y_3088_, lean_object* v___y_3089_, lean_object* v___y_3090_, lean_object* v___y_3091_){
_start:
{
lean_object* v_res_3092_; 
v_res_3092_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0(v_cls_3086_, v___y_3087_, v___y_3088_, v___y_3089_, v___y_3090_);
lean_dec(v___y_3090_);
lean_dec_ref(v___y_3089_);
lean_dec(v___y_3088_);
lean_dec_ref(v___y_3087_);
return v_res_3092_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0(void){
_start:
{
lean_object* v___x_3093_; 
v___x_3093_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3093_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1(void){
_start:
{
lean_object* v___x_3094_; lean_object* v___x_3095_; 
v___x_3094_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__0);
v___x_3095_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3095_, 0, v___x_3094_);
return v___x_3095_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2(void){
_start:
{
lean_object* v___x_3096_; lean_object* v___x_3097_; lean_object* v___x_3098_; 
v___x_3096_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__1);
v___x_3097_ = lean_unsigned_to_nat(0u);
v___x_3098_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_3098_, 0, v___x_3097_);
lean_ctor_set(v___x_3098_, 1, v___x_3097_);
lean_ctor_set(v___x_3098_, 2, v___x_3097_);
lean_ctor_set(v___x_3098_, 3, v___x_3096_);
lean_ctor_set(v___x_3098_, 4, v___x_3096_);
lean_ctor_set(v___x_3098_, 5, v___x_3096_);
lean_ctor_set(v___x_3098_, 6, v___x_3096_);
lean_ctor_set(v___x_3098_, 7, v___x_3096_);
lean_ctor_set(v___x_3098_, 8, v___x_3096_);
return v___x_3098_;
}
}
static double _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3(void){
_start:
{
lean_object* v___x_3099_; double v___x_3100_; 
v___x_3099_ = lean_unsigned_to_nat(0u);
v___x_3100_ = lean_float_of_nat(v___x_3099_);
return v___x_3100_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1(lean_object* v_cls_3104_, lean_object* v_msg_3105_, lean_object* v___y_3106_, lean_object* v___y_3107_, lean_object* v___y_3108_, lean_object* v___y_3109_){
_start:
{
lean_object* v_options_3111_; lean_object* v_ref_3112_; lean_object* v___x_3113_; lean_object* v___x_3114_; lean_object* v___x_3115_; 
v_options_3111_ = lean_ctor_get(v___y_3108_, 2);
v_ref_3112_ = lean_ctor_get(v___y_3108_, 5);
v___x_3113_ = lean_st_ref_get(v___y_3109_);
v___x_3114_ = lean_st_ref_get(v___y_3107_);
v___x_3115_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_3106_);
if (lean_obj_tag(v___x_3115_) == 0)
{
lean_object* v_a_3116_; lean_object* v___x_3118_; uint8_t v_isShared_3119_; uint8_t v_isSharedCheck_3174_; 
v_a_3116_ = lean_ctor_get(v___x_3115_, 0);
v_isSharedCheck_3174_ = !lean_is_exclusive(v___x_3115_);
if (v_isSharedCheck_3174_ == 0)
{
v___x_3118_ = v___x_3115_;
v_isShared_3119_ = v_isSharedCheck_3174_;
goto v_resetjp_3117_;
}
else
{
lean_inc(v_a_3116_);
lean_dec(v___x_3115_);
v___x_3118_ = lean_box(0);
v_isShared_3119_ = v_isSharedCheck_3174_;
goto v_resetjp_3117_;
}
v_resetjp_3117_:
{
lean_object* v_env_3120_; lean_object* v_lctx_3121_; lean_object* v___x_3123_; uint8_t v_isShared_3124_; uint8_t v_isSharedCheck_3172_; 
v_env_3120_ = lean_ctor_get(v___x_3113_, 0);
lean_inc_ref(v_env_3120_);
lean_dec(v___x_3113_);
v_lctx_3121_ = lean_ctor_get(v___x_3114_, 0);
v_isSharedCheck_3172_ = !lean_is_exclusive(v___x_3114_);
if (v_isSharedCheck_3172_ == 0)
{
lean_object* v_unused_3173_; 
v_unused_3173_ = lean_ctor_get(v___x_3114_, 1);
lean_dec(v_unused_3173_);
v___x_3123_ = v___x_3114_;
v_isShared_3124_ = v_isSharedCheck_3172_;
goto v_resetjp_3122_;
}
else
{
lean_inc(v_lctx_3121_);
lean_dec(v___x_3114_);
v___x_3123_ = lean_box(0);
v_isShared_3124_ = v_isSharedCheck_3172_;
goto v_resetjp_3122_;
}
v_resetjp_3122_:
{
lean_object* v___x_3125_; lean_object* v___x_3126_; lean_object* v_traceState_3127_; lean_object* v_env_3128_; lean_object* v_nextMacroScope_3129_; lean_object* v_ngen_3130_; lean_object* v_auxDeclNGen_3131_; lean_object* v_cache_3132_; lean_object* v_messages_3133_; lean_object* v_infoState_3134_; lean_object* v_snapshotTasks_3135_; lean_object* v___x_3137_; uint8_t v_isShared_3138_; uint8_t v_isSharedCheck_3171_; 
v___x_3125_ = lean_obj_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__2);
v___x_3126_ = lean_st_ref_take(v___y_3109_);
v_traceState_3127_ = lean_ctor_get(v___x_3126_, 4);
v_env_3128_ = lean_ctor_get(v___x_3126_, 0);
v_nextMacroScope_3129_ = lean_ctor_get(v___x_3126_, 1);
v_ngen_3130_ = lean_ctor_get(v___x_3126_, 2);
v_auxDeclNGen_3131_ = lean_ctor_get(v___x_3126_, 3);
v_cache_3132_ = lean_ctor_get(v___x_3126_, 5);
v_messages_3133_ = lean_ctor_get(v___x_3126_, 6);
v_infoState_3134_ = lean_ctor_get(v___x_3126_, 7);
v_snapshotTasks_3135_ = lean_ctor_get(v___x_3126_, 8);
v_isSharedCheck_3171_ = !lean_is_exclusive(v___x_3126_);
if (v_isSharedCheck_3171_ == 0)
{
v___x_3137_ = v___x_3126_;
v_isShared_3138_ = v_isSharedCheck_3171_;
goto v_resetjp_3136_;
}
else
{
lean_inc(v_snapshotTasks_3135_);
lean_inc(v_infoState_3134_);
lean_inc(v_messages_3133_);
lean_inc(v_cache_3132_);
lean_inc(v_traceState_3127_);
lean_inc(v_auxDeclNGen_3131_);
lean_inc(v_ngen_3130_);
lean_inc(v_nextMacroScope_3129_);
lean_inc(v_env_3128_);
lean_dec(v___x_3126_);
v___x_3137_ = lean_box(0);
v_isShared_3138_ = v_isSharedCheck_3171_;
goto v_resetjp_3136_;
}
v_resetjp_3136_:
{
uint64_t v_tid_3139_; lean_object* v_traces_3140_; lean_object* v___x_3142_; uint8_t v_isShared_3143_; uint8_t v_isSharedCheck_3170_; 
v_tid_3139_ = lean_ctor_get_uint64(v_traceState_3127_, sizeof(void*)*1);
v_traces_3140_ = lean_ctor_get(v_traceState_3127_, 0);
v_isSharedCheck_3170_ = !lean_is_exclusive(v_traceState_3127_);
if (v_isSharedCheck_3170_ == 0)
{
v___x_3142_ = v_traceState_3127_;
v_isShared_3143_ = v_isSharedCheck_3170_;
goto v_resetjp_3141_;
}
else
{
lean_inc(v_traces_3140_);
lean_dec(v_traceState_3127_);
v___x_3142_ = lean_box(0);
v_isShared_3143_ = v_isSharedCheck_3170_;
goto v_resetjp_3141_;
}
v_resetjp_3141_:
{
uint8_t v___x_3144_; lean_object* v___x_3145_; lean_object* v___x_3146_; lean_object* v___x_3148_; 
v___x_3144_ = lean_unbox(v_a_3116_);
lean_dec(v_a_3116_);
v___x_3145_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_3121_, v___x_3144_);
lean_dec_ref(v_lctx_3121_);
lean_inc_ref(v_options_3111_);
v___x_3146_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_3146_, 0, v_env_3120_);
lean_ctor_set(v___x_3146_, 1, v___x_3125_);
lean_ctor_set(v___x_3146_, 2, v___x_3145_);
lean_ctor_set(v___x_3146_, 3, v_options_3111_);
if (v_isShared_3124_ == 0)
{
lean_ctor_set_tag(v___x_3123_, 3);
lean_ctor_set(v___x_3123_, 1, v_msg_3105_);
lean_ctor_set(v___x_3123_, 0, v___x_3146_);
v___x_3148_ = v___x_3123_;
goto v_reusejp_3147_;
}
else
{
lean_object* v_reuseFailAlloc_3169_; 
v_reuseFailAlloc_3169_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3169_, 0, v___x_3146_);
lean_ctor_set(v_reuseFailAlloc_3169_, 1, v_msg_3105_);
v___x_3148_ = v_reuseFailAlloc_3169_;
goto v_reusejp_3147_;
}
v_reusejp_3147_:
{
lean_object* v___x_3149_; double v___x_3150_; uint8_t v___x_3151_; lean_object* v___x_3152_; lean_object* v___x_3153_; lean_object* v___x_3154_; lean_object* v___x_3155_; lean_object* v___x_3156_; lean_object* v___x_3157_; lean_object* v___x_3159_; 
v___x_3149_ = lean_box(0);
v___x_3150_ = lean_float_once(&l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3, &l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3_once, _init_l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__3);
v___x_3151_ = 0;
v___x_3152_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__4));
v___x_3153_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_3153_, 0, v_cls_3104_);
lean_ctor_set(v___x_3153_, 1, v___x_3149_);
lean_ctor_set(v___x_3153_, 2, v___x_3152_);
lean_ctor_set_float(v___x_3153_, sizeof(void*)*3, v___x_3150_);
lean_ctor_set_float(v___x_3153_, sizeof(void*)*3 + 8, v___x_3150_);
lean_ctor_set_uint8(v___x_3153_, sizeof(void*)*3 + 16, v___x_3151_);
v___x_3154_ = ((lean_object*)(l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___closed__5));
v___x_3155_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_3155_, 0, v___x_3153_);
lean_ctor_set(v___x_3155_, 1, v___x_3148_);
lean_ctor_set(v___x_3155_, 2, v___x_3154_);
lean_inc(v_ref_3112_);
v___x_3156_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3156_, 0, v_ref_3112_);
lean_ctor_set(v___x_3156_, 1, v___x_3155_);
v___x_3157_ = l_Lean_PersistentArray_push___redArg(v_traces_3140_, v___x_3156_);
if (v_isShared_3143_ == 0)
{
lean_ctor_set(v___x_3142_, 0, v___x_3157_);
v___x_3159_ = v___x_3142_;
goto v_reusejp_3158_;
}
else
{
lean_object* v_reuseFailAlloc_3168_; 
v_reuseFailAlloc_3168_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_3168_, 0, v___x_3157_);
lean_ctor_set_uint64(v_reuseFailAlloc_3168_, sizeof(void*)*1, v_tid_3139_);
v___x_3159_ = v_reuseFailAlloc_3168_;
goto v_reusejp_3158_;
}
v_reusejp_3158_:
{
lean_object* v___x_3161_; 
if (v_isShared_3138_ == 0)
{
lean_ctor_set(v___x_3137_, 4, v___x_3159_);
v___x_3161_ = v___x_3137_;
goto v_reusejp_3160_;
}
else
{
lean_object* v_reuseFailAlloc_3167_; 
v_reuseFailAlloc_3167_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_3167_, 0, v_env_3128_);
lean_ctor_set(v_reuseFailAlloc_3167_, 1, v_nextMacroScope_3129_);
lean_ctor_set(v_reuseFailAlloc_3167_, 2, v_ngen_3130_);
lean_ctor_set(v_reuseFailAlloc_3167_, 3, v_auxDeclNGen_3131_);
lean_ctor_set(v_reuseFailAlloc_3167_, 4, v___x_3159_);
lean_ctor_set(v_reuseFailAlloc_3167_, 5, v_cache_3132_);
lean_ctor_set(v_reuseFailAlloc_3167_, 6, v_messages_3133_);
lean_ctor_set(v_reuseFailAlloc_3167_, 7, v_infoState_3134_);
lean_ctor_set(v_reuseFailAlloc_3167_, 8, v_snapshotTasks_3135_);
v___x_3161_ = v_reuseFailAlloc_3167_;
goto v_reusejp_3160_;
}
v_reusejp_3160_:
{
lean_object* v___x_3162_; lean_object* v___x_3163_; lean_object* v___x_3165_; 
v___x_3162_ = lean_st_ref_set(v___y_3109_, v___x_3161_);
v___x_3163_ = lean_box(0);
if (v_isShared_3119_ == 0)
{
lean_ctor_set(v___x_3118_, 0, v___x_3163_);
v___x_3165_ = v___x_3118_;
goto v_reusejp_3164_;
}
else
{
lean_object* v_reuseFailAlloc_3166_; 
v_reuseFailAlloc_3166_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3166_, 0, v___x_3163_);
v___x_3165_ = v_reuseFailAlloc_3166_;
goto v_reusejp_3164_;
}
v_reusejp_3164_:
{
return v___x_3165_;
}
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_3175_; lean_object* v___x_3177_; uint8_t v_isShared_3178_; uint8_t v_isSharedCheck_3182_; 
lean_dec(v___x_3114_);
lean_dec(v___x_3113_);
lean_dec_ref(v_msg_3105_);
lean_dec(v_cls_3104_);
v_a_3175_ = lean_ctor_get(v___x_3115_, 0);
v_isSharedCheck_3182_ = !lean_is_exclusive(v___x_3115_);
if (v_isSharedCheck_3182_ == 0)
{
v___x_3177_ = v___x_3115_;
v_isShared_3178_ = v_isSharedCheck_3182_;
goto v_resetjp_3176_;
}
else
{
lean_inc(v_a_3175_);
lean_dec(v___x_3115_);
v___x_3177_ = lean_box(0);
v_isShared_3178_ = v_isSharedCheck_3182_;
goto v_resetjp_3176_;
}
v_resetjp_3176_:
{
lean_object* v___x_3180_; 
if (v_isShared_3178_ == 0)
{
v___x_3180_ = v___x_3177_;
goto v_reusejp_3179_;
}
else
{
lean_object* v_reuseFailAlloc_3181_; 
v_reuseFailAlloc_3181_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3181_, 0, v_a_3175_);
v___x_3180_ = v_reuseFailAlloc_3181_;
goto v_reusejp_3179_;
}
v_reusejp_3179_:
{
return v___x_3180_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1___boxed(lean_object* v_cls_3183_, lean_object* v_msg_3184_, lean_object* v___y_3185_, lean_object* v___y_3186_, lean_object* v___y_3187_, lean_object* v___y_3188_, lean_object* v___y_3189_){
_start:
{
lean_object* v_res_3190_; 
v_res_3190_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1(v_cls_3183_, v_msg_3184_, v___y_3185_, v___y_3186_, v___y_3187_, v___y_3188_);
lean_dec(v___y_3188_);
lean_dec_ref(v___y_3187_);
lean_dec(v___y_3186_);
lean_dec_ref(v___y_3185_);
return v_res_3190_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0(void){
_start:
{
lean_object* v___x_3191_; 
v___x_3191_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3191_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1(void){
_start:
{
lean_object* v___x_3192_; lean_object* v___x_3193_; 
v___x_3192_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__0);
v___x_3193_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3193_, 0, v___x_3192_);
return v___x_3193_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2(void){
_start:
{
lean_object* v___x_3194_; lean_object* v___x_3195_; 
v___x_3194_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__1);
v___x_3195_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3195_, 0, v___x_3194_);
lean_ctor_set(v___x_3195_, 1, v___x_3194_);
return v___x_3195_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7(void){
_start:
{
lean_object* v___x_3202_; lean_object* v___x_3203_; 
v___x_3202_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__6));
v___x_3203_ = l_Lean_stringToMessageData(v___x_3202_);
return v___x_3203_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9(void){
_start:
{
lean_object* v___x_3205_; lean_object* v___x_3206_; 
v___x_3205_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__8));
v___x_3206_ = l_Lean_stringToMessageData(v___x_3205_);
return v___x_3206_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround(lean_object* v_d_3207_, lean_object* v_a_3208_, lean_object* v_a_3209_, lean_object* v_a_3210_, lean_object* v_a_3211_){
_start:
{
lean_object* v_value_3213_; 
v_value_3213_ = lean_ctor_get(v_d_3207_, 1);
lean_inc_ref(v_value_3213_);
if (lean_obj_tag(v_value_3213_) == 0)
{
lean_object* v_toSignature_3214_; lean_object* v_code_3215_; lean_object* v___x_3217_; uint8_t v_isShared_3218_; uint8_t v_isSharedCheck_3286_; 
v_toSignature_3214_ = lean_ctor_get(v_d_3207_, 0);
lean_inc_ref(v_toSignature_3214_);
lean_dec_ref(v_d_3207_);
v_code_3215_ = lean_ctor_get(v_value_3213_, 0);
v_isSharedCheck_3286_ = !lean_is_exclusive(v_value_3213_);
if (v_isSharedCheck_3286_ == 0)
{
v___x_3217_ = v_value_3213_;
v_isShared_3218_ = v_isSharedCheck_3286_;
goto v_resetjp_3216_;
}
else
{
lean_inc(v_code_3215_);
lean_dec(v_value_3213_);
v___x_3217_ = lean_box(0);
v_isShared_3218_ = v_isSharedCheck_3286_;
goto v_resetjp_3216_;
}
v_resetjp_3216_:
{
lean_object* v_name_3219_; lean_object* v_type_3220_; lean_object* v_params_3221_; lean_object* v___y_3223_; lean_object* v___y_3224_; uint8_t v___y_3250_; uint8_t v___x_3282_; 
v_name_3219_ = lean_ctor_get(v_toSignature_3214_, 0);
lean_inc(v_name_3219_);
v_type_3220_ = lean_ctor_get(v_toSignature_3214_, 2);
lean_inc_ref(v_type_3220_);
v_params_3221_ = lean_ctor_get(v_toSignature_3214_, 3);
lean_inc_ref(v_params_3221_);
lean_dec_ref(v_toSignature_3214_);
v___x_3282_ = l_Lean_Compiler_LCNF_ImpureType_Lean_Expr_isPossibleRef(v_type_3220_);
lean_dec_ref(v_type_3220_);
if (v___x_3282_ == 0)
{
lean_dec_ref(v_params_3221_);
v___y_3250_ = v___x_3282_;
goto v___jp_3249_;
}
else
{
lean_object* v___x_3283_; lean_object* v___x_3284_; uint8_t v___x_3285_; 
v___x_3283_ = lean_array_get_size(v_params_3221_);
lean_dec_ref(v_params_3221_);
v___x_3284_ = lean_unsigned_to_nat(0u);
v___x_3285_ = lean_nat_dec_eq(v___x_3283_, v___x_3284_);
v___y_3250_ = v___x_3285_;
goto v___jp_3249_;
}
v___jp_3222_:
{
lean_object* v___x_3225_; lean_object* v_env_3226_; lean_object* v_nextMacroScope_3227_; lean_object* v_ngen_3228_; lean_object* v_auxDeclNGen_3229_; lean_object* v_traceState_3230_; lean_object* v_messages_3231_; lean_object* v_infoState_3232_; lean_object* v_snapshotTasks_3233_; lean_object* v___x_3235_; uint8_t v_isShared_3236_; uint8_t v_isSharedCheck_3247_; 
v___x_3225_ = lean_st_ref_take(v___y_3224_);
v_env_3226_ = lean_ctor_get(v___x_3225_, 0);
v_nextMacroScope_3227_ = lean_ctor_get(v___x_3225_, 1);
v_ngen_3228_ = lean_ctor_get(v___x_3225_, 2);
v_auxDeclNGen_3229_ = lean_ctor_get(v___x_3225_, 3);
v_traceState_3230_ = lean_ctor_get(v___x_3225_, 4);
v_messages_3231_ = lean_ctor_get(v___x_3225_, 6);
v_infoState_3232_ = lean_ctor_get(v___x_3225_, 7);
v_snapshotTasks_3233_ = lean_ctor_get(v___x_3225_, 8);
v_isSharedCheck_3247_ = !lean_is_exclusive(v___x_3225_);
if (v_isSharedCheck_3247_ == 0)
{
lean_object* v_unused_3248_; 
v_unused_3248_ = lean_ctor_get(v___x_3225_, 5);
lean_dec(v_unused_3248_);
v___x_3235_ = v___x_3225_;
v_isShared_3236_ = v_isSharedCheck_3247_;
goto v_resetjp_3234_;
}
else
{
lean_inc(v_snapshotTasks_3233_);
lean_inc(v_infoState_3232_);
lean_inc(v_messages_3231_);
lean_inc(v_traceState_3230_);
lean_inc(v_auxDeclNGen_3229_);
lean_inc(v_ngen_3228_);
lean_inc(v_nextMacroScope_3227_);
lean_inc(v_env_3226_);
lean_dec(v___x_3225_);
v___x_3235_ = lean_box(0);
v_isShared_3236_ = v_isSharedCheck_3247_;
goto v_resetjp_3234_;
}
v_resetjp_3234_:
{
lean_object* v___x_3237_; lean_object* v___x_3238_; lean_object* v___x_3240_; 
v___x_3237_ = l_Lean_Compiler_LCNF_addSimpleGroundDecl(v_env_3226_, v_name_3219_, v___y_3223_);
v___x_3238_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__2);
if (v_isShared_3236_ == 0)
{
lean_ctor_set(v___x_3235_, 5, v___x_3238_);
lean_ctor_set(v___x_3235_, 0, v___x_3237_);
v___x_3240_ = v___x_3235_;
goto v_reusejp_3239_;
}
else
{
lean_object* v_reuseFailAlloc_3246_; 
v_reuseFailAlloc_3246_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_3246_, 0, v___x_3237_);
lean_ctor_set(v_reuseFailAlloc_3246_, 1, v_nextMacroScope_3227_);
lean_ctor_set(v_reuseFailAlloc_3246_, 2, v_ngen_3228_);
lean_ctor_set(v_reuseFailAlloc_3246_, 3, v_auxDeclNGen_3229_);
lean_ctor_set(v_reuseFailAlloc_3246_, 4, v_traceState_3230_);
lean_ctor_set(v_reuseFailAlloc_3246_, 5, v___x_3238_);
lean_ctor_set(v_reuseFailAlloc_3246_, 6, v_messages_3231_);
lean_ctor_set(v_reuseFailAlloc_3246_, 7, v_infoState_3232_);
lean_ctor_set(v_reuseFailAlloc_3246_, 8, v_snapshotTasks_3233_);
v___x_3240_ = v_reuseFailAlloc_3246_;
goto v_reusejp_3239_;
}
v_reusejp_3239_:
{
lean_object* v___x_3241_; lean_object* v___x_3242_; lean_object* v___x_3244_; 
v___x_3241_ = lean_st_ref_set(v___y_3224_, v___x_3240_);
v___x_3242_ = lean_box(0);
if (v_isShared_3218_ == 0)
{
lean_ctor_set(v___x_3217_, 0, v___x_3242_);
v___x_3244_ = v___x_3217_;
goto v_reusejp_3243_;
}
else
{
lean_object* v_reuseFailAlloc_3245_; 
v_reuseFailAlloc_3245_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3245_, 0, v___x_3242_);
v___x_3244_ = v_reuseFailAlloc_3245_;
goto v_reusejp_3243_;
}
v_reusejp_3243_:
{
return v___x_3244_;
}
}
}
}
v___jp_3249_:
{
if (v___y_3250_ == 0)
{
lean_object* v___x_3251_; lean_object* v___x_3252_; 
lean_dec(v_name_3219_);
lean_del_object(v___x_3217_);
lean_dec_ref(v_code_3215_);
v___x_3251_ = lean_box(0);
v___x_3252_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3252_, 0, v___x_3251_);
return v___x_3252_;
}
else
{
lean_object* v___x_3253_; 
v___x_3253_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_compileToSimpleGroundExpr(v_code_3215_, v_a_3208_, v_a_3209_, v_a_3210_, v_a_3211_);
if (lean_obj_tag(v___x_3253_) == 0)
{
lean_object* v_a_3254_; lean_object* v___x_3256_; uint8_t v_isShared_3257_; uint8_t v_isSharedCheck_3273_; 
v_a_3254_ = lean_ctor_get(v___x_3253_, 0);
v_isSharedCheck_3273_ = !lean_is_exclusive(v___x_3253_);
if (v_isSharedCheck_3273_ == 0)
{
v___x_3256_ = v___x_3253_;
v_isShared_3257_ = v_isSharedCheck_3273_;
goto v_resetjp_3255_;
}
else
{
lean_inc(v_a_3254_);
lean_dec(v___x_3253_);
v___x_3256_ = lean_box(0);
v_isShared_3257_ = v_isSharedCheck_3273_;
goto v_resetjp_3255_;
}
v_resetjp_3255_:
{
if (lean_obj_tag(v_a_3254_) == 1)
{
lean_object* v_val_3258_; lean_object* v___x_3259_; lean_object* v___x_3260_; lean_object* v_a_3261_; uint8_t v___x_3262_; 
lean_del_object(v___x_3256_);
v_val_3258_ = lean_ctor_get(v_a_3254_, 0);
lean_inc(v_val_3258_);
lean_dec_ref(v_a_3254_);
v___x_3259_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5));
v___x_3260_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__0___redArg(v___x_3259_, v_a_3210_);
v_a_3261_ = lean_ctor_get(v___x_3260_, 0);
lean_inc(v_a_3261_);
lean_dec_ref(v___x_3260_);
v___x_3262_ = lean_unbox(v_a_3261_);
lean_dec(v_a_3261_);
if (v___x_3262_ == 0)
{
v___y_3223_ = v_val_3258_;
v___y_3224_ = v_a_3211_;
goto v___jp_3222_;
}
else
{
lean_object* v___x_3263_; lean_object* v___x_3264_; lean_object* v___x_3265_; lean_object* v___x_3266_; lean_object* v___x_3267_; lean_object* v___x_3268_; 
v___x_3263_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__7);
lean_inc(v_name_3219_);
v___x_3264_ = l_Lean_MessageData_ofName(v_name_3219_);
v___x_3265_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3265_, 0, v___x_3263_);
lean_ctor_set(v___x_3265_, 1, v___x_3264_);
v___x_3266_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9, &l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9_once, _init_l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__9);
v___x_3267_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3267_, 0, v___x_3265_);
lean_ctor_set(v___x_3267_, 1, v___x_3266_);
v___x_3268_ = l_Lean_addTrace___at___00__private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround_spec__1(v___x_3259_, v___x_3267_, v_a_3208_, v_a_3209_, v_a_3210_, v_a_3211_);
if (lean_obj_tag(v___x_3268_) == 0)
{
lean_dec_ref(v___x_3268_);
v___y_3223_ = v_val_3258_;
v___y_3224_ = v_a_3211_;
goto v___jp_3222_;
}
else
{
lean_dec(v_val_3258_);
lean_dec(v_name_3219_);
lean_del_object(v___x_3217_);
return v___x_3268_;
}
}
}
else
{
lean_object* v___x_3269_; lean_object* v___x_3271_; 
lean_dec(v_a_3254_);
lean_dec(v_name_3219_);
lean_del_object(v___x_3217_);
v___x_3269_ = lean_box(0);
if (v_isShared_3257_ == 0)
{
lean_ctor_set(v___x_3256_, 0, v___x_3269_);
v___x_3271_ = v___x_3256_;
goto v_reusejp_3270_;
}
else
{
lean_object* v_reuseFailAlloc_3272_; 
v_reuseFailAlloc_3272_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3272_, 0, v___x_3269_);
v___x_3271_ = v_reuseFailAlloc_3272_;
goto v_reusejp_3270_;
}
v_reusejp_3270_:
{
return v___x_3271_;
}
}
}
}
else
{
lean_object* v_a_3274_; lean_object* v___x_3276_; uint8_t v_isShared_3277_; uint8_t v_isSharedCheck_3281_; 
lean_dec(v_name_3219_);
lean_del_object(v___x_3217_);
v_a_3274_ = lean_ctor_get(v___x_3253_, 0);
v_isSharedCheck_3281_ = !lean_is_exclusive(v___x_3253_);
if (v_isSharedCheck_3281_ == 0)
{
v___x_3276_ = v___x_3253_;
v_isShared_3277_ = v_isSharedCheck_3281_;
goto v_resetjp_3275_;
}
else
{
lean_inc(v_a_3274_);
lean_dec(v___x_3253_);
v___x_3276_ = lean_box(0);
v_isShared_3277_ = v_isSharedCheck_3281_;
goto v_resetjp_3275_;
}
v_resetjp_3275_:
{
lean_object* v___x_3279_; 
if (v_isShared_3277_ == 0)
{
v___x_3279_ = v___x_3276_;
goto v_reusejp_3278_;
}
else
{
lean_object* v_reuseFailAlloc_3280_; 
v_reuseFailAlloc_3280_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3280_, 0, v_a_3274_);
v___x_3279_ = v_reuseFailAlloc_3280_;
goto v_reusejp_3278_;
}
v_reusejp_3278_:
{
return v___x_3279_;
}
}
}
}
}
}
}
else
{
lean_object* v___x_3287_; lean_object* v___x_3288_; 
lean_dec_ref(v_value_3213_);
lean_dec_ref(v_d_3207_);
v___x_3287_ = lean_box(0);
v___x_3288_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3288_, 0, v___x_3287_);
return v___x_3288_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___boxed(lean_object* v_d_3289_, lean_object* v_a_3290_, lean_object* v_a_3291_, lean_object* v_a_3292_, lean_object* v_a_3293_, lean_object* v_a_3294_){
_start:
{
lean_object* v_res_3295_; 
v_res_3295_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround(v_d_3289_, v_a_3290_, v_a_3291_, v_a_3292_, v_a_3293_);
lean_dec(v_a_3293_);
lean_dec_ref(v_a_3292_);
lean_dec(v_a_3291_);
lean_dec_ref(v_a_3290_);
return v_res_3295_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0(lean_object* v_as_3296_, size_t v_i_3297_, size_t v_stop_3298_, lean_object* v_b_3299_, lean_object* v___y_3300_, lean_object* v___y_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_){
_start:
{
uint8_t v___x_3305_; 
v___x_3305_ = lean_usize_dec_eq(v_i_3297_, v_stop_3298_);
if (v___x_3305_ == 0)
{
lean_object* v___x_3306_; lean_object* v___x_3307_; 
v___x_3306_ = lean_array_uget_borrowed(v_as_3296_, v_i_3297_);
lean_inc(v___x_3306_);
v___x_3307_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround(v___x_3306_, v___y_3300_, v___y_3301_, v___y_3302_, v___y_3303_);
if (lean_obj_tag(v___x_3307_) == 0)
{
lean_object* v_a_3308_; size_t v___x_3309_; size_t v___x_3310_; 
v_a_3308_ = lean_ctor_get(v___x_3307_, 0);
lean_inc(v_a_3308_);
lean_dec_ref(v___x_3307_);
v___x_3309_ = ((size_t)1ULL);
v___x_3310_ = lean_usize_add(v_i_3297_, v___x_3309_);
v_i_3297_ = v___x_3310_;
v_b_3299_ = v_a_3308_;
goto _start;
}
else
{
return v___x_3307_;
}
}
else
{
lean_object* v___x_3312_; 
v___x_3312_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3312_, 0, v_b_3299_);
return v___x_3312_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0___boxed(lean_object* v_as_3313_, lean_object* v_i_3314_, lean_object* v_stop_3315_, lean_object* v_b_3316_, lean_object* v___y_3317_, lean_object* v___y_3318_, lean_object* v___y_3319_, lean_object* v___y_3320_, lean_object* v___y_3321_){
_start:
{
size_t v_i_boxed_3322_; size_t v_stop_boxed_3323_; lean_object* v_res_3324_; 
v_i_boxed_3322_ = lean_unbox_usize(v_i_3314_);
lean_dec(v_i_3314_);
v_stop_boxed_3323_ = lean_unbox_usize(v_stop_3315_);
lean_dec(v_stop_3315_);
v_res_3324_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0(v_as_3313_, v_i_boxed_3322_, v_stop_boxed_3323_, v_b_3316_, v___y_3317_, v___y_3318_, v___y_3319_, v___y_3320_);
lean_dec(v___y_3320_);
lean_dec_ref(v___y_3319_);
lean_dec(v___y_3318_);
lean_dec_ref(v___y_3317_);
lean_dec_ref(v_as_3313_);
return v_res_3324_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___lam__0(lean_object* v___x_3325_, lean_object* v_decls_3326_, lean_object* v___y_3327_, lean_object* v___y_3328_, lean_object* v___y_3329_, lean_object* v___y_3330_){
_start:
{
lean_object* v___y_3333_; lean_object* v___x_3350_; uint8_t v___x_3351_; 
v___x_3350_ = lean_array_get_size(v_decls_3326_);
v___x_3351_ = lean_nat_dec_lt(v___x_3325_, v___x_3350_);
if (v___x_3351_ == 0)
{
lean_object* v___x_3352_; 
v___x_3352_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3352_, 0, v_decls_3326_);
return v___x_3352_;
}
else
{
lean_object* v___x_3353_; uint8_t v___x_3354_; 
v___x_3353_ = lean_box(0);
v___x_3354_ = lean_nat_dec_le(v___x_3350_, v___x_3350_);
if (v___x_3354_ == 0)
{
if (v___x_3351_ == 0)
{
lean_object* v___x_3355_; 
v___x_3355_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3355_, 0, v_decls_3326_);
return v___x_3355_;
}
else
{
size_t v___x_3356_; size_t v___x_3357_; lean_object* v___x_3358_; 
v___x_3356_ = ((size_t)0ULL);
v___x_3357_ = lean_usize_of_nat(v___x_3350_);
v___x_3358_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0(v_decls_3326_, v___x_3356_, v___x_3357_, v___x_3353_, v___y_3327_, v___y_3328_, v___y_3329_, v___y_3330_);
v___y_3333_ = v___x_3358_;
goto v___jp_3332_;
}
}
else
{
size_t v___x_3359_; size_t v___x_3360_; lean_object* v___x_3361_; 
v___x_3359_ = ((size_t)0ULL);
v___x_3360_ = lean_usize_of_nat(v___x_3350_);
v___x_3361_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_detectSimpleGround_spec__0(v_decls_3326_, v___x_3359_, v___x_3360_, v___x_3353_, v___y_3327_, v___y_3328_, v___y_3329_, v___y_3330_);
v___y_3333_ = v___x_3361_;
goto v___jp_3332_;
}
}
v___jp_3332_:
{
if (lean_obj_tag(v___y_3333_) == 0)
{
lean_object* v___x_3335_; uint8_t v_isShared_3336_; uint8_t v_isSharedCheck_3340_; 
v_isSharedCheck_3340_ = !lean_is_exclusive(v___y_3333_);
if (v_isSharedCheck_3340_ == 0)
{
lean_object* v_unused_3341_; 
v_unused_3341_ = lean_ctor_get(v___y_3333_, 0);
lean_dec(v_unused_3341_);
v___x_3335_ = v___y_3333_;
v_isShared_3336_ = v_isSharedCheck_3340_;
goto v_resetjp_3334_;
}
else
{
lean_dec(v___y_3333_);
v___x_3335_ = lean_box(0);
v_isShared_3336_ = v_isSharedCheck_3340_;
goto v_resetjp_3334_;
}
v_resetjp_3334_:
{
lean_object* v___x_3338_; 
if (v_isShared_3336_ == 0)
{
lean_ctor_set(v___x_3335_, 0, v_decls_3326_);
v___x_3338_ = v___x_3335_;
goto v_reusejp_3337_;
}
else
{
lean_object* v_reuseFailAlloc_3339_; 
v_reuseFailAlloc_3339_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3339_, 0, v_decls_3326_);
v___x_3338_ = v_reuseFailAlloc_3339_;
goto v_reusejp_3337_;
}
v_reusejp_3337_:
{
return v___x_3338_;
}
}
}
else
{
lean_object* v_a_3342_; lean_object* v___x_3344_; uint8_t v_isShared_3345_; uint8_t v_isSharedCheck_3349_; 
lean_dec_ref(v_decls_3326_);
v_a_3342_ = lean_ctor_get(v___y_3333_, 0);
v_isSharedCheck_3349_ = !lean_is_exclusive(v___y_3333_);
if (v_isSharedCheck_3349_ == 0)
{
v___x_3344_ = v___y_3333_;
v_isShared_3345_ = v_isSharedCheck_3349_;
goto v_resetjp_3343_;
}
else
{
lean_inc(v_a_3342_);
lean_dec(v___y_3333_);
v___x_3344_ = lean_box(0);
v_isShared_3345_ = v_isSharedCheck_3349_;
goto v_resetjp_3343_;
}
v_resetjp_3343_:
{
lean_object* v___x_3347_; 
if (v_isShared_3345_ == 0)
{
v___x_3347_ = v___x_3344_;
goto v_reusejp_3346_;
}
else
{
lean_object* v_reuseFailAlloc_3348_; 
v_reuseFailAlloc_3348_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3348_, 0, v_a_3342_);
v___x_3347_ = v_reuseFailAlloc_3348_;
goto v_reusejp_3346_;
}
v_reusejp_3346_:
{
return v___x_3347_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_detectSimpleGround___lam__0___boxed(lean_object* v___x_3362_, lean_object* v_decls_3363_, lean_object* v___y_3364_, lean_object* v___y_3365_, lean_object* v___y_3366_, lean_object* v___y_3367_, lean_object* v___y_3368_){
_start:
{
lean_object* v_res_3369_; 
v_res_3369_ = l_Lean_Compiler_LCNF_detectSimpleGround___lam__0(v___x_3362_, v_decls_3363_, v___y_3364_, v___y_3365_, v___y_3366_, v___y_3367_);
lean_dec(v___y_3367_);
lean_dec_ref(v___y_3366_);
lean_dec(v___y_3365_);
lean_dec_ref(v___y_3364_);
lean_dec(v___x_3362_);
return v_res_3369_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_3447_; uint8_t v___x_3448_; lean_object* v___x_3449_; lean_object* v___x_3450_; 
v___x_3447_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_Decl_detectSimpleGround___closed__5));
v___x_3448_ = 1;
v___x_3449_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_));
v___x_3450_ = l_Lean_registerTraceClass(v___x_3447_, v___x_3448_, v___x_3449_);
return v___x_3450_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2____boxed(lean_object* v_a_3451_){
_start:
{
lean_object* v_res_3452_; 
v_res_3452_ = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_();
return v_res_3452_;
}
}
lean_object* runtime_initialize_Lean_Compiler_LCNF_CompilerM(uint8_t builtin);
lean_object* runtime_initialize_Lean_Compiler_LCNF_PassManager(uint8_t builtin);
lean_object* runtime_initialize_Init_While(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Compiler_LCNF_SimpleGroundExpr(uint8_t builtin) {
lean_object * res;
if (_G_runtime_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_runtime_initialized = true;
res = runtime_initialize_Lean_Compiler_LCNF_CompilerM(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_PassManager(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_While(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default = _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default();
lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr_default);
l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr = _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr();
lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExpr);
l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default = _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default();
lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState_default);
l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState = _init_l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState();
lean_mark_persistent(l_Lean_Compiler_LCNF_instInhabitedSimpleGroundExtState);
res = l_Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_160484116____hygCtx___hyg_2_();
if (lean_io_result_is_error(res)) return res;
l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt = lean_io_result_get_value(res);
lean_mark_persistent(l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_simpleGroundDeclExt);
lean_dec_ref(res);
res = l___private_Lean_Compiler_LCNF_SimpleGroundExpr_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_SimpleGroundExpr_1728217338____hygCtx___hyg_2_();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
static bool _G_meta_initialized = false;
LEAN_EXPORT lean_object* meta_initialize_Lean_Compiler_LCNF_SimpleGroundExpr(uint8_t builtin) {
lean_object * res;
if (_G_meta_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_meta_initialized = true;
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Lean_Compiler_LCNF_CompilerM(uint8_t builtin);
lean_object* initialize_Lean_Compiler_LCNF_PassManager(uint8_t builtin);
lean_object* initialize_Init_While(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Compiler_LCNF_SimpleGroundExpr(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Lean_Compiler_LCNF_CompilerM(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Compiler_LCNF_PassManager(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_While(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_SimpleGroundExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Compiler_LCNF_SimpleGroundExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Compiler_LCNF_SimpleGroundExpr(builtin);
}
#ifdef __cplusplus
}
#endif
