// Lean compiler output
// Module: Lean.Compiler.LCNF.JoinPoints
// Imports: public import Lean.Compiler.LCNF.PullFunDecls public import Lean.Compiler.LCNF.FVarUtil public import Lean.Compiler.LCNF.ScopeM public import Lean.Compiler.LCNF.InferType
#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_st_ref_get(lean_object*);
lean_object* l_Lean_instBEqFVarId_beq___boxed(lean_object*, lean_object*);
lean_object* l_Lean_instHashableFVarId_hash___boxed(lean_object*);
lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
uint8_t l_Lean_instBEqFVarId_beq(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*);
lean_object* l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
size_t lean_usize_add(size_t, size_t);
lean_object* l_Lean_Compiler_LCNF_ScopeM_clearScope___redArg(lean_object*);
lean_object* l_Lean_Compiler_LCNF_ScopeM_getScope___redArg(lean_object*);
lean_object* l_Lean_Compiler_LCNF_ScopeM_setScope___redArg(lean_object*, lean_object*);
lean_object* l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_getFunDecl(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l___private_Lean_Data_Name_0__Lean_Name_quickCmpImpl(lean_object*, lean_object*);
lean_object* l_Array_zip___redArg(lean_object*, lean_object*);
size_t lean_array_size(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
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_uint64_to_usize(uint64_t);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
uint8_t l_Lean_Compiler_LCNF_instBEqArg_beq___redArg(lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasFVar(lean_object*);
lean_object* l_instMonadEST(lean_object*, lean_object*);
lean_object* l_ReaderT_instMonad___redArg(lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_instMonadCompilerM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_instMonadCompilerM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_instMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_instMonad___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_instMonad___redArg___lam__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_instMonad___redArg___lam__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_instMonad___redArg___lam__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_pure(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_OptionT_bind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_instInhabitedOfMonad___redArg(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_Alt_getParams(lean_object*);
size_t lean_ptr_addr(lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_replaceFVars(uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_Code_inferType(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_mkForallParams(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_eraseParam___redArg(uint8_t, lean_object*, lean_object*);
lean_object* l_Std_HashMap_instInhabited(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_ScopeM_isInScope___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_mkAuxParam(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_Arg_updateFVarImp___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Expr_fvar___override(lean_object*);
extern lean_object* l_Lean_instInhabitedExpr;
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
lean_object* l_Lean_Expr_lam___override(lean_object*, lean_object*, lean_object*, uint8_t);
uint8_t l_Lean_instBEqBinderInfo_beq(uint8_t, uint8_t);
lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_Arg_updateTypeImp(uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateArgsImp(uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateProjImp(uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateFVarImp(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateResetImp(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateReuseImp(uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateBoxImp(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateUnboxImp(uint8_t, lean_object*, lean_object*);
lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateIsSharedImp(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_LetDecl_updateValue___redArg(uint8_t, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_FVarIdSet_insert(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Array_append___redArg(lean_object*, lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_FunDecl_getArity___redArg(lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Compiler_LCNF_eraseLetDecl___redArg(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_LCtx_addFunDecl(uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_mkFreshJpName___redArg(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_Nat_reprFast(lean_object*);
lean_object* l_Lean_MessageData_ofFormat(lean_object*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
lean_object* l_Lean_Compiler_LCNF_getPurity___redArg(lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*, uint8_t);
double lean_float_of_nat(lean_object*);
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkAtom(lean_object*);
lean_object* l_Lean_Compiler_LCNF_Decl_pullFunDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Compiler_LCNF_instInhabitedPass;
lean_object* l_Lean_Compiler_LCNF_Phase_withPurityCheck___redArg(lean_object*, uint8_t, uint8_t, lean_object*);
static lean_once_cell_t l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0;
static lean_once_cell_t l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1;
static lean_once_cell_t l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo;
static const lean_closure_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__0_value;
static const lean_closure_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___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_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(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_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__0(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_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_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___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___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_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___boxed(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0;
static const lean_closure_object l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___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_Core_instMonadCoreM___lam__0___boxed, .m_arity = 5, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__1 = (const lean_object*)&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__1_value;
static const lean_closure_object l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__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_Core_instMonadCoreM___lam__1___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__2 = (const lean_object*)&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__2_value;
static const lean_closure_object l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3_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_instMonadCompilerM___lam__0___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3 = (const lean_object*)&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3_value;
static const lean_closure_object l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4_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_instMonadCompilerM___lam__1___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4 = (const lean_object*)&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4_value;
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___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.Compiler.LCNF.FVarUtil"};
static const lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__0_value;
static const lean_string_object l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__1_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 = "Lean.Compiler.LCNF.Expr.forFVarM"};
static const lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__1_value;
static const lean_string_object l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 34, .m_capacity = 34, .m_length = 33, .m_data = "unreachable code has been reached"};
static const lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__2_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_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_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___boxed, .m_arity = 8, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_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_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(lean_object*, lean_object*, size_t, size_t, 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___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg___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_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_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_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue___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_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0(uint8_t, lean_object*, lean_object*, size_t, size_t, 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___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0___redArg(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___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_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0(lean_object*, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_Const_modify___at___00Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___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_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___redArg(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___redArg___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___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_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___redArg(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___redArg___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___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_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg___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_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_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_panic___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__2(lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(lean_object*, size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 35, .m_capacity = 35, .m_length = 34, .m_data = "Std.Data.DTreeMap.Internal.Queries"};
static const lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__0 = (const lean_object*)&l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__0_value;
static const lean_string_object l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 38, .m_capacity = 38, .m_length = 37, .m_data = "Std.DTreeMap.Internal.Impl.Const.get!"};
static const lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__1 = (const lean_object*)&l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__1_value;
static const lean_string_object l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 26, .m_capacity = 26, .m_length = 25, .m_data = "Key is not present in map"};
static const lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__2 = (const lean_object*)&l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__2_value;
static lean_once_cell_t l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3;
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "value is none"};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__2 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__2_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 12, .m_capacity = 12, .m_length = 11, .m_data = "Option.get!"};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1_value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 26, .m_capacity = 26, .m_length = 25, .m_data = "Init.Data.Option.BasicAux"};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__0_value;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4(lean_object*, size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1_spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg___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_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_JoinPointFinder_find___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___boxed, .m_arity = 8, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__0_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(1) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___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___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg___boxed(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_JoinPointFinder_replace_spec__2(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_JoinPointFinder_replace_spec__2___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_Lean_Compiler_LCNF_JoinPointFinder_replace___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointFinder_replace___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace___boxed(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___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg___boxed(lean_object*, lean_object*);
static const lean_string_object l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__0 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__1 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__2 = (const lean_object*)&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__3;
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___boxed(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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1(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___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(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_JoinPointContextExtender_withNewCandidate___redArg___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_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_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___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg(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_JoinPointContextExtender_withNewCandidates___redArg___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_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0(lean_object*, size_t, size_t, 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_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___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_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary___boxed(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___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0(lean_object*, size_t, size_t, 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___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0___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_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary___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_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__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_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg___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_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(1) << 1) | 1))}};
static const lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope(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_JoinPointContextExtender_withNewFunScope___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_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0(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_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_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_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0(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_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_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_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__0(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_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__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_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg(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_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___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_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg(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_JoinPointContextExtender_withNewJpScope___redArg___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_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg(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_JoinPointContextExtender_withNewAltScope___redArg___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_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar___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_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg(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_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg___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_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8(uint8_t, 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_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__0_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 = "Lean.Compiler.LCNF.Expr.mapFVarM"};
static const lean_object* l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__0_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(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_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___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_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3(uint8_t, 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_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3___boxed(lean_object*, lean_object*, 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_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4(size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(uint8_t, lean_object*, size_t, size_t, 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___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0(uint8_t, 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_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6(size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___boxed(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_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1(lean_object*, uint8_t, 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_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9___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_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg(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_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg___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_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0(uint8_t, 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_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extend(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope(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_JoinPointCommonArgs_isInJpScope___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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___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_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(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_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___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_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg(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_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg___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_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4(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_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4___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_Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3(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_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3___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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6(lean_object*, lean_object*, size_t, size_t, 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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg___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_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__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_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0(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_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0___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___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7(lean_object*, size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___boxed(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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze___boxed(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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0(lean_object*, size_t, size_t, 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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___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_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1(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_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___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_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1(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_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___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_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5(lean_object*, size_t, size_t, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___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_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5(uint8_t, 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_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___boxed(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_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0(uint8_t, uint8_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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__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___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0(lean_object*, 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1___boxed(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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__0 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__0_value;
static const lean_array_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__1_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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__1 = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__1_value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg(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_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg___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_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0(uint8_t, 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_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___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_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__0_value;
static const lean_closure_object l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___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___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_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___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___closed__0_value;
static const lean_ctor_object l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_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___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_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___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___closed__1 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0;
static lean_once_cell_t l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1;
static lean_once_cell_t l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2;
static lean_once_cell_t l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static double l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3;
static const lean_string_object l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_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___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__4 = (const lean_object*)&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__4_value;
static const lean_array_object l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_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___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__5 = (const lean_object*)&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__5_value;
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_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_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value;
static const lean_string_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 15, .m_capacity = 15, .m_length = 14, .m_data = "findJoinPoints"};
static const lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__1_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(253, 55, 142, 128, 91, 63, 88, 28)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___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*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2_value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__1_value),LEAN_SCALAR_PTR_LITERAL(27, 146, 158, 50, 89, 247, 141, 91)}};
static const lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2_value;
static const lean_string_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__3_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 = "Found "};
static const lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__3 = (const lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__3_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4;
static const lean_string_object l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = " jp candidates for "};
static const lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__5 = (const lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__5_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Compiler_LCNF_findJoinPoints___closed__0_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_Decl_findJoinPoints_x3f___closed__1_value),LEAN_SCALAR_PTR_LITERAL(93, 56, 72, 52, 217, 5, 132, 108)}};
static const lean_object* l_Lean_Compiler_LCNF_findJoinPoints___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_findJoinPoints___closed__0_value;
static const lean_closure_object l_Lean_Compiler_LCNF_findJoinPoints___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_Compiler_LCNF_Decl_findJoinPoints___boxed, .m_arity = 6, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_findJoinPoints___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_findJoinPoints___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findJoinPoints(lean_object*);
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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 = "Lean"};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(72, 245, 227, 28, 172, 102, 215, 20)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "JoinPoints"};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__6_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(138, 251, 2, 16, 192, 245, 39, 43)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__8_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(11, 195, 166, 13, 14, 74, 51, 102)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__9_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(118, 94, 192, 42, 47, 148, 123, 221)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__10_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(84, 96, 119, 154, 5, 94, 49, 180)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__11_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(149, 254, 177, 201, 52, 78, 188, 46)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__12_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__13_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(188, 174, 53, 156, 55, 51, 108, 149)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__14_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__15_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(181, 89, 78, 65, 209, 42, 118, 20)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__16_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(32, 74, 254, 106, 190, 199, 54, 57)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__17_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(186, 143, 83, 55, 35, 240, 76, 214)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__18_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__5_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(27, 24, 143, 88, 192, 154, 51, 130)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__19_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__7_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(248, 64, 202, 107, 91, 94, 0, 94)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)(((size_t)(885915134) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(107, 189, 181, 106, 196, 101, 170, 6)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__21_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(16, 152, 224, 166, 61, 246, 204, 6)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_string_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__23_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(148, 152, 102, 67, 2, 3, 70, 81)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__26_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__25_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)(((size_t)(2) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(173, 228, 205, 62, 228, 202, 74, 221)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__26_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__26_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_extendJoinPointContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_extendJoinPointContext___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___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 = "Parser"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0_value;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_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 = "Tactic"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_value;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__2_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 = "tacticSeq"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__2_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value_aux_1),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value_aux_2),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__2_value),LEAN_SCALAR_PTR_LITERAL(212, 140, 85, 215, 241, 69, 7, 118)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3_value;
static const lean_array_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4_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_extendJoinPointContext___auto__1___closed__4 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4_value;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__5_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 = "tacticSeq1Indented"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__5 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__5_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value_aux_1),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value_aux_2),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__5_value),LEAN_SCALAR_PTR_LITERAL(223, 90, 160, 238, 133, 180, 23, 239)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6_value;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__7_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 = "null"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__7 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__7_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__8_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_extendJoinPointContext___auto__1___closed__7_value),LEAN_SCALAR_PTR_LITERAL(24, 58, 49, 223, 146, 207, 197, 136)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__8 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__8_value;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__9_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 = "simp"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__9 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__9_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value_aux_1),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value_aux_2),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__9_value),LEAN_SCALAR_PTR_LITERAL(50, 13, 241, 145, 67, 153, 105, 177)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__13_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 = "optConfig"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__13 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__13_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value_aux_1),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(166, 58, 35, 182, 187, 130, 147, 254)}};
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value_aux_2),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__13_value),LEAN_SCALAR_PTR_LITERAL(137, 208, 10, 74, 108, 50, 106, 48)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(2) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__8_value),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4_value)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28;
static lean_once_cell_t l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1;
static const lean_string_object l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__0_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 = "extendJoinPointContext"};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__0_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___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_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(235, 217, 22, 100, 178, 244, 59, 176)}};
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0(uint8_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_extendJoinPointContext___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_Compiler_LCNF_JoinPointContextExtender_extend___boxed, .m_arity = 6, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg(lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext(lean_object*, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___boxed(lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(253, 55, 142, 128, 91, 63, 88, 28)}};
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(45, 182, 186, 25, 180, 118, 93, 6)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),((lean_object*)(((size_t)(1293217372) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(16, 21, 56, 79, 107, 153, 225, 133)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(135, 157, 213, 84, 57, 230, 183, 4)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value),((lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(207, 209, 19, 102, 29, 210, 192, 63)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value),((lean_object*)(((size_t)(2) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(138, 122, 21, 150, 241, 75, 189, 9)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2__value;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_commonJoinPointArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_commonJoinPointArgs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___boxed, .m_arity = 6, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__0 = (const lean_object*)&l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__0_value;
static const lean_string_object l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = "commonJoinPointArgs"};
static const lean_object* l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__1 = (const lean_object*)&l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__1_value;
static const lean_ctor_object l_Lean_Compiler_LCNF_commonJoinPointArgs___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_commonJoinPointArgs___closed__1_value),LEAN_SCALAR_PTR_LITERAL(43, 94, 34, 67, 153, 72, 48, 41)}};
static const lean_object* l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__2 = (const lean_object*)&l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__2_value;
static lean_once_cell_t l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3;
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_commonJoinPointArgs;
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(253, 55, 142, 128, 91, 63, 88, 28)}};
static const lean_ctor_object l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____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_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__value_aux_0),((lean_object*)&l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__1_value),LEAN_SCALAR_PTR_LITERAL(237, 238, 208, 194, 7, 187, 157, 14)}};
static const lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_ = (const lean_object*)&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__value;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_;
static lean_once_cell_t l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2____boxed(lean_object*);
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0(void){
_start:
{
lean_object* v___x_1_; lean_object* v___x_2_; lean_object* v___x_3_; 
v___x_1_ = lean_box(0);
v___x_2_ = lean_unsigned_to_nat(16u);
v___x_3_ = lean_mk_array(v___x_2_, v___x_1_);
return v___x_3_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1(void){
_start:
{
lean_object* v___x_4_; lean_object* v___x_5_; lean_object* v___x_6_; 
v___x_4_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__0);
v___x_5_ = lean_unsigned_to_nat(0u);
v___x_6_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6_, 0, v___x_5_);
lean_ctor_set(v___x_6_, 1, v___x_4_);
return v___x_6_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2(void){
_start:
{
lean_object* v___x_7_; lean_object* v___x_8_; lean_object* v___x_9_; 
v___x_7_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_8_ = lean_unsigned_to_nat(0u);
v___x_9_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_9_, 0, v___x_8_);
lean_ctor_set(v___x_9_, 1, v___x_7_);
return v___x_9_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default(void){
_start:
{
lean_object* v___x_10_; 
v___x_10_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__2);
return v___x_10_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo(void){
_start:
{
lean_object* v___x_11_; 
v___x_11_ = l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default;
return v___x_11_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg(lean_object* v_fvarId_14_, lean_object* v_a_15_){
_start:
{
lean_object* v___x_17_; lean_object* v___x_18_; lean_object* v___x_19_; lean_object* v___x_20_; lean_object* v___x_21_; 
v___x_17_ = lean_st_ref_get(v_a_15_);
v___x_18_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__0));
v___x_19_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__1));
v___x_20_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(v___x_18_, v___x_19_, v___x_17_, v_fvarId_14_);
lean_dec(v___x_17_);
v___x_21_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_21_, 0, v___x_20_);
return v___x_21_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___boxed(lean_object* v_fvarId_22_, lean_object* v_a_23_, lean_object* v_a_24_){
_start:
{
lean_object* v_res_25_; 
v_res_25_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg(v_fvarId_22_, v_a_23_);
lean_dec(v_a_23_);
return v_res_25_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f(lean_object* v_fvarId_26_, lean_object* v_a_27_, lean_object* v_a_28_, lean_object* v_a_29_, lean_object* v_a_30_, lean_object* v_a_31_, lean_object* v_a_32_){
_start:
{
lean_object* v___x_34_; lean_object* v___x_35_; lean_object* v___x_36_; lean_object* v___x_37_; lean_object* v___x_38_; 
v___x_34_ = lean_st_ref_get(v_a_28_);
v___x_35_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__0));
v___x_36_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__1));
v___x_37_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(v___x_35_, v___x_36_, v___x_34_, v_fvarId_26_);
lean_dec(v___x_34_);
v___x_38_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_38_, 0, v___x_37_);
return v___x_38_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___boxed(lean_object* v_fvarId_39_, lean_object* v_a_40_, lean_object* v_a_41_, lean_object* v_a_42_, lean_object* v_a_43_, lean_object* v_a_44_, lean_object* v_a_45_, lean_object* v_a_46_){
_start:
{
lean_object* v_res_47_; 
v_res_47_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f(v_fvarId_39_, v_a_40_, v_a_41_, v_a_42_, v_a_43_, v_a_44_, v_a_45_);
lean_dec(v_a_45_);
lean_dec_ref(v_a_44_);
lean_dec(v_a_43_);
lean_dec_ref(v_a_42_);
lean_dec(v_a_41_);
lean_dec_ref(v_a_40_);
return v_res_47_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___redArg(lean_object* v_f_48_, lean_object* v_a_49_){
_start:
{
lean_object* v___x_51_; lean_object* v___x_52_; lean_object* v___x_53_; lean_object* v___x_54_; lean_object* v___x_55_; 
v___x_51_ = lean_st_ref_take(v_a_49_);
v___x_52_ = lean_apply_1(v_f_48_, v___x_51_);
v___x_53_ = lean_st_ref_set(v_a_49_, v___x_52_);
v___x_54_ = lean_box(0);
v___x_55_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_55_, 0, v___x_54_);
return v___x_55_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___redArg___boxed(lean_object* v_f_56_, lean_object* v_a_57_, lean_object* v_a_58_){
_start:
{
lean_object* v_res_59_; 
v_res_59_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___redArg(v_f_56_, v_a_57_);
lean_dec(v_a_57_);
return v_res_59_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates(lean_object* v_f_60_, lean_object* v_a_61_, lean_object* v_a_62_, lean_object* v_a_63_, lean_object* v_a_64_, lean_object* v_a_65_, lean_object* v_a_66_){
_start:
{
lean_object* v___x_68_; lean_object* v___x_69_; lean_object* v___x_70_; lean_object* v___x_71_; lean_object* v___x_72_; 
v___x_68_ = lean_st_ref_take(v_a_62_);
v___x_69_ = lean_apply_1(v_f_60_, v___x_68_);
v___x_70_ = lean_st_ref_set(v_a_62_, v___x_69_);
v___x_71_ = lean_box(0);
v___x_72_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_72_, 0, v___x_71_);
return v___x_72_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates___boxed(lean_object* v_f_73_, lean_object* v_a_74_, lean_object* v_a_75_, lean_object* v_a_76_, lean_object* v_a_77_, lean_object* v_a_78_, lean_object* v_a_79_, lean_object* v_a_80_){
_start:
{
lean_object* v_res_81_; 
v_res_81_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_modifyCandidates(v_f_73_, v_a_74_, v_a_75_, v_a_76_, v_a_77_, v_a_78_, v_a_79_);
lean_dec(v_a_79_);
lean_dec_ref(v_a_78_);
lean_dec(v_a_77_);
lean_dec_ref(v_a_76_);
lean_dec(v_a_75_);
lean_dec_ref(v_a_74_);
return v_res_81_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg(lean_object* v_a_82_, lean_object* v_x_83_){
_start:
{
if (lean_obj_tag(v_x_83_) == 0)
{
lean_object* v___x_84_; 
v___x_84_ = lean_box(0);
return v___x_84_;
}
else
{
lean_object* v_key_85_; lean_object* v_value_86_; lean_object* v_tail_87_; uint8_t v___x_88_; 
v_key_85_ = lean_ctor_get(v_x_83_, 0);
v_value_86_ = lean_ctor_get(v_x_83_, 1);
v_tail_87_ = lean_ctor_get(v_x_83_, 2);
v___x_88_ = l_Lean_instBEqFVarId_beq(v_key_85_, v_a_82_);
if (v___x_88_ == 0)
{
v_x_83_ = v_tail_87_;
goto _start;
}
else
{
lean_object* v___x_90_; 
lean_inc(v_value_86_);
v___x_90_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_90_, 0, v_value_86_);
return v___x_90_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg___boxed(lean_object* v_a_91_, lean_object* v_x_92_){
_start:
{
lean_object* v_res_93_; 
v_res_93_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg(v_a_91_, v_x_92_);
lean_dec(v_x_92_);
lean_dec(v_a_91_);
return v_res_93_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(lean_object* v_m_94_, lean_object* v_a_95_){
_start:
{
lean_object* v_buckets_96_; lean_object* v___x_97_; uint64_t v___x_98_; uint64_t v___x_99_; uint64_t v___x_100_; uint64_t v_fold_101_; uint64_t v___x_102_; uint64_t v___x_103_; uint64_t v___x_104_; size_t v___x_105_; size_t v___x_106_; size_t v___x_107_; size_t v___x_108_; size_t v___x_109_; lean_object* v___x_110_; lean_object* v___x_111_; 
v_buckets_96_ = lean_ctor_get(v_m_94_, 1);
v___x_97_ = lean_array_get_size(v_buckets_96_);
v___x_98_ = l_Lean_instHashableFVarId_hash(v_a_95_);
v___x_99_ = 32ULL;
v___x_100_ = lean_uint64_shift_right(v___x_98_, v___x_99_);
v_fold_101_ = lean_uint64_xor(v___x_98_, v___x_100_);
v___x_102_ = 16ULL;
v___x_103_ = lean_uint64_shift_right(v_fold_101_, v___x_102_);
v___x_104_ = lean_uint64_xor(v_fold_101_, v___x_103_);
v___x_105_ = lean_uint64_to_usize(v___x_104_);
v___x_106_ = lean_usize_of_nat(v___x_97_);
v___x_107_ = ((size_t)1ULL);
v___x_108_ = lean_usize_sub(v___x_106_, v___x_107_);
v___x_109_ = lean_usize_land(v___x_105_, v___x_108_);
v___x_110_ = lean_array_uget_borrowed(v_buckets_96_, v___x_109_);
v___x_111_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg(v_a_95_, v___x_110_);
return v___x_111_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg___boxed(lean_object* v_m_112_, lean_object* v_a_113_){
_start:
{
lean_object* v_res_114_; 
v_res_114_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v_m_112_, v_a_113_);
lean_dec(v_a_113_);
lean_dec_ref(v_m_112_);
return v_res_114_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(lean_object* v_a_115_, lean_object* v_x_116_){
_start:
{
if (lean_obj_tag(v_x_116_) == 0)
{
return v_x_116_;
}
else
{
lean_object* v_key_117_; lean_object* v_value_118_; lean_object* v_tail_119_; lean_object* v___x_121_; uint8_t v_isShared_122_; uint8_t v_isSharedCheck_128_; 
v_key_117_ = lean_ctor_get(v_x_116_, 0);
v_value_118_ = lean_ctor_get(v_x_116_, 1);
v_tail_119_ = lean_ctor_get(v_x_116_, 2);
v_isSharedCheck_128_ = !lean_is_exclusive(v_x_116_);
if (v_isSharedCheck_128_ == 0)
{
v___x_121_ = v_x_116_;
v_isShared_122_ = v_isSharedCheck_128_;
goto v_resetjp_120_;
}
else
{
lean_inc(v_tail_119_);
lean_inc(v_value_118_);
lean_inc(v_key_117_);
lean_dec(v_x_116_);
v___x_121_ = lean_box(0);
v_isShared_122_ = v_isSharedCheck_128_;
goto v_resetjp_120_;
}
v_resetjp_120_:
{
uint8_t v___x_123_; 
v___x_123_ = l_Lean_instBEqFVarId_beq(v_key_117_, v_a_115_);
if (v___x_123_ == 0)
{
lean_object* v___x_124_; lean_object* v___x_126_; 
v___x_124_ = l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(v_a_115_, v_tail_119_);
if (v_isShared_122_ == 0)
{
lean_ctor_set(v___x_121_, 2, v___x_124_);
v___x_126_ = v___x_121_;
goto v_reusejp_125_;
}
else
{
lean_object* v_reuseFailAlloc_127_; 
v_reuseFailAlloc_127_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_127_, 0, v_key_117_);
lean_ctor_set(v_reuseFailAlloc_127_, 1, v_value_118_);
lean_ctor_set(v_reuseFailAlloc_127_, 2, v___x_124_);
v___x_126_ = v_reuseFailAlloc_127_;
goto v_reusejp_125_;
}
v_reusejp_125_:
{
return v___x_126_;
}
}
else
{
lean_del_object(v___x_121_);
lean_dec(v_value_118_);
lean_dec(v_key_117_);
return v_tail_119_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg___boxed(lean_object* v_a_129_, lean_object* v_x_130_){
_start:
{
lean_object* v_res_131_; 
v_res_131_ = l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(v_a_129_, v_x_130_);
lean_dec(v_a_129_);
return v_res_131_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(lean_object* v_a_132_, lean_object* v_x_133_){
_start:
{
if (lean_obj_tag(v_x_133_) == 0)
{
uint8_t v___x_134_; 
v___x_134_ = 0;
return v___x_134_;
}
else
{
lean_object* v_key_135_; lean_object* v_tail_136_; uint8_t v___x_137_; 
v_key_135_ = lean_ctor_get(v_x_133_, 0);
v_tail_136_ = lean_ctor_get(v_x_133_, 2);
v___x_137_ = l_Lean_instBEqFVarId_beq(v_key_135_, v_a_132_);
if (v___x_137_ == 0)
{
v_x_133_ = v_tail_136_;
goto _start;
}
else
{
return v___x_137_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg___boxed(lean_object* v_a_139_, lean_object* v_x_140_){
_start:
{
uint8_t v_res_141_; lean_object* v_r_142_; 
v_res_141_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_139_, v_x_140_);
lean_dec(v_x_140_);
lean_dec(v_a_139_);
v_r_142_ = lean_box(v_res_141_);
return v_r_142_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(lean_object* v_m_143_, lean_object* v_a_144_){
_start:
{
lean_object* v_size_145_; lean_object* v_buckets_146_; lean_object* v___x_147_; uint64_t v___x_148_; uint64_t v___x_149_; uint64_t v___x_150_; uint64_t v_fold_151_; uint64_t v___x_152_; uint64_t v___x_153_; uint64_t v___x_154_; size_t v___x_155_; size_t v___x_156_; size_t v___x_157_; size_t v___x_158_; size_t v___x_159_; lean_object* v_bkt_160_; uint8_t v___x_161_; 
v_size_145_ = lean_ctor_get(v_m_143_, 0);
v_buckets_146_ = lean_ctor_get(v_m_143_, 1);
v___x_147_ = lean_array_get_size(v_buckets_146_);
v___x_148_ = l_Lean_instHashableFVarId_hash(v_a_144_);
v___x_149_ = 32ULL;
v___x_150_ = lean_uint64_shift_right(v___x_148_, v___x_149_);
v_fold_151_ = lean_uint64_xor(v___x_148_, v___x_150_);
v___x_152_ = 16ULL;
v___x_153_ = lean_uint64_shift_right(v_fold_151_, v___x_152_);
v___x_154_ = lean_uint64_xor(v_fold_151_, v___x_153_);
v___x_155_ = lean_uint64_to_usize(v___x_154_);
v___x_156_ = lean_usize_of_nat(v___x_147_);
v___x_157_ = ((size_t)1ULL);
v___x_158_ = lean_usize_sub(v___x_156_, v___x_157_);
v___x_159_ = lean_usize_land(v___x_155_, v___x_158_);
v_bkt_160_ = lean_array_uget_borrowed(v_buckets_146_, v___x_159_);
v___x_161_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_144_, v_bkt_160_);
if (v___x_161_ == 0)
{
return v_m_143_;
}
else
{
lean_object* v___x_163_; uint8_t v_isShared_164_; uint8_t v_isSharedCheck_174_; 
lean_inc(v_bkt_160_);
lean_inc_ref(v_buckets_146_);
lean_inc(v_size_145_);
v_isSharedCheck_174_ = !lean_is_exclusive(v_m_143_);
if (v_isSharedCheck_174_ == 0)
{
lean_object* v_unused_175_; lean_object* v_unused_176_; 
v_unused_175_ = lean_ctor_get(v_m_143_, 1);
lean_dec(v_unused_175_);
v_unused_176_ = lean_ctor_get(v_m_143_, 0);
lean_dec(v_unused_176_);
v___x_163_ = v_m_143_;
v_isShared_164_ = v_isSharedCheck_174_;
goto v_resetjp_162_;
}
else
{
lean_dec(v_m_143_);
v___x_163_ = lean_box(0);
v_isShared_164_ = v_isSharedCheck_174_;
goto v_resetjp_162_;
}
v_resetjp_162_:
{
lean_object* v___x_165_; lean_object* v_buckets_x27_166_; lean_object* v___x_167_; lean_object* v___x_168_; lean_object* v___x_169_; lean_object* v___x_170_; lean_object* v___x_172_; 
v___x_165_ = lean_box(0);
v_buckets_x27_166_ = lean_array_uset(v_buckets_146_, v___x_159_, v___x_165_);
v___x_167_ = lean_unsigned_to_nat(1u);
v___x_168_ = lean_nat_sub(v_size_145_, v___x_167_);
lean_dec(v_size_145_);
v___x_169_ = l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(v_a_144_, v_bkt_160_);
v___x_170_ = lean_array_uset(v_buckets_x27_166_, v___x_159_, v___x_169_);
if (v_isShared_164_ == 0)
{
lean_ctor_set(v___x_163_, 1, v___x_170_);
lean_ctor_set(v___x_163_, 0, v___x_168_);
v___x_172_ = v___x_163_;
goto v_reusejp_171_;
}
else
{
lean_object* v_reuseFailAlloc_173_; 
v_reuseFailAlloc_173_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_173_, 0, v___x_168_);
lean_ctor_set(v_reuseFailAlloc_173_, 1, v___x_170_);
v___x_172_ = v_reuseFailAlloc_173_;
goto v_reusejp_171_;
}
v_reusejp_171_:
{
return v___x_172_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg___boxed(lean_object* v_m_177_, lean_object* v_a_178_){
_start:
{
lean_object* v_res_179_; 
v_res_179_ = l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(v_m_177_, v_a_178_);
lean_dec(v_a_178_);
return v_res_179_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3(lean_object* v_as_180_, size_t v_i_181_, size_t v_stop_182_, lean_object* v_b_183_, lean_object* v___y_184_, lean_object* v___y_185_, lean_object* v___y_186_, lean_object* v___y_187_, lean_object* v___y_188_, lean_object* v___y_189_){
_start:
{
uint8_t v___x_191_; 
v___x_191_ = lean_usize_dec_eq(v_i_181_, v_stop_182_);
if (v___x_191_ == 0)
{
lean_object* v___x_192_; lean_object* v___x_193_; lean_object* v___x_194_; 
v___x_192_ = lean_array_uget_borrowed(v_as_180_, v_i_181_);
v___x_193_ = lean_box(0);
v___x_194_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__0(v___x_193_, v___x_192_, v___y_184_, v___y_185_, v___y_186_, v___y_187_, v___y_188_, v___y_189_);
if (lean_obj_tag(v___x_194_) == 0)
{
lean_object* v_a_195_; size_t v___x_196_; size_t v___x_197_; 
v_a_195_ = lean_ctor_get(v___x_194_, 0);
lean_inc(v_a_195_);
lean_dec_ref(v___x_194_);
v___x_196_ = ((size_t)1ULL);
v___x_197_ = lean_usize_add(v_i_181_, v___x_196_);
v_i_181_ = v___x_197_;
v_b_183_ = v_a_195_;
goto _start;
}
else
{
return v___x_194_;
}
}
else
{
lean_object* v___x_199_; 
v___x_199_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_199_, 0, v_b_183_);
return v___x_199_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(lean_object* v_fvarId_200_, lean_object* v_a_201_, lean_object* v_a_202_, lean_object* v_a_203_, lean_object* v_a_204_, lean_object* v_a_205_, lean_object* v_a_206_){
_start:
{
lean_object* v___x_208_; lean_object* v___x_209_; 
v___x_208_ = lean_st_ref_get(v_a_202_);
v___x_209_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v___x_208_, v_fvarId_200_);
lean_dec(v___x_208_);
if (lean_obj_tag(v___x_209_) == 1)
{
lean_object* v_val_210_; lean_object* v___x_212_; uint8_t v_isShared_213_; uint8_t v_isSharedCheck_236_; 
v_val_210_ = lean_ctor_get(v___x_209_, 0);
v_isSharedCheck_236_ = !lean_is_exclusive(v___x_209_);
if (v_isSharedCheck_236_ == 0)
{
v___x_212_ = v___x_209_;
v_isShared_213_ = v_isSharedCheck_236_;
goto v_resetjp_211_;
}
else
{
lean_inc(v_val_210_);
lean_dec(v___x_209_);
v___x_212_ = lean_box(0);
v_isShared_213_ = v_isSharedCheck_236_;
goto v_resetjp_211_;
}
v_resetjp_211_:
{
lean_object* v___x_214_; lean_object* v___x_215_; lean_object* v___x_216_; lean_object* v_associated_217_; lean_object* v_buckets_218_; lean_object* v___x_219_; lean_object* v___x_220_; lean_object* v___x_221_; uint8_t v___x_222_; 
v___x_214_ = lean_st_ref_take(v_a_202_);
v___x_215_ = l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(v___x_214_, v_fvarId_200_);
v___x_216_ = lean_st_ref_set(v_a_202_, v___x_215_);
v_associated_217_ = lean_ctor_get(v_val_210_, 1);
lean_inc_ref(v_associated_217_);
lean_dec(v_val_210_);
v_buckets_218_ = lean_ctor_get(v_associated_217_, 1);
lean_inc_ref(v_buckets_218_);
lean_dec_ref(v_associated_217_);
v___x_219_ = lean_unsigned_to_nat(0u);
v___x_220_ = lean_array_get_size(v_buckets_218_);
v___x_221_ = lean_box(0);
v___x_222_ = lean_nat_dec_lt(v___x_219_, v___x_220_);
if (v___x_222_ == 0)
{
lean_object* v___x_224_; 
lean_dec_ref(v_buckets_218_);
if (v_isShared_213_ == 0)
{
lean_ctor_set_tag(v___x_212_, 0);
lean_ctor_set(v___x_212_, 0, v___x_221_);
v___x_224_ = v___x_212_;
goto v_reusejp_223_;
}
else
{
lean_object* v_reuseFailAlloc_225_; 
v_reuseFailAlloc_225_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_225_, 0, v___x_221_);
v___x_224_ = v_reuseFailAlloc_225_;
goto v_reusejp_223_;
}
v_reusejp_223_:
{
return v___x_224_;
}
}
else
{
uint8_t v___x_226_; 
v___x_226_ = lean_nat_dec_le(v___x_220_, v___x_220_);
if (v___x_226_ == 0)
{
if (v___x_222_ == 0)
{
lean_object* v___x_228_; 
lean_dec_ref(v_buckets_218_);
if (v_isShared_213_ == 0)
{
lean_ctor_set_tag(v___x_212_, 0);
lean_ctor_set(v___x_212_, 0, v___x_221_);
v___x_228_ = v___x_212_;
goto v_reusejp_227_;
}
else
{
lean_object* v_reuseFailAlloc_229_; 
v_reuseFailAlloc_229_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_229_, 0, v___x_221_);
v___x_228_ = v_reuseFailAlloc_229_;
goto v_reusejp_227_;
}
v_reusejp_227_:
{
return v___x_228_;
}
}
else
{
size_t v___x_230_; size_t v___x_231_; lean_object* v___x_232_; 
lean_del_object(v___x_212_);
v___x_230_ = ((size_t)0ULL);
v___x_231_ = lean_usize_of_nat(v___x_220_);
v___x_232_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3(v_buckets_218_, v___x_230_, v___x_231_, v___x_221_, v_a_201_, v_a_202_, v_a_203_, v_a_204_, v_a_205_, v_a_206_);
lean_dec_ref(v_buckets_218_);
return v___x_232_;
}
}
else
{
size_t v___x_233_; size_t v___x_234_; lean_object* v___x_235_; 
lean_del_object(v___x_212_);
v___x_233_ = ((size_t)0ULL);
v___x_234_ = lean_usize_of_nat(v___x_220_);
v___x_235_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3(v_buckets_218_, v___x_233_, v___x_234_, v___x_221_, v_a_201_, v_a_202_, v_a_203_, v_a_204_, v_a_205_, v_a_206_);
lean_dec_ref(v_buckets_218_);
return v___x_235_;
}
}
}
}
else
{
lean_object* v___x_237_; lean_object* v___x_238_; 
lean_dec(v___x_209_);
v___x_237_ = lean_box(0);
v___x_238_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_238_, 0, v___x_237_);
return v___x_238_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__0(lean_object* v_x_239_, lean_object* v_x_240_, lean_object* v___y_241_, lean_object* v___y_242_, lean_object* v___y_243_, lean_object* v___y_244_, lean_object* v___y_245_, lean_object* v___y_246_){
_start:
{
if (lean_obj_tag(v_x_240_) == 0)
{
lean_object* v___x_248_; 
v___x_248_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_248_, 0, v_x_239_);
return v___x_248_;
}
else
{
lean_object* v_key_249_; lean_object* v_tail_250_; lean_object* v___x_251_; 
v_key_249_ = lean_ctor_get(v_x_240_, 0);
v_tail_250_ = lean_ctor_get(v_x_240_, 2);
v___x_251_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_key_249_, v___y_241_, v___y_242_, v___y_243_, v___y_244_, v___y_245_, v___y_246_);
if (lean_obj_tag(v___x_251_) == 0)
{
lean_object* v_a_252_; 
v_a_252_ = lean_ctor_get(v___x_251_, 0);
lean_inc(v_a_252_);
lean_dec_ref(v___x_251_);
v_x_239_ = v_a_252_;
v_x_240_ = v_tail_250_;
goto _start;
}
else
{
return v___x_251_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__0___boxed(lean_object* v_x_254_, lean_object* v_x_255_, lean_object* v___y_256_, lean_object* v___y_257_, lean_object* v___y_258_, lean_object* v___y_259_, lean_object* v___y_260_, lean_object* v___y_261_, lean_object* v___y_262_){
_start:
{
lean_object* v_res_263_; 
v_res_263_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__0(v_x_254_, v_x_255_, v___y_256_, v___y_257_, v___y_258_, v___y_259_, v___y_260_, v___y_261_);
lean_dec(v___y_261_);
lean_dec_ref(v___y_260_);
lean_dec(v___y_259_);
lean_dec_ref(v___y_258_);
lean_dec(v___y_257_);
lean_dec_ref(v___y_256_);
lean_dec(v_x_255_);
return v_res_263_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3___boxed(lean_object* v_as_264_, lean_object* v_i_265_, lean_object* v_stop_266_, lean_object* v_b_267_, lean_object* v___y_268_, lean_object* v___y_269_, lean_object* v___y_270_, lean_object* v___y_271_, lean_object* v___y_272_, lean_object* v___y_273_, lean_object* v___y_274_){
_start:
{
size_t v_i_boxed_275_; size_t v_stop_boxed_276_; lean_object* v_res_277_; 
v_i_boxed_275_ = lean_unbox_usize(v_i_265_);
lean_dec(v_i_265_);
v_stop_boxed_276_ = lean_unbox_usize(v_stop_266_);
lean_dec(v_stop_266_);
v_res_277_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__3(v_as_264_, v_i_boxed_275_, v_stop_boxed_276_, v_b_267_, v___y_268_, v___y_269_, v___y_270_, v___y_271_, v___y_272_, v___y_273_);
lean_dec(v___y_273_);
lean_dec_ref(v___y_272_);
lean_dec(v___y_271_);
lean_dec_ref(v___y_270_);
lean_dec(v___y_269_);
lean_dec_ref(v___y_268_);
lean_dec_ref(v_as_264_);
return v_res_277_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___boxed(lean_object* v_fvarId_278_, lean_object* v_a_279_, lean_object* v_a_280_, lean_object* v_a_281_, lean_object* v_a_282_, lean_object* v_a_283_, lean_object* v_a_284_, lean_object* v_a_285_){
_start:
{
lean_object* v_res_286_; 
v_res_286_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_fvarId_278_, v_a_279_, v_a_280_, v_a_281_, v_a_282_, v_a_283_, v_a_284_);
lean_dec(v_a_284_);
lean_dec_ref(v_a_283_);
lean_dec(v_a_282_);
lean_dec_ref(v_a_281_);
lean_dec(v_a_280_);
lean_dec_ref(v_a_279_);
lean_dec(v_fvarId_278_);
return v_res_286_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1(lean_object* v_00_u03b2_287_, lean_object* v_m_288_, lean_object* v_a_289_){
_start:
{
lean_object* v___x_290_; 
v___x_290_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v_m_288_, v_a_289_);
return v___x_290_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___boxed(lean_object* v_00_u03b2_291_, lean_object* v_m_292_, lean_object* v_a_293_){
_start:
{
lean_object* v_res_294_; 
v_res_294_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1(v_00_u03b2_291_, v_m_292_, v_a_293_);
lean_dec(v_a_293_);
lean_dec_ref(v_m_292_);
return v_res_294_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2(lean_object* v_00_u03b2_295_, lean_object* v_m_296_, lean_object* v_a_297_){
_start:
{
lean_object* v___x_298_; 
v___x_298_ = l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(v_m_296_, v_a_297_);
return v___x_298_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___boxed(lean_object* v_00_u03b2_299_, lean_object* v_m_300_, lean_object* v_a_301_){
_start:
{
lean_object* v_res_302_; 
v_res_302_ = l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2(v_00_u03b2_299_, v_m_300_, v_a_301_);
lean_dec(v_a_301_);
return v_res_302_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1(lean_object* v_00_u03b2_303_, lean_object* v_a_304_, lean_object* v_x_305_){
_start:
{
lean_object* v___x_306_; 
v___x_306_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___redArg(v_a_304_, v_x_305_);
return v___x_306_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1___boxed(lean_object* v_00_u03b2_307_, lean_object* v_a_308_, lean_object* v_x_309_){
_start:
{
lean_object* v_res_310_; 
v_res_310_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1_spec__1(v_00_u03b2_307_, v_a_308_, v_x_309_);
lean_dec(v_x_309_);
lean_dec(v_a_308_);
return v_res_310_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3(lean_object* v_00_u03b2_311_, lean_object* v_a_312_, lean_object* v_x_313_){
_start:
{
uint8_t v___x_314_; 
v___x_314_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_312_, v_x_313_);
return v___x_314_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___boxed(lean_object* v_00_u03b2_315_, lean_object* v_a_316_, lean_object* v_x_317_){
_start:
{
uint8_t v_res_318_; lean_object* v_r_319_; 
v_res_318_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3(v_00_u03b2_315_, v_a_316_, v_x_317_);
lean_dec(v_x_317_);
lean_dec(v_a_316_);
v_r_319_ = lean_box(v_res_318_);
return v_r_319_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4(lean_object* v_00_u03b2_320_, lean_object* v_a_321_, lean_object* v_x_322_){
_start:
{
lean_object* v___x_323_; 
v___x_323_ = l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___redArg(v_a_321_, v_x_322_);
return v___x_323_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4___boxed(lean_object* v_00_u03b2_324_, lean_object* v_a_325_, lean_object* v_x_326_){
_start:
{
lean_object* v_res_327_; 
v_res_327_ = l_Std_DHashMap_Internal_AssocList_erase___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__4(v_00_u03b2_324_, v_a_325_, v_x_326_);
lean_dec(v_a_325_);
return v_res_327_;
}
}
static lean_object* _init_l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0(void){
_start:
{
lean_object* v___x_328_; 
v___x_328_ = l_instMonadEST(lean_box(0), lean_box(0));
return v___x_328_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(lean_object* v_msg_333_, lean_object* v___y_334_, lean_object* v___y_335_, lean_object* v___y_336_, lean_object* v___y_337_, lean_object* v___y_338_, lean_object* v___y_339_){
_start:
{
lean_object* v___x_341_; lean_object* v___x_342_; lean_object* v_toApplicative_343_; lean_object* v___x_345_; uint8_t v_isShared_346_; uint8_t v_isSharedCheck_406_; 
v___x_341_ = lean_obj_once(&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0, &l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0);
v___x_342_ = l_ReaderT_instMonad___redArg(v___x_341_);
v_toApplicative_343_ = lean_ctor_get(v___x_342_, 0);
v_isSharedCheck_406_ = !lean_is_exclusive(v___x_342_);
if (v_isSharedCheck_406_ == 0)
{
lean_object* v_unused_407_; 
v_unused_407_ = lean_ctor_get(v___x_342_, 1);
lean_dec(v_unused_407_);
v___x_345_ = v___x_342_;
v_isShared_346_ = v_isSharedCheck_406_;
goto v_resetjp_344_;
}
else
{
lean_inc(v_toApplicative_343_);
lean_dec(v___x_342_);
v___x_345_ = lean_box(0);
v_isShared_346_ = v_isSharedCheck_406_;
goto v_resetjp_344_;
}
v_resetjp_344_:
{
lean_object* v_toFunctor_347_; lean_object* v_toSeq_348_; lean_object* v_toSeqLeft_349_; lean_object* v_toSeqRight_350_; lean_object* v___x_352_; uint8_t v_isShared_353_; uint8_t v_isSharedCheck_404_; 
v_toFunctor_347_ = lean_ctor_get(v_toApplicative_343_, 0);
v_toSeq_348_ = lean_ctor_get(v_toApplicative_343_, 2);
v_toSeqLeft_349_ = lean_ctor_get(v_toApplicative_343_, 3);
v_toSeqRight_350_ = lean_ctor_get(v_toApplicative_343_, 4);
v_isSharedCheck_404_ = !lean_is_exclusive(v_toApplicative_343_);
if (v_isSharedCheck_404_ == 0)
{
lean_object* v_unused_405_; 
v_unused_405_ = lean_ctor_get(v_toApplicative_343_, 1);
lean_dec(v_unused_405_);
v___x_352_ = v_toApplicative_343_;
v_isShared_353_ = v_isSharedCheck_404_;
goto v_resetjp_351_;
}
else
{
lean_inc(v_toSeqRight_350_);
lean_inc(v_toSeqLeft_349_);
lean_inc(v_toSeq_348_);
lean_inc(v_toFunctor_347_);
lean_dec(v_toApplicative_343_);
v___x_352_ = lean_box(0);
v_isShared_353_ = v_isSharedCheck_404_;
goto v_resetjp_351_;
}
v_resetjp_351_:
{
lean_object* v___f_354_; lean_object* v___f_355_; lean_object* v___f_356_; lean_object* v___f_357_; lean_object* v___x_358_; lean_object* v___f_359_; lean_object* v___f_360_; lean_object* v___f_361_; lean_object* v___x_363_; 
v___f_354_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__1));
v___f_355_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_347_);
v___f_356_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_356_, 0, v_toFunctor_347_);
v___f_357_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_357_, 0, v_toFunctor_347_);
v___x_358_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_358_, 0, v___f_356_);
lean_ctor_set(v___x_358_, 1, v___f_357_);
v___f_359_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_359_, 0, v_toSeqRight_350_);
v___f_360_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_360_, 0, v_toSeqLeft_349_);
v___f_361_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_361_, 0, v_toSeq_348_);
if (v_isShared_353_ == 0)
{
lean_ctor_set(v___x_352_, 4, v___f_359_);
lean_ctor_set(v___x_352_, 3, v___f_360_);
lean_ctor_set(v___x_352_, 2, v___f_361_);
lean_ctor_set(v___x_352_, 1, v___f_354_);
lean_ctor_set(v___x_352_, 0, v___x_358_);
v___x_363_ = v___x_352_;
goto v_reusejp_362_;
}
else
{
lean_object* v_reuseFailAlloc_403_; 
v_reuseFailAlloc_403_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_403_, 0, v___x_358_);
lean_ctor_set(v_reuseFailAlloc_403_, 1, v___f_354_);
lean_ctor_set(v_reuseFailAlloc_403_, 2, v___f_361_);
lean_ctor_set(v_reuseFailAlloc_403_, 3, v___f_360_);
lean_ctor_set(v_reuseFailAlloc_403_, 4, v___f_359_);
v___x_363_ = v_reuseFailAlloc_403_;
goto v_reusejp_362_;
}
v_reusejp_362_:
{
lean_object* v___x_365_; 
if (v_isShared_346_ == 0)
{
lean_ctor_set(v___x_345_, 1, v___f_355_);
lean_ctor_set(v___x_345_, 0, v___x_363_);
v___x_365_ = v___x_345_;
goto v_reusejp_364_;
}
else
{
lean_object* v_reuseFailAlloc_402_; 
v_reuseFailAlloc_402_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_402_, 0, v___x_363_);
lean_ctor_set(v_reuseFailAlloc_402_, 1, v___f_355_);
v___x_365_ = v_reuseFailAlloc_402_;
goto v_reusejp_364_;
}
v_reusejp_364_:
{
lean_object* v___x_366_; lean_object* v_toApplicative_367_; lean_object* v___x_369_; uint8_t v_isShared_370_; uint8_t v_isSharedCheck_400_; 
v___x_366_ = l_ReaderT_instMonad___redArg(v___x_365_);
v_toApplicative_367_ = lean_ctor_get(v___x_366_, 0);
v_isSharedCheck_400_ = !lean_is_exclusive(v___x_366_);
if (v_isSharedCheck_400_ == 0)
{
lean_object* v_unused_401_; 
v_unused_401_ = lean_ctor_get(v___x_366_, 1);
lean_dec(v_unused_401_);
v___x_369_ = v___x_366_;
v_isShared_370_ = v_isSharedCheck_400_;
goto v_resetjp_368_;
}
else
{
lean_inc(v_toApplicative_367_);
lean_dec(v___x_366_);
v___x_369_ = lean_box(0);
v_isShared_370_ = v_isSharedCheck_400_;
goto v_resetjp_368_;
}
v_resetjp_368_:
{
lean_object* v_toFunctor_371_; lean_object* v_toSeq_372_; lean_object* v_toSeqLeft_373_; lean_object* v_toSeqRight_374_; lean_object* v___x_376_; uint8_t v_isShared_377_; uint8_t v_isSharedCheck_398_; 
v_toFunctor_371_ = lean_ctor_get(v_toApplicative_367_, 0);
v_toSeq_372_ = lean_ctor_get(v_toApplicative_367_, 2);
v_toSeqLeft_373_ = lean_ctor_get(v_toApplicative_367_, 3);
v_toSeqRight_374_ = lean_ctor_get(v_toApplicative_367_, 4);
v_isSharedCheck_398_ = !lean_is_exclusive(v_toApplicative_367_);
if (v_isSharedCheck_398_ == 0)
{
lean_object* v_unused_399_; 
v_unused_399_ = lean_ctor_get(v_toApplicative_367_, 1);
lean_dec(v_unused_399_);
v___x_376_ = v_toApplicative_367_;
v_isShared_377_ = v_isSharedCheck_398_;
goto v_resetjp_375_;
}
else
{
lean_inc(v_toSeqRight_374_);
lean_inc(v_toSeqLeft_373_);
lean_inc(v_toSeq_372_);
lean_inc(v_toFunctor_371_);
lean_dec(v_toApplicative_367_);
v___x_376_ = lean_box(0);
v_isShared_377_ = v_isSharedCheck_398_;
goto v_resetjp_375_;
}
v_resetjp_375_:
{
lean_object* v___f_378_; lean_object* v___f_379_; lean_object* v___f_380_; lean_object* v___f_381_; lean_object* v___x_382_; lean_object* v___f_383_; lean_object* v___f_384_; lean_object* v___f_385_; lean_object* v___x_387_; 
v___f_378_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3));
v___f_379_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_371_);
v___f_380_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_380_, 0, v_toFunctor_371_);
v___f_381_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_381_, 0, v_toFunctor_371_);
v___x_382_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_382_, 0, v___f_380_);
lean_ctor_set(v___x_382_, 1, v___f_381_);
v___f_383_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_383_, 0, v_toSeqRight_374_);
v___f_384_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_384_, 0, v_toSeqLeft_373_);
v___f_385_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_385_, 0, v_toSeq_372_);
if (v_isShared_377_ == 0)
{
lean_ctor_set(v___x_376_, 4, v___f_383_);
lean_ctor_set(v___x_376_, 3, v___f_384_);
lean_ctor_set(v___x_376_, 2, v___f_385_);
lean_ctor_set(v___x_376_, 1, v___f_378_);
lean_ctor_set(v___x_376_, 0, v___x_382_);
v___x_387_ = v___x_376_;
goto v_reusejp_386_;
}
else
{
lean_object* v_reuseFailAlloc_397_; 
v_reuseFailAlloc_397_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_397_, 0, v___x_382_);
lean_ctor_set(v_reuseFailAlloc_397_, 1, v___f_378_);
lean_ctor_set(v_reuseFailAlloc_397_, 2, v___f_385_);
lean_ctor_set(v_reuseFailAlloc_397_, 3, v___f_384_);
lean_ctor_set(v_reuseFailAlloc_397_, 4, v___f_383_);
v___x_387_ = v_reuseFailAlloc_397_;
goto v_reusejp_386_;
}
v_reusejp_386_:
{
lean_object* v___x_389_; 
if (v_isShared_370_ == 0)
{
lean_ctor_set(v___x_369_, 1, v___f_379_);
lean_ctor_set(v___x_369_, 0, v___x_387_);
v___x_389_ = v___x_369_;
goto v_reusejp_388_;
}
else
{
lean_object* v_reuseFailAlloc_396_; 
v_reuseFailAlloc_396_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_396_, 0, v___x_387_);
lean_ctor_set(v_reuseFailAlloc_396_, 1, v___f_379_);
v___x_389_ = v_reuseFailAlloc_396_;
goto v_reusejp_388_;
}
v_reusejp_388_:
{
lean_object* v___x_390_; lean_object* v___x_391_; lean_object* v___x_392_; lean_object* v___x_393_; lean_object* v___x_923__overap_394_; lean_object* v___x_395_; 
v___x_390_ = l_ReaderT_instMonad___redArg(v___x_389_);
v___x_391_ = l_ReaderT_instMonad___redArg(v___x_390_);
v___x_392_ = lean_box(0);
v___x_393_ = l_instInhabitedOfMonad___redArg(v___x_391_, v___x_392_);
v___x_923__overap_394_ = lean_panic_fn(v___x_393_, v_msg_333_);
v___x_395_ = lean_apply_7(v___x_923__overap_394_, v___y_334_, v___y_335_, v___y_336_, v___y_337_, v___y_338_, v___y_339_, lean_box(0));
return v___x_395_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___boxed(lean_object* v_msg_408_, lean_object* v___y_409_, lean_object* v___y_410_, lean_object* v___y_411_, lean_object* v___y_412_, lean_object* v___y_413_, lean_object* v___y_414_, lean_object* v___y_415_){
_start:
{
lean_object* v_res_416_; 
v_res_416_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(v_msg_408_, v___y_409_, v___y_410_, v___y_411_, v___y_412_, v___y_413_, v___y_414_);
return v_res_416_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3(void){
_start:
{
lean_object* v___x_420_; lean_object* v___x_421_; lean_object* v___x_422_; lean_object* v___x_423_; lean_object* v___x_424_; lean_object* v___x_425_; 
v___x_420_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__2));
v___x_421_ = lean_unsigned_to_nat(40u);
v___x_422_ = lean_unsigned_to_nat(49u);
v___x_423_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__1));
v___x_424_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__0));
v___x_425_ = l_mkPanicMessageWithDecl(v___x_424_, v___x_423_, v___x_422_, v___x_421_, v___x_420_);
return v___x_425_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(lean_object* v_f_426_, lean_object* v_e_427_, lean_object* v___y_428_, lean_object* v___y_429_, lean_object* v___y_430_, lean_object* v___y_431_, lean_object* v___y_432_, lean_object* v___y_433_){
_start:
{
lean_object* v_ty_436_; lean_object* v_body_437_; uint8_t v___x_440_; 
v___x_440_ = l_Lean_Expr_hasFVar(v_e_427_);
if (v___x_440_ == 0)
{
lean_object* v___x_441_; lean_object* v___x_442_; 
lean_dec(v___y_433_);
lean_dec_ref(v___y_432_);
lean_dec(v___y_431_);
lean_dec_ref(v___y_430_);
lean_dec(v___y_429_);
lean_dec_ref(v___y_428_);
lean_dec_ref(v_e_427_);
lean_dec_ref(v_f_426_);
v___x_441_ = lean_box(0);
v___x_442_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_442_, 0, v___x_441_);
return v___x_442_;
}
else
{
switch(lean_obj_tag(v_e_427_))
{
case 1:
{
lean_object* v_fvarId_443_; lean_object* v___x_444_; 
v_fvarId_443_ = lean_ctor_get(v_e_427_, 0);
lean_inc(v_fvarId_443_);
lean_dec_ref(v_e_427_);
v___x_444_ = lean_apply_8(v_f_426_, v_fvarId_443_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_, lean_box(0));
return v___x_444_;
}
case 2:
{
lean_object* v___x_445_; lean_object* v___x_446_; 
lean_dec_ref(v_e_427_);
lean_dec_ref(v_f_426_);
v___x_445_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_446_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(v___x_445_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
return v___x_446_;
}
case 5:
{
lean_object* v_fn_447_; lean_object* v_arg_448_; lean_object* v___x_449_; 
v_fn_447_ = lean_ctor_get(v_e_427_, 0);
lean_inc_ref(v_fn_447_);
v_arg_448_ = lean_ctor_get(v_e_427_, 1);
lean_inc_ref(v_arg_448_);
lean_dec_ref(v_e_427_);
lean_inc(v___y_433_);
lean_inc_ref(v___y_432_);
lean_inc(v___y_431_);
lean_inc_ref(v___y_430_);
lean_inc(v___y_429_);
lean_inc_ref(v___y_428_);
lean_inc_ref(v_f_426_);
v___x_449_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(v_f_426_, v_fn_447_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
if (lean_obj_tag(v___x_449_) == 0)
{
lean_dec_ref(v___x_449_);
v_e_427_ = v_arg_448_;
goto _start;
}
else
{
lean_dec_ref(v_arg_448_);
lean_dec(v___y_433_);
lean_dec_ref(v___y_432_);
lean_dec(v___y_431_);
lean_dec_ref(v___y_430_);
lean_dec(v___y_429_);
lean_dec_ref(v___y_428_);
lean_dec_ref(v_f_426_);
return v___x_449_;
}
}
case 6:
{
lean_object* v_binderType_451_; lean_object* v_body_452_; 
v_binderType_451_ = lean_ctor_get(v_e_427_, 1);
lean_inc_ref(v_binderType_451_);
v_body_452_ = lean_ctor_get(v_e_427_, 2);
lean_inc_ref(v_body_452_);
lean_dec_ref(v_e_427_);
v_ty_436_ = v_binderType_451_;
v_body_437_ = v_body_452_;
goto v___jp_435_;
}
case 7:
{
lean_object* v_binderType_453_; lean_object* v_body_454_; 
v_binderType_453_ = lean_ctor_get(v_e_427_, 1);
lean_inc_ref(v_binderType_453_);
v_body_454_ = lean_ctor_get(v_e_427_, 2);
lean_inc_ref(v_body_454_);
lean_dec_ref(v_e_427_);
v_ty_436_ = v_binderType_453_;
v_body_437_ = v_body_454_;
goto v___jp_435_;
}
case 8:
{
lean_object* v___x_455_; lean_object* v___x_456_; 
lean_dec_ref(v_e_427_);
lean_dec_ref(v_f_426_);
v___x_455_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_456_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(v___x_455_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
return v___x_456_;
}
case 11:
{
lean_object* v___x_457_; lean_object* v___x_458_; 
lean_dec_ref(v_e_427_);
lean_dec_ref(v_f_426_);
v___x_457_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_458_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1(v___x_457_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
return v___x_458_;
}
default: 
{
lean_object* v___x_459_; lean_object* v___x_460_; 
lean_dec(v___y_433_);
lean_dec_ref(v___y_432_);
lean_dec(v___y_431_);
lean_dec_ref(v___y_430_);
lean_dec(v___y_429_);
lean_dec_ref(v___y_428_);
lean_dec_ref(v_e_427_);
lean_dec_ref(v_f_426_);
v___x_459_ = lean_box(0);
v___x_460_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_460_, 0, v___x_459_);
return v___x_460_;
}
}
}
v___jp_435_:
{
lean_object* v___x_438_; 
lean_inc(v___y_433_);
lean_inc_ref(v___y_432_);
lean_inc(v___y_431_);
lean_inc_ref(v___y_430_);
lean_inc(v___y_429_);
lean_inc_ref(v___y_428_);
lean_inc_ref(v_f_426_);
v___x_438_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(v_f_426_, v_ty_436_, v___y_428_, v___y_429_, v___y_430_, v___y_431_, v___y_432_, v___y_433_);
if (lean_obj_tag(v___x_438_) == 0)
{
lean_dec_ref(v___x_438_);
v_e_427_ = v_body_437_;
goto _start;
}
else
{
lean_dec_ref(v_body_437_);
lean_dec(v___y_433_);
lean_dec_ref(v___y_432_);
lean_dec(v___y_431_);
lean_dec_ref(v___y_430_);
lean_dec(v___y_429_);
lean_dec_ref(v___y_428_);
lean_dec_ref(v_f_426_);
return v___x_438_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___boxed(lean_object* v_f_461_, lean_object* v_e_462_, lean_object* v___y_463_, lean_object* v___y_464_, lean_object* v___y_465_, lean_object* v___y_466_, lean_object* v___y_467_, lean_object* v___y_468_, lean_object* v___y_469_){
_start:
{
lean_object* v_res_470_; 
v_res_470_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(v_f_461_, v_e_462_, v___y_463_, v___y_464_, v___y_465_, v___y_466_, v___y_467_, v___y_468_);
return v_res_470_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(lean_object* v_f_471_, lean_object* v_arg_472_, lean_object* v___y_473_, lean_object* v___y_474_, lean_object* v___y_475_, lean_object* v___y_476_, lean_object* v___y_477_, lean_object* v___y_478_){
_start:
{
switch(lean_obj_tag(v_arg_472_))
{
case 0:
{
lean_object* v___x_480_; lean_object* v___x_481_; 
lean_dec(v___y_478_);
lean_dec_ref(v___y_477_);
lean_dec(v___y_476_);
lean_dec_ref(v___y_475_);
lean_dec(v___y_474_);
lean_dec_ref(v___y_473_);
lean_dec_ref(v_f_471_);
v___x_480_ = lean_box(0);
v___x_481_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_481_, 0, v___x_480_);
return v___x_481_;
}
case 1:
{
lean_object* v_fvarId_482_; lean_object* v___x_483_; 
v_fvarId_482_ = lean_ctor_get(v_arg_472_, 0);
lean_inc(v_fvarId_482_);
lean_dec_ref(v_arg_472_);
v___x_483_ = lean_apply_8(v_f_471_, v_fvarId_482_, v___y_473_, v___y_474_, v___y_475_, v___y_476_, v___y_477_, v___y_478_, lean_box(0));
return v___x_483_;
}
default: 
{
lean_object* v_expr_484_; lean_object* v___x_485_; 
v_expr_484_ = lean_ctor_get(v_arg_472_, 0);
lean_inc_ref(v_expr_484_);
lean_dec_ref(v_arg_472_);
v___x_485_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0(v_f_471_, v_expr_484_, v___y_473_, v___y_474_, v___y_475_, v___y_476_, v___y_477_, v___y_478_);
return v___x_485_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg___boxed(lean_object* v_f_486_, lean_object* v_arg_487_, lean_object* v___y_488_, lean_object* v___y_489_, lean_object* v___y_490_, lean_object* v___y_491_, lean_object* v___y_492_, lean_object* v___y_493_, lean_object* v___y_494_){
_start:
{
lean_object* v_res_495_; 
v_res_495_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(v_f_486_, v_arg_487_, v___y_488_, v___y_489_, v___y_490_, v___y_491_, v___y_492_, v___y_493_);
return v_res_495_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg(lean_object* v_a_497_, lean_object* v_a_498_, lean_object* v_a_499_, lean_object* v_a_500_, lean_object* v_a_501_, lean_object* v_a_502_, lean_object* v_a_503_){
_start:
{
lean_object* v___x_505_; lean_object* v___x_506_; 
v___x_505_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___closed__0));
v___x_506_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(v___x_505_, v_a_497_, v_a_498_, v_a_499_, v_a_500_, v_a_501_, v_a_502_, v_a_503_);
return v___x_506_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___boxed(lean_object* v_a_507_, lean_object* v_a_508_, lean_object* v_a_509_, lean_object* v_a_510_, lean_object* v_a_511_, lean_object* v_a_512_, lean_object* v_a_513_, lean_object* v_a_514_){
_start:
{
lean_object* v_res_515_; 
v_res_515_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg(v_a_507_, v_a_508_, v_a_509_, v_a_510_, v_a_511_, v_a_512_, v_a_513_);
return v_res_515_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0(uint8_t v_pu_516_, lean_object* v_f_517_, lean_object* v_arg_518_, lean_object* v___y_519_, lean_object* v___y_520_, lean_object* v___y_521_, lean_object* v___y_522_, lean_object* v___y_523_, lean_object* v___y_524_){
_start:
{
lean_object* v___x_526_; 
v___x_526_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(v_f_517_, v_arg_518_, v___y_519_, v___y_520_, v___y_521_, v___y_522_, v___y_523_, v___y_524_);
return v___x_526_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___boxed(lean_object* v_pu_527_, lean_object* v_f_528_, lean_object* v_arg_529_, lean_object* v___y_530_, lean_object* v___y_531_, lean_object* v___y_532_, lean_object* v___y_533_, lean_object* v___y_534_, lean_object* v___y_535_, lean_object* v___y_536_){
_start:
{
uint8_t v_pu_boxed_537_; lean_object* v_res_538_; 
v_pu_boxed_537_ = lean_unbox(v_pu_527_);
v_res_538_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0(v_pu_boxed_537_, v_f_528_, v_arg_529_, v___y_530_, v___y_531_, v___y_532_, v___y_533_, v___y_534_, v___y_535_);
return v_res_538_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(lean_object* v_f_539_, lean_object* v_as_540_, size_t v_i_541_, size_t v_stop_542_, lean_object* v_b_543_, lean_object* v___y_544_, lean_object* v___y_545_, lean_object* v___y_546_, lean_object* v___y_547_, lean_object* v___y_548_, lean_object* v___y_549_){
_start:
{
uint8_t v___x_551_; 
v___x_551_ = lean_usize_dec_eq(v_i_541_, v_stop_542_);
if (v___x_551_ == 0)
{
lean_object* v___x_552_; lean_object* v___x_553_; 
v___x_552_ = lean_array_uget_borrowed(v_as_540_, v_i_541_);
lean_inc(v___y_549_);
lean_inc_ref(v___y_548_);
lean_inc(v___y_547_);
lean_inc_ref(v___y_546_);
lean_inc(v___y_545_);
lean_inc_ref(v___y_544_);
lean_inc(v___x_552_);
lean_inc_ref(v_f_539_);
v___x_553_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0___redArg(v_f_539_, v___x_552_, v___y_544_, v___y_545_, v___y_546_, v___y_547_, v___y_548_, v___y_549_);
if (lean_obj_tag(v___x_553_) == 0)
{
lean_object* v_a_554_; size_t v___x_555_; size_t v___x_556_; 
v_a_554_ = lean_ctor_get(v___x_553_, 0);
lean_inc(v_a_554_);
lean_dec_ref(v___x_553_);
v___x_555_ = ((size_t)1ULL);
v___x_556_ = lean_usize_add(v_i_541_, v___x_555_);
v_i_541_ = v___x_556_;
v_b_543_ = v_a_554_;
goto _start;
}
else
{
lean_dec(v___y_549_);
lean_dec_ref(v___y_548_);
lean_dec(v___y_547_);
lean_dec_ref(v___y_546_);
lean_dec(v___y_545_);
lean_dec_ref(v___y_544_);
lean_dec_ref(v_f_539_);
return v___x_553_;
}
}
else
{
lean_object* v___x_558_; 
lean_dec(v___y_549_);
lean_dec_ref(v___y_548_);
lean_dec(v___y_547_);
lean_dec_ref(v___y_546_);
lean_dec(v___y_545_);
lean_dec_ref(v___y_544_);
lean_dec_ref(v_f_539_);
v___x_558_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_558_, 0, v_b_543_);
return v___x_558_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg___boxed(lean_object* v_f_559_, lean_object* v_as_560_, lean_object* v_i_561_, lean_object* v_stop_562_, lean_object* v_b_563_, lean_object* v___y_564_, lean_object* v___y_565_, lean_object* v___y_566_, lean_object* v___y_567_, lean_object* v___y_568_, lean_object* v___y_569_, lean_object* v___y_570_){
_start:
{
size_t v_i_boxed_571_; size_t v_stop_boxed_572_; lean_object* v_res_573_; 
v_i_boxed_571_ = lean_unbox_usize(v_i_561_);
lean_dec(v_i_561_);
v_stop_boxed_572_ = lean_unbox_usize(v_stop_562_);
lean_dec(v_stop_562_);
v_res_573_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_559_, v_as_560_, v_i_boxed_571_, v_stop_boxed_572_, v_b_563_, v___y_564_, v___y_565_, v___y_566_, v___y_567_, v___y_568_, v___y_569_);
lean_dec_ref(v_as_560_);
return v_res_573_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0(uint8_t v_pu_574_, lean_object* v_f_575_, lean_object* v_e_576_, lean_object* v___y_577_, lean_object* v___y_578_, lean_object* v___y_579_, lean_object* v___y_580_, lean_object* v___y_581_, lean_object* v___y_582_){
_start:
{
lean_object* v_args_585_; 
switch(lean_obj_tag(v_e_576_))
{
case 2:
{
lean_object* v_struct_599_; lean_object* v___x_600_; 
v_struct_599_ = lean_ctor_get(v_e_576_, 2);
lean_inc(v_struct_599_);
lean_dec_ref(v_e_576_);
v___x_600_ = lean_apply_8(v_f_575_, v_struct_599_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_600_;
}
case 3:
{
lean_object* v_args_601_; lean_object* v___x_602_; lean_object* v___x_603_; lean_object* v___x_604_; uint8_t v___x_605_; 
v_args_601_ = lean_ctor_get(v_e_576_, 2);
lean_inc_ref(v_args_601_);
lean_dec_ref(v_e_576_);
v___x_602_ = lean_unsigned_to_nat(0u);
v___x_603_ = lean_array_get_size(v_args_601_);
v___x_604_ = lean_box(0);
v___x_605_ = lean_nat_dec_lt(v___x_602_, v___x_603_);
if (v___x_605_ == 0)
{
lean_object* v___x_606_; 
lean_dec_ref(v_args_601_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_606_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_606_, 0, v___x_604_);
return v___x_606_;
}
else
{
uint8_t v___x_607_; 
v___x_607_ = lean_nat_dec_le(v___x_603_, v___x_603_);
if (v___x_607_ == 0)
{
if (v___x_605_ == 0)
{
lean_object* v___x_608_; 
lean_dec_ref(v_args_601_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_608_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_608_, 0, v___x_604_);
return v___x_608_;
}
else
{
size_t v___x_609_; size_t v___x_610_; lean_object* v___x_611_; 
v___x_609_ = ((size_t)0ULL);
v___x_610_ = lean_usize_of_nat(v___x_603_);
v___x_611_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_601_, v___x_609_, v___x_610_, v___x_604_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_601_);
return v___x_611_;
}
}
else
{
size_t v___x_612_; size_t v___x_613_; lean_object* v___x_614_; 
v___x_612_ = ((size_t)0ULL);
v___x_613_ = lean_usize_of_nat(v___x_603_);
v___x_614_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_601_, v___x_612_, v___x_613_, v___x_604_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_601_);
return v___x_614_;
}
}
}
case 4:
{
lean_object* v_fvarId_615_; lean_object* v_args_616_; lean_object* v___x_617_; 
v_fvarId_615_ = lean_ctor_get(v_e_576_, 0);
lean_inc(v_fvarId_615_);
v_args_616_ = lean_ctor_get(v_e_576_, 1);
lean_inc_ref(v_args_616_);
lean_dec_ref(v_e_576_);
lean_inc_ref(v_f_575_);
lean_inc(v___y_582_);
lean_inc_ref(v___y_581_);
lean_inc(v___y_580_);
lean_inc_ref(v___y_579_);
lean_inc(v___y_578_);
lean_inc_ref(v___y_577_);
v___x_617_ = lean_apply_8(v_f_575_, v_fvarId_615_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
if (lean_obj_tag(v___x_617_) == 0)
{
lean_object* v___x_619_; uint8_t v_isShared_620_; uint8_t v_isSharedCheck_638_; 
v_isSharedCheck_638_ = !lean_is_exclusive(v___x_617_);
if (v_isSharedCheck_638_ == 0)
{
lean_object* v_unused_639_; 
v_unused_639_ = lean_ctor_get(v___x_617_, 0);
lean_dec(v_unused_639_);
v___x_619_ = v___x_617_;
v_isShared_620_ = v_isSharedCheck_638_;
goto v_resetjp_618_;
}
else
{
lean_dec(v___x_617_);
v___x_619_ = lean_box(0);
v_isShared_620_ = v_isSharedCheck_638_;
goto v_resetjp_618_;
}
v_resetjp_618_:
{
lean_object* v___x_621_; lean_object* v___x_622_; lean_object* v___x_623_; uint8_t v___x_624_; 
v___x_621_ = lean_unsigned_to_nat(0u);
v___x_622_ = lean_array_get_size(v_args_616_);
v___x_623_ = lean_box(0);
v___x_624_ = lean_nat_dec_lt(v___x_621_, v___x_622_);
if (v___x_624_ == 0)
{
lean_object* v___x_626_; 
lean_dec_ref(v_args_616_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
if (v_isShared_620_ == 0)
{
lean_ctor_set(v___x_619_, 0, v___x_623_);
v___x_626_ = v___x_619_;
goto v_reusejp_625_;
}
else
{
lean_object* v_reuseFailAlloc_627_; 
v_reuseFailAlloc_627_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_627_, 0, v___x_623_);
v___x_626_ = v_reuseFailAlloc_627_;
goto v_reusejp_625_;
}
v_reusejp_625_:
{
return v___x_626_;
}
}
else
{
uint8_t v___x_628_; 
v___x_628_ = lean_nat_dec_le(v___x_622_, v___x_622_);
if (v___x_628_ == 0)
{
if (v___x_624_ == 0)
{
lean_object* v___x_630_; 
lean_dec_ref(v_args_616_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
if (v_isShared_620_ == 0)
{
lean_ctor_set(v___x_619_, 0, v___x_623_);
v___x_630_ = v___x_619_;
goto v_reusejp_629_;
}
else
{
lean_object* v_reuseFailAlloc_631_; 
v_reuseFailAlloc_631_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_631_, 0, v___x_623_);
v___x_630_ = v_reuseFailAlloc_631_;
goto v_reusejp_629_;
}
v_reusejp_629_:
{
return v___x_630_;
}
}
else
{
size_t v___x_632_; size_t v___x_633_; lean_object* v___x_634_; 
lean_del_object(v___x_619_);
v___x_632_ = ((size_t)0ULL);
v___x_633_ = lean_usize_of_nat(v___x_622_);
v___x_634_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_616_, v___x_632_, v___x_633_, v___x_623_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_616_);
return v___x_634_;
}
}
else
{
size_t v___x_635_; size_t v___x_636_; lean_object* v___x_637_; 
lean_del_object(v___x_619_);
v___x_635_ = ((size_t)0ULL);
v___x_636_ = lean_usize_of_nat(v___x_622_);
v___x_637_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_616_, v___x_635_, v___x_636_, v___x_623_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_616_);
return v___x_637_;
}
}
}
}
else
{
lean_dec_ref(v_args_616_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
return v___x_617_;
}
}
case 5:
{
lean_object* v_args_640_; lean_object* v___x_641_; lean_object* v___x_642_; lean_object* v___x_643_; uint8_t v___x_644_; 
v_args_640_ = lean_ctor_get(v_e_576_, 1);
lean_inc_ref(v_args_640_);
lean_dec_ref(v_e_576_);
v___x_641_ = lean_unsigned_to_nat(0u);
v___x_642_ = lean_array_get_size(v_args_640_);
v___x_643_ = lean_box(0);
v___x_644_ = lean_nat_dec_lt(v___x_641_, v___x_642_);
if (v___x_644_ == 0)
{
lean_object* v___x_645_; 
lean_dec_ref(v_args_640_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_645_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_645_, 0, v___x_643_);
return v___x_645_;
}
else
{
uint8_t v___x_646_; 
v___x_646_ = lean_nat_dec_le(v___x_642_, v___x_642_);
if (v___x_646_ == 0)
{
if (v___x_644_ == 0)
{
lean_object* v___x_647_; 
lean_dec_ref(v_args_640_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_647_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_647_, 0, v___x_643_);
return v___x_647_;
}
else
{
size_t v___x_648_; size_t v___x_649_; lean_object* v___x_650_; 
v___x_648_ = ((size_t)0ULL);
v___x_649_ = lean_usize_of_nat(v___x_642_);
v___x_650_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_640_, v___x_648_, v___x_649_, v___x_643_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_640_);
return v___x_650_;
}
}
else
{
size_t v___x_651_; size_t v___x_652_; lean_object* v___x_653_; 
v___x_651_ = ((size_t)0ULL);
v___x_652_ = lean_usize_of_nat(v___x_642_);
v___x_653_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_640_, v___x_651_, v___x_652_, v___x_643_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_640_);
return v___x_653_;
}
}
}
case 6:
{
lean_object* v_var_654_; lean_object* v___x_655_; 
v_var_654_ = lean_ctor_get(v_e_576_, 1);
lean_inc(v_var_654_);
lean_dec_ref(v_e_576_);
v___x_655_ = lean_apply_8(v_f_575_, v_var_654_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_655_;
}
case 7:
{
lean_object* v_var_656_; lean_object* v___x_657_; 
v_var_656_ = lean_ctor_get(v_e_576_, 1);
lean_inc(v_var_656_);
lean_dec_ref(v_e_576_);
v___x_657_ = lean_apply_8(v_f_575_, v_var_656_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_657_;
}
case 8:
{
lean_object* v_var_658_; lean_object* v___x_659_; 
v_var_658_ = lean_ctor_get(v_e_576_, 2);
lean_inc(v_var_658_);
lean_dec_ref(v_e_576_);
v___x_659_ = lean_apply_8(v_f_575_, v_var_658_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_659_;
}
case 9:
{
lean_object* v_args_660_; 
v_args_660_ = lean_ctor_get(v_e_576_, 1);
lean_inc_ref(v_args_660_);
lean_dec_ref(v_e_576_);
v_args_585_ = v_args_660_;
goto v___jp_584_;
}
case 10:
{
lean_object* v_args_661_; 
v_args_661_ = lean_ctor_get(v_e_576_, 1);
lean_inc_ref(v_args_661_);
lean_dec_ref(v_e_576_);
v_args_585_ = v_args_661_;
goto v___jp_584_;
}
case 11:
{
lean_object* v_var_662_; lean_object* v___x_663_; 
v_var_662_ = lean_ctor_get(v_e_576_, 1);
lean_inc(v_var_662_);
lean_dec_ref(v_e_576_);
v___x_663_ = lean_apply_8(v_f_575_, v_var_662_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_663_;
}
case 12:
{
lean_object* v_var_664_; lean_object* v_args_665_; lean_object* v___x_666_; 
v_var_664_ = lean_ctor_get(v_e_576_, 0);
lean_inc(v_var_664_);
v_args_665_ = lean_ctor_get(v_e_576_, 2);
lean_inc_ref(v_args_665_);
lean_dec_ref(v_e_576_);
lean_inc_ref(v_f_575_);
lean_inc(v___y_582_);
lean_inc_ref(v___y_581_);
lean_inc(v___y_580_);
lean_inc_ref(v___y_579_);
lean_inc(v___y_578_);
lean_inc_ref(v___y_577_);
v___x_666_ = lean_apply_8(v_f_575_, v_var_664_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
if (lean_obj_tag(v___x_666_) == 0)
{
lean_object* v___x_668_; uint8_t v_isShared_669_; uint8_t v_isSharedCheck_687_; 
v_isSharedCheck_687_ = !lean_is_exclusive(v___x_666_);
if (v_isSharedCheck_687_ == 0)
{
lean_object* v_unused_688_; 
v_unused_688_ = lean_ctor_get(v___x_666_, 0);
lean_dec(v_unused_688_);
v___x_668_ = v___x_666_;
v_isShared_669_ = v_isSharedCheck_687_;
goto v_resetjp_667_;
}
else
{
lean_dec(v___x_666_);
v___x_668_ = lean_box(0);
v_isShared_669_ = v_isSharedCheck_687_;
goto v_resetjp_667_;
}
v_resetjp_667_:
{
lean_object* v___x_670_; lean_object* v___x_671_; lean_object* v___x_672_; uint8_t v___x_673_; 
v___x_670_ = lean_unsigned_to_nat(0u);
v___x_671_ = lean_array_get_size(v_args_665_);
v___x_672_ = lean_box(0);
v___x_673_ = lean_nat_dec_lt(v___x_670_, v___x_671_);
if (v___x_673_ == 0)
{
lean_object* v___x_675_; 
lean_dec_ref(v_args_665_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
if (v_isShared_669_ == 0)
{
lean_ctor_set(v___x_668_, 0, v___x_672_);
v___x_675_ = v___x_668_;
goto v_reusejp_674_;
}
else
{
lean_object* v_reuseFailAlloc_676_; 
v_reuseFailAlloc_676_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_676_, 0, v___x_672_);
v___x_675_ = v_reuseFailAlloc_676_;
goto v_reusejp_674_;
}
v_reusejp_674_:
{
return v___x_675_;
}
}
else
{
uint8_t v___x_677_; 
v___x_677_ = lean_nat_dec_le(v___x_671_, v___x_671_);
if (v___x_677_ == 0)
{
if (v___x_673_ == 0)
{
lean_object* v___x_679_; 
lean_dec_ref(v_args_665_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
if (v_isShared_669_ == 0)
{
lean_ctor_set(v___x_668_, 0, v___x_672_);
v___x_679_ = v___x_668_;
goto v_reusejp_678_;
}
else
{
lean_object* v_reuseFailAlloc_680_; 
v_reuseFailAlloc_680_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_680_, 0, v___x_672_);
v___x_679_ = v_reuseFailAlloc_680_;
goto v_reusejp_678_;
}
v_reusejp_678_:
{
return v___x_679_;
}
}
else
{
size_t v___x_681_; size_t v___x_682_; lean_object* v___x_683_; 
lean_del_object(v___x_668_);
v___x_681_ = ((size_t)0ULL);
v___x_682_ = lean_usize_of_nat(v___x_671_);
v___x_683_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_665_, v___x_681_, v___x_682_, v___x_672_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_665_);
return v___x_683_;
}
}
else
{
size_t v___x_684_; size_t v___x_685_; lean_object* v___x_686_; 
lean_del_object(v___x_668_);
v___x_684_ = ((size_t)0ULL);
v___x_685_ = lean_usize_of_nat(v___x_671_);
v___x_686_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_665_, v___x_684_, v___x_685_, v___x_672_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_665_);
return v___x_686_;
}
}
}
}
else
{
lean_dec_ref(v_args_665_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
return v___x_666_;
}
}
case 13:
{
lean_object* v_fvarId_689_; lean_object* v___x_690_; 
v_fvarId_689_ = lean_ctor_get(v_e_576_, 1);
lean_inc(v_fvarId_689_);
lean_dec_ref(v_e_576_);
v___x_690_ = lean_apply_8(v_f_575_, v_fvarId_689_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_690_;
}
case 14:
{
lean_object* v_fvarId_691_; lean_object* v___x_692_; 
v_fvarId_691_ = lean_ctor_get(v_e_576_, 0);
lean_inc(v_fvarId_691_);
lean_dec_ref(v_e_576_);
v___x_692_ = lean_apply_8(v_f_575_, v_fvarId_691_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_692_;
}
case 15:
{
lean_object* v_fvarId_693_; lean_object* v___x_694_; 
v_fvarId_693_ = lean_ctor_get(v_e_576_, 0);
lean_inc(v_fvarId_693_);
lean_dec_ref(v_e_576_);
v___x_694_ = lean_apply_8(v_f_575_, v_fvarId_693_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_, lean_box(0));
return v___x_694_;
}
default: 
{
lean_object* v___x_695_; lean_object* v___x_696_; 
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec(v_e_576_);
lean_dec_ref(v_f_575_);
v___x_695_ = lean_box(0);
v___x_696_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_696_, 0, v___x_695_);
return v___x_696_;
}
}
v___jp_584_:
{
lean_object* v___x_586_; lean_object* v___x_587_; lean_object* v___x_588_; uint8_t v___x_589_; 
v___x_586_ = lean_unsigned_to_nat(0u);
v___x_587_ = lean_array_get_size(v_args_585_);
v___x_588_ = lean_box(0);
v___x_589_ = lean_nat_dec_lt(v___x_586_, v___x_587_);
if (v___x_589_ == 0)
{
lean_object* v___x_590_; 
lean_dec_ref(v_args_585_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_590_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_590_, 0, v___x_588_);
return v___x_590_;
}
else
{
uint8_t v___x_591_; 
v___x_591_ = lean_nat_dec_le(v___x_587_, v___x_587_);
if (v___x_591_ == 0)
{
if (v___x_589_ == 0)
{
lean_object* v___x_592_; 
lean_dec_ref(v_args_585_);
lean_dec(v___y_582_);
lean_dec_ref(v___y_581_);
lean_dec(v___y_580_);
lean_dec_ref(v___y_579_);
lean_dec(v___y_578_);
lean_dec_ref(v___y_577_);
lean_dec_ref(v_f_575_);
v___x_592_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_592_, 0, v___x_588_);
return v___x_592_;
}
else
{
size_t v___x_593_; size_t v___x_594_; lean_object* v___x_595_; 
v___x_593_ = ((size_t)0ULL);
v___x_594_ = lean_usize_of_nat(v___x_587_);
v___x_595_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_585_, v___x_593_, v___x_594_, v___x_588_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_585_);
return v___x_595_;
}
}
else
{
size_t v___x_596_; size_t v___x_597_; lean_object* v___x_598_; 
v___x_596_ = ((size_t)0ULL);
v___x_597_ = lean_usize_of_nat(v___x_587_);
v___x_598_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_575_, v_args_585_, v___x_596_, v___x_597_, v___x_588_, v___y_577_, v___y_578_, v___y_579_, v___y_580_, v___y_581_, v___y_582_);
lean_dec_ref(v_args_585_);
return v___x_598_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0___boxed(lean_object* v_pu_697_, lean_object* v_f_698_, lean_object* v_e_699_, lean_object* v___y_700_, lean_object* v___y_701_, lean_object* v___y_702_, lean_object* v___y_703_, lean_object* v___y_704_, lean_object* v___y_705_, lean_object* v___y_706_){
_start:
{
uint8_t v_pu_boxed_707_; lean_object* v_res_708_; 
v_pu_boxed_707_ = lean_unbox(v_pu_697_);
v_res_708_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0(v_pu_boxed_707_, v_f_698_, v_e_699_, v___y_700_, v___y_701_, v___y_702_, v___y_703_, v___y_704_, v___y_705_);
return v_res_708_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue(lean_object* v_e_709_, lean_object* v_a_710_, lean_object* v_a_711_, lean_object* v_a_712_, lean_object* v_a_713_, lean_object* v_a_714_, lean_object* v_a_715_){
_start:
{
uint8_t v___x_717_; lean_object* v___x_718_; lean_object* v___x_719_; 
v___x_717_ = 0;
v___x_718_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg___closed__0));
v___x_719_ = l_Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0(v___x_717_, v___x_718_, v_e_709_, v_a_710_, v_a_711_, v_a_712_, v_a_713_, v_a_714_, v_a_715_);
return v___x_719_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue___boxed(lean_object* v_e_720_, lean_object* v_a_721_, lean_object* v_a_722_, lean_object* v_a_723_, lean_object* v_a_724_, lean_object* v_a_725_, lean_object* v_a_726_, lean_object* v_a_727_){
_start:
{
lean_object* v_res_728_; 
v_res_728_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue(v_e_720_, v_a_721_, v_a_722_, v_a_723_, v_a_724_, v_a_725_, v_a_726_);
return v_res_728_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0(uint8_t v_pu_729_, lean_object* v_f_730_, lean_object* v_as_731_, size_t v_i_732_, size_t v_stop_733_, lean_object* v_b_734_, lean_object* v___y_735_, lean_object* v___y_736_, lean_object* v___y_737_, lean_object* v___y_738_, lean_object* v___y_739_, lean_object* v___y_740_){
_start:
{
lean_object* v___x_742_; 
v___x_742_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___redArg(v_f_730_, v_as_731_, v_i_732_, v_stop_733_, v_b_734_, v___y_735_, v___y_736_, v___y_737_, v___y_738_, v___y_739_, v___y_740_);
return v___x_742_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0___boxed(lean_object* v_pu_743_, lean_object* v_f_744_, lean_object* v_as_745_, lean_object* v_i_746_, lean_object* v_stop_747_, lean_object* v_b_748_, lean_object* v___y_749_, lean_object* v___y_750_, lean_object* v___y_751_, lean_object* v___y_752_, lean_object* v___y_753_, lean_object* v___y_754_, lean_object* v___y_755_){
_start:
{
uint8_t v_pu_boxed_756_; size_t v_i_boxed_757_; size_t v_stop_boxed_758_; lean_object* v_res_759_; 
v_pu_boxed_756_ = lean_unbox(v_pu_743_);
v_i_boxed_757_ = lean_unbox_usize(v_i_746_);
lean_dec(v_i_746_);
v_stop_boxed_758_ = lean_unbox_usize(v_stop_747_);
lean_dec(v_stop_747_);
v_res_759_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_LetValue_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue_spec__0_spec__0(v_pu_boxed_756_, v_f_744_, v_as_745_, v_i_boxed_757_, v_stop_boxed_758_, v_b_748_, v___y_749_, v___y_750_, v___y_751_, v___y_752_, v___y_753_, v___y_754_);
lean_dec_ref(v_as_745_);
return v_res_759_;
}
}
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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2___redArg(lean_object* v_x_760_, lean_object* v_x_761_){
_start:
{
if (lean_obj_tag(v_x_761_) == 0)
{
return v_x_760_;
}
else
{
lean_object* v_key_762_; lean_object* v_value_763_; lean_object* v_tail_764_; lean_object* v___x_766_; uint8_t v_isShared_767_; uint8_t v_isSharedCheck_787_; 
v_key_762_ = lean_ctor_get(v_x_761_, 0);
v_value_763_ = lean_ctor_get(v_x_761_, 1);
v_tail_764_ = lean_ctor_get(v_x_761_, 2);
v_isSharedCheck_787_ = !lean_is_exclusive(v_x_761_);
if (v_isSharedCheck_787_ == 0)
{
v___x_766_ = v_x_761_;
v_isShared_767_ = v_isSharedCheck_787_;
goto v_resetjp_765_;
}
else
{
lean_inc(v_tail_764_);
lean_inc(v_value_763_);
lean_inc(v_key_762_);
lean_dec(v_x_761_);
v___x_766_ = lean_box(0);
v_isShared_767_ = v_isSharedCheck_787_;
goto v_resetjp_765_;
}
v_resetjp_765_:
{
lean_object* v___x_768_; uint64_t v___x_769_; uint64_t v___x_770_; uint64_t v___x_771_; uint64_t v_fold_772_; uint64_t v___x_773_; uint64_t v___x_774_; uint64_t v___x_775_; size_t v___x_776_; size_t v___x_777_; size_t v___x_778_; size_t v___x_779_; size_t v___x_780_; lean_object* v___x_781_; lean_object* v___x_783_; 
v___x_768_ = lean_array_get_size(v_x_760_);
v___x_769_ = l_Lean_instHashableFVarId_hash(v_key_762_);
v___x_770_ = 32ULL;
v___x_771_ = lean_uint64_shift_right(v___x_769_, v___x_770_);
v_fold_772_ = lean_uint64_xor(v___x_769_, v___x_771_);
v___x_773_ = 16ULL;
v___x_774_ = lean_uint64_shift_right(v_fold_772_, v___x_773_);
v___x_775_ = lean_uint64_xor(v_fold_772_, v___x_774_);
v___x_776_ = lean_uint64_to_usize(v___x_775_);
v___x_777_ = lean_usize_of_nat(v___x_768_);
v___x_778_ = ((size_t)1ULL);
v___x_779_ = lean_usize_sub(v___x_777_, v___x_778_);
v___x_780_ = lean_usize_land(v___x_776_, v___x_779_);
v___x_781_ = lean_array_uget_borrowed(v_x_760_, v___x_780_);
lean_inc(v___x_781_);
if (v_isShared_767_ == 0)
{
lean_ctor_set(v___x_766_, 2, v___x_781_);
v___x_783_ = v___x_766_;
goto v_reusejp_782_;
}
else
{
lean_object* v_reuseFailAlloc_786_; 
v_reuseFailAlloc_786_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_786_, 0, v_key_762_);
lean_ctor_set(v_reuseFailAlloc_786_, 1, v_value_763_);
lean_ctor_set(v_reuseFailAlloc_786_, 2, v___x_781_);
v___x_783_ = v_reuseFailAlloc_786_;
goto v_reusejp_782_;
}
v_reusejp_782_:
{
lean_object* v___x_784_; 
v___x_784_ = lean_array_uset(v_x_760_, v___x_780_, v___x_783_);
v_x_760_ = v___x_784_;
v_x_761_ = v_tail_764_;
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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1___redArg(lean_object* v_i_788_, lean_object* v_source_789_, lean_object* v_target_790_){
_start:
{
lean_object* v___x_791_; uint8_t v___x_792_; 
v___x_791_ = lean_array_get_size(v_source_789_);
v___x_792_ = lean_nat_dec_lt(v_i_788_, v___x_791_);
if (v___x_792_ == 0)
{
lean_dec_ref(v_source_789_);
lean_dec(v_i_788_);
return v_target_790_;
}
else
{
lean_object* v_es_793_; lean_object* v___x_794_; lean_object* v_source_795_; lean_object* v_target_796_; lean_object* v___x_797_; lean_object* v___x_798_; 
v_es_793_ = lean_array_fget(v_source_789_, v_i_788_);
v___x_794_ = lean_box(0);
v_source_795_ = lean_array_fset(v_source_789_, v_i_788_, v___x_794_);
v_target_796_ = 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2___redArg(v_target_790_, v_es_793_);
v___x_797_ = lean_unsigned_to_nat(1u);
v___x_798_ = lean_nat_add(v_i_788_, v___x_797_);
lean_dec(v_i_788_);
v_i_788_ = v___x_798_;
v_source_789_ = v_source_795_;
v_target_790_ = v_target_796_;
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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0___redArg(lean_object* v_data_800_){
_start:
{
lean_object* v___x_801_; lean_object* v___x_802_; lean_object* v_nbuckets_803_; lean_object* v___x_804_; lean_object* v___x_805_; lean_object* v___x_806_; lean_object* v___x_807_; 
v___x_801_ = lean_array_get_size(v_data_800_);
v___x_802_ = lean_unsigned_to_nat(2u);
v_nbuckets_803_ = lean_nat_mul(v___x_801_, v___x_802_);
v___x_804_ = lean_unsigned_to_nat(0u);
v___x_805_ = lean_box(0);
v___x_806_ = lean_mk_array(v_nbuckets_803_, v___x_805_);
v___x_807_ = 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1___redArg(v___x_804_, v_data_800_, v___x_806_);
return v___x_807_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1___redArg(lean_object* v_a_808_, lean_object* v_b_809_, lean_object* v_x_810_){
_start:
{
if (lean_obj_tag(v_x_810_) == 0)
{
lean_dec(v_b_809_);
lean_dec(v_a_808_);
return v_x_810_;
}
else
{
lean_object* v_key_811_; lean_object* v_value_812_; lean_object* v_tail_813_; lean_object* v___x_815_; uint8_t v_isShared_816_; uint8_t v_isSharedCheck_825_; 
v_key_811_ = lean_ctor_get(v_x_810_, 0);
v_value_812_ = lean_ctor_get(v_x_810_, 1);
v_tail_813_ = lean_ctor_get(v_x_810_, 2);
v_isSharedCheck_825_ = !lean_is_exclusive(v_x_810_);
if (v_isSharedCheck_825_ == 0)
{
v___x_815_ = v_x_810_;
v_isShared_816_ = v_isSharedCheck_825_;
goto v_resetjp_814_;
}
else
{
lean_inc(v_tail_813_);
lean_inc(v_value_812_);
lean_inc(v_key_811_);
lean_dec(v_x_810_);
v___x_815_ = lean_box(0);
v_isShared_816_ = v_isSharedCheck_825_;
goto v_resetjp_814_;
}
v_resetjp_814_:
{
uint8_t v___x_817_; 
v___x_817_ = l_Lean_instBEqFVarId_beq(v_key_811_, v_a_808_);
if (v___x_817_ == 0)
{
lean_object* v___x_818_; lean_object* v___x_820_; 
v___x_818_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1___redArg(v_a_808_, v_b_809_, v_tail_813_);
if (v_isShared_816_ == 0)
{
lean_ctor_set(v___x_815_, 2, v___x_818_);
v___x_820_ = v___x_815_;
goto v_reusejp_819_;
}
else
{
lean_object* v_reuseFailAlloc_821_; 
v_reuseFailAlloc_821_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_821_, 0, v_key_811_);
lean_ctor_set(v_reuseFailAlloc_821_, 1, v_value_812_);
lean_ctor_set(v_reuseFailAlloc_821_, 2, v___x_818_);
v___x_820_ = v_reuseFailAlloc_821_;
goto v_reusejp_819_;
}
v_reusejp_819_:
{
return v___x_820_;
}
}
else
{
lean_object* v___x_823_; 
lean_dec(v_value_812_);
lean_dec(v_key_811_);
if (v_isShared_816_ == 0)
{
lean_ctor_set(v___x_815_, 1, v_b_809_);
lean_ctor_set(v___x_815_, 0, v_a_808_);
v___x_823_ = v___x_815_;
goto v_reusejp_822_;
}
else
{
lean_object* v_reuseFailAlloc_824_; 
v_reuseFailAlloc_824_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_824_, 0, v_a_808_);
lean_ctor_set(v_reuseFailAlloc_824_, 1, v_b_809_);
lean_ctor_set(v_reuseFailAlloc_824_, 2, v_tail_813_);
v___x_823_ = v_reuseFailAlloc_824_;
goto v_reusejp_822_;
}
v_reusejp_822_:
{
return v___x_823_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(lean_object* v_m_826_, lean_object* v_a_827_, lean_object* v_b_828_){
_start:
{
lean_object* v_size_829_; lean_object* v_buckets_830_; lean_object* v___x_832_; uint8_t v_isShared_833_; uint8_t v_isSharedCheck_873_; 
v_size_829_ = lean_ctor_get(v_m_826_, 0);
v_buckets_830_ = lean_ctor_get(v_m_826_, 1);
v_isSharedCheck_873_ = !lean_is_exclusive(v_m_826_);
if (v_isSharedCheck_873_ == 0)
{
v___x_832_ = v_m_826_;
v_isShared_833_ = v_isSharedCheck_873_;
goto v_resetjp_831_;
}
else
{
lean_inc(v_buckets_830_);
lean_inc(v_size_829_);
lean_dec(v_m_826_);
v___x_832_ = lean_box(0);
v_isShared_833_ = v_isSharedCheck_873_;
goto v_resetjp_831_;
}
v_resetjp_831_:
{
lean_object* v___x_834_; uint64_t v___x_835_; uint64_t v___x_836_; uint64_t v___x_837_; uint64_t v_fold_838_; uint64_t v___x_839_; uint64_t v___x_840_; uint64_t v___x_841_; size_t v___x_842_; size_t v___x_843_; size_t v___x_844_; size_t v___x_845_; size_t v___x_846_; lean_object* v_bkt_847_; uint8_t v___x_848_; 
v___x_834_ = lean_array_get_size(v_buckets_830_);
v___x_835_ = l_Lean_instHashableFVarId_hash(v_a_827_);
v___x_836_ = 32ULL;
v___x_837_ = lean_uint64_shift_right(v___x_835_, v___x_836_);
v_fold_838_ = lean_uint64_xor(v___x_835_, v___x_837_);
v___x_839_ = 16ULL;
v___x_840_ = lean_uint64_shift_right(v_fold_838_, v___x_839_);
v___x_841_ = lean_uint64_xor(v_fold_838_, v___x_840_);
v___x_842_ = lean_uint64_to_usize(v___x_841_);
v___x_843_ = lean_usize_of_nat(v___x_834_);
v___x_844_ = ((size_t)1ULL);
v___x_845_ = lean_usize_sub(v___x_843_, v___x_844_);
v___x_846_ = lean_usize_land(v___x_842_, v___x_845_);
v_bkt_847_ = lean_array_uget_borrowed(v_buckets_830_, v___x_846_);
v___x_848_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_827_, v_bkt_847_);
if (v___x_848_ == 0)
{
lean_object* v___x_849_; lean_object* v_size_x27_850_; lean_object* v___x_851_; lean_object* v_buckets_x27_852_; lean_object* v___x_853_; lean_object* v___x_854_; lean_object* v___x_855_; lean_object* v___x_856_; lean_object* v___x_857_; uint8_t v___x_858_; 
v___x_849_ = lean_unsigned_to_nat(1u);
v_size_x27_850_ = lean_nat_add(v_size_829_, v___x_849_);
lean_dec(v_size_829_);
lean_inc(v_bkt_847_);
v___x_851_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_851_, 0, v_a_827_);
lean_ctor_set(v___x_851_, 1, v_b_828_);
lean_ctor_set(v___x_851_, 2, v_bkt_847_);
v_buckets_x27_852_ = lean_array_uset(v_buckets_830_, v___x_846_, v___x_851_);
v___x_853_ = lean_unsigned_to_nat(4u);
v___x_854_ = lean_nat_mul(v_size_x27_850_, v___x_853_);
v___x_855_ = lean_unsigned_to_nat(3u);
v___x_856_ = lean_nat_div(v___x_854_, v___x_855_);
lean_dec(v___x_854_);
v___x_857_ = lean_array_get_size(v_buckets_x27_852_);
v___x_858_ = lean_nat_dec_le(v___x_856_, v___x_857_);
lean_dec(v___x_856_);
if (v___x_858_ == 0)
{
lean_object* v_val_859_; lean_object* v___x_861_; 
v_val_859_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0___redArg(v_buckets_x27_852_);
if (v_isShared_833_ == 0)
{
lean_ctor_set(v___x_832_, 1, v_val_859_);
lean_ctor_set(v___x_832_, 0, v_size_x27_850_);
v___x_861_ = v___x_832_;
goto v_reusejp_860_;
}
else
{
lean_object* v_reuseFailAlloc_862_; 
v_reuseFailAlloc_862_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_862_, 0, v_size_x27_850_);
lean_ctor_set(v_reuseFailAlloc_862_, 1, v_val_859_);
v___x_861_ = v_reuseFailAlloc_862_;
goto v_reusejp_860_;
}
v_reusejp_860_:
{
return v___x_861_;
}
}
else
{
lean_object* v___x_864_; 
if (v_isShared_833_ == 0)
{
lean_ctor_set(v___x_832_, 1, v_buckets_x27_852_);
lean_ctor_set(v___x_832_, 0, v_size_x27_850_);
v___x_864_ = v___x_832_;
goto v_reusejp_863_;
}
else
{
lean_object* v_reuseFailAlloc_865_; 
v_reuseFailAlloc_865_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_865_, 0, v_size_x27_850_);
lean_ctor_set(v_reuseFailAlloc_865_, 1, v_buckets_x27_852_);
v___x_864_ = v_reuseFailAlloc_865_;
goto v_reusejp_863_;
}
v_reusejp_863_:
{
return v___x_864_;
}
}
}
else
{
lean_object* v___x_866_; lean_object* v_buckets_x27_867_; lean_object* v___x_868_; lean_object* v___x_869_; lean_object* v___x_871_; 
lean_inc(v_bkt_847_);
v___x_866_ = lean_box(0);
v_buckets_x27_867_ = lean_array_uset(v_buckets_830_, v___x_846_, v___x_866_);
v___x_868_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1___redArg(v_a_827_, v_b_828_, v_bkt_847_);
v___x_869_ = lean_array_uset(v_buckets_x27_867_, v___x_846_, v___x_868_);
if (v_isShared_833_ == 0)
{
lean_ctor_set(v___x_832_, 1, v___x_869_);
v___x_871_ = v___x_832_;
goto v_reusejp_870_;
}
else
{
lean_object* v_reuseFailAlloc_872_; 
v_reuseFailAlloc_872_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_872_, 0, v_size_829_);
lean_ctor_set(v_reuseFailAlloc_872_, 1, v___x_869_);
v___x_871_ = v_reuseFailAlloc_872_;
goto v_reusejp_870_;
}
v_reusejp_870_:
{
return v___x_871_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg(lean_object* v_fvarId_874_, lean_object* v_arity_875_, lean_object* v_a_876_){
_start:
{
lean_object* v___x_878_; lean_object* v___x_879_; lean_object* v_cinfo_880_; lean_object* v___x_881_; lean_object* v___x_882_; lean_object* v___x_883_; lean_object* v___x_884_; 
v___x_878_ = lean_st_ref_take(v_a_876_);
v___x_879_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v_cinfo_880_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_cinfo_880_, 0, v_arity_875_);
lean_ctor_set(v_cinfo_880_, 1, v___x_879_);
v___x_881_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v___x_878_, v_fvarId_874_, v_cinfo_880_);
v___x_882_ = lean_st_ref_set(v_a_876_, v___x_881_);
v___x_883_ = lean_box(0);
v___x_884_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_884_, 0, v___x_883_);
return v___x_884_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg___boxed(lean_object* v_fvarId_885_, lean_object* v_arity_886_, lean_object* v_a_887_, lean_object* v_a_888_){
_start:
{
lean_object* v_res_889_; 
v_res_889_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg(v_fvarId_885_, v_arity_886_, v_a_887_);
lean_dec(v_a_887_);
return v_res_889_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate(lean_object* v_fvarId_890_, lean_object* v_arity_891_, lean_object* v_a_892_, lean_object* v_a_893_, lean_object* v_a_894_, lean_object* v_a_895_, lean_object* v_a_896_, lean_object* v_a_897_){
_start:
{
lean_object* v___x_899_; 
v___x_899_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg(v_fvarId_890_, v_arity_891_, v_a_893_);
return v___x_899_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___boxed(lean_object* v_fvarId_900_, lean_object* v_arity_901_, lean_object* v_a_902_, lean_object* v_a_903_, lean_object* v_a_904_, lean_object* v_a_905_, lean_object* v_a_906_, lean_object* v_a_907_, lean_object* v_a_908_){
_start:
{
lean_object* v_res_909_; 
v_res_909_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate(v_fvarId_900_, v_arity_901_, v_a_902_, v_a_903_, v_a_904_, v_a_905_, v_a_906_, v_a_907_);
lean_dec(v_a_907_);
lean_dec_ref(v_a_906_);
lean_dec(v_a_905_);
lean_dec_ref(v_a_904_);
lean_dec(v_a_903_);
lean_dec_ref(v_a_902_);
return v_res_909_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0(lean_object* v_00_u03b2_910_, lean_object* v_m_911_, lean_object* v_a_912_, lean_object* v_b_913_){
_start:
{
lean_object* v___x_914_; 
v___x_914_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v_m_911_, v_a_912_, v_b_913_);
return v___x_914_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0(lean_object* v_00_u03b2_915_, lean_object* v_data_916_){
_start:
{
lean_object* v___x_917_; 
v___x_917_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0___redArg(v_data_916_);
return v___x_917_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1(lean_object* v_00_u03b2_918_, lean_object* v_a_919_, lean_object* v_b_920_, lean_object* v_x_921_){
_start:
{
lean_object* v___x_922_; 
v___x_922_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__1___redArg(v_a_919_, v_b_920_, v_x_921_);
return v___x_922_;
}
}
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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1(lean_object* v_00_u03b2_923_, lean_object* v_i_924_, lean_object* v_source_925_, lean_object* v_target_926_){
_start:
{
lean_object* v___x_927_; 
v___x_927_ = 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1___redArg(v_i_924_, v_source_925_, v_target_926_);
return v___x_927_;
}
}
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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2(lean_object* v_00_u03b2_928_, lean_object* v_x_929_, lean_object* v_x_930_){
_start:
{
lean_object* v___x_931_; 
v___x_931_ = 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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0_spec__1_spec__2___redArg(v_x_929_, v_x_930_);
return v___x_931_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0___redArg(lean_object* v_m_932_, lean_object* v_a_933_, lean_object* v_b_934_){
_start:
{
lean_object* v_size_935_; lean_object* v_buckets_936_; lean_object* v___x_937_; uint64_t v___x_938_; uint64_t v___x_939_; uint64_t v___x_940_; uint64_t v_fold_941_; uint64_t v___x_942_; uint64_t v___x_943_; uint64_t v___x_944_; size_t v___x_945_; size_t v___x_946_; size_t v___x_947_; size_t v___x_948_; size_t v___x_949_; lean_object* v_bkt_950_; uint8_t v___x_951_; 
v_size_935_ = lean_ctor_get(v_m_932_, 0);
v_buckets_936_ = lean_ctor_get(v_m_932_, 1);
v___x_937_ = lean_array_get_size(v_buckets_936_);
v___x_938_ = l_Lean_instHashableFVarId_hash(v_a_933_);
v___x_939_ = 32ULL;
v___x_940_ = lean_uint64_shift_right(v___x_938_, v___x_939_);
v_fold_941_ = lean_uint64_xor(v___x_938_, v___x_940_);
v___x_942_ = 16ULL;
v___x_943_ = lean_uint64_shift_right(v_fold_941_, v___x_942_);
v___x_944_ = lean_uint64_xor(v_fold_941_, v___x_943_);
v___x_945_ = lean_uint64_to_usize(v___x_944_);
v___x_946_ = lean_usize_of_nat(v___x_937_);
v___x_947_ = ((size_t)1ULL);
v___x_948_ = lean_usize_sub(v___x_946_, v___x_947_);
v___x_949_ = lean_usize_land(v___x_945_, v___x_948_);
v_bkt_950_ = lean_array_uget_borrowed(v_buckets_936_, v___x_949_);
v___x_951_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_933_, v_bkt_950_);
if (v___x_951_ == 0)
{
lean_object* v___x_953_; uint8_t v_isShared_954_; uint8_t v_isSharedCheck_972_; 
lean_inc_ref(v_buckets_936_);
lean_inc(v_size_935_);
v_isSharedCheck_972_ = !lean_is_exclusive(v_m_932_);
if (v_isSharedCheck_972_ == 0)
{
lean_object* v_unused_973_; lean_object* v_unused_974_; 
v_unused_973_ = lean_ctor_get(v_m_932_, 1);
lean_dec(v_unused_973_);
v_unused_974_ = lean_ctor_get(v_m_932_, 0);
lean_dec(v_unused_974_);
v___x_953_ = v_m_932_;
v_isShared_954_ = v_isSharedCheck_972_;
goto v_resetjp_952_;
}
else
{
lean_dec(v_m_932_);
v___x_953_ = lean_box(0);
v_isShared_954_ = v_isSharedCheck_972_;
goto v_resetjp_952_;
}
v_resetjp_952_:
{
lean_object* v___x_955_; lean_object* v_size_x27_956_; lean_object* v___x_957_; lean_object* v_buckets_x27_958_; lean_object* v___x_959_; lean_object* v___x_960_; lean_object* v___x_961_; lean_object* v___x_962_; lean_object* v___x_963_; uint8_t v___x_964_; 
v___x_955_ = lean_unsigned_to_nat(1u);
v_size_x27_956_ = lean_nat_add(v_size_935_, v___x_955_);
lean_dec(v_size_935_);
lean_inc(v_bkt_950_);
v___x_957_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_957_, 0, v_a_933_);
lean_ctor_set(v___x_957_, 1, v_b_934_);
lean_ctor_set(v___x_957_, 2, v_bkt_950_);
v_buckets_x27_958_ = lean_array_uset(v_buckets_936_, v___x_949_, v___x_957_);
v___x_959_ = lean_unsigned_to_nat(4u);
v___x_960_ = lean_nat_mul(v_size_x27_956_, v___x_959_);
v___x_961_ = lean_unsigned_to_nat(3u);
v___x_962_ = lean_nat_div(v___x_960_, v___x_961_);
lean_dec(v___x_960_);
v___x_963_ = lean_array_get_size(v_buckets_x27_958_);
v___x_964_ = lean_nat_dec_le(v___x_962_, v___x_963_);
lean_dec(v___x_962_);
if (v___x_964_ == 0)
{
lean_object* v_val_965_; lean_object* v___x_967_; 
v_val_965_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0_spec__0___redArg(v_buckets_x27_958_);
if (v_isShared_954_ == 0)
{
lean_ctor_set(v___x_953_, 1, v_val_965_);
lean_ctor_set(v___x_953_, 0, v_size_x27_956_);
v___x_967_ = v___x_953_;
goto v_reusejp_966_;
}
else
{
lean_object* v_reuseFailAlloc_968_; 
v_reuseFailAlloc_968_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_968_, 0, v_size_x27_956_);
lean_ctor_set(v_reuseFailAlloc_968_, 1, v_val_965_);
v___x_967_ = v_reuseFailAlloc_968_;
goto v_reusejp_966_;
}
v_reusejp_966_:
{
return v___x_967_;
}
}
else
{
lean_object* v___x_970_; 
if (v_isShared_954_ == 0)
{
lean_ctor_set(v___x_953_, 1, v_buckets_x27_958_);
lean_ctor_set(v___x_953_, 0, v_size_x27_956_);
v___x_970_ = v___x_953_;
goto v_reusejp_969_;
}
else
{
lean_object* v_reuseFailAlloc_971_; 
v_reuseFailAlloc_971_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_971_, 0, v_size_x27_956_);
lean_ctor_set(v_reuseFailAlloc_971_, 1, v_buckets_x27_958_);
v___x_970_ = v_reuseFailAlloc_971_;
goto v_reusejp_969_;
}
v_reusejp_969_:
{
return v___x_970_;
}
}
}
}
else
{
lean_dec(v_b_934_);
lean_dec(v_a_933_);
return v_m_932_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_Const_modify___at___00Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1_spec__1(lean_object* v_src_975_, lean_object* v_a_976_, lean_object* v_x_977_){
_start:
{
if (lean_obj_tag(v_x_977_) == 0)
{
lean_dec(v_a_976_);
lean_dec(v_src_975_);
return v_x_977_;
}
else
{
lean_object* v_key_978_; lean_object* v_value_979_; lean_object* v_tail_980_; lean_object* v___x_982_; uint8_t v_isShared_983_; uint8_t v_isSharedCheck_1003_; 
v_key_978_ = lean_ctor_get(v_x_977_, 0);
v_value_979_ = lean_ctor_get(v_x_977_, 1);
v_tail_980_ = lean_ctor_get(v_x_977_, 2);
v_isSharedCheck_1003_ = !lean_is_exclusive(v_x_977_);
if (v_isSharedCheck_1003_ == 0)
{
v___x_982_ = v_x_977_;
v_isShared_983_ = v_isSharedCheck_1003_;
goto v_resetjp_981_;
}
else
{
lean_inc(v_tail_980_);
lean_inc(v_value_979_);
lean_inc(v_key_978_);
lean_dec(v_x_977_);
v___x_982_ = lean_box(0);
v_isShared_983_ = v_isSharedCheck_1003_;
goto v_resetjp_981_;
}
v_resetjp_981_:
{
uint8_t v___x_984_; 
v___x_984_ = l_Lean_instBEqFVarId_beq(v_key_978_, v_a_976_);
if (v___x_984_ == 0)
{
lean_object* v___x_985_; lean_object* v___x_987_; 
v___x_985_ = l_Std_DHashMap_Internal_AssocList_Const_modify___at___00Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1_spec__1(v_src_975_, v_a_976_, v_tail_980_);
if (v_isShared_983_ == 0)
{
lean_ctor_set(v___x_982_, 2, v___x_985_);
v___x_987_ = v___x_982_;
goto v_reusejp_986_;
}
else
{
lean_object* v_reuseFailAlloc_988_; 
v_reuseFailAlloc_988_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_988_, 0, v_key_978_);
lean_ctor_set(v_reuseFailAlloc_988_, 1, v_value_979_);
lean_ctor_set(v_reuseFailAlloc_988_, 2, v___x_985_);
v___x_987_ = v_reuseFailAlloc_988_;
goto v_reusejp_986_;
}
v_reusejp_986_:
{
return v___x_987_;
}
}
else
{
lean_object* v_arity_989_; lean_object* v_associated_990_; lean_object* v___x_992_; uint8_t v_isShared_993_; uint8_t v_isSharedCheck_1002_; 
lean_dec(v_key_978_);
v_arity_989_ = lean_ctor_get(v_value_979_, 0);
v_associated_990_ = lean_ctor_get(v_value_979_, 1);
v_isSharedCheck_1002_ = !lean_is_exclusive(v_value_979_);
if (v_isSharedCheck_1002_ == 0)
{
v___x_992_ = v_value_979_;
v_isShared_993_ = v_isSharedCheck_1002_;
goto v_resetjp_991_;
}
else
{
lean_inc(v_associated_990_);
lean_inc(v_arity_989_);
lean_dec(v_value_979_);
v___x_992_ = lean_box(0);
v_isShared_993_ = v_isSharedCheck_1002_;
goto v_resetjp_991_;
}
v_resetjp_991_:
{
lean_object* v___x_994_; lean_object* v___x_995_; lean_object* v___x_997_; 
v___x_994_ = lean_box(0);
v___x_995_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0___redArg(v_associated_990_, v_src_975_, v___x_994_);
if (v_isShared_993_ == 0)
{
lean_ctor_set(v___x_992_, 1, v___x_995_);
v___x_997_ = v___x_992_;
goto v_reusejp_996_;
}
else
{
lean_object* v_reuseFailAlloc_1001_; 
v_reuseFailAlloc_1001_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1001_, 0, v_arity_989_);
lean_ctor_set(v_reuseFailAlloc_1001_, 1, v___x_995_);
v___x_997_ = v_reuseFailAlloc_1001_;
goto v_reusejp_996_;
}
v_reusejp_996_:
{
lean_object* v___x_999_; 
if (v_isShared_983_ == 0)
{
lean_ctor_set(v___x_982_, 1, v___x_997_);
lean_ctor_set(v___x_982_, 0, v_a_976_);
v___x_999_ = v___x_982_;
goto v_reusejp_998_;
}
else
{
lean_object* v_reuseFailAlloc_1000_; 
v_reuseFailAlloc_1000_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1000_, 0, v_a_976_);
lean_ctor_set(v_reuseFailAlloc_1000_, 1, v___x_997_);
lean_ctor_set(v_reuseFailAlloc_1000_, 2, v_tail_980_);
v___x_999_ = v_reuseFailAlloc_1000_;
goto v_reusejp_998_;
}
v_reusejp_998_:
{
return v___x_999_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1(lean_object* v_src_1004_, lean_object* v_m_1005_, lean_object* v_a_1006_){
_start:
{
lean_object* v_size_1007_; lean_object* v_buckets_1008_; lean_object* v___x_1009_; uint64_t v___x_1010_; uint64_t v___x_1011_; uint64_t v___x_1012_; uint64_t v_fold_1013_; uint64_t v___x_1014_; uint64_t v___x_1015_; uint64_t v___x_1016_; size_t v___x_1017_; size_t v___x_1018_; size_t v___x_1019_; size_t v___x_1020_; size_t v___x_1021_; lean_object* v_bucket_1022_; uint8_t v___x_1023_; 
v_size_1007_ = lean_ctor_get(v_m_1005_, 0);
v_buckets_1008_ = lean_ctor_get(v_m_1005_, 1);
v___x_1009_ = lean_array_get_size(v_buckets_1008_);
v___x_1010_ = l_Lean_instHashableFVarId_hash(v_a_1006_);
v___x_1011_ = 32ULL;
v___x_1012_ = lean_uint64_shift_right(v___x_1010_, v___x_1011_);
v_fold_1013_ = lean_uint64_xor(v___x_1010_, v___x_1012_);
v___x_1014_ = 16ULL;
v___x_1015_ = lean_uint64_shift_right(v_fold_1013_, v___x_1014_);
v___x_1016_ = lean_uint64_xor(v_fold_1013_, v___x_1015_);
v___x_1017_ = lean_uint64_to_usize(v___x_1016_);
v___x_1018_ = lean_usize_of_nat(v___x_1009_);
v___x_1019_ = ((size_t)1ULL);
v___x_1020_ = lean_usize_sub(v___x_1018_, v___x_1019_);
v___x_1021_ = lean_usize_land(v___x_1017_, v___x_1020_);
v_bucket_1022_ = lean_array_uget_borrowed(v_buckets_1008_, v___x_1021_);
v___x_1023_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_1006_, v_bucket_1022_);
if (v___x_1023_ == 0)
{
lean_dec(v_a_1006_);
lean_dec(v_src_1004_);
return v_m_1005_;
}
else
{
lean_object* v___x_1025_; uint8_t v_isShared_1026_; uint8_t v_isSharedCheck_1034_; 
lean_inc(v_bucket_1022_);
lean_inc_ref(v_buckets_1008_);
lean_inc(v_size_1007_);
v_isSharedCheck_1034_ = !lean_is_exclusive(v_m_1005_);
if (v_isSharedCheck_1034_ == 0)
{
lean_object* v_unused_1035_; lean_object* v_unused_1036_; 
v_unused_1035_ = lean_ctor_get(v_m_1005_, 1);
lean_dec(v_unused_1035_);
v_unused_1036_ = lean_ctor_get(v_m_1005_, 0);
lean_dec(v_unused_1036_);
v___x_1025_ = v_m_1005_;
v_isShared_1026_ = v_isSharedCheck_1034_;
goto v_resetjp_1024_;
}
else
{
lean_dec(v_m_1005_);
v___x_1025_ = lean_box(0);
v_isShared_1026_ = v_isSharedCheck_1034_;
goto v_resetjp_1024_;
}
v_resetjp_1024_:
{
lean_object* v___x_1027_; lean_object* v_buckets_1028_; lean_object* v_bucket_1029_; lean_object* v___x_1030_; lean_object* v___x_1032_; 
v___x_1027_ = lean_box(0);
v_buckets_1028_ = lean_array_uset(v_buckets_1008_, v___x_1021_, v___x_1027_);
v_bucket_1029_ = l_Std_DHashMap_Internal_AssocList_Const_modify___at___00Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1_spec__1(v_src_1004_, v_a_1006_, v_bucket_1022_);
v___x_1030_ = lean_array_uset(v_buckets_1028_, v___x_1021_, v_bucket_1029_);
if (v_isShared_1026_ == 0)
{
lean_ctor_set(v___x_1025_, 1, v___x_1030_);
v___x_1032_ = v___x_1025_;
goto v_reusejp_1031_;
}
else
{
lean_object* v_reuseFailAlloc_1033_; 
v_reuseFailAlloc_1033_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1033_, 0, v_size_1007_);
lean_ctor_set(v_reuseFailAlloc_1033_, 1, v___x_1030_);
v___x_1032_ = v_reuseFailAlloc_1033_;
goto v_reusejp_1031_;
}
v_reusejp_1031_:
{
return v___x_1032_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(lean_object* v_src_1037_, lean_object* v_target_1038_, lean_object* v_a_1039_){
_start:
{
lean_object* v___x_1041_; lean_object* v___x_1042_; lean_object* v___x_1043_; lean_object* v___x_1044_; lean_object* v___x_1045_; 
v___x_1041_ = lean_st_ref_take(v_a_1039_);
v___x_1042_ = l_Std_DHashMap_Internal_Raw_u2080_Const_modify___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__1(v_src_1037_, v___x_1041_, v_target_1038_);
v___x_1043_ = lean_st_ref_set(v_a_1039_, v___x_1042_);
v___x_1044_ = lean_box(0);
v___x_1045_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1045_, 0, v___x_1044_);
return v___x_1045_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg___boxed(lean_object* v_src_1046_, lean_object* v_target_1047_, lean_object* v_a_1048_, lean_object* v_a_1049_){
_start:
{
lean_object* v_res_1050_; 
v_res_1050_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(v_src_1046_, v_target_1047_, v_a_1048_);
lean_dec(v_a_1048_);
return v_res_1050_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency(lean_object* v_src_1051_, lean_object* v_target_1052_, lean_object* v_a_1053_, lean_object* v_a_1054_, lean_object* v_a_1055_, lean_object* v_a_1056_, lean_object* v_a_1057_, lean_object* v_a_1058_){
_start:
{
lean_object* v___x_1060_; 
v___x_1060_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(v_src_1051_, v_target_1052_, v_a_1054_);
return v___x_1060_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___boxed(lean_object* v_src_1061_, lean_object* v_target_1062_, lean_object* v_a_1063_, lean_object* v_a_1064_, lean_object* v_a_1065_, lean_object* v_a_1066_, lean_object* v_a_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_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency(v_src_1061_, v_target_1062_, v_a_1063_, v_a_1064_, v_a_1065_, v_a_1066_, v_a_1067_, v_a_1068_);
lean_dec(v_a_1068_);
lean_dec_ref(v_a_1067_);
lean_dec(v_a_1066_);
lean_dec_ref(v_a_1065_);
lean_dec(v_a_1064_);
lean_dec_ref(v_a_1063_);
return v_res_1070_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0(lean_object* v_00_u03b2_1071_, lean_object* v_m_1072_, lean_object* v_a_1073_, lean_object* v_b_1074_){
_start:
{
lean_object* v___x_1075_; 
v___x_1075_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency_spec__0___redArg(v_m_1072_, v_a_1073_, v_b_1074_);
return v___x_1075_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___redArg(lean_object* v_decl_1076_, lean_object* v_x_1077_, lean_object* v_a_1078_, lean_object* v_a_1079_, lean_object* v_a_1080_, lean_object* v_a_1081_, lean_object* v_a_1082_, lean_object* v_a_1083_){
_start:
{
lean_object* v_fvarId_1085_; lean_object* v_definitionDepth_1086_; lean_object* v_scope_1087_; lean_object* v___x_1089_; uint8_t v_isShared_1090_; uint8_t v_isSharedCheck_1098_; 
v_fvarId_1085_ = lean_ctor_get(v_decl_1076_, 0);
v_definitionDepth_1086_ = lean_ctor_get(v_a_1078_, 0);
v_scope_1087_ = lean_ctor_get(v_a_1078_, 1);
v_isSharedCheck_1098_ = !lean_is_exclusive(v_a_1078_);
if (v_isSharedCheck_1098_ == 0)
{
lean_object* v_unused_1099_; 
v_unused_1099_ = lean_ctor_get(v_a_1078_, 2);
lean_dec(v_unused_1099_);
v___x_1089_ = v_a_1078_;
v_isShared_1090_ = v_isSharedCheck_1098_;
goto v_resetjp_1088_;
}
else
{
lean_inc(v_scope_1087_);
lean_inc(v_definitionDepth_1086_);
lean_dec(v_a_1078_);
v___x_1089_ = lean_box(0);
v_isShared_1090_ = v_isSharedCheck_1098_;
goto v_resetjp_1088_;
}
v_resetjp_1088_:
{
lean_object* v___x_1091_; lean_object* v___x_1092_; lean_object* v___x_1093_; lean_object* v___x_1095_; 
v___x_1091_ = lean_unsigned_to_nat(1u);
v___x_1092_ = lean_nat_add(v_definitionDepth_1086_, v___x_1091_);
lean_dec(v_definitionDepth_1086_);
lean_inc(v_fvarId_1085_);
v___x_1093_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1093_, 0, v_fvarId_1085_);
if (v_isShared_1090_ == 0)
{
lean_ctor_set(v___x_1089_, 2, v___x_1093_);
lean_ctor_set(v___x_1089_, 0, v___x_1092_);
v___x_1095_ = v___x_1089_;
goto v_reusejp_1094_;
}
else
{
lean_object* v_reuseFailAlloc_1097_; 
v_reuseFailAlloc_1097_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1097_, 0, v___x_1092_);
lean_ctor_set(v_reuseFailAlloc_1097_, 1, v_scope_1087_);
lean_ctor_set(v_reuseFailAlloc_1097_, 2, v___x_1093_);
v___x_1095_ = v_reuseFailAlloc_1097_;
goto v_reusejp_1094_;
}
v_reusejp_1094_:
{
lean_object* v___x_1096_; 
v___x_1096_ = lean_apply_7(v_x_1077_, v___x_1095_, v_a_1079_, v_a_1080_, v_a_1081_, v_a_1082_, v_a_1083_, lean_box(0));
return v___x_1096_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___redArg___boxed(lean_object* v_decl_1100_, lean_object* v_x_1101_, lean_object* v_a_1102_, lean_object* v_a_1103_, lean_object* v_a_1104_, lean_object* v_a_1105_, lean_object* v_a_1106_, lean_object* v_a_1107_, lean_object* v_a_1108_){
_start:
{
lean_object* v_res_1109_; 
v_res_1109_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___redArg(v_decl_1100_, v_x_1101_, v_a_1102_, v_a_1103_, v_a_1104_, v_a_1105_, v_a_1106_, v_a_1107_);
lean_dec_ref(v_decl_1100_);
return v_res_1109_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody(lean_object* v_00_u03b1_1110_, lean_object* v_decl_1111_, lean_object* v_x_1112_, lean_object* v_a_1113_, lean_object* v_a_1114_, lean_object* v_a_1115_, lean_object* v_a_1116_, lean_object* v_a_1117_, lean_object* v_a_1118_){
_start:
{
lean_object* v_fvarId_1120_; lean_object* v_definitionDepth_1121_; lean_object* v_scope_1122_; lean_object* v___x_1124_; uint8_t v_isShared_1125_; uint8_t v_isSharedCheck_1133_; 
v_fvarId_1120_ = lean_ctor_get(v_decl_1111_, 0);
v_definitionDepth_1121_ = lean_ctor_get(v_a_1113_, 0);
v_scope_1122_ = lean_ctor_get(v_a_1113_, 1);
v_isSharedCheck_1133_ = !lean_is_exclusive(v_a_1113_);
if (v_isSharedCheck_1133_ == 0)
{
lean_object* v_unused_1134_; 
v_unused_1134_ = lean_ctor_get(v_a_1113_, 2);
lean_dec(v_unused_1134_);
v___x_1124_ = v_a_1113_;
v_isShared_1125_ = v_isSharedCheck_1133_;
goto v_resetjp_1123_;
}
else
{
lean_inc(v_scope_1122_);
lean_inc(v_definitionDepth_1121_);
lean_dec(v_a_1113_);
v___x_1124_ = lean_box(0);
v_isShared_1125_ = v_isSharedCheck_1133_;
goto v_resetjp_1123_;
}
v_resetjp_1123_:
{
lean_object* v___x_1126_; lean_object* v___x_1127_; lean_object* v___x_1128_; lean_object* v___x_1130_; 
v___x_1126_ = lean_unsigned_to_nat(1u);
v___x_1127_ = lean_nat_add(v_definitionDepth_1121_, v___x_1126_);
lean_dec(v_definitionDepth_1121_);
lean_inc(v_fvarId_1120_);
v___x_1128_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1128_, 0, v_fvarId_1120_);
if (v_isShared_1125_ == 0)
{
lean_ctor_set(v___x_1124_, 2, v___x_1128_);
lean_ctor_set(v___x_1124_, 0, v___x_1127_);
v___x_1130_ = v___x_1124_;
goto v_reusejp_1129_;
}
else
{
lean_object* v_reuseFailAlloc_1132_; 
v_reuseFailAlloc_1132_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1132_, 0, v___x_1127_);
lean_ctor_set(v_reuseFailAlloc_1132_, 1, v_scope_1122_);
lean_ctor_set(v_reuseFailAlloc_1132_, 2, v___x_1128_);
v___x_1130_ = v_reuseFailAlloc_1132_;
goto v_reusejp_1129_;
}
v_reusejp_1129_:
{
lean_object* v___x_1131_; 
v___x_1131_ = lean_apply_7(v_x_1112_, v___x_1130_, v_a_1114_, v_a_1115_, v_a_1116_, v_a_1117_, v_a_1118_, lean_box(0));
return v___x_1131_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody___boxed(lean_object* v_00_u03b1_1135_, lean_object* v_decl_1136_, lean_object* v_x_1137_, lean_object* v_a_1138_, lean_object* v_a_1139_, lean_object* v_a_1140_, lean_object* v_a_1141_, lean_object* v_a_1142_, lean_object* v_a_1143_, lean_object* v_a_1144_){
_start:
{
lean_object* v_res_1145_; 
v_res_1145_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnBody(v_00_u03b1_1135_, v_decl_1136_, v_x_1137_, v_a_1138_, v_a_1139_, v_a_1140_, v_a_1141_, v_a_1142_, v_a_1143_);
lean_dec_ref(v_decl_1136_);
return v_res_1145_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___redArg(lean_object* v_decl_1146_, lean_object* v_x_1147_, lean_object* v_a_1148_, lean_object* v_a_1149_, lean_object* v_a_1150_, lean_object* v_a_1151_, lean_object* v_a_1152_, lean_object* v_a_1153_){
_start:
{
lean_object* v_fvarId_1155_; lean_object* v_definitionDepth_1156_; lean_object* v_scope_1157_; lean_object* v_currentFunction_1158_; lean_object* v___x_1160_; uint8_t v_isShared_1161_; uint8_t v_isSharedCheck_1167_; 
v_fvarId_1155_ = lean_ctor_get(v_decl_1146_, 0);
lean_inc(v_fvarId_1155_);
lean_dec_ref(v_decl_1146_);
v_definitionDepth_1156_ = lean_ctor_get(v_a_1148_, 0);
v_scope_1157_ = lean_ctor_get(v_a_1148_, 1);
v_currentFunction_1158_ = lean_ctor_get(v_a_1148_, 2);
v_isSharedCheck_1167_ = !lean_is_exclusive(v_a_1148_);
if (v_isSharedCheck_1167_ == 0)
{
v___x_1160_ = v_a_1148_;
v_isShared_1161_ = v_isSharedCheck_1167_;
goto v_resetjp_1159_;
}
else
{
lean_inc(v_currentFunction_1158_);
lean_inc(v_scope_1157_);
lean_inc(v_definitionDepth_1156_);
lean_dec(v_a_1148_);
v___x_1160_ = lean_box(0);
v_isShared_1161_ = v_isSharedCheck_1167_;
goto v_resetjp_1159_;
}
v_resetjp_1159_:
{
lean_object* v___x_1162_; lean_object* v___x_1164_; 
lean_inc(v_definitionDepth_1156_);
v___x_1162_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_1155_, v_definitionDepth_1156_, v_scope_1157_);
if (v_isShared_1161_ == 0)
{
lean_ctor_set(v___x_1160_, 1, v___x_1162_);
v___x_1164_ = v___x_1160_;
goto v_reusejp_1163_;
}
else
{
lean_object* v_reuseFailAlloc_1166_; 
v_reuseFailAlloc_1166_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1166_, 0, v_definitionDepth_1156_);
lean_ctor_set(v_reuseFailAlloc_1166_, 1, v___x_1162_);
lean_ctor_set(v_reuseFailAlloc_1166_, 2, v_currentFunction_1158_);
v___x_1164_ = v_reuseFailAlloc_1166_;
goto v_reusejp_1163_;
}
v_reusejp_1163_:
{
lean_object* v___x_1165_; 
v___x_1165_ = lean_apply_7(v_x_1147_, v___x_1164_, v_a_1149_, v_a_1150_, v_a_1151_, v_a_1152_, v_a_1153_, lean_box(0));
return v___x_1165_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___redArg___boxed(lean_object* v_decl_1168_, lean_object* v_x_1169_, lean_object* v_a_1170_, lean_object* v_a_1171_, lean_object* v_a_1172_, lean_object* v_a_1173_, lean_object* v_a_1174_, lean_object* v_a_1175_, lean_object* v_a_1176_){
_start:
{
lean_object* v_res_1177_; 
v_res_1177_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___redArg(v_decl_1168_, v_x_1169_, v_a_1170_, v_a_1171_, v_a_1172_, v_a_1173_, v_a_1174_, v_a_1175_);
return v_res_1177_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined(lean_object* v_00_u03b1_1178_, lean_object* v_decl_1179_, lean_object* v_x_1180_, lean_object* v_a_1181_, lean_object* v_a_1182_, lean_object* v_a_1183_, lean_object* v_a_1184_, lean_object* v_a_1185_, lean_object* v_a_1186_){
_start:
{
lean_object* v_fvarId_1188_; lean_object* v_definitionDepth_1189_; lean_object* v_scope_1190_; lean_object* v_currentFunction_1191_; lean_object* v___x_1193_; uint8_t v_isShared_1194_; uint8_t v_isSharedCheck_1200_; 
v_fvarId_1188_ = lean_ctor_get(v_decl_1179_, 0);
lean_inc(v_fvarId_1188_);
lean_dec_ref(v_decl_1179_);
v_definitionDepth_1189_ = lean_ctor_get(v_a_1181_, 0);
v_scope_1190_ = lean_ctor_get(v_a_1181_, 1);
v_currentFunction_1191_ = lean_ctor_get(v_a_1181_, 2);
v_isSharedCheck_1200_ = !lean_is_exclusive(v_a_1181_);
if (v_isSharedCheck_1200_ == 0)
{
v___x_1193_ = v_a_1181_;
v_isShared_1194_ = v_isSharedCheck_1200_;
goto v_resetjp_1192_;
}
else
{
lean_inc(v_currentFunction_1191_);
lean_inc(v_scope_1190_);
lean_inc(v_definitionDepth_1189_);
lean_dec(v_a_1181_);
v___x_1193_ = lean_box(0);
v_isShared_1194_ = v_isSharedCheck_1200_;
goto v_resetjp_1192_;
}
v_resetjp_1192_:
{
lean_object* v___x_1195_; lean_object* v___x_1197_; 
lean_inc(v_definitionDepth_1189_);
v___x_1195_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_1188_, v_definitionDepth_1189_, v_scope_1190_);
if (v_isShared_1194_ == 0)
{
lean_ctor_set(v___x_1193_, 1, v___x_1195_);
v___x_1197_ = v___x_1193_;
goto v_reusejp_1196_;
}
else
{
lean_object* v_reuseFailAlloc_1199_; 
v_reuseFailAlloc_1199_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1199_, 0, v_definitionDepth_1189_);
lean_ctor_set(v_reuseFailAlloc_1199_, 1, v___x_1195_);
lean_ctor_set(v_reuseFailAlloc_1199_, 2, v_currentFunction_1191_);
v___x_1197_ = v_reuseFailAlloc_1199_;
goto v_reusejp_1196_;
}
v_reusejp_1196_:
{
lean_object* v___x_1198_; 
v___x_1198_ = lean_apply_7(v_x_1180_, v___x_1197_, v_a_1182_, v_a_1183_, v_a_1184_, v_a_1185_, v_a_1186_, lean_box(0));
return v___x_1198_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined___boxed(lean_object* v_00_u03b1_1201_, lean_object* v_decl_1202_, lean_object* v_x_1203_, lean_object* v_a_1204_, lean_object* v_a_1205_, lean_object* v_a_1206_, lean_object* v_a_1207_, lean_object* v_a_1208_, lean_object* v_a_1209_, lean_object* v_a_1210_){
_start:
{
lean_object* v_res_1211_; 
v_res_1211_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_withFnDefined(v_00_u03b1_1201_, v_decl_1202_, v_x_1203_, v_a_1204_, v_a_1205_, v_a_1206_, v_a_1207_, v_a_1208_, v_a_1209_);
return v_res_1211_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg(lean_object* v_alt_1212_, lean_object* v_f_1213_, lean_object* v___y_1214_, lean_object* v___y_1215_, lean_object* v___y_1216_, lean_object* v___y_1217_, lean_object* v___y_1218_, lean_object* v___y_1219_){
_start:
{
switch(lean_obj_tag(v_alt_1212_))
{
case 0:
{
lean_object* v_code_1221_; lean_object* v___x_1222_; 
v_code_1221_ = lean_ctor_get(v_alt_1212_, 2);
lean_inc_ref(v_code_1221_);
lean_dec_ref(v_alt_1212_);
v___x_1222_ = lean_apply_8(v_f_1213_, v_code_1221_, v___y_1214_, v___y_1215_, v___y_1216_, v___y_1217_, v___y_1218_, v___y_1219_, lean_box(0));
return v___x_1222_;
}
case 1:
{
lean_object* v_code_1223_; lean_object* v___x_1224_; 
v_code_1223_ = lean_ctor_get(v_alt_1212_, 1);
lean_inc_ref(v_code_1223_);
lean_dec_ref(v_alt_1212_);
v___x_1224_ = lean_apply_8(v_f_1213_, v_code_1223_, v___y_1214_, v___y_1215_, v___y_1216_, v___y_1217_, v___y_1218_, v___y_1219_, lean_box(0));
return v___x_1224_;
}
default: 
{
lean_object* v_code_1225_; lean_object* v___x_1226_; 
v_code_1225_ = lean_ctor_get(v_alt_1212_, 0);
lean_inc_ref(v_code_1225_);
lean_dec_ref(v_alt_1212_);
v___x_1226_ = lean_apply_8(v_f_1213_, v_code_1225_, v___y_1214_, v___y_1215_, v___y_1216_, v___y_1217_, v___y_1218_, v___y_1219_, lean_box(0));
return v___x_1226_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg___boxed(lean_object* v_alt_1227_, lean_object* v_f_1228_, lean_object* v___y_1229_, lean_object* v___y_1230_, lean_object* v___y_1231_, lean_object* v___y_1232_, lean_object* v___y_1233_, lean_object* v___y_1234_, lean_object* v___y_1235_){
_start:
{
lean_object* v_res_1236_; 
v_res_1236_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg(v_alt_1227_, v_f_1228_, v___y_1229_, v___y_1230_, v___y_1231_, v___y_1232_, v___y_1233_, v___y_1234_);
return v_res_1236_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0(uint8_t v_pu_1237_, lean_object* v_alt_1238_, lean_object* v_f_1239_, lean_object* v___y_1240_, lean_object* v___y_1241_, lean_object* v___y_1242_, lean_object* v___y_1243_, lean_object* v___y_1244_, lean_object* v___y_1245_){
_start:
{
lean_object* v___x_1247_; 
v___x_1247_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg(v_alt_1238_, v_f_1239_, v___y_1240_, v___y_1241_, v___y_1242_, v___y_1243_, v___y_1244_, v___y_1245_);
return v___x_1247_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___boxed(lean_object* v_pu_1248_, lean_object* v_alt_1249_, lean_object* v_f_1250_, lean_object* v___y_1251_, lean_object* v___y_1252_, lean_object* v___y_1253_, lean_object* v___y_1254_, lean_object* v___y_1255_, lean_object* v___y_1256_, lean_object* v___y_1257_){
_start:
{
uint8_t v_pu_boxed_1258_; lean_object* v_res_1259_; 
v_pu_boxed_1258_ = lean_unbox(v_pu_1248_);
v_res_1259_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0(v_pu_boxed_1258_, v_alt_1249_, v_f_1250_, v___y_1251_, v___y_1252_, v___y_1253_, v___y_1254_, v___y_1255_, v___y_1256_);
return v_res_1259_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__2(lean_object* v_msg_1260_){
_start:
{
lean_object* v___x_1261_; lean_object* v___x_1262_; 
v___x_1261_ = lean_box(0);
v___x_1262_ = lean_panic_fn(v___x_1261_, v_msg_1260_);
return v___x_1262_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(lean_object* v_as_1263_, size_t v_i_1264_, size_t v_stop_1265_, lean_object* v_b_1266_, lean_object* v___y_1267_, lean_object* v___y_1268_, lean_object* v___y_1269_, lean_object* v___y_1270_, lean_object* v___y_1271_, lean_object* v___y_1272_){
_start:
{
uint8_t v___x_1274_; 
v___x_1274_ = lean_usize_dec_eq(v_i_1264_, v_stop_1265_);
if (v___x_1274_ == 0)
{
lean_object* v___x_1275_; lean_object* v___x_1276_; 
v___x_1275_ = lean_array_uget_borrowed(v_as_1263_, v_i_1264_);
lean_inc(v___y_1272_);
lean_inc_ref(v___y_1271_);
lean_inc(v___y_1270_);
lean_inc_ref(v___y_1269_);
lean_inc(v___y_1268_);
lean_inc_ref(v___y_1267_);
lean_inc(v___x_1275_);
v___x_1276_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg(v___x_1275_, v___y_1267_, v___y_1268_, v___y_1269_, v___y_1270_, v___y_1271_, v___y_1272_);
if (lean_obj_tag(v___x_1276_) == 0)
{
lean_object* v_a_1277_; size_t v___x_1278_; size_t v___x_1279_; 
v_a_1277_ = lean_ctor_get(v___x_1276_, 0);
lean_inc(v_a_1277_);
lean_dec_ref(v___x_1276_);
v___x_1278_ = ((size_t)1ULL);
v___x_1279_ = lean_usize_add(v_i_1264_, v___x_1278_);
v_i_1264_ = v___x_1279_;
v_b_1266_ = v_a_1277_;
goto _start;
}
else
{
lean_dec(v___y_1272_);
lean_dec_ref(v___y_1271_);
lean_dec(v___y_1270_);
lean_dec_ref(v___y_1269_);
lean_dec(v___y_1268_);
lean_dec_ref(v___y_1267_);
return v___x_1276_;
}
}
else
{
lean_object* v___x_1281_; 
lean_dec(v___y_1272_);
lean_dec_ref(v___y_1271_);
lean_dec(v___y_1270_);
lean_dec_ref(v___y_1269_);
lean_dec(v___y_1268_);
lean_dec_ref(v___y_1267_);
v___x_1281_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1281_, 0, v_b_1266_);
return v___x_1281_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3___boxed(lean_object* v_as_1282_, lean_object* v_i_1283_, lean_object* v_stop_1284_, lean_object* v_b_1285_, lean_object* v___y_1286_, lean_object* v___y_1287_, lean_object* v___y_1288_, lean_object* v___y_1289_, lean_object* v___y_1290_, lean_object* v___y_1291_, lean_object* v___y_1292_){
_start:
{
size_t v_i_boxed_1293_; size_t v_stop_boxed_1294_; lean_object* v_res_1295_; 
v_i_boxed_1293_ = lean_unbox_usize(v_i_1283_);
lean_dec(v_i_1283_);
v_stop_boxed_1294_ = lean_unbox_usize(v_stop_1284_);
lean_dec(v_stop_1284_);
v_res_1295_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(v_as_1282_, v_i_boxed_1293_, v_stop_boxed_1294_, v_b_1285_, v___y_1286_, v___y_1287_, v___y_1288_, v___y_1289_, v___y_1290_, v___y_1291_);
lean_dec_ref(v_as_1282_);
return v_res_1295_;
}
}
static lean_object* _init_l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3(void){
_start:
{
lean_object* v___x_1299_; lean_object* v___x_1300_; lean_object* v___x_1301_; lean_object* v___x_1302_; lean_object* v___x_1303_; lean_object* v___x_1304_; 
v___x_1299_ = ((lean_object*)(l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__2));
v___x_1300_ = lean_unsigned_to_nat(13u);
v___x_1301_ = lean_unsigned_to_nat(227u);
v___x_1302_ = ((lean_object*)(l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__1));
v___x_1303_ = ((lean_object*)(l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__0));
v___x_1304_ = l_mkPanicMessageWithDecl(v___x_1303_, v___x_1302_, v___x_1301_, v___x_1300_, v___x_1299_);
return v___x_1304_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(lean_object* v_inst_1305_, lean_object* v_t_1306_, lean_object* v_k_1307_){
_start:
{
if (lean_obj_tag(v_t_1306_) == 0)
{
lean_object* v_k_1308_; lean_object* v_v_1309_; lean_object* v_l_1310_; lean_object* v_r_1311_; uint8_t v___x_1312_; 
v_k_1308_ = lean_ctor_get(v_t_1306_, 1);
v_v_1309_ = lean_ctor_get(v_t_1306_, 2);
v_l_1310_ = lean_ctor_get(v_t_1306_, 3);
v_r_1311_ = lean_ctor_get(v_t_1306_, 4);
v___x_1312_ = l___private_Lean_Data_Name_0__Lean_Name_quickCmpImpl(v_k_1307_, v_k_1308_);
switch(v___x_1312_)
{
case 0:
{
v_t_1306_ = v_l_1310_;
goto _start;
}
case 1:
{
lean_dec(v_inst_1305_);
lean_inc(v_v_1309_);
return v_v_1309_;
}
default: 
{
v_t_1306_ = v_r_1311_;
goto _start;
}
}
}
else
{
lean_object* v___x_1315_; lean_object* v___x_1316_; 
v___x_1315_ = lean_obj_once(&l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3, &l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3_once, _init_l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___closed__3);
v___x_1316_ = lean_panic_fn(v_inst_1305_, v___x_1315_);
return v___x_1316_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg___boxed(lean_object* v_inst_1317_, lean_object* v_t_1318_, lean_object* v_k_1319_){
_start:
{
lean_object* v_res_1320_; 
v_res_1320_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(v_inst_1317_, v_t_1318_, v_k_1319_);
lean_dec(v_k_1319_);
lean_dec(v_t_1318_);
return v_res_1320_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3(void){
_start:
{
lean_object* v___x_1324_; lean_object* v___x_1325_; lean_object* v___x_1326_; lean_object* v___x_1327_; lean_object* v___x_1328_; lean_object* v___x_1329_; 
v___x_1324_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__2));
v___x_1325_ = lean_unsigned_to_nat(14u);
v___x_1326_ = lean_unsigned_to_nat(22u);
v___x_1327_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1));
v___x_1328_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__0));
v___x_1329_ = l_mkPanicMessageWithDecl(v___x_1328_, v___x_1327_, v___x_1326_, v___x_1325_, v___x_1324_);
return v___x_1329_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go(lean_object* v_a_1330_, lean_object* v_a_1331_, lean_object* v_a_1332_, lean_object* v_a_1333_, lean_object* v_a_1334_, lean_object* v_a_1335_, lean_object* v_a_1336_){
_start:
{
switch(lean_obj_tag(v_a_1330_))
{
case 0:
{
lean_object* v_decl_1338_; lean_object* v_k_1339_; lean_object* v___y_1341_; lean_object* v___y_1342_; lean_object* v___y_1343_; lean_object* v___y_1344_; lean_object* v___y_1345_; lean_object* v___y_1346_; 
v_decl_1338_ = lean_ctor_get(v_a_1330_, 0);
lean_inc_ref(v_decl_1338_);
v_k_1339_ = lean_ctor_get(v_a_1330_, 1);
lean_inc_ref(v_k_1339_);
lean_dec_ref(v_a_1330_);
if (lean_obj_tag(v_k_1339_) == 5)
{
lean_object* v_value_1350_; 
v_value_1350_ = lean_ctor_get(v_decl_1338_, 3);
if (lean_obj_tag(v_value_1350_) == 4)
{
lean_object* v_fvarId_1351_; lean_object* v___x_1353_; uint8_t v_isShared_1354_; uint8_t v_isSharedCheck_1406_; 
lean_inc_ref(v_value_1350_);
v_fvarId_1351_ = lean_ctor_get(v_k_1339_, 0);
v_isSharedCheck_1406_ = !lean_is_exclusive(v_k_1339_);
if (v_isSharedCheck_1406_ == 0)
{
v___x_1353_ = v_k_1339_;
v_isShared_1354_ = v_isSharedCheck_1406_;
goto v_resetjp_1352_;
}
else
{
lean_inc(v_fvarId_1351_);
lean_dec(v_k_1339_);
v___x_1353_ = lean_box(0);
v_isShared_1354_ = v_isSharedCheck_1406_;
goto v_resetjp_1352_;
}
v_resetjp_1352_:
{
lean_object* v_fvarId_1355_; lean_object* v_fvarId_1356_; lean_object* v_args_1357_; lean_object* v___x_1358_; lean_object* v___x_1359_; lean_object* v___y_1396_; uint8_t v___x_1397_; 
v_fvarId_1355_ = lean_ctor_get(v_decl_1338_, 0);
lean_inc(v_fvarId_1355_);
lean_dec_ref(v_decl_1338_);
v_fvarId_1356_ = lean_ctor_get(v_value_1350_, 0);
lean_inc(v_fvarId_1356_);
v_args_1357_ = lean_ctor_get(v_value_1350_, 1);
lean_inc_ref(v_args_1357_);
lean_dec_ref(v_value_1350_);
v___x_1358_ = lean_unsigned_to_nat(0u);
v___x_1359_ = lean_array_get_size(v_args_1357_);
v___x_1397_ = lean_nat_dec_lt(v___x_1358_, v___x_1359_);
if (v___x_1397_ == 0)
{
lean_dec_ref(v_args_1357_);
goto v___jp_1360_;
}
else
{
lean_object* v___x_1398_; uint8_t v___x_1399_; 
v___x_1398_ = lean_box(0);
v___x_1399_ = lean_nat_dec_le(v___x_1359_, v___x_1359_);
if (v___x_1399_ == 0)
{
if (v___x_1397_ == 0)
{
lean_dec_ref(v_args_1357_);
goto v___jp_1360_;
}
else
{
size_t v___x_1400_; size_t v___x_1401_; lean_object* v___x_1402_; 
v___x_1400_ = ((size_t)0ULL);
v___x_1401_ = lean_usize_of_nat(v___x_1359_);
lean_inc(v_a_1336_);
lean_inc_ref(v_a_1335_);
lean_inc(v_a_1334_);
lean_inc_ref(v_a_1333_);
lean_inc(v_a_1332_);
lean_inc_ref(v_a_1331_);
v___x_1402_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(v_args_1357_, v___x_1400_, v___x_1401_, v___x_1398_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_args_1357_);
v___y_1396_ = v___x_1402_;
goto v___jp_1395_;
}
}
else
{
size_t v___x_1403_; size_t v___x_1404_; lean_object* v___x_1405_; 
v___x_1403_ = ((size_t)0ULL);
v___x_1404_ = lean_usize_of_nat(v___x_1359_);
lean_inc(v_a_1336_);
lean_inc_ref(v_a_1335_);
lean_inc(v_a_1334_);
lean_inc_ref(v_a_1333_);
lean_inc(v_a_1332_);
lean_inc_ref(v_a_1331_);
v___x_1405_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(v_args_1357_, v___x_1403_, v___x_1404_, v___x_1398_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_args_1357_);
v___y_1396_ = v___x_1405_;
goto v___jp_1395_;
}
}
v___jp_1360_:
{
lean_object* v___x_1361_; lean_object* v___x_1362_; 
v___x_1361_ = lean_st_ref_get(v_a_1332_);
v___x_1362_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v___x_1361_, v_fvarId_1356_);
lean_dec(v___x_1361_);
if (lean_obj_tag(v___x_1362_) == 1)
{
lean_object* v_val_1363_; lean_object* v___x_1365_; uint8_t v_isShared_1366_; uint8_t v_isSharedCheck_1390_; 
lean_del_object(v___x_1353_);
v_val_1363_ = lean_ctor_get(v___x_1362_, 0);
v_isSharedCheck_1390_ = !lean_is_exclusive(v___x_1362_);
if (v_isSharedCheck_1390_ == 0)
{
v___x_1365_ = v___x_1362_;
v_isShared_1366_ = v_isSharedCheck_1390_;
goto v_resetjp_1364_;
}
else
{
lean_inc(v_val_1363_);
lean_dec(v___x_1362_);
v___x_1365_ = lean_box(0);
v_isShared_1366_ = v_isSharedCheck_1390_;
goto v_resetjp_1364_;
}
v_resetjp_1364_:
{
uint8_t v___x_1367_; 
v___x_1367_ = l_Lean_instBEqFVarId_beq(v_fvarId_1351_, v_fvarId_1355_);
lean_dec(v_fvarId_1355_);
lean_dec(v_fvarId_1351_);
if (v___x_1367_ == 0)
{
lean_object* v___x_1368_; 
lean_del_object(v___x_1365_);
lean_dec(v_val_1363_);
v___x_1368_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_fvarId_1356_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
lean_dec(v_fvarId_1356_);
return v___x_1368_;
}
else
{
lean_object* v_arity_1369_; uint8_t v___x_1370_; 
v_arity_1369_ = lean_ctor_get(v_val_1363_, 0);
lean_inc(v_arity_1369_);
lean_dec(v_val_1363_);
v___x_1370_ = lean_nat_dec_eq(v___x_1359_, v_arity_1369_);
lean_dec(v_arity_1369_);
if (v___x_1370_ == 0)
{
lean_object* v___x_1371_; 
lean_del_object(v___x_1365_);
v___x_1371_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_fvarId_1356_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
lean_dec(v_fvarId_1356_);
return v___x_1371_;
}
else
{
lean_object* v_definitionDepth_1372_; lean_object* v_scope_1373_; lean_object* v_currentFunction_1374_; lean_object* v___x_1375_; uint8_t v___x_1376_; 
v_definitionDepth_1372_ = lean_ctor_get(v_a_1331_, 0);
v_scope_1373_ = lean_ctor_get(v_a_1331_, 1);
v_currentFunction_1374_ = lean_ctor_get(v_a_1331_, 2);
v___x_1375_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(v___x_1358_, v_scope_1373_, v_fvarId_1356_);
v___x_1376_ = lean_nat_dec_eq(v_definitionDepth_1372_, v___x_1375_);
if (v___x_1376_ == 0)
{
lean_object* v___x_1377_; lean_object* v___x_1378_; uint8_t v___x_1379_; 
lean_del_object(v___x_1365_);
v___x_1377_ = lean_unsigned_to_nat(1u);
v___x_1378_ = lean_nat_add(v___x_1375_, v___x_1377_);
lean_dec(v___x_1375_);
v___x_1379_ = lean_nat_dec_eq(v___x_1378_, v_definitionDepth_1372_);
lean_dec(v___x_1378_);
if (v___x_1379_ == 0)
{
lean_object* v___x_1380_; 
v___x_1380_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_fvarId_1356_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
lean_dec(v_fvarId_1356_);
return v___x_1380_;
}
else
{
lean_inc(v_currentFunction_1374_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec_ref(v_a_1331_);
if (lean_obj_tag(v_currentFunction_1374_) == 0)
{
lean_object* v___x_1381_; lean_object* v___x_1382_; lean_object* v___x_1383_; 
v___x_1381_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3, &l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3_once, _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__3);
v___x_1382_ = l_panic___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__2(v___x_1381_);
v___x_1383_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(v_fvarId_1356_, v___x_1382_, v_a_1332_);
lean_dec(v_a_1332_);
return v___x_1383_;
}
else
{
lean_object* v_val_1384_; lean_object* v___x_1385_; 
v_val_1384_ = lean_ctor_get(v_currentFunction_1374_, 0);
lean_inc(v_val_1384_);
lean_dec_ref(v_currentFunction_1374_);
v___x_1385_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___redArg(v_fvarId_1356_, v_val_1384_, v_a_1332_);
lean_dec(v_a_1332_);
return v___x_1385_;
}
}
}
else
{
lean_object* v___x_1386_; lean_object* v___x_1388_; 
lean_dec(v___x_1375_);
lean_dec(v_fvarId_1356_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
v___x_1386_ = lean_box(0);
if (v_isShared_1366_ == 0)
{
lean_ctor_set_tag(v___x_1365_, 0);
lean_ctor_set(v___x_1365_, 0, v___x_1386_);
v___x_1388_ = v___x_1365_;
goto v_reusejp_1387_;
}
else
{
lean_object* v_reuseFailAlloc_1389_; 
v_reuseFailAlloc_1389_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1389_, 0, v___x_1386_);
v___x_1388_ = v_reuseFailAlloc_1389_;
goto v_reusejp_1387_;
}
v_reusejp_1387_:
{
return v___x_1388_;
}
}
}
}
}
}
else
{
lean_object* v___x_1391_; lean_object* v___x_1393_; 
lean_dec(v___x_1362_);
lean_dec(v_fvarId_1356_);
lean_dec(v_fvarId_1355_);
lean_dec(v_fvarId_1351_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
v___x_1391_ = lean_box(0);
if (v_isShared_1354_ == 0)
{
lean_ctor_set_tag(v___x_1353_, 0);
lean_ctor_set(v___x_1353_, 0, v___x_1391_);
v___x_1393_ = v___x_1353_;
goto v_reusejp_1392_;
}
else
{
lean_object* v_reuseFailAlloc_1394_; 
v_reuseFailAlloc_1394_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1394_, 0, v___x_1391_);
v___x_1393_ = v_reuseFailAlloc_1394_;
goto v_reusejp_1392_;
}
v_reusejp_1392_:
{
return v___x_1393_;
}
}
}
v___jp_1395_:
{
if (lean_obj_tag(v___y_1396_) == 0)
{
lean_dec_ref(v___y_1396_);
goto v___jp_1360_;
}
else
{
lean_dec(v_fvarId_1356_);
lean_dec(v_fvarId_1355_);
lean_del_object(v___x_1353_);
lean_dec(v_fvarId_1351_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
return v___y_1396_;
}
}
}
}
else
{
v___y_1341_ = v_a_1331_;
v___y_1342_ = v_a_1332_;
v___y_1343_ = v_a_1333_;
v___y_1344_ = v_a_1334_;
v___y_1345_ = v_a_1335_;
v___y_1346_ = v_a_1336_;
goto v___jp_1340_;
}
}
else
{
v___y_1341_ = v_a_1331_;
v___y_1342_ = v_a_1332_;
v___y_1343_ = v_a_1333_;
v___y_1344_ = v_a_1334_;
v___y_1345_ = v_a_1335_;
v___y_1346_ = v_a_1336_;
goto v___jp_1340_;
}
v___jp_1340_:
{
lean_object* v_value_1347_; lean_object* v___x_1348_; 
v_value_1347_ = lean_ctor_get(v_decl_1338_, 3);
lean_inc(v_value_1347_);
lean_dec_ref(v_decl_1338_);
lean_inc(v___y_1346_);
lean_inc_ref(v___y_1345_);
lean_inc(v___y_1344_);
lean_inc_ref(v___y_1343_);
lean_inc(v___y_1342_);
lean_inc_ref(v___y_1341_);
v___x_1348_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInLetValue(v_value_1347_, v___y_1341_, v___y_1342_, v___y_1343_, v___y_1344_, v___y_1345_, v___y_1346_);
if (lean_obj_tag(v___x_1348_) == 0)
{
lean_dec_ref(v___x_1348_);
v_a_1330_ = v_k_1339_;
v_a_1331_ = v___y_1341_;
v_a_1332_ = v___y_1342_;
v_a_1333_ = v___y_1343_;
v_a_1334_ = v___y_1344_;
v_a_1335_ = v___y_1345_;
v_a_1336_ = v___y_1346_;
goto _start;
}
else
{
lean_dec(v___y_1346_);
lean_dec_ref(v___y_1345_);
lean_dec(v___y_1344_);
lean_dec_ref(v___y_1343_);
lean_dec(v___y_1342_);
lean_dec_ref(v___y_1341_);
lean_dec_ref(v_k_1339_);
return v___x_1348_;
}
}
}
case 1:
{
lean_object* v_decl_1407_; lean_object* v_k_1408_; lean_object* v_fvarId_1409_; lean_object* v_value_1410_; lean_object* v___x_1411_; lean_object* v___x_1412_; 
v_decl_1407_ = lean_ctor_get(v_a_1330_, 0);
lean_inc_ref(v_decl_1407_);
v_k_1408_ = lean_ctor_get(v_a_1330_, 1);
lean_inc_ref(v_k_1408_);
lean_dec_ref(v_a_1330_);
v_fvarId_1409_ = lean_ctor_get(v_decl_1407_, 0);
lean_inc(v_fvarId_1409_);
v_value_1410_ = lean_ctor_get(v_decl_1407_, 4);
lean_inc_ref(v_value_1410_);
v___x_1411_ = l_Lean_Compiler_LCNF_FunDecl_getArity___redArg(v_decl_1407_);
lean_dec_ref(v_decl_1407_);
lean_inc(v_fvarId_1409_);
v___x_1412_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___redArg(v_fvarId_1409_, v___x_1411_, v_a_1332_);
if (lean_obj_tag(v___x_1412_) == 0)
{
lean_object* v___x_1414_; uint8_t v_isShared_1415_; uint8_t v_isSharedCheck_1435_; 
v_isSharedCheck_1435_ = !lean_is_exclusive(v___x_1412_);
if (v_isSharedCheck_1435_ == 0)
{
lean_object* v_unused_1436_; 
v_unused_1436_ = lean_ctor_get(v___x_1412_, 0);
lean_dec(v_unused_1436_);
v___x_1414_ = v___x_1412_;
v_isShared_1415_ = v_isSharedCheck_1435_;
goto v_resetjp_1413_;
}
else
{
lean_dec(v___x_1412_);
v___x_1414_ = lean_box(0);
v_isShared_1415_ = v_isSharedCheck_1435_;
goto v_resetjp_1413_;
}
v_resetjp_1413_:
{
lean_object* v_definitionDepth_1416_; lean_object* v_scope_1417_; lean_object* v_currentFunction_1418_; lean_object* v___x_1420_; uint8_t v_isShared_1421_; uint8_t v_isSharedCheck_1434_; 
v_definitionDepth_1416_ = lean_ctor_get(v_a_1331_, 0);
v_scope_1417_ = lean_ctor_get(v_a_1331_, 1);
v_currentFunction_1418_ = lean_ctor_get(v_a_1331_, 2);
v_isSharedCheck_1434_ = !lean_is_exclusive(v_a_1331_);
if (v_isSharedCheck_1434_ == 0)
{
v___x_1420_ = v_a_1331_;
v_isShared_1421_ = v_isSharedCheck_1434_;
goto v_resetjp_1419_;
}
else
{
lean_inc(v_currentFunction_1418_);
lean_inc(v_scope_1417_);
lean_inc(v_definitionDepth_1416_);
lean_dec(v_a_1331_);
v___x_1420_ = lean_box(0);
v_isShared_1421_ = v_isSharedCheck_1434_;
goto v_resetjp_1419_;
}
v_resetjp_1419_:
{
lean_object* v___x_1422_; lean_object* v___x_1423_; lean_object* v___x_1425_; 
v___x_1422_ = lean_unsigned_to_nat(1u);
v___x_1423_ = lean_nat_add(v_definitionDepth_1416_, v___x_1422_);
lean_inc(v_fvarId_1409_);
if (v_isShared_1415_ == 0)
{
lean_ctor_set_tag(v___x_1414_, 1);
lean_ctor_set(v___x_1414_, 0, v_fvarId_1409_);
v___x_1425_ = v___x_1414_;
goto v_reusejp_1424_;
}
else
{
lean_object* v_reuseFailAlloc_1433_; 
v_reuseFailAlloc_1433_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1433_, 0, v_fvarId_1409_);
v___x_1425_ = v_reuseFailAlloc_1433_;
goto v_reusejp_1424_;
}
v_reusejp_1424_:
{
lean_object* v___x_1427_; 
lean_inc(v_scope_1417_);
if (v_isShared_1421_ == 0)
{
lean_ctor_set(v___x_1420_, 2, v___x_1425_);
lean_ctor_set(v___x_1420_, 0, v___x_1423_);
v___x_1427_ = v___x_1420_;
goto v_reusejp_1426_;
}
else
{
lean_object* v_reuseFailAlloc_1432_; 
v_reuseFailAlloc_1432_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1432_, 0, v___x_1423_);
lean_ctor_set(v_reuseFailAlloc_1432_, 1, v_scope_1417_);
lean_ctor_set(v_reuseFailAlloc_1432_, 2, v___x_1425_);
v___x_1427_ = v_reuseFailAlloc_1432_;
goto v_reusejp_1426_;
}
v_reusejp_1426_:
{
lean_object* v___x_1428_; 
lean_inc(v_a_1336_);
lean_inc_ref(v_a_1335_);
lean_inc(v_a_1334_);
lean_inc_ref(v_a_1333_);
lean_inc(v_a_1332_);
v___x_1428_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go(v_value_1410_, v___x_1427_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
if (lean_obj_tag(v___x_1428_) == 0)
{
lean_object* v___x_1429_; lean_object* v___x_1430_; 
lean_dec_ref(v___x_1428_);
lean_inc(v_definitionDepth_1416_);
v___x_1429_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_1409_, v_definitionDepth_1416_, v_scope_1417_);
v___x_1430_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_1430_, 0, v_definitionDepth_1416_);
lean_ctor_set(v___x_1430_, 1, v___x_1429_);
lean_ctor_set(v___x_1430_, 2, v_currentFunction_1418_);
v_a_1330_ = v_k_1408_;
v_a_1331_ = v___x_1430_;
goto _start;
}
else
{
lean_dec(v_currentFunction_1418_);
lean_dec(v_scope_1417_);
lean_dec(v_definitionDepth_1416_);
lean_dec(v_fvarId_1409_);
lean_dec_ref(v_k_1408_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
return v___x_1428_;
}
}
}
}
}
}
else
{
lean_dec_ref(v_value_1410_);
lean_dec(v_fvarId_1409_);
lean_dec_ref(v_k_1408_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
return v___x_1412_;
}
}
case 2:
{
lean_object* v_decl_1437_; lean_object* v_k_1438_; lean_object* v_value_1439_; lean_object* v___x_1440_; 
v_decl_1437_ = lean_ctor_get(v_a_1330_, 0);
lean_inc_ref(v_decl_1437_);
v_k_1438_ = lean_ctor_get(v_a_1330_, 1);
lean_inc_ref(v_k_1438_);
lean_dec_ref(v_a_1330_);
v_value_1439_ = lean_ctor_get(v_decl_1437_, 4);
lean_inc_ref(v_value_1439_);
lean_dec_ref(v_decl_1437_);
lean_inc(v_a_1336_);
lean_inc_ref(v_a_1335_);
lean_inc(v_a_1334_);
lean_inc_ref(v_a_1333_);
lean_inc(v_a_1332_);
lean_inc_ref(v_a_1331_);
v___x_1440_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go(v_value_1439_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
if (lean_obj_tag(v___x_1440_) == 0)
{
lean_dec_ref(v___x_1440_);
v_a_1330_ = v_k_1438_;
goto _start;
}
else
{
lean_dec_ref(v_k_1438_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
return v___x_1440_;
}
}
case 3:
{
lean_object* v_args_1442_; lean_object* v___x_1443_; lean_object* v___x_1444_; lean_object* v___x_1445_; uint8_t v___x_1446_; 
v_args_1442_ = lean_ctor_get(v_a_1330_, 1);
lean_inc_ref(v_args_1442_);
lean_dec_ref(v_a_1330_);
v___x_1443_ = lean_unsigned_to_nat(0u);
v___x_1444_ = lean_array_get_size(v_args_1442_);
v___x_1445_ = lean_box(0);
v___x_1446_ = lean_nat_dec_lt(v___x_1443_, v___x_1444_);
if (v___x_1446_ == 0)
{
lean_object* v___x_1447_; 
lean_dec_ref(v_args_1442_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
v___x_1447_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1447_, 0, v___x_1445_);
return v___x_1447_;
}
else
{
uint8_t v___x_1448_; 
v___x_1448_ = lean_nat_dec_le(v___x_1444_, v___x_1444_);
if (v___x_1448_ == 0)
{
if (v___x_1446_ == 0)
{
lean_object* v___x_1449_; 
lean_dec_ref(v_args_1442_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
v___x_1449_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1449_, 0, v___x_1445_);
return v___x_1449_;
}
else
{
size_t v___x_1450_; size_t v___x_1451_; lean_object* v___x_1452_; 
v___x_1450_ = ((size_t)0ULL);
v___x_1451_ = lean_usize_of_nat(v___x_1444_);
v___x_1452_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(v_args_1442_, v___x_1450_, v___x_1451_, v___x_1445_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_args_1442_);
return v___x_1452_;
}
}
else
{
size_t v___x_1453_; size_t v___x_1454_; lean_object* v___x_1455_; 
v___x_1453_ = ((size_t)0ULL);
v___x_1454_ = lean_usize_of_nat(v___x_1444_);
v___x_1455_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__3(v_args_1442_, v___x_1453_, v___x_1454_, v___x_1445_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_args_1442_);
return v___x_1455_;
}
}
}
case 4:
{
lean_object* v_cases_1456_; lean_object* v___x_1458_; uint8_t v_isShared_1459_; uint8_t v_isSharedCheck_1478_; 
v_cases_1456_ = lean_ctor_get(v_a_1330_, 0);
v_isSharedCheck_1478_ = !lean_is_exclusive(v_a_1330_);
if (v_isSharedCheck_1478_ == 0)
{
v___x_1458_ = v_a_1330_;
v_isShared_1459_ = v_isSharedCheck_1478_;
goto v_resetjp_1457_;
}
else
{
lean_inc(v_cases_1456_);
lean_dec(v_a_1330_);
v___x_1458_ = lean_box(0);
v_isShared_1459_ = v_isSharedCheck_1478_;
goto v_resetjp_1457_;
}
v_resetjp_1457_:
{
lean_object* v_alts_1460_; lean_object* v___x_1461_; lean_object* v___x_1462_; lean_object* v___x_1463_; uint8_t v___x_1464_; 
v_alts_1460_ = lean_ctor_get(v_cases_1456_, 3);
lean_inc_ref(v_alts_1460_);
lean_dec_ref(v_cases_1456_);
v___x_1461_ = lean_unsigned_to_nat(0u);
v___x_1462_ = lean_array_get_size(v_alts_1460_);
v___x_1463_ = lean_box(0);
v___x_1464_ = lean_nat_dec_lt(v___x_1461_, v___x_1462_);
if (v___x_1464_ == 0)
{
lean_object* v___x_1466_; 
lean_dec_ref(v_alts_1460_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
if (v_isShared_1459_ == 0)
{
lean_ctor_set_tag(v___x_1458_, 0);
lean_ctor_set(v___x_1458_, 0, v___x_1463_);
v___x_1466_ = v___x_1458_;
goto v_reusejp_1465_;
}
else
{
lean_object* v_reuseFailAlloc_1467_; 
v_reuseFailAlloc_1467_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1467_, 0, v___x_1463_);
v___x_1466_ = v_reuseFailAlloc_1467_;
goto v_reusejp_1465_;
}
v_reusejp_1465_:
{
return v___x_1466_;
}
}
else
{
uint8_t v___x_1468_; 
v___x_1468_ = lean_nat_dec_le(v___x_1462_, v___x_1462_);
if (v___x_1468_ == 0)
{
if (v___x_1464_ == 0)
{
lean_object* v___x_1470_; 
lean_dec_ref(v_alts_1460_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
if (v_isShared_1459_ == 0)
{
lean_ctor_set_tag(v___x_1458_, 0);
lean_ctor_set(v___x_1458_, 0, v___x_1463_);
v___x_1470_ = v___x_1458_;
goto v_reusejp_1469_;
}
else
{
lean_object* v_reuseFailAlloc_1471_; 
v_reuseFailAlloc_1471_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1471_, 0, v___x_1463_);
v___x_1470_ = v_reuseFailAlloc_1471_;
goto v_reusejp_1469_;
}
v_reusejp_1469_:
{
return v___x_1470_;
}
}
else
{
size_t v___x_1472_; size_t v___x_1473_; lean_object* v___x_1474_; 
lean_del_object(v___x_1458_);
v___x_1472_ = ((size_t)0ULL);
v___x_1473_ = lean_usize_of_nat(v___x_1462_);
v___x_1474_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4(v_alts_1460_, v___x_1472_, v___x_1473_, v___x_1463_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_alts_1460_);
return v___x_1474_;
}
}
else
{
size_t v___x_1475_; size_t v___x_1476_; lean_object* v___x_1477_; 
lean_del_object(v___x_1458_);
v___x_1475_ = ((size_t)0ULL);
v___x_1476_ = lean_usize_of_nat(v___x_1462_);
v___x_1477_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4(v_alts_1460_, v___x_1475_, v___x_1476_, v___x_1463_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec_ref(v_alts_1460_);
return v___x_1477_;
}
}
}
}
case 5:
{
lean_object* v_fvarId_1479_; lean_object* v___x_1480_; 
v_fvarId_1479_ = lean_ctor_get(v_a_1330_, 0);
lean_inc(v_fvarId_1479_);
lean_dec_ref(v_a_1330_);
v___x_1480_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate(v_fvarId_1479_, v_a_1331_, v_a_1332_, v_a_1333_, v_a_1334_, v_a_1335_, v_a_1336_);
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
lean_dec(v_fvarId_1479_);
return v___x_1480_;
}
default: 
{
lean_object* v___x_1482_; uint8_t v_isShared_1483_; uint8_t v_isSharedCheck_1488_; 
lean_dec(v_a_1336_);
lean_dec_ref(v_a_1335_);
lean_dec(v_a_1334_);
lean_dec_ref(v_a_1333_);
lean_dec(v_a_1332_);
lean_dec_ref(v_a_1331_);
v_isSharedCheck_1488_ = !lean_is_exclusive(v_a_1330_);
if (v_isSharedCheck_1488_ == 0)
{
lean_object* v_unused_1489_; 
v_unused_1489_ = lean_ctor_get(v_a_1330_, 0);
lean_dec(v_unused_1489_);
v___x_1482_ = v_a_1330_;
v_isShared_1483_ = v_isSharedCheck_1488_;
goto v_resetjp_1481_;
}
else
{
lean_dec(v_a_1330_);
v___x_1482_ = lean_box(0);
v_isShared_1483_ = v_isSharedCheck_1488_;
goto v_resetjp_1481_;
}
v_resetjp_1481_:
{
lean_object* v___x_1484_; lean_object* v___x_1486_; 
v___x_1484_ = lean_box(0);
if (v_isShared_1483_ == 0)
{
lean_ctor_set_tag(v___x_1482_, 0);
lean_ctor_set(v___x_1482_, 0, v___x_1484_);
v___x_1486_ = v___x_1482_;
goto v_reusejp_1485_;
}
else
{
lean_object* v_reuseFailAlloc_1487_; 
v_reuseFailAlloc_1487_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1487_, 0, v___x_1484_);
v___x_1486_ = v_reuseFailAlloc_1487_;
goto v_reusejp_1485_;
}
v_reusejp_1485_:
{
return v___x_1486_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___boxed(lean_object* v_a_1490_, lean_object* v_a_1491_, lean_object* v_a_1492_, lean_object* v_a_1493_, lean_object* v_a_1494_, lean_object* v_a_1495_, lean_object* v_a_1496_, lean_object* v_a_1497_){
_start:
{
lean_object* v_res_1498_; 
v_res_1498_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go(v_a_1490_, v_a_1491_, v_a_1492_, v_a_1493_, v_a_1494_, v_a_1495_, v_a_1496_);
return v_res_1498_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4(lean_object* v_as_1499_, size_t v_i_1500_, size_t v_stop_1501_, lean_object* v_b_1502_, lean_object* v___y_1503_, lean_object* v___y_1504_, lean_object* v___y_1505_, lean_object* v___y_1506_, lean_object* v___y_1507_, lean_object* v___y_1508_){
_start:
{
uint8_t v___x_1510_; 
v___x_1510_ = lean_usize_dec_eq(v_i_1500_, v_stop_1501_);
if (v___x_1510_ == 0)
{
lean_object* v___x_1511_; lean_object* v___x_1512_; lean_object* v___x_1513_; 
v___x_1511_ = lean_array_uget_borrowed(v_as_1499_, v_i_1500_);
v___x_1512_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go___boxed), 8, 0);
lean_inc(v___y_1508_);
lean_inc_ref(v___y_1507_);
lean_inc(v___y_1506_);
lean_inc_ref(v___y_1505_);
lean_inc(v___y_1504_);
lean_inc_ref(v___y_1503_);
lean_inc(v___x_1511_);
v___x_1513_ = l_Lean_Compiler_LCNF_Alt_forCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__0___redArg(v___x_1511_, v___x_1512_, v___y_1503_, v___y_1504_, v___y_1505_, v___y_1506_, v___y_1507_, v___y_1508_);
if (lean_obj_tag(v___x_1513_) == 0)
{
lean_object* v_a_1514_; size_t v___x_1515_; size_t v___x_1516_; 
v_a_1514_ = lean_ctor_get(v___x_1513_, 0);
lean_inc(v_a_1514_);
lean_dec_ref(v___x_1513_);
v___x_1515_ = ((size_t)1ULL);
v___x_1516_ = lean_usize_add(v_i_1500_, v___x_1515_);
v_i_1500_ = v___x_1516_;
v_b_1502_ = v_a_1514_;
goto _start;
}
else
{
lean_dec(v___y_1508_);
lean_dec_ref(v___y_1507_);
lean_dec(v___y_1506_);
lean_dec_ref(v___y_1505_);
lean_dec(v___y_1504_);
lean_dec_ref(v___y_1503_);
return v___x_1513_;
}
}
else
{
lean_object* v___x_1518_; 
lean_dec(v___y_1508_);
lean_dec_ref(v___y_1507_);
lean_dec(v___y_1506_);
lean_dec_ref(v___y_1505_);
lean_dec(v___y_1504_);
lean_dec_ref(v___y_1503_);
v___x_1518_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1518_, 0, v_b_1502_);
return v___x_1518_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4___boxed(lean_object* v_as_1519_, lean_object* v_i_1520_, lean_object* v_stop_1521_, lean_object* v_b_1522_, lean_object* v___y_1523_, lean_object* v___y_1524_, lean_object* v___y_1525_, lean_object* v___y_1526_, lean_object* v___y_1527_, lean_object* v___y_1528_, lean_object* v___y_1529_){
_start:
{
size_t v_i_boxed_1530_; size_t v_stop_boxed_1531_; lean_object* v_res_1532_; 
v_i_boxed_1530_ = lean_unbox_usize(v_i_1520_);
lean_dec(v_i_1520_);
v_stop_boxed_1531_ = lean_unbox_usize(v_stop_1521_);
lean_dec(v_stop_1521_);
v_res_1532_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__4(v_as_1519_, v_i_boxed_1530_, v_stop_boxed_1531_, v_b_1522_, v___y_1523_, v___y_1524_, v___y_1525_, v___y_1526_, v___y_1527_, v___y_1528_);
lean_dec_ref(v_as_1519_);
return v_res_1532_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1_spec__1___redArg(lean_object* v_inst_1533_, lean_object* v_msg_1534_){
_start:
{
lean_object* v___x_1535_; 
v___x_1535_ = lean_panic_fn(v_inst_1533_, v_msg_1534_);
return v___x_1535_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1_spec__1(lean_object* v_00_u03b4_1536_, lean_object* v_inst_1537_, lean_object* v_msg_1538_){
_start:
{
lean_object* v___x_1539_; 
v___x_1539_ = lean_panic_fn(v_inst_1537_, v_msg_1538_);
return v___x_1539_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1(lean_object* v_00_u03b4_1540_, lean_object* v_inst_1541_, lean_object* v_t_1542_, lean_object* v_k_1543_){
_start:
{
lean_object* v___x_1544_; 
v___x_1544_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(v_inst_1541_, v_t_1542_, v_k_1543_);
return v___x_1544_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___boxed(lean_object* v_00_u03b4_1545_, lean_object* v_inst_1546_, lean_object* v_t_1547_, lean_object* v_k_1548_){
_start:
{
lean_object* v_res_1549_; 
v_res_1549_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1(v_00_u03b4_1545_, v_inst_1546_, v_t_1547_, v_k_1548_);
lean_dec(v_k_1548_);
lean_dec(v_t_1547_);
return v_res_1549_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg(lean_object* v_f_1550_, lean_object* v_v_1551_, lean_object* v___y_1552_, lean_object* v___y_1553_, lean_object* v___y_1554_, lean_object* v___y_1555_, lean_object* v___y_1556_, lean_object* v___y_1557_){
_start:
{
if (lean_obj_tag(v_v_1551_) == 0)
{
lean_object* v_code_1559_; lean_object* v___x_1560_; 
v_code_1559_ = lean_ctor_get(v_v_1551_, 0);
lean_inc_ref(v_code_1559_);
lean_dec_ref(v_v_1551_);
v___x_1560_ = lean_apply_8(v_f_1550_, v_code_1559_, v___y_1552_, v___y_1553_, v___y_1554_, v___y_1555_, v___y_1556_, v___y_1557_, lean_box(0));
return v___x_1560_;
}
else
{
lean_object* v___x_1562_; uint8_t v_isShared_1563_; uint8_t v_isSharedCheck_1568_; 
lean_dec(v___y_1557_);
lean_dec_ref(v___y_1556_);
lean_dec(v___y_1555_);
lean_dec_ref(v___y_1554_);
lean_dec(v___y_1553_);
lean_dec_ref(v___y_1552_);
lean_dec_ref(v_f_1550_);
v_isSharedCheck_1568_ = !lean_is_exclusive(v_v_1551_);
if (v_isSharedCheck_1568_ == 0)
{
lean_object* v_unused_1569_; 
v_unused_1569_ = lean_ctor_get(v_v_1551_, 0);
lean_dec(v_unused_1569_);
v___x_1562_ = v_v_1551_;
v_isShared_1563_ = v_isSharedCheck_1568_;
goto v_resetjp_1561_;
}
else
{
lean_dec(v_v_1551_);
v___x_1562_ = lean_box(0);
v_isShared_1563_ = v_isSharedCheck_1568_;
goto v_resetjp_1561_;
}
v_resetjp_1561_:
{
lean_object* v___x_1564_; lean_object* v___x_1566_; 
v___x_1564_ = lean_box(0);
if (v_isShared_1563_ == 0)
{
lean_ctor_set_tag(v___x_1562_, 0);
lean_ctor_set(v___x_1562_, 0, v___x_1564_);
v___x_1566_ = v___x_1562_;
goto v_reusejp_1565_;
}
else
{
lean_object* v_reuseFailAlloc_1567_; 
v_reuseFailAlloc_1567_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1567_, 0, v___x_1564_);
v___x_1566_ = v_reuseFailAlloc_1567_;
goto v_reusejp_1565_;
}
v_reusejp_1565_:
{
return v___x_1566_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg___boxed(lean_object* v_f_1570_, lean_object* v_v_1571_, lean_object* v___y_1572_, lean_object* v___y_1573_, lean_object* v___y_1574_, lean_object* v___y_1575_, lean_object* v___y_1576_, lean_object* v___y_1577_, lean_object* v___y_1578_){
_start:
{
lean_object* v_res_1579_; 
v_res_1579_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg(v_f_1570_, v_v_1571_, v___y_1572_, v___y_1573_, v___y_1574_, v___y_1575_, v___y_1576_, v___y_1577_);
return v_res_1579_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0(uint8_t v_pu_1580_, lean_object* v_f_1581_, lean_object* v_v_1582_, lean_object* v___y_1583_, lean_object* v___y_1584_, lean_object* v___y_1585_, lean_object* v___y_1586_, lean_object* v___y_1587_, lean_object* v___y_1588_){
_start:
{
lean_object* v___x_1590_; 
v___x_1590_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg(v_f_1581_, v_v_1582_, v___y_1583_, v___y_1584_, v___y_1585_, v___y_1586_, v___y_1587_, v___y_1588_);
return v___x_1590_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___boxed(lean_object* v_pu_1591_, lean_object* v_f_1592_, lean_object* v_v_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_, lean_object* v___y_1599_, lean_object* v___y_1600_){
_start:
{
uint8_t v_pu_boxed_1601_; lean_object* v_res_1602_; 
v_pu_boxed_1601_ = lean_unbox(v_pu_1591_);
v_res_1602_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0(v_pu_boxed_1601_, v_f_1592_, v_v_1593_, v___y_1594_, v___y_1595_, v___y_1596_, v___y_1597_, v___y_1598_, v___y_1599_);
return v_res_1602_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find(lean_object* v_decl_1608_, lean_object* v_a_1609_, lean_object* v_a_1610_, lean_object* v_a_1611_, lean_object* v_a_1612_){
_start:
{
lean_object* v___x_1614_; lean_object* v___x_1615_; lean_object* v_value_1616_; lean_object* v___x_1617_; lean_object* v___x_1618_; lean_object* v___x_1619_; 
v___x_1614_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_1615_ = lean_st_mk_ref(v___x_1614_);
v_value_1616_ = lean_ctor_get(v_decl_1608_, 1);
lean_inc_ref(v_value_1616_);
lean_dec_ref(v_decl_1608_);
v___x_1617_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__0));
v___x_1618_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__1));
lean_inc(v___x_1615_);
v___x_1619_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_find_spec__0___redArg(v___x_1617_, v_value_1616_, v___x_1618_, v___x_1615_, v_a_1609_, v_a_1610_, v_a_1611_, v_a_1612_);
if (lean_obj_tag(v___x_1619_) == 0)
{
lean_object* v___x_1621_; uint8_t v_isShared_1622_; uint8_t v_isSharedCheck_1627_; 
v_isSharedCheck_1627_ = !lean_is_exclusive(v___x_1619_);
if (v_isSharedCheck_1627_ == 0)
{
lean_object* v_unused_1628_; 
v_unused_1628_ = lean_ctor_get(v___x_1619_, 0);
lean_dec(v_unused_1628_);
v___x_1621_ = v___x_1619_;
v_isShared_1622_ = v_isSharedCheck_1627_;
goto v_resetjp_1620_;
}
else
{
lean_dec(v___x_1619_);
v___x_1621_ = lean_box(0);
v_isShared_1622_ = v_isSharedCheck_1627_;
goto v_resetjp_1620_;
}
v_resetjp_1620_:
{
lean_object* v___x_1623_; lean_object* v___x_1625_; 
v___x_1623_ = lean_st_ref_get(v___x_1615_);
lean_dec(v___x_1615_);
if (v_isShared_1622_ == 0)
{
lean_ctor_set(v___x_1621_, 0, v___x_1623_);
v___x_1625_ = v___x_1621_;
goto v_reusejp_1624_;
}
else
{
lean_object* v_reuseFailAlloc_1626_; 
v_reuseFailAlloc_1626_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1626_, 0, v___x_1623_);
v___x_1625_ = v_reuseFailAlloc_1626_;
goto v_reusejp_1624_;
}
v_reusejp_1624_:
{
return v___x_1625_;
}
}
}
else
{
lean_object* v_a_1629_; lean_object* v___x_1631_; uint8_t v_isShared_1632_; uint8_t v_isSharedCheck_1636_; 
lean_dec(v___x_1615_);
v_a_1629_ = lean_ctor_get(v___x_1619_, 0);
v_isSharedCheck_1636_ = !lean_is_exclusive(v___x_1619_);
if (v_isSharedCheck_1636_ == 0)
{
v___x_1631_ = v___x_1619_;
v_isShared_1632_ = v_isSharedCheck_1636_;
goto v_resetjp_1630_;
}
else
{
lean_inc(v_a_1629_);
lean_dec(v___x_1619_);
v___x_1631_ = lean_box(0);
v_isShared_1632_ = v_isSharedCheck_1636_;
goto v_resetjp_1630_;
}
v_resetjp_1630_:
{
lean_object* v___x_1634_; 
if (v_isShared_1632_ == 0)
{
v___x_1634_ = v___x_1631_;
goto v_reusejp_1633_;
}
else
{
lean_object* v_reuseFailAlloc_1635_; 
v_reuseFailAlloc_1635_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1635_, 0, v_a_1629_);
v___x_1634_ = v_reuseFailAlloc_1635_;
goto v_reusejp_1633_;
}
v_reusejp_1633_:
{
return v___x_1634_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find___boxed(lean_object* v_decl_1637_, lean_object* v_a_1638_, lean_object* v_a_1639_, lean_object* v_a_1640_, lean_object* v_a_1641_, lean_object* v_a_1642_){
_start:
{
lean_object* v_res_1643_; 
v_res_1643_ = l_Lean_Compiler_LCNF_JoinPointFinder_find(v_decl_1637_, v_a_1638_, v_a_1639_, v_a_1640_, v_a_1641_);
return v_res_1643_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg(lean_object* v_alt_1644_, lean_object* v_f_1645_, lean_object* v___y_1646_, lean_object* v___y_1647_, lean_object* v___y_1648_, lean_object* v___y_1649_, lean_object* v___y_1650_){
_start:
{
lean_object* v___y_1653_; 
switch(lean_obj_tag(v_alt_1644_))
{
case 0:
{
lean_object* v_code_1672_; 
v_code_1672_ = lean_ctor_get(v_alt_1644_, 2);
lean_inc_ref(v_code_1672_);
v___y_1653_ = v_code_1672_;
goto v___jp_1652_;
}
case 1:
{
lean_object* v_code_1673_; 
v_code_1673_ = lean_ctor_get(v_alt_1644_, 1);
lean_inc_ref(v_code_1673_);
v___y_1653_ = v_code_1673_;
goto v___jp_1652_;
}
default: 
{
lean_object* v_code_1674_; 
v_code_1674_ = lean_ctor_get(v_alt_1644_, 0);
lean_inc_ref(v_code_1674_);
v___y_1653_ = v_code_1674_;
goto v___jp_1652_;
}
}
v___jp_1652_:
{
lean_object* v___x_1654_; 
v___x_1654_ = lean_apply_7(v_f_1645_, v___y_1653_, v___y_1646_, v___y_1647_, v___y_1648_, v___y_1649_, v___y_1650_, lean_box(0));
if (lean_obj_tag(v___x_1654_) == 0)
{
lean_object* v_a_1655_; lean_object* v___x_1657_; uint8_t v_isShared_1658_; uint8_t v_isSharedCheck_1663_; 
v_a_1655_ = lean_ctor_get(v___x_1654_, 0);
v_isSharedCheck_1663_ = !lean_is_exclusive(v___x_1654_);
if (v_isSharedCheck_1663_ == 0)
{
v___x_1657_ = v___x_1654_;
v_isShared_1658_ = v_isSharedCheck_1663_;
goto v_resetjp_1656_;
}
else
{
lean_inc(v_a_1655_);
lean_dec(v___x_1654_);
v___x_1657_ = lean_box(0);
v_isShared_1658_ = v_isSharedCheck_1663_;
goto v_resetjp_1656_;
}
v_resetjp_1656_:
{
lean_object* v___x_1659_; lean_object* v___x_1661_; 
v___x_1659_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_alt_1644_, v_a_1655_);
if (v_isShared_1658_ == 0)
{
lean_ctor_set(v___x_1657_, 0, v___x_1659_);
v___x_1661_ = v___x_1657_;
goto v_reusejp_1660_;
}
else
{
lean_object* v_reuseFailAlloc_1662_; 
v_reuseFailAlloc_1662_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1662_, 0, v___x_1659_);
v___x_1661_ = v_reuseFailAlloc_1662_;
goto v_reusejp_1660_;
}
v_reusejp_1660_:
{
return v___x_1661_;
}
}
}
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_alt_1644_);
v_a_1664_ = lean_ctor_get(v___x_1654_, 0);
v_isSharedCheck_1671_ = !lean_is_exclusive(v___x_1654_);
if (v_isSharedCheck_1671_ == 0)
{
v___x_1666_ = v___x_1654_;
v_isShared_1667_ = v_isSharedCheck_1671_;
goto v_resetjp_1665_;
}
else
{
lean_inc(v_a_1664_);
lean_dec(v___x_1654_);
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_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg___boxed(lean_object* v_alt_1675_, lean_object* v_f_1676_, lean_object* v___y_1677_, lean_object* v___y_1678_, lean_object* v___y_1679_, lean_object* v___y_1680_, lean_object* v___y_1681_, lean_object* v___y_1682_){
_start:
{
lean_object* v_res_1683_; 
v_res_1683_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg(v_alt_1675_, v_f_1676_, v___y_1677_, v___y_1678_, v___y_1679_, v___y_1680_, v___y_1681_);
return v_res_1683_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1(uint8_t v_pu_1684_, lean_object* v_alt_1685_, lean_object* v_f_1686_, lean_object* v___y_1687_, lean_object* v___y_1688_, lean_object* v___y_1689_, lean_object* v___y_1690_, lean_object* v___y_1691_){
_start:
{
lean_object* v___x_1693_; 
v___x_1693_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg(v_alt_1685_, v_f_1686_, v___y_1687_, v___y_1688_, v___y_1689_, v___y_1690_, v___y_1691_);
return v___x_1693_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___boxed(lean_object* v_pu_1694_, lean_object* v_alt_1695_, lean_object* v_f_1696_, lean_object* v___y_1697_, lean_object* v___y_1698_, lean_object* v___y_1699_, lean_object* v___y_1700_, lean_object* v___y_1701_, lean_object* v___y_1702_){
_start:
{
uint8_t v_pu_boxed_1703_; lean_object* v_res_1704_; 
v_pu_boxed_1703_ = lean_unbox(v_pu_1694_);
v_res_1704_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1(v_pu_boxed_1703_, v_alt_1695_, v_f_1696_, v___y_1697_, v___y_1698_, v___y_1699_, v___y_1700_, v___y_1701_);
return v_res_1704_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(lean_object* v_m_1705_, lean_object* v_a_1706_){
_start:
{
lean_object* v_buckets_1707_; lean_object* v___x_1708_; uint64_t v___x_1709_; uint64_t v___x_1710_; uint64_t v___x_1711_; uint64_t v_fold_1712_; uint64_t v___x_1713_; uint64_t v___x_1714_; uint64_t v___x_1715_; size_t v___x_1716_; size_t v___x_1717_; size_t v___x_1718_; size_t v___x_1719_; size_t v___x_1720_; lean_object* v___x_1721_; uint8_t v___x_1722_; 
v_buckets_1707_ = lean_ctor_get(v_m_1705_, 1);
v___x_1708_ = lean_array_get_size(v_buckets_1707_);
v___x_1709_ = l_Lean_instHashableFVarId_hash(v_a_1706_);
v___x_1710_ = 32ULL;
v___x_1711_ = lean_uint64_shift_right(v___x_1709_, v___x_1710_);
v_fold_1712_ = lean_uint64_xor(v___x_1709_, v___x_1711_);
v___x_1713_ = 16ULL;
v___x_1714_ = lean_uint64_shift_right(v_fold_1712_, v___x_1713_);
v___x_1715_ = lean_uint64_xor(v_fold_1712_, v___x_1714_);
v___x_1716_ = lean_uint64_to_usize(v___x_1715_);
v___x_1717_ = lean_usize_of_nat(v___x_1708_);
v___x_1718_ = ((size_t)1ULL);
v___x_1719_ = lean_usize_sub(v___x_1717_, v___x_1718_);
v___x_1720_ = lean_usize_land(v___x_1716_, v___x_1719_);
v___x_1721_ = lean_array_uget_borrowed(v_buckets_1707_, v___x_1720_);
v___x_1722_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2_spec__3___redArg(v_a_1706_, v___x_1721_);
return v___x_1722_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg___boxed(lean_object* v_m_1723_, lean_object* v_a_1724_){
_start:
{
uint8_t v_res_1725_; lean_object* v_r_1726_; 
v_res_1725_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v_m_1723_, v_a_1724_);
lean_dec(v_a_1724_);
lean_dec_ref(v_m_1723_);
v_r_1726_ = lean_box(v_res_1725_);
return v_r_1726_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(lean_object* v_code_1727_, lean_object* v_a_1728_, lean_object* v_a_1729_, lean_object* v_a_1730_, lean_object* v_a_1731_, lean_object* v_a_1732_){
_start:
{
switch(lean_obj_tag(v_code_1727_))
{
case 0:
{
lean_object* v_decl_1734_; lean_object* v_k_1735_; lean_object* v___y_1737_; uint8_t v___y_1738_; lean_object* v___y_1751_; lean_object* v___y_1752_; lean_object* v___y_1753_; lean_object* v___y_1754_; lean_object* v___y_1755_; 
v_decl_1734_ = lean_ctor_get(v_code_1727_, 0);
v_k_1735_ = lean_ctor_get(v_code_1727_, 1);
lean_inc_ref(v_k_1735_);
if (lean_obj_tag(v_k_1735_) == 5)
{
lean_object* v_value_1763_; 
v_value_1763_ = lean_ctor_get(v_decl_1734_, 3);
if (lean_obj_tag(v_value_1763_) == 4)
{
lean_object* v_fvarId_1764_; lean_object* v___x_1766_; uint8_t v_isShared_1767_; uint8_t v_isSharedCheck_1806_; 
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec_ref(v_a_1729_);
v_fvarId_1764_ = lean_ctor_get(v_k_1735_, 0);
v_isSharedCheck_1806_ = !lean_is_exclusive(v_k_1735_);
if (v_isSharedCheck_1806_ == 0)
{
v___x_1766_ = v_k_1735_;
v_isShared_1767_ = v_isSharedCheck_1806_;
goto v_resetjp_1765_;
}
else
{
lean_inc(v_fvarId_1764_);
lean_dec(v_k_1735_);
v___x_1766_ = lean_box(0);
v_isShared_1767_ = v_isSharedCheck_1806_;
goto v_resetjp_1765_;
}
v_resetjp_1765_:
{
lean_object* v_fvarId_1768_; lean_object* v_fvarId_1769_; lean_object* v_args_1770_; uint8_t v___x_1771_; 
v_fvarId_1768_ = lean_ctor_get(v_decl_1734_, 0);
v_fvarId_1769_ = lean_ctor_get(v_value_1763_, 0);
v_args_1770_ = lean_ctor_get(v_value_1763_, 1);
v___x_1771_ = l_Lean_instBEqFVarId_beq(v_fvarId_1764_, v_fvarId_1768_);
lean_dec(v_fvarId_1764_);
if (v___x_1771_ == 0)
{
lean_object* v___x_1773_; 
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1728_);
if (v_isShared_1767_ == 0)
{
lean_ctor_set_tag(v___x_1766_, 0);
lean_ctor_set(v___x_1766_, 0, v_code_1727_);
v___x_1773_ = v___x_1766_;
goto v_reusejp_1772_;
}
else
{
lean_object* v_reuseFailAlloc_1774_; 
v_reuseFailAlloc_1774_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1774_, 0, v_code_1727_);
v___x_1773_ = v_reuseFailAlloc_1774_;
goto v_reusejp_1772_;
}
v_reusejp_1772_:
{
return v___x_1773_;
}
}
else
{
uint8_t v___x_1775_; 
v___x_1775_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v_a_1728_, v_fvarId_1769_);
lean_dec_ref(v_a_1728_);
if (v___x_1775_ == 0)
{
lean_object* v___x_1777_; 
lean_dec(v_a_1730_);
if (v_isShared_1767_ == 0)
{
lean_ctor_set_tag(v___x_1766_, 0);
lean_ctor_set(v___x_1766_, 0, v_code_1727_);
v___x_1777_ = v___x_1766_;
goto v_reusejp_1776_;
}
else
{
lean_object* v_reuseFailAlloc_1778_; 
v_reuseFailAlloc_1778_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1778_, 0, v_code_1727_);
v___x_1777_ = v_reuseFailAlloc_1778_;
goto v_reusejp_1776_;
}
v_reusejp_1776_:
{
return v___x_1777_;
}
}
else
{
lean_object* v___x_1780_; uint8_t v_isShared_1781_; uint8_t v_isSharedCheck_1803_; 
lean_inc_ref(v_args_1770_);
lean_inc(v_fvarId_1769_);
lean_inc_ref(v_decl_1734_);
lean_del_object(v___x_1766_);
v_isSharedCheck_1803_ = !lean_is_exclusive(v_code_1727_);
if (v_isSharedCheck_1803_ == 0)
{
lean_object* v_unused_1804_; lean_object* v_unused_1805_; 
v_unused_1804_ = lean_ctor_get(v_code_1727_, 1);
lean_dec(v_unused_1804_);
v_unused_1805_ = lean_ctor_get(v_code_1727_, 0);
lean_dec(v_unused_1805_);
v___x_1780_ = v_code_1727_;
v_isShared_1781_ = v_isSharedCheck_1803_;
goto v_resetjp_1779_;
}
else
{
lean_dec(v_code_1727_);
v___x_1780_ = lean_box(0);
v_isShared_1781_ = v_isSharedCheck_1803_;
goto v_resetjp_1779_;
}
v_resetjp_1779_:
{
uint8_t v___x_1782_; lean_object* v___x_1783_; 
v___x_1782_ = 0;
v___x_1783_ = l_Lean_Compiler_LCNF_eraseLetDecl___redArg(v___x_1782_, v_decl_1734_, v_a_1730_);
lean_dec(v_a_1730_);
lean_dec_ref(v_decl_1734_);
if (lean_obj_tag(v___x_1783_) == 0)
{
lean_object* v___x_1785_; uint8_t v_isShared_1786_; uint8_t v_isSharedCheck_1793_; 
v_isSharedCheck_1793_ = !lean_is_exclusive(v___x_1783_);
if (v_isSharedCheck_1793_ == 0)
{
lean_object* v_unused_1794_; 
v_unused_1794_ = lean_ctor_get(v___x_1783_, 0);
lean_dec(v_unused_1794_);
v___x_1785_ = v___x_1783_;
v_isShared_1786_ = v_isSharedCheck_1793_;
goto v_resetjp_1784_;
}
else
{
lean_dec(v___x_1783_);
v___x_1785_ = lean_box(0);
v_isShared_1786_ = v_isSharedCheck_1793_;
goto v_resetjp_1784_;
}
v_resetjp_1784_:
{
lean_object* v___x_1788_; 
if (v_isShared_1781_ == 0)
{
lean_ctor_set_tag(v___x_1780_, 3);
lean_ctor_set(v___x_1780_, 1, v_args_1770_);
lean_ctor_set(v___x_1780_, 0, v_fvarId_1769_);
v___x_1788_ = v___x_1780_;
goto v_reusejp_1787_;
}
else
{
lean_object* v_reuseFailAlloc_1792_; 
v_reuseFailAlloc_1792_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1792_, 0, v_fvarId_1769_);
lean_ctor_set(v_reuseFailAlloc_1792_, 1, v_args_1770_);
v___x_1788_ = v_reuseFailAlloc_1792_;
goto v_reusejp_1787_;
}
v_reusejp_1787_:
{
lean_object* v___x_1790_; 
if (v_isShared_1786_ == 0)
{
lean_ctor_set(v___x_1785_, 0, v___x_1788_);
v___x_1790_ = v___x_1785_;
goto v_reusejp_1789_;
}
else
{
lean_object* v_reuseFailAlloc_1791_; 
v_reuseFailAlloc_1791_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1791_, 0, v___x_1788_);
v___x_1790_ = v_reuseFailAlloc_1791_;
goto v_reusejp_1789_;
}
v_reusejp_1789_:
{
return v___x_1790_;
}
}
}
}
else
{
lean_object* v_a_1795_; lean_object* v___x_1797_; uint8_t v_isShared_1798_; uint8_t v_isSharedCheck_1802_; 
lean_del_object(v___x_1780_);
lean_dec_ref(v_args_1770_);
lean_dec(v_fvarId_1769_);
v_a_1795_ = lean_ctor_get(v___x_1783_, 0);
v_isSharedCheck_1802_ = !lean_is_exclusive(v___x_1783_);
if (v_isSharedCheck_1802_ == 0)
{
v___x_1797_ = v___x_1783_;
v_isShared_1798_ = v_isSharedCheck_1802_;
goto v_resetjp_1796_;
}
else
{
lean_inc(v_a_1795_);
lean_dec(v___x_1783_);
v___x_1797_ = lean_box(0);
v_isShared_1798_ = v_isSharedCheck_1802_;
goto v_resetjp_1796_;
}
v_resetjp_1796_:
{
lean_object* v___x_1800_; 
if (v_isShared_1798_ == 0)
{
v___x_1800_ = v___x_1797_;
goto v_reusejp_1799_;
}
else
{
lean_object* v_reuseFailAlloc_1801_; 
v_reuseFailAlloc_1801_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1801_, 0, v_a_1795_);
v___x_1800_ = v_reuseFailAlloc_1801_;
goto v_reusejp_1799_;
}
v_reusejp_1799_:
{
return v___x_1800_;
}
}
}
}
}
}
}
}
else
{
v___y_1751_ = v_a_1728_;
v___y_1752_ = v_a_1729_;
v___y_1753_ = v_a_1730_;
v___y_1754_ = v_a_1731_;
v___y_1755_ = v_a_1732_;
goto v___jp_1750_;
}
}
else
{
v___y_1751_ = v_a_1728_;
v___y_1752_ = v_a_1729_;
v___y_1753_ = v_a_1730_;
v___y_1754_ = v_a_1731_;
v___y_1755_ = v_a_1732_;
goto v___jp_1750_;
}
v___jp_1736_:
{
if (v___y_1738_ == 0)
{
lean_object* v___x_1740_; uint8_t v_isShared_1741_; uint8_t v_isSharedCheck_1746_; 
lean_inc_ref(v_decl_1734_);
v_isSharedCheck_1746_ = !lean_is_exclusive(v_code_1727_);
if (v_isSharedCheck_1746_ == 0)
{
lean_object* v_unused_1747_; lean_object* v_unused_1748_; 
v_unused_1747_ = lean_ctor_get(v_code_1727_, 1);
lean_dec(v_unused_1747_);
v_unused_1748_ = lean_ctor_get(v_code_1727_, 0);
lean_dec(v_unused_1748_);
v___x_1740_ = v_code_1727_;
v_isShared_1741_ = v_isSharedCheck_1746_;
goto v_resetjp_1739_;
}
else
{
lean_dec(v_code_1727_);
v___x_1740_ = lean_box(0);
v_isShared_1741_ = v_isSharedCheck_1746_;
goto v_resetjp_1739_;
}
v_resetjp_1739_:
{
lean_object* v___x_1743_; 
if (v_isShared_1741_ == 0)
{
lean_ctor_set(v___x_1740_, 1, v___y_1737_);
v___x_1743_ = v___x_1740_;
goto v_reusejp_1742_;
}
else
{
lean_object* v_reuseFailAlloc_1745_; 
v_reuseFailAlloc_1745_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1745_, 0, v_decl_1734_);
lean_ctor_set(v_reuseFailAlloc_1745_, 1, v___y_1737_);
v___x_1743_ = v_reuseFailAlloc_1745_;
goto v_reusejp_1742_;
}
v_reusejp_1742_:
{
lean_object* v___x_1744_; 
v___x_1744_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1744_, 0, v___x_1743_);
return v___x_1744_;
}
}
}
else
{
lean_object* v___x_1749_; 
lean_dec_ref(v___y_1737_);
v___x_1749_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1749_, 0, v_code_1727_);
return v___x_1749_;
}
}
v___jp_1750_:
{
lean_object* v___x_1756_; 
lean_inc_ref(v_k_1735_);
v___x_1756_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_k_1735_, v___y_1751_, v___y_1752_, v___y_1753_, v___y_1754_, v___y_1755_);
if (lean_obj_tag(v___x_1756_) == 0)
{
lean_object* v_a_1757_; size_t v___x_1758_; size_t v___x_1759_; uint8_t v___x_1760_; 
v_a_1757_ = lean_ctor_get(v___x_1756_, 0);
lean_inc(v_a_1757_);
lean_dec_ref(v___x_1756_);
v___x_1758_ = lean_ptr_addr(v_k_1735_);
lean_dec_ref(v_k_1735_);
v___x_1759_ = lean_ptr_addr(v_a_1757_);
v___x_1760_ = lean_usize_dec_eq(v___x_1758_, v___x_1759_);
if (v___x_1760_ == 0)
{
v___y_1737_ = v_a_1757_;
v___y_1738_ = v___x_1760_;
goto v___jp_1736_;
}
else
{
size_t v___x_1761_; uint8_t v___x_1762_; 
v___x_1761_ = lean_ptr_addr(v_decl_1734_);
v___x_1762_ = lean_usize_dec_eq(v___x_1761_, v___x_1761_);
v___y_1737_ = v_a_1757_;
v___y_1738_ = v___x_1762_;
goto v___jp_1736_;
}
}
else
{
lean_dec_ref(v_k_1735_);
lean_dec_ref(v_code_1727_);
return v___x_1756_;
}
}
}
case 1:
{
lean_object* v_decl_1807_; lean_object* v_k_1808_; lean_object* v_fvarId_1809_; lean_object* v_params_1810_; lean_object* v_type_1811_; lean_object* v_value_1812_; lean_object* v___x_1813_; 
v_decl_1807_ = lean_ctor_get(v_code_1727_, 0);
lean_inc_ref(v_decl_1807_);
v_k_1808_ = lean_ctor_get(v_code_1727_, 1);
v_fvarId_1809_ = lean_ctor_get(v_decl_1807_, 0);
v_params_1810_ = lean_ctor_get(v_decl_1807_, 2);
v_type_1811_ = lean_ctor_get(v_decl_1807_, 3);
v_value_1812_ = lean_ctor_get(v_decl_1807_, 4);
v___x_1813_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v_a_1728_, v_fvarId_1809_);
if (lean_obj_tag(v___x_1813_) == 1)
{
lean_object* v___x_1815_; uint8_t v_isShared_1816_; uint8_t v_isSharedCheck_1857_; 
lean_inc_ref(v_value_1812_);
lean_inc_ref(v_type_1811_);
lean_inc_ref(v_params_1810_);
lean_inc(v_fvarId_1809_);
lean_inc_ref(v_k_1808_);
v_isSharedCheck_1857_ = !lean_is_exclusive(v_code_1727_);
if (v_isSharedCheck_1857_ == 0)
{
lean_object* v_unused_1858_; lean_object* v_unused_1859_; 
v_unused_1858_ = lean_ctor_get(v_code_1727_, 1);
lean_dec(v_unused_1858_);
v_unused_1859_ = lean_ctor_get(v_code_1727_, 0);
lean_dec(v_unused_1859_);
v___x_1815_ = v_code_1727_;
v_isShared_1816_ = v_isSharedCheck_1857_;
goto v_resetjp_1814_;
}
else
{
lean_dec(v_code_1727_);
v___x_1815_ = lean_box(0);
v_isShared_1816_ = v_isSharedCheck_1857_;
goto v_resetjp_1814_;
}
v_resetjp_1814_:
{
lean_object* v___x_1818_; uint8_t v_isShared_1819_; uint8_t v_isSharedCheck_1851_; 
v_isSharedCheck_1851_ = !lean_is_exclusive(v_decl_1807_);
if (v_isSharedCheck_1851_ == 0)
{
lean_object* v_unused_1852_; lean_object* v_unused_1853_; lean_object* v_unused_1854_; lean_object* v_unused_1855_; lean_object* v_unused_1856_; 
v_unused_1852_ = lean_ctor_get(v_decl_1807_, 4);
lean_dec(v_unused_1852_);
v_unused_1853_ = lean_ctor_get(v_decl_1807_, 3);
lean_dec(v_unused_1853_);
v_unused_1854_ = lean_ctor_get(v_decl_1807_, 2);
lean_dec(v_unused_1854_);
v_unused_1855_ = lean_ctor_get(v_decl_1807_, 1);
lean_dec(v_unused_1855_);
v_unused_1856_ = lean_ctor_get(v_decl_1807_, 0);
lean_dec(v_unused_1856_);
v___x_1818_ = v_decl_1807_;
v_isShared_1819_ = v_isSharedCheck_1851_;
goto v_resetjp_1817_;
}
else
{
lean_dec(v_decl_1807_);
v___x_1818_ = lean_box(0);
v_isShared_1819_ = v_isSharedCheck_1851_;
goto v_resetjp_1817_;
}
v_resetjp_1817_:
{
lean_object* v_val_1820_; lean_object* v___x_1821_; 
v_val_1820_ = lean_ctor_get(v___x_1813_, 0);
lean_inc(v_val_1820_);
lean_dec_ref(v___x_1813_);
lean_inc(v_a_1732_);
lean_inc_ref(v_a_1731_);
lean_inc(v_a_1730_);
lean_inc_ref(v_a_1729_);
lean_inc_ref(v_a_1728_);
v___x_1821_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_value_1812_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1821_) == 0)
{
lean_object* v_a_1822_; lean_object* v___x_1823_; lean_object* v_lctx_1824_; lean_object* v_nextIdx_1825_; lean_object* v___x_1827_; uint8_t v_isShared_1828_; uint8_t v_isSharedCheck_1850_; 
v_a_1822_ = lean_ctor_get(v___x_1821_, 0);
lean_inc(v_a_1822_);
lean_dec_ref(v___x_1821_);
v___x_1823_ = lean_st_ref_take(v_a_1730_);
v_lctx_1824_ = lean_ctor_get(v___x_1823_, 0);
v_nextIdx_1825_ = lean_ctor_get(v___x_1823_, 1);
v_isSharedCheck_1850_ = !lean_is_exclusive(v___x_1823_);
if (v_isSharedCheck_1850_ == 0)
{
v___x_1827_ = v___x_1823_;
v_isShared_1828_ = v_isSharedCheck_1850_;
goto v_resetjp_1826_;
}
else
{
lean_inc(v_nextIdx_1825_);
lean_inc(v_lctx_1824_);
lean_dec(v___x_1823_);
v___x_1827_ = lean_box(0);
v_isShared_1828_ = v_isSharedCheck_1850_;
goto v_resetjp_1826_;
}
v_resetjp_1826_:
{
uint8_t v___x_1829_; lean_object* v___x_1831_; 
v___x_1829_ = 0;
if (v_isShared_1819_ == 0)
{
lean_ctor_set(v___x_1818_, 4, v_a_1822_);
lean_ctor_set(v___x_1818_, 1, v_val_1820_);
v___x_1831_ = v___x_1818_;
goto v_reusejp_1830_;
}
else
{
lean_object* v_reuseFailAlloc_1849_; 
v_reuseFailAlloc_1849_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_1849_, 0, v_fvarId_1809_);
lean_ctor_set(v_reuseFailAlloc_1849_, 1, v_val_1820_);
lean_ctor_set(v_reuseFailAlloc_1849_, 2, v_params_1810_);
lean_ctor_set(v_reuseFailAlloc_1849_, 3, v_type_1811_);
lean_ctor_set(v_reuseFailAlloc_1849_, 4, v_a_1822_);
v___x_1831_ = v_reuseFailAlloc_1849_;
goto v_reusejp_1830_;
}
v_reusejp_1830_:
{
lean_object* v___x_1832_; lean_object* v___x_1834_; 
lean_inc_ref(v___x_1831_);
v___x_1832_ = l_Lean_Compiler_LCNF_LCtx_addFunDecl(v___x_1829_, v_lctx_1824_, v___x_1831_);
if (v_isShared_1828_ == 0)
{
lean_ctor_set(v___x_1827_, 0, v___x_1832_);
v___x_1834_ = v___x_1827_;
goto v_reusejp_1833_;
}
else
{
lean_object* v_reuseFailAlloc_1848_; 
v_reuseFailAlloc_1848_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1848_, 0, v___x_1832_);
lean_ctor_set(v_reuseFailAlloc_1848_, 1, v_nextIdx_1825_);
v___x_1834_ = v_reuseFailAlloc_1848_;
goto v_reusejp_1833_;
}
v_reusejp_1833_:
{
lean_object* v___x_1835_; lean_object* v___x_1836_; 
v___x_1835_ = lean_st_ref_set(v_a_1730_, v___x_1834_);
v___x_1836_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_k_1808_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1836_) == 0)
{
lean_object* v_a_1837_; lean_object* v___x_1839_; uint8_t v_isShared_1840_; uint8_t v_isSharedCheck_1847_; 
v_a_1837_ = lean_ctor_get(v___x_1836_, 0);
v_isSharedCheck_1847_ = !lean_is_exclusive(v___x_1836_);
if (v_isSharedCheck_1847_ == 0)
{
v___x_1839_ = v___x_1836_;
v_isShared_1840_ = v_isSharedCheck_1847_;
goto v_resetjp_1838_;
}
else
{
lean_inc(v_a_1837_);
lean_dec(v___x_1836_);
v___x_1839_ = lean_box(0);
v_isShared_1840_ = v_isSharedCheck_1847_;
goto v_resetjp_1838_;
}
v_resetjp_1838_:
{
lean_object* v___x_1842_; 
if (v_isShared_1816_ == 0)
{
lean_ctor_set_tag(v___x_1815_, 2);
lean_ctor_set(v___x_1815_, 1, v_a_1837_);
lean_ctor_set(v___x_1815_, 0, v___x_1831_);
v___x_1842_ = v___x_1815_;
goto v_reusejp_1841_;
}
else
{
lean_object* v_reuseFailAlloc_1846_; 
v_reuseFailAlloc_1846_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1846_, 0, v___x_1831_);
lean_ctor_set(v_reuseFailAlloc_1846_, 1, v_a_1837_);
v___x_1842_ = v_reuseFailAlloc_1846_;
goto v_reusejp_1841_;
}
v_reusejp_1841_:
{
lean_object* v___x_1844_; 
if (v_isShared_1840_ == 0)
{
lean_ctor_set(v___x_1839_, 0, v___x_1842_);
v___x_1844_ = v___x_1839_;
goto v_reusejp_1843_;
}
else
{
lean_object* v_reuseFailAlloc_1845_; 
v_reuseFailAlloc_1845_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1845_, 0, v___x_1842_);
v___x_1844_ = v_reuseFailAlloc_1845_;
goto v_reusejp_1843_;
}
v_reusejp_1843_:
{
return v___x_1844_;
}
}
}
}
else
{
lean_dec_ref(v___x_1831_);
lean_del_object(v___x_1815_);
return v___x_1836_;
}
}
}
}
}
else
{
lean_dec(v_val_1820_);
lean_del_object(v___x_1818_);
lean_del_object(v___x_1815_);
lean_dec_ref(v_type_1811_);
lean_dec_ref(v_params_1810_);
lean_dec(v_fvarId_1809_);
lean_dec_ref(v_k_1808_);
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
return v___x_1821_;
}
}
}
}
else
{
lean_object* v___x_1860_; 
lean_dec(v___x_1813_);
lean_inc(v_a_1732_);
lean_inc_ref(v_a_1731_);
lean_inc(v_a_1730_);
lean_inc_ref(v_a_1729_);
lean_inc_ref(v_a_1728_);
lean_inc_ref(v_value_1812_);
v___x_1860_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_value_1812_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1860_) == 0)
{
lean_object* v_a_1861_; uint8_t v___x_1862_; lean_object* v___x_1863_; 
v_a_1861_ = lean_ctor_get(v___x_1860_, 0);
lean_inc(v_a_1861_);
lean_dec_ref(v___x_1860_);
v___x_1862_ = 0;
lean_inc_ref(v_params_1810_);
lean_inc_ref(v_type_1811_);
lean_inc_ref(v_decl_1807_);
v___x_1863_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_1862_, v_decl_1807_, v_type_1811_, v_params_1810_, v_a_1861_, v_a_1730_);
if (lean_obj_tag(v___x_1863_) == 0)
{
lean_object* v_a_1864_; lean_object* v___x_1865_; 
v_a_1864_ = lean_ctor_get(v___x_1863_, 0);
lean_inc(v_a_1864_);
lean_dec_ref(v___x_1863_);
lean_inc_ref(v_k_1808_);
v___x_1865_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_k_1808_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1865_) == 0)
{
lean_object* v_a_1866_; lean_object* v___x_1868_; uint8_t v_isShared_1869_; uint8_t v_isSharedCheck_1893_; 
v_a_1866_ = lean_ctor_get(v___x_1865_, 0);
v_isSharedCheck_1893_ = !lean_is_exclusive(v___x_1865_);
if (v_isSharedCheck_1893_ == 0)
{
v___x_1868_ = v___x_1865_;
v_isShared_1869_ = v_isSharedCheck_1893_;
goto v_resetjp_1867_;
}
else
{
lean_inc(v_a_1866_);
lean_dec(v___x_1865_);
v___x_1868_ = lean_box(0);
v_isShared_1869_ = v_isSharedCheck_1893_;
goto v_resetjp_1867_;
}
v_resetjp_1867_:
{
uint8_t v___y_1871_; size_t v___x_1887_; size_t v___x_1888_; uint8_t v___x_1889_; 
v___x_1887_ = lean_ptr_addr(v_k_1808_);
v___x_1888_ = lean_ptr_addr(v_a_1866_);
v___x_1889_ = lean_usize_dec_eq(v___x_1887_, v___x_1888_);
if (v___x_1889_ == 0)
{
lean_dec_ref(v_decl_1807_);
v___y_1871_ = v___x_1889_;
goto v___jp_1870_;
}
else
{
size_t v___x_1890_; size_t v___x_1891_; uint8_t v___x_1892_; 
v___x_1890_ = lean_ptr_addr(v_decl_1807_);
lean_dec_ref(v_decl_1807_);
v___x_1891_ = lean_ptr_addr(v_a_1864_);
v___x_1892_ = lean_usize_dec_eq(v___x_1890_, v___x_1891_);
v___y_1871_ = v___x_1892_;
goto v___jp_1870_;
}
v___jp_1870_:
{
if (v___y_1871_ == 0)
{
lean_object* v___x_1873_; uint8_t v_isShared_1874_; uint8_t v_isSharedCheck_1881_; 
v_isSharedCheck_1881_ = !lean_is_exclusive(v_code_1727_);
if (v_isSharedCheck_1881_ == 0)
{
lean_object* v_unused_1882_; lean_object* v_unused_1883_; 
v_unused_1882_ = lean_ctor_get(v_code_1727_, 1);
lean_dec(v_unused_1882_);
v_unused_1883_ = lean_ctor_get(v_code_1727_, 0);
lean_dec(v_unused_1883_);
v___x_1873_ = v_code_1727_;
v_isShared_1874_ = v_isSharedCheck_1881_;
goto v_resetjp_1872_;
}
else
{
lean_dec(v_code_1727_);
v___x_1873_ = lean_box(0);
v_isShared_1874_ = v_isSharedCheck_1881_;
goto v_resetjp_1872_;
}
v_resetjp_1872_:
{
lean_object* v___x_1876_; 
if (v_isShared_1874_ == 0)
{
lean_ctor_set(v___x_1873_, 1, v_a_1866_);
lean_ctor_set(v___x_1873_, 0, v_a_1864_);
v___x_1876_ = v___x_1873_;
goto v_reusejp_1875_;
}
else
{
lean_object* v_reuseFailAlloc_1880_; 
v_reuseFailAlloc_1880_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1880_, 0, v_a_1864_);
lean_ctor_set(v_reuseFailAlloc_1880_, 1, v_a_1866_);
v___x_1876_ = v_reuseFailAlloc_1880_;
goto v_reusejp_1875_;
}
v_reusejp_1875_:
{
lean_object* v___x_1878_; 
if (v_isShared_1869_ == 0)
{
lean_ctor_set(v___x_1868_, 0, v___x_1876_);
v___x_1878_ = v___x_1868_;
goto v_reusejp_1877_;
}
else
{
lean_object* v_reuseFailAlloc_1879_; 
v_reuseFailAlloc_1879_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1879_, 0, v___x_1876_);
v___x_1878_ = v_reuseFailAlloc_1879_;
goto v_reusejp_1877_;
}
v_reusejp_1877_:
{
return v___x_1878_;
}
}
}
}
else
{
lean_object* v___x_1885_; 
lean_dec(v_a_1866_);
lean_dec(v_a_1864_);
if (v_isShared_1869_ == 0)
{
lean_ctor_set(v___x_1868_, 0, v_code_1727_);
v___x_1885_ = v___x_1868_;
goto v_reusejp_1884_;
}
else
{
lean_object* v_reuseFailAlloc_1886_; 
v_reuseFailAlloc_1886_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1886_, 0, v_code_1727_);
v___x_1885_ = v_reuseFailAlloc_1886_;
goto v_reusejp_1884_;
}
v_reusejp_1884_:
{
return v___x_1885_;
}
}
}
}
}
else
{
lean_dec(v_a_1864_);
lean_dec_ref(v_decl_1807_);
lean_dec_ref(v_code_1727_);
return v___x_1865_;
}
}
else
{
lean_object* v_a_1894_; lean_object* v___x_1896_; uint8_t v_isShared_1897_; uint8_t v_isSharedCheck_1901_; 
lean_dec_ref(v_code_1727_);
lean_dec_ref(v_decl_1807_);
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
v_a_1894_ = lean_ctor_get(v___x_1863_, 0);
v_isSharedCheck_1901_ = !lean_is_exclusive(v___x_1863_);
if (v_isSharedCheck_1901_ == 0)
{
v___x_1896_ = v___x_1863_;
v_isShared_1897_ = v_isSharedCheck_1901_;
goto v_resetjp_1895_;
}
else
{
lean_inc(v_a_1894_);
lean_dec(v___x_1863_);
v___x_1896_ = lean_box(0);
v_isShared_1897_ = v_isSharedCheck_1901_;
goto v_resetjp_1895_;
}
v_resetjp_1895_:
{
lean_object* v___x_1899_; 
if (v_isShared_1897_ == 0)
{
v___x_1899_ = v___x_1896_;
goto v_reusejp_1898_;
}
else
{
lean_object* v_reuseFailAlloc_1900_; 
v_reuseFailAlloc_1900_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1900_, 0, v_a_1894_);
v___x_1899_ = v_reuseFailAlloc_1900_;
goto v_reusejp_1898_;
}
v_reusejp_1898_:
{
return v___x_1899_;
}
}
}
}
else
{
lean_dec_ref(v_code_1727_);
lean_dec_ref(v_decl_1807_);
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
return v___x_1860_;
}
}
}
case 2:
{
lean_object* v_decl_1902_; lean_object* v_k_1903_; lean_object* v_params_1904_; lean_object* v_type_1905_; lean_object* v_value_1906_; lean_object* v___x_1907_; 
v_decl_1902_ = lean_ctor_get(v_code_1727_, 0);
v_k_1903_ = lean_ctor_get(v_code_1727_, 1);
v_params_1904_ = lean_ctor_get(v_decl_1902_, 2);
v_type_1905_ = lean_ctor_get(v_decl_1902_, 3);
v_value_1906_ = lean_ctor_get(v_decl_1902_, 4);
lean_inc(v_a_1732_);
lean_inc_ref(v_a_1731_);
lean_inc(v_a_1730_);
lean_inc_ref(v_a_1729_);
lean_inc_ref(v_a_1728_);
lean_inc_ref(v_value_1906_);
v___x_1907_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_value_1906_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1907_) == 0)
{
lean_object* v_a_1908_; uint8_t v___x_1909_; lean_object* v___x_1910_; 
v_a_1908_ = lean_ctor_get(v___x_1907_, 0);
lean_inc(v_a_1908_);
lean_dec_ref(v___x_1907_);
v___x_1909_ = 0;
lean_inc_ref(v_params_1904_);
lean_inc_ref(v_type_1905_);
lean_inc_ref(v_decl_1902_);
v___x_1910_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_1909_, v_decl_1902_, v_type_1905_, v_params_1904_, v_a_1908_, v_a_1730_);
if (lean_obj_tag(v___x_1910_) == 0)
{
lean_object* v_a_1911_; lean_object* v___x_1912_; 
v_a_1911_ = lean_ctor_get(v___x_1910_, 0);
lean_inc(v_a_1911_);
lean_dec_ref(v___x_1910_);
lean_inc_ref(v_k_1903_);
v___x_1912_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_k_1903_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1912_) == 0)
{
lean_object* v_a_1913_; lean_object* v___x_1915_; uint8_t v_isShared_1916_; uint8_t v_isSharedCheck_1940_; 
v_a_1913_ = lean_ctor_get(v___x_1912_, 0);
v_isSharedCheck_1940_ = !lean_is_exclusive(v___x_1912_);
if (v_isSharedCheck_1940_ == 0)
{
v___x_1915_ = v___x_1912_;
v_isShared_1916_ = v_isSharedCheck_1940_;
goto v_resetjp_1914_;
}
else
{
lean_inc(v_a_1913_);
lean_dec(v___x_1912_);
v___x_1915_ = lean_box(0);
v_isShared_1916_ = v_isSharedCheck_1940_;
goto v_resetjp_1914_;
}
v_resetjp_1914_:
{
uint8_t v___y_1918_; size_t v___x_1934_; size_t v___x_1935_; uint8_t v___x_1936_; 
v___x_1934_ = lean_ptr_addr(v_k_1903_);
v___x_1935_ = lean_ptr_addr(v_a_1913_);
v___x_1936_ = lean_usize_dec_eq(v___x_1934_, v___x_1935_);
if (v___x_1936_ == 0)
{
v___y_1918_ = v___x_1936_;
goto v___jp_1917_;
}
else
{
size_t v___x_1937_; size_t v___x_1938_; uint8_t v___x_1939_; 
v___x_1937_ = lean_ptr_addr(v_decl_1902_);
v___x_1938_ = lean_ptr_addr(v_a_1911_);
v___x_1939_ = lean_usize_dec_eq(v___x_1937_, v___x_1938_);
v___y_1918_ = v___x_1939_;
goto v___jp_1917_;
}
v___jp_1917_:
{
if (v___y_1918_ == 0)
{
lean_object* v___x_1920_; uint8_t v_isShared_1921_; uint8_t v_isSharedCheck_1928_; 
v_isSharedCheck_1928_ = !lean_is_exclusive(v_code_1727_);
if (v_isSharedCheck_1928_ == 0)
{
lean_object* v_unused_1929_; lean_object* v_unused_1930_; 
v_unused_1929_ = lean_ctor_get(v_code_1727_, 1);
lean_dec(v_unused_1929_);
v_unused_1930_ = lean_ctor_get(v_code_1727_, 0);
lean_dec(v_unused_1930_);
v___x_1920_ = v_code_1727_;
v_isShared_1921_ = v_isSharedCheck_1928_;
goto v_resetjp_1919_;
}
else
{
lean_dec(v_code_1727_);
v___x_1920_ = lean_box(0);
v_isShared_1921_ = v_isSharedCheck_1928_;
goto v_resetjp_1919_;
}
v_resetjp_1919_:
{
lean_object* v___x_1923_; 
if (v_isShared_1921_ == 0)
{
lean_ctor_set(v___x_1920_, 1, v_a_1913_);
lean_ctor_set(v___x_1920_, 0, v_a_1911_);
v___x_1923_ = v___x_1920_;
goto v_reusejp_1922_;
}
else
{
lean_object* v_reuseFailAlloc_1927_; 
v_reuseFailAlloc_1927_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1927_, 0, v_a_1911_);
lean_ctor_set(v_reuseFailAlloc_1927_, 1, v_a_1913_);
v___x_1923_ = v_reuseFailAlloc_1927_;
goto v_reusejp_1922_;
}
v_reusejp_1922_:
{
lean_object* v___x_1925_; 
if (v_isShared_1916_ == 0)
{
lean_ctor_set(v___x_1915_, 0, v___x_1923_);
v___x_1925_ = v___x_1915_;
goto v_reusejp_1924_;
}
else
{
lean_object* v_reuseFailAlloc_1926_; 
v_reuseFailAlloc_1926_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1926_, 0, v___x_1923_);
v___x_1925_ = v_reuseFailAlloc_1926_;
goto v_reusejp_1924_;
}
v_reusejp_1924_:
{
return v___x_1925_;
}
}
}
}
else
{
lean_object* v___x_1932_; 
lean_dec(v_a_1913_);
lean_dec(v_a_1911_);
if (v_isShared_1916_ == 0)
{
lean_ctor_set(v___x_1915_, 0, v_code_1727_);
v___x_1932_ = v___x_1915_;
goto v_reusejp_1931_;
}
else
{
lean_object* v_reuseFailAlloc_1933_; 
v_reuseFailAlloc_1933_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1933_, 0, v_code_1727_);
v___x_1932_ = v_reuseFailAlloc_1933_;
goto v_reusejp_1931_;
}
v_reusejp_1931_:
{
return v___x_1932_;
}
}
}
}
}
else
{
lean_dec(v_a_1911_);
lean_dec_ref(v_code_1727_);
return v___x_1912_;
}
}
else
{
lean_object* v_a_1941_; lean_object* v___x_1943_; uint8_t v_isShared_1944_; uint8_t v_isSharedCheck_1948_; 
lean_dec_ref(v_code_1727_);
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
v_a_1941_ = lean_ctor_get(v___x_1910_, 0);
v_isSharedCheck_1948_ = !lean_is_exclusive(v___x_1910_);
if (v_isSharedCheck_1948_ == 0)
{
v___x_1943_ = v___x_1910_;
v_isShared_1944_ = v_isSharedCheck_1948_;
goto v_resetjp_1942_;
}
else
{
lean_inc(v_a_1941_);
lean_dec(v___x_1910_);
v___x_1943_ = lean_box(0);
v_isShared_1944_ = v_isSharedCheck_1948_;
goto v_resetjp_1942_;
}
v_resetjp_1942_:
{
lean_object* v___x_1946_; 
if (v_isShared_1944_ == 0)
{
v___x_1946_ = v___x_1943_;
goto v_reusejp_1945_;
}
else
{
lean_object* v_reuseFailAlloc_1947_; 
v_reuseFailAlloc_1947_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1947_, 0, v_a_1941_);
v___x_1946_ = v_reuseFailAlloc_1947_;
goto v_reusejp_1945_;
}
v_reusejp_1945_:
{
return v___x_1946_;
}
}
}
}
else
{
lean_dec_ref(v_code_1727_);
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
return v___x_1907_;
}
}
case 4:
{
lean_object* v_cases_1949_; lean_object* v_typeName_1950_; lean_object* v_resultType_1951_; lean_object* v_discr_1952_; lean_object* v_alts_1953_; lean_object* v___x_1955_; uint8_t v_isShared_1956_; uint8_t v_isSharedCheck_1989_; 
v_cases_1949_ = lean_ctor_get(v_code_1727_, 0);
lean_inc_ref(v_cases_1949_);
v_typeName_1950_ = lean_ctor_get(v_cases_1949_, 0);
v_resultType_1951_ = lean_ctor_get(v_cases_1949_, 1);
v_discr_1952_ = lean_ctor_get(v_cases_1949_, 2);
v_alts_1953_ = lean_ctor_get(v_cases_1949_, 3);
v_isSharedCheck_1989_ = !lean_is_exclusive(v_cases_1949_);
if (v_isSharedCheck_1989_ == 0)
{
v___x_1955_ = v_cases_1949_;
v_isShared_1956_ = v_isSharedCheck_1989_;
goto v_resetjp_1954_;
}
else
{
lean_inc(v_alts_1953_);
lean_inc(v_discr_1952_);
lean_inc(v_resultType_1951_);
lean_inc(v_typeName_1950_);
lean_dec(v_cases_1949_);
v___x_1955_ = lean_box(0);
v_isShared_1956_ = v_isSharedCheck_1989_;
goto v_resetjp_1954_;
}
v_resetjp_1954_:
{
lean_object* v___x_1957_; lean_object* v___x_1958_; 
v___x_1957_ = lean_unsigned_to_nat(0u);
lean_inc_ref(v_alts_1953_);
v___x_1958_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2(v___x_1957_, v_alts_1953_, v_a_1728_, v_a_1729_, v_a_1730_, v_a_1731_, v_a_1732_);
if (lean_obj_tag(v___x_1958_) == 0)
{
lean_object* v_a_1959_; lean_object* v___x_1961_; uint8_t v_isShared_1962_; uint8_t v_isSharedCheck_1980_; 
v_a_1959_ = lean_ctor_get(v___x_1958_, 0);
v_isSharedCheck_1980_ = !lean_is_exclusive(v___x_1958_);
if (v_isSharedCheck_1980_ == 0)
{
v___x_1961_ = v___x_1958_;
v_isShared_1962_ = v_isSharedCheck_1980_;
goto v_resetjp_1960_;
}
else
{
lean_inc(v_a_1959_);
lean_dec(v___x_1958_);
v___x_1961_ = lean_box(0);
v_isShared_1962_ = v_isSharedCheck_1980_;
goto v_resetjp_1960_;
}
v_resetjp_1960_:
{
uint8_t v___y_1972_; size_t v___x_1975_; size_t v___x_1976_; uint8_t v___x_1977_; 
v___x_1975_ = lean_ptr_addr(v_alts_1953_);
lean_dec_ref(v_alts_1953_);
v___x_1976_ = lean_ptr_addr(v_a_1959_);
v___x_1977_ = lean_usize_dec_eq(v___x_1975_, v___x_1976_);
if (v___x_1977_ == 0)
{
v___y_1972_ = v___x_1977_;
goto v___jp_1971_;
}
else
{
size_t v___x_1978_; uint8_t v___x_1979_; 
v___x_1978_ = lean_ptr_addr(v_resultType_1951_);
v___x_1979_ = lean_usize_dec_eq(v___x_1978_, v___x_1978_);
v___y_1972_ = v___x_1979_;
goto v___jp_1971_;
}
v___jp_1963_:
{
lean_object* v___x_1965_; 
if (v_isShared_1956_ == 0)
{
lean_ctor_set(v___x_1955_, 3, v_a_1959_);
v___x_1965_ = v___x_1955_;
goto v_reusejp_1964_;
}
else
{
lean_object* v_reuseFailAlloc_1970_; 
v_reuseFailAlloc_1970_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v_reuseFailAlloc_1970_, 0, v_typeName_1950_);
lean_ctor_set(v_reuseFailAlloc_1970_, 1, v_resultType_1951_);
lean_ctor_set(v_reuseFailAlloc_1970_, 2, v_discr_1952_);
lean_ctor_set(v_reuseFailAlloc_1970_, 3, v_a_1959_);
v___x_1965_ = v_reuseFailAlloc_1970_;
goto v_reusejp_1964_;
}
v_reusejp_1964_:
{
lean_object* v___x_1966_; lean_object* v___x_1968_; 
v___x_1966_ = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(v___x_1966_, 0, v___x_1965_);
if (v_isShared_1962_ == 0)
{
lean_ctor_set(v___x_1961_, 0, v___x_1966_);
v___x_1968_ = v___x_1961_;
goto v_reusejp_1967_;
}
else
{
lean_object* v_reuseFailAlloc_1969_; 
v_reuseFailAlloc_1969_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1969_, 0, v___x_1966_);
v___x_1968_ = v_reuseFailAlloc_1969_;
goto v_reusejp_1967_;
}
v_reusejp_1967_:
{
return v___x_1968_;
}
}
}
v___jp_1971_:
{
if (v___y_1972_ == 0)
{
lean_dec_ref(v_code_1727_);
goto v___jp_1963_;
}
else
{
uint8_t v___x_1973_; 
v___x_1973_ = l_Lean_instBEqFVarId_beq(v_discr_1952_, v_discr_1952_);
if (v___x_1973_ == 0)
{
lean_dec_ref(v_code_1727_);
goto v___jp_1963_;
}
else
{
lean_object* v___x_1974_; 
lean_del_object(v___x_1961_);
lean_dec(v_a_1959_);
lean_del_object(v___x_1955_);
lean_dec(v_discr_1952_);
lean_dec_ref(v_resultType_1951_);
lean_dec(v_typeName_1950_);
v___x_1974_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1974_, 0, v_code_1727_);
return v___x_1974_;
}
}
}
}
}
else
{
lean_object* v_a_1981_; lean_object* v___x_1983_; uint8_t v_isShared_1984_; uint8_t v_isSharedCheck_1988_; 
lean_del_object(v___x_1955_);
lean_dec_ref(v_alts_1953_);
lean_dec(v_discr_1952_);
lean_dec_ref(v_resultType_1951_);
lean_dec(v_typeName_1950_);
lean_dec_ref(v_code_1727_);
v_a_1981_ = lean_ctor_get(v___x_1958_, 0);
v_isSharedCheck_1988_ = !lean_is_exclusive(v___x_1958_);
if (v_isSharedCheck_1988_ == 0)
{
v___x_1983_ = v___x_1958_;
v_isShared_1984_ = v_isSharedCheck_1988_;
goto v_resetjp_1982_;
}
else
{
lean_inc(v_a_1981_);
lean_dec(v___x_1958_);
v___x_1983_ = lean_box(0);
v_isShared_1984_ = v_isSharedCheck_1988_;
goto v_resetjp_1982_;
}
v_resetjp_1982_:
{
lean_object* v___x_1986_; 
if (v_isShared_1984_ == 0)
{
v___x_1986_ = v___x_1983_;
goto v_reusejp_1985_;
}
else
{
lean_object* v_reuseFailAlloc_1987_; 
v_reuseFailAlloc_1987_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1987_, 0, v_a_1981_);
v___x_1986_ = v_reuseFailAlloc_1987_;
goto v_reusejp_1985_;
}
v_reusejp_1985_:
{
return v___x_1986_;
}
}
}
}
}
default: 
{
lean_object* v___x_1990_; 
lean_dec(v_a_1732_);
lean_dec_ref(v_a_1731_);
lean_dec(v_a_1730_);
lean_dec_ref(v_a_1729_);
lean_dec_ref(v_a_1728_);
v___x_1990_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1990_, 0, v_code_1727_);
return v___x_1990_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go___boxed(lean_object* v_code_1991_, lean_object* v_a_1992_, lean_object* v_a_1993_, lean_object* v_a_1994_, lean_object* v_a_1995_, lean_object* v_a_1996_, lean_object* v_a_1997_){
_start:
{
lean_object* v_res_1998_; 
v_res_1998_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go(v_code_1991_, v_a_1992_, v_a_1993_, v_a_1994_, v_a_1995_, v_a_1996_);
return v_res_1998_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2(lean_object* v_i_1999_, lean_object* v_as_2000_, lean_object* v___y_2001_, lean_object* v___y_2002_, lean_object* v___y_2003_, lean_object* v___y_2004_, lean_object* v___y_2005_){
_start:
{
lean_object* v___x_2007_; uint8_t v___x_2008_; 
v___x_2007_ = lean_array_get_size(v_as_2000_);
v___x_2008_ = lean_nat_dec_lt(v_i_1999_, v___x_2007_);
if (v___x_2008_ == 0)
{
lean_object* v___x_2009_; 
lean_dec(v___y_2005_);
lean_dec_ref(v___y_2004_);
lean_dec(v___y_2003_);
lean_dec_ref(v___y_2002_);
lean_dec_ref(v___y_2001_);
lean_dec(v_i_1999_);
v___x_2009_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2009_, 0, v_as_2000_);
return v___x_2009_;
}
else
{
lean_object* v_a_2010_; lean_object* v___x_2011_; lean_object* v___x_2012_; 
v_a_2010_ = lean_array_fget_borrowed(v_as_2000_, v_i_1999_);
v___x_2011_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go___boxed), 7, 0);
lean_inc(v___y_2005_);
lean_inc_ref(v___y_2004_);
lean_inc(v___y_2003_);
lean_inc_ref(v___y_2002_);
lean_inc_ref(v___y_2001_);
lean_inc(v_a_2010_);
v___x_2012_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__1___redArg(v_a_2010_, v___x_2011_, v___y_2001_, v___y_2002_, v___y_2003_, v___y_2004_, v___y_2005_);
if (lean_obj_tag(v___x_2012_) == 0)
{
lean_object* v_a_2013_; size_t v___x_2014_; size_t v___x_2015_; uint8_t v___x_2016_; 
v_a_2013_ = lean_ctor_get(v___x_2012_, 0);
lean_inc(v_a_2013_);
lean_dec_ref(v___x_2012_);
v___x_2014_ = lean_ptr_addr(v_a_2010_);
v___x_2015_ = lean_ptr_addr(v_a_2013_);
v___x_2016_ = lean_usize_dec_eq(v___x_2014_, v___x_2015_);
if (v___x_2016_ == 0)
{
lean_object* v___x_2017_; lean_object* v___x_2018_; lean_object* v___x_2019_; 
v___x_2017_ = lean_unsigned_to_nat(1u);
v___x_2018_ = lean_nat_add(v_i_1999_, v___x_2017_);
v___x_2019_ = lean_array_fset(v_as_2000_, v_i_1999_, v_a_2013_);
lean_dec(v_i_1999_);
v_i_1999_ = v___x_2018_;
v_as_2000_ = v___x_2019_;
goto _start;
}
else
{
lean_object* v___x_2021_; lean_object* v___x_2022_; 
lean_dec(v_a_2013_);
v___x_2021_ = lean_unsigned_to_nat(1u);
v___x_2022_ = lean_nat_add(v_i_1999_, v___x_2021_);
lean_dec(v_i_1999_);
v_i_1999_ = v___x_2022_;
goto _start;
}
}
else
{
lean_object* v_a_2024_; lean_object* v___x_2026_; uint8_t v_isShared_2027_; uint8_t v_isSharedCheck_2031_; 
lean_dec(v___y_2005_);
lean_dec_ref(v___y_2004_);
lean_dec(v___y_2003_);
lean_dec_ref(v___y_2002_);
lean_dec_ref(v___y_2001_);
lean_dec_ref(v_as_2000_);
lean_dec(v_i_1999_);
v_a_2024_ = lean_ctor_get(v___x_2012_, 0);
v_isSharedCheck_2031_ = !lean_is_exclusive(v___x_2012_);
if (v_isSharedCheck_2031_ == 0)
{
v___x_2026_ = v___x_2012_;
v_isShared_2027_ = v_isSharedCheck_2031_;
goto v_resetjp_2025_;
}
else
{
lean_inc(v_a_2024_);
lean_dec(v___x_2012_);
v___x_2026_ = lean_box(0);
v_isShared_2027_ = v_isSharedCheck_2031_;
goto v_resetjp_2025_;
}
v_resetjp_2025_:
{
lean_object* v___x_2029_; 
if (v_isShared_2027_ == 0)
{
v___x_2029_ = v___x_2026_;
goto v_reusejp_2028_;
}
else
{
lean_object* v_reuseFailAlloc_2030_; 
v_reuseFailAlloc_2030_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2030_, 0, v_a_2024_);
v___x_2029_ = v_reuseFailAlloc_2030_;
goto v_reusejp_2028_;
}
v_reusejp_2028_:
{
return v___x_2029_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2___boxed(lean_object* v_i_2032_, lean_object* v_as_2033_, lean_object* v___y_2034_, lean_object* v___y_2035_, lean_object* v___y_2036_, lean_object* v___y_2037_, lean_object* v___y_2038_, lean_object* v___y_2039_){
_start:
{
lean_object* v_res_2040_; 
v_res_2040_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__2(v_i_2032_, v_as_2033_, v___y_2034_, v___y_2035_, v___y_2036_, v___y_2037_, v___y_2038_);
return v_res_2040_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0(lean_object* v_00_u03b2_2041_, lean_object* v_m_2042_, lean_object* v_a_2043_){
_start:
{
uint8_t v___x_2044_; 
v___x_2044_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v_m_2042_, v_a_2043_);
return v___x_2044_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___boxed(lean_object* v_00_u03b2_2045_, lean_object* v_m_2046_, lean_object* v_a_2047_){
_start:
{
uint8_t v_res_2048_; lean_object* v_r_2049_; 
v_res_2048_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0(v_00_u03b2_2045_, v_m_2046_, v_a_2047_);
lean_dec(v_a_2047_);
lean_dec_ref(v_m_2046_);
v_r_2049_ = lean_box(v_res_2048_);
return v_r_2049_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg(lean_object* v_f_2050_, lean_object* v_v_2051_, lean_object* v___y_2052_, lean_object* v___y_2053_, lean_object* v___y_2054_, lean_object* v___y_2055_, lean_object* v___y_2056_){
_start:
{
if (lean_obj_tag(v_v_2051_) == 0)
{
lean_object* v_code_2058_; lean_object* v___x_2060_; uint8_t v_isShared_2061_; uint8_t v_isSharedCheck_2082_; 
v_code_2058_ = lean_ctor_get(v_v_2051_, 0);
v_isSharedCheck_2082_ = !lean_is_exclusive(v_v_2051_);
if (v_isSharedCheck_2082_ == 0)
{
v___x_2060_ = v_v_2051_;
v_isShared_2061_ = v_isSharedCheck_2082_;
goto v_resetjp_2059_;
}
else
{
lean_inc(v_code_2058_);
lean_dec(v_v_2051_);
v___x_2060_ = lean_box(0);
v_isShared_2061_ = v_isSharedCheck_2082_;
goto v_resetjp_2059_;
}
v_resetjp_2059_:
{
lean_object* v___x_2062_; 
v___x_2062_ = lean_apply_7(v_f_2050_, v_code_2058_, v___y_2052_, v___y_2053_, v___y_2054_, v___y_2055_, v___y_2056_, lean_box(0));
if (lean_obj_tag(v___x_2062_) == 0)
{
lean_object* v_a_2063_; lean_object* v___x_2065_; uint8_t v_isShared_2066_; uint8_t v_isSharedCheck_2073_; 
v_a_2063_ = lean_ctor_get(v___x_2062_, 0);
v_isSharedCheck_2073_ = !lean_is_exclusive(v___x_2062_);
if (v_isSharedCheck_2073_ == 0)
{
v___x_2065_ = v___x_2062_;
v_isShared_2066_ = v_isSharedCheck_2073_;
goto v_resetjp_2064_;
}
else
{
lean_inc(v_a_2063_);
lean_dec(v___x_2062_);
v___x_2065_ = lean_box(0);
v_isShared_2066_ = v_isSharedCheck_2073_;
goto v_resetjp_2064_;
}
v_resetjp_2064_:
{
lean_object* v___x_2068_; 
if (v_isShared_2061_ == 0)
{
lean_ctor_set(v___x_2060_, 0, v_a_2063_);
v___x_2068_ = v___x_2060_;
goto v_reusejp_2067_;
}
else
{
lean_object* v_reuseFailAlloc_2072_; 
v_reuseFailAlloc_2072_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2072_, 0, v_a_2063_);
v___x_2068_ = v_reuseFailAlloc_2072_;
goto v_reusejp_2067_;
}
v_reusejp_2067_:
{
lean_object* v___x_2070_; 
if (v_isShared_2066_ == 0)
{
lean_ctor_set(v___x_2065_, 0, v___x_2068_);
v___x_2070_ = v___x_2065_;
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_a_2074_; lean_object* v___x_2076_; uint8_t v_isShared_2077_; uint8_t v_isSharedCheck_2081_; 
lean_del_object(v___x_2060_);
v_a_2074_ = lean_ctor_get(v___x_2062_, 0);
v_isSharedCheck_2081_ = !lean_is_exclusive(v___x_2062_);
if (v_isSharedCheck_2081_ == 0)
{
v___x_2076_ = v___x_2062_;
v_isShared_2077_ = v_isSharedCheck_2081_;
goto v_resetjp_2075_;
}
else
{
lean_inc(v_a_2074_);
lean_dec(v___x_2062_);
v___x_2076_ = lean_box(0);
v_isShared_2077_ = v_isSharedCheck_2081_;
goto v_resetjp_2075_;
}
v_resetjp_2075_:
{
lean_object* v___x_2079_; 
if (v_isShared_2077_ == 0)
{
v___x_2079_ = v___x_2076_;
goto v_reusejp_2078_;
}
else
{
lean_object* v_reuseFailAlloc_2080_; 
v_reuseFailAlloc_2080_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2080_, 0, v_a_2074_);
v___x_2079_ = v_reuseFailAlloc_2080_;
goto v_reusejp_2078_;
}
v_reusejp_2078_:
{
return v___x_2079_;
}
}
}
}
}
else
{
lean_object* v___x_2083_; 
lean_dec(v___y_2056_);
lean_dec_ref(v___y_2055_);
lean_dec(v___y_2054_);
lean_dec_ref(v___y_2053_);
lean_dec_ref(v___y_2052_);
lean_dec_ref(v_f_2050_);
v___x_2083_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2083_, 0, v_v_2051_);
return v___x_2083_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg___boxed(lean_object* v_f_2084_, lean_object* v_v_2085_, lean_object* v___y_2086_, lean_object* v___y_2087_, lean_object* v___y_2088_, lean_object* v___y_2089_, lean_object* v___y_2090_, lean_object* v___y_2091_){
_start:
{
lean_object* v_res_2092_; 
v_res_2092_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg(v_f_2084_, v_v_2085_, v___y_2086_, v___y_2087_, v___y_2088_, v___y_2089_, v___y_2090_);
return v_res_2092_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1(uint8_t v_pu_2093_, lean_object* v_f_2094_, lean_object* v_v_2095_, lean_object* v___y_2096_, lean_object* v___y_2097_, lean_object* v___y_2098_, lean_object* v___y_2099_, lean_object* v___y_2100_){
_start:
{
lean_object* v___x_2102_; 
v___x_2102_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg(v_f_2094_, v_v_2095_, v___y_2096_, v___y_2097_, v___y_2098_, v___y_2099_, v___y_2100_);
return v___x_2102_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___boxed(lean_object* v_pu_2103_, lean_object* v_f_2104_, lean_object* v_v_2105_, lean_object* v___y_2106_, lean_object* v___y_2107_, lean_object* v___y_2108_, lean_object* v___y_2109_, lean_object* v___y_2110_, lean_object* v___y_2111_){
_start:
{
uint8_t v_pu_boxed_2112_; lean_object* v_res_2113_; 
v_pu_boxed_2112_ = lean_unbox(v_pu_2103_);
v_res_2113_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1(v_pu_boxed_2112_, v_f_2104_, v_v_2105_, v___y_2106_, v___y_2107_, v___y_2108_, v___y_2109_, v___y_2110_);
return v_res_2113_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg(lean_object* v_x_2114_, lean_object* v_x_2115_, lean_object* v___y_2116_){
_start:
{
if (lean_obj_tag(v_x_2115_) == 0)
{
lean_object* v___x_2118_; 
v___x_2118_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2118_, 0, v_x_2114_);
return v___x_2118_;
}
else
{
lean_object* v_key_2119_; lean_object* v_tail_2120_; lean_object* v___x_2121_; 
v_key_2119_ = lean_ctor_get(v_x_2115_, 0);
lean_inc(v_key_2119_);
v_tail_2120_ = lean_ctor_get(v_x_2115_, 2);
lean_inc(v_tail_2120_);
lean_dec_ref(v_x_2115_);
v___x_2121_ = l_Lean_Compiler_LCNF_mkFreshJpName___redArg(v___y_2116_);
if (lean_obj_tag(v___x_2121_) == 0)
{
lean_object* v_a_2122_; lean_object* v___x_2123_; 
v_a_2122_ = lean_ctor_get(v___x_2121_, 0);
lean_inc(v_a_2122_);
lean_dec_ref(v___x_2121_);
v___x_2123_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v_x_2114_, v_key_2119_, v_a_2122_);
v_x_2114_ = v___x_2123_;
v_x_2115_ = v_tail_2120_;
goto _start;
}
else
{
lean_object* v_a_2125_; lean_object* v___x_2127_; uint8_t v_isShared_2128_; uint8_t v_isSharedCheck_2132_; 
lean_dec(v_tail_2120_);
lean_dec(v_key_2119_);
lean_dec_ref(v_x_2114_);
v_a_2125_ = lean_ctor_get(v___x_2121_, 0);
v_isSharedCheck_2132_ = !lean_is_exclusive(v___x_2121_);
if (v_isSharedCheck_2132_ == 0)
{
v___x_2127_ = v___x_2121_;
v_isShared_2128_ = v_isSharedCheck_2132_;
goto v_resetjp_2126_;
}
else
{
lean_inc(v_a_2125_);
lean_dec(v___x_2121_);
v___x_2127_ = lean_box(0);
v_isShared_2128_ = v_isSharedCheck_2132_;
goto v_resetjp_2126_;
}
v_resetjp_2126_:
{
lean_object* v___x_2130_; 
if (v_isShared_2128_ == 0)
{
v___x_2130_ = v___x_2127_;
goto v_reusejp_2129_;
}
else
{
lean_object* v_reuseFailAlloc_2131_; 
v_reuseFailAlloc_2131_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2131_, 0, v_a_2125_);
v___x_2130_ = v_reuseFailAlloc_2131_;
goto v_reusejp_2129_;
}
v_reusejp_2129_:
{
return v___x_2130_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg___boxed(lean_object* v_x_2133_, lean_object* v_x_2134_, lean_object* v___y_2135_, lean_object* v___y_2136_){
_start:
{
lean_object* v_res_2137_; 
v_res_2137_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg(v_x_2133_, v_x_2134_, v___y_2135_);
lean_dec(v___y_2135_);
return v_res_2137_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__2(lean_object* v_as_2138_, size_t v_i_2139_, size_t v_stop_2140_, lean_object* v_b_2141_, lean_object* v___y_2142_, lean_object* v___y_2143_, lean_object* v___y_2144_, lean_object* v___y_2145_){
_start:
{
uint8_t v___x_2147_; 
v___x_2147_ = lean_usize_dec_eq(v_i_2139_, v_stop_2140_);
if (v___x_2147_ == 0)
{
lean_object* v___x_2148_; lean_object* v___x_2149_; 
v___x_2148_ = lean_array_uget_borrowed(v_as_2138_, v_i_2139_);
lean_inc(v___x_2148_);
v___x_2149_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg(v_b_2141_, v___x_2148_, v___y_2143_);
if (lean_obj_tag(v___x_2149_) == 0)
{
lean_object* v_a_2150_; size_t v___x_2151_; size_t v___x_2152_; 
v_a_2150_ = lean_ctor_get(v___x_2149_, 0);
lean_inc(v_a_2150_);
lean_dec_ref(v___x_2149_);
v___x_2151_ = ((size_t)1ULL);
v___x_2152_ = lean_usize_add(v_i_2139_, v___x_2151_);
v_i_2139_ = v___x_2152_;
v_b_2141_ = v_a_2150_;
goto _start;
}
else
{
return v___x_2149_;
}
}
else
{
lean_object* v___x_2154_; 
v___x_2154_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2154_, 0, v_b_2141_);
return v___x_2154_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__2___boxed(lean_object* v_as_2155_, lean_object* v_i_2156_, lean_object* v_stop_2157_, lean_object* v_b_2158_, lean_object* v___y_2159_, lean_object* v___y_2160_, lean_object* v___y_2161_, lean_object* v___y_2162_, lean_object* v___y_2163_){
_start:
{
size_t v_i_boxed_2164_; size_t v_stop_boxed_2165_; lean_object* v_res_2166_; 
v_i_boxed_2164_ = lean_unbox_usize(v_i_2156_);
lean_dec(v_i_2156_);
v_stop_boxed_2165_ = lean_unbox_usize(v_stop_2157_);
lean_dec(v_stop_2157_);
v_res_2166_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__2(v_as_2155_, v_i_boxed_2164_, v_stop_boxed_2165_, v_b_2158_, v___y_2159_, v___y_2160_, v___y_2161_, v___y_2162_);
lean_dec(v___y_2162_);
lean_dec_ref(v___y_2161_);
lean_dec(v___y_2160_);
lean_dec_ref(v___y_2159_);
lean_dec_ref(v_as_2155_);
return v_res_2166_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace(lean_object* v_decl_2168_, lean_object* v_state_2169_, lean_object* v_a_2170_, lean_object* v_a_2171_, lean_object* v_a_2172_, lean_object* v_a_2173_){
_start:
{
lean_object* v_a_2176_; lean_object* v___y_2207_; lean_object* v_buckets_2217_; lean_object* v___x_2218_; lean_object* v___x_2219_; lean_object* v___x_2220_; uint8_t v___x_2221_; 
v_buckets_2217_ = lean_ctor_get(v_state_2169_, 1);
v___x_2218_ = lean_unsigned_to_nat(0u);
v___x_2219_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_2220_ = lean_array_get_size(v_buckets_2217_);
v___x_2221_ = lean_nat_dec_lt(v___x_2218_, v___x_2220_);
if (v___x_2221_ == 0)
{
v_a_2176_ = v___x_2219_;
goto v___jp_2175_;
}
else
{
uint8_t v___x_2222_; 
v___x_2222_ = lean_nat_dec_le(v___x_2220_, v___x_2220_);
if (v___x_2222_ == 0)
{
if (v___x_2221_ == 0)
{
v_a_2176_ = v___x_2219_;
goto v___jp_2175_;
}
else
{
size_t v___x_2223_; size_t v___x_2224_; lean_object* v___x_2225_; 
v___x_2223_ = ((size_t)0ULL);
v___x_2224_ = lean_usize_of_nat(v___x_2220_);
v___x_2225_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__2(v_buckets_2217_, v___x_2223_, v___x_2224_, v___x_2219_, v_a_2170_, v_a_2171_, v_a_2172_, v_a_2173_);
v___y_2207_ = v___x_2225_;
goto v___jp_2206_;
}
}
else
{
size_t v___x_2226_; size_t v___x_2227_; lean_object* v___x_2228_; 
v___x_2226_ = ((size_t)0ULL);
v___x_2227_ = lean_usize_of_nat(v___x_2220_);
v___x_2228_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__2(v_buckets_2217_, v___x_2226_, v___x_2227_, v___x_2219_, v_a_2170_, v_a_2171_, v_a_2172_, v_a_2173_);
v___y_2207_ = v___x_2228_;
goto v___jp_2206_;
}
}
v___jp_2175_:
{
lean_object* v_toSignature_2177_; lean_object* v_value_2178_; uint8_t v_recursive_2179_; lean_object* v_inlineAttr_x3f_2180_; lean_object* v___x_2182_; uint8_t v_isShared_2183_; uint8_t v_isSharedCheck_2205_; 
v_toSignature_2177_ = lean_ctor_get(v_decl_2168_, 0);
v_value_2178_ = lean_ctor_get(v_decl_2168_, 1);
v_recursive_2179_ = lean_ctor_get_uint8(v_decl_2168_, sizeof(void*)*3);
v_inlineAttr_x3f_2180_ = lean_ctor_get(v_decl_2168_, 2);
v_isSharedCheck_2205_ = !lean_is_exclusive(v_decl_2168_);
if (v_isSharedCheck_2205_ == 0)
{
v___x_2182_ = v_decl_2168_;
v_isShared_2183_ = v_isSharedCheck_2205_;
goto v_resetjp_2181_;
}
else
{
lean_inc(v_inlineAttr_x3f_2180_);
lean_inc(v_value_2178_);
lean_inc(v_toSignature_2177_);
lean_dec(v_decl_2168_);
v___x_2182_ = lean_box(0);
v_isShared_2183_ = v_isSharedCheck_2205_;
goto v_resetjp_2181_;
}
v_resetjp_2181_:
{
lean_object* v___x_2184_; lean_object* v___x_2185_; 
v___x_2184_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointFinder_replace___closed__0));
v___x_2185_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__1___redArg(v___x_2184_, v_value_2178_, v_a_2176_, v_a_2170_, v_a_2171_, v_a_2172_, v_a_2173_);
if (lean_obj_tag(v___x_2185_) == 0)
{
lean_object* v_a_2186_; lean_object* v___x_2188_; uint8_t v_isShared_2189_; uint8_t v_isSharedCheck_2196_; 
v_a_2186_ = lean_ctor_get(v___x_2185_, 0);
v_isSharedCheck_2196_ = !lean_is_exclusive(v___x_2185_);
if (v_isSharedCheck_2196_ == 0)
{
v___x_2188_ = v___x_2185_;
v_isShared_2189_ = v_isSharedCheck_2196_;
goto v_resetjp_2187_;
}
else
{
lean_inc(v_a_2186_);
lean_dec(v___x_2185_);
v___x_2188_ = lean_box(0);
v_isShared_2189_ = v_isSharedCheck_2196_;
goto v_resetjp_2187_;
}
v_resetjp_2187_:
{
lean_object* v___x_2191_; 
if (v_isShared_2183_ == 0)
{
lean_ctor_set(v___x_2182_, 1, v_a_2186_);
v___x_2191_ = v___x_2182_;
goto v_reusejp_2190_;
}
else
{
lean_object* v_reuseFailAlloc_2195_; 
v_reuseFailAlloc_2195_ = lean_alloc_ctor(0, 3, 1);
lean_ctor_set(v_reuseFailAlloc_2195_, 0, v_toSignature_2177_);
lean_ctor_set(v_reuseFailAlloc_2195_, 1, v_a_2186_);
lean_ctor_set(v_reuseFailAlloc_2195_, 2, v_inlineAttr_x3f_2180_);
lean_ctor_set_uint8(v_reuseFailAlloc_2195_, sizeof(void*)*3, v_recursive_2179_);
v___x_2191_ = v_reuseFailAlloc_2195_;
goto v_reusejp_2190_;
}
v_reusejp_2190_:
{
lean_object* v___x_2193_; 
if (v_isShared_2189_ == 0)
{
lean_ctor_set(v___x_2188_, 0, v___x_2191_);
v___x_2193_ = v___x_2188_;
goto v_reusejp_2192_;
}
else
{
lean_object* v_reuseFailAlloc_2194_; 
v_reuseFailAlloc_2194_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2194_, 0, v___x_2191_);
v___x_2193_ = v_reuseFailAlloc_2194_;
goto v_reusejp_2192_;
}
v_reusejp_2192_:
{
return v___x_2193_;
}
}
}
}
else
{
lean_object* v_a_2197_; lean_object* v___x_2199_; uint8_t v_isShared_2200_; uint8_t v_isSharedCheck_2204_; 
lean_del_object(v___x_2182_);
lean_dec(v_inlineAttr_x3f_2180_);
lean_dec_ref(v_toSignature_2177_);
v_a_2197_ = lean_ctor_get(v___x_2185_, 0);
v_isSharedCheck_2204_ = !lean_is_exclusive(v___x_2185_);
if (v_isSharedCheck_2204_ == 0)
{
v___x_2199_ = v___x_2185_;
v_isShared_2200_ = v_isSharedCheck_2204_;
goto v_resetjp_2198_;
}
else
{
lean_inc(v_a_2197_);
lean_dec(v___x_2185_);
v___x_2199_ = lean_box(0);
v_isShared_2200_ = v_isSharedCheck_2204_;
goto v_resetjp_2198_;
}
v_resetjp_2198_:
{
lean_object* v___x_2202_; 
if (v_isShared_2200_ == 0)
{
v___x_2202_ = v___x_2199_;
goto v_reusejp_2201_;
}
else
{
lean_object* v_reuseFailAlloc_2203_; 
v_reuseFailAlloc_2203_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2203_, 0, v_a_2197_);
v___x_2202_ = v_reuseFailAlloc_2203_;
goto v_reusejp_2201_;
}
v_reusejp_2201_:
{
return v___x_2202_;
}
}
}
}
}
v___jp_2206_:
{
if (lean_obj_tag(v___y_2207_) == 0)
{
lean_object* v_a_2208_; 
v_a_2208_ = lean_ctor_get(v___y_2207_, 0);
lean_inc(v_a_2208_);
lean_dec_ref(v___y_2207_);
v_a_2176_ = v_a_2208_;
goto v___jp_2175_;
}
else
{
lean_object* v_a_2209_; lean_object* v___x_2211_; uint8_t v_isShared_2212_; uint8_t v_isSharedCheck_2216_; 
lean_dec(v_a_2173_);
lean_dec_ref(v_a_2172_);
lean_dec(v_a_2171_);
lean_dec_ref(v_a_2170_);
lean_dec_ref(v_decl_2168_);
v_a_2209_ = lean_ctor_get(v___y_2207_, 0);
v_isSharedCheck_2216_ = !lean_is_exclusive(v___y_2207_);
if (v_isSharedCheck_2216_ == 0)
{
v___x_2211_ = v___y_2207_;
v_isShared_2212_ = v_isSharedCheck_2216_;
goto v_resetjp_2210_;
}
else
{
lean_inc(v_a_2209_);
lean_dec(v___y_2207_);
v___x_2211_ = lean_box(0);
v_isShared_2212_ = v_isSharedCheck_2216_;
goto v_resetjp_2210_;
}
v_resetjp_2210_:
{
lean_object* v___x_2214_; 
if (v_isShared_2212_ == 0)
{
v___x_2214_ = v___x_2211_;
goto v_reusejp_2213_;
}
else
{
lean_object* v_reuseFailAlloc_2215_; 
v_reuseFailAlloc_2215_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2215_, 0, v_a_2209_);
v___x_2214_ = v_reuseFailAlloc_2215_;
goto v_reusejp_2213_;
}
v_reusejp_2213_:
{
return v___x_2214_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace___boxed(lean_object* v_decl_2229_, lean_object* v_state_2230_, lean_object* v_a_2231_, lean_object* v_a_2232_, lean_object* v_a_2233_, lean_object* v_a_2234_, lean_object* v_a_2235_){
_start:
{
lean_object* v_res_2236_; 
v_res_2236_ = l_Lean_Compiler_LCNF_JoinPointFinder_replace(v_decl_2229_, v_state_2230_, v_a_2231_, v_a_2232_, v_a_2233_, v_a_2234_);
lean_dec_ref(v_state_2230_);
return v_res_2236_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0(lean_object* v_x_2237_, lean_object* v_x_2238_, lean_object* v___y_2239_, lean_object* v___y_2240_, lean_object* v___y_2241_, lean_object* v___y_2242_){
_start:
{
lean_object* v___x_2244_; 
v___x_2244_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___redArg(v_x_2237_, v_x_2238_, v___y_2240_);
return v___x_2244_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0___boxed(lean_object* v_x_2245_, lean_object* v_x_2246_, lean_object* v___y_2247_, lean_object* v___y_2248_, lean_object* v___y_2249_, lean_object* v___y_2250_, lean_object* v___y_2251_){
_start:
{
lean_object* v_res_2252_; 
v_res_2252_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointFinder_replace_spec__0(v_x_2245_, v_x_2246_, v___y_2247_, v___y_2248_, v___y_2249_, v___y_2250_);
lean_dec(v___y_2250_);
lean_dec_ref(v___y_2249_);
lean_dec(v___y_2248_);
lean_dec_ref(v___y_2247_);
return v_res_2252_;
}
}
LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(lean_object* v_k_2253_, lean_object* v_t_2254_){
_start:
{
if (lean_obj_tag(v_t_2254_) == 0)
{
lean_object* v_k_2255_; lean_object* v_l_2256_; lean_object* v_r_2257_; uint8_t v___x_2258_; 
v_k_2255_ = lean_ctor_get(v_t_2254_, 1);
v_l_2256_ = lean_ctor_get(v_t_2254_, 3);
v_r_2257_ = lean_ctor_get(v_t_2254_, 4);
v___x_2258_ = l___private_Lean_Data_Name_0__Lean_Name_quickCmpImpl(v_k_2253_, v_k_2255_);
switch(v___x_2258_)
{
case 0:
{
v_t_2254_ = v_l_2256_;
goto _start;
}
case 1:
{
uint8_t v___x_2260_; 
v___x_2260_ = 1;
return v___x_2260_;
}
default: 
{
v_t_2254_ = v_r_2257_;
goto _start;
}
}
}
else
{
uint8_t v___x_2262_; 
v___x_2262_ = 0;
return v___x_2262_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg___boxed(lean_object* v_k_2263_, lean_object* v_t_2264_){
_start:
{
uint8_t v_res_2265_; lean_object* v_r_2266_; 
v_res_2265_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(v_k_2263_, v_t_2264_);
lean_dec(v_t_2264_);
lean_dec(v_k_2263_);
v_r_2266_ = lean_box(v_res_2265_);
return v_r_2266_;
}
}
static lean_object* _init_l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__3(void){
_start:
{
lean_object* v___x_2270_; lean_object* v___x_2271_; lean_object* v___x_2272_; lean_object* v___x_2273_; lean_object* v___x_2274_; lean_object* v___x_2275_; 
v___x_2270_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__2));
v___x_2271_ = lean_unsigned_to_nat(11u);
v___x_2272_ = lean_unsigned_to_nat(163u);
v___x_2273_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__1));
v___x_2274_ = ((lean_object*)(l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__0));
v___x_2275_ = l_mkPanicMessageWithDecl(v___x_2274_, v___x_2273_, v___x_2272_, v___x_2271_, v___x_2270_);
return v___x_2275_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg(lean_object* v_inst_2276_, lean_object* v_a_2277_, lean_object* v_x_2278_){
_start:
{
if (lean_obj_tag(v_x_2278_) == 0)
{
lean_object* v___x_2279_; lean_object* v___x_2280_; 
v___x_2279_ = lean_obj_once(&l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__3, &l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__3_once, _init_l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___closed__3);
v___x_2280_ = lean_panic_fn(v_inst_2276_, v___x_2279_);
return v___x_2280_;
}
else
{
lean_object* v_key_2281_; lean_object* v_value_2282_; lean_object* v_tail_2283_; uint8_t v___x_2284_; 
v_key_2281_ = lean_ctor_get(v_x_2278_, 0);
v_value_2282_ = lean_ctor_get(v_x_2278_, 1);
v_tail_2283_ = lean_ctor_get(v_x_2278_, 2);
v___x_2284_ = l_Lean_instBEqFVarId_beq(v_key_2281_, v_a_2277_);
if (v___x_2284_ == 0)
{
v_x_2278_ = v_tail_2283_;
goto _start;
}
else
{
lean_dec(v_inst_2276_);
lean_inc(v_value_2282_);
return v_value_2282_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg___boxed(lean_object* v_inst_2286_, lean_object* v_a_2287_, lean_object* v_x_2288_){
_start:
{
lean_object* v_res_2289_; 
v_res_2289_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg(v_inst_2286_, v_a_2287_, v_x_2288_);
lean_dec(v_x_2288_);
lean_dec(v_a_2287_);
return v_res_2289_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(lean_object* v_inst_2290_, lean_object* v_m_2291_, lean_object* v_a_2292_){
_start:
{
lean_object* v_buckets_2293_; lean_object* v___x_2294_; uint64_t v___x_2295_; uint64_t v___x_2296_; uint64_t v___x_2297_; uint64_t v_fold_2298_; uint64_t v___x_2299_; uint64_t v___x_2300_; uint64_t v___x_2301_; size_t v___x_2302_; size_t v___x_2303_; size_t v___x_2304_; size_t v___x_2305_; size_t v___x_2306_; lean_object* v___x_2307_; lean_object* v___x_2308_; 
v_buckets_2293_ = lean_ctor_get(v_m_2291_, 1);
v___x_2294_ = lean_array_get_size(v_buckets_2293_);
v___x_2295_ = l_Lean_instHashableFVarId_hash(v_a_2292_);
v___x_2296_ = 32ULL;
v___x_2297_ = lean_uint64_shift_right(v___x_2295_, v___x_2296_);
v_fold_2298_ = lean_uint64_xor(v___x_2295_, v___x_2297_);
v___x_2299_ = 16ULL;
v___x_2300_ = lean_uint64_shift_right(v_fold_2298_, v___x_2299_);
v___x_2301_ = lean_uint64_xor(v_fold_2298_, v___x_2300_);
v___x_2302_ = lean_uint64_to_usize(v___x_2301_);
v___x_2303_ = lean_usize_of_nat(v___x_2294_);
v___x_2304_ = ((size_t)1ULL);
v___x_2305_ = lean_usize_sub(v___x_2303_, v___x_2304_);
v___x_2306_ = lean_usize_land(v___x_2302_, v___x_2305_);
v___x_2307_ = lean_array_uget_borrowed(v_buckets_2293_, v___x_2306_);
v___x_2308_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg(v_inst_2290_, v_a_2292_, v___x_2307_);
return v___x_2308_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg___boxed(lean_object* v_inst_2309_, lean_object* v_m_2310_, lean_object* v_a_2311_){
_start:
{
lean_object* v_res_2312_; 
v_res_2312_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v_inst_2309_, v_m_2310_, v_a_2311_);
lean_dec(v_a_2311_);
lean_dec_ref(v_m_2310_);
return v_res_2312_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0(void){
_start:
{
lean_object* v___x_2313_; lean_object* v___x_2314_; lean_object* v___x_2315_; 
v___x_2313_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__1));
v___x_2314_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_findCandidate_x3f___redArg___closed__0));
v___x_2315_ = l_Std_HashMap_instInhabited(lean_box(0), lean_box(0), v___x_2314_, v___x_2313_);
return v___x_2315_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(lean_object* v_fvar_2316_, lean_object* v_a_2317_, lean_object* v_a_2318_){
_start:
{
lean_object* v_currentJp_x3f_2320_; lean_object* v_candidates_2321_; uint8_t v___x_2322_; 
v_currentJp_x3f_2320_ = lean_ctor_get(v_a_2317_, 0);
lean_inc(v_currentJp_x3f_2320_);
v_candidates_2321_ = lean_ctor_get(v_a_2317_, 1);
lean_inc(v_candidates_2321_);
lean_dec_ref(v_a_2317_);
v___x_2322_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(v_fvar_2316_, v_candidates_2321_);
lean_dec(v_candidates_2321_);
if (v___x_2322_ == 0)
{
lean_object* v___x_2323_; 
lean_dec(v_currentJp_x3f_2320_);
v___x_2323_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2323_, 0, v_fvar_2316_);
return v___x_2323_;
}
else
{
if (lean_obj_tag(v_currentJp_x3f_2320_) == 1)
{
lean_object* v_val_2324_; lean_object* v___x_2326_; uint8_t v_isShared_2327_; uint8_t v_isSharedCheck_2344_; 
v_val_2324_ = lean_ctor_get(v_currentJp_x3f_2320_, 0);
v_isSharedCheck_2344_ = !lean_is_exclusive(v_currentJp_x3f_2320_);
if (v_isSharedCheck_2344_ == 0)
{
v___x_2326_ = v_currentJp_x3f_2320_;
v_isShared_2327_ = v_isSharedCheck_2344_;
goto v_resetjp_2325_;
}
else
{
lean_inc(v_val_2324_);
lean_dec(v_currentJp_x3f_2320_);
v___x_2326_ = lean_box(0);
v_isShared_2327_ = v_isSharedCheck_2344_;
goto v_resetjp_2325_;
}
v_resetjp_2325_:
{
lean_object* v___x_2328_; lean_object* v___x_2329_; lean_object* v___x_2330_; lean_object* v___x_2331_; 
v___x_2328_ = lean_st_ref_get(v_a_2318_);
v___x_2329_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0, &l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0);
v___x_2330_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v___x_2329_, v___x_2328_, v_val_2324_);
lean_dec(v_val_2324_);
lean_dec(v___x_2328_);
v___x_2331_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v___x_2330_, v_fvar_2316_);
lean_dec(v___x_2330_);
if (lean_obj_tag(v___x_2331_) == 1)
{
lean_object* v_val_2332_; lean_object* v___x_2334_; uint8_t v_isShared_2335_; uint8_t v_isSharedCheck_2340_; 
lean_del_object(v___x_2326_);
lean_dec(v_fvar_2316_);
v_val_2332_ = lean_ctor_get(v___x_2331_, 0);
v_isSharedCheck_2340_ = !lean_is_exclusive(v___x_2331_);
if (v_isSharedCheck_2340_ == 0)
{
v___x_2334_ = v___x_2331_;
v_isShared_2335_ = v_isSharedCheck_2340_;
goto v_resetjp_2333_;
}
else
{
lean_inc(v_val_2332_);
lean_dec(v___x_2331_);
v___x_2334_ = lean_box(0);
v_isShared_2335_ = v_isSharedCheck_2340_;
goto v_resetjp_2333_;
}
v_resetjp_2333_:
{
lean_object* v_fvarId_2336_; lean_object* v___x_2338_; 
v_fvarId_2336_ = lean_ctor_get(v_val_2332_, 0);
lean_inc(v_fvarId_2336_);
lean_dec(v_val_2332_);
if (v_isShared_2335_ == 0)
{
lean_ctor_set_tag(v___x_2334_, 0);
lean_ctor_set(v___x_2334_, 0, v_fvarId_2336_);
v___x_2338_ = v___x_2334_;
goto v_reusejp_2337_;
}
else
{
lean_object* v_reuseFailAlloc_2339_; 
v_reuseFailAlloc_2339_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2339_, 0, v_fvarId_2336_);
v___x_2338_ = v_reuseFailAlloc_2339_;
goto v_reusejp_2337_;
}
v_reusejp_2337_:
{
return v___x_2338_;
}
}
}
else
{
lean_object* v___x_2342_; 
lean_dec(v___x_2331_);
if (v_isShared_2327_ == 0)
{
lean_ctor_set_tag(v___x_2326_, 0);
lean_ctor_set(v___x_2326_, 0, v_fvar_2316_);
v___x_2342_ = v___x_2326_;
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_fvar_2316_);
v___x_2342_ = v_reuseFailAlloc_2343_;
goto v_reusejp_2341_;
}
v_reusejp_2341_:
{
return v___x_2342_;
}
}
}
}
else
{
lean_object* v___x_2345_; 
lean_dec(v_currentJp_x3f_2320_);
v___x_2345_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2345_, 0, v_fvar_2316_);
return v___x_2345_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___boxed(lean_object* v_fvar_2346_, lean_object* v_a_2347_, lean_object* v_a_2348_, lean_object* v_a_2349_){
_start:
{
lean_object* v_res_2350_; 
v_res_2350_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(v_fvar_2346_, v_a_2347_, v_a_2348_);
lean_dec(v_a_2348_);
return v_res_2350_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar(lean_object* v_fvar_2351_, lean_object* v_a_2352_, lean_object* v_a_2353_, lean_object* v_a_2354_, lean_object* v_a_2355_, lean_object* v_a_2356_, lean_object* v_a_2357_, lean_object* v_a_2358_){
_start:
{
lean_object* v___x_2360_; 
v___x_2360_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(v_fvar_2351_, v_a_2352_, v_a_2353_);
return v___x_2360_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___boxed(lean_object* v_fvar_2361_, lean_object* v_a_2362_, lean_object* v_a_2363_, lean_object* v_a_2364_, lean_object* v_a_2365_, lean_object* v_a_2366_, lean_object* v_a_2367_, lean_object* v_a_2368_, lean_object* v_a_2369_){
_start:
{
lean_object* v_res_2370_; 
v_res_2370_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar(v_fvar_2361_, v_a_2362_, v_a_2363_, v_a_2364_, v_a_2365_, v_a_2366_, v_a_2367_, v_a_2368_);
lean_dec(v_a_2368_);
lean_dec_ref(v_a_2367_);
lean_dec(v_a_2366_);
lean_dec_ref(v_a_2365_);
lean_dec(v_a_2364_);
lean_dec(v_a_2363_);
return v_res_2370_;
}
}
LEAN_EXPORT uint8_t l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0(lean_object* v_00_u03b2_2371_, lean_object* v_k_2372_, lean_object* v_t_2373_){
_start:
{
uint8_t v___x_2374_; 
v___x_2374_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(v_k_2372_, v_t_2373_);
return v___x_2374_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___boxed(lean_object* v_00_u03b2_2375_, lean_object* v_k_2376_, lean_object* v_t_2377_){
_start:
{
uint8_t v_res_2378_; lean_object* v_r_2379_; 
v_res_2378_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0(v_00_u03b2_2375_, v_k_2376_, v_t_2377_);
lean_dec(v_t_2377_);
lean_dec(v_k_2376_);
v_r_2379_ = lean_box(v_res_2378_);
return v_r_2379_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1(lean_object* v_00_u03b2_2380_, lean_object* v_inst_2381_, lean_object* v_m_2382_, lean_object* v_a_2383_){
_start:
{
lean_object* v___x_2384_; 
v___x_2384_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v_inst_2381_, v_m_2382_, v_a_2383_);
return v___x_2384_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___boxed(lean_object* v_00_u03b2_2385_, lean_object* v_inst_2386_, lean_object* v_m_2387_, lean_object* v_a_2388_){
_start:
{
lean_object* v_res_2389_; 
v_res_2389_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1(v_00_u03b2_2385_, v_inst_2386_, v_m_2387_, v_a_2388_);
lean_dec(v_a_2388_);
lean_dec_ref(v_m_2387_);
return v_res_2389_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1(lean_object* v_00_u03b2_2390_, lean_object* v_inst_2391_, lean_object* v_a_2392_, lean_object* v_x_2393_){
_start:
{
lean_object* v___x_2394_; 
v___x_2394_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___redArg(v_inst_2391_, v_a_2392_, v_x_2393_);
return v___x_2394_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1___boxed(lean_object* v_00_u03b2_2395_, lean_object* v_inst_2396_, lean_object* v_a_2397_, lean_object* v_x_2398_){
_start:
{
lean_object* v_res_2399_; 
v_res_2399_ = l_Std_DHashMap_Internal_AssocList_get_x21___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1_spec__1(v_00_u03b2_2395_, v_inst_2396_, v_a_2397_, v_x_2398_);
lean_dec(v_x_2398_);
lean_dec(v_a_2397_);
return v_res_2399_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(lean_object* v_fvar_2400_, lean_object* v_x_2401_, lean_object* v_a_2402_, lean_object* v_a_2403_, lean_object* v_a_2404_, lean_object* v_a_2405_, lean_object* v_a_2406_, lean_object* v_a_2407_, lean_object* v_a_2408_){
_start:
{
lean_object* v___x_2410_; 
lean_inc(v_fvar_2400_);
v___x_2410_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v_fvar_2400_, v_a_2404_);
if (lean_obj_tag(v___x_2410_) == 0)
{
lean_object* v_currentJp_x3f_2411_; 
lean_dec_ref(v___x_2410_);
v_currentJp_x3f_2411_ = lean_ctor_get(v_a_2402_, 0);
if (lean_obj_tag(v_currentJp_x3f_2411_) == 0)
{
lean_object* v___x_2412_; 
lean_dec(v_fvar_2400_);
v___x_2412_ = lean_apply_8(v_x_2401_, v_a_2402_, v_a_2403_, v_a_2404_, v_a_2405_, v_a_2406_, v_a_2407_, v_a_2408_, lean_box(0));
return v___x_2412_;
}
else
{
lean_object* v_candidates_2413_; lean_object* v___x_2415_; uint8_t v_isShared_2416_; uint8_t v_isSharedCheck_2422_; 
lean_inc_ref(v_currentJp_x3f_2411_);
v_candidates_2413_ = lean_ctor_get(v_a_2402_, 1);
v_isSharedCheck_2422_ = !lean_is_exclusive(v_a_2402_);
if (v_isSharedCheck_2422_ == 0)
{
lean_object* v_unused_2423_; 
v_unused_2423_ = lean_ctor_get(v_a_2402_, 0);
lean_dec(v_unused_2423_);
v___x_2415_ = v_a_2402_;
v_isShared_2416_ = v_isSharedCheck_2422_;
goto v_resetjp_2414_;
}
else
{
lean_inc(v_candidates_2413_);
lean_dec(v_a_2402_);
v___x_2415_ = lean_box(0);
v_isShared_2416_ = v_isSharedCheck_2422_;
goto v_resetjp_2414_;
}
v_resetjp_2414_:
{
lean_object* v___x_2417_; lean_object* v___x_2419_; 
v___x_2417_ = l_Lean_FVarIdSet_insert(v_candidates_2413_, v_fvar_2400_);
if (v_isShared_2416_ == 0)
{
lean_ctor_set(v___x_2415_, 1, v___x_2417_);
v___x_2419_ = v___x_2415_;
goto v_reusejp_2418_;
}
else
{
lean_object* v_reuseFailAlloc_2421_; 
v_reuseFailAlloc_2421_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2421_, 0, v_currentJp_x3f_2411_);
lean_ctor_set(v_reuseFailAlloc_2421_, 1, v___x_2417_);
v___x_2419_ = v_reuseFailAlloc_2421_;
goto v_reusejp_2418_;
}
v_reusejp_2418_:
{
lean_object* v___x_2420_; 
v___x_2420_ = lean_apply_8(v_x_2401_, v___x_2419_, v_a_2403_, v_a_2404_, v_a_2405_, v_a_2406_, v_a_2407_, v_a_2408_, lean_box(0));
return v___x_2420_;
}
}
}
}
else
{
lean_object* v_a_2424_; lean_object* v___x_2426_; uint8_t v_isShared_2427_; uint8_t v_isSharedCheck_2431_; 
lean_dec(v_a_2408_);
lean_dec_ref(v_a_2407_);
lean_dec(v_a_2406_);
lean_dec_ref(v_a_2405_);
lean_dec(v_a_2404_);
lean_dec(v_a_2403_);
lean_dec_ref(v_a_2402_);
lean_dec_ref(v_x_2401_);
lean_dec(v_fvar_2400_);
v_a_2424_ = lean_ctor_get(v___x_2410_, 0);
v_isSharedCheck_2431_ = !lean_is_exclusive(v___x_2410_);
if (v_isSharedCheck_2431_ == 0)
{
v___x_2426_ = v___x_2410_;
v_isShared_2427_ = v_isSharedCheck_2431_;
goto v_resetjp_2425_;
}
else
{
lean_inc(v_a_2424_);
lean_dec(v___x_2410_);
v___x_2426_ = lean_box(0);
v_isShared_2427_ = v_isSharedCheck_2431_;
goto v_resetjp_2425_;
}
v_resetjp_2425_:
{
lean_object* v___x_2429_; 
if (v_isShared_2427_ == 0)
{
v___x_2429_ = v___x_2426_;
goto v_reusejp_2428_;
}
else
{
lean_object* v_reuseFailAlloc_2430_; 
v_reuseFailAlloc_2430_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2430_, 0, v_a_2424_);
v___x_2429_ = v_reuseFailAlloc_2430_;
goto v_reusejp_2428_;
}
v_reusejp_2428_:
{
return v___x_2429_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg___boxed(lean_object* v_fvar_2432_, lean_object* v_x_2433_, lean_object* v_a_2434_, lean_object* v_a_2435_, lean_object* v_a_2436_, lean_object* v_a_2437_, lean_object* v_a_2438_, lean_object* v_a_2439_, lean_object* v_a_2440_, lean_object* v_a_2441_){
_start:
{
lean_object* v_res_2442_; 
v_res_2442_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(v_fvar_2432_, v_x_2433_, v_a_2434_, v_a_2435_, v_a_2436_, v_a_2437_, v_a_2438_, v_a_2439_, v_a_2440_);
return v_res_2442_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate(lean_object* v_00_u03b1_2443_, lean_object* v_fvar_2444_, lean_object* v_x_2445_, lean_object* v_a_2446_, lean_object* v_a_2447_, lean_object* v_a_2448_, lean_object* v_a_2449_, lean_object* v_a_2450_, lean_object* v_a_2451_, lean_object* v_a_2452_){
_start:
{
lean_object* v___x_2454_; 
v___x_2454_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(v_fvar_2444_, v_x_2445_, v_a_2446_, v_a_2447_, v_a_2448_, v_a_2449_, v_a_2450_, v_a_2451_, v_a_2452_);
return v___x_2454_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___boxed(lean_object* v_00_u03b1_2455_, lean_object* v_fvar_2456_, lean_object* v_x_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_, lean_object* v_a_2464_, lean_object* v_a_2465_){
_start:
{
lean_object* v_res_2466_; 
v_res_2466_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate(v_00_u03b1_2455_, v_fvar_2456_, v_x_2457_, v_a_2458_, v_a_2459_, v_a_2460_, v_a_2461_, v_a_2462_, v_a_2463_, v_a_2464_);
return v_res_2466_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg(lean_object* v_as_2467_, size_t v_i_2468_, size_t v_stop_2469_, lean_object* v_b_2470_, lean_object* v___y_2471_){
_start:
{
uint8_t v___x_2473_; 
v___x_2473_ = lean_usize_dec_eq(v_i_2468_, v_stop_2469_);
if (v___x_2473_ == 0)
{
lean_object* v___x_2474_; lean_object* v___x_2475_; 
v___x_2474_ = lean_array_uget_borrowed(v_as_2467_, v_i_2468_);
lean_inc(v___x_2474_);
v___x_2475_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v___x_2474_, v___y_2471_);
if (lean_obj_tag(v___x_2475_) == 0)
{
lean_object* v___x_2476_; size_t v___x_2477_; size_t v___x_2478_; 
lean_dec_ref(v___x_2475_);
lean_inc(v___x_2474_);
v___x_2476_ = l_Lean_FVarIdSet_insert(v_b_2470_, v___x_2474_);
v___x_2477_ = ((size_t)1ULL);
v___x_2478_ = lean_usize_add(v_i_2468_, v___x_2477_);
v_i_2468_ = v___x_2478_;
v_b_2470_ = v___x_2476_;
goto _start;
}
else
{
lean_object* v_a_2480_; lean_object* v___x_2482_; uint8_t v_isShared_2483_; uint8_t v_isSharedCheck_2487_; 
lean_dec(v_b_2470_);
v_a_2480_ = lean_ctor_get(v___x_2475_, 0);
v_isSharedCheck_2487_ = !lean_is_exclusive(v___x_2475_);
if (v_isSharedCheck_2487_ == 0)
{
v___x_2482_ = v___x_2475_;
v_isShared_2483_ = v_isSharedCheck_2487_;
goto v_resetjp_2481_;
}
else
{
lean_inc(v_a_2480_);
lean_dec(v___x_2475_);
v___x_2482_ = lean_box(0);
v_isShared_2483_ = v_isSharedCheck_2487_;
goto v_resetjp_2481_;
}
v_resetjp_2481_:
{
lean_object* v___x_2485_; 
if (v_isShared_2483_ == 0)
{
v___x_2485_ = v___x_2482_;
goto v_reusejp_2484_;
}
else
{
lean_object* v_reuseFailAlloc_2486_; 
v_reuseFailAlloc_2486_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2486_, 0, v_a_2480_);
v___x_2485_ = v_reuseFailAlloc_2486_;
goto v_reusejp_2484_;
}
v_reusejp_2484_:
{
return v___x_2485_;
}
}
}
}
else
{
lean_object* v___x_2488_; 
v___x_2488_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2488_, 0, v_b_2470_);
return v___x_2488_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg___boxed(lean_object* v_as_2489_, lean_object* v_i_2490_, lean_object* v_stop_2491_, lean_object* v_b_2492_, lean_object* v___y_2493_, lean_object* v___y_2494_){
_start:
{
size_t v_i_boxed_2495_; size_t v_stop_boxed_2496_; lean_object* v_res_2497_; 
v_i_boxed_2495_ = lean_unbox_usize(v_i_2490_);
lean_dec(v_i_2490_);
v_stop_boxed_2496_ = lean_unbox_usize(v_stop_2491_);
lean_dec(v_stop_2491_);
v_res_2497_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg(v_as_2489_, v_i_boxed_2495_, v_stop_boxed_2496_, v_b_2492_, v___y_2493_);
lean_dec(v___y_2493_);
lean_dec_ref(v_as_2489_);
return v_res_2497_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg(lean_object* v_fvars_2498_, lean_object* v_x_2499_, lean_object* v_a_2500_, lean_object* v_a_2501_, lean_object* v_a_2502_, lean_object* v_a_2503_, lean_object* v_a_2504_, lean_object* v_a_2505_, lean_object* v_a_2506_){
_start:
{
lean_object* v_currentJp_x3f_2508_; lean_object* v_candidates_2509_; lean_object* v_a_2511_; lean_object* v___y_2515_; 
v_currentJp_x3f_2508_ = lean_ctor_get(v_a_2500_, 0);
v_candidates_2509_ = lean_ctor_get(v_a_2500_, 1);
if (lean_obj_tag(v_currentJp_x3f_2508_) == 0)
{
lean_object* v___x_2525_; 
v___x_2525_ = lean_apply_8(v_x_2499_, v_a_2500_, v_a_2501_, v_a_2502_, v_a_2503_, v_a_2504_, v_a_2505_, v_a_2506_, lean_box(0));
return v___x_2525_;
}
else
{
lean_object* v___x_2526_; lean_object* v___x_2527_; uint8_t v___x_2528_; 
lean_inc_ref(v_currentJp_x3f_2508_);
lean_inc(v_candidates_2509_);
lean_dec_ref(v_a_2500_);
v___x_2526_ = lean_unsigned_to_nat(0u);
v___x_2527_ = lean_array_get_size(v_fvars_2498_);
v___x_2528_ = lean_nat_dec_lt(v___x_2526_, v___x_2527_);
if (v___x_2528_ == 0)
{
v_a_2511_ = v_candidates_2509_;
goto v___jp_2510_;
}
else
{
uint8_t v___x_2529_; 
v___x_2529_ = lean_nat_dec_le(v___x_2527_, v___x_2527_);
if (v___x_2529_ == 0)
{
if (v___x_2528_ == 0)
{
v_a_2511_ = v_candidates_2509_;
goto v___jp_2510_;
}
else
{
size_t v___x_2530_; size_t v___x_2531_; lean_object* v___x_2532_; 
v___x_2530_ = ((size_t)0ULL);
v___x_2531_ = lean_usize_of_nat(v___x_2527_);
v___x_2532_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg(v_fvars_2498_, v___x_2530_, v___x_2531_, v_candidates_2509_, v_a_2502_);
v___y_2515_ = v___x_2532_;
goto v___jp_2514_;
}
}
else
{
size_t v___x_2533_; size_t v___x_2534_; lean_object* v___x_2535_; 
v___x_2533_ = ((size_t)0ULL);
v___x_2534_ = lean_usize_of_nat(v___x_2527_);
v___x_2535_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg(v_fvars_2498_, v___x_2533_, v___x_2534_, v_candidates_2509_, v_a_2502_);
v___y_2515_ = v___x_2535_;
goto v___jp_2514_;
}
}
}
v___jp_2510_:
{
lean_object* v___x_2512_; lean_object* v___x_2513_; 
v___x_2512_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2512_, 0, v_currentJp_x3f_2508_);
lean_ctor_set(v___x_2512_, 1, v_a_2511_);
v___x_2513_ = lean_apply_8(v_x_2499_, v___x_2512_, v_a_2501_, v_a_2502_, v_a_2503_, v_a_2504_, v_a_2505_, v_a_2506_, lean_box(0));
return v___x_2513_;
}
v___jp_2514_:
{
if (lean_obj_tag(v___y_2515_) == 0)
{
lean_object* v_a_2516_; 
v_a_2516_ = lean_ctor_get(v___y_2515_, 0);
lean_inc(v_a_2516_);
lean_dec_ref(v___y_2515_);
v_a_2511_ = v_a_2516_;
goto v___jp_2510_;
}
else
{
lean_object* v_a_2517_; lean_object* v___x_2519_; uint8_t v_isShared_2520_; uint8_t v_isSharedCheck_2524_; 
lean_dec(v_currentJp_x3f_2508_);
lean_dec(v_a_2506_);
lean_dec_ref(v_a_2505_);
lean_dec(v_a_2504_);
lean_dec_ref(v_a_2503_);
lean_dec(v_a_2502_);
lean_dec(v_a_2501_);
lean_dec_ref(v_x_2499_);
v_a_2517_ = lean_ctor_get(v___y_2515_, 0);
v_isSharedCheck_2524_ = !lean_is_exclusive(v___y_2515_);
if (v_isSharedCheck_2524_ == 0)
{
v___x_2519_ = v___y_2515_;
v_isShared_2520_ = v_isSharedCheck_2524_;
goto v_resetjp_2518_;
}
else
{
lean_inc(v_a_2517_);
lean_dec(v___y_2515_);
v___x_2519_ = lean_box(0);
v_isShared_2520_ = v_isSharedCheck_2524_;
goto v_resetjp_2518_;
}
v_resetjp_2518_:
{
lean_object* v___x_2522_; 
if (v_isShared_2520_ == 0)
{
v___x_2522_ = v___x_2519_;
goto v_reusejp_2521_;
}
else
{
lean_object* v_reuseFailAlloc_2523_; 
v_reuseFailAlloc_2523_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2523_, 0, v_a_2517_);
v___x_2522_ = v_reuseFailAlloc_2523_;
goto v_reusejp_2521_;
}
v_reusejp_2521_:
{
return v___x_2522_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg___boxed(lean_object* v_fvars_2536_, lean_object* v_x_2537_, lean_object* v_a_2538_, lean_object* v_a_2539_, lean_object* v_a_2540_, lean_object* v_a_2541_, lean_object* v_a_2542_, lean_object* v_a_2543_, lean_object* v_a_2544_, lean_object* v_a_2545_){
_start:
{
lean_object* v_res_2546_; 
v_res_2546_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg(v_fvars_2536_, v_x_2537_, v_a_2538_, v_a_2539_, v_a_2540_, v_a_2541_, v_a_2542_, v_a_2543_, v_a_2544_);
lean_dec_ref(v_fvars_2536_);
return v_res_2546_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates(lean_object* v_00_u03b1_2547_, lean_object* v_fvars_2548_, lean_object* v_x_2549_, lean_object* v_a_2550_, lean_object* v_a_2551_, lean_object* v_a_2552_, lean_object* v_a_2553_, lean_object* v_a_2554_, lean_object* v_a_2555_, lean_object* v_a_2556_){
_start:
{
lean_object* v___x_2558_; 
v___x_2558_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg(v_fvars_2548_, v_x_2549_, v_a_2550_, v_a_2551_, v_a_2552_, v_a_2553_, v_a_2554_, v_a_2555_, v_a_2556_);
return v___x_2558_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___boxed(lean_object* v_00_u03b1_2559_, lean_object* v_fvars_2560_, lean_object* v_x_2561_, lean_object* v_a_2562_, lean_object* v_a_2563_, lean_object* v_a_2564_, lean_object* v_a_2565_, lean_object* v_a_2566_, lean_object* v_a_2567_, lean_object* v_a_2568_, lean_object* v_a_2569_){
_start:
{
lean_object* v_res_2570_; 
v_res_2570_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates(v_00_u03b1_2559_, v_fvars_2560_, v_x_2561_, v_a_2562_, v_a_2563_, v_a_2564_, v_a_2565_, v_a_2566_, v_a_2567_, v_a_2568_);
lean_dec_ref(v_fvars_2560_);
return v_res_2570_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0(lean_object* v_as_2571_, size_t v_i_2572_, size_t v_stop_2573_, lean_object* v_b_2574_, lean_object* v___y_2575_, lean_object* v___y_2576_, lean_object* v___y_2577_, lean_object* v___y_2578_, lean_object* v___y_2579_, lean_object* v___y_2580_, lean_object* v___y_2581_){
_start:
{
lean_object* v___x_2583_; 
v___x_2583_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___redArg(v_as_2571_, v_i_2572_, v_stop_2573_, v_b_2574_, v___y_2577_);
return v___x_2583_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0___boxed(lean_object* v_as_2584_, lean_object* v_i_2585_, lean_object* v_stop_2586_, lean_object* v_b_2587_, lean_object* v___y_2588_, lean_object* v___y_2589_, lean_object* v___y_2590_, lean_object* v___y_2591_, lean_object* v___y_2592_, lean_object* v___y_2593_, lean_object* v___y_2594_, lean_object* v___y_2595_){
_start:
{
size_t v_i_boxed_2596_; size_t v_stop_boxed_2597_; lean_object* v_res_2598_; 
v_i_boxed_2596_ = lean_unbox_usize(v_i_2585_);
lean_dec(v_i_2585_);
v_stop_boxed_2597_ = lean_unbox_usize(v_stop_2586_);
lean_dec(v_stop_2586_);
v_res_2598_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates_spec__0(v_as_2584_, v_i_boxed_2596_, v_stop_boxed_2597_, v_b_2587_, v___y_2588_, v___y_2589_, v___y_2590_, v___y_2591_, v___y_2592_, v___y_2593_, v___y_2594_);
lean_dec(v___y_2594_);
lean_dec_ref(v___y_2593_);
lean_dec(v___y_2592_);
lean_dec_ref(v___y_2591_);
lean_dec(v___y_2590_);
lean_dec(v___y_2589_);
lean_dec_ref(v___y_2588_);
lean_dec_ref(v_as_2584_);
return v_res_2598_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(lean_object* v_fvar_2599_, lean_object* v_a_2600_, lean_object* v_a_2601_, lean_object* v_a_2602_, lean_object* v_a_2603_, lean_object* v_a_2604_, lean_object* v_a_2605_, lean_object* v_a_2606_){
_start:
{
lean_object* v_currentJp_x3f_2608_; 
v_currentJp_x3f_2608_ = lean_ctor_get(v_a_2600_, 0);
lean_inc(v_currentJp_x3f_2608_);
if (lean_obj_tag(v_currentJp_x3f_2608_) == 1)
{
lean_object* v_candidates_2609_; lean_object* v_val_2610_; lean_object* v___x_2611_; lean_object* v___x_2612_; 
v_candidates_2609_ = lean_ctor_get(v_a_2600_, 1);
lean_inc(v_candidates_2609_);
lean_dec_ref(v_a_2600_);
v_val_2610_ = lean_ctor_get(v_currentJp_x3f_2608_, 0);
lean_inc(v_val_2610_);
lean_dec_ref(v_currentJp_x3f_2608_);
v___x_2611_ = lean_st_ref_get(v_a_2601_);
v___x_2612_ = l_Lean_Compiler_LCNF_ScopeM_isInScope___redArg(v_fvar_2599_, v_a_2602_);
if (lean_obj_tag(v___x_2612_) == 0)
{
lean_object* v_a_2613_; lean_object* v___x_2615_; uint8_t v_isShared_2616_; uint8_t v_isSharedCheck_2660_; 
v_a_2613_ = lean_ctor_get(v___x_2612_, 0);
v_isSharedCheck_2660_ = !lean_is_exclusive(v___x_2612_);
if (v_isSharedCheck_2660_ == 0)
{
v___x_2615_ = v___x_2612_;
v_isShared_2616_ = v_isSharedCheck_2660_;
goto v_resetjp_2614_;
}
else
{
lean_inc(v_a_2613_);
lean_dec(v___x_2612_);
v___x_2615_ = lean_box(0);
v_isShared_2616_ = v_isSharedCheck_2660_;
goto v_resetjp_2614_;
}
v_resetjp_2614_:
{
uint8_t v___x_2622_; 
v___x_2622_ = lean_unbox(v_a_2613_);
lean_dec(v_a_2613_);
if (v___x_2622_ == 0)
{
lean_object* v___x_2623_; lean_object* v___x_2624_; uint8_t v___x_2625_; 
v___x_2623_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0, &l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0);
v___x_2624_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v___x_2623_, v___x_2611_, v_val_2610_);
lean_dec(v___x_2611_);
v___x_2625_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v___x_2624_, v_fvar_2599_);
if (v___x_2625_ == 0)
{
uint8_t v___x_2626_; 
v___x_2626_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(v_fvar_2599_, v_candidates_2609_);
lean_dec(v_candidates_2609_);
if (v___x_2626_ == 0)
{
lean_dec(v___x_2624_);
lean_dec(v_val_2610_);
lean_dec(v_fvar_2599_);
goto v___jp_2617_;
}
else
{
lean_object* v___x_2627_; 
lean_del_object(v___x_2615_);
lean_inc(v_fvar_2599_);
v___x_2627_ = l_Lean_Compiler_LCNF_getType(v_fvar_2599_, v_a_2603_, v_a_2604_, v_a_2605_, v_a_2606_);
if (lean_obj_tag(v___x_2627_) == 0)
{
lean_object* v_a_2628_; uint8_t v___x_2629_; lean_object* v___x_2630_; 
v_a_2628_ = lean_ctor_get(v___x_2627_, 0);
lean_inc(v_a_2628_);
lean_dec_ref(v___x_2627_);
v___x_2629_ = 0;
v___x_2630_ = l_Lean_Compiler_LCNF_mkAuxParam(v___x_2629_, v_a_2628_, v___x_2625_, v_a_2603_, v_a_2604_, v_a_2605_, v_a_2606_);
if (lean_obj_tag(v___x_2630_) == 0)
{
lean_object* v_a_2631_; lean_object* v___x_2633_; uint8_t v_isShared_2634_; uint8_t v_isSharedCheck_2643_; 
v_a_2631_ = lean_ctor_get(v___x_2630_, 0);
v_isSharedCheck_2643_ = !lean_is_exclusive(v___x_2630_);
if (v_isSharedCheck_2643_ == 0)
{
v___x_2633_ = v___x_2630_;
v_isShared_2634_ = v_isSharedCheck_2643_;
goto v_resetjp_2632_;
}
else
{
lean_inc(v_a_2631_);
lean_dec(v___x_2630_);
v___x_2633_ = lean_box(0);
v_isShared_2634_ = v_isSharedCheck_2643_;
goto v_resetjp_2632_;
}
v_resetjp_2632_:
{
lean_object* v___x_2635_; lean_object* v___x_2636_; lean_object* v___x_2637_; lean_object* v___x_2638_; lean_object* v___x_2639_; lean_object* v___x_2641_; 
v___x_2635_ = lean_st_ref_take(v_a_2601_);
v___x_2636_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v___x_2624_, v_fvar_2599_, v_a_2631_);
v___x_2637_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v___x_2635_, v_val_2610_, v___x_2636_);
v___x_2638_ = lean_st_ref_set(v_a_2601_, v___x_2637_);
v___x_2639_ = lean_box(0);
if (v_isShared_2634_ == 0)
{
lean_ctor_set(v___x_2633_, 0, v___x_2639_);
v___x_2641_ = v___x_2633_;
goto v_reusejp_2640_;
}
else
{
lean_object* v_reuseFailAlloc_2642_; 
v_reuseFailAlloc_2642_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2642_, 0, v___x_2639_);
v___x_2641_ = v_reuseFailAlloc_2642_;
goto v_reusejp_2640_;
}
v_reusejp_2640_:
{
return v___x_2641_;
}
}
}
else
{
lean_object* v_a_2644_; lean_object* v___x_2646_; uint8_t v_isShared_2647_; uint8_t v_isSharedCheck_2651_; 
lean_dec(v___x_2624_);
lean_dec(v_val_2610_);
lean_dec(v_fvar_2599_);
v_a_2644_ = lean_ctor_get(v___x_2630_, 0);
v_isSharedCheck_2651_ = !lean_is_exclusive(v___x_2630_);
if (v_isSharedCheck_2651_ == 0)
{
v___x_2646_ = v___x_2630_;
v_isShared_2647_ = v_isSharedCheck_2651_;
goto v_resetjp_2645_;
}
else
{
lean_inc(v_a_2644_);
lean_dec(v___x_2630_);
v___x_2646_ = lean_box(0);
v_isShared_2647_ = v_isSharedCheck_2651_;
goto v_resetjp_2645_;
}
v_resetjp_2645_:
{
lean_object* v___x_2649_; 
if (v_isShared_2647_ == 0)
{
v___x_2649_ = v___x_2646_;
goto v_reusejp_2648_;
}
else
{
lean_object* v_reuseFailAlloc_2650_; 
v_reuseFailAlloc_2650_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2650_, 0, v_a_2644_);
v___x_2649_ = v_reuseFailAlloc_2650_;
goto v_reusejp_2648_;
}
v_reusejp_2648_:
{
return v___x_2649_;
}
}
}
}
else
{
lean_object* v_a_2652_; lean_object* v___x_2654_; uint8_t v_isShared_2655_; uint8_t v_isSharedCheck_2659_; 
lean_dec(v___x_2624_);
lean_dec(v_val_2610_);
lean_dec(v_fvar_2599_);
v_a_2652_ = lean_ctor_get(v___x_2627_, 0);
v_isSharedCheck_2659_ = !lean_is_exclusive(v___x_2627_);
if (v_isSharedCheck_2659_ == 0)
{
v___x_2654_ = v___x_2627_;
v_isShared_2655_ = v_isSharedCheck_2659_;
goto v_resetjp_2653_;
}
else
{
lean_inc(v_a_2652_);
lean_dec(v___x_2627_);
v___x_2654_ = lean_box(0);
v_isShared_2655_ = v_isSharedCheck_2659_;
goto v_resetjp_2653_;
}
v_resetjp_2653_:
{
lean_object* v___x_2657_; 
if (v_isShared_2655_ == 0)
{
v___x_2657_ = v___x_2654_;
goto v_reusejp_2656_;
}
else
{
lean_object* v_reuseFailAlloc_2658_; 
v_reuseFailAlloc_2658_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2658_, 0, v_a_2652_);
v___x_2657_ = v_reuseFailAlloc_2658_;
goto v_reusejp_2656_;
}
v_reusejp_2656_:
{
return v___x_2657_;
}
}
}
}
}
else
{
lean_dec(v___x_2624_);
lean_dec(v_val_2610_);
lean_dec(v_candidates_2609_);
lean_dec(v_fvar_2599_);
goto v___jp_2617_;
}
}
else
{
lean_dec(v___x_2611_);
lean_dec(v_val_2610_);
lean_dec(v_candidates_2609_);
lean_dec(v_fvar_2599_);
goto v___jp_2617_;
}
v___jp_2617_:
{
lean_object* v___x_2618_; lean_object* v___x_2620_; 
v___x_2618_ = lean_box(0);
if (v_isShared_2616_ == 0)
{
lean_ctor_set(v___x_2615_, 0, v___x_2618_);
v___x_2620_ = v___x_2615_;
goto v_reusejp_2619_;
}
else
{
lean_object* v_reuseFailAlloc_2621_; 
v_reuseFailAlloc_2621_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2621_, 0, v___x_2618_);
v___x_2620_ = v_reuseFailAlloc_2621_;
goto v_reusejp_2619_;
}
v_reusejp_2619_:
{
return v___x_2620_;
}
}
}
}
else
{
lean_object* v_a_2661_; lean_object* v___x_2663_; uint8_t v_isShared_2664_; uint8_t v_isSharedCheck_2668_; 
lean_dec(v___x_2611_);
lean_dec(v_val_2610_);
lean_dec(v_candidates_2609_);
lean_dec(v_fvar_2599_);
v_a_2661_ = lean_ctor_get(v___x_2612_, 0);
v_isSharedCheck_2668_ = !lean_is_exclusive(v___x_2612_);
if (v_isSharedCheck_2668_ == 0)
{
v___x_2663_ = v___x_2612_;
v_isShared_2664_ = v_isSharedCheck_2668_;
goto v_resetjp_2662_;
}
else
{
lean_inc(v_a_2661_);
lean_dec(v___x_2612_);
v___x_2663_ = lean_box(0);
v_isShared_2664_ = v_isSharedCheck_2668_;
goto v_resetjp_2662_;
}
v_resetjp_2662_:
{
lean_object* v___x_2666_; 
if (v_isShared_2664_ == 0)
{
v___x_2666_ = v___x_2663_;
goto v_reusejp_2665_;
}
else
{
lean_object* v_reuseFailAlloc_2667_; 
v_reuseFailAlloc_2667_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2667_, 0, v_a_2661_);
v___x_2666_ = v_reuseFailAlloc_2667_;
goto v_reusejp_2665_;
}
v_reusejp_2665_:
{
return v___x_2666_;
}
}
}
}
else
{
lean_object* v___x_2669_; lean_object* v___x_2670_; 
lean_dec(v_currentJp_x3f_2608_);
lean_dec_ref(v_a_2600_);
lean_dec(v_fvar_2599_);
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_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary___boxed(lean_object* v_fvar_2671_, lean_object* v_a_2672_, lean_object* v_a_2673_, lean_object* v_a_2674_, lean_object* v_a_2675_, lean_object* v_a_2676_, lean_object* v_a_2677_, lean_object* v_a_2678_, lean_object* v_a_2679_){
_start:
{
lean_object* v_res_2680_; 
v_res_2680_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(v_fvar_2671_, v_a_2672_, v_a_2673_, v_a_2674_, v_a_2675_, v_a_2676_, v_a_2677_, v_a_2678_);
lean_dec(v_a_2678_);
lean_dec_ref(v_a_2677_);
lean_dec(v_a_2676_);
lean_dec_ref(v_a_2675_);
lean_dec(v_a_2674_);
lean_dec(v_a_2673_);
return v_res_2680_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0(lean_object* v_as_2681_, size_t v_sz_2682_, size_t v_i_2683_, lean_object* v_b_2684_, lean_object* v___y_2685_, lean_object* v___y_2686_, lean_object* v___y_2687_, lean_object* v___y_2688_, lean_object* v___y_2689_, lean_object* v___y_2690_, lean_object* v___y_2691_){
_start:
{
uint8_t v___x_2693_; 
v___x_2693_ = lean_usize_dec_lt(v_i_2683_, v_sz_2682_);
if (v___x_2693_ == 0)
{
lean_object* v___x_2694_; 
lean_dec_ref(v___y_2685_);
v___x_2694_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2694_, 0, v_b_2684_);
return v___x_2694_;
}
else
{
lean_object* v_a_2695_; lean_object* v_fst_2696_; lean_object* v___x_2697_; 
v_a_2695_ = lean_array_uget_borrowed(v_as_2681_, v_i_2683_);
v_fst_2696_ = lean_ctor_get(v_a_2695_, 0);
lean_inc_ref(v___y_2685_);
lean_inc(v_fst_2696_);
v___x_2697_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(v_fst_2696_, v___y_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_, v___y_2690_, v___y_2691_);
if (lean_obj_tag(v___x_2697_) == 0)
{
lean_object* v___x_2698_; size_t v___x_2699_; size_t v___x_2700_; 
lean_dec_ref(v___x_2697_);
v___x_2698_ = lean_box(0);
v___x_2699_ = ((size_t)1ULL);
v___x_2700_ = lean_usize_add(v_i_2683_, v___x_2699_);
v_i_2683_ = v___x_2700_;
v_b_2684_ = v___x_2698_;
goto _start;
}
else
{
lean_dec_ref(v___y_2685_);
return v___x_2697_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0___boxed(lean_object* v_as_2702_, lean_object* v_sz_2703_, lean_object* v_i_2704_, lean_object* v_b_2705_, lean_object* v___y_2706_, lean_object* v___y_2707_, lean_object* v___y_2708_, lean_object* v___y_2709_, lean_object* v___y_2710_, lean_object* v___y_2711_, lean_object* v___y_2712_, lean_object* v___y_2713_){
_start:
{
size_t v_sz_boxed_2714_; size_t v_i_boxed_2715_; lean_object* v_res_2716_; 
v_sz_boxed_2714_ = lean_unbox_usize(v_sz_2703_);
lean_dec(v_sz_2703_);
v_i_boxed_2715_ = lean_unbox_usize(v_i_2704_);
lean_dec(v_i_2704_);
v_res_2716_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0(v_as_2702_, v_sz_boxed_2714_, v_i_boxed_2715_, v_b_2705_, v___y_2706_, v___y_2707_, v___y_2708_, v___y_2709_, v___y_2710_, v___y_2711_, v___y_2712_);
lean_dec(v___y_2712_);
lean_dec_ref(v___y_2711_);
lean_dec(v___y_2710_);
lean_dec_ref(v___y_2709_);
lean_dec(v___y_2708_);
lean_dec(v___y_2707_);
lean_dec_ref(v_as_2702_);
return v_res_2716_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1(lean_object* v_x_2717_, lean_object* v_x_2718_){
_start:
{
if (lean_obj_tag(v_x_2718_) == 0)
{
return v_x_2717_;
}
else
{
lean_object* v_key_2719_; lean_object* v_value_2720_; lean_object* v_tail_2721_; lean_object* v___x_2722_; lean_object* v___x_2723_; 
v_key_2719_ = lean_ctor_get(v_x_2718_, 0);
v_value_2720_ = lean_ctor_get(v_x_2718_, 1);
v_tail_2721_ = lean_ctor_get(v_x_2718_, 2);
lean_inc(v_value_2720_);
lean_inc(v_key_2719_);
v___x_2722_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2722_, 0, v_key_2719_);
lean_ctor_set(v___x_2722_, 1, v_value_2720_);
v___x_2723_ = lean_array_push(v_x_2717_, v___x_2722_);
v_x_2717_ = v___x_2723_;
v_x_2718_ = v_tail_2721_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1___boxed(lean_object* v_x_2725_, lean_object* v_x_2726_){
_start:
{
lean_object* v_res_2727_; 
v_res_2727_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1(v_x_2725_, v_x_2726_);
lean_dec(v_x_2726_);
return v_res_2727_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(lean_object* v_as_2728_, size_t v_i_2729_, size_t v_stop_2730_, lean_object* v_b_2731_){
_start:
{
uint8_t v___x_2732_; 
v___x_2732_ = lean_usize_dec_eq(v_i_2729_, v_stop_2730_);
if (v___x_2732_ == 0)
{
lean_object* v___x_2733_; lean_object* v___x_2734_; size_t v___x_2735_; size_t v___x_2736_; 
v___x_2733_ = lean_array_uget_borrowed(v_as_2728_, v_i_2729_);
v___x_2734_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__1(v_b_2731_, v___x_2733_);
v___x_2735_ = ((size_t)1ULL);
v___x_2736_ = lean_usize_add(v_i_2729_, v___x_2735_);
v_i_2729_ = v___x_2736_;
v_b_2731_ = v___x_2734_;
goto _start;
}
else
{
return v_b_2731_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2___boxed(lean_object* v_as_2738_, lean_object* v_i_2739_, lean_object* v_stop_2740_, lean_object* v_b_2741_){
_start:
{
size_t v_i_boxed_2742_; size_t v_stop_boxed_2743_; lean_object* v_res_2744_; 
v_i_boxed_2742_ = lean_unbox_usize(v_i_2739_);
lean_dec(v_i_2739_);
v_stop_boxed_2743_ = lean_unbox_usize(v_stop_2740_);
lean_dec(v_stop_2740_);
v_res_2744_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_as_2738_, v_i_boxed_2742_, v_stop_boxed_2743_, v_b_2741_);
lean_dec_ref(v_as_2738_);
return v_res_2744_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary(lean_object* v_jp_2745_, lean_object* v_a_2746_, lean_object* v_a_2747_, lean_object* v_a_2748_, lean_object* v_a_2749_, lean_object* v_a_2750_, lean_object* v_a_2751_, lean_object* v_a_2752_){
_start:
{
lean_object* v_currentJp_x3f_2754_; 
v_currentJp_x3f_2754_ = lean_ctor_get(v_a_2746_, 0);
if (lean_obj_tag(v_currentJp_x3f_2754_) == 0)
{
lean_object* v___x_2755_; lean_object* v___x_2756_; 
lean_dec_ref(v_a_2746_);
v___x_2755_ = lean_box(0);
v___x_2756_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2756_, 0, v___x_2755_);
return v___x_2756_;
}
else
{
lean_object* v___x_2757_; lean_object* v___y_2759_; lean_object* v___x_2772_; lean_object* v___x_2773_; lean_object* v_size_2774_; lean_object* v_buckets_2775_; lean_object* v___x_2776_; lean_object* v___x_2777_; lean_object* v___x_2778_; uint8_t v___x_2779_; 
v___x_2757_ = lean_st_ref_get(v_a_2747_);
v___x_2772_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0, &l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0);
v___x_2773_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v___x_2772_, v___x_2757_, v_jp_2745_);
lean_dec(v___x_2757_);
v_size_2774_ = lean_ctor_get(v___x_2773_, 0);
lean_inc(v_size_2774_);
v_buckets_2775_ = lean_ctor_get(v___x_2773_, 1);
lean_inc_ref(v_buckets_2775_);
lean_dec(v___x_2773_);
v___x_2776_ = lean_mk_empty_array_with_capacity(v_size_2774_);
lean_dec(v_size_2774_);
v___x_2777_ = lean_unsigned_to_nat(0u);
v___x_2778_ = lean_array_get_size(v_buckets_2775_);
v___x_2779_ = lean_nat_dec_lt(v___x_2777_, v___x_2778_);
if (v___x_2779_ == 0)
{
lean_dec_ref(v_buckets_2775_);
v___y_2759_ = v___x_2776_;
goto v___jp_2758_;
}
else
{
uint8_t v___x_2780_; 
v___x_2780_ = lean_nat_dec_le(v___x_2778_, v___x_2778_);
if (v___x_2780_ == 0)
{
if (v___x_2779_ == 0)
{
lean_dec_ref(v_buckets_2775_);
v___y_2759_ = v___x_2776_;
goto v___jp_2758_;
}
else
{
size_t v___x_2781_; size_t v___x_2782_; lean_object* v___x_2783_; 
v___x_2781_ = ((size_t)0ULL);
v___x_2782_ = lean_usize_of_nat(v___x_2778_);
v___x_2783_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_2775_, v___x_2781_, v___x_2782_, v___x_2776_);
lean_dec_ref(v_buckets_2775_);
v___y_2759_ = v___x_2783_;
goto v___jp_2758_;
}
}
else
{
size_t v___x_2784_; size_t v___x_2785_; lean_object* v___x_2786_; 
v___x_2784_ = ((size_t)0ULL);
v___x_2785_ = lean_usize_of_nat(v___x_2778_);
v___x_2786_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_2775_, v___x_2784_, v___x_2785_, v___x_2776_);
lean_dec_ref(v_buckets_2775_);
v___y_2759_ = v___x_2786_;
goto v___jp_2758_;
}
}
v___jp_2758_:
{
lean_object* v___x_2760_; size_t v_sz_2761_; size_t v___x_2762_; lean_object* v___x_2763_; 
v___x_2760_ = lean_box(0);
v_sz_2761_ = lean_array_size(v___y_2759_);
v___x_2762_ = ((size_t)0ULL);
v___x_2763_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__0(v___y_2759_, v_sz_2761_, v___x_2762_, v___x_2760_, v_a_2746_, v_a_2747_, v_a_2748_, v_a_2749_, v_a_2750_, v_a_2751_, v_a_2752_);
lean_dec_ref(v___y_2759_);
if (lean_obj_tag(v___x_2763_) == 0)
{
lean_object* v___x_2765_; uint8_t v_isShared_2766_; uint8_t v_isSharedCheck_2770_; 
v_isSharedCheck_2770_ = !lean_is_exclusive(v___x_2763_);
if (v_isSharedCheck_2770_ == 0)
{
lean_object* v_unused_2771_; 
v_unused_2771_ = lean_ctor_get(v___x_2763_, 0);
lean_dec(v_unused_2771_);
v___x_2765_ = v___x_2763_;
v_isShared_2766_ = v_isSharedCheck_2770_;
goto v_resetjp_2764_;
}
else
{
lean_dec(v___x_2763_);
v___x_2765_ = lean_box(0);
v_isShared_2766_ = v_isSharedCheck_2770_;
goto v_resetjp_2764_;
}
v_resetjp_2764_:
{
lean_object* v___x_2768_; 
if (v_isShared_2766_ == 0)
{
lean_ctor_set(v___x_2765_, 0, v___x_2760_);
v___x_2768_ = v___x_2765_;
goto v_reusejp_2767_;
}
else
{
lean_object* v_reuseFailAlloc_2769_; 
v_reuseFailAlloc_2769_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2769_, 0, v___x_2760_);
v___x_2768_ = v_reuseFailAlloc_2769_;
goto v_reusejp_2767_;
}
v_reusejp_2767_:
{
return v___x_2768_;
}
}
}
else
{
return v___x_2763_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary___boxed(lean_object* v_jp_2787_, lean_object* v_a_2788_, lean_object* v_a_2789_, lean_object* v_a_2790_, lean_object* v_a_2791_, lean_object* v_a_2792_, lean_object* v_a_2793_, lean_object* v_a_2794_, lean_object* v_a_2795_){
_start:
{
lean_object* v_res_2796_; 
v_res_2796_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary(v_jp_2787_, v_a_2788_, v_a_2789_, v_a_2790_, v_a_2791_, v_a_2792_, v_a_2793_, v_a_2794_);
lean_dec(v_a_2794_);
lean_dec_ref(v_a_2793_);
lean_dec(v_a_2792_);
lean_dec_ref(v_a_2791_);
lean_dec(v_a_2790_);
lean_dec(v_a_2789_);
lean_dec(v_jp_2787_);
return v_res_2796_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__0(lean_object* v_x_2797_, lean_object* v___y_2798_, lean_object* v___y_2799_, lean_object* v___y_2800_, lean_object* v___y_2801_, lean_object* v___y_2802_, lean_object* v___y_2803_, lean_object* v___y_2804_){
_start:
{
lean_object* v___x_2806_; 
v___x_2806_ = l_Lean_Compiler_LCNF_ScopeM_clearScope___redArg(v___y_2800_);
if (lean_obj_tag(v___x_2806_) == 0)
{
lean_object* v___x_2807_; 
lean_dec_ref(v___x_2806_);
v___x_2807_ = lean_apply_8(v_x_2797_, v___y_2798_, v___y_2799_, v___y_2800_, v___y_2801_, v___y_2802_, v___y_2803_, v___y_2804_, lean_box(0));
return v___x_2807_;
}
else
{
lean_object* v_a_2808_; lean_object* v___x_2810_; uint8_t v_isShared_2811_; uint8_t v_isSharedCheck_2815_; 
lean_dec(v___y_2804_);
lean_dec_ref(v___y_2803_);
lean_dec(v___y_2802_);
lean_dec_ref(v___y_2801_);
lean_dec(v___y_2800_);
lean_dec(v___y_2799_);
lean_dec_ref(v___y_2798_);
lean_dec_ref(v_x_2797_);
v_a_2808_ = lean_ctor_get(v___x_2806_, 0);
v_isSharedCheck_2815_ = !lean_is_exclusive(v___x_2806_);
if (v_isSharedCheck_2815_ == 0)
{
v___x_2810_ = v___x_2806_;
v_isShared_2811_ = v_isSharedCheck_2815_;
goto v_resetjp_2809_;
}
else
{
lean_inc(v_a_2808_);
lean_dec(v___x_2806_);
v___x_2810_ = lean_box(0);
v_isShared_2811_ = v_isSharedCheck_2815_;
goto v_resetjp_2809_;
}
v_resetjp_2809_:
{
lean_object* v___x_2813_; 
if (v_isShared_2811_ == 0)
{
v___x_2813_ = v___x_2810_;
goto v_reusejp_2812_;
}
else
{
lean_object* v_reuseFailAlloc_2814_; 
v_reuseFailAlloc_2814_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2814_, 0, v_a_2808_);
v___x_2813_ = v_reuseFailAlloc_2814_;
goto v_reusejp_2812_;
}
v_reusejp_2812_:
{
return v___x_2813_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__0___boxed(lean_object* v_x_2816_, lean_object* v___y_2817_, lean_object* v___y_2818_, lean_object* v___y_2819_, lean_object* v___y_2820_, lean_object* v___y_2821_, lean_object* v___y_2822_, lean_object* v___y_2823_, lean_object* v___y_2824_){
_start:
{
lean_object* v_res_2825_; 
v_res_2825_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__0(v_x_2816_, v___y_2817_, v___y_2818_, v___y_2819_, v___y_2820_, v___y_2821_, v___y_2822_, v___y_2823_);
return v_res_2825_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(lean_object* v_x_2826_, lean_object* v___y_2827_, lean_object* v___y_2828_, lean_object* v___y_2829_, lean_object* v___y_2830_, lean_object* v___y_2831_, lean_object* v___y_2832_, lean_object* v___y_2833_){
_start:
{
lean_object* v___x_2835_; 
v___x_2835_ = l_Lean_Compiler_LCNF_ScopeM_getScope___redArg(v___y_2829_);
if (lean_obj_tag(v___x_2835_) == 0)
{
lean_object* v_a_2836_; lean_object* v_r_2837_; 
v_a_2836_ = lean_ctor_get(v___x_2835_, 0);
lean_inc(v_a_2836_);
lean_dec_ref(v___x_2835_);
lean_inc(v___y_2829_);
v_r_2837_ = lean_apply_8(v_x_2826_, v___y_2827_, v___y_2828_, v___y_2829_, v___y_2830_, v___y_2831_, v___y_2832_, v___y_2833_, lean_box(0));
if (lean_obj_tag(v_r_2837_) == 0)
{
lean_object* v_a_2838_; lean_object* v___x_2839_; 
v_a_2838_ = lean_ctor_get(v_r_2837_, 0);
lean_inc(v_a_2838_);
lean_dec_ref(v_r_2837_);
v___x_2839_ = l_Lean_Compiler_LCNF_ScopeM_setScope___redArg(v_a_2836_, v___y_2829_);
lean_dec(v___y_2829_);
if (lean_obj_tag(v___x_2839_) == 0)
{
lean_object* v___x_2841_; uint8_t v_isShared_2842_; uint8_t v_isSharedCheck_2846_; 
v_isSharedCheck_2846_ = !lean_is_exclusive(v___x_2839_);
if (v_isSharedCheck_2846_ == 0)
{
lean_object* v_unused_2847_; 
v_unused_2847_ = lean_ctor_get(v___x_2839_, 0);
lean_dec(v_unused_2847_);
v___x_2841_ = v___x_2839_;
v_isShared_2842_ = v_isSharedCheck_2846_;
goto v_resetjp_2840_;
}
else
{
lean_dec(v___x_2839_);
v___x_2841_ = lean_box(0);
v_isShared_2842_ = v_isSharedCheck_2846_;
goto v_resetjp_2840_;
}
v_resetjp_2840_:
{
lean_object* v___x_2844_; 
if (v_isShared_2842_ == 0)
{
lean_ctor_set(v___x_2841_, 0, v_a_2838_);
v___x_2844_ = v___x_2841_;
goto v_reusejp_2843_;
}
else
{
lean_object* v_reuseFailAlloc_2845_; 
v_reuseFailAlloc_2845_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2845_, 0, v_a_2838_);
v___x_2844_ = v_reuseFailAlloc_2845_;
goto v_reusejp_2843_;
}
v_reusejp_2843_:
{
return v___x_2844_;
}
}
}
else
{
lean_object* v_a_2848_; lean_object* v___x_2850_; uint8_t v_isShared_2851_; uint8_t v_isSharedCheck_2855_; 
lean_dec(v_a_2838_);
v_a_2848_ = lean_ctor_get(v___x_2839_, 0);
v_isSharedCheck_2855_ = !lean_is_exclusive(v___x_2839_);
if (v_isSharedCheck_2855_ == 0)
{
v___x_2850_ = v___x_2839_;
v_isShared_2851_ = v_isSharedCheck_2855_;
goto v_resetjp_2849_;
}
else
{
lean_inc(v_a_2848_);
lean_dec(v___x_2839_);
v___x_2850_ = lean_box(0);
v_isShared_2851_ = v_isSharedCheck_2855_;
goto v_resetjp_2849_;
}
v_resetjp_2849_:
{
lean_object* v___x_2853_; 
if (v_isShared_2851_ == 0)
{
v___x_2853_ = v___x_2850_;
goto v_reusejp_2852_;
}
else
{
lean_object* v_reuseFailAlloc_2854_; 
v_reuseFailAlloc_2854_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2854_, 0, v_a_2848_);
v___x_2853_ = v_reuseFailAlloc_2854_;
goto v_reusejp_2852_;
}
v_reusejp_2852_:
{
return v___x_2853_;
}
}
}
}
else
{
lean_object* v_a_2856_; lean_object* v___x_2857_; 
v_a_2856_ = lean_ctor_get(v_r_2837_, 0);
lean_inc(v_a_2856_);
lean_dec_ref(v_r_2837_);
v___x_2857_ = l_Lean_Compiler_LCNF_ScopeM_setScope___redArg(v_a_2836_, v___y_2829_);
lean_dec(v___y_2829_);
if (lean_obj_tag(v___x_2857_) == 0)
{
lean_object* v___x_2859_; uint8_t v_isShared_2860_; uint8_t v_isSharedCheck_2864_; 
v_isSharedCheck_2864_ = !lean_is_exclusive(v___x_2857_);
if (v_isSharedCheck_2864_ == 0)
{
lean_object* v_unused_2865_; 
v_unused_2865_ = lean_ctor_get(v___x_2857_, 0);
lean_dec(v_unused_2865_);
v___x_2859_ = v___x_2857_;
v_isShared_2860_ = v_isSharedCheck_2864_;
goto v_resetjp_2858_;
}
else
{
lean_dec(v___x_2857_);
v___x_2859_ = lean_box(0);
v_isShared_2860_ = v_isSharedCheck_2864_;
goto v_resetjp_2858_;
}
v_resetjp_2858_:
{
lean_object* v___x_2862_; 
if (v_isShared_2860_ == 0)
{
lean_ctor_set_tag(v___x_2859_, 1);
lean_ctor_set(v___x_2859_, 0, v_a_2856_);
v___x_2862_ = v___x_2859_;
goto v_reusejp_2861_;
}
else
{
lean_object* v_reuseFailAlloc_2863_; 
v_reuseFailAlloc_2863_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2863_, 0, v_a_2856_);
v___x_2862_ = v_reuseFailAlloc_2863_;
goto v_reusejp_2861_;
}
v_reusejp_2861_:
{
return v___x_2862_;
}
}
}
else
{
lean_object* v_a_2866_; lean_object* v___x_2868_; uint8_t v_isShared_2869_; uint8_t v_isSharedCheck_2873_; 
lean_dec(v_a_2856_);
v_a_2866_ = lean_ctor_get(v___x_2857_, 0);
v_isSharedCheck_2873_ = !lean_is_exclusive(v___x_2857_);
if (v_isSharedCheck_2873_ == 0)
{
v___x_2868_ = v___x_2857_;
v_isShared_2869_ = v_isSharedCheck_2873_;
goto v_resetjp_2867_;
}
else
{
lean_inc(v_a_2866_);
lean_dec(v___x_2857_);
v___x_2868_ = lean_box(0);
v_isShared_2869_ = v_isSharedCheck_2873_;
goto v_resetjp_2867_;
}
v_resetjp_2867_:
{
lean_object* v___x_2871_; 
if (v_isShared_2869_ == 0)
{
v___x_2871_ = v___x_2868_;
goto v_reusejp_2870_;
}
else
{
lean_object* v_reuseFailAlloc_2872_; 
v_reuseFailAlloc_2872_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2872_, 0, v_a_2866_);
v___x_2871_ = v_reuseFailAlloc_2872_;
goto v_reusejp_2870_;
}
v_reusejp_2870_:
{
return v___x_2871_;
}
}
}
}
}
else
{
lean_object* v_a_2874_; lean_object* v___x_2876_; uint8_t v_isShared_2877_; uint8_t v_isSharedCheck_2881_; 
lean_dec(v___y_2833_);
lean_dec_ref(v___y_2832_);
lean_dec(v___y_2831_);
lean_dec_ref(v___y_2830_);
lean_dec(v___y_2829_);
lean_dec(v___y_2828_);
lean_dec_ref(v___y_2827_);
lean_dec_ref(v_x_2826_);
v_a_2874_ = lean_ctor_get(v___x_2835_, 0);
v_isSharedCheck_2881_ = !lean_is_exclusive(v___x_2835_);
if (v_isSharedCheck_2881_ == 0)
{
v___x_2876_ = v___x_2835_;
v_isShared_2877_ = v_isSharedCheck_2881_;
goto v_resetjp_2875_;
}
else
{
lean_inc(v_a_2874_);
lean_dec(v___x_2835_);
v___x_2876_ = lean_box(0);
v_isShared_2877_ = v_isSharedCheck_2881_;
goto v_resetjp_2875_;
}
v_resetjp_2875_:
{
lean_object* v___x_2879_; 
if (v_isShared_2877_ == 0)
{
v___x_2879_ = v___x_2876_;
goto v_reusejp_2878_;
}
else
{
lean_object* v_reuseFailAlloc_2880_; 
v_reuseFailAlloc_2880_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2880_, 0, v_a_2874_);
v___x_2879_ = v_reuseFailAlloc_2880_;
goto v_reusejp_2878_;
}
v_reusejp_2878_:
{
return v___x_2879_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg___boxed(lean_object* v_x_2882_, lean_object* v___y_2883_, lean_object* v___y_2884_, lean_object* v___y_2885_, lean_object* v___y_2886_, lean_object* v___y_2887_, lean_object* v___y_2888_, lean_object* v___y_2889_, lean_object* v___y_2890_){
_start:
{
lean_object* v_res_2891_; 
v_res_2891_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(v_x_2882_, v___y_2883_, v___y_2884_, v___y_2885_, v___y_2886_, v___y_2887_, v___y_2888_, v___y_2889_);
return v_res_2891_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg(lean_object* v_x_2892_, lean_object* v___y_2893_, lean_object* v___y_2894_, lean_object* v___y_2895_, lean_object* v___y_2896_, lean_object* v___y_2897_, lean_object* v___y_2898_, lean_object* v___y_2899_){
_start:
{
lean_object* v___f_2901_; lean_object* v___x_2902_; 
v___f_2901_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___lam__0___boxed), 9, 1);
lean_closure_set(v___f_2901_, 0, v_x_2892_);
v___x_2902_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(v___f_2901_, v___y_2893_, v___y_2894_, v___y_2895_, v___y_2896_, v___y_2897_, v___y_2898_, v___y_2899_);
return v___x_2902_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg___boxed(lean_object* v_x_2903_, lean_object* v___y_2904_, lean_object* v___y_2905_, lean_object* v___y_2906_, lean_object* v___y_2907_, lean_object* v___y_2908_, lean_object* v___y_2909_, lean_object* v___y_2910_, lean_object* v___y_2911_){
_start:
{
lean_object* v_res_2912_; 
v_res_2912_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg(v_x_2903_, v___y_2904_, v___y_2905_, v___y_2906_, v___y_2907_, v___y_2908_, v___y_2909_, v___y_2910_);
return v_res_2912_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg(lean_object* v_x_2916_, lean_object* v_a_2917_, lean_object* v_a_2918_, lean_object* v_a_2919_, lean_object* v_a_2920_, lean_object* v_a_2921_, lean_object* v_a_2922_){
_start:
{
lean_object* v___x_2924_; lean_object* v___x_2925_; 
v___x_2924_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___closed__0));
v___x_2925_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg(v_x_2916_, v___x_2924_, v_a_2917_, v_a_2918_, v_a_2919_, v_a_2920_, v_a_2921_, v_a_2922_);
return v___x_2925_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___boxed(lean_object* v_x_2926_, lean_object* v_a_2927_, lean_object* v_a_2928_, lean_object* v_a_2929_, lean_object* v_a_2930_, lean_object* v_a_2931_, lean_object* v_a_2932_, lean_object* v_a_2933_){
_start:
{
lean_object* v_res_2934_; 
v_res_2934_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg(v_x_2926_, v_a_2927_, v_a_2928_, v_a_2929_, v_a_2930_, v_a_2931_, v_a_2932_);
return v_res_2934_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope(lean_object* v_00_u03b1_2935_, lean_object* v_x_2936_, lean_object* v_a_2937_, lean_object* v_a_2938_, lean_object* v_a_2939_, lean_object* v_a_2940_, lean_object* v_a_2941_, lean_object* v_a_2942_, lean_object* v_a_2943_){
_start:
{
lean_object* v___x_2945_; 
v___x_2945_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg(v_x_2936_, v_a_2938_, v_a_2939_, v_a_2940_, v_a_2941_, v_a_2942_, v_a_2943_);
return v___x_2945_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___boxed(lean_object* v_00_u03b1_2946_, lean_object* v_x_2947_, lean_object* v_a_2948_, lean_object* v_a_2949_, lean_object* v_a_2950_, lean_object* v_a_2951_, lean_object* v_a_2952_, lean_object* v_a_2953_, lean_object* v_a_2954_, lean_object* v_a_2955_){
_start:
{
lean_object* v_res_2956_; 
v_res_2956_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope(v_00_u03b1_2946_, v_x_2947_, v_a_2948_, v_a_2949_, v_a_2950_, v_a_2951_, v_a_2952_, v_a_2953_, v_a_2954_);
lean_dec_ref(v_a_2948_);
return v_res_2956_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0(lean_object* v_00_u03b1_2957_, lean_object* v_x_2958_, lean_object* v___y_2959_, lean_object* v___y_2960_, lean_object* v___y_2961_, lean_object* v___y_2962_, lean_object* v___y_2963_, lean_object* v___y_2964_, lean_object* v___y_2965_){
_start:
{
lean_object* v___x_2967_; 
v___x_2967_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(v_x_2958_, v___y_2959_, v___y_2960_, v___y_2961_, v___y_2962_, v___y_2963_, v___y_2964_, v___y_2965_);
return v___x_2967_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___boxed(lean_object* v_00_u03b1_2968_, lean_object* v_x_2969_, lean_object* v___y_2970_, lean_object* v___y_2971_, lean_object* v___y_2972_, lean_object* v___y_2973_, lean_object* v___y_2974_, lean_object* v___y_2975_, lean_object* v___y_2976_, lean_object* v___y_2977_){
_start:
{
lean_object* v_res_2978_; 
v_res_2978_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0(v_00_u03b1_2968_, v_x_2969_, v___y_2970_, v___y_2971_, v___y_2972_, v___y_2973_, v___y_2974_, v___y_2975_, v___y_2976_);
return v_res_2978_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0(lean_object* v_00_u03b1_2979_, lean_object* v_x_2980_, lean_object* v___y_2981_, lean_object* v___y_2982_, lean_object* v___y_2983_, lean_object* v___y_2984_, lean_object* v___y_2985_, lean_object* v___y_2986_, lean_object* v___y_2987_){
_start:
{
lean_object* v___x_2989_; 
v___x_2989_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___redArg(v_x_2980_, v___y_2981_, v___y_2982_, v___y_2983_, v___y_2984_, v___y_2985_, v___y_2986_, v___y_2987_);
return v___x_2989_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___boxed(lean_object* v_00_u03b1_2990_, lean_object* v_x_2991_, lean_object* v___y_2992_, lean_object* v___y_2993_, lean_object* v___y_2994_, lean_object* v___y_2995_, lean_object* v___y_2996_, lean_object* v___y_2997_, lean_object* v___y_2998_, lean_object* v___y_2999_){
_start:
{
lean_object* v_res_3000_; 
v_res_3000_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0(v_00_u03b1_2990_, v_x_2991_, v___y_2992_, v___y_2993_, v___y_2994_, v___y_2995_, v___y_2996_, v___y_2997_, v___y_2998_);
return v_res_3000_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0(size_t v_sz_3001_, size_t v_i_3002_, lean_object* v_bs_3003_){
_start:
{
uint8_t v___x_3004_; 
v___x_3004_ = lean_usize_dec_lt(v_i_3002_, v_sz_3001_);
if (v___x_3004_ == 0)
{
return v_bs_3003_;
}
else
{
lean_object* v_v_3005_; lean_object* v_fvarId_3006_; lean_object* v___x_3007_; lean_object* v_bs_x27_3008_; size_t v___x_3009_; size_t v___x_3010_; lean_object* v___x_3011_; 
v_v_3005_ = lean_array_uget_borrowed(v_bs_3003_, v_i_3002_);
v_fvarId_3006_ = lean_ctor_get(v_v_3005_, 0);
lean_inc(v_fvarId_3006_);
v___x_3007_ = lean_unsigned_to_nat(0u);
v_bs_x27_3008_ = lean_array_uset(v_bs_3003_, v_i_3002_, v___x_3007_);
v___x_3009_ = ((size_t)1ULL);
v___x_3010_ = lean_usize_add(v_i_3002_, v___x_3009_);
v___x_3011_ = lean_array_uset(v_bs_x27_3008_, v_i_3002_, v_fvarId_3006_);
v_i_3002_ = v___x_3010_;
v_bs_3003_ = v___x_3011_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0___boxed(lean_object* v_sz_3013_, lean_object* v_i_3014_, lean_object* v_bs_3015_){
_start:
{
size_t v_sz_boxed_3016_; size_t v_i_boxed_3017_; lean_object* v_res_3018_; 
v_sz_boxed_3016_ = lean_unbox_usize(v_sz_3013_);
lean_dec(v_sz_3013_);
v_i_boxed_3017_ = lean_unbox_usize(v_i_3014_);
lean_dec(v_i_3014_);
v_res_3018_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0(v_sz_boxed_3016_, v_i_boxed_3017_, v_bs_3015_);
return v_res_3018_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__0(lean_object* v___x_3019_, lean_object* v_x_3020_, lean_object* v___y_3021_, lean_object* v___y_3022_, lean_object* v___y_3023_, lean_object* v___y_3024_, lean_object* v___y_3025_, lean_object* v___y_3026_, lean_object* v___y_3027_){
_start:
{
lean_object* v___x_3029_; 
v___x_3029_ = l_Lean_Compiler_LCNF_ScopeM_clearScope___redArg(v___y_3023_);
if (lean_obj_tag(v___x_3029_) == 0)
{
lean_object* v___x_3030_; 
lean_dec_ref(v___x_3029_);
v___x_3030_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___redArg(v___x_3019_, v_x_3020_, v___y_3021_, v___y_3022_, v___y_3023_, v___y_3024_, v___y_3025_, v___y_3026_, v___y_3027_);
return v___x_3030_;
}
else
{
lean_object* v_a_3031_; lean_object* v___x_3033_; uint8_t v_isShared_3034_; uint8_t v_isSharedCheck_3038_; 
lean_dec(v___y_3027_);
lean_dec_ref(v___y_3026_);
lean_dec(v___y_3025_);
lean_dec_ref(v___y_3024_);
lean_dec(v___y_3023_);
lean_dec(v___y_3022_);
lean_dec_ref(v___y_3021_);
lean_dec_ref(v_x_3020_);
v_a_3031_ = lean_ctor_get(v___x_3029_, 0);
v_isSharedCheck_3038_ = !lean_is_exclusive(v___x_3029_);
if (v_isSharedCheck_3038_ == 0)
{
v___x_3033_ = v___x_3029_;
v_isShared_3034_ = v_isSharedCheck_3038_;
goto v_resetjp_3032_;
}
else
{
lean_inc(v_a_3031_);
lean_dec(v___x_3029_);
v___x_3033_ = lean_box(0);
v_isShared_3034_ = v_isSharedCheck_3038_;
goto v_resetjp_3032_;
}
v_resetjp_3032_:
{
lean_object* v___x_3036_; 
if (v_isShared_3034_ == 0)
{
v___x_3036_ = v___x_3033_;
goto v_reusejp_3035_;
}
else
{
lean_object* v_reuseFailAlloc_3037_; 
v_reuseFailAlloc_3037_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3037_, 0, v_a_3031_);
v___x_3036_ = v_reuseFailAlloc_3037_;
goto v_reusejp_3035_;
}
v_reusejp_3035_:
{
return v___x_3036_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__0___boxed(lean_object* v___x_3039_, lean_object* v_x_3040_, lean_object* v___y_3041_, lean_object* v___y_3042_, lean_object* v___y_3043_, lean_object* v___y_3044_, lean_object* v___y_3045_, lean_object* v___y_3046_, lean_object* v___y_3047_, lean_object* v___y_3048_){
_start:
{
lean_object* v_res_3049_; 
v_res_3049_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__0(v___x_3039_, v_x_3040_, v___y_3041_, v___y_3042_, v___y_3043_, v___y_3044_, v___y_3045_, v___y_3046_, v___y_3047_);
lean_dec_ref(v___x_3039_);
return v_res_3049_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg(lean_object* v___x_3050_, lean_object* v_x_3051_, lean_object* v___y_3052_, lean_object* v___y_3053_, lean_object* v___y_3054_, lean_object* v___y_3055_, lean_object* v___y_3056_, lean_object* v___y_3057_, lean_object* v___y_3058_){
_start:
{
lean_object* v___f_3060_; lean_object* v___x_3061_; 
v___f_3060_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___lam__0___boxed), 10, 2);
lean_closure_set(v___f_3060_, 0, v___x_3050_);
lean_closure_set(v___f_3060_, 1, v_x_3051_);
v___x_3061_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(v___f_3060_, v___y_3052_, v___y_3053_, v___y_3054_, v___y_3055_, v___y_3056_, v___y_3057_, v___y_3058_);
return v___x_3061_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg___boxed(lean_object* v___x_3062_, lean_object* v_x_3063_, lean_object* v___y_3064_, lean_object* v___y_3065_, lean_object* v___y_3066_, lean_object* v___y_3067_, lean_object* v___y_3068_, lean_object* v___y_3069_, lean_object* v___y_3070_, lean_object* v___y_3071_){
_start:
{
lean_object* v_res_3072_; 
v_res_3072_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg(v___x_3062_, v_x_3063_, v___y_3064_, v___y_3065_, v___y_3066_, v___y_3067_, v___y_3068_, v___y_3069_, v___y_3070_);
return v_res_3072_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1(lean_object* v_00_u03b1_3073_, lean_object* v___x_3074_, lean_object* v_x_3075_, lean_object* v___y_3076_, lean_object* v___y_3077_, lean_object* v___y_3078_, lean_object* v___y_3079_, lean_object* v___y_3080_, lean_object* v___y_3081_, lean_object* v___y_3082_){
_start:
{
lean_object* v___x_3084_; 
v___x_3084_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg(v___x_3074_, v_x_3075_, v___y_3076_, v___y_3077_, v___y_3078_, v___y_3079_, v___y_3080_, v___y_3081_, v___y_3082_);
return v___x_3084_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___boxed(lean_object* v_00_u03b1_3085_, lean_object* v___x_3086_, lean_object* v_x_3087_, lean_object* v___y_3088_, lean_object* v___y_3089_, lean_object* v___y_3090_, lean_object* v___y_3091_, lean_object* v___y_3092_, lean_object* v___y_3093_, lean_object* v___y_3094_, lean_object* v___y_3095_){
_start:
{
lean_object* v_res_3096_; 
v_res_3096_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1(v_00_u03b1_3085_, v___x_3086_, v_x_3087_, v___y_3088_, v___y_3089_, v___y_3090_, v___y_3091_, v___y_3092_, v___y_3093_, v___y_3094_);
return v_res_3096_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg(lean_object* v_decl_3097_, lean_object* v_x_3098_, lean_object* v_a_3099_, lean_object* v_a_3100_, lean_object* v_a_3101_, lean_object* v_a_3102_, lean_object* v_a_3103_, lean_object* v_a_3104_, lean_object* v_a_3105_){
_start:
{
lean_object* v_fvarId_3107_; lean_object* v_params_3108_; lean_object* v___x_3109_; lean_object* v___x_3110_; lean_object* v___x_3111_; lean_object* v___x_3112_; lean_object* v___x_3113_; lean_object* v_candidates_3114_; lean_object* v___x_3116_; uint8_t v_isShared_3117_; uint8_t v_isSharedCheck_3125_; 
v_fvarId_3107_ = lean_ctor_get(v_decl_3097_, 0);
lean_inc(v_fvarId_3107_);
v_params_3108_ = lean_ctor_get(v_decl_3097_, 2);
lean_inc_ref(v_params_3108_);
lean_dec_ref(v_decl_3097_);
v___x_3109_ = lean_st_ref_take(v_a_3100_);
lean_inc(v_fvarId_3107_);
v___x_3110_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3110_, 0, v_fvarId_3107_);
v___x_3111_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_3112_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v___x_3109_, v_fvarId_3107_, v___x_3111_);
v___x_3113_ = lean_st_ref_set(v_a_3100_, v___x_3112_);
v_candidates_3114_ = lean_ctor_get(v_a_3099_, 1);
v_isSharedCheck_3125_ = !lean_is_exclusive(v_a_3099_);
if (v_isSharedCheck_3125_ == 0)
{
lean_object* v_unused_3126_; 
v_unused_3126_ = lean_ctor_get(v_a_3099_, 0);
lean_dec(v_unused_3126_);
v___x_3116_ = v_a_3099_;
v_isShared_3117_ = v_isSharedCheck_3125_;
goto v_resetjp_3115_;
}
else
{
lean_inc(v_candidates_3114_);
lean_dec(v_a_3099_);
v___x_3116_ = lean_box(0);
v_isShared_3117_ = v_isSharedCheck_3125_;
goto v_resetjp_3115_;
}
v_resetjp_3115_:
{
lean_object* v___x_3119_; 
if (v_isShared_3117_ == 0)
{
lean_ctor_set(v___x_3116_, 0, v___x_3110_);
v___x_3119_ = v___x_3116_;
goto v_reusejp_3118_;
}
else
{
lean_object* v_reuseFailAlloc_3124_; 
v_reuseFailAlloc_3124_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3124_, 0, v___x_3110_);
lean_ctor_set(v_reuseFailAlloc_3124_, 1, v_candidates_3114_);
v___x_3119_ = v_reuseFailAlloc_3124_;
goto v_reusejp_3118_;
}
v_reusejp_3118_:
{
size_t v_sz_3120_; size_t v___x_3121_; lean_object* v___x_3122_; lean_object* v___x_3123_; 
v_sz_3120_ = lean_array_size(v_params_3108_);
v___x_3121_ = ((size_t)0ULL);
v___x_3122_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0(v_sz_3120_, v___x_3121_, v_params_3108_);
v___x_3123_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__1___redArg(v___x_3122_, v_x_3098_, v___x_3119_, v_a_3100_, v_a_3101_, v_a_3102_, v_a_3103_, v_a_3104_, v_a_3105_);
return v___x_3123_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg___boxed(lean_object* v_decl_3127_, lean_object* v_x_3128_, lean_object* v_a_3129_, lean_object* v_a_3130_, lean_object* v_a_3131_, lean_object* v_a_3132_, lean_object* v_a_3133_, lean_object* v_a_3134_, lean_object* v_a_3135_, lean_object* v_a_3136_){
_start:
{
lean_object* v_res_3137_; 
v_res_3137_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg(v_decl_3127_, v_x_3128_, v_a_3129_, v_a_3130_, v_a_3131_, v_a_3132_, v_a_3133_, v_a_3134_, v_a_3135_);
return v_res_3137_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope(lean_object* v_00_u03b1_3138_, lean_object* v_decl_3139_, lean_object* v_x_3140_, lean_object* v_a_3141_, lean_object* v_a_3142_, lean_object* v_a_3143_, lean_object* v_a_3144_, lean_object* v_a_3145_, lean_object* v_a_3146_, lean_object* v_a_3147_){
_start:
{
lean_object* v___x_3149_; 
v___x_3149_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg(v_decl_3139_, v_x_3140_, v_a_3141_, v_a_3142_, v_a_3143_, v_a_3144_, v_a_3145_, v_a_3146_, v_a_3147_);
return v___x_3149_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___boxed(lean_object* v_00_u03b1_3150_, lean_object* v_decl_3151_, lean_object* v_x_3152_, lean_object* v_a_3153_, lean_object* v_a_3154_, lean_object* v_a_3155_, lean_object* v_a_3156_, lean_object* v_a_3157_, lean_object* v_a_3158_, lean_object* v_a_3159_, lean_object* v_a_3160_){
_start:
{
lean_object* v_res_3161_; 
v_res_3161_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope(v_00_u03b1_3150_, v_decl_3151_, v_x_3152_, v_a_3153_, v_a_3154_, v_a_3155_, v_a_3156_, v_a_3157_, v_a_3158_, v_a_3159_);
return v_res_3161_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg(lean_object* v_alt_3162_, lean_object* v_x_3163_, lean_object* v_a_3164_, lean_object* v_a_3165_, lean_object* v_a_3166_, lean_object* v_a_3167_, lean_object* v_a_3168_, lean_object* v_a_3169_, lean_object* v_a_3170_){
_start:
{
lean_object* v___x_3172_; size_t v_sz_3173_; size_t v___x_3174_; lean_object* v___x_3175_; lean_object* v___x_3176_; lean_object* v___x_3177_; 
v___x_3172_ = l_Lean_Compiler_LCNF_Alt_getParams(v_alt_3162_);
v_sz_3173_ = lean_array_size(v___x_3172_);
v___x_3174_ = ((size_t)0ULL);
v___x_3175_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope_spec__0(v_sz_3173_, v___x_3174_, v___x_3172_);
v___x_3176_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidates___boxed), 11, 3);
lean_closure_set(v___x_3176_, 0, lean_box(0));
lean_closure_set(v___x_3176_, 1, v___x_3175_);
lean_closure_set(v___x_3176_, 2, v_x_3163_);
v___x_3177_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope_spec__0_spec__0___redArg(v___x_3176_, v_a_3164_, v_a_3165_, v_a_3166_, v_a_3167_, v_a_3168_, v_a_3169_, v_a_3170_);
return v___x_3177_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg___boxed(lean_object* v_alt_3178_, lean_object* v_x_3179_, lean_object* v_a_3180_, lean_object* v_a_3181_, lean_object* v_a_3182_, lean_object* v_a_3183_, lean_object* v_a_3184_, lean_object* v_a_3185_, lean_object* v_a_3186_, lean_object* v_a_3187_){
_start:
{
lean_object* v_res_3188_; 
v_res_3188_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg(v_alt_3178_, v_x_3179_, v_a_3180_, v_a_3181_, v_a_3182_, v_a_3183_, v_a_3184_, v_a_3185_, v_a_3186_);
lean_dec_ref(v_alt_3178_);
return v_res_3188_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope(lean_object* v_00_u03b1_3189_, lean_object* v_alt_3190_, lean_object* v_x_3191_, lean_object* v_a_3192_, lean_object* v_a_3193_, lean_object* v_a_3194_, lean_object* v_a_3195_, lean_object* v_a_3196_, lean_object* v_a_3197_, lean_object* v_a_3198_){
_start:
{
lean_object* v___x_3200_; 
v___x_3200_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg(v_alt_3190_, v_x_3191_, v_a_3192_, v_a_3193_, v_a_3194_, v_a_3195_, v_a_3196_, v_a_3197_, v_a_3198_);
return v___x_3200_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___boxed(lean_object* v_00_u03b1_3201_, lean_object* v_alt_3202_, lean_object* v_x_3203_, lean_object* v_a_3204_, lean_object* v_a_3205_, lean_object* v_a_3206_, lean_object* v_a_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_res_3212_; 
v_res_3212_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope(v_00_u03b1_3201_, v_alt_3202_, v_x_3203_, v_a_3204_, v_a_3205_, v_a_3206_, v_a_3207_, v_a_3208_, v_a_3209_, v_a_3210_);
lean_dec_ref(v_alt_3202_);
return v_res_3212_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar(lean_object* v_fvar_3213_, lean_object* v_a_3214_, lean_object* v_a_3215_, lean_object* v_a_3216_, lean_object* v_a_3217_, lean_object* v_a_3218_, lean_object* v_a_3219_, lean_object* v_a_3220_){
_start:
{
lean_object* v___x_3222_; 
lean_inc_ref(v_a_3214_);
lean_inc(v_fvar_3213_);
v___x_3222_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(v_fvar_3213_, v_a_3214_, v_a_3215_, v_a_3216_, v_a_3217_, v_a_3218_, v_a_3219_, v_a_3220_);
if (lean_obj_tag(v___x_3222_) == 0)
{
lean_object* v___x_3223_; 
lean_dec_ref(v___x_3222_);
v___x_3223_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(v_fvar_3213_, v_a_3214_, v_a_3215_);
return v___x_3223_;
}
else
{
lean_object* v_a_3224_; lean_object* v___x_3226_; uint8_t v_isShared_3227_; uint8_t v_isSharedCheck_3231_; 
lean_dec_ref(v_a_3214_);
lean_dec(v_fvar_3213_);
v_a_3224_ = lean_ctor_get(v___x_3222_, 0);
v_isSharedCheck_3231_ = !lean_is_exclusive(v___x_3222_);
if (v_isSharedCheck_3231_ == 0)
{
v___x_3226_ = v___x_3222_;
v_isShared_3227_ = v_isSharedCheck_3231_;
goto v_resetjp_3225_;
}
else
{
lean_inc(v_a_3224_);
lean_dec(v___x_3222_);
v___x_3226_ = lean_box(0);
v_isShared_3227_ = v_isSharedCheck_3231_;
goto v_resetjp_3225_;
}
v_resetjp_3225_:
{
lean_object* v___x_3229_; 
if (v_isShared_3227_ == 0)
{
v___x_3229_ = v___x_3226_;
goto v_reusejp_3228_;
}
else
{
lean_object* v_reuseFailAlloc_3230_; 
v_reuseFailAlloc_3230_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3230_, 0, v_a_3224_);
v___x_3229_ = v_reuseFailAlloc_3230_;
goto v_reusejp_3228_;
}
v_reusejp_3228_:
{
return v___x_3229_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar___boxed(lean_object* v_fvar_3232_, lean_object* v_a_3233_, lean_object* v_a_3234_, lean_object* v_a_3235_, lean_object* v_a_3236_, lean_object* v_a_3237_, lean_object* v_a_3238_, lean_object* v_a_3239_, lean_object* v_a_3240_){
_start:
{
lean_object* v_res_3241_; 
v_res_3241_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar(v_fvar_3232_, v_a_3233_, v_a_3234_, v_a_3235_, v_a_3236_, v_a_3237_, v_a_3238_, v_a_3239_);
lean_dec(v_a_3239_);
lean_dec_ref(v_a_3238_);
lean_dec(v_a_3237_);
lean_dec_ref(v_a_3236_);
lean_dec(v_a_3235_);
lean_dec(v_a_3234_);
return v_res_3241_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg(lean_object* v_alt_3242_, lean_object* v_f_3243_, lean_object* v___y_3244_, lean_object* v___y_3245_, lean_object* v___y_3246_, lean_object* v___y_3247_, lean_object* v___y_3248_, lean_object* v___y_3249_, lean_object* v___y_3250_){
_start:
{
lean_object* v___y_3253_; 
switch(lean_obj_tag(v_alt_3242_))
{
case 0:
{
lean_object* v_code_3272_; 
v_code_3272_ = lean_ctor_get(v_alt_3242_, 2);
lean_inc_ref(v_code_3272_);
v___y_3253_ = v_code_3272_;
goto v___jp_3252_;
}
case 1:
{
lean_object* v_code_3273_; 
v_code_3273_ = lean_ctor_get(v_alt_3242_, 1);
lean_inc_ref(v_code_3273_);
v___y_3253_ = v_code_3273_;
goto v___jp_3252_;
}
default: 
{
lean_object* v_code_3274_; 
v_code_3274_ = lean_ctor_get(v_alt_3242_, 0);
lean_inc_ref(v_code_3274_);
v___y_3253_ = v_code_3274_;
goto v___jp_3252_;
}
}
v___jp_3252_:
{
lean_object* v___x_3254_; 
v___x_3254_ = lean_apply_9(v_f_3243_, v___y_3253_, v___y_3244_, v___y_3245_, v___y_3246_, v___y_3247_, v___y_3248_, v___y_3249_, v___y_3250_, lean_box(0));
if (lean_obj_tag(v___x_3254_) == 0)
{
lean_object* v_a_3255_; lean_object* v___x_3257_; uint8_t v_isShared_3258_; uint8_t v_isSharedCheck_3263_; 
v_a_3255_ = lean_ctor_get(v___x_3254_, 0);
v_isSharedCheck_3263_ = !lean_is_exclusive(v___x_3254_);
if (v_isSharedCheck_3263_ == 0)
{
v___x_3257_ = v___x_3254_;
v_isShared_3258_ = v_isSharedCheck_3263_;
goto v_resetjp_3256_;
}
else
{
lean_inc(v_a_3255_);
lean_dec(v___x_3254_);
v___x_3257_ = lean_box(0);
v_isShared_3258_ = v_isSharedCheck_3263_;
goto v_resetjp_3256_;
}
v_resetjp_3256_:
{
lean_object* v___x_3259_; lean_object* v___x_3261_; 
v___x_3259_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_alt_3242_, v_a_3255_);
if (v_isShared_3258_ == 0)
{
lean_ctor_set(v___x_3257_, 0, v___x_3259_);
v___x_3261_ = v___x_3257_;
goto v_reusejp_3260_;
}
else
{
lean_object* v_reuseFailAlloc_3262_; 
v_reuseFailAlloc_3262_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3262_, 0, v___x_3259_);
v___x_3261_ = v_reuseFailAlloc_3262_;
goto v_reusejp_3260_;
}
v_reusejp_3260_:
{
return v___x_3261_;
}
}
}
else
{
lean_object* v_a_3264_; lean_object* v___x_3266_; uint8_t v_isShared_3267_; uint8_t v_isSharedCheck_3271_; 
lean_dec_ref(v_alt_3242_);
v_a_3264_ = lean_ctor_get(v___x_3254_, 0);
v_isSharedCheck_3271_ = !lean_is_exclusive(v___x_3254_);
if (v_isSharedCheck_3271_ == 0)
{
v___x_3266_ = v___x_3254_;
v_isShared_3267_ = v_isSharedCheck_3271_;
goto v_resetjp_3265_;
}
else
{
lean_inc(v_a_3264_);
lean_dec(v___x_3254_);
v___x_3266_ = lean_box(0);
v_isShared_3267_ = v_isSharedCheck_3271_;
goto v_resetjp_3265_;
}
v_resetjp_3265_:
{
lean_object* v___x_3269_; 
if (v_isShared_3267_ == 0)
{
v___x_3269_ = v___x_3266_;
goto v_reusejp_3268_;
}
else
{
lean_object* v_reuseFailAlloc_3270_; 
v_reuseFailAlloc_3270_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3270_, 0, v_a_3264_);
v___x_3269_ = v_reuseFailAlloc_3270_;
goto v_reusejp_3268_;
}
v_reusejp_3268_:
{
return v___x_3269_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg___boxed(lean_object* v_alt_3275_, lean_object* v_f_3276_, lean_object* v___y_3277_, lean_object* v___y_3278_, lean_object* v___y_3279_, lean_object* v___y_3280_, lean_object* v___y_3281_, lean_object* v___y_3282_, lean_object* v___y_3283_, lean_object* v___y_3284_){
_start:
{
lean_object* v_res_3285_; 
v_res_3285_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg(v_alt_3275_, v_f_3276_, v___y_3277_, v___y_3278_, v___y_3279_, v___y_3280_, v___y_3281_, v___y_3282_, v___y_3283_);
return v_res_3285_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8(uint8_t v_pu_3286_, lean_object* v_alt_3287_, lean_object* v_f_3288_, lean_object* v___y_3289_, lean_object* v___y_3290_, lean_object* v___y_3291_, lean_object* v___y_3292_, lean_object* v___y_3293_, lean_object* v___y_3294_, lean_object* v___y_3295_){
_start:
{
lean_object* v___x_3297_; 
v___x_3297_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___redArg(v_alt_3287_, v_f_3288_, v___y_3289_, v___y_3290_, v___y_3291_, v___y_3292_, v___y_3293_, v___y_3294_, v___y_3295_);
return v___x_3297_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___boxed(lean_object* v_pu_3298_, lean_object* v_alt_3299_, lean_object* v_f_3300_, lean_object* v___y_3301_, lean_object* v___y_3302_, lean_object* v___y_3303_, lean_object* v___y_3304_, lean_object* v___y_3305_, lean_object* v___y_3306_, lean_object* v___y_3307_, lean_object* v___y_3308_){
_start:
{
uint8_t v_pu_boxed_3309_; lean_object* v_res_3310_; 
v_pu_boxed_3309_ = lean_unbox(v_pu_3298_);
v_res_3310_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8(v_pu_boxed_3309_, v_alt_3299_, v_f_3300_, v___y_3301_, v___y_3302_, v___y_3303_, v___y_3304_, v___y_3305_, v___y_3306_, v___y_3307_);
return v_res_3310_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(lean_object* v_msg_3311_, lean_object* v___y_3312_, lean_object* v___y_3313_, lean_object* v___y_3314_, lean_object* v___y_3315_, lean_object* v___y_3316_, lean_object* v___y_3317_, lean_object* v___y_3318_){
_start:
{
lean_object* v___x_3320_; lean_object* v___x_3321_; lean_object* v_toApplicative_3322_; lean_object* v___x_3324_; uint8_t v_isShared_3325_; uint8_t v_isSharedCheck_3386_; 
v___x_3320_ = lean_obj_once(&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0, &l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0);
v___x_3321_ = l_ReaderT_instMonad___redArg(v___x_3320_);
v_toApplicative_3322_ = lean_ctor_get(v___x_3321_, 0);
v_isSharedCheck_3386_ = !lean_is_exclusive(v___x_3321_);
if (v_isSharedCheck_3386_ == 0)
{
lean_object* v_unused_3387_; 
v_unused_3387_ = lean_ctor_get(v___x_3321_, 1);
lean_dec(v_unused_3387_);
v___x_3324_ = v___x_3321_;
v_isShared_3325_ = v_isSharedCheck_3386_;
goto v_resetjp_3323_;
}
else
{
lean_inc(v_toApplicative_3322_);
lean_dec(v___x_3321_);
v___x_3324_ = lean_box(0);
v_isShared_3325_ = v_isSharedCheck_3386_;
goto v_resetjp_3323_;
}
v_resetjp_3323_:
{
lean_object* v_toFunctor_3326_; lean_object* v_toSeq_3327_; lean_object* v_toSeqLeft_3328_; lean_object* v_toSeqRight_3329_; lean_object* v___x_3331_; uint8_t v_isShared_3332_; uint8_t v_isSharedCheck_3384_; 
v_toFunctor_3326_ = lean_ctor_get(v_toApplicative_3322_, 0);
v_toSeq_3327_ = lean_ctor_get(v_toApplicative_3322_, 2);
v_toSeqLeft_3328_ = lean_ctor_get(v_toApplicative_3322_, 3);
v_toSeqRight_3329_ = lean_ctor_get(v_toApplicative_3322_, 4);
v_isSharedCheck_3384_ = !lean_is_exclusive(v_toApplicative_3322_);
if (v_isSharedCheck_3384_ == 0)
{
lean_object* v_unused_3385_; 
v_unused_3385_ = lean_ctor_get(v_toApplicative_3322_, 1);
lean_dec(v_unused_3385_);
v___x_3331_ = v_toApplicative_3322_;
v_isShared_3332_ = v_isSharedCheck_3384_;
goto v_resetjp_3330_;
}
else
{
lean_inc(v_toSeqRight_3329_);
lean_inc(v_toSeqLeft_3328_);
lean_inc(v_toSeq_3327_);
lean_inc(v_toFunctor_3326_);
lean_dec(v_toApplicative_3322_);
v___x_3331_ = lean_box(0);
v_isShared_3332_ = v_isSharedCheck_3384_;
goto v_resetjp_3330_;
}
v_resetjp_3330_:
{
lean_object* v___f_3333_; lean_object* v___f_3334_; lean_object* v___f_3335_; lean_object* v___f_3336_; lean_object* v___x_3337_; lean_object* v___f_3338_; lean_object* v___f_3339_; lean_object* v___f_3340_; lean_object* v___x_3342_; 
v___f_3333_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__1));
v___f_3334_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_3326_);
v___f_3335_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_3335_, 0, v_toFunctor_3326_);
v___f_3336_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3336_, 0, v_toFunctor_3326_);
v___x_3337_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3337_, 0, v___f_3335_);
lean_ctor_set(v___x_3337_, 1, v___f_3336_);
v___f_3338_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3338_, 0, v_toSeqRight_3329_);
v___f_3339_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_3339_, 0, v_toSeqLeft_3328_);
v___f_3340_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_3340_, 0, v_toSeq_3327_);
if (v_isShared_3332_ == 0)
{
lean_ctor_set(v___x_3331_, 4, v___f_3338_);
lean_ctor_set(v___x_3331_, 3, v___f_3339_);
lean_ctor_set(v___x_3331_, 2, v___f_3340_);
lean_ctor_set(v___x_3331_, 1, v___f_3333_);
lean_ctor_set(v___x_3331_, 0, v___x_3337_);
v___x_3342_ = v___x_3331_;
goto v_reusejp_3341_;
}
else
{
lean_object* v_reuseFailAlloc_3383_; 
v_reuseFailAlloc_3383_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3383_, 0, v___x_3337_);
lean_ctor_set(v_reuseFailAlloc_3383_, 1, v___f_3333_);
lean_ctor_set(v_reuseFailAlloc_3383_, 2, v___f_3340_);
lean_ctor_set(v_reuseFailAlloc_3383_, 3, v___f_3339_);
lean_ctor_set(v_reuseFailAlloc_3383_, 4, v___f_3338_);
v___x_3342_ = v_reuseFailAlloc_3383_;
goto v_reusejp_3341_;
}
v_reusejp_3341_:
{
lean_object* v___x_3344_; 
if (v_isShared_3325_ == 0)
{
lean_ctor_set(v___x_3324_, 1, v___f_3334_);
lean_ctor_set(v___x_3324_, 0, v___x_3342_);
v___x_3344_ = v___x_3324_;
goto v_reusejp_3343_;
}
else
{
lean_object* v_reuseFailAlloc_3382_; 
v_reuseFailAlloc_3382_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3382_, 0, v___x_3342_);
lean_ctor_set(v_reuseFailAlloc_3382_, 1, v___f_3334_);
v___x_3344_ = v_reuseFailAlloc_3382_;
goto v_reusejp_3343_;
}
v_reusejp_3343_:
{
lean_object* v___x_3345_; lean_object* v_toApplicative_3346_; lean_object* v___x_3348_; uint8_t v_isShared_3349_; uint8_t v_isSharedCheck_3380_; 
v___x_3345_ = l_ReaderT_instMonad___redArg(v___x_3344_);
v_toApplicative_3346_ = lean_ctor_get(v___x_3345_, 0);
v_isSharedCheck_3380_ = !lean_is_exclusive(v___x_3345_);
if (v_isSharedCheck_3380_ == 0)
{
lean_object* v_unused_3381_; 
v_unused_3381_ = lean_ctor_get(v___x_3345_, 1);
lean_dec(v_unused_3381_);
v___x_3348_ = v___x_3345_;
v_isShared_3349_ = v_isSharedCheck_3380_;
goto v_resetjp_3347_;
}
else
{
lean_inc(v_toApplicative_3346_);
lean_dec(v___x_3345_);
v___x_3348_ = lean_box(0);
v_isShared_3349_ = v_isSharedCheck_3380_;
goto v_resetjp_3347_;
}
v_resetjp_3347_:
{
lean_object* v_toFunctor_3350_; lean_object* v_toSeq_3351_; lean_object* v_toSeqLeft_3352_; lean_object* v_toSeqRight_3353_; lean_object* v___x_3355_; uint8_t v_isShared_3356_; uint8_t v_isSharedCheck_3378_; 
v_toFunctor_3350_ = lean_ctor_get(v_toApplicative_3346_, 0);
v_toSeq_3351_ = lean_ctor_get(v_toApplicative_3346_, 2);
v_toSeqLeft_3352_ = lean_ctor_get(v_toApplicative_3346_, 3);
v_toSeqRight_3353_ = lean_ctor_get(v_toApplicative_3346_, 4);
v_isSharedCheck_3378_ = !lean_is_exclusive(v_toApplicative_3346_);
if (v_isSharedCheck_3378_ == 0)
{
lean_object* v_unused_3379_; 
v_unused_3379_ = lean_ctor_get(v_toApplicative_3346_, 1);
lean_dec(v_unused_3379_);
v___x_3355_ = v_toApplicative_3346_;
v_isShared_3356_ = v_isSharedCheck_3378_;
goto v_resetjp_3354_;
}
else
{
lean_inc(v_toSeqRight_3353_);
lean_inc(v_toSeqLeft_3352_);
lean_inc(v_toSeq_3351_);
lean_inc(v_toFunctor_3350_);
lean_dec(v_toApplicative_3346_);
v___x_3355_ = lean_box(0);
v_isShared_3356_ = v_isSharedCheck_3378_;
goto v_resetjp_3354_;
}
v_resetjp_3354_:
{
lean_object* v___f_3357_; lean_object* v___f_3358_; lean_object* v___f_3359_; lean_object* v___f_3360_; lean_object* v___x_3361_; lean_object* v___f_3362_; lean_object* v___f_3363_; lean_object* v___f_3364_; lean_object* v___x_3366_; 
v___f_3357_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3));
v___f_3358_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_3350_);
v___f_3359_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_3359_, 0, v_toFunctor_3350_);
v___f_3360_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3360_, 0, v_toFunctor_3350_);
v___x_3361_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3361_, 0, v___f_3359_);
lean_ctor_set(v___x_3361_, 1, v___f_3360_);
v___f_3362_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_3362_, 0, v_toSeqRight_3353_);
v___f_3363_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_3363_, 0, v_toSeqLeft_3352_);
v___f_3364_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_3364_, 0, v_toSeq_3351_);
if (v_isShared_3356_ == 0)
{
lean_ctor_set(v___x_3355_, 4, v___f_3362_);
lean_ctor_set(v___x_3355_, 3, v___f_3363_);
lean_ctor_set(v___x_3355_, 2, v___f_3364_);
lean_ctor_set(v___x_3355_, 1, v___f_3357_);
lean_ctor_set(v___x_3355_, 0, v___x_3361_);
v___x_3366_ = v___x_3355_;
goto v_reusejp_3365_;
}
else
{
lean_object* v_reuseFailAlloc_3377_; 
v_reuseFailAlloc_3377_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_3377_, 0, v___x_3361_);
lean_ctor_set(v_reuseFailAlloc_3377_, 1, v___f_3357_);
lean_ctor_set(v_reuseFailAlloc_3377_, 2, v___f_3364_);
lean_ctor_set(v_reuseFailAlloc_3377_, 3, v___f_3363_);
lean_ctor_set(v_reuseFailAlloc_3377_, 4, v___f_3362_);
v___x_3366_ = v_reuseFailAlloc_3377_;
goto v_reusejp_3365_;
}
v_reusejp_3365_:
{
lean_object* v___x_3368_; 
if (v_isShared_3349_ == 0)
{
lean_ctor_set(v___x_3348_, 1, v___f_3358_);
lean_ctor_set(v___x_3348_, 0, v___x_3366_);
v___x_3368_ = v___x_3348_;
goto v_reusejp_3367_;
}
else
{
lean_object* v_reuseFailAlloc_3376_; 
v_reuseFailAlloc_3376_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3376_, 0, v___x_3366_);
lean_ctor_set(v_reuseFailAlloc_3376_, 1, v___f_3358_);
v___x_3368_ = v_reuseFailAlloc_3376_;
goto v_reusejp_3367_;
}
v_reusejp_3367_:
{
lean_object* v___x_3369_; lean_object* v___x_3370_; lean_object* v___x_3371_; lean_object* v___x_3372_; lean_object* v___x_3373_; lean_object* v___x_30069__overap_3374_; lean_object* v___x_3375_; 
v___x_3369_ = l_ReaderT_instMonad___redArg(v___x_3368_);
v___x_3370_ = l_ReaderT_instMonad___redArg(v___x_3369_);
v___x_3371_ = l_ReaderT_instMonad___redArg(v___x_3370_);
v___x_3372_ = l_Lean_instInhabitedExpr;
v___x_3373_ = l_instInhabitedOfMonad___redArg(v___x_3371_, v___x_3372_);
v___x_30069__overap_3374_ = lean_panic_fn(v___x_3373_, v_msg_3311_);
v___x_3375_ = lean_apply_8(v___x_30069__overap_3374_, v___y_3312_, v___y_3313_, v___y_3314_, v___y_3315_, v___y_3316_, v___y_3317_, v___y_3318_, lean_box(0));
return v___x_3375_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6___boxed(lean_object* v_msg_3388_, lean_object* v___y_3389_, lean_object* v___y_3390_, lean_object* v___y_3391_, lean_object* v___y_3392_, lean_object* v___y_3393_, lean_object* v___y_3394_, lean_object* v___y_3395_, lean_object* v___y_3396_){
_start:
{
lean_object* v_res_3397_; 
v_res_3397_ = l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(v_msg_3388_, v___y_3389_, v___y_3390_, v___y_3391_, v___y_3392_, v___y_3393_, v___y_3394_, v___y_3395_);
return v_res_3397_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1(void){
_start:
{
lean_object* v___x_3399_; lean_object* v___x_3400_; lean_object* v___x_3401_; lean_object* v___x_3402_; lean_object* v___x_3403_; lean_object* v___x_3404_; 
v___x_3399_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__2));
v___x_3400_ = lean_unsigned_to_nat(41u);
v___x_3401_ = lean_unsigned_to_nat(30u);
v___x_3402_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__0));
v___x_3403_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__0));
v___x_3404_ = l_mkPanicMessageWithDecl(v___x_3403_, v___x_3402_, v___x_3401_, v___x_3400_, v___x_3399_);
return v___x_3404_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(lean_object* v_f_3405_, lean_object* v_e_3406_, lean_object* v___y_3407_, lean_object* v___y_3408_, lean_object* v___y_3409_, lean_object* v___y_3410_, lean_object* v___y_3411_, lean_object* v___y_3412_, lean_object* v___y_3413_){
_start:
{
uint8_t v___x_3415_; 
v___x_3415_ = l_Lean_Expr_hasFVar(v_e_3406_);
if (v___x_3415_ == 0)
{
lean_object* v___x_3416_; 
lean_dec(v___y_3413_);
lean_dec_ref(v___y_3412_);
lean_dec(v___y_3411_);
lean_dec_ref(v___y_3410_);
lean_dec(v___y_3409_);
lean_dec(v___y_3408_);
lean_dec_ref(v___y_3407_);
lean_dec_ref(v_f_3405_);
v___x_3416_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3416_, 0, v_e_3406_);
return v___x_3416_;
}
else
{
switch(lean_obj_tag(v_e_3406_))
{
case 1:
{
lean_object* v_fvarId_3417_; lean_object* v___x_3418_; 
v_fvarId_3417_ = lean_ctor_get(v_e_3406_, 0);
lean_inc(v_fvarId_3417_);
v___x_3418_ = lean_apply_9(v_f_3405_, v_fvarId_3417_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_, lean_box(0));
if (lean_obj_tag(v___x_3418_) == 0)
{
lean_object* v_a_3419_; lean_object* v___x_3421_; uint8_t v_isShared_3422_; uint8_t v_isSharedCheck_3431_; 
v_a_3419_ = lean_ctor_get(v___x_3418_, 0);
v_isSharedCheck_3431_ = !lean_is_exclusive(v___x_3418_);
if (v_isSharedCheck_3431_ == 0)
{
v___x_3421_ = v___x_3418_;
v_isShared_3422_ = v_isSharedCheck_3431_;
goto v_resetjp_3420_;
}
else
{
lean_inc(v_a_3419_);
lean_dec(v___x_3418_);
v___x_3421_ = lean_box(0);
v_isShared_3422_ = v_isSharedCheck_3431_;
goto v_resetjp_3420_;
}
v_resetjp_3420_:
{
uint8_t v___x_3423_; 
v___x_3423_ = l_Lean_instBEqFVarId_beq(v_fvarId_3417_, v_a_3419_);
if (v___x_3423_ == 0)
{
lean_object* v___x_3424_; lean_object* v___x_3426_; 
lean_dec_ref(v_e_3406_);
v___x_3424_ = l_Lean_Expr_fvar___override(v_a_3419_);
if (v_isShared_3422_ == 0)
{
lean_ctor_set(v___x_3421_, 0, v___x_3424_);
v___x_3426_ = v___x_3421_;
goto v_reusejp_3425_;
}
else
{
lean_object* v_reuseFailAlloc_3427_; 
v_reuseFailAlloc_3427_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3427_, 0, v___x_3424_);
v___x_3426_ = v_reuseFailAlloc_3427_;
goto v_reusejp_3425_;
}
v_reusejp_3425_:
{
return v___x_3426_;
}
}
else
{
lean_object* v___x_3429_; 
lean_dec(v_a_3419_);
if (v_isShared_3422_ == 0)
{
lean_ctor_set(v___x_3421_, 0, v_e_3406_);
v___x_3429_ = v___x_3421_;
goto v_reusejp_3428_;
}
else
{
lean_object* v_reuseFailAlloc_3430_; 
v_reuseFailAlloc_3430_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3430_, 0, v_e_3406_);
v___x_3429_ = v_reuseFailAlloc_3430_;
goto v_reusejp_3428_;
}
v_reusejp_3428_:
{
return v___x_3429_;
}
}
}
}
else
{
lean_object* v_a_3432_; lean_object* v___x_3434_; uint8_t v_isShared_3435_; uint8_t v_isSharedCheck_3439_; 
lean_dec_ref(v_e_3406_);
v_a_3432_ = lean_ctor_get(v___x_3418_, 0);
v_isSharedCheck_3439_ = !lean_is_exclusive(v___x_3418_);
if (v_isSharedCheck_3439_ == 0)
{
v___x_3434_ = v___x_3418_;
v_isShared_3435_ = v_isSharedCheck_3439_;
goto v_resetjp_3433_;
}
else
{
lean_inc(v_a_3432_);
lean_dec(v___x_3418_);
v___x_3434_ = lean_box(0);
v_isShared_3435_ = v_isSharedCheck_3439_;
goto v_resetjp_3433_;
}
v_resetjp_3433_:
{
lean_object* v___x_3437_; 
if (v_isShared_3435_ == 0)
{
v___x_3437_ = v___x_3434_;
goto v_reusejp_3436_;
}
else
{
lean_object* v_reuseFailAlloc_3438_; 
v_reuseFailAlloc_3438_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3438_, 0, v_a_3432_);
v___x_3437_ = v_reuseFailAlloc_3438_;
goto v_reusejp_3436_;
}
v_reusejp_3436_:
{
return v___x_3437_;
}
}
}
}
case 2:
{
lean_object* v___x_3440_; lean_object* v___x_3441_; 
lean_dec_ref(v_e_3406_);
lean_dec_ref(v_f_3405_);
v___x_3440_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1, &l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1_once, _init_l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1);
v___x_3441_ = l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(v___x_3440_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
return v___x_3441_;
}
case 5:
{
lean_object* v_fn_3442_; lean_object* v_arg_3443_; lean_object* v___x_3444_; 
v_fn_3442_ = lean_ctor_get(v_e_3406_, 0);
v_arg_3443_ = lean_ctor_get(v_e_3406_, 1);
lean_inc(v___y_3413_);
lean_inc_ref(v___y_3412_);
lean_inc(v___y_3411_);
lean_inc_ref(v___y_3410_);
lean_inc(v___y_3409_);
lean_inc(v___y_3408_);
lean_inc_ref(v___y_3407_);
lean_inc_ref(v_fn_3442_);
lean_inc_ref(v_f_3405_);
v___x_3444_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_fn_3442_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3444_) == 0)
{
lean_object* v_a_3445_; lean_object* v___x_3446_; 
v_a_3445_ = lean_ctor_get(v___x_3444_, 0);
lean_inc(v_a_3445_);
lean_dec_ref(v___x_3444_);
lean_inc_ref(v_arg_3443_);
v___x_3446_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_arg_3443_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3446_) == 0)
{
lean_object* v_a_3447_; lean_object* v___x_3449_; uint8_t v_isShared_3450_; uint8_t v_isSharedCheck_3466_; 
v_a_3447_ = lean_ctor_get(v___x_3446_, 0);
v_isSharedCheck_3466_ = !lean_is_exclusive(v___x_3446_);
if (v_isSharedCheck_3466_ == 0)
{
v___x_3449_ = v___x_3446_;
v_isShared_3450_ = v_isSharedCheck_3466_;
goto v_resetjp_3448_;
}
else
{
lean_inc(v_a_3447_);
lean_dec(v___x_3446_);
v___x_3449_ = lean_box(0);
v_isShared_3450_ = v_isSharedCheck_3466_;
goto v_resetjp_3448_;
}
v_resetjp_3448_:
{
uint8_t v___y_3452_; size_t v___x_3460_; size_t v___x_3461_; uint8_t v___x_3462_; 
v___x_3460_ = lean_ptr_addr(v_fn_3442_);
v___x_3461_ = lean_ptr_addr(v_a_3445_);
v___x_3462_ = lean_usize_dec_eq(v___x_3460_, v___x_3461_);
if (v___x_3462_ == 0)
{
v___y_3452_ = v___x_3462_;
goto v___jp_3451_;
}
else
{
size_t v___x_3463_; size_t v___x_3464_; uint8_t v___x_3465_; 
v___x_3463_ = lean_ptr_addr(v_arg_3443_);
v___x_3464_ = lean_ptr_addr(v_a_3447_);
v___x_3465_ = lean_usize_dec_eq(v___x_3463_, v___x_3464_);
v___y_3452_ = v___x_3465_;
goto v___jp_3451_;
}
v___jp_3451_:
{
if (v___y_3452_ == 0)
{
lean_object* v___x_3453_; lean_object* v___x_3455_; 
lean_dec_ref(v_e_3406_);
v___x_3453_ = l_Lean_Expr_app___override(v_a_3445_, v_a_3447_);
if (v_isShared_3450_ == 0)
{
lean_ctor_set(v___x_3449_, 0, v___x_3453_);
v___x_3455_ = v___x_3449_;
goto v_reusejp_3454_;
}
else
{
lean_object* v_reuseFailAlloc_3456_; 
v_reuseFailAlloc_3456_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3456_, 0, v___x_3453_);
v___x_3455_ = v_reuseFailAlloc_3456_;
goto v_reusejp_3454_;
}
v_reusejp_3454_:
{
return v___x_3455_;
}
}
else
{
lean_object* v___x_3458_; 
lean_dec(v_a_3447_);
lean_dec(v_a_3445_);
if (v_isShared_3450_ == 0)
{
lean_ctor_set(v___x_3449_, 0, v_e_3406_);
v___x_3458_ = v___x_3449_;
goto v_reusejp_3457_;
}
else
{
lean_object* v_reuseFailAlloc_3459_; 
v_reuseFailAlloc_3459_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3459_, 0, v_e_3406_);
v___x_3458_ = v_reuseFailAlloc_3459_;
goto v_reusejp_3457_;
}
v_reusejp_3457_:
{
return v___x_3458_;
}
}
}
}
}
else
{
lean_dec(v_a_3445_);
lean_dec_ref(v_e_3406_);
return v___x_3446_;
}
}
else
{
lean_dec_ref(v_e_3406_);
lean_dec(v___y_3413_);
lean_dec_ref(v___y_3412_);
lean_dec(v___y_3411_);
lean_dec_ref(v___y_3410_);
lean_dec(v___y_3409_);
lean_dec(v___y_3408_);
lean_dec_ref(v___y_3407_);
lean_dec_ref(v_f_3405_);
return v___x_3444_;
}
}
case 6:
{
lean_object* v_binderName_3467_; lean_object* v_binderType_3468_; lean_object* v_body_3469_; uint8_t v_binderInfo_3470_; lean_object* v___x_3471_; 
v_binderName_3467_ = lean_ctor_get(v_e_3406_, 0);
v_binderType_3468_ = lean_ctor_get(v_e_3406_, 1);
v_body_3469_ = lean_ctor_get(v_e_3406_, 2);
v_binderInfo_3470_ = lean_ctor_get_uint8(v_e_3406_, sizeof(void*)*3 + 8);
lean_inc(v___y_3413_);
lean_inc_ref(v___y_3412_);
lean_inc(v___y_3411_);
lean_inc_ref(v___y_3410_);
lean_inc(v___y_3409_);
lean_inc(v___y_3408_);
lean_inc_ref(v___y_3407_);
lean_inc_ref(v_binderType_3468_);
lean_inc_ref(v_f_3405_);
v___x_3471_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_binderType_3468_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3471_) == 0)
{
lean_object* v_a_3472_; lean_object* v___x_3473_; 
v_a_3472_ = lean_ctor_get(v___x_3471_, 0);
lean_inc(v_a_3472_);
lean_dec_ref(v___x_3471_);
lean_inc_ref(v_body_3469_);
v___x_3473_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_body_3469_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3473_) == 0)
{
lean_object* v_a_3474_; lean_object* v___x_3476_; uint8_t v_isShared_3477_; uint8_t v_isSharedCheck_3498_; 
v_a_3474_ = lean_ctor_get(v___x_3473_, 0);
v_isSharedCheck_3498_ = !lean_is_exclusive(v___x_3473_);
if (v_isSharedCheck_3498_ == 0)
{
v___x_3476_ = v___x_3473_;
v_isShared_3477_ = v_isSharedCheck_3498_;
goto v_resetjp_3475_;
}
else
{
lean_inc(v_a_3474_);
lean_dec(v___x_3473_);
v___x_3476_ = lean_box(0);
v_isShared_3477_ = v_isSharedCheck_3498_;
goto v_resetjp_3475_;
}
v_resetjp_3475_:
{
uint8_t v___y_3479_; size_t v___x_3492_; size_t v___x_3493_; uint8_t v___x_3494_; 
v___x_3492_ = lean_ptr_addr(v_binderType_3468_);
v___x_3493_ = lean_ptr_addr(v_a_3472_);
v___x_3494_ = lean_usize_dec_eq(v___x_3492_, v___x_3493_);
if (v___x_3494_ == 0)
{
v___y_3479_ = v___x_3494_;
goto v___jp_3478_;
}
else
{
size_t v___x_3495_; size_t v___x_3496_; uint8_t v___x_3497_; 
v___x_3495_ = lean_ptr_addr(v_body_3469_);
v___x_3496_ = lean_ptr_addr(v_a_3474_);
v___x_3497_ = lean_usize_dec_eq(v___x_3495_, v___x_3496_);
v___y_3479_ = v___x_3497_;
goto v___jp_3478_;
}
v___jp_3478_:
{
if (v___y_3479_ == 0)
{
lean_object* v___x_3480_; lean_object* v___x_3482_; 
lean_inc(v_binderName_3467_);
lean_dec_ref(v_e_3406_);
v___x_3480_ = l_Lean_Expr_lam___override(v_binderName_3467_, v_a_3472_, v_a_3474_, v_binderInfo_3470_);
if (v_isShared_3477_ == 0)
{
lean_ctor_set(v___x_3476_, 0, v___x_3480_);
v___x_3482_ = v___x_3476_;
goto v_reusejp_3481_;
}
else
{
lean_object* v_reuseFailAlloc_3483_; 
v_reuseFailAlloc_3483_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3483_, 0, v___x_3480_);
v___x_3482_ = v_reuseFailAlloc_3483_;
goto v_reusejp_3481_;
}
v_reusejp_3481_:
{
return v___x_3482_;
}
}
else
{
uint8_t v___x_3484_; 
v___x_3484_ = l_Lean_instBEqBinderInfo_beq(v_binderInfo_3470_, v_binderInfo_3470_);
if (v___x_3484_ == 0)
{
lean_object* v___x_3485_; lean_object* v___x_3487_; 
lean_inc(v_binderName_3467_);
lean_dec_ref(v_e_3406_);
v___x_3485_ = l_Lean_Expr_lam___override(v_binderName_3467_, v_a_3472_, v_a_3474_, v_binderInfo_3470_);
if (v_isShared_3477_ == 0)
{
lean_ctor_set(v___x_3476_, 0, v___x_3485_);
v___x_3487_ = v___x_3476_;
goto v_reusejp_3486_;
}
else
{
lean_object* v_reuseFailAlloc_3488_; 
v_reuseFailAlloc_3488_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3488_, 0, v___x_3485_);
v___x_3487_ = v_reuseFailAlloc_3488_;
goto v_reusejp_3486_;
}
v_reusejp_3486_:
{
return v___x_3487_;
}
}
else
{
lean_object* v___x_3490_; 
lean_dec(v_a_3474_);
lean_dec(v_a_3472_);
if (v_isShared_3477_ == 0)
{
lean_ctor_set(v___x_3476_, 0, v_e_3406_);
v___x_3490_ = v___x_3476_;
goto v_reusejp_3489_;
}
else
{
lean_object* v_reuseFailAlloc_3491_; 
v_reuseFailAlloc_3491_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3491_, 0, v_e_3406_);
v___x_3490_ = v_reuseFailAlloc_3491_;
goto v_reusejp_3489_;
}
v_reusejp_3489_:
{
return v___x_3490_;
}
}
}
}
}
}
else
{
lean_dec(v_a_3472_);
lean_dec_ref(v_e_3406_);
return v___x_3473_;
}
}
else
{
lean_dec_ref(v_e_3406_);
lean_dec(v___y_3413_);
lean_dec_ref(v___y_3412_);
lean_dec(v___y_3411_);
lean_dec_ref(v___y_3410_);
lean_dec(v___y_3409_);
lean_dec(v___y_3408_);
lean_dec_ref(v___y_3407_);
lean_dec_ref(v_f_3405_);
return v___x_3471_;
}
}
case 7:
{
lean_object* v_binderName_3499_; lean_object* v_binderType_3500_; lean_object* v_body_3501_; uint8_t v_binderInfo_3502_; lean_object* v___x_3503_; 
v_binderName_3499_ = lean_ctor_get(v_e_3406_, 0);
v_binderType_3500_ = lean_ctor_get(v_e_3406_, 1);
v_body_3501_ = lean_ctor_get(v_e_3406_, 2);
v_binderInfo_3502_ = lean_ctor_get_uint8(v_e_3406_, sizeof(void*)*3 + 8);
lean_inc(v___y_3413_);
lean_inc_ref(v___y_3412_);
lean_inc(v___y_3411_);
lean_inc_ref(v___y_3410_);
lean_inc(v___y_3409_);
lean_inc(v___y_3408_);
lean_inc_ref(v___y_3407_);
lean_inc_ref(v_binderType_3500_);
lean_inc_ref(v_f_3405_);
v___x_3503_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_binderType_3500_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3503_) == 0)
{
lean_object* v_a_3504_; lean_object* v___x_3505_; 
v_a_3504_ = lean_ctor_get(v___x_3503_, 0);
lean_inc(v_a_3504_);
lean_dec_ref(v___x_3503_);
lean_inc_ref(v_body_3501_);
v___x_3505_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3405_, v_body_3501_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
if (lean_obj_tag(v___x_3505_) == 0)
{
lean_object* v_a_3506_; lean_object* v___x_3508_; uint8_t v_isShared_3509_; uint8_t v_isSharedCheck_3530_; 
v_a_3506_ = lean_ctor_get(v___x_3505_, 0);
v_isSharedCheck_3530_ = !lean_is_exclusive(v___x_3505_);
if (v_isSharedCheck_3530_ == 0)
{
v___x_3508_ = v___x_3505_;
v_isShared_3509_ = v_isSharedCheck_3530_;
goto v_resetjp_3507_;
}
else
{
lean_inc(v_a_3506_);
lean_dec(v___x_3505_);
v___x_3508_ = lean_box(0);
v_isShared_3509_ = v_isSharedCheck_3530_;
goto v_resetjp_3507_;
}
v_resetjp_3507_:
{
uint8_t v___y_3511_; size_t v___x_3524_; size_t v___x_3525_; uint8_t v___x_3526_; 
v___x_3524_ = lean_ptr_addr(v_binderType_3500_);
v___x_3525_ = lean_ptr_addr(v_a_3504_);
v___x_3526_ = lean_usize_dec_eq(v___x_3524_, v___x_3525_);
if (v___x_3526_ == 0)
{
v___y_3511_ = v___x_3526_;
goto v___jp_3510_;
}
else
{
size_t v___x_3527_; size_t v___x_3528_; uint8_t v___x_3529_; 
v___x_3527_ = lean_ptr_addr(v_body_3501_);
v___x_3528_ = lean_ptr_addr(v_a_3506_);
v___x_3529_ = lean_usize_dec_eq(v___x_3527_, v___x_3528_);
v___y_3511_ = v___x_3529_;
goto v___jp_3510_;
}
v___jp_3510_:
{
if (v___y_3511_ == 0)
{
lean_object* v___x_3512_; lean_object* v___x_3514_; 
lean_inc(v_binderName_3499_);
lean_dec_ref(v_e_3406_);
v___x_3512_ = l_Lean_Expr_forallE___override(v_binderName_3499_, v_a_3504_, v_a_3506_, v_binderInfo_3502_);
if (v_isShared_3509_ == 0)
{
lean_ctor_set(v___x_3508_, 0, v___x_3512_);
v___x_3514_ = v___x_3508_;
goto v_reusejp_3513_;
}
else
{
lean_object* v_reuseFailAlloc_3515_; 
v_reuseFailAlloc_3515_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3515_, 0, v___x_3512_);
v___x_3514_ = v_reuseFailAlloc_3515_;
goto v_reusejp_3513_;
}
v_reusejp_3513_:
{
return v___x_3514_;
}
}
else
{
uint8_t v___x_3516_; 
v___x_3516_ = l_Lean_instBEqBinderInfo_beq(v_binderInfo_3502_, v_binderInfo_3502_);
if (v___x_3516_ == 0)
{
lean_object* v___x_3517_; lean_object* v___x_3519_; 
lean_inc(v_binderName_3499_);
lean_dec_ref(v_e_3406_);
v___x_3517_ = l_Lean_Expr_forallE___override(v_binderName_3499_, v_a_3504_, v_a_3506_, v_binderInfo_3502_);
if (v_isShared_3509_ == 0)
{
lean_ctor_set(v___x_3508_, 0, v___x_3517_);
v___x_3519_ = v___x_3508_;
goto v_reusejp_3518_;
}
else
{
lean_object* v_reuseFailAlloc_3520_; 
v_reuseFailAlloc_3520_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3520_, 0, v___x_3517_);
v___x_3519_ = v_reuseFailAlloc_3520_;
goto v_reusejp_3518_;
}
v_reusejp_3518_:
{
return v___x_3519_;
}
}
else
{
lean_object* v___x_3522_; 
lean_dec(v_a_3506_);
lean_dec(v_a_3504_);
if (v_isShared_3509_ == 0)
{
lean_ctor_set(v___x_3508_, 0, v_e_3406_);
v___x_3522_ = v___x_3508_;
goto v_reusejp_3521_;
}
else
{
lean_object* v_reuseFailAlloc_3523_; 
v_reuseFailAlloc_3523_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3523_, 0, v_e_3406_);
v___x_3522_ = v_reuseFailAlloc_3523_;
goto v_reusejp_3521_;
}
v_reusejp_3521_:
{
return v___x_3522_;
}
}
}
}
}
}
else
{
lean_dec(v_a_3504_);
lean_dec_ref(v_e_3406_);
return v___x_3505_;
}
}
else
{
lean_dec_ref(v_e_3406_);
lean_dec(v___y_3413_);
lean_dec_ref(v___y_3412_);
lean_dec(v___y_3411_);
lean_dec_ref(v___y_3410_);
lean_dec(v___y_3409_);
lean_dec(v___y_3408_);
lean_dec_ref(v___y_3407_);
lean_dec_ref(v_f_3405_);
return v___x_3503_;
}
}
case 8:
{
lean_object* v___x_3531_; lean_object* v___x_3532_; 
lean_dec_ref(v_e_3406_);
lean_dec_ref(v_f_3405_);
v___x_3531_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1, &l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1_once, _init_l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1);
v___x_3532_ = l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(v___x_3531_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
return v___x_3532_;
}
case 11:
{
lean_object* v___x_3533_; lean_object* v___x_3534_; 
lean_dec_ref(v_e_3406_);
lean_dec_ref(v_f_3405_);
v___x_3533_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1, &l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1_once, _init_l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___closed__1);
v___x_3534_ = l_panic___at___00Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4_spec__6(v___x_3533_, v___y_3407_, v___y_3408_, v___y_3409_, v___y_3410_, v___y_3411_, v___y_3412_, v___y_3413_);
return v___x_3534_;
}
default: 
{
lean_object* v___x_3535_; 
lean_dec(v___y_3413_);
lean_dec_ref(v___y_3412_);
lean_dec(v___y_3411_);
lean_dec_ref(v___y_3410_);
lean_dec(v___y_3409_);
lean_dec(v___y_3408_);
lean_dec_ref(v___y_3407_);
lean_dec_ref(v_f_3405_);
v___x_3535_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3535_, 0, v_e_3406_);
return v___x_3535_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4___boxed(lean_object* v_f_3536_, lean_object* v_e_3537_, lean_object* v___y_3538_, lean_object* v___y_3539_, lean_object* v___y_3540_, lean_object* v___y_3541_, lean_object* v___y_3542_, lean_object* v___y_3543_, lean_object* v___y_3544_, lean_object* v___y_3545_){
_start:
{
lean_object* v_res_3546_; 
v_res_3546_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3536_, v_e_3537_, v___y_3538_, v___y_3539_, v___y_3540_, v___y_3541_, v___y_3542_, v___y_3543_, v___y_3544_);
return v_res_3546_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3(uint8_t v_pu_3547_, lean_object* v_f_3548_, lean_object* v_arg_3549_, lean_object* v___y_3550_, lean_object* v___y_3551_, lean_object* v___y_3552_, lean_object* v___y_3553_, lean_object* v___y_3554_, lean_object* v___y_3555_, lean_object* v___y_3556_){
_start:
{
switch(lean_obj_tag(v_arg_3549_))
{
case 0:
{
lean_object* v___x_3558_; lean_object* v___x_3559_; 
lean_dec(v___y_3556_);
lean_dec_ref(v___y_3555_);
lean_dec(v___y_3554_);
lean_dec_ref(v___y_3553_);
lean_dec(v___y_3552_);
lean_dec(v___y_3551_);
lean_dec_ref(v___y_3550_);
lean_dec_ref(v_f_3548_);
v___x_3558_ = lean_box(0);
v___x_3559_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3559_, 0, v___x_3558_);
return v___x_3559_;
}
case 1:
{
lean_object* v_fvarId_3560_; lean_object* v___x_3561_; 
v_fvarId_3560_ = lean_ctor_get(v_arg_3549_, 0);
lean_inc(v_fvarId_3560_);
v___x_3561_ = lean_apply_9(v_f_3548_, v_fvarId_3560_, v___y_3550_, v___y_3551_, v___y_3552_, v___y_3553_, v___y_3554_, v___y_3555_, v___y_3556_, lean_box(0));
if (lean_obj_tag(v___x_3561_) == 0)
{
lean_object* v_a_3562_; lean_object* v___x_3564_; uint8_t v_isShared_3565_; uint8_t v_isSharedCheck_3570_; 
v_a_3562_ = lean_ctor_get(v___x_3561_, 0);
v_isSharedCheck_3570_ = !lean_is_exclusive(v___x_3561_);
if (v_isSharedCheck_3570_ == 0)
{
v___x_3564_ = v___x_3561_;
v_isShared_3565_ = v_isSharedCheck_3570_;
goto v_resetjp_3563_;
}
else
{
lean_inc(v_a_3562_);
lean_dec(v___x_3561_);
v___x_3564_ = lean_box(0);
v_isShared_3565_ = v_isSharedCheck_3570_;
goto v_resetjp_3563_;
}
v_resetjp_3563_:
{
lean_object* v___x_3566_; lean_object* v___x_3568_; 
v___x_3566_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_Arg_updateFVarImp___redArg(v_arg_3549_, v_a_3562_);
if (v_isShared_3565_ == 0)
{
lean_ctor_set(v___x_3564_, 0, v___x_3566_);
v___x_3568_ = v___x_3564_;
goto v_reusejp_3567_;
}
else
{
lean_object* v_reuseFailAlloc_3569_; 
v_reuseFailAlloc_3569_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3569_, 0, v___x_3566_);
v___x_3568_ = v_reuseFailAlloc_3569_;
goto v_reusejp_3567_;
}
v_reusejp_3567_:
{
return v___x_3568_;
}
}
}
else
{
lean_object* v_a_3571_; lean_object* v___x_3573_; uint8_t v_isShared_3574_; uint8_t v_isSharedCheck_3578_; 
lean_dec_ref(v_arg_3549_);
v_a_3571_ = lean_ctor_get(v___x_3561_, 0);
v_isSharedCheck_3578_ = !lean_is_exclusive(v___x_3561_);
if (v_isSharedCheck_3578_ == 0)
{
v___x_3573_ = v___x_3561_;
v_isShared_3574_ = v_isSharedCheck_3578_;
goto v_resetjp_3572_;
}
else
{
lean_inc(v_a_3571_);
lean_dec(v___x_3561_);
v___x_3573_ = lean_box(0);
v_isShared_3574_ = v_isSharedCheck_3578_;
goto v_resetjp_3572_;
}
v_resetjp_3572_:
{
lean_object* v___x_3576_; 
if (v_isShared_3574_ == 0)
{
v___x_3576_ = v___x_3573_;
goto v_reusejp_3575_;
}
else
{
lean_object* v_reuseFailAlloc_3577_; 
v_reuseFailAlloc_3577_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3577_, 0, v_a_3571_);
v___x_3576_ = v_reuseFailAlloc_3577_;
goto v_reusejp_3575_;
}
v_reusejp_3575_:
{
return v___x_3576_;
}
}
}
}
default: 
{
lean_object* v_expr_3579_; lean_object* v___x_3580_; 
v_expr_3579_ = lean_ctor_get(v_arg_3549_, 0);
lean_inc_ref(v_expr_3579_);
v___x_3580_ = l_Lean_Compiler_LCNF_Expr_mapFVarM___at___00Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3_spec__4(v_f_3548_, v_expr_3579_, v___y_3550_, v___y_3551_, v___y_3552_, v___y_3553_, v___y_3554_, v___y_3555_, v___y_3556_);
if (lean_obj_tag(v___x_3580_) == 0)
{
lean_object* v_a_3581_; lean_object* v___x_3583_; uint8_t v_isShared_3584_; uint8_t v_isSharedCheck_3589_; 
v_a_3581_ = lean_ctor_get(v___x_3580_, 0);
v_isSharedCheck_3589_ = !lean_is_exclusive(v___x_3580_);
if (v_isSharedCheck_3589_ == 0)
{
v___x_3583_ = v___x_3580_;
v_isShared_3584_ = v_isSharedCheck_3589_;
goto v_resetjp_3582_;
}
else
{
lean_inc(v_a_3581_);
lean_dec(v___x_3580_);
v___x_3583_ = lean_box(0);
v_isShared_3584_ = v_isSharedCheck_3589_;
goto v_resetjp_3582_;
}
v_resetjp_3582_:
{
lean_object* v___x_3585_; lean_object* v___x_3587_; 
v___x_3585_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_Arg_updateTypeImp(v_pu_3547_, v_arg_3549_, v_a_3581_);
if (v_isShared_3584_ == 0)
{
lean_ctor_set(v___x_3583_, 0, v___x_3585_);
v___x_3587_ = v___x_3583_;
goto v_reusejp_3586_;
}
else
{
lean_object* v_reuseFailAlloc_3588_; 
v_reuseFailAlloc_3588_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3588_, 0, v___x_3585_);
v___x_3587_ = v_reuseFailAlloc_3588_;
goto v_reusejp_3586_;
}
v_reusejp_3586_:
{
return v___x_3587_;
}
}
}
else
{
lean_object* v_a_3590_; lean_object* v___x_3592_; uint8_t v_isShared_3593_; uint8_t v_isSharedCheck_3597_; 
lean_dec_ref(v_arg_3549_);
v_a_3590_ = lean_ctor_get(v___x_3580_, 0);
v_isSharedCheck_3597_ = !lean_is_exclusive(v___x_3580_);
if (v_isSharedCheck_3597_ == 0)
{
v___x_3592_ = v___x_3580_;
v_isShared_3593_ = v_isSharedCheck_3597_;
goto v_resetjp_3591_;
}
else
{
lean_inc(v_a_3590_);
lean_dec(v___x_3580_);
v___x_3592_ = lean_box(0);
v_isShared_3593_ = v_isSharedCheck_3597_;
goto v_resetjp_3591_;
}
v_resetjp_3591_:
{
lean_object* v___x_3595_; 
if (v_isShared_3593_ == 0)
{
v___x_3595_ = v___x_3592_;
goto v_reusejp_3594_;
}
else
{
lean_object* v_reuseFailAlloc_3596_; 
v_reuseFailAlloc_3596_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3596_, 0, v_a_3590_);
v___x_3595_ = v_reuseFailAlloc_3596_;
goto v_reusejp_3594_;
}
v_reusejp_3594_:
{
return v___x_3595_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3___boxed(lean_object* v_pu_3598_, lean_object* v_f_3599_, lean_object* v_arg_3600_, lean_object* v___y_3601_, lean_object* v___y_3602_, lean_object* v___y_3603_, lean_object* v___y_3604_, lean_object* v___y_3605_, lean_object* v___y_3606_, lean_object* v___y_3607_, lean_object* v___y_3608_){
_start:
{
uint8_t v_pu_boxed_3609_; lean_object* v_res_3610_; 
v_pu_boxed_3609_ = lean_unbox(v_pu_3598_);
v_res_3610_ = l_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3(v_pu_boxed_3609_, v_f_3599_, v_arg_3600_, v___y_3601_, v___y_3602_, v___y_3603_, v___y_3604_, v___y_3605_, v___y_3606_, v___y_3607_);
return v_res_3610_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4(size_t v_sz_3612_, size_t v_i_3613_, lean_object* v_bs_3614_, lean_object* v___y_3615_, lean_object* v___y_3616_, lean_object* v___y_3617_, lean_object* v___y_3618_, lean_object* v___y_3619_, lean_object* v___y_3620_, lean_object* v___y_3621_){
_start:
{
uint8_t v___x_3623_; 
v___x_3623_ = lean_usize_dec_lt(v_i_3613_, v_sz_3612_);
if (v___x_3623_ == 0)
{
lean_object* v___x_3624_; 
lean_dec(v___y_3621_);
lean_dec_ref(v___y_3620_);
lean_dec(v___y_3619_);
lean_dec_ref(v___y_3618_);
lean_dec(v___y_3617_);
lean_dec(v___y_3616_);
lean_dec_ref(v___y_3615_);
v___x_3624_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3624_, 0, v_bs_3614_);
return v___x_3624_;
}
else
{
uint8_t v___x_3625_; lean_object* v___x_3626_; lean_object* v_v_3627_; lean_object* v___x_3628_; 
v___x_3625_ = 0;
v___x_3626_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___closed__0));
v_v_3627_ = lean_array_uget_borrowed(v_bs_3614_, v_i_3613_);
lean_inc(v___y_3621_);
lean_inc_ref(v___y_3620_);
lean_inc(v___y_3619_);
lean_inc_ref(v___y_3618_);
lean_inc(v___y_3617_);
lean_inc(v___y_3616_);
lean_inc_ref(v___y_3615_);
lean_inc(v_v_3627_);
v___x_3628_ = l_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3(v___x_3625_, v___x_3626_, v_v_3627_, v___y_3615_, v___y_3616_, v___y_3617_, v___y_3618_, v___y_3619_, v___y_3620_, v___y_3621_);
if (lean_obj_tag(v___x_3628_) == 0)
{
lean_object* v_a_3629_; lean_object* v___x_3630_; lean_object* v_bs_x27_3631_; size_t v___x_3632_; size_t v___x_3633_; lean_object* v___x_3634_; 
v_a_3629_ = lean_ctor_get(v___x_3628_, 0);
lean_inc(v_a_3629_);
lean_dec_ref(v___x_3628_);
v___x_3630_ = lean_unsigned_to_nat(0u);
v_bs_x27_3631_ = lean_array_uset(v_bs_3614_, v_i_3613_, v___x_3630_);
v___x_3632_ = ((size_t)1ULL);
v___x_3633_ = lean_usize_add(v_i_3613_, v___x_3632_);
v___x_3634_ = lean_array_uset(v_bs_x27_3631_, v_i_3613_, v_a_3629_);
v_i_3613_ = v___x_3633_;
v_bs_3614_ = v___x_3634_;
goto _start;
}
else
{
lean_object* v_a_3636_; lean_object* v___x_3638_; uint8_t v_isShared_3639_; uint8_t v_isSharedCheck_3643_; 
lean_dec(v___y_3621_);
lean_dec_ref(v___y_3620_);
lean_dec(v___y_3619_);
lean_dec_ref(v___y_3618_);
lean_dec(v___y_3617_);
lean_dec(v___y_3616_);
lean_dec_ref(v___y_3615_);
lean_dec_ref(v_bs_3614_);
v_a_3636_ = lean_ctor_get(v___x_3628_, 0);
v_isSharedCheck_3643_ = !lean_is_exclusive(v___x_3628_);
if (v_isSharedCheck_3643_ == 0)
{
v___x_3638_ = v___x_3628_;
v_isShared_3639_ = v_isSharedCheck_3643_;
goto v_resetjp_3637_;
}
else
{
lean_inc(v_a_3636_);
lean_dec(v___x_3628_);
v___x_3638_ = lean_box(0);
v_isShared_3639_ = v_isSharedCheck_3643_;
goto v_resetjp_3637_;
}
v_resetjp_3637_:
{
lean_object* v___x_3641_; 
if (v_isShared_3639_ == 0)
{
v___x_3641_ = v___x_3638_;
goto v_reusejp_3640_;
}
else
{
lean_object* v_reuseFailAlloc_3642_; 
v_reuseFailAlloc_3642_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3642_, 0, v_a_3636_);
v___x_3641_ = v_reuseFailAlloc_3642_;
goto v_reusejp_3640_;
}
v_reusejp_3640_:
{
return v___x_3641_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___boxed(lean_object* v_sz_3644_, lean_object* v_i_3645_, lean_object* v_bs_3646_, lean_object* v___y_3647_, lean_object* v___y_3648_, lean_object* v___y_3649_, lean_object* v___y_3650_, lean_object* v___y_3651_, lean_object* v___y_3652_, lean_object* v___y_3653_, lean_object* v___y_3654_){
_start:
{
size_t v_sz_boxed_3655_; size_t v_i_boxed_3656_; lean_object* v_res_3657_; 
v_sz_boxed_3655_ = lean_unbox_usize(v_sz_3644_);
lean_dec(v_sz_3644_);
v_i_boxed_3656_ = lean_unbox_usize(v_i_3645_);
lean_dec(v_i_3645_);
v_res_3657_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4(v_sz_boxed_3655_, v_i_boxed_3656_, v_bs_3646_, v___y_3647_, v___y_3648_, v___y_3649_, v___y_3650_, v___y_3651_, v___y_3652_, v___y_3653_);
return v_res_3657_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7(size_t v_sz_3658_, size_t v_i_3659_, lean_object* v_bs_3660_){
_start:
{
uint8_t v___x_3661_; 
v___x_3661_ = lean_usize_dec_lt(v_i_3659_, v_sz_3658_);
if (v___x_3661_ == 0)
{
return v_bs_3660_;
}
else
{
lean_object* v_v_3662_; lean_object* v___x_3663_; lean_object* v_bs_x27_3664_; lean_object* v___x_3665_; size_t v___x_3666_; size_t v___x_3667_; lean_object* v___x_3668_; 
v_v_3662_ = lean_array_uget(v_bs_3660_, v_i_3659_);
v___x_3663_ = lean_unsigned_to_nat(0u);
v_bs_x27_3664_ = lean_array_uset(v_bs_3660_, v_i_3659_, v___x_3663_);
v___x_3665_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3665_, 0, v_v_3662_);
v___x_3666_ = ((size_t)1ULL);
v___x_3667_ = lean_usize_add(v_i_3659_, v___x_3666_);
v___x_3668_ = lean_array_uset(v_bs_x27_3664_, v_i_3659_, v___x_3665_);
v_i_3659_ = v___x_3667_;
v_bs_3660_ = v___x_3668_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7___boxed(lean_object* v_sz_3670_, lean_object* v_i_3671_, lean_object* v_bs_3672_){
_start:
{
size_t v_sz_boxed_3673_; size_t v_i_boxed_3674_; lean_object* v_res_3675_; 
v_sz_boxed_3673_ = lean_unbox_usize(v_sz_3670_);
lean_dec(v_sz_3670_);
v_i_boxed_3674_ = lean_unbox_usize(v_i_3671_);
lean_dec(v_i_3671_);
v_res_3675_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7(v_sz_boxed_3673_, v_i_boxed_3674_, v_bs_3672_);
return v_res_3675_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1(size_t v_sz_3676_, size_t v_i_3677_, lean_object* v_bs_3678_){
_start:
{
uint8_t v___x_3679_; 
v___x_3679_ = lean_usize_dec_lt(v_i_3677_, v_sz_3676_);
if (v___x_3679_ == 0)
{
return v_bs_3678_;
}
else
{
lean_object* v_v_3680_; lean_object* v_snd_3681_; lean_object* v___x_3682_; lean_object* v_bs_x27_3683_; size_t v___x_3684_; size_t v___x_3685_; lean_object* v___x_3686_; 
v_v_3680_ = lean_array_uget_borrowed(v_bs_3678_, v_i_3677_);
v_snd_3681_ = lean_ctor_get(v_v_3680_, 1);
lean_inc(v_snd_3681_);
v___x_3682_ = lean_unsigned_to_nat(0u);
v_bs_x27_3683_ = lean_array_uset(v_bs_3678_, v_i_3677_, v___x_3682_);
v___x_3684_ = ((size_t)1ULL);
v___x_3685_ = lean_usize_add(v_i_3677_, v___x_3684_);
v___x_3686_ = lean_array_uset(v_bs_x27_3683_, v_i_3677_, v_snd_3681_);
v_i_3677_ = v___x_3685_;
v_bs_3678_ = v___x_3686_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1___boxed(lean_object* v_sz_3688_, lean_object* v_i_3689_, lean_object* v_bs_3690_){
_start:
{
size_t v_sz_boxed_3691_; size_t v_i_boxed_3692_; lean_object* v_res_3693_; 
v_sz_boxed_3691_ = lean_unbox_usize(v_sz_3688_);
lean_dec(v_sz_3688_);
v_i_boxed_3692_ = lean_unbox_usize(v_i_3689_);
lean_dec(v_i_3689_);
v_res_3693_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1(v_sz_boxed_3691_, v_i_boxed_3692_, v_bs_3690_);
return v_res_3693_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2(lean_object* v_as_3694_, size_t v_i_3695_, size_t v_stop_3696_, lean_object* v_b_3697_){
_start:
{
uint8_t v___x_3698_; 
v___x_3698_ = lean_usize_dec_eq(v_i_3695_, v_stop_3696_);
if (v___x_3698_ == 0)
{
size_t v___x_3699_; size_t v___x_3700_; lean_object* v___x_3701_; lean_object* v_binderName_3702_; lean_object* v_type_3703_; uint8_t v___x_3704_; lean_object* v___x_3705_; 
v___x_3699_ = ((size_t)1ULL);
v___x_3700_ = lean_usize_sub(v_i_3695_, v___x_3699_);
v___x_3701_ = lean_array_uget_borrowed(v_as_3694_, v___x_3700_);
v_binderName_3702_ = lean_ctor_get(v___x_3701_, 1);
v_type_3703_ = lean_ctor_get(v___x_3701_, 2);
v___x_3704_ = 0;
lean_inc_ref(v_type_3703_);
lean_inc(v_binderName_3702_);
v___x_3705_ = l_Lean_Expr_forallE___override(v_binderName_3702_, v_type_3703_, v_b_3697_, v___x_3704_);
v_i_3695_ = v___x_3700_;
v_b_3697_ = v___x_3705_;
goto _start;
}
else
{
return v_b_3697_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2___boxed(lean_object* v_as_3707_, lean_object* v_i_3708_, lean_object* v_stop_3709_, lean_object* v_b_3710_){
_start:
{
size_t v_i_boxed_3711_; size_t v_stop_boxed_3712_; lean_object* v_res_3713_; 
v_i_boxed_3711_ = lean_unbox_usize(v_i_3708_);
lean_dec(v_i_3708_);
v_stop_boxed_3712_ = lean_unbox_usize(v_stop_3709_);
lean_dec(v_stop_3709_);
v_res_3713_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2(v_as_3707_, v_i_boxed_3711_, v_stop_boxed_3712_, v_b_3710_);
lean_dec_ref(v_as_3707_);
return v_res_3713_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(uint8_t v_pu_3714_, lean_object* v_f_3715_, size_t v_sz_3716_, size_t v_i_3717_, lean_object* v_bs_3718_, lean_object* v___y_3719_, lean_object* v___y_3720_, lean_object* v___y_3721_, lean_object* v___y_3722_, lean_object* v___y_3723_, lean_object* v___y_3724_, lean_object* v___y_3725_){
_start:
{
uint8_t v___x_3727_; 
v___x_3727_ = lean_usize_dec_lt(v_i_3717_, v_sz_3716_);
if (v___x_3727_ == 0)
{
lean_object* v___x_3728_; 
lean_dec(v___y_3725_);
lean_dec_ref(v___y_3724_);
lean_dec(v___y_3723_);
lean_dec_ref(v___y_3722_);
lean_dec(v___y_3721_);
lean_dec(v___y_3720_);
lean_dec_ref(v___y_3719_);
lean_dec_ref(v_f_3715_);
v___x_3728_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3728_, 0, v_bs_3718_);
return v___x_3728_;
}
else
{
lean_object* v_v_3729_; lean_object* v___x_3730_; 
v_v_3729_ = lean_array_uget_borrowed(v_bs_3718_, v_i_3717_);
lean_inc(v___y_3725_);
lean_inc_ref(v___y_3724_);
lean_inc(v___y_3723_);
lean_inc_ref(v___y_3722_);
lean_inc(v___y_3721_);
lean_inc(v___y_3720_);
lean_inc_ref(v___y_3719_);
lean_inc(v_v_3729_);
lean_inc_ref(v_f_3715_);
v___x_3730_ = l_Lean_Compiler_LCNF_Arg_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__3(v_pu_3714_, v_f_3715_, v_v_3729_, v___y_3719_, v___y_3720_, v___y_3721_, v___y_3722_, v___y_3723_, v___y_3724_, v___y_3725_);
if (lean_obj_tag(v___x_3730_) == 0)
{
lean_object* v_a_3731_; lean_object* v___x_3732_; lean_object* v_bs_x27_3733_; size_t v___x_3734_; size_t v___x_3735_; lean_object* v___x_3736_; 
v_a_3731_ = lean_ctor_get(v___x_3730_, 0);
lean_inc(v_a_3731_);
lean_dec_ref(v___x_3730_);
v___x_3732_ = lean_unsigned_to_nat(0u);
v_bs_x27_3733_ = lean_array_uset(v_bs_3718_, v_i_3717_, v___x_3732_);
v___x_3734_ = ((size_t)1ULL);
v___x_3735_ = lean_usize_add(v_i_3717_, v___x_3734_);
v___x_3736_ = lean_array_uset(v_bs_x27_3733_, v_i_3717_, v_a_3731_);
v_i_3717_ = v___x_3735_;
v_bs_3718_ = v___x_3736_;
goto _start;
}
else
{
lean_object* v_a_3738_; lean_object* v___x_3740_; uint8_t v_isShared_3741_; uint8_t v_isSharedCheck_3745_; 
lean_dec(v___y_3725_);
lean_dec_ref(v___y_3724_);
lean_dec(v___y_3723_);
lean_dec_ref(v___y_3722_);
lean_dec(v___y_3721_);
lean_dec(v___y_3720_);
lean_dec_ref(v___y_3719_);
lean_dec_ref(v_bs_3718_);
lean_dec_ref(v_f_3715_);
v_a_3738_ = lean_ctor_get(v___x_3730_, 0);
v_isSharedCheck_3745_ = !lean_is_exclusive(v___x_3730_);
if (v_isSharedCheck_3745_ == 0)
{
v___x_3740_ = v___x_3730_;
v_isShared_3741_ = v_isSharedCheck_3745_;
goto v_resetjp_3739_;
}
else
{
lean_inc(v_a_3738_);
lean_dec(v___x_3730_);
v___x_3740_ = lean_box(0);
v_isShared_3741_ = v_isSharedCheck_3745_;
goto v_resetjp_3739_;
}
v_resetjp_3739_:
{
lean_object* v___x_3743_; 
if (v_isShared_3741_ == 0)
{
v___x_3743_ = v___x_3740_;
goto v_reusejp_3742_;
}
else
{
lean_object* v_reuseFailAlloc_3744_; 
v_reuseFailAlloc_3744_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3744_, 0, v_a_3738_);
v___x_3743_ = v_reuseFailAlloc_3744_;
goto v_reusejp_3742_;
}
v_reusejp_3742_:
{
return v___x_3743_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0___boxed(lean_object* v_pu_3746_, lean_object* v_f_3747_, lean_object* v_sz_3748_, lean_object* v_i_3749_, lean_object* v_bs_3750_, lean_object* v___y_3751_, lean_object* v___y_3752_, lean_object* v___y_3753_, lean_object* v___y_3754_, lean_object* v___y_3755_, lean_object* v___y_3756_, lean_object* v___y_3757_, lean_object* v___y_3758_){
_start:
{
uint8_t v_pu_boxed_3759_; size_t v_sz_boxed_3760_; size_t v_i_boxed_3761_; lean_object* v_res_3762_; 
v_pu_boxed_3759_ = lean_unbox(v_pu_3746_);
v_sz_boxed_3760_ = lean_unbox_usize(v_sz_3748_);
lean_dec(v_sz_3748_);
v_i_boxed_3761_ = lean_unbox_usize(v_i_3749_);
lean_dec(v_i_3749_);
v_res_3762_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_boxed_3759_, v_f_3747_, v_sz_boxed_3760_, v_i_boxed_3761_, v_bs_3750_, v___y_3751_, v___y_3752_, v___y_3753_, v___y_3754_, v___y_3755_, v___y_3756_, v___y_3757_);
return v_res_3762_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0(uint8_t v_pu_3763_, lean_object* v_f_3764_, lean_object* v_e_3765_, lean_object* v___y_3766_, lean_object* v___y_3767_, lean_object* v___y_3768_, lean_object* v___y_3769_, lean_object* v___y_3770_, lean_object* v___y_3771_, lean_object* v___y_3772_){
_start:
{
lean_object* v_args_3775_; lean_object* v_fvarId_3797_; 
switch(lean_obj_tag(v_e_3765_))
{
case 2:
{
lean_object* v_struct_3816_; lean_object* v___x_3817_; 
v_struct_3816_ = lean_ctor_get(v_e_3765_, 2);
lean_inc(v_struct_3816_);
v___x_3817_ = lean_apply_9(v_f_3764_, v_struct_3816_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3817_) == 0)
{
lean_object* v_a_3818_; lean_object* v___x_3820_; uint8_t v_isShared_3821_; uint8_t v_isSharedCheck_3826_; 
v_a_3818_ = lean_ctor_get(v___x_3817_, 0);
v_isSharedCheck_3826_ = !lean_is_exclusive(v___x_3817_);
if (v_isSharedCheck_3826_ == 0)
{
v___x_3820_ = v___x_3817_;
v_isShared_3821_ = v_isSharedCheck_3826_;
goto v_resetjp_3819_;
}
else
{
lean_inc(v_a_3818_);
lean_dec(v___x_3817_);
v___x_3820_ = lean_box(0);
v_isShared_3821_ = v_isSharedCheck_3826_;
goto v_resetjp_3819_;
}
v_resetjp_3819_:
{
lean_object* v___x_3822_; lean_object* v___x_3824_; 
v___x_3822_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateProjImp(v_pu_3763_, v_e_3765_, v_a_3818_);
if (v_isShared_3821_ == 0)
{
lean_ctor_set(v___x_3820_, 0, v___x_3822_);
v___x_3824_ = v___x_3820_;
goto v_reusejp_3823_;
}
else
{
lean_object* v_reuseFailAlloc_3825_; 
v_reuseFailAlloc_3825_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3825_, 0, v___x_3822_);
v___x_3824_ = v_reuseFailAlloc_3825_;
goto v_reusejp_3823_;
}
v_reusejp_3823_:
{
return v___x_3824_;
}
}
}
else
{
lean_object* v_a_3827_; lean_object* v___x_3829_; uint8_t v_isShared_3830_; uint8_t v_isSharedCheck_3834_; 
lean_dec_ref(v_e_3765_);
v_a_3827_ = lean_ctor_get(v___x_3817_, 0);
v_isSharedCheck_3834_ = !lean_is_exclusive(v___x_3817_);
if (v_isSharedCheck_3834_ == 0)
{
v___x_3829_ = v___x_3817_;
v_isShared_3830_ = v_isSharedCheck_3834_;
goto v_resetjp_3828_;
}
else
{
lean_inc(v_a_3827_);
lean_dec(v___x_3817_);
v___x_3829_ = lean_box(0);
v_isShared_3830_ = v_isSharedCheck_3834_;
goto v_resetjp_3828_;
}
v_resetjp_3828_:
{
lean_object* v___x_3832_; 
if (v_isShared_3830_ == 0)
{
v___x_3832_ = v___x_3829_;
goto v_reusejp_3831_;
}
else
{
lean_object* v_reuseFailAlloc_3833_; 
v_reuseFailAlloc_3833_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3833_, 0, v_a_3827_);
v___x_3832_ = v_reuseFailAlloc_3833_;
goto v_reusejp_3831_;
}
v_reusejp_3831_:
{
return v___x_3832_;
}
}
}
}
case 3:
{
lean_object* v_args_3835_; size_t v_sz_3836_; size_t v___x_3837_; lean_object* v___x_3838_; 
v_args_3835_ = lean_ctor_get(v_e_3765_, 2);
v_sz_3836_ = lean_array_size(v_args_3835_);
v___x_3837_ = ((size_t)0ULL);
lean_inc_ref(v_args_3835_);
v___x_3838_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_3763_, v_f_3764_, v_sz_3836_, v___x_3837_, v_args_3835_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_);
if (lean_obj_tag(v___x_3838_) == 0)
{
lean_object* v_a_3839_; lean_object* v___x_3841_; uint8_t v_isShared_3842_; uint8_t v_isSharedCheck_3847_; 
v_a_3839_ = lean_ctor_get(v___x_3838_, 0);
v_isSharedCheck_3847_ = !lean_is_exclusive(v___x_3838_);
if (v_isSharedCheck_3847_ == 0)
{
v___x_3841_ = v___x_3838_;
v_isShared_3842_ = v_isSharedCheck_3847_;
goto v_resetjp_3840_;
}
else
{
lean_inc(v_a_3839_);
lean_dec(v___x_3838_);
v___x_3841_ = lean_box(0);
v_isShared_3842_ = v_isSharedCheck_3847_;
goto v_resetjp_3840_;
}
v_resetjp_3840_:
{
lean_object* v___x_3843_; lean_object* v___x_3845_; 
v___x_3843_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateArgsImp(v_pu_3763_, v_e_3765_, v_a_3839_);
if (v_isShared_3842_ == 0)
{
lean_ctor_set(v___x_3841_, 0, v___x_3843_);
v___x_3845_ = v___x_3841_;
goto v_reusejp_3844_;
}
else
{
lean_object* v_reuseFailAlloc_3846_; 
v_reuseFailAlloc_3846_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3846_, 0, v___x_3843_);
v___x_3845_ = v_reuseFailAlloc_3846_;
goto v_reusejp_3844_;
}
v_reusejp_3844_:
{
return v___x_3845_;
}
}
}
else
{
lean_object* v_a_3848_; lean_object* v___x_3850_; uint8_t v_isShared_3851_; uint8_t v_isSharedCheck_3855_; 
lean_dec_ref(v_e_3765_);
v_a_3848_ = lean_ctor_get(v___x_3838_, 0);
v_isSharedCheck_3855_ = !lean_is_exclusive(v___x_3838_);
if (v_isSharedCheck_3855_ == 0)
{
v___x_3850_ = v___x_3838_;
v_isShared_3851_ = v_isSharedCheck_3855_;
goto v_resetjp_3849_;
}
else
{
lean_inc(v_a_3848_);
lean_dec(v___x_3838_);
v___x_3850_ = lean_box(0);
v_isShared_3851_ = v_isSharedCheck_3855_;
goto v_resetjp_3849_;
}
v_resetjp_3849_:
{
lean_object* v___x_3853_; 
if (v_isShared_3851_ == 0)
{
v___x_3853_ = v___x_3850_;
goto v_reusejp_3852_;
}
else
{
lean_object* v_reuseFailAlloc_3854_; 
v_reuseFailAlloc_3854_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3854_, 0, v_a_3848_);
v___x_3853_ = v_reuseFailAlloc_3854_;
goto v_reusejp_3852_;
}
v_reusejp_3852_:
{
return v___x_3853_;
}
}
}
}
case 4:
{
lean_object* v_fvarId_3856_; lean_object* v_args_3857_; lean_object* v___x_3858_; 
v_fvarId_3856_ = lean_ctor_get(v_e_3765_, 0);
v_args_3857_ = lean_ctor_get(v_e_3765_, 1);
lean_inc_ref(v_f_3764_);
lean_inc(v___y_3772_);
lean_inc_ref(v___y_3771_);
lean_inc(v___y_3770_);
lean_inc_ref(v___y_3769_);
lean_inc(v___y_3768_);
lean_inc(v___y_3767_);
lean_inc_ref(v___y_3766_);
lean_inc(v_fvarId_3856_);
v___x_3858_ = lean_apply_9(v_f_3764_, v_fvarId_3856_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3858_) == 0)
{
lean_object* v_a_3859_; size_t v_sz_3860_; size_t v___x_3861_; lean_object* v___x_3862_; 
v_a_3859_ = lean_ctor_get(v___x_3858_, 0);
lean_inc(v_a_3859_);
lean_dec_ref(v___x_3858_);
v_sz_3860_ = lean_array_size(v_args_3857_);
v___x_3861_ = ((size_t)0ULL);
lean_inc_ref(v_args_3857_);
v___x_3862_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_3763_, v_f_3764_, v_sz_3860_, v___x_3861_, v_args_3857_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_);
if (lean_obj_tag(v___x_3862_) == 0)
{
lean_object* v_a_3863_; lean_object* v___x_3865_; uint8_t v_isShared_3866_; uint8_t v_isSharedCheck_3871_; 
v_a_3863_ = lean_ctor_get(v___x_3862_, 0);
v_isSharedCheck_3871_ = !lean_is_exclusive(v___x_3862_);
if (v_isSharedCheck_3871_ == 0)
{
v___x_3865_ = v___x_3862_;
v_isShared_3866_ = v_isSharedCheck_3871_;
goto v_resetjp_3864_;
}
else
{
lean_inc(v_a_3863_);
lean_dec(v___x_3862_);
v___x_3865_ = lean_box(0);
v_isShared_3866_ = v_isSharedCheck_3871_;
goto v_resetjp_3864_;
}
v_resetjp_3864_:
{
lean_object* v___x_3867_; lean_object* v___x_3869_; 
v___x_3867_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateFVarImp(v_pu_3763_, v_e_3765_, v_a_3859_, v_a_3863_);
lean_dec_ref(v_e_3765_);
if (v_isShared_3866_ == 0)
{
lean_ctor_set(v___x_3865_, 0, v___x_3867_);
v___x_3869_ = v___x_3865_;
goto v_reusejp_3868_;
}
else
{
lean_object* v_reuseFailAlloc_3870_; 
v_reuseFailAlloc_3870_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3870_, 0, v___x_3867_);
v___x_3869_ = v_reuseFailAlloc_3870_;
goto v_reusejp_3868_;
}
v_reusejp_3868_:
{
return v___x_3869_;
}
}
}
else
{
lean_object* v_a_3872_; lean_object* v___x_3874_; uint8_t v_isShared_3875_; uint8_t v_isSharedCheck_3879_; 
lean_dec(v_a_3859_);
lean_dec_ref(v_e_3765_);
v_a_3872_ = lean_ctor_get(v___x_3862_, 0);
v_isSharedCheck_3879_ = !lean_is_exclusive(v___x_3862_);
if (v_isSharedCheck_3879_ == 0)
{
v___x_3874_ = v___x_3862_;
v_isShared_3875_ = v_isSharedCheck_3879_;
goto v_resetjp_3873_;
}
else
{
lean_inc(v_a_3872_);
lean_dec(v___x_3862_);
v___x_3874_ = lean_box(0);
v_isShared_3875_ = v_isSharedCheck_3879_;
goto v_resetjp_3873_;
}
v_resetjp_3873_:
{
lean_object* v___x_3877_; 
if (v_isShared_3875_ == 0)
{
v___x_3877_ = v___x_3874_;
goto v_reusejp_3876_;
}
else
{
lean_object* v_reuseFailAlloc_3878_; 
v_reuseFailAlloc_3878_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3878_, 0, v_a_3872_);
v___x_3877_ = v_reuseFailAlloc_3878_;
goto v_reusejp_3876_;
}
v_reusejp_3876_:
{
return v___x_3877_;
}
}
}
}
else
{
lean_object* v_a_3880_; lean_object* v___x_3882_; uint8_t v_isShared_3883_; uint8_t v_isSharedCheck_3887_; 
lean_dec_ref(v_e_3765_);
lean_dec(v___y_3772_);
lean_dec_ref(v___y_3771_);
lean_dec(v___y_3770_);
lean_dec_ref(v___y_3769_);
lean_dec(v___y_3768_);
lean_dec(v___y_3767_);
lean_dec_ref(v___y_3766_);
lean_dec_ref(v_f_3764_);
v_a_3880_ = lean_ctor_get(v___x_3858_, 0);
v_isSharedCheck_3887_ = !lean_is_exclusive(v___x_3858_);
if (v_isSharedCheck_3887_ == 0)
{
v___x_3882_ = v___x_3858_;
v_isShared_3883_ = v_isSharedCheck_3887_;
goto v_resetjp_3881_;
}
else
{
lean_inc(v_a_3880_);
lean_dec(v___x_3858_);
v___x_3882_ = lean_box(0);
v_isShared_3883_ = v_isSharedCheck_3887_;
goto v_resetjp_3881_;
}
v_resetjp_3881_:
{
lean_object* v___x_3885_; 
if (v_isShared_3883_ == 0)
{
v___x_3885_ = v___x_3882_;
goto v_reusejp_3884_;
}
else
{
lean_object* v_reuseFailAlloc_3886_; 
v_reuseFailAlloc_3886_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3886_, 0, v_a_3880_);
v___x_3885_ = v_reuseFailAlloc_3886_;
goto v_reusejp_3884_;
}
v_reusejp_3884_:
{
return v___x_3885_;
}
}
}
}
case 5:
{
lean_object* v_args_3888_; size_t v_sz_3889_; size_t v___x_3890_; lean_object* v___x_3891_; 
v_args_3888_ = lean_ctor_get(v_e_3765_, 1);
v_sz_3889_ = lean_array_size(v_args_3888_);
v___x_3890_ = ((size_t)0ULL);
lean_inc_ref(v_args_3888_);
v___x_3891_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_3763_, v_f_3764_, v_sz_3889_, v___x_3890_, v_args_3888_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_);
if (lean_obj_tag(v___x_3891_) == 0)
{
lean_object* v_a_3892_; lean_object* v___x_3894_; uint8_t v_isShared_3895_; uint8_t v_isSharedCheck_3900_; 
v_a_3892_ = lean_ctor_get(v___x_3891_, 0);
v_isSharedCheck_3900_ = !lean_is_exclusive(v___x_3891_);
if (v_isSharedCheck_3900_ == 0)
{
v___x_3894_ = v___x_3891_;
v_isShared_3895_ = v_isSharedCheck_3900_;
goto v_resetjp_3893_;
}
else
{
lean_inc(v_a_3892_);
lean_dec(v___x_3891_);
v___x_3894_ = lean_box(0);
v_isShared_3895_ = v_isSharedCheck_3900_;
goto v_resetjp_3893_;
}
v_resetjp_3893_:
{
lean_object* v___x_3896_; lean_object* v___x_3898_; 
v___x_3896_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateArgsImp(v_pu_3763_, v_e_3765_, v_a_3892_);
if (v_isShared_3895_ == 0)
{
lean_ctor_set(v___x_3894_, 0, v___x_3896_);
v___x_3898_ = v___x_3894_;
goto v_reusejp_3897_;
}
else
{
lean_object* v_reuseFailAlloc_3899_; 
v_reuseFailAlloc_3899_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3899_, 0, v___x_3896_);
v___x_3898_ = v_reuseFailAlloc_3899_;
goto v_reusejp_3897_;
}
v_reusejp_3897_:
{
return v___x_3898_;
}
}
}
else
{
lean_object* v_a_3901_; lean_object* v___x_3903_; uint8_t v_isShared_3904_; uint8_t v_isSharedCheck_3908_; 
lean_dec_ref(v_e_3765_);
v_a_3901_ = lean_ctor_get(v___x_3891_, 0);
v_isSharedCheck_3908_ = !lean_is_exclusive(v___x_3891_);
if (v_isSharedCheck_3908_ == 0)
{
v___x_3903_ = v___x_3891_;
v_isShared_3904_ = v_isSharedCheck_3908_;
goto v_resetjp_3902_;
}
else
{
lean_inc(v_a_3901_);
lean_dec(v___x_3891_);
v___x_3903_ = lean_box(0);
v_isShared_3904_ = v_isSharedCheck_3908_;
goto v_resetjp_3902_;
}
v_resetjp_3902_:
{
lean_object* v___x_3906_; 
if (v_isShared_3904_ == 0)
{
v___x_3906_ = v___x_3903_;
goto v_reusejp_3905_;
}
else
{
lean_object* v_reuseFailAlloc_3907_; 
v_reuseFailAlloc_3907_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3907_, 0, v_a_3901_);
v___x_3906_ = v_reuseFailAlloc_3907_;
goto v_reusejp_3905_;
}
v_reusejp_3905_:
{
return v___x_3906_;
}
}
}
}
case 6:
{
lean_object* v_var_3909_; 
v_var_3909_ = lean_ctor_get(v_e_3765_, 1);
lean_inc(v_var_3909_);
v_fvarId_3797_ = v_var_3909_;
goto v___jp_3796_;
}
case 7:
{
lean_object* v_var_3910_; 
v_var_3910_ = lean_ctor_get(v_e_3765_, 1);
lean_inc(v_var_3910_);
v_fvarId_3797_ = v_var_3910_;
goto v___jp_3796_;
}
case 8:
{
lean_object* v_var_3911_; lean_object* v___x_3912_; 
v_var_3911_ = lean_ctor_get(v_e_3765_, 2);
lean_inc(v_var_3911_);
v___x_3912_ = lean_apply_9(v_f_3764_, v_var_3911_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3912_) == 0)
{
lean_object* v_a_3913_; lean_object* v___x_3915_; uint8_t v_isShared_3916_; uint8_t v_isSharedCheck_3921_; 
v_a_3913_ = lean_ctor_get(v___x_3912_, 0);
v_isSharedCheck_3921_ = !lean_is_exclusive(v___x_3912_);
if (v_isSharedCheck_3921_ == 0)
{
v___x_3915_ = v___x_3912_;
v_isShared_3916_ = v_isSharedCheck_3921_;
goto v_resetjp_3914_;
}
else
{
lean_inc(v_a_3913_);
lean_dec(v___x_3912_);
v___x_3915_ = lean_box(0);
v_isShared_3916_ = v_isSharedCheck_3921_;
goto v_resetjp_3914_;
}
v_resetjp_3914_:
{
lean_object* v___x_3917_; lean_object* v___x_3919_; 
v___x_3917_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateProjImp(v_pu_3763_, v_e_3765_, v_a_3913_);
if (v_isShared_3916_ == 0)
{
lean_ctor_set(v___x_3915_, 0, v___x_3917_);
v___x_3919_ = v___x_3915_;
goto v_reusejp_3918_;
}
else
{
lean_object* v_reuseFailAlloc_3920_; 
v_reuseFailAlloc_3920_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3920_, 0, v___x_3917_);
v___x_3919_ = v_reuseFailAlloc_3920_;
goto v_reusejp_3918_;
}
v_reusejp_3918_:
{
return v___x_3919_;
}
}
}
else
{
lean_object* v_a_3922_; lean_object* v___x_3924_; uint8_t v_isShared_3925_; uint8_t v_isSharedCheck_3929_; 
lean_dec_ref(v_e_3765_);
v_a_3922_ = lean_ctor_get(v___x_3912_, 0);
v_isSharedCheck_3929_ = !lean_is_exclusive(v___x_3912_);
if (v_isSharedCheck_3929_ == 0)
{
v___x_3924_ = v___x_3912_;
v_isShared_3925_ = v_isSharedCheck_3929_;
goto v_resetjp_3923_;
}
else
{
lean_inc(v_a_3922_);
lean_dec(v___x_3912_);
v___x_3924_ = lean_box(0);
v_isShared_3925_ = v_isSharedCheck_3929_;
goto v_resetjp_3923_;
}
v_resetjp_3923_:
{
lean_object* v___x_3927_; 
if (v_isShared_3925_ == 0)
{
v___x_3927_ = v___x_3924_;
goto v_reusejp_3926_;
}
else
{
lean_object* v_reuseFailAlloc_3928_; 
v_reuseFailAlloc_3928_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3928_, 0, v_a_3922_);
v___x_3927_ = v_reuseFailAlloc_3928_;
goto v_reusejp_3926_;
}
v_reusejp_3926_:
{
return v___x_3927_;
}
}
}
}
case 9:
{
lean_object* v_args_3930_; 
v_args_3930_ = lean_ctor_get(v_e_3765_, 1);
lean_inc_ref(v_args_3930_);
v_args_3775_ = v_args_3930_;
goto v___jp_3774_;
}
case 10:
{
lean_object* v_args_3931_; 
v_args_3931_ = lean_ctor_get(v_e_3765_, 1);
lean_inc_ref(v_args_3931_);
v_args_3775_ = v_args_3931_;
goto v___jp_3774_;
}
case 11:
{
lean_object* v_n_3932_; lean_object* v_var_3933_; lean_object* v___x_3934_; 
v_n_3932_ = lean_ctor_get(v_e_3765_, 0);
lean_inc(v_n_3932_);
v_var_3933_ = lean_ctor_get(v_e_3765_, 1);
lean_inc(v_var_3933_);
v___x_3934_ = lean_apply_9(v_f_3764_, v_var_3933_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3934_) == 0)
{
lean_object* v_a_3935_; lean_object* v___x_3937_; uint8_t v_isShared_3938_; uint8_t v_isSharedCheck_3943_; 
v_a_3935_ = lean_ctor_get(v___x_3934_, 0);
v_isSharedCheck_3943_ = !lean_is_exclusive(v___x_3934_);
if (v_isSharedCheck_3943_ == 0)
{
v___x_3937_ = v___x_3934_;
v_isShared_3938_ = v_isSharedCheck_3943_;
goto v_resetjp_3936_;
}
else
{
lean_inc(v_a_3935_);
lean_dec(v___x_3934_);
v___x_3937_ = lean_box(0);
v_isShared_3938_ = v_isSharedCheck_3943_;
goto v_resetjp_3936_;
}
v_resetjp_3936_:
{
lean_object* v___x_3939_; lean_object* v___x_3941_; 
v___x_3939_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateResetImp(v_pu_3763_, v_e_3765_, v_n_3932_, v_a_3935_);
lean_dec_ref(v_e_3765_);
if (v_isShared_3938_ == 0)
{
lean_ctor_set(v___x_3937_, 0, v___x_3939_);
v___x_3941_ = v___x_3937_;
goto v_reusejp_3940_;
}
else
{
lean_object* v_reuseFailAlloc_3942_; 
v_reuseFailAlloc_3942_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3942_, 0, v___x_3939_);
v___x_3941_ = v_reuseFailAlloc_3942_;
goto v_reusejp_3940_;
}
v_reusejp_3940_:
{
return v___x_3941_;
}
}
}
else
{
lean_object* v_a_3944_; lean_object* v___x_3946_; uint8_t v_isShared_3947_; uint8_t v_isSharedCheck_3951_; 
lean_dec_ref(v_e_3765_);
lean_dec(v_n_3932_);
v_a_3944_ = lean_ctor_get(v___x_3934_, 0);
v_isSharedCheck_3951_ = !lean_is_exclusive(v___x_3934_);
if (v_isSharedCheck_3951_ == 0)
{
v___x_3946_ = v___x_3934_;
v_isShared_3947_ = v_isSharedCheck_3951_;
goto v_resetjp_3945_;
}
else
{
lean_inc(v_a_3944_);
lean_dec(v___x_3934_);
v___x_3946_ = lean_box(0);
v_isShared_3947_ = v_isSharedCheck_3951_;
goto v_resetjp_3945_;
}
v_resetjp_3945_:
{
lean_object* v___x_3949_; 
if (v_isShared_3947_ == 0)
{
v___x_3949_ = v___x_3946_;
goto v_reusejp_3948_;
}
else
{
lean_object* v_reuseFailAlloc_3950_; 
v_reuseFailAlloc_3950_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3950_, 0, v_a_3944_);
v___x_3949_ = v_reuseFailAlloc_3950_;
goto v_reusejp_3948_;
}
v_reusejp_3948_:
{
return v___x_3949_;
}
}
}
}
case 12:
{
lean_object* v_var_3952_; lean_object* v_i_3953_; uint8_t v_updateHeader_3954_; lean_object* v_args_3955_; lean_object* v___x_3956_; 
v_var_3952_ = lean_ctor_get(v_e_3765_, 0);
v_i_3953_ = lean_ctor_get(v_e_3765_, 1);
lean_inc_ref(v_i_3953_);
v_updateHeader_3954_ = lean_ctor_get_uint8(v_e_3765_, sizeof(void*)*3);
v_args_3955_ = lean_ctor_get(v_e_3765_, 2);
lean_inc_ref(v_f_3764_);
lean_inc(v___y_3772_);
lean_inc_ref(v___y_3771_);
lean_inc(v___y_3770_);
lean_inc_ref(v___y_3769_);
lean_inc(v___y_3768_);
lean_inc(v___y_3767_);
lean_inc_ref(v___y_3766_);
lean_inc(v_var_3952_);
v___x_3956_ = lean_apply_9(v_f_3764_, v_var_3952_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3956_) == 0)
{
lean_object* v_a_3957_; size_t v_sz_3958_; size_t v___x_3959_; lean_object* v___x_3960_; 
v_a_3957_ = lean_ctor_get(v___x_3956_, 0);
lean_inc(v_a_3957_);
lean_dec_ref(v___x_3956_);
v_sz_3958_ = lean_array_size(v_args_3955_);
v___x_3959_ = ((size_t)0ULL);
lean_inc_ref(v_args_3955_);
v___x_3960_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_3763_, v_f_3764_, v_sz_3958_, v___x_3959_, v_args_3955_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_);
if (lean_obj_tag(v___x_3960_) == 0)
{
lean_object* v_a_3961_; lean_object* v___x_3963_; uint8_t v_isShared_3964_; uint8_t v_isSharedCheck_3969_; 
v_a_3961_ = lean_ctor_get(v___x_3960_, 0);
v_isSharedCheck_3969_ = !lean_is_exclusive(v___x_3960_);
if (v_isSharedCheck_3969_ == 0)
{
v___x_3963_ = v___x_3960_;
v_isShared_3964_ = v_isSharedCheck_3969_;
goto v_resetjp_3962_;
}
else
{
lean_inc(v_a_3961_);
lean_dec(v___x_3960_);
v___x_3963_ = lean_box(0);
v_isShared_3964_ = v_isSharedCheck_3969_;
goto v_resetjp_3962_;
}
v_resetjp_3962_:
{
lean_object* v___x_3965_; lean_object* v___x_3967_; 
v___x_3965_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateReuseImp(v_pu_3763_, v_e_3765_, v_a_3957_, v_i_3953_, v_updateHeader_3954_, v_a_3961_);
if (v_isShared_3964_ == 0)
{
lean_ctor_set(v___x_3963_, 0, v___x_3965_);
v___x_3967_ = v___x_3963_;
goto v_reusejp_3966_;
}
else
{
lean_object* v_reuseFailAlloc_3968_; 
v_reuseFailAlloc_3968_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3968_, 0, v___x_3965_);
v___x_3967_ = v_reuseFailAlloc_3968_;
goto v_reusejp_3966_;
}
v_reusejp_3966_:
{
return v___x_3967_;
}
}
}
else
{
lean_object* v_a_3970_; lean_object* v___x_3972_; uint8_t v_isShared_3973_; uint8_t v_isSharedCheck_3977_; 
lean_dec(v_a_3957_);
lean_dec_ref(v_i_3953_);
lean_dec_ref(v_e_3765_);
v_a_3970_ = lean_ctor_get(v___x_3960_, 0);
v_isSharedCheck_3977_ = !lean_is_exclusive(v___x_3960_);
if (v_isSharedCheck_3977_ == 0)
{
v___x_3972_ = v___x_3960_;
v_isShared_3973_ = v_isSharedCheck_3977_;
goto v_resetjp_3971_;
}
else
{
lean_inc(v_a_3970_);
lean_dec(v___x_3960_);
v___x_3972_ = lean_box(0);
v_isShared_3973_ = v_isSharedCheck_3977_;
goto v_resetjp_3971_;
}
v_resetjp_3971_:
{
lean_object* v___x_3975_; 
if (v_isShared_3973_ == 0)
{
v___x_3975_ = v___x_3972_;
goto v_reusejp_3974_;
}
else
{
lean_object* v_reuseFailAlloc_3976_; 
v_reuseFailAlloc_3976_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3976_, 0, v_a_3970_);
v___x_3975_ = v_reuseFailAlloc_3976_;
goto v_reusejp_3974_;
}
v_reusejp_3974_:
{
return v___x_3975_;
}
}
}
}
else
{
lean_object* v_a_3978_; lean_object* v___x_3980_; uint8_t v_isShared_3981_; uint8_t v_isSharedCheck_3985_; 
lean_dec_ref(v_i_3953_);
lean_dec_ref(v_e_3765_);
lean_dec(v___y_3772_);
lean_dec_ref(v___y_3771_);
lean_dec(v___y_3770_);
lean_dec_ref(v___y_3769_);
lean_dec(v___y_3768_);
lean_dec(v___y_3767_);
lean_dec_ref(v___y_3766_);
lean_dec_ref(v_f_3764_);
v_a_3978_ = lean_ctor_get(v___x_3956_, 0);
v_isSharedCheck_3985_ = !lean_is_exclusive(v___x_3956_);
if (v_isSharedCheck_3985_ == 0)
{
v___x_3980_ = v___x_3956_;
v_isShared_3981_ = v_isSharedCheck_3985_;
goto v_resetjp_3979_;
}
else
{
lean_inc(v_a_3978_);
lean_dec(v___x_3956_);
v___x_3980_ = lean_box(0);
v_isShared_3981_ = v_isSharedCheck_3985_;
goto v_resetjp_3979_;
}
v_resetjp_3979_:
{
lean_object* v___x_3983_; 
if (v_isShared_3981_ == 0)
{
v___x_3983_ = v___x_3980_;
goto v_reusejp_3982_;
}
else
{
lean_object* v_reuseFailAlloc_3984_; 
v_reuseFailAlloc_3984_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3984_, 0, v_a_3978_);
v___x_3983_ = v_reuseFailAlloc_3984_;
goto v_reusejp_3982_;
}
v_reusejp_3982_:
{
return v___x_3983_;
}
}
}
}
case 13:
{
lean_object* v_ty_3986_; lean_object* v_fvarId_3987_; lean_object* v___x_3988_; 
v_ty_3986_ = lean_ctor_get(v_e_3765_, 0);
lean_inc_ref(v_ty_3986_);
v_fvarId_3987_ = lean_ctor_get(v_e_3765_, 1);
lean_inc(v_fvarId_3987_);
v___x_3988_ = lean_apply_9(v_f_3764_, v_fvarId_3987_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3988_) == 0)
{
lean_object* v_a_3989_; lean_object* v___x_3991_; uint8_t v_isShared_3992_; uint8_t v_isSharedCheck_3997_; 
v_a_3989_ = lean_ctor_get(v___x_3988_, 0);
v_isSharedCheck_3997_ = !lean_is_exclusive(v___x_3988_);
if (v_isSharedCheck_3997_ == 0)
{
v___x_3991_ = v___x_3988_;
v_isShared_3992_ = v_isSharedCheck_3997_;
goto v_resetjp_3990_;
}
else
{
lean_inc(v_a_3989_);
lean_dec(v___x_3988_);
v___x_3991_ = lean_box(0);
v_isShared_3992_ = v_isSharedCheck_3997_;
goto v_resetjp_3990_;
}
v_resetjp_3990_:
{
lean_object* v___x_3993_; lean_object* v___x_3995_; 
v___x_3993_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateBoxImp(v_pu_3763_, v_e_3765_, v_ty_3986_, v_a_3989_);
lean_dec_ref(v_e_3765_);
if (v_isShared_3992_ == 0)
{
lean_ctor_set(v___x_3991_, 0, v___x_3993_);
v___x_3995_ = v___x_3991_;
goto v_reusejp_3994_;
}
else
{
lean_object* v_reuseFailAlloc_3996_; 
v_reuseFailAlloc_3996_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3996_, 0, v___x_3993_);
v___x_3995_ = v_reuseFailAlloc_3996_;
goto v_reusejp_3994_;
}
v_reusejp_3994_:
{
return v___x_3995_;
}
}
}
else
{
lean_object* v_a_3998_; lean_object* v___x_4000_; uint8_t v_isShared_4001_; uint8_t v_isSharedCheck_4005_; 
lean_dec_ref(v_e_3765_);
lean_dec_ref(v_ty_3986_);
v_a_3998_ = lean_ctor_get(v___x_3988_, 0);
v_isSharedCheck_4005_ = !lean_is_exclusive(v___x_3988_);
if (v_isSharedCheck_4005_ == 0)
{
v___x_4000_ = v___x_3988_;
v_isShared_4001_ = v_isSharedCheck_4005_;
goto v_resetjp_3999_;
}
else
{
lean_inc(v_a_3998_);
lean_dec(v___x_3988_);
v___x_4000_ = lean_box(0);
v_isShared_4001_ = v_isSharedCheck_4005_;
goto v_resetjp_3999_;
}
v_resetjp_3999_:
{
lean_object* v___x_4003_; 
if (v_isShared_4001_ == 0)
{
v___x_4003_ = v___x_4000_;
goto v_reusejp_4002_;
}
else
{
lean_object* v_reuseFailAlloc_4004_; 
v_reuseFailAlloc_4004_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4004_, 0, v_a_3998_);
v___x_4003_ = v_reuseFailAlloc_4004_;
goto v_reusejp_4002_;
}
v_reusejp_4002_:
{
return v___x_4003_;
}
}
}
}
case 14:
{
lean_object* v_fvarId_4006_; lean_object* v___x_4007_; 
v_fvarId_4006_ = lean_ctor_get(v_e_3765_, 0);
lean_inc(v_fvarId_4006_);
v___x_4007_ = lean_apply_9(v_f_3764_, v_fvarId_4006_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_4007_) == 0)
{
lean_object* v_a_4008_; lean_object* v___x_4010_; uint8_t v_isShared_4011_; uint8_t v_isSharedCheck_4016_; 
v_a_4008_ = lean_ctor_get(v___x_4007_, 0);
v_isSharedCheck_4016_ = !lean_is_exclusive(v___x_4007_);
if (v_isSharedCheck_4016_ == 0)
{
v___x_4010_ = v___x_4007_;
v_isShared_4011_ = v_isSharedCheck_4016_;
goto v_resetjp_4009_;
}
else
{
lean_inc(v_a_4008_);
lean_dec(v___x_4007_);
v___x_4010_ = lean_box(0);
v_isShared_4011_ = v_isSharedCheck_4016_;
goto v_resetjp_4009_;
}
v_resetjp_4009_:
{
lean_object* v___x_4012_; lean_object* v___x_4014_; 
v___x_4012_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateUnboxImp(v_pu_3763_, v_e_3765_, v_a_4008_);
if (v_isShared_4011_ == 0)
{
lean_ctor_set(v___x_4010_, 0, v___x_4012_);
v___x_4014_ = v___x_4010_;
goto v_reusejp_4013_;
}
else
{
lean_object* v_reuseFailAlloc_4015_; 
v_reuseFailAlloc_4015_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4015_, 0, v___x_4012_);
v___x_4014_ = v_reuseFailAlloc_4015_;
goto v_reusejp_4013_;
}
v_reusejp_4013_:
{
return v___x_4014_;
}
}
}
else
{
lean_object* v_a_4017_; lean_object* v___x_4019_; uint8_t v_isShared_4020_; uint8_t v_isSharedCheck_4024_; 
lean_dec_ref(v_e_3765_);
v_a_4017_ = lean_ctor_get(v___x_4007_, 0);
v_isSharedCheck_4024_ = !lean_is_exclusive(v___x_4007_);
if (v_isSharedCheck_4024_ == 0)
{
v___x_4019_ = v___x_4007_;
v_isShared_4020_ = v_isSharedCheck_4024_;
goto v_resetjp_4018_;
}
else
{
lean_inc(v_a_4017_);
lean_dec(v___x_4007_);
v___x_4019_ = lean_box(0);
v_isShared_4020_ = v_isSharedCheck_4024_;
goto v_resetjp_4018_;
}
v_resetjp_4018_:
{
lean_object* v___x_4022_; 
if (v_isShared_4020_ == 0)
{
v___x_4022_ = v___x_4019_;
goto v_reusejp_4021_;
}
else
{
lean_object* v_reuseFailAlloc_4023_; 
v_reuseFailAlloc_4023_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4023_, 0, v_a_4017_);
v___x_4022_ = v_reuseFailAlloc_4023_;
goto v_reusejp_4021_;
}
v_reusejp_4021_:
{
return v___x_4022_;
}
}
}
}
case 15:
{
lean_object* v_fvarId_4025_; lean_object* v___x_4026_; 
v_fvarId_4025_ = lean_ctor_get(v_e_3765_, 0);
lean_inc(v_fvarId_4025_);
v___x_4026_ = lean_apply_9(v_f_3764_, v_fvarId_4025_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_4026_) == 0)
{
lean_object* v_a_4027_; lean_object* v___x_4029_; uint8_t v_isShared_4030_; uint8_t v_isSharedCheck_4035_; 
v_a_4027_ = lean_ctor_get(v___x_4026_, 0);
v_isSharedCheck_4035_ = !lean_is_exclusive(v___x_4026_);
if (v_isSharedCheck_4035_ == 0)
{
v___x_4029_ = v___x_4026_;
v_isShared_4030_ = v_isSharedCheck_4035_;
goto v_resetjp_4028_;
}
else
{
lean_inc(v_a_4027_);
lean_dec(v___x_4026_);
v___x_4029_ = lean_box(0);
v_isShared_4030_ = v_isSharedCheck_4035_;
goto v_resetjp_4028_;
}
v_resetjp_4028_:
{
lean_object* v___x_4031_; lean_object* v___x_4033_; 
v___x_4031_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateIsSharedImp(v_pu_3763_, v_e_3765_, v_a_4027_);
if (v_isShared_4030_ == 0)
{
lean_ctor_set(v___x_4029_, 0, v___x_4031_);
v___x_4033_ = v___x_4029_;
goto v_reusejp_4032_;
}
else
{
lean_object* v_reuseFailAlloc_4034_; 
v_reuseFailAlloc_4034_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4034_, 0, v___x_4031_);
v___x_4033_ = v_reuseFailAlloc_4034_;
goto v_reusejp_4032_;
}
v_reusejp_4032_:
{
return v___x_4033_;
}
}
}
else
{
lean_object* v_a_4036_; lean_object* v___x_4038_; uint8_t v_isShared_4039_; uint8_t v_isSharedCheck_4043_; 
lean_dec_ref(v_e_3765_);
v_a_4036_ = lean_ctor_get(v___x_4026_, 0);
v_isSharedCheck_4043_ = !lean_is_exclusive(v___x_4026_);
if (v_isSharedCheck_4043_ == 0)
{
v___x_4038_ = v___x_4026_;
v_isShared_4039_ = v_isSharedCheck_4043_;
goto v_resetjp_4037_;
}
else
{
lean_inc(v_a_4036_);
lean_dec(v___x_4026_);
v___x_4038_ = lean_box(0);
v_isShared_4039_ = v_isSharedCheck_4043_;
goto v_resetjp_4037_;
}
v_resetjp_4037_:
{
lean_object* v___x_4041_; 
if (v_isShared_4039_ == 0)
{
v___x_4041_ = v___x_4038_;
goto v_reusejp_4040_;
}
else
{
lean_object* v_reuseFailAlloc_4042_; 
v_reuseFailAlloc_4042_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4042_, 0, v_a_4036_);
v___x_4041_ = v_reuseFailAlloc_4042_;
goto v_reusejp_4040_;
}
v_reusejp_4040_:
{
return v___x_4041_;
}
}
}
}
default: 
{
lean_object* v___x_4044_; 
lean_dec(v___y_3772_);
lean_dec_ref(v___y_3771_);
lean_dec(v___y_3770_);
lean_dec_ref(v___y_3769_);
lean_dec(v___y_3768_);
lean_dec(v___y_3767_);
lean_dec_ref(v___y_3766_);
lean_dec_ref(v_f_3764_);
v___x_4044_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4044_, 0, v_e_3765_);
return v___x_4044_;
}
}
v___jp_3774_:
{
size_t v_sz_3776_; size_t v___x_3777_; lean_object* v___x_3778_; 
v_sz_3776_ = lean_array_size(v_args_3775_);
v___x_3777_ = ((size_t)0ULL);
v___x_3778_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0_spec__0(v_pu_3763_, v_f_3764_, v_sz_3776_, v___x_3777_, v_args_3775_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_);
if (lean_obj_tag(v___x_3778_) == 0)
{
lean_object* v_a_3779_; lean_object* v___x_3781_; uint8_t v_isShared_3782_; uint8_t v_isSharedCheck_3787_; 
v_a_3779_ = lean_ctor_get(v___x_3778_, 0);
v_isSharedCheck_3787_ = !lean_is_exclusive(v___x_3778_);
if (v_isSharedCheck_3787_ == 0)
{
v___x_3781_ = v___x_3778_;
v_isShared_3782_ = v_isSharedCheck_3787_;
goto v_resetjp_3780_;
}
else
{
lean_inc(v_a_3779_);
lean_dec(v___x_3778_);
v___x_3781_ = lean_box(0);
v_isShared_3782_ = v_isSharedCheck_3787_;
goto v_resetjp_3780_;
}
v_resetjp_3780_:
{
lean_object* v___x_3783_; lean_object* v___x_3785_; 
v___x_3783_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateArgsImp(v_pu_3763_, v_e_3765_, v_a_3779_);
if (v_isShared_3782_ == 0)
{
lean_ctor_set(v___x_3781_, 0, v___x_3783_);
v___x_3785_ = v___x_3781_;
goto v_reusejp_3784_;
}
else
{
lean_object* v_reuseFailAlloc_3786_; 
v_reuseFailAlloc_3786_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3786_, 0, v___x_3783_);
v___x_3785_ = v_reuseFailAlloc_3786_;
goto v_reusejp_3784_;
}
v_reusejp_3784_:
{
return v___x_3785_;
}
}
}
else
{
lean_object* v_a_3788_; lean_object* v___x_3790_; uint8_t v_isShared_3791_; uint8_t v_isSharedCheck_3795_; 
lean_dec(v_e_3765_);
v_a_3788_ = lean_ctor_get(v___x_3778_, 0);
v_isSharedCheck_3795_ = !lean_is_exclusive(v___x_3778_);
if (v_isSharedCheck_3795_ == 0)
{
v___x_3790_ = v___x_3778_;
v_isShared_3791_ = v_isSharedCheck_3795_;
goto v_resetjp_3789_;
}
else
{
lean_inc(v_a_3788_);
lean_dec(v___x_3778_);
v___x_3790_ = lean_box(0);
v_isShared_3791_ = v_isSharedCheck_3795_;
goto v_resetjp_3789_;
}
v_resetjp_3789_:
{
lean_object* v___x_3793_; 
if (v_isShared_3791_ == 0)
{
v___x_3793_ = v___x_3790_;
goto v_reusejp_3792_;
}
else
{
lean_object* v_reuseFailAlloc_3794_; 
v_reuseFailAlloc_3794_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3794_, 0, v_a_3788_);
v___x_3793_ = v_reuseFailAlloc_3794_;
goto v_reusejp_3792_;
}
v_reusejp_3792_:
{
return v___x_3793_;
}
}
}
}
v___jp_3796_:
{
lean_object* v___x_3798_; 
v___x_3798_ = lean_apply_9(v_f_3764_, v_fvarId_3797_, v___y_3766_, v___y_3767_, v___y_3768_, v___y_3769_, v___y_3770_, v___y_3771_, v___y_3772_, lean_box(0));
if (lean_obj_tag(v___x_3798_) == 0)
{
lean_object* v_a_3799_; lean_object* v___x_3801_; uint8_t v_isShared_3802_; uint8_t v_isSharedCheck_3807_; 
v_a_3799_ = lean_ctor_get(v___x_3798_, 0);
v_isSharedCheck_3807_ = !lean_is_exclusive(v___x_3798_);
if (v_isSharedCheck_3807_ == 0)
{
v___x_3801_ = v___x_3798_;
v_isShared_3802_ = v_isSharedCheck_3807_;
goto v_resetjp_3800_;
}
else
{
lean_inc(v_a_3799_);
lean_dec(v___x_3798_);
v___x_3801_ = lean_box(0);
v_isShared_3802_ = v_isSharedCheck_3807_;
goto v_resetjp_3800_;
}
v_resetjp_3800_:
{
lean_object* v___x_3803_; lean_object* v___x_3805_; 
v___x_3803_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_LetValue_updateProjImp(v_pu_3763_, v_e_3765_, v_a_3799_);
if (v_isShared_3802_ == 0)
{
lean_ctor_set(v___x_3801_, 0, v___x_3803_);
v___x_3805_ = v___x_3801_;
goto v_reusejp_3804_;
}
else
{
lean_object* v_reuseFailAlloc_3806_; 
v_reuseFailAlloc_3806_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3806_, 0, v___x_3803_);
v___x_3805_ = v_reuseFailAlloc_3806_;
goto v_reusejp_3804_;
}
v_reusejp_3804_:
{
return v___x_3805_;
}
}
}
else
{
lean_object* v_a_3808_; lean_object* v___x_3810_; uint8_t v_isShared_3811_; uint8_t v_isSharedCheck_3815_; 
lean_dec(v_e_3765_);
v_a_3808_ = lean_ctor_get(v___x_3798_, 0);
v_isSharedCheck_3815_ = !lean_is_exclusive(v___x_3798_);
if (v_isSharedCheck_3815_ == 0)
{
v___x_3810_ = v___x_3798_;
v_isShared_3811_ = v_isSharedCheck_3815_;
goto v_resetjp_3809_;
}
else
{
lean_inc(v_a_3808_);
lean_dec(v___x_3798_);
v___x_3810_ = lean_box(0);
v_isShared_3811_ = v_isSharedCheck_3815_;
goto v_resetjp_3809_;
}
v_resetjp_3809_:
{
lean_object* v___x_3813_; 
if (v_isShared_3811_ == 0)
{
v___x_3813_ = v___x_3810_;
goto v_reusejp_3812_;
}
else
{
lean_object* v_reuseFailAlloc_3814_; 
v_reuseFailAlloc_3814_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3814_, 0, v_a_3808_);
v___x_3813_ = v_reuseFailAlloc_3814_;
goto v_reusejp_3812_;
}
v_reusejp_3812_:
{
return v___x_3813_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0___boxed(lean_object* v_pu_4045_, lean_object* v_f_4046_, lean_object* v_e_4047_, lean_object* v___y_4048_, lean_object* v___y_4049_, lean_object* v___y_4050_, lean_object* v___y_4051_, lean_object* v___y_4052_, lean_object* v___y_4053_, lean_object* v___y_4054_, lean_object* v___y_4055_){
_start:
{
uint8_t v_pu_boxed_4056_; lean_object* v_res_4057_; 
v_pu_boxed_4056_ = lean_unbox(v_pu_4045_);
v_res_4057_ = l_Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0(v_pu_boxed_4056_, v_f_4046_, v_e_4047_, v___y_4048_, v___y_4049_, v___y_4050_, v___y_4051_, v___y_4052_, v___y_4053_, v___y_4054_);
return v_res_4057_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6(size_t v_sz_4058_, size_t v_i_4059_, lean_object* v_bs_4060_, lean_object* v___y_4061_, lean_object* v___y_4062_, lean_object* v___y_4063_, lean_object* v___y_4064_, lean_object* v___y_4065_, lean_object* v___y_4066_, lean_object* v___y_4067_){
_start:
{
uint8_t v___x_4069_; 
v___x_4069_ = lean_usize_dec_lt(v_i_4059_, v_sz_4058_);
if (v___x_4069_ == 0)
{
lean_object* v___x_4070_; 
lean_dec_ref(v___y_4061_);
v___x_4070_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4070_, 0, v_bs_4060_);
return v___x_4070_;
}
else
{
lean_object* v_v_4071_; lean_object* v___x_4072_; 
v_v_4071_ = lean_array_uget_borrowed(v_bs_4060_, v_i_4059_);
lean_inc_ref(v___y_4061_);
lean_inc(v_v_4071_);
v___x_4072_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_goFVar(v_v_4071_, v___y_4061_, v___y_4062_, v___y_4063_, v___y_4064_, v___y_4065_, v___y_4066_, v___y_4067_);
if (lean_obj_tag(v___x_4072_) == 0)
{
lean_object* v_a_4073_; lean_object* v___x_4074_; lean_object* v_bs_x27_4075_; lean_object* v___x_4076_; size_t v___x_4077_; size_t v___x_4078_; lean_object* v___x_4079_; 
v_a_4073_ = lean_ctor_get(v___x_4072_, 0);
lean_inc(v_a_4073_);
lean_dec_ref(v___x_4072_);
v___x_4074_ = lean_unsigned_to_nat(0u);
v_bs_x27_4075_ = lean_array_uset(v_bs_4060_, v_i_4059_, v___x_4074_);
v___x_4076_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_4076_, 0, v_a_4073_);
v___x_4077_ = ((size_t)1ULL);
v___x_4078_ = lean_usize_add(v_i_4059_, v___x_4077_);
v___x_4079_ = lean_array_uset(v_bs_x27_4075_, v_i_4059_, v___x_4076_);
v_i_4059_ = v___x_4078_;
v_bs_4060_ = v___x_4079_;
goto _start;
}
else
{
lean_object* v_a_4081_; lean_object* v___x_4083_; uint8_t v_isShared_4084_; uint8_t v_isSharedCheck_4088_; 
lean_dec_ref(v___y_4061_);
lean_dec_ref(v_bs_4060_);
v_a_4081_ = lean_ctor_get(v___x_4072_, 0);
v_isSharedCheck_4088_ = !lean_is_exclusive(v___x_4072_);
if (v_isSharedCheck_4088_ == 0)
{
v___x_4083_ = v___x_4072_;
v_isShared_4084_ = v_isSharedCheck_4088_;
goto v_resetjp_4082_;
}
else
{
lean_inc(v_a_4081_);
lean_dec(v___x_4072_);
v___x_4083_ = lean_box(0);
v_isShared_4084_ = v_isSharedCheck_4088_;
goto v_resetjp_4082_;
}
v_resetjp_4082_:
{
lean_object* v___x_4086_; 
if (v_isShared_4084_ == 0)
{
v___x_4086_ = v___x_4083_;
goto v_reusejp_4085_;
}
else
{
lean_object* v_reuseFailAlloc_4087_; 
v_reuseFailAlloc_4087_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4087_, 0, v_a_4081_);
v___x_4086_ = v_reuseFailAlloc_4087_;
goto v_reusejp_4085_;
}
v_reusejp_4085_:
{
return v___x_4086_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6___boxed(lean_object* v_sz_4089_, lean_object* v_i_4090_, lean_object* v_bs_4091_, lean_object* v___y_4092_, lean_object* v___y_4093_, lean_object* v___y_4094_, lean_object* v___y_4095_, lean_object* v___y_4096_, lean_object* v___y_4097_, lean_object* v___y_4098_, lean_object* v___y_4099_){
_start:
{
size_t v_sz_boxed_4100_; size_t v_i_boxed_4101_; lean_object* v_res_4102_; 
v_sz_boxed_4100_ = lean_unbox_usize(v_sz_4089_);
lean_dec(v_sz_4089_);
v_i_boxed_4101_ = lean_unbox_usize(v_i_4090_);
lean_dec(v_i_4090_);
v_res_4102_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6(v_sz_boxed_4100_, v_i_boxed_4101_, v_bs_4091_, v___y_4092_, v___y_4093_, v___y_4094_, v___y_4095_, v___y_4096_, v___y_4097_, v___y_4098_);
lean_dec(v___y_4098_);
lean_dec_ref(v___y_4097_);
lean_dec(v___y_4096_);
lean_dec_ref(v___y_4095_);
lean_dec(v___y_4094_);
lean_dec(v___y_4093_);
return v_res_4102_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5(size_t v_sz_4103_, size_t v_i_4104_, lean_object* v_bs_4105_){
_start:
{
uint8_t v___x_4106_; 
v___x_4106_ = lean_usize_dec_lt(v_i_4104_, v_sz_4103_);
if (v___x_4106_ == 0)
{
return v_bs_4105_;
}
else
{
lean_object* v_v_4107_; lean_object* v_fst_4108_; lean_object* v___x_4109_; lean_object* v_bs_x27_4110_; size_t v___x_4111_; size_t v___x_4112_; lean_object* v___x_4113_; 
v_v_4107_ = lean_array_uget_borrowed(v_bs_4105_, v_i_4104_);
v_fst_4108_ = lean_ctor_get(v_v_4107_, 0);
lean_inc(v_fst_4108_);
v___x_4109_ = lean_unsigned_to_nat(0u);
v_bs_x27_4110_ = lean_array_uset(v_bs_4105_, v_i_4104_, v___x_4109_);
v___x_4111_ = ((size_t)1ULL);
v___x_4112_ = lean_usize_add(v_i_4104_, v___x_4111_);
v___x_4113_ = lean_array_uset(v_bs_x27_4110_, v_i_4104_, v_fst_4108_);
v_i_4104_ = v___x_4112_;
v_bs_4105_ = v___x_4113_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5___boxed(lean_object* v_sz_4115_, lean_object* v_i_4116_, lean_object* v_bs_4117_){
_start:
{
size_t v_sz_boxed_4118_; size_t v_i_boxed_4119_; lean_object* v_res_4120_; 
v_sz_boxed_4118_ = lean_unbox_usize(v_sz_4115_);
lean_dec(v_sz_4115_);
v_i_boxed_4119_ = lean_unbox_usize(v_i_4116_);
lean_dec(v_i_4116_);
v_res_4120_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5(v_sz_boxed_4118_, v_i_boxed_4119_, v_bs_4117_);
return v_res_4120_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0(lean_object* v_k_4121_, lean_object* v_a_4122_, lean_object* v_code_4123_, lean_object* v_decl_4124_, lean_object* v___y_4125_, lean_object* v___y_4126_, lean_object* v___y_4127_, lean_object* v___y_4128_, lean_object* v___y_4129_, lean_object* v___y_4130_, lean_object* v___y_4131_){
_start:
{
lean_object* v___x_4133_; 
lean_inc_ref(v_k_4121_);
v___x_4133_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_k_4121_, v___y_4125_, v___y_4126_, v___y_4127_, v___y_4128_, v___y_4129_, v___y_4130_, v___y_4131_);
if (lean_obj_tag(v___x_4133_) == 0)
{
lean_object* v_a_4134_; lean_object* v___x_4136_; uint8_t v_isShared_4137_; uint8_t v_isSharedCheck_4153_; 
v_a_4134_ = lean_ctor_get(v___x_4133_, 0);
v_isSharedCheck_4153_ = !lean_is_exclusive(v___x_4133_);
if (v_isSharedCheck_4153_ == 0)
{
v___x_4136_ = v___x_4133_;
v_isShared_4137_ = v_isSharedCheck_4153_;
goto v_resetjp_4135_;
}
else
{
lean_inc(v_a_4134_);
lean_dec(v___x_4133_);
v___x_4136_ = lean_box(0);
v_isShared_4137_ = v_isSharedCheck_4153_;
goto v_resetjp_4135_;
}
v_resetjp_4135_:
{
uint8_t v___y_4139_; size_t v___x_4147_; size_t v___x_4148_; uint8_t v___x_4149_; 
v___x_4147_ = lean_ptr_addr(v_k_4121_);
lean_dec_ref(v_k_4121_);
v___x_4148_ = lean_ptr_addr(v_a_4134_);
v___x_4149_ = lean_usize_dec_eq(v___x_4147_, v___x_4148_);
if (v___x_4149_ == 0)
{
v___y_4139_ = v___x_4149_;
goto v___jp_4138_;
}
else
{
size_t v___x_4150_; size_t v___x_4151_; uint8_t v___x_4152_; 
v___x_4150_ = lean_ptr_addr(v_decl_4124_);
v___x_4151_ = lean_ptr_addr(v_a_4122_);
v___x_4152_ = lean_usize_dec_eq(v___x_4150_, v___x_4151_);
v___y_4139_ = v___x_4152_;
goto v___jp_4138_;
}
v___jp_4138_:
{
if (v___y_4139_ == 0)
{
lean_object* v___x_4140_; lean_object* v___x_4142_; 
lean_dec_ref(v_code_4123_);
v___x_4140_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4140_, 0, v_a_4122_);
lean_ctor_set(v___x_4140_, 1, v_a_4134_);
if (v_isShared_4137_ == 0)
{
lean_ctor_set(v___x_4136_, 0, v___x_4140_);
v___x_4142_ = v___x_4136_;
goto v_reusejp_4141_;
}
else
{
lean_object* v_reuseFailAlloc_4143_; 
v_reuseFailAlloc_4143_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4143_, 0, v___x_4140_);
v___x_4142_ = v_reuseFailAlloc_4143_;
goto v_reusejp_4141_;
}
v_reusejp_4141_:
{
return v___x_4142_;
}
}
else
{
lean_object* v___x_4145_; 
lean_dec(v_a_4134_);
lean_dec_ref(v_a_4122_);
if (v_isShared_4137_ == 0)
{
lean_ctor_set(v___x_4136_, 0, v_code_4123_);
v___x_4145_ = v___x_4136_;
goto v_reusejp_4144_;
}
else
{
lean_object* v_reuseFailAlloc_4146_; 
v_reuseFailAlloc_4146_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4146_, 0, v_code_4123_);
v___x_4145_ = v_reuseFailAlloc_4146_;
goto v_reusejp_4144_;
}
v_reusejp_4144_:
{
return v___x_4145_;
}
}
}
}
}
else
{
lean_dec_ref(v_code_4123_);
lean_dec_ref(v_a_4122_);
lean_dec_ref(v_k_4121_);
return v___x_4133_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0___boxed(lean_object* v_k_4154_, lean_object* v_a_4155_, lean_object* v_code_4156_, lean_object* v_decl_4157_, lean_object* v___y_4158_, lean_object* v___y_4159_, lean_object* v___y_4160_, lean_object* v___y_4161_, lean_object* v___y_4162_, lean_object* v___y_4163_, lean_object* v___y_4164_, lean_object* v___y_4165_){
_start:
{
lean_object* v_res_4166_; 
v_res_4166_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0(v_k_4154_, v_a_4155_, v_code_4156_, v_decl_4157_, v___y_4158_, v___y_4159_, v___y_4160_, v___y_4161_, v___y_4162_, v___y_4163_, v___y_4164_);
lean_dec_ref(v_decl_4157_);
return v_res_4166_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1___boxed(lean_object* v_value_4167_, lean_object* v___x_4168_, lean_object* v_decl_4169_, lean_object* v_type_4170_, lean_object* v_params_4171_, lean_object* v___y_4172_, lean_object* v___y_4173_, lean_object* v___y_4174_, lean_object* v___y_4175_, lean_object* v___y_4176_, lean_object* v___y_4177_, lean_object* v___y_4178_, lean_object* v___y_4179_){
_start:
{
uint8_t v___x_31756__boxed_4180_; lean_object* v_res_4181_; 
v___x_31756__boxed_4180_ = lean_unbox(v___x_4168_);
v_res_4181_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1(v_value_4167_, v___x_31756__boxed_4180_, v_decl_4169_, v_type_4170_, v_params_4171_, v___y_4172_, v___y_4173_, v___y_4174_, v___y_4175_, v___y_4176_, v___y_4177_, v___y_4178_);
return v_res_4181_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2(lean_object* v_k_4182_, lean_object* v_a_4183_, lean_object* v_code_4184_, lean_object* v_decl_4185_, lean_object* v___y_4186_, lean_object* v___y_4187_, lean_object* v___y_4188_, lean_object* v___y_4189_, lean_object* v___y_4190_, lean_object* v___y_4191_, lean_object* v___y_4192_){
_start:
{
lean_object* v___x_4194_; 
lean_inc_ref(v_k_4182_);
v___x_4194_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_k_4182_, v___y_4186_, v___y_4187_, v___y_4188_, v___y_4189_, v___y_4190_, v___y_4191_, v___y_4192_);
if (lean_obj_tag(v___x_4194_) == 0)
{
lean_object* v_a_4195_; lean_object* v___x_4197_; uint8_t v_isShared_4198_; uint8_t v_isSharedCheck_4214_; 
v_a_4195_ = lean_ctor_get(v___x_4194_, 0);
v_isSharedCheck_4214_ = !lean_is_exclusive(v___x_4194_);
if (v_isSharedCheck_4214_ == 0)
{
v___x_4197_ = v___x_4194_;
v_isShared_4198_ = v_isSharedCheck_4214_;
goto v_resetjp_4196_;
}
else
{
lean_inc(v_a_4195_);
lean_dec(v___x_4194_);
v___x_4197_ = lean_box(0);
v_isShared_4198_ = v_isSharedCheck_4214_;
goto v_resetjp_4196_;
}
v_resetjp_4196_:
{
uint8_t v___y_4200_; size_t v___x_4208_; size_t v___x_4209_; uint8_t v___x_4210_; 
v___x_4208_ = lean_ptr_addr(v_k_4182_);
lean_dec_ref(v_k_4182_);
v___x_4209_ = lean_ptr_addr(v_a_4195_);
v___x_4210_ = lean_usize_dec_eq(v___x_4208_, v___x_4209_);
if (v___x_4210_ == 0)
{
v___y_4200_ = v___x_4210_;
goto v___jp_4199_;
}
else
{
size_t v___x_4211_; size_t v___x_4212_; uint8_t v___x_4213_; 
v___x_4211_ = lean_ptr_addr(v_decl_4185_);
v___x_4212_ = lean_ptr_addr(v_a_4183_);
v___x_4213_ = lean_usize_dec_eq(v___x_4211_, v___x_4212_);
v___y_4200_ = v___x_4213_;
goto v___jp_4199_;
}
v___jp_4199_:
{
if (v___y_4200_ == 0)
{
lean_object* v___x_4201_; lean_object* v___x_4203_; 
lean_dec_ref(v_code_4184_);
v___x_4201_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4201_, 0, v_a_4183_);
lean_ctor_set(v___x_4201_, 1, v_a_4195_);
if (v_isShared_4198_ == 0)
{
lean_ctor_set(v___x_4197_, 0, v___x_4201_);
v___x_4203_ = v___x_4197_;
goto v_reusejp_4202_;
}
else
{
lean_object* v_reuseFailAlloc_4204_; 
v_reuseFailAlloc_4204_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4204_, 0, v___x_4201_);
v___x_4203_ = v_reuseFailAlloc_4204_;
goto v_reusejp_4202_;
}
v_reusejp_4202_:
{
return v___x_4203_;
}
}
else
{
lean_object* v___x_4206_; 
lean_dec(v_a_4195_);
lean_dec_ref(v_a_4183_);
if (v_isShared_4198_ == 0)
{
lean_ctor_set(v___x_4197_, 0, v_code_4184_);
v___x_4206_ = v___x_4197_;
goto v_reusejp_4205_;
}
else
{
lean_object* v_reuseFailAlloc_4207_; 
v_reuseFailAlloc_4207_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4207_, 0, v_code_4184_);
v___x_4206_ = v_reuseFailAlloc_4207_;
goto v_reusejp_4205_;
}
v_reusejp_4205_:
{
return v___x_4206_;
}
}
}
}
}
else
{
lean_dec_ref(v_code_4184_);
lean_dec_ref(v_a_4183_);
lean_dec_ref(v_k_4182_);
return v___x_4194_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2___boxed(lean_object* v_k_4215_, lean_object* v_a_4216_, lean_object* v_code_4217_, lean_object* v_decl_4218_, lean_object* v___y_4219_, lean_object* v___y_4220_, lean_object* v___y_4221_, lean_object* v___y_4222_, lean_object* v___y_4223_, lean_object* v___y_4224_, lean_object* v___y_4225_, lean_object* v___y_4226_){
_start:
{
lean_object* v_res_4227_; 
v_res_4227_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2(v_k_4215_, v_a_4216_, v_code_4217_, v_decl_4218_, v___y_4219_, v___y_4220_, v___y_4221_, v___y_4222_, v___y_4223_, v___y_4224_, v___y_4225_);
lean_dec_ref(v_decl_4218_);
return v_res_4227_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3(lean_object* v_value_4228_, lean_object* v___x_4229_, lean_object* v_fvarId_4230_, lean_object* v_params_4231_, uint8_t v___x_4232_, lean_object* v_decl_4233_, lean_object* v_type_4234_, lean_object* v___y_4235_, lean_object* v___y_4236_, lean_object* v___y_4237_, lean_object* v___y_4238_, lean_object* v___y_4239_, lean_object* v___y_4240_, lean_object* v___y_4241_){
_start:
{
lean_object* v___x_4243_; 
lean_inc(v___y_4239_);
lean_inc(v___y_4236_);
v___x_4243_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_value_4228_, v___y_4235_, v___y_4236_, v___y_4237_, v___y_4238_, v___y_4239_, v___y_4240_, v___y_4241_);
if (lean_obj_tag(v___x_4243_) == 0)
{
lean_object* v_a_4244_; lean_object* v___x_4245_; lean_object* v___y_4247_; lean_object* v___y_4248_; lean_object* v___y_4252_; lean_object* v___x_4261_; lean_object* v_size_4262_; lean_object* v_buckets_4263_; lean_object* v___x_4264_; lean_object* v___x_4265_; lean_object* v___x_4266_; uint8_t v___x_4267_; 
v_a_4244_ = lean_ctor_get(v___x_4243_, 0);
lean_inc(v_a_4244_);
lean_dec_ref(v___x_4243_);
v___x_4245_ = lean_st_ref_get(v___y_4236_);
lean_dec(v___y_4236_);
v___x_4261_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v___x_4229_, v___x_4245_, v_fvarId_4230_);
lean_dec(v___x_4245_);
v_size_4262_ = lean_ctor_get(v___x_4261_, 0);
lean_inc(v_size_4262_);
v_buckets_4263_ = lean_ctor_get(v___x_4261_, 1);
lean_inc_ref(v_buckets_4263_);
lean_dec(v___x_4261_);
v___x_4264_ = lean_mk_empty_array_with_capacity(v_size_4262_);
lean_dec(v_size_4262_);
v___x_4265_ = lean_unsigned_to_nat(0u);
v___x_4266_ = lean_array_get_size(v_buckets_4263_);
v___x_4267_ = lean_nat_dec_lt(v___x_4265_, v___x_4266_);
if (v___x_4267_ == 0)
{
lean_dec_ref(v_buckets_4263_);
v___y_4252_ = v___x_4264_;
goto v___jp_4251_;
}
else
{
uint8_t v___x_4268_; 
v___x_4268_ = lean_nat_dec_le(v___x_4266_, v___x_4266_);
if (v___x_4268_ == 0)
{
if (v___x_4267_ == 0)
{
lean_dec_ref(v_buckets_4263_);
v___y_4252_ = v___x_4264_;
goto v___jp_4251_;
}
else
{
size_t v___x_4269_; size_t v___x_4270_; lean_object* v___x_4271_; 
v___x_4269_ = ((size_t)0ULL);
v___x_4270_ = lean_usize_of_nat(v___x_4266_);
v___x_4271_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_4263_, v___x_4269_, v___x_4270_, v___x_4264_);
lean_dec_ref(v_buckets_4263_);
v___y_4252_ = v___x_4271_;
goto v___jp_4251_;
}
}
else
{
size_t v___x_4272_; size_t v___x_4273_; lean_object* v___x_4274_; 
v___x_4272_ = ((size_t)0ULL);
v___x_4273_ = lean_usize_of_nat(v___x_4266_);
v___x_4274_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_4263_, v___x_4272_, v___x_4273_, v___x_4264_);
lean_dec_ref(v_buckets_4263_);
v___y_4252_ = v___x_4274_;
goto v___jp_4251_;
}
}
v___jp_4246_:
{
lean_object* v___x_4249_; lean_object* v___x_4250_; 
v___x_4249_ = l_Array_append___redArg(v___y_4247_, v_params_4231_);
v___x_4250_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_4232_, v_decl_4233_, v___y_4248_, v___x_4249_, v_a_4244_, v___y_4239_);
lean_dec(v___y_4239_);
return v___x_4250_;
}
v___jp_4251_:
{
size_t v_sz_4253_; size_t v___x_4254_; lean_object* v___x_4255_; lean_object* v___x_4256_; lean_object* v___x_4257_; uint8_t v___x_4258_; 
v_sz_4253_ = lean_array_size(v___y_4252_);
v___x_4254_ = ((size_t)0ULL);
v___x_4255_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__1(v_sz_4253_, v___x_4254_, v___y_4252_);
v___x_4256_ = lean_array_get_size(v___x_4255_);
v___x_4257_ = lean_unsigned_to_nat(0u);
v___x_4258_ = lean_nat_dec_lt(v___x_4257_, v___x_4256_);
if (v___x_4258_ == 0)
{
v___y_4247_ = v___x_4255_;
v___y_4248_ = v_type_4234_;
goto v___jp_4246_;
}
else
{
size_t v___x_4259_; lean_object* v___x_4260_; 
v___x_4259_ = lean_usize_of_nat(v___x_4256_);
v___x_4260_ = l___private_Init_Data_Array_Basic_0__Array_foldrMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__2(v___x_4255_, v___x_4259_, v___x_4254_, v_type_4234_);
v___y_4247_ = v___x_4255_;
v___y_4248_ = v___x_4260_;
goto v___jp_4246_;
}
}
}
else
{
lean_object* v_a_4275_; lean_object* v___x_4277_; uint8_t v_isShared_4278_; uint8_t v_isSharedCheck_4282_; 
lean_dec(v___y_4239_);
lean_dec(v___y_4236_);
lean_dec_ref(v_type_4234_);
lean_dec_ref(v_decl_4233_);
lean_dec_ref(v___x_4229_);
v_a_4275_ = lean_ctor_get(v___x_4243_, 0);
v_isSharedCheck_4282_ = !lean_is_exclusive(v___x_4243_);
if (v_isSharedCheck_4282_ == 0)
{
v___x_4277_ = v___x_4243_;
v_isShared_4278_ = v_isSharedCheck_4282_;
goto v_resetjp_4276_;
}
else
{
lean_inc(v_a_4275_);
lean_dec(v___x_4243_);
v___x_4277_ = lean_box(0);
v_isShared_4278_ = v_isSharedCheck_4282_;
goto v_resetjp_4276_;
}
v_resetjp_4276_:
{
lean_object* v___x_4280_; 
if (v_isShared_4278_ == 0)
{
v___x_4280_ = v___x_4277_;
goto v_reusejp_4279_;
}
else
{
lean_object* v_reuseFailAlloc_4281_; 
v_reuseFailAlloc_4281_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4281_, 0, v_a_4275_);
v___x_4280_ = v_reuseFailAlloc_4281_;
goto v_reusejp_4279_;
}
v_reusejp_4279_:
{
return v___x_4280_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3___boxed(lean_object* v_value_4283_, lean_object* v___x_4284_, lean_object* v_fvarId_4285_, lean_object* v_params_4286_, lean_object* v___x_4287_, lean_object* v_decl_4288_, lean_object* v_type_4289_, lean_object* v___y_4290_, lean_object* v___y_4291_, lean_object* v___y_4292_, lean_object* v___y_4293_, lean_object* v___y_4294_, lean_object* v___y_4295_, lean_object* v___y_4296_, lean_object* v___y_4297_){
_start:
{
uint8_t v___x_31880__boxed_4298_; lean_object* v_res_4299_; 
v___x_31880__boxed_4298_ = lean_unbox(v___x_4287_);
v_res_4299_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3(v_value_4283_, v___x_4284_, v_fvarId_4285_, v_params_4286_, v___x_31880__boxed_4298_, v_decl_4288_, v_type_4289_, v___y_4290_, v___y_4291_, v___y_4292_, v___y_4293_, v___y_4294_, v___y_4295_, v___y_4296_);
lean_dec_ref(v_params_4286_);
lean_dec(v_fvarId_4285_);
return v_res_4299_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4(lean_object* v_k_4300_, lean_object* v_a_4301_, lean_object* v_code_4302_, lean_object* v_decl_4303_, lean_object* v___y_4304_, lean_object* v___y_4305_, lean_object* v___y_4306_, lean_object* v___y_4307_, lean_object* v___y_4308_, lean_object* v___y_4309_, lean_object* v___y_4310_){
_start:
{
lean_object* v___x_4312_; 
lean_inc_ref(v_k_4300_);
v___x_4312_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_k_4300_, v___y_4304_, v___y_4305_, v___y_4306_, v___y_4307_, v___y_4308_, v___y_4309_, v___y_4310_);
if (lean_obj_tag(v___x_4312_) == 0)
{
lean_object* v_a_4313_; lean_object* v___x_4315_; uint8_t v_isShared_4316_; uint8_t v_isSharedCheck_4332_; 
v_a_4313_ = lean_ctor_get(v___x_4312_, 0);
v_isSharedCheck_4332_ = !lean_is_exclusive(v___x_4312_);
if (v_isSharedCheck_4332_ == 0)
{
v___x_4315_ = v___x_4312_;
v_isShared_4316_ = v_isSharedCheck_4332_;
goto v_resetjp_4314_;
}
else
{
lean_inc(v_a_4313_);
lean_dec(v___x_4312_);
v___x_4315_ = lean_box(0);
v_isShared_4316_ = v_isSharedCheck_4332_;
goto v_resetjp_4314_;
}
v_resetjp_4314_:
{
uint8_t v___y_4318_; size_t v___x_4326_; size_t v___x_4327_; uint8_t v___x_4328_; 
v___x_4326_ = lean_ptr_addr(v_k_4300_);
lean_dec_ref(v_k_4300_);
v___x_4327_ = lean_ptr_addr(v_a_4313_);
v___x_4328_ = lean_usize_dec_eq(v___x_4326_, v___x_4327_);
if (v___x_4328_ == 0)
{
v___y_4318_ = v___x_4328_;
goto v___jp_4317_;
}
else
{
size_t v___x_4329_; size_t v___x_4330_; uint8_t v___x_4331_; 
v___x_4329_ = lean_ptr_addr(v_decl_4303_);
v___x_4330_ = lean_ptr_addr(v_a_4301_);
v___x_4331_ = lean_usize_dec_eq(v___x_4329_, v___x_4330_);
v___y_4318_ = v___x_4331_;
goto v___jp_4317_;
}
v___jp_4317_:
{
if (v___y_4318_ == 0)
{
lean_object* v___x_4319_; lean_object* v___x_4321_; 
lean_dec_ref(v_code_4302_);
v___x_4319_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_4319_, 0, v_a_4301_);
lean_ctor_set(v___x_4319_, 1, v_a_4313_);
if (v_isShared_4316_ == 0)
{
lean_ctor_set(v___x_4315_, 0, v___x_4319_);
v___x_4321_ = v___x_4315_;
goto v_reusejp_4320_;
}
else
{
lean_object* v_reuseFailAlloc_4322_; 
v_reuseFailAlloc_4322_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4322_, 0, v___x_4319_);
v___x_4321_ = v_reuseFailAlloc_4322_;
goto v_reusejp_4320_;
}
v_reusejp_4320_:
{
return v___x_4321_;
}
}
else
{
lean_object* v___x_4324_; 
lean_dec(v_a_4313_);
lean_dec_ref(v_a_4301_);
if (v_isShared_4316_ == 0)
{
lean_ctor_set(v___x_4315_, 0, v_code_4302_);
v___x_4324_ = v___x_4315_;
goto v_reusejp_4323_;
}
else
{
lean_object* v_reuseFailAlloc_4325_; 
v_reuseFailAlloc_4325_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4325_, 0, v_code_4302_);
v___x_4324_ = v_reuseFailAlloc_4325_;
goto v_reusejp_4323_;
}
v_reusejp_4323_:
{
return v___x_4324_;
}
}
}
}
}
else
{
lean_dec_ref(v_code_4302_);
lean_dec_ref(v_a_4301_);
lean_dec_ref(v_k_4300_);
return v___x_4312_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4___boxed(lean_object* v_k_4333_, lean_object* v_a_4334_, lean_object* v_code_4335_, lean_object* v_decl_4336_, lean_object* v___y_4337_, lean_object* v___y_4338_, lean_object* v___y_4339_, lean_object* v___y_4340_, lean_object* v___y_4341_, lean_object* v___y_4342_, lean_object* v___y_4343_, lean_object* v___y_4344_){
_start:
{
lean_object* v_res_4345_; 
v_res_4345_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4(v_k_4333_, v_a_4334_, v_code_4335_, v_decl_4336_, v___y_4337_, v___y_4338_, v___y_4339_, v___y_4340_, v___y_4341_, v___y_4342_, v___y_4343_);
lean_dec_ref(v_decl_4336_);
return v_res_4345_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___boxed(lean_object* v_code_4346_, lean_object* v_a_4347_, lean_object* v_a_4348_, lean_object* v_a_4349_, lean_object* v_a_4350_, lean_object* v_a_4351_, lean_object* v_a_4352_, lean_object* v_a_4353_, lean_object* v_a_4354_){
_start:
{
lean_object* v_res_4355_; 
v_res_4355_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_code_4346_, v_a_4347_, v_a_4348_, v_a_4349_, v_a_4350_, v_a_4351_, v_a_4352_, v_a_4353_);
return v_res_4355_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9(lean_object* v_i_4356_, lean_object* v_as_4357_, lean_object* v___y_4358_, lean_object* v___y_4359_, lean_object* v___y_4360_, lean_object* v___y_4361_, lean_object* v___y_4362_, lean_object* v___y_4363_, lean_object* v___y_4364_){
_start:
{
lean_object* v___x_4366_; uint8_t v___x_4367_; 
v___x_4366_ = lean_array_get_size(v_as_4357_);
v___x_4367_ = lean_nat_dec_lt(v_i_4356_, v___x_4366_);
if (v___x_4367_ == 0)
{
lean_object* v___x_4368_; 
lean_dec(v___y_4364_);
lean_dec_ref(v___y_4363_);
lean_dec(v___y_4362_);
lean_dec_ref(v___y_4361_);
lean_dec(v___y_4360_);
lean_dec(v___y_4359_);
lean_dec_ref(v___y_4358_);
lean_dec(v_i_4356_);
v___x_4368_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4368_, 0, v_as_4357_);
return v___x_4368_;
}
else
{
uint8_t v___x_4369_; lean_object* v_a_4370_; lean_object* v___x_4371_; lean_object* v___x_4372_; lean_object* v___x_4373_; lean_object* v___x_4374_; 
v___x_4369_ = 0;
v_a_4370_ = lean_array_fget_borrowed(v_as_4357_, v_i_4356_);
v___x_4371_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___boxed), 9, 0);
v___x_4372_ = lean_box(v___x_4369_);
lean_inc(v_a_4370_);
v___x_4373_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__8___boxed), 11, 3);
lean_closure_set(v___x_4373_, 0, v___x_4372_);
lean_closure_set(v___x_4373_, 1, v_a_4370_);
lean_closure_set(v___x_4373_, 2, v___x_4371_);
lean_inc(v___y_4364_);
lean_inc_ref(v___y_4363_);
lean_inc(v___y_4362_);
lean_inc_ref(v___y_4361_);
lean_inc(v___y_4360_);
lean_inc(v___y_4359_);
lean_inc_ref(v___y_4358_);
v___x_4374_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewAltScope___redArg(v_a_4370_, v___x_4373_, v___y_4358_, v___y_4359_, v___y_4360_, v___y_4361_, v___y_4362_, v___y_4363_, v___y_4364_);
if (lean_obj_tag(v___x_4374_) == 0)
{
lean_object* v_a_4375_; size_t v___x_4376_; size_t v___x_4377_; uint8_t v___x_4378_; 
v_a_4375_ = lean_ctor_get(v___x_4374_, 0);
lean_inc(v_a_4375_);
lean_dec_ref(v___x_4374_);
v___x_4376_ = lean_ptr_addr(v_a_4370_);
v___x_4377_ = lean_ptr_addr(v_a_4375_);
v___x_4378_ = lean_usize_dec_eq(v___x_4376_, v___x_4377_);
if (v___x_4378_ == 0)
{
lean_object* v___x_4379_; lean_object* v___x_4380_; lean_object* v___x_4381_; 
v___x_4379_ = lean_unsigned_to_nat(1u);
v___x_4380_ = lean_nat_add(v_i_4356_, v___x_4379_);
v___x_4381_ = lean_array_fset(v_as_4357_, v_i_4356_, v_a_4375_);
lean_dec(v_i_4356_);
v_i_4356_ = v___x_4380_;
v_as_4357_ = v___x_4381_;
goto _start;
}
else
{
lean_object* v___x_4383_; lean_object* v___x_4384_; 
lean_dec(v_a_4375_);
v___x_4383_ = lean_unsigned_to_nat(1u);
v___x_4384_ = lean_nat_add(v_i_4356_, v___x_4383_);
lean_dec(v_i_4356_);
v_i_4356_ = v___x_4384_;
goto _start;
}
}
else
{
lean_object* v_a_4386_; lean_object* v___x_4388_; uint8_t v_isShared_4389_; uint8_t v_isSharedCheck_4393_; 
lean_dec(v___y_4364_);
lean_dec_ref(v___y_4363_);
lean_dec(v___y_4362_);
lean_dec_ref(v___y_4361_);
lean_dec(v___y_4360_);
lean_dec(v___y_4359_);
lean_dec_ref(v___y_4358_);
lean_dec_ref(v_as_4357_);
lean_dec(v_i_4356_);
v_a_4386_ = lean_ctor_get(v___x_4374_, 0);
v_isSharedCheck_4393_ = !lean_is_exclusive(v___x_4374_);
if (v_isSharedCheck_4393_ == 0)
{
v___x_4388_ = v___x_4374_;
v_isShared_4389_ = v_isSharedCheck_4393_;
goto v_resetjp_4387_;
}
else
{
lean_inc(v_a_4386_);
lean_dec(v___x_4374_);
v___x_4388_ = lean_box(0);
v_isShared_4389_ = v_isSharedCheck_4393_;
goto v_resetjp_4387_;
}
v_resetjp_4387_:
{
lean_object* v___x_4391_; 
if (v_isShared_4389_ == 0)
{
v___x_4391_ = v___x_4388_;
goto v_reusejp_4390_;
}
else
{
lean_object* v_reuseFailAlloc_4392_; 
v_reuseFailAlloc_4392_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4392_, 0, v_a_4386_);
v___x_4391_ = v_reuseFailAlloc_4392_;
goto v_reusejp_4390_;
}
v_reusejp_4390_:
{
return v___x_4391_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(lean_object* v_code_4394_, lean_object* v_a_4395_, lean_object* v_a_4396_, lean_object* v_a_4397_, lean_object* v_a_4398_, lean_object* v_a_4399_, lean_object* v_a_4400_, lean_object* v_a_4401_){
_start:
{
lean_object* v___x_4403_; 
v___x_4403_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0, &l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0);
switch(lean_obj_tag(v_code_4394_))
{
case 0:
{
lean_object* v_decl_4404_; lean_object* v_k_4405_; lean_object* v_value_4406_; uint8_t v___x_4407_; lean_object* v___x_4408_; lean_object* v___x_4409_; 
v_decl_4404_ = lean_ctor_get(v_code_4394_, 0);
lean_inc_ref(v_decl_4404_);
v_k_4405_ = lean_ctor_get(v_code_4394_, 1);
lean_inc_ref(v_k_4405_);
v_value_4406_ = lean_ctor_get(v_decl_4404_, 3);
v___x_4407_ = 0;
v___x_4408_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4___closed__0));
lean_inc(v_a_4401_);
lean_inc_ref(v_a_4400_);
lean_inc(v_a_4399_);
lean_inc_ref(v_a_4398_);
lean_inc(v_a_4397_);
lean_inc(v_a_4396_);
lean_inc_ref(v_a_4395_);
lean_inc(v_value_4406_);
v___x_4409_ = l_Lean_Compiler_LCNF_LetValue_mapFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__0(v___x_4407_, v___x_4408_, v_value_4406_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4409_) == 0)
{
lean_object* v_a_4410_; lean_object* v___x_4411_; 
v_a_4410_ = lean_ctor_get(v___x_4409_, 0);
lean_inc(v_a_4410_);
lean_dec_ref(v___x_4409_);
lean_inc_ref(v_decl_4404_);
v___x_4411_ = l_Lean_Compiler_LCNF_LetDecl_updateValue___redArg(v___x_4407_, v_decl_4404_, v_a_4410_, v_a_4399_);
if (lean_obj_tag(v___x_4411_) == 0)
{
lean_object* v_a_4412_; lean_object* v_fvarId_4413_; lean_object* v___f_4414_; lean_object* v___x_4415_; 
v_a_4412_ = lean_ctor_get(v___x_4411_, 0);
lean_inc(v_a_4412_);
lean_dec_ref(v___x_4411_);
v_fvarId_4413_ = lean_ctor_get(v_a_4412_, 0);
lean_inc(v_fvarId_4413_);
v___f_4414_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__0___boxed), 12, 4);
lean_closure_set(v___f_4414_, 0, v_k_4405_);
lean_closure_set(v___f_4414_, 1, v_a_4412_);
lean_closure_set(v___f_4414_, 2, v_code_4394_);
lean_closure_set(v___f_4414_, 3, v_decl_4404_);
v___x_4415_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(v_fvarId_4413_, v___f_4414_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
return v___x_4415_;
}
else
{
lean_object* v_a_4416_; lean_object* v___x_4418_; uint8_t v_isShared_4419_; uint8_t v_isSharedCheck_4423_; 
lean_dec_ref(v_k_4405_);
lean_dec_ref(v_decl_4404_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4416_ = lean_ctor_get(v___x_4411_, 0);
v_isSharedCheck_4423_ = !lean_is_exclusive(v___x_4411_);
if (v_isSharedCheck_4423_ == 0)
{
v___x_4418_ = v___x_4411_;
v_isShared_4419_ = v_isSharedCheck_4423_;
goto v_resetjp_4417_;
}
else
{
lean_inc(v_a_4416_);
lean_dec(v___x_4411_);
v___x_4418_ = lean_box(0);
v_isShared_4419_ = v_isSharedCheck_4423_;
goto v_resetjp_4417_;
}
v_resetjp_4417_:
{
lean_object* v___x_4421_; 
if (v_isShared_4419_ == 0)
{
v___x_4421_ = v___x_4418_;
goto v_reusejp_4420_;
}
else
{
lean_object* v_reuseFailAlloc_4422_; 
v_reuseFailAlloc_4422_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4422_, 0, v_a_4416_);
v___x_4421_ = v_reuseFailAlloc_4422_;
goto v_reusejp_4420_;
}
v_reusejp_4420_:
{
return v___x_4421_;
}
}
}
}
else
{
lean_object* v_a_4424_; lean_object* v___x_4426_; uint8_t v_isShared_4427_; uint8_t v_isSharedCheck_4431_; 
lean_dec_ref(v_k_4405_);
lean_dec_ref(v_decl_4404_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4424_ = lean_ctor_get(v___x_4409_, 0);
v_isSharedCheck_4431_ = !lean_is_exclusive(v___x_4409_);
if (v_isSharedCheck_4431_ == 0)
{
v___x_4426_ = v___x_4409_;
v_isShared_4427_ = v_isSharedCheck_4431_;
goto v_resetjp_4425_;
}
else
{
lean_inc(v_a_4424_);
lean_dec(v___x_4409_);
v___x_4426_ = lean_box(0);
v_isShared_4427_ = v_isSharedCheck_4431_;
goto v_resetjp_4425_;
}
v_resetjp_4425_:
{
lean_object* v___x_4429_; 
if (v_isShared_4427_ == 0)
{
v___x_4429_ = v___x_4426_;
goto v_reusejp_4428_;
}
else
{
lean_object* v_reuseFailAlloc_4430_; 
v_reuseFailAlloc_4430_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4430_, 0, v_a_4424_);
v___x_4429_ = v_reuseFailAlloc_4430_;
goto v_reusejp_4428_;
}
v_reusejp_4428_:
{
return v___x_4429_;
}
}
}
}
case 1:
{
lean_object* v_decl_4432_; lean_object* v_k_4433_; lean_object* v_params_4434_; lean_object* v_type_4435_; lean_object* v_value_4436_; uint8_t v___x_4437_; lean_object* v___x_4438_; lean_object* v___f_4439_; lean_object* v___x_4440_; 
v_decl_4432_ = lean_ctor_get(v_code_4394_, 0);
lean_inc_ref(v_decl_4432_);
v_k_4433_ = lean_ctor_get(v_code_4394_, 1);
lean_inc_ref(v_k_4433_);
v_params_4434_ = lean_ctor_get(v_decl_4432_, 2);
v_type_4435_ = lean_ctor_get(v_decl_4432_, 3);
v_value_4436_ = lean_ctor_get(v_decl_4432_, 4);
v___x_4437_ = 0;
v___x_4438_ = lean_box(v___x_4437_);
lean_inc_ref(v_params_4434_);
lean_inc_ref(v_type_4435_);
lean_inc_ref(v_decl_4432_);
lean_inc_ref(v_value_4436_);
v___f_4439_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1___boxed), 13, 5);
lean_closure_set(v___f_4439_, 0, v_value_4436_);
lean_closure_set(v___f_4439_, 1, v___x_4438_);
lean_closure_set(v___f_4439_, 2, v_decl_4432_);
lean_closure_set(v___f_4439_, 3, v_type_4435_);
lean_closure_set(v___f_4439_, 4, v_params_4434_);
lean_inc(v_a_4401_);
lean_inc_ref(v_a_4400_);
lean_inc(v_a_4399_);
lean_inc_ref(v_a_4398_);
lean_inc(v_a_4397_);
lean_inc(v_a_4396_);
v___x_4440_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg(v___f_4439_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4440_) == 0)
{
lean_object* v_a_4441_; lean_object* v_fvarId_4442_; lean_object* v___f_4443_; lean_object* v___x_4444_; 
v_a_4441_ = lean_ctor_get(v___x_4440_, 0);
lean_inc(v_a_4441_);
lean_dec_ref(v___x_4440_);
v_fvarId_4442_ = lean_ctor_get(v_a_4441_, 0);
lean_inc(v_fvarId_4442_);
v___f_4443_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__2___boxed), 12, 4);
lean_closure_set(v___f_4443_, 0, v_k_4433_);
lean_closure_set(v___f_4443_, 1, v_a_4441_);
lean_closure_set(v___f_4443_, 2, v_code_4394_);
lean_closure_set(v___f_4443_, 3, v_decl_4432_);
v___x_4444_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(v_fvarId_4442_, v___f_4443_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
return v___x_4444_;
}
else
{
lean_object* v_a_4445_; lean_object* v___x_4447_; uint8_t v_isShared_4448_; uint8_t v_isSharedCheck_4452_; 
lean_dec_ref(v_k_4433_);
lean_dec_ref(v_decl_4432_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4445_ = lean_ctor_get(v___x_4440_, 0);
v_isSharedCheck_4452_ = !lean_is_exclusive(v___x_4440_);
if (v_isSharedCheck_4452_ == 0)
{
v___x_4447_ = v___x_4440_;
v_isShared_4448_ = v_isSharedCheck_4452_;
goto v_resetjp_4446_;
}
else
{
lean_inc(v_a_4445_);
lean_dec(v___x_4440_);
v___x_4447_ = lean_box(0);
v_isShared_4448_ = v_isSharedCheck_4452_;
goto v_resetjp_4446_;
}
v_resetjp_4446_:
{
lean_object* v___x_4450_; 
if (v_isShared_4448_ == 0)
{
v___x_4450_ = v___x_4447_;
goto v_reusejp_4449_;
}
else
{
lean_object* v_reuseFailAlloc_4451_; 
v_reuseFailAlloc_4451_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4451_, 0, v_a_4445_);
v___x_4450_ = v_reuseFailAlloc_4451_;
goto v_reusejp_4449_;
}
v_reusejp_4449_:
{
return v___x_4450_;
}
}
}
}
case 2:
{
lean_object* v_decl_4453_; lean_object* v_k_4454_; lean_object* v_fvarId_4455_; lean_object* v_params_4456_; lean_object* v_type_4457_; lean_object* v_value_4458_; uint8_t v___x_4459_; lean_object* v___x_4460_; lean_object* v___f_4461_; lean_object* v___x_4462_; 
v_decl_4453_ = lean_ctor_get(v_code_4394_, 0);
lean_inc_ref(v_decl_4453_);
v_k_4454_ = lean_ctor_get(v_code_4394_, 1);
lean_inc_ref(v_k_4454_);
v_fvarId_4455_ = lean_ctor_get(v_decl_4453_, 0);
v_params_4456_ = lean_ctor_get(v_decl_4453_, 2);
v_type_4457_ = lean_ctor_get(v_decl_4453_, 3);
v_value_4458_ = lean_ctor_get(v_decl_4453_, 4);
v___x_4459_ = 0;
v___x_4460_ = lean_box(v___x_4459_);
lean_inc_ref(v_type_4457_);
lean_inc_ref(v_decl_4453_);
lean_inc_ref(v_params_4456_);
lean_inc(v_fvarId_4455_);
lean_inc_ref(v_value_4458_);
v___f_4461_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__3___boxed), 15, 7);
lean_closure_set(v___f_4461_, 0, v_value_4458_);
lean_closure_set(v___f_4461_, 1, v___x_4403_);
lean_closure_set(v___f_4461_, 2, v_fvarId_4455_);
lean_closure_set(v___f_4461_, 3, v_params_4456_);
lean_closure_set(v___f_4461_, 4, v___x_4460_);
lean_closure_set(v___f_4461_, 5, v_decl_4453_);
lean_closure_set(v___f_4461_, 6, v_type_4457_);
lean_inc(v_a_4401_);
lean_inc_ref(v_a_4400_);
lean_inc(v_a_4399_);
lean_inc_ref(v_a_4398_);
lean_inc(v_a_4397_);
lean_inc(v_a_4396_);
lean_inc_ref(v_a_4395_);
lean_inc_ref(v_decl_4453_);
v___x_4462_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewJpScope___redArg(v_decl_4453_, v___f_4461_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4462_) == 0)
{
lean_object* v_a_4463_; lean_object* v_fvarId_4464_; lean_object* v___x_4465_; 
v_a_4463_ = lean_ctor_get(v___x_4462_, 0);
lean_inc(v_a_4463_);
lean_dec_ref(v___x_4462_);
v_fvarId_4464_ = lean_ctor_get(v_a_4463_, 0);
lean_inc(v_fvarId_4464_);
lean_inc_ref(v_a_4395_);
v___x_4465_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary(v_fvarId_4464_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4465_) == 0)
{
lean_object* v___f_4466_; lean_object* v___x_4467_; 
lean_dec_ref(v___x_4465_);
v___f_4466_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__4___boxed), 12, 4);
lean_closure_set(v___f_4466_, 0, v_k_4454_);
lean_closure_set(v___f_4466_, 1, v_a_4463_);
lean_closure_set(v___f_4466_, 2, v_code_4394_);
lean_closure_set(v___f_4466_, 3, v_decl_4453_);
v___x_4467_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewCandidate___redArg(v_fvarId_4464_, v___f_4466_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
return v___x_4467_;
}
else
{
lean_object* v_a_4468_; lean_object* v___x_4470_; uint8_t v_isShared_4471_; uint8_t v_isSharedCheck_4475_; 
lean_dec(v_fvarId_4464_);
lean_dec(v_a_4463_);
lean_dec_ref(v_k_4454_);
lean_dec_ref(v_decl_4453_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4468_ = lean_ctor_get(v___x_4465_, 0);
v_isSharedCheck_4475_ = !lean_is_exclusive(v___x_4465_);
if (v_isSharedCheck_4475_ == 0)
{
v___x_4470_ = v___x_4465_;
v_isShared_4471_ = v_isSharedCheck_4475_;
goto v_resetjp_4469_;
}
else
{
lean_inc(v_a_4468_);
lean_dec(v___x_4465_);
v___x_4470_ = lean_box(0);
v_isShared_4471_ = v_isSharedCheck_4475_;
goto v_resetjp_4469_;
}
v_resetjp_4469_:
{
lean_object* v___x_4473_; 
if (v_isShared_4471_ == 0)
{
v___x_4473_ = v___x_4470_;
goto v_reusejp_4472_;
}
else
{
lean_object* v_reuseFailAlloc_4474_; 
v_reuseFailAlloc_4474_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4474_, 0, v_a_4468_);
v___x_4473_ = v_reuseFailAlloc_4474_;
goto v_reusejp_4472_;
}
v_reusejp_4472_:
{
return v___x_4473_;
}
}
}
}
else
{
lean_object* v_a_4476_; lean_object* v___x_4478_; uint8_t v_isShared_4479_; uint8_t v_isSharedCheck_4483_; 
lean_dec_ref(v_k_4454_);
lean_dec_ref(v_decl_4453_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4476_ = lean_ctor_get(v___x_4462_, 0);
v_isSharedCheck_4483_ = !lean_is_exclusive(v___x_4462_);
if (v_isSharedCheck_4483_ == 0)
{
v___x_4478_ = v___x_4462_;
v_isShared_4479_ = v_isSharedCheck_4483_;
goto v_resetjp_4477_;
}
else
{
lean_inc(v_a_4476_);
lean_dec(v___x_4462_);
v___x_4478_ = lean_box(0);
v_isShared_4479_ = v_isSharedCheck_4483_;
goto v_resetjp_4477_;
}
v_resetjp_4477_:
{
lean_object* v___x_4481_; 
if (v_isShared_4479_ == 0)
{
v___x_4481_ = v___x_4478_;
goto v_reusejp_4480_;
}
else
{
lean_object* v_reuseFailAlloc_4482_; 
v_reuseFailAlloc_4482_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4482_, 0, v_a_4476_);
v___x_4481_ = v_reuseFailAlloc_4482_;
goto v_reusejp_4480_;
}
v_reusejp_4480_:
{
return v___x_4481_;
}
}
}
}
case 3:
{
lean_object* v_fvarId_4484_; lean_object* v_args_4485_; lean_object* v___y_4487_; uint8_t v___y_4488_; lean_object* v_newArgs_4501_; size_t v_sz_4506_; size_t v___x_4507_; lean_object* v___x_4508_; 
v_fvarId_4484_ = lean_ctor_get(v_code_4394_, 0);
v_args_4485_ = lean_ctor_get(v_code_4394_, 1);
v_sz_4506_ = lean_array_size(v_args_4485_);
v___x_4507_ = ((size_t)0ULL);
lean_inc(v_a_4401_);
lean_inc_ref(v_a_4400_);
lean_inc(v_a_4399_);
lean_inc_ref(v_a_4398_);
lean_inc(v_a_4397_);
lean_inc(v_a_4396_);
lean_inc_ref(v_a_4395_);
lean_inc_ref(v_args_4485_);
v___x_4508_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__4(v_sz_4506_, v___x_4507_, v_args_4485_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4508_) == 0)
{
lean_object* v_a_4509_; lean_object* v___x_4510_; lean_object* v___y_4512_; lean_object* v___x_4531_; lean_object* v_size_4532_; lean_object* v_buckets_4533_; lean_object* v___x_4534_; lean_object* v___x_4535_; lean_object* v___x_4536_; uint8_t v___x_4537_; 
v_a_4509_ = lean_ctor_get(v___x_4508_, 0);
lean_inc(v_a_4509_);
lean_dec_ref(v___x_4508_);
v___x_4510_ = lean_st_ref_get(v_a_4396_);
v___x_4531_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x21___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__1___redArg(v___x_4403_, v___x_4510_, v_fvarId_4484_);
lean_dec(v___x_4510_);
v_size_4532_ = lean_ctor_get(v___x_4531_, 0);
lean_inc(v_size_4532_);
v_buckets_4533_ = lean_ctor_get(v___x_4531_, 1);
lean_inc_ref(v_buckets_4533_);
lean_dec(v___x_4531_);
v___x_4534_ = lean_mk_empty_array_with_capacity(v_size_4532_);
lean_dec(v_size_4532_);
v___x_4535_ = lean_unsigned_to_nat(0u);
v___x_4536_ = lean_array_get_size(v_buckets_4533_);
v___x_4537_ = lean_nat_dec_lt(v___x_4535_, v___x_4536_);
if (v___x_4537_ == 0)
{
lean_dec_ref(v_buckets_4533_);
v___y_4512_ = v___x_4534_;
goto v___jp_4511_;
}
else
{
uint8_t v___x_4538_; 
v___x_4538_ = lean_nat_dec_le(v___x_4536_, v___x_4536_);
if (v___x_4538_ == 0)
{
if (v___x_4537_ == 0)
{
lean_dec_ref(v_buckets_4533_);
v___y_4512_ = v___x_4534_;
goto v___jp_4511_;
}
else
{
size_t v___x_4539_; lean_object* v___x_4540_; 
v___x_4539_ = lean_usize_of_nat(v___x_4536_);
v___x_4540_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_4533_, v___x_4507_, v___x_4539_, v___x_4534_);
lean_dec_ref(v_buckets_4533_);
v___y_4512_ = v___x_4540_;
goto v___jp_4511_;
}
}
else
{
size_t v___x_4541_; lean_object* v___x_4542_; 
v___x_4541_ = lean_usize_of_nat(v___x_4536_);
v___x_4542_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Compiler_LCNF_JoinPointContextExtender_mergeJpContextIfNecessary_spec__2(v_buckets_4533_, v___x_4507_, v___x_4541_, v___x_4534_);
lean_dec_ref(v_buckets_4533_);
v___y_4512_ = v___x_4542_;
goto v___jp_4511_;
}
}
v___jp_4511_:
{
lean_object* v_currentJp_x3f_4513_; size_t v_sz_4514_; lean_object* v___x_4515_; 
v_currentJp_x3f_4513_ = lean_ctor_get(v_a_4395_, 0);
v_sz_4514_ = lean_array_size(v___y_4512_);
v___x_4515_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__5(v_sz_4514_, v___x_4507_, v___y_4512_);
if (lean_obj_tag(v_currentJp_x3f_4513_) == 1)
{
size_t v_sz_4516_; lean_object* v___x_4517_; 
v_sz_4516_ = lean_array_size(v___x_4515_);
v___x_4517_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__6(v_sz_4516_, v___x_4507_, v___x_4515_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
if (lean_obj_tag(v___x_4517_) == 0)
{
lean_object* v_a_4518_; lean_object* v___x_4519_; 
v_a_4518_ = lean_ctor_get(v___x_4517_, 0);
lean_inc(v_a_4518_);
lean_dec_ref(v___x_4517_);
v___x_4519_ = l_Array_append___redArg(v_a_4518_, v_a_4509_);
lean_dec(v_a_4509_);
v_newArgs_4501_ = v___x_4519_;
goto v___jp_4500_;
}
else
{
lean_object* v_a_4520_; lean_object* v___x_4522_; uint8_t v_isShared_4523_; uint8_t v_isSharedCheck_4527_; 
lean_dec(v_a_4509_);
lean_dec_ref(v_code_4394_);
v_a_4520_ = lean_ctor_get(v___x_4517_, 0);
v_isSharedCheck_4527_ = !lean_is_exclusive(v___x_4517_);
if (v_isSharedCheck_4527_ == 0)
{
v___x_4522_ = v___x_4517_;
v_isShared_4523_ = v_isSharedCheck_4527_;
goto v_resetjp_4521_;
}
else
{
lean_inc(v_a_4520_);
lean_dec(v___x_4517_);
v___x_4522_ = lean_box(0);
v_isShared_4523_ = v_isSharedCheck_4527_;
goto v_resetjp_4521_;
}
v_resetjp_4521_:
{
lean_object* v___x_4525_; 
if (v_isShared_4523_ == 0)
{
v___x_4525_ = v___x_4522_;
goto v_reusejp_4524_;
}
else
{
lean_object* v_reuseFailAlloc_4526_; 
v_reuseFailAlloc_4526_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4526_, 0, v_a_4520_);
v___x_4525_ = v_reuseFailAlloc_4526_;
goto v_reusejp_4524_;
}
v_reusejp_4524_:
{
return v___x_4525_;
}
}
}
}
else
{
size_t v_sz_4528_; lean_object* v___x_4529_; lean_object* v___x_4530_; 
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_sz_4528_ = lean_array_size(v___x_4515_);
v___x_4529_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__7(v_sz_4528_, v___x_4507_, v___x_4515_);
v___x_4530_ = l_Array_append___redArg(v___x_4529_, v_a_4509_);
lean_dec(v_a_4509_);
v_newArgs_4501_ = v___x_4530_;
goto v___jp_4500_;
}
}
}
else
{
lean_object* v_a_4543_; lean_object* v___x_4545_; uint8_t v_isShared_4546_; uint8_t v_isSharedCheck_4550_; 
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4543_ = lean_ctor_get(v___x_4508_, 0);
v_isSharedCheck_4550_ = !lean_is_exclusive(v___x_4508_);
if (v_isSharedCheck_4550_ == 0)
{
v___x_4545_ = v___x_4508_;
v_isShared_4546_ = v_isSharedCheck_4550_;
goto v_resetjp_4544_;
}
else
{
lean_inc(v_a_4543_);
lean_dec(v___x_4508_);
v___x_4545_ = lean_box(0);
v_isShared_4546_ = v_isSharedCheck_4550_;
goto v_resetjp_4544_;
}
v_resetjp_4544_:
{
lean_object* v___x_4548_; 
if (v_isShared_4546_ == 0)
{
v___x_4548_ = v___x_4545_;
goto v_reusejp_4547_;
}
else
{
lean_object* v_reuseFailAlloc_4549_; 
v_reuseFailAlloc_4549_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4549_, 0, v_a_4543_);
v___x_4548_ = v_reuseFailAlloc_4549_;
goto v_reusejp_4547_;
}
v_reusejp_4547_:
{
return v___x_4548_;
}
}
}
v___jp_4486_:
{
if (v___y_4488_ == 0)
{
lean_object* v___x_4490_; uint8_t v_isShared_4491_; uint8_t v_isSharedCheck_4496_; 
lean_inc(v_fvarId_4484_);
v_isSharedCheck_4496_ = !lean_is_exclusive(v_code_4394_);
if (v_isSharedCheck_4496_ == 0)
{
lean_object* v_unused_4497_; lean_object* v_unused_4498_; 
v_unused_4497_ = lean_ctor_get(v_code_4394_, 1);
lean_dec(v_unused_4497_);
v_unused_4498_ = lean_ctor_get(v_code_4394_, 0);
lean_dec(v_unused_4498_);
v___x_4490_ = v_code_4394_;
v_isShared_4491_ = v_isSharedCheck_4496_;
goto v_resetjp_4489_;
}
else
{
lean_dec(v_code_4394_);
v___x_4490_ = lean_box(0);
v_isShared_4491_ = v_isSharedCheck_4496_;
goto v_resetjp_4489_;
}
v_resetjp_4489_:
{
lean_object* v___x_4493_; 
if (v_isShared_4491_ == 0)
{
lean_ctor_set(v___x_4490_, 1, v___y_4487_);
v___x_4493_ = v___x_4490_;
goto v_reusejp_4492_;
}
else
{
lean_object* v_reuseFailAlloc_4495_; 
v_reuseFailAlloc_4495_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4495_, 0, v_fvarId_4484_);
lean_ctor_set(v_reuseFailAlloc_4495_, 1, v___y_4487_);
v___x_4493_ = v_reuseFailAlloc_4495_;
goto v_reusejp_4492_;
}
v_reusejp_4492_:
{
lean_object* v___x_4494_; 
v___x_4494_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4494_, 0, v___x_4493_);
return v___x_4494_;
}
}
}
else
{
lean_object* v___x_4499_; 
lean_dec_ref(v___y_4487_);
v___x_4499_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4499_, 0, v_code_4394_);
return v___x_4499_;
}
}
v___jp_4500_:
{
uint8_t v___x_4502_; 
v___x_4502_ = l_Lean_instBEqFVarId_beq(v_fvarId_4484_, v_fvarId_4484_);
if (v___x_4502_ == 0)
{
v___y_4487_ = v_newArgs_4501_;
v___y_4488_ = v___x_4502_;
goto v___jp_4486_;
}
else
{
size_t v___x_4503_; size_t v___x_4504_; uint8_t v___x_4505_; 
v___x_4503_ = lean_ptr_addr(v_args_4485_);
v___x_4504_ = lean_ptr_addr(v_newArgs_4501_);
v___x_4505_ = lean_usize_dec_eq(v___x_4503_, v___x_4504_);
v___y_4487_ = v_newArgs_4501_;
v___y_4488_ = v___x_4505_;
goto v___jp_4486_;
}
}
}
case 4:
{
lean_object* v_cases_4551_; lean_object* v_typeName_4552_; lean_object* v_resultType_4553_; lean_object* v_discr_4554_; lean_object* v_alts_4555_; lean_object* v___x_4557_; uint8_t v_isShared_4558_; uint8_t v_isSharedCheck_4616_; 
v_cases_4551_ = lean_ctor_get(v_code_4394_, 0);
lean_inc_ref(v_cases_4551_);
v_typeName_4552_ = lean_ctor_get(v_cases_4551_, 0);
v_resultType_4553_ = lean_ctor_get(v_cases_4551_, 1);
v_discr_4554_ = lean_ctor_get(v_cases_4551_, 2);
v_alts_4555_ = lean_ctor_get(v_cases_4551_, 3);
v_isSharedCheck_4616_ = !lean_is_exclusive(v_cases_4551_);
if (v_isSharedCheck_4616_ == 0)
{
v___x_4557_ = v_cases_4551_;
v_isShared_4558_ = v_isSharedCheck_4616_;
goto v_resetjp_4556_;
}
else
{
lean_inc(v_alts_4555_);
lean_inc(v_discr_4554_);
lean_inc(v_resultType_4553_);
lean_inc(v_typeName_4552_);
lean_dec(v_cases_4551_);
v___x_4557_ = lean_box(0);
v_isShared_4558_ = v_isSharedCheck_4616_;
goto v_resetjp_4556_;
}
v_resetjp_4556_:
{
lean_object* v___x_4559_; 
lean_inc_ref(v_a_4395_);
lean_inc(v_discr_4554_);
v___x_4559_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(v_discr_4554_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4559_) == 0)
{
lean_object* v___x_4560_; 
lean_dec_ref(v___x_4559_);
lean_inc_ref(v_a_4395_);
lean_inc(v_discr_4554_);
v___x_4560_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(v_discr_4554_, v_a_4395_, v_a_4396_);
if (lean_obj_tag(v___x_4560_) == 0)
{
lean_object* v_a_4561_; lean_object* v___x_4563_; uint8_t v_isShared_4564_; uint8_t v_isSharedCheck_4599_; 
v_a_4561_ = lean_ctor_get(v___x_4560_, 0);
v_isSharedCheck_4599_ = !lean_is_exclusive(v___x_4560_);
if (v_isSharedCheck_4599_ == 0)
{
v___x_4563_ = v___x_4560_;
v_isShared_4564_ = v_isSharedCheck_4599_;
goto v_resetjp_4562_;
}
else
{
lean_inc(v_a_4561_);
lean_dec(v___x_4560_);
v___x_4563_ = lean_box(0);
v_isShared_4564_ = v_isSharedCheck_4599_;
goto v_resetjp_4562_;
}
v_resetjp_4562_:
{
lean_object* v___x_4565_; lean_object* v___x_4566_; 
v___x_4565_ = lean_unsigned_to_nat(0u);
lean_inc_ref(v_alts_4555_);
v___x_4566_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9(v___x_4565_, v_alts_4555_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
if (lean_obj_tag(v___x_4566_) == 0)
{
lean_object* v_a_4567_; lean_object* v___x_4569_; uint8_t v_isShared_4570_; uint8_t v_isSharedCheck_4590_; 
v_a_4567_ = lean_ctor_get(v___x_4566_, 0);
v_isSharedCheck_4590_ = !lean_is_exclusive(v___x_4566_);
if (v_isSharedCheck_4590_ == 0)
{
v___x_4569_ = v___x_4566_;
v_isShared_4570_ = v_isSharedCheck_4590_;
goto v_resetjp_4568_;
}
else
{
lean_inc(v_a_4567_);
lean_dec(v___x_4566_);
v___x_4569_ = lean_box(0);
v_isShared_4570_ = v_isSharedCheck_4590_;
goto v_resetjp_4568_;
}
v_resetjp_4568_:
{
uint8_t v___y_4580_; size_t v___x_4585_; size_t v___x_4586_; uint8_t v___x_4587_; 
v___x_4585_ = lean_ptr_addr(v_alts_4555_);
lean_dec_ref(v_alts_4555_);
v___x_4586_ = lean_ptr_addr(v_a_4567_);
v___x_4587_ = lean_usize_dec_eq(v___x_4585_, v___x_4586_);
if (v___x_4587_ == 0)
{
v___y_4580_ = v___x_4587_;
goto v___jp_4579_;
}
else
{
size_t v___x_4588_; uint8_t v___x_4589_; 
v___x_4588_ = lean_ptr_addr(v_resultType_4553_);
v___x_4589_ = lean_usize_dec_eq(v___x_4588_, v___x_4588_);
v___y_4580_ = v___x_4589_;
goto v___jp_4579_;
}
v___jp_4571_:
{
lean_object* v___x_4573_; 
if (v_isShared_4558_ == 0)
{
lean_ctor_set(v___x_4557_, 3, v_a_4567_);
lean_ctor_set(v___x_4557_, 2, v_a_4561_);
v___x_4573_ = v___x_4557_;
goto v_reusejp_4572_;
}
else
{
lean_object* v_reuseFailAlloc_4578_; 
v_reuseFailAlloc_4578_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v_reuseFailAlloc_4578_, 0, v_typeName_4552_);
lean_ctor_set(v_reuseFailAlloc_4578_, 1, v_resultType_4553_);
lean_ctor_set(v_reuseFailAlloc_4578_, 2, v_a_4561_);
lean_ctor_set(v_reuseFailAlloc_4578_, 3, v_a_4567_);
v___x_4573_ = v_reuseFailAlloc_4578_;
goto v_reusejp_4572_;
}
v_reusejp_4572_:
{
lean_object* v___x_4574_; lean_object* v___x_4576_; 
v___x_4574_ = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(v___x_4574_, 0, v___x_4573_);
if (v_isShared_4570_ == 0)
{
lean_ctor_set(v___x_4569_, 0, v___x_4574_);
v___x_4576_ = v___x_4569_;
goto v_reusejp_4575_;
}
else
{
lean_object* v_reuseFailAlloc_4577_; 
v_reuseFailAlloc_4577_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4577_, 0, v___x_4574_);
v___x_4576_ = v_reuseFailAlloc_4577_;
goto v_reusejp_4575_;
}
v_reusejp_4575_:
{
return v___x_4576_;
}
}
}
v___jp_4579_:
{
if (v___y_4580_ == 0)
{
lean_del_object(v___x_4563_);
lean_dec(v_discr_4554_);
lean_dec_ref(v_code_4394_);
goto v___jp_4571_;
}
else
{
uint8_t v___x_4581_; 
v___x_4581_ = l_Lean_instBEqFVarId_beq(v_discr_4554_, v_a_4561_);
lean_dec(v_discr_4554_);
if (v___x_4581_ == 0)
{
lean_del_object(v___x_4563_);
lean_dec_ref(v_code_4394_);
goto v___jp_4571_;
}
else
{
lean_object* v___x_4583_; 
lean_del_object(v___x_4569_);
lean_dec(v_a_4567_);
lean_dec(v_a_4561_);
lean_del_object(v___x_4557_);
lean_dec_ref(v_resultType_4553_);
lean_dec(v_typeName_4552_);
if (v_isShared_4564_ == 0)
{
lean_ctor_set(v___x_4563_, 0, v_code_4394_);
v___x_4583_ = v___x_4563_;
goto v_reusejp_4582_;
}
else
{
lean_object* v_reuseFailAlloc_4584_; 
v_reuseFailAlloc_4584_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4584_, 0, v_code_4394_);
v___x_4583_ = v_reuseFailAlloc_4584_;
goto v_reusejp_4582_;
}
v_reusejp_4582_:
{
return v___x_4583_;
}
}
}
}
}
}
else
{
lean_object* v_a_4591_; lean_object* v___x_4593_; uint8_t v_isShared_4594_; uint8_t v_isSharedCheck_4598_; 
lean_del_object(v___x_4563_);
lean_dec(v_a_4561_);
lean_del_object(v___x_4557_);
lean_dec_ref(v_alts_4555_);
lean_dec(v_discr_4554_);
lean_dec_ref(v_resultType_4553_);
lean_dec(v_typeName_4552_);
lean_dec_ref(v_code_4394_);
v_a_4591_ = lean_ctor_get(v___x_4566_, 0);
v_isSharedCheck_4598_ = !lean_is_exclusive(v___x_4566_);
if (v_isSharedCheck_4598_ == 0)
{
v___x_4593_ = v___x_4566_;
v_isShared_4594_ = v_isSharedCheck_4598_;
goto v_resetjp_4592_;
}
else
{
lean_inc(v_a_4591_);
lean_dec(v___x_4566_);
v___x_4593_ = lean_box(0);
v_isShared_4594_ = v_isSharedCheck_4598_;
goto v_resetjp_4592_;
}
v_resetjp_4592_:
{
lean_object* v___x_4596_; 
if (v_isShared_4594_ == 0)
{
v___x_4596_ = v___x_4593_;
goto v_reusejp_4595_;
}
else
{
lean_object* v_reuseFailAlloc_4597_; 
v_reuseFailAlloc_4597_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4597_, 0, v_a_4591_);
v___x_4596_ = v_reuseFailAlloc_4597_;
goto v_reusejp_4595_;
}
v_reusejp_4595_:
{
return v___x_4596_;
}
}
}
}
}
else
{
lean_object* v_a_4600_; lean_object* v___x_4602_; uint8_t v_isShared_4603_; uint8_t v_isSharedCheck_4607_; 
lean_del_object(v___x_4557_);
lean_dec_ref(v_alts_4555_);
lean_dec(v_discr_4554_);
lean_dec_ref(v_resultType_4553_);
lean_dec(v_typeName_4552_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4600_ = lean_ctor_get(v___x_4560_, 0);
v_isSharedCheck_4607_ = !lean_is_exclusive(v___x_4560_);
if (v_isSharedCheck_4607_ == 0)
{
v___x_4602_ = v___x_4560_;
v_isShared_4603_ = v_isSharedCheck_4607_;
goto v_resetjp_4601_;
}
else
{
lean_inc(v_a_4600_);
lean_dec(v___x_4560_);
v___x_4602_ = lean_box(0);
v_isShared_4603_ = v_isSharedCheck_4607_;
goto v_resetjp_4601_;
}
v_resetjp_4601_:
{
lean_object* v___x_4605_; 
if (v_isShared_4603_ == 0)
{
v___x_4605_ = v___x_4602_;
goto v_reusejp_4604_;
}
else
{
lean_object* v_reuseFailAlloc_4606_; 
v_reuseFailAlloc_4606_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4606_, 0, v_a_4600_);
v___x_4605_ = v_reuseFailAlloc_4606_;
goto v_reusejp_4604_;
}
v_reusejp_4604_:
{
return v___x_4605_;
}
}
}
}
else
{
lean_object* v_a_4608_; lean_object* v___x_4610_; uint8_t v_isShared_4611_; uint8_t v_isSharedCheck_4615_; 
lean_del_object(v___x_4557_);
lean_dec_ref(v_alts_4555_);
lean_dec(v_discr_4554_);
lean_dec_ref(v_resultType_4553_);
lean_dec(v_typeName_4552_);
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4608_ = lean_ctor_get(v___x_4559_, 0);
v_isSharedCheck_4615_ = !lean_is_exclusive(v___x_4559_);
if (v_isSharedCheck_4615_ == 0)
{
v___x_4610_ = v___x_4559_;
v_isShared_4611_ = v_isSharedCheck_4615_;
goto v_resetjp_4609_;
}
else
{
lean_inc(v_a_4608_);
lean_dec(v___x_4559_);
v___x_4610_ = lean_box(0);
v_isShared_4611_ = v_isSharedCheck_4615_;
goto v_resetjp_4609_;
}
v_resetjp_4609_:
{
lean_object* v___x_4613_; 
if (v_isShared_4611_ == 0)
{
v___x_4613_ = v___x_4610_;
goto v_reusejp_4612_;
}
else
{
lean_object* v_reuseFailAlloc_4614_; 
v_reuseFailAlloc_4614_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4614_, 0, v_a_4608_);
v___x_4613_ = v_reuseFailAlloc_4614_;
goto v_reusejp_4612_;
}
v_reusejp_4612_:
{
return v___x_4613_;
}
}
}
}
}
case 5:
{
lean_object* v_fvarId_4617_; lean_object* v___x_4618_; 
v_fvarId_4617_ = lean_ctor_get(v_code_4394_, 0);
lean_inc_ref(v_a_4395_);
lean_inc(v_fvarId_4617_);
v___x_4618_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extendByIfNecessary(v_fvarId_4617_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_);
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
if (lean_obj_tag(v___x_4618_) == 0)
{
lean_object* v___x_4619_; 
lean_dec_ref(v___x_4618_);
lean_inc(v_fvarId_4617_);
v___x_4619_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg(v_fvarId_4617_, v_a_4395_, v_a_4396_);
lean_dec(v_a_4396_);
if (lean_obj_tag(v___x_4619_) == 0)
{
lean_object* v_a_4620_; lean_object* v___x_4622_; uint8_t v_isShared_4623_; uint8_t v_isSharedCheck_4639_; 
v_a_4620_ = lean_ctor_get(v___x_4619_, 0);
v_isSharedCheck_4639_ = !lean_is_exclusive(v___x_4619_);
if (v_isSharedCheck_4639_ == 0)
{
v___x_4622_ = v___x_4619_;
v_isShared_4623_ = v_isSharedCheck_4639_;
goto v_resetjp_4621_;
}
else
{
lean_inc(v_a_4620_);
lean_dec(v___x_4619_);
v___x_4622_ = lean_box(0);
v_isShared_4623_ = v_isSharedCheck_4639_;
goto v_resetjp_4621_;
}
v_resetjp_4621_:
{
uint8_t v___x_4624_; 
v___x_4624_ = l_Lean_instBEqFVarId_beq(v_fvarId_4617_, v_a_4620_);
if (v___x_4624_ == 0)
{
lean_object* v___x_4626_; uint8_t v_isShared_4627_; uint8_t v_isSharedCheck_4634_; 
v_isSharedCheck_4634_ = !lean_is_exclusive(v_code_4394_);
if (v_isSharedCheck_4634_ == 0)
{
lean_object* v_unused_4635_; 
v_unused_4635_ = lean_ctor_get(v_code_4394_, 0);
lean_dec(v_unused_4635_);
v___x_4626_ = v_code_4394_;
v_isShared_4627_ = v_isSharedCheck_4634_;
goto v_resetjp_4625_;
}
else
{
lean_dec(v_code_4394_);
v___x_4626_ = lean_box(0);
v_isShared_4627_ = v_isSharedCheck_4634_;
goto v_resetjp_4625_;
}
v_resetjp_4625_:
{
lean_object* v___x_4629_; 
if (v_isShared_4627_ == 0)
{
lean_ctor_set(v___x_4626_, 0, v_a_4620_);
v___x_4629_ = v___x_4626_;
goto v_reusejp_4628_;
}
else
{
lean_object* v_reuseFailAlloc_4633_; 
v_reuseFailAlloc_4633_ = lean_alloc_ctor(5, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4633_, 0, v_a_4620_);
v___x_4629_ = v_reuseFailAlloc_4633_;
goto v_reusejp_4628_;
}
v_reusejp_4628_:
{
lean_object* v___x_4631_; 
if (v_isShared_4623_ == 0)
{
lean_ctor_set(v___x_4622_, 0, v___x_4629_);
v___x_4631_ = v___x_4622_;
goto v_reusejp_4630_;
}
else
{
lean_object* v_reuseFailAlloc_4632_; 
v_reuseFailAlloc_4632_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4632_, 0, v___x_4629_);
v___x_4631_ = v_reuseFailAlloc_4632_;
goto v_reusejp_4630_;
}
v_reusejp_4630_:
{
return v___x_4631_;
}
}
}
}
else
{
lean_object* v___x_4637_; 
lean_dec(v_a_4620_);
if (v_isShared_4623_ == 0)
{
lean_ctor_set(v___x_4622_, 0, v_code_4394_);
v___x_4637_ = v___x_4622_;
goto v_reusejp_4636_;
}
else
{
lean_object* v_reuseFailAlloc_4638_; 
v_reuseFailAlloc_4638_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4638_, 0, v_code_4394_);
v___x_4637_ = v_reuseFailAlloc_4638_;
goto v_reusejp_4636_;
}
v_reusejp_4636_:
{
return v___x_4637_;
}
}
}
}
else
{
lean_object* v_a_4640_; lean_object* v___x_4642_; uint8_t v_isShared_4643_; uint8_t v_isSharedCheck_4647_; 
lean_dec_ref(v_code_4394_);
v_a_4640_ = lean_ctor_get(v___x_4619_, 0);
v_isSharedCheck_4647_ = !lean_is_exclusive(v___x_4619_);
if (v_isSharedCheck_4647_ == 0)
{
v___x_4642_ = v___x_4619_;
v_isShared_4643_ = v_isSharedCheck_4647_;
goto v_resetjp_4641_;
}
else
{
lean_inc(v_a_4640_);
lean_dec(v___x_4619_);
v___x_4642_ = lean_box(0);
v_isShared_4643_ = v_isSharedCheck_4647_;
goto v_resetjp_4641_;
}
v_resetjp_4641_:
{
lean_object* v___x_4645_; 
if (v_isShared_4643_ == 0)
{
v___x_4645_ = v___x_4642_;
goto v_reusejp_4644_;
}
else
{
lean_object* v_reuseFailAlloc_4646_; 
v_reuseFailAlloc_4646_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4646_, 0, v_a_4640_);
v___x_4645_ = v_reuseFailAlloc_4646_;
goto v_reusejp_4644_;
}
v_reusejp_4644_:
{
return v___x_4645_;
}
}
}
}
else
{
lean_object* v_a_4648_; lean_object* v___x_4650_; uint8_t v_isShared_4651_; uint8_t v_isSharedCheck_4655_; 
lean_dec_ref(v_code_4394_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v_a_4648_ = lean_ctor_get(v___x_4618_, 0);
v_isSharedCheck_4655_ = !lean_is_exclusive(v___x_4618_);
if (v_isSharedCheck_4655_ == 0)
{
v___x_4650_ = v___x_4618_;
v_isShared_4651_ = v_isSharedCheck_4655_;
goto v_resetjp_4649_;
}
else
{
lean_inc(v_a_4648_);
lean_dec(v___x_4618_);
v___x_4650_ = lean_box(0);
v_isShared_4651_ = v_isSharedCheck_4655_;
goto v_resetjp_4649_;
}
v_resetjp_4649_:
{
lean_object* v___x_4653_; 
if (v_isShared_4651_ == 0)
{
v___x_4653_ = v___x_4650_;
goto v_reusejp_4652_;
}
else
{
lean_object* v_reuseFailAlloc_4654_; 
v_reuseFailAlloc_4654_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4654_, 0, v_a_4648_);
v___x_4653_ = v_reuseFailAlloc_4654_;
goto v_reusejp_4652_;
}
v_reusejp_4652_:
{
return v___x_4653_;
}
}
}
}
default: 
{
lean_object* v___x_4656_; 
lean_dec(v_a_4401_);
lean_dec_ref(v_a_4400_);
lean_dec(v_a_4399_);
lean_dec_ref(v_a_4398_);
lean_dec(v_a_4397_);
lean_dec(v_a_4396_);
lean_dec_ref(v_a_4395_);
v___x_4656_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4656_, 0, v_code_4394_);
return v___x_4656_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go___lam__1(lean_object* v_value_4657_, uint8_t v___x_4658_, lean_object* v_decl_4659_, lean_object* v_type_4660_, lean_object* v_params_4661_, lean_object* v___y_4662_, lean_object* v___y_4663_, lean_object* v___y_4664_, lean_object* v___y_4665_, lean_object* v___y_4666_, lean_object* v___y_4667_, lean_object* v___y_4668_){
_start:
{
lean_object* v___x_4670_; 
lean_inc(v___y_4666_);
v___x_4670_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go(v_value_4657_, v___y_4662_, v___y_4663_, v___y_4664_, v___y_4665_, v___y_4666_, v___y_4667_, v___y_4668_);
if (lean_obj_tag(v___x_4670_) == 0)
{
lean_object* v_a_4671_; lean_object* v___x_4672_; 
v_a_4671_ = lean_ctor_get(v___x_4670_, 0);
lean_inc(v_a_4671_);
lean_dec_ref(v___x_4670_);
v___x_4672_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_4658_, v_decl_4659_, v_type_4660_, v_params_4661_, v_a_4671_, v___y_4666_);
lean_dec(v___y_4666_);
return v___x_4672_;
}
else
{
lean_object* v_a_4673_; lean_object* v___x_4675_; uint8_t v_isShared_4676_; uint8_t v_isSharedCheck_4680_; 
lean_dec(v___y_4666_);
lean_dec_ref(v_params_4661_);
lean_dec_ref(v_type_4660_);
lean_dec_ref(v_decl_4659_);
v_a_4673_ = lean_ctor_get(v___x_4670_, 0);
v_isSharedCheck_4680_ = !lean_is_exclusive(v___x_4670_);
if (v_isSharedCheck_4680_ == 0)
{
v___x_4675_ = v___x_4670_;
v_isShared_4676_ = v_isSharedCheck_4680_;
goto v_resetjp_4674_;
}
else
{
lean_inc(v_a_4673_);
lean_dec(v___x_4670_);
v___x_4675_ = lean_box(0);
v_isShared_4676_ = v_isSharedCheck_4680_;
goto v_resetjp_4674_;
}
v_resetjp_4674_:
{
lean_object* v___x_4678_; 
if (v_isShared_4676_ == 0)
{
v___x_4678_ = v___x_4675_;
goto v_reusejp_4677_;
}
else
{
lean_object* v_reuseFailAlloc_4679_; 
v_reuseFailAlloc_4679_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4679_, 0, v_a_4673_);
v___x_4678_ = v_reuseFailAlloc_4679_;
goto v_reusejp_4677_;
}
v_reusejp_4677_:
{
return v___x_4678_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9___boxed(lean_object* v_i_4681_, lean_object* v_as_4682_, lean_object* v___y_4683_, lean_object* v___y_4684_, lean_object* v___y_4685_, lean_object* v___y_4686_, lean_object* v___y_4687_, lean_object* v___y_4688_, lean_object* v___y_4689_, lean_object* v___y_4690_){
_start:
{
lean_object* v_res_4691_; 
v_res_4691_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointContextExtender_extend_go_spec__9(v_i_4681_, v_as_4682_, v___y_4683_, v___y_4684_, v___y_4685_, v___y_4686_, v___y_4687_, v___y_4688_, v___y_4689_);
return v_res_4691_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg(lean_object* v_f_4692_, lean_object* v_v_4693_, lean_object* v___y_4694_, lean_object* v___y_4695_, lean_object* v___y_4696_, lean_object* v___y_4697_, lean_object* v___y_4698_, lean_object* v___y_4699_, lean_object* v___y_4700_){
_start:
{
if (lean_obj_tag(v_v_4693_) == 0)
{
lean_object* v_code_4702_; lean_object* v___x_4704_; uint8_t v_isShared_4705_; uint8_t v_isSharedCheck_4726_; 
v_code_4702_ = lean_ctor_get(v_v_4693_, 0);
v_isSharedCheck_4726_ = !lean_is_exclusive(v_v_4693_);
if (v_isSharedCheck_4726_ == 0)
{
v___x_4704_ = v_v_4693_;
v_isShared_4705_ = v_isSharedCheck_4726_;
goto v_resetjp_4703_;
}
else
{
lean_inc(v_code_4702_);
lean_dec(v_v_4693_);
v___x_4704_ = lean_box(0);
v_isShared_4705_ = v_isSharedCheck_4726_;
goto v_resetjp_4703_;
}
v_resetjp_4703_:
{
lean_object* v___x_4706_; 
v___x_4706_ = lean_apply_9(v_f_4692_, v_code_4702_, v___y_4694_, v___y_4695_, v___y_4696_, v___y_4697_, v___y_4698_, v___y_4699_, v___y_4700_, lean_box(0));
if (lean_obj_tag(v___x_4706_) == 0)
{
lean_object* v_a_4707_; lean_object* v___x_4709_; uint8_t v_isShared_4710_; uint8_t v_isSharedCheck_4717_; 
v_a_4707_ = lean_ctor_get(v___x_4706_, 0);
v_isSharedCheck_4717_ = !lean_is_exclusive(v___x_4706_);
if (v_isSharedCheck_4717_ == 0)
{
v___x_4709_ = v___x_4706_;
v_isShared_4710_ = v_isSharedCheck_4717_;
goto v_resetjp_4708_;
}
else
{
lean_inc(v_a_4707_);
lean_dec(v___x_4706_);
v___x_4709_ = lean_box(0);
v_isShared_4710_ = v_isSharedCheck_4717_;
goto v_resetjp_4708_;
}
v_resetjp_4708_:
{
lean_object* v___x_4712_; 
if (v_isShared_4705_ == 0)
{
lean_ctor_set(v___x_4704_, 0, v_a_4707_);
v___x_4712_ = v___x_4704_;
goto v_reusejp_4711_;
}
else
{
lean_object* v_reuseFailAlloc_4716_; 
v_reuseFailAlloc_4716_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4716_, 0, v_a_4707_);
v___x_4712_ = v_reuseFailAlloc_4716_;
goto v_reusejp_4711_;
}
v_reusejp_4711_:
{
lean_object* v___x_4714_; 
if (v_isShared_4710_ == 0)
{
lean_ctor_set(v___x_4709_, 0, v___x_4712_);
v___x_4714_ = v___x_4709_;
goto v_reusejp_4713_;
}
else
{
lean_object* v_reuseFailAlloc_4715_; 
v_reuseFailAlloc_4715_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4715_, 0, v___x_4712_);
v___x_4714_ = v_reuseFailAlloc_4715_;
goto v_reusejp_4713_;
}
v_reusejp_4713_:
{
return v___x_4714_;
}
}
}
}
else
{
lean_object* v_a_4718_; lean_object* v___x_4720_; uint8_t v_isShared_4721_; uint8_t v_isSharedCheck_4725_; 
lean_del_object(v___x_4704_);
v_a_4718_ = lean_ctor_get(v___x_4706_, 0);
v_isSharedCheck_4725_ = !lean_is_exclusive(v___x_4706_);
if (v_isSharedCheck_4725_ == 0)
{
v___x_4720_ = v___x_4706_;
v_isShared_4721_ = v_isSharedCheck_4725_;
goto v_resetjp_4719_;
}
else
{
lean_inc(v_a_4718_);
lean_dec(v___x_4706_);
v___x_4720_ = lean_box(0);
v_isShared_4721_ = v_isSharedCheck_4725_;
goto v_resetjp_4719_;
}
v_resetjp_4719_:
{
lean_object* v___x_4723_; 
if (v_isShared_4721_ == 0)
{
v___x_4723_ = v___x_4720_;
goto v_reusejp_4722_;
}
else
{
lean_object* v_reuseFailAlloc_4724_; 
v_reuseFailAlloc_4724_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4724_, 0, v_a_4718_);
v___x_4723_ = v_reuseFailAlloc_4724_;
goto v_reusejp_4722_;
}
v_reusejp_4722_:
{
return v___x_4723_;
}
}
}
}
}
else
{
lean_object* v___x_4727_; 
lean_dec(v___y_4700_);
lean_dec_ref(v___y_4699_);
lean_dec(v___y_4698_);
lean_dec_ref(v___y_4697_);
lean_dec(v___y_4696_);
lean_dec(v___y_4695_);
lean_dec_ref(v___y_4694_);
lean_dec_ref(v_f_4692_);
v___x_4727_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4727_, 0, v_v_4693_);
return v___x_4727_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg___boxed(lean_object* v_f_4728_, lean_object* v_v_4729_, lean_object* v___y_4730_, lean_object* v___y_4731_, lean_object* v___y_4732_, lean_object* v___y_4733_, lean_object* v___y_4734_, lean_object* v___y_4735_, lean_object* v___y_4736_, lean_object* v___y_4737_){
_start:
{
lean_object* v_res_4738_; 
v_res_4738_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg(v_f_4728_, v_v_4729_, v___y_4730_, v___y_4731_, v___y_4732_, v___y_4733_, v___y_4734_, v___y_4735_, v___y_4736_);
return v_res_4738_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0(uint8_t v_pu_4739_, lean_object* v_f_4740_, lean_object* v_v_4741_, lean_object* v___y_4742_, lean_object* v___y_4743_, lean_object* v___y_4744_, lean_object* v___y_4745_, lean_object* v___y_4746_, lean_object* v___y_4747_, lean_object* v___y_4748_){
_start:
{
lean_object* v___x_4750_; 
v___x_4750_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg(v_f_4740_, v_v_4741_, v___y_4742_, v___y_4743_, v___y_4744_, v___y_4745_, v___y_4746_, v___y_4747_, v___y_4748_);
return v___x_4750_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___boxed(lean_object* v_pu_4751_, lean_object* v_f_4752_, lean_object* v_v_4753_, lean_object* v___y_4754_, lean_object* v___y_4755_, lean_object* v___y_4756_, lean_object* v___y_4757_, lean_object* v___y_4758_, lean_object* v___y_4759_, lean_object* v___y_4760_, lean_object* v___y_4761_){
_start:
{
uint8_t v_pu_boxed_4762_; lean_object* v_res_4763_; 
v_pu_boxed_4762_ = lean_unbox(v_pu_4751_);
v_res_4763_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0(v_pu_boxed_4762_, v_f_4752_, v_v_4753_, v___y_4754_, v___y_4755_, v___y_4756_, v___y_4757_, v___y_4758_, v___y_4759_, v___y_4760_);
return v_res_4763_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extend(lean_object* v_decl_4765_, lean_object* v_a_4766_, lean_object* v_a_4767_, lean_object* v_a_4768_, lean_object* v_a_4769_){
_start:
{
lean_object* v___x_4771_; lean_object* v___x_4772_; lean_object* v___x_4773_; lean_object* v___x_4774_; lean_object* v___x_4775_; lean_object* v_toSignature_4776_; lean_object* v_value_4777_; uint8_t v_recursive_4778_; lean_object* v_inlineAttr_x3f_4779_; lean_object* v___x_4781_; uint8_t v_isShared_4782_; uint8_t v_isSharedCheck_4800_; 
v___x_4771_ = lean_box(1);
v___x_4772_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointContextExtender_withNewFunScope___redArg___closed__0));
v___x_4773_ = lean_st_mk_ref(v___x_4771_);
v___x_4774_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_4775_ = lean_st_mk_ref(v___x_4774_);
v_toSignature_4776_ = lean_ctor_get(v_decl_4765_, 0);
v_value_4777_ = lean_ctor_get(v_decl_4765_, 1);
v_recursive_4778_ = lean_ctor_get_uint8(v_decl_4765_, sizeof(void*)*3);
v_inlineAttr_x3f_4779_ = lean_ctor_get(v_decl_4765_, 2);
v_isSharedCheck_4800_ = !lean_is_exclusive(v_decl_4765_);
if (v_isSharedCheck_4800_ == 0)
{
v___x_4781_ = v_decl_4765_;
v_isShared_4782_ = v_isSharedCheck_4800_;
goto v_resetjp_4780_;
}
else
{
lean_inc(v_inlineAttr_x3f_4779_);
lean_inc(v_value_4777_);
lean_inc(v_toSignature_4776_);
lean_dec(v_decl_4765_);
v___x_4781_ = lean_box(0);
v_isShared_4782_ = v_isSharedCheck_4800_;
goto v_resetjp_4780_;
}
v_resetjp_4780_:
{
lean_object* v___x_4783_; lean_object* v___x_4784_; 
v___x_4783_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___closed__0));
lean_inc(v_a_4769_);
lean_inc_ref(v_a_4768_);
lean_inc(v_a_4767_);
lean_inc_ref(v_a_4766_);
lean_inc(v___x_4773_);
lean_inc(v___x_4775_);
v___x_4784_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointContextExtender_extend_spec__0___redArg(v___x_4783_, v_value_4777_, v___x_4772_, v___x_4775_, v___x_4773_, v_a_4766_, v_a_4767_, v_a_4768_, v_a_4769_);
if (lean_obj_tag(v___x_4784_) == 0)
{
lean_object* v_a_4785_; lean_object* v___x_4786_; lean_object* v___x_4787_; lean_object* v___x_4789_; 
v_a_4785_ = lean_ctor_get(v___x_4784_, 0);
lean_inc(v_a_4785_);
lean_dec_ref(v___x_4784_);
v___x_4786_ = lean_st_ref_get(v___x_4775_);
lean_dec(v___x_4775_);
lean_dec(v___x_4786_);
v___x_4787_ = lean_st_ref_get(v___x_4773_);
lean_dec(v___x_4773_);
lean_dec(v___x_4787_);
if (v_isShared_4782_ == 0)
{
lean_ctor_set(v___x_4781_, 1, v_a_4785_);
v___x_4789_ = v___x_4781_;
goto v_reusejp_4788_;
}
else
{
lean_object* v_reuseFailAlloc_4791_; 
v_reuseFailAlloc_4791_ = lean_alloc_ctor(0, 3, 1);
lean_ctor_set(v_reuseFailAlloc_4791_, 0, v_toSignature_4776_);
lean_ctor_set(v_reuseFailAlloc_4791_, 1, v_a_4785_);
lean_ctor_set(v_reuseFailAlloc_4791_, 2, v_inlineAttr_x3f_4779_);
lean_ctor_set_uint8(v_reuseFailAlloc_4791_, sizeof(void*)*3, v_recursive_4778_);
v___x_4789_ = v_reuseFailAlloc_4791_;
goto v_reusejp_4788_;
}
v_reusejp_4788_:
{
lean_object* v___x_4790_; 
v___x_4790_ = l_Lean_Compiler_LCNF_Decl_pullFunDecls(v___x_4789_, v_a_4766_, v_a_4767_, v_a_4768_, v_a_4769_);
return v___x_4790_;
}
}
else
{
lean_object* v_a_4792_; lean_object* v___x_4794_; uint8_t v_isShared_4795_; uint8_t v_isSharedCheck_4799_; 
lean_del_object(v___x_4781_);
lean_dec(v_inlineAttr_x3f_4779_);
lean_dec_ref(v_toSignature_4776_);
lean_dec(v___x_4775_);
lean_dec(v___x_4773_);
lean_dec(v_a_4769_);
lean_dec_ref(v_a_4768_);
lean_dec(v_a_4767_);
lean_dec_ref(v_a_4766_);
v_a_4792_ = lean_ctor_get(v___x_4784_, 0);
v_isSharedCheck_4799_ = !lean_is_exclusive(v___x_4784_);
if (v_isSharedCheck_4799_ == 0)
{
v___x_4794_ = v___x_4784_;
v_isShared_4795_ = v_isSharedCheck_4799_;
goto v_resetjp_4793_;
}
else
{
lean_inc(v_a_4792_);
lean_dec(v___x_4784_);
v___x_4794_ = lean_box(0);
v_isShared_4795_ = v_isSharedCheck_4799_;
goto v_resetjp_4793_;
}
v_resetjp_4793_:
{
lean_object* v___x_4797_; 
if (v_isShared_4795_ == 0)
{
v___x_4797_ = v___x_4794_;
goto v_reusejp_4796_;
}
else
{
lean_object* v_reuseFailAlloc_4798_; 
v_reuseFailAlloc_4798_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4798_, 0, v_a_4792_);
v___x_4797_ = v_reuseFailAlloc_4798_;
goto v_reusejp_4796_;
}
v_reusejp_4796_:
{
return v___x_4797_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointContextExtender_extend___boxed(lean_object* v_decl_4801_, lean_object* v_a_4802_, lean_object* v_a_4803_, lean_object* v_a_4804_, lean_object* v_a_4805_, lean_object* v_a_4806_){
_start:
{
lean_object* v_res_4807_; 
v_res_4807_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extend(v_decl_4801_, v_a_4802_, v_a_4803_, v_a_4804_, v_a_4805_);
return v_res_4807_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg(lean_object* v_jp_4808_, lean_object* v_var_4809_, lean_object* v_a_4810_){
_start:
{
lean_object* v___x_4812_; lean_object* v___x_4813_; uint8_t v___x_4814_; lean_object* v___x_4815_; lean_object* v___x_4816_; 
v___x_4812_ = lean_box(1);
v___x_4813_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(v___x_4812_, v_a_4810_, v_jp_4808_);
v___x_4814_ = l_Std_DTreeMap_Internal_Impl_contains___at___00Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar_spec__0___redArg(v_var_4809_, v___x_4813_);
lean_dec(v___x_4813_);
v___x_4815_ = lean_box(v___x_4814_);
v___x_4816_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4816_, 0, v___x_4815_);
return v___x_4816_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg___boxed(lean_object* v_jp_4817_, lean_object* v_var_4818_, lean_object* v_a_4819_, lean_object* v_a_4820_){
_start:
{
lean_object* v_res_4821_; 
v_res_4821_ = l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg(v_jp_4817_, v_var_4818_, v_a_4819_);
lean_dec(v_a_4819_);
lean_dec(v_var_4818_);
lean_dec(v_jp_4817_);
return v_res_4821_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope(lean_object* v_jp_4822_, lean_object* v_var_4823_, lean_object* v_a_4824_, lean_object* v_a_4825_, lean_object* v_a_4826_, lean_object* v_a_4827_, lean_object* v_a_4828_, lean_object* v_a_4829_, lean_object* v_a_4830_){
_start:
{
lean_object* v___x_4832_; 
v___x_4832_ = l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___redArg(v_jp_4822_, v_var_4823_, v_a_4824_);
return v___x_4832_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___boxed(lean_object* v_jp_4833_, lean_object* v_var_4834_, lean_object* v_a_4835_, lean_object* v_a_4836_, lean_object* v_a_4837_, lean_object* v_a_4838_, lean_object* v_a_4839_, lean_object* v_a_4840_, lean_object* v_a_4841_, lean_object* v_a_4842_){
_start:
{
lean_object* v_res_4843_; 
v_res_4843_ = l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope(v_jp_4833_, v_var_4834_, v_a_4835_, v_a_4836_, v_a_4837_, v_a_4838_, v_a_4839_, v_a_4840_, v_a_4841_);
lean_dec(v_a_4841_);
lean_dec_ref(v_a_4840_);
lean_dec(v_a_4839_);
lean_dec_ref(v_a_4838_);
lean_dec(v_a_4837_);
lean_dec(v_a_4836_);
lean_dec(v_a_4835_);
lean_dec(v_var_4834_);
lean_dec(v_jp_4833_);
return v_res_4843_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(lean_object* v_as_4844_, size_t v_i_4845_, size_t v_stop_4846_, lean_object* v_b_4847_, lean_object* v___y_4848_){
_start:
{
uint8_t v___x_4850_; 
v___x_4850_ = lean_usize_dec_eq(v_i_4845_, v_stop_4846_);
if (v___x_4850_ == 0)
{
lean_object* v___x_4851_; lean_object* v_fvarId_4852_; lean_object* v___x_4853_; 
v___x_4851_ = lean_array_uget_borrowed(v_as_4844_, v_i_4845_);
v_fvarId_4852_ = lean_ctor_get(v___x_4851_, 0);
lean_inc(v_fvarId_4852_);
v___x_4853_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v_fvarId_4852_, v___y_4848_);
if (lean_obj_tag(v___x_4853_) == 0)
{
lean_object* v_a_4854_; size_t v___x_4855_; size_t v___x_4856_; 
v_a_4854_ = lean_ctor_get(v___x_4853_, 0);
lean_inc(v_a_4854_);
lean_dec_ref(v___x_4853_);
v___x_4855_ = ((size_t)1ULL);
v___x_4856_ = lean_usize_add(v_i_4845_, v___x_4855_);
v_i_4845_ = v___x_4856_;
v_b_4847_ = v_a_4854_;
goto _start;
}
else
{
return v___x_4853_;
}
}
else
{
lean_object* v___x_4858_; 
v___x_4858_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4858_, 0, v_b_4847_);
return v___x_4858_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg___boxed(lean_object* v_as_4859_, lean_object* v_i_4860_, lean_object* v_stop_4861_, lean_object* v_b_4862_, lean_object* v___y_4863_, lean_object* v___y_4864_){
_start:
{
size_t v_i_boxed_4865_; size_t v_stop_boxed_4866_; lean_object* v_res_4867_; 
v_i_boxed_4865_ = lean_unbox_usize(v_i_4860_);
lean_dec(v_i_4860_);
v_stop_boxed_4866_ = lean_unbox_usize(v_stop_4861_);
lean_dec(v_stop_4861_);
v_res_4867_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v_as_4859_, v_i_boxed_4865_, v_stop_boxed_4866_, v_b_4862_, v___y_4863_);
lean_dec(v___y_4863_);
lean_dec_ref(v_as_4859_);
return v_res_4867_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(lean_object* v_t_4868_, lean_object* v_k_4869_){
_start:
{
if (lean_obj_tag(v_t_4868_) == 0)
{
lean_object* v_k_4870_; lean_object* v_v_4871_; lean_object* v_l_4872_; lean_object* v_r_4873_; uint8_t v___x_4874_; 
v_k_4870_ = lean_ctor_get(v_t_4868_, 1);
v_v_4871_ = lean_ctor_get(v_t_4868_, 2);
v_l_4872_ = lean_ctor_get(v_t_4868_, 3);
v_r_4873_ = lean_ctor_get(v_t_4868_, 4);
v___x_4874_ = l___private_Lean_Data_Name_0__Lean_Name_quickCmpImpl(v_k_4869_, v_k_4870_);
switch(v___x_4874_)
{
case 0:
{
v_t_4868_ = v_l_4872_;
goto _start;
}
case 1:
{
lean_object* v___x_4876_; 
lean_inc(v_v_4871_);
v___x_4876_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_4876_, 0, v_v_4871_);
return v___x_4876_;
}
default: 
{
v_t_4868_ = v_r_4873_;
goto _start;
}
}
}
else
{
lean_object* v___x_4878_; 
v___x_4878_ = lean_box(0);
return v___x_4878_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg___boxed(lean_object* v_t_4879_, lean_object* v_k_4880_){
_start:
{
lean_object* v_res_4881_; 
v_res_4881_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(v_t_4879_, v_k_4880_);
lean_dec(v_k_4880_);
lean_dec(v_t_4879_);
return v_res_4881_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(lean_object* v_msg_4882_, lean_object* v___y_4883_, lean_object* v___y_4884_, lean_object* v___y_4885_, lean_object* v___y_4886_, lean_object* v___y_4887_, lean_object* v___y_4888_, lean_object* v___y_4889_){
_start:
{
lean_object* v___x_4891_; lean_object* v___x_4892_; lean_object* v_toApplicative_4893_; lean_object* v___x_4895_; uint8_t v_isShared_4896_; uint8_t v_isSharedCheck_4967_; 
v___x_4891_ = lean_obj_once(&l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0, &l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0_once, _init_l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__0);
v___x_4892_ = l_ReaderT_instMonad___redArg(v___x_4891_);
v_toApplicative_4893_ = lean_ctor_get(v___x_4892_, 0);
v_isSharedCheck_4967_ = !lean_is_exclusive(v___x_4892_);
if (v_isSharedCheck_4967_ == 0)
{
lean_object* v_unused_4968_; 
v_unused_4968_ = lean_ctor_get(v___x_4892_, 1);
lean_dec(v_unused_4968_);
v___x_4895_ = v___x_4892_;
v_isShared_4896_ = v_isSharedCheck_4967_;
goto v_resetjp_4894_;
}
else
{
lean_inc(v_toApplicative_4893_);
lean_dec(v___x_4892_);
v___x_4895_ = lean_box(0);
v_isShared_4896_ = v_isSharedCheck_4967_;
goto v_resetjp_4894_;
}
v_resetjp_4894_:
{
lean_object* v_toFunctor_4897_; lean_object* v_toSeq_4898_; lean_object* v_toSeqLeft_4899_; lean_object* v_toSeqRight_4900_; lean_object* v___x_4902_; uint8_t v_isShared_4903_; uint8_t v_isSharedCheck_4965_; 
v_toFunctor_4897_ = lean_ctor_get(v_toApplicative_4893_, 0);
v_toSeq_4898_ = lean_ctor_get(v_toApplicative_4893_, 2);
v_toSeqLeft_4899_ = lean_ctor_get(v_toApplicative_4893_, 3);
v_toSeqRight_4900_ = lean_ctor_get(v_toApplicative_4893_, 4);
v_isSharedCheck_4965_ = !lean_is_exclusive(v_toApplicative_4893_);
if (v_isSharedCheck_4965_ == 0)
{
lean_object* v_unused_4966_; 
v_unused_4966_ = lean_ctor_get(v_toApplicative_4893_, 1);
lean_dec(v_unused_4966_);
v___x_4902_ = v_toApplicative_4893_;
v_isShared_4903_ = v_isSharedCheck_4965_;
goto v_resetjp_4901_;
}
else
{
lean_inc(v_toSeqRight_4900_);
lean_inc(v_toSeqLeft_4899_);
lean_inc(v_toSeq_4898_);
lean_inc(v_toFunctor_4897_);
lean_dec(v_toApplicative_4893_);
v___x_4902_ = lean_box(0);
v_isShared_4903_ = v_isSharedCheck_4965_;
goto v_resetjp_4901_;
}
v_resetjp_4901_:
{
lean_object* v___f_4904_; lean_object* v___f_4905_; lean_object* v___f_4906_; lean_object* v___f_4907_; lean_object* v___x_4908_; lean_object* v___f_4909_; lean_object* v___f_4910_; lean_object* v___f_4911_; lean_object* v___x_4913_; 
v___f_4904_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__1));
v___f_4905_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__2));
lean_inc_ref(v_toFunctor_4897_);
v___f_4906_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_4906_, 0, v_toFunctor_4897_);
v___f_4907_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4907_, 0, v_toFunctor_4897_);
v___x_4908_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4908_, 0, v___f_4906_);
lean_ctor_set(v___x_4908_, 1, v___f_4907_);
v___f_4909_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4909_, 0, v_toSeqRight_4900_);
v___f_4910_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_4910_, 0, v_toSeqLeft_4899_);
v___f_4911_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_4911_, 0, v_toSeq_4898_);
if (v_isShared_4903_ == 0)
{
lean_ctor_set(v___x_4902_, 4, v___f_4909_);
lean_ctor_set(v___x_4902_, 3, v___f_4910_);
lean_ctor_set(v___x_4902_, 2, v___f_4911_);
lean_ctor_set(v___x_4902_, 1, v___f_4904_);
lean_ctor_set(v___x_4902_, 0, v___x_4908_);
v___x_4913_ = v___x_4902_;
goto v_reusejp_4912_;
}
else
{
lean_object* v_reuseFailAlloc_4964_; 
v_reuseFailAlloc_4964_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4964_, 0, v___x_4908_);
lean_ctor_set(v_reuseFailAlloc_4964_, 1, v___f_4904_);
lean_ctor_set(v_reuseFailAlloc_4964_, 2, v___f_4911_);
lean_ctor_set(v_reuseFailAlloc_4964_, 3, v___f_4910_);
lean_ctor_set(v_reuseFailAlloc_4964_, 4, v___f_4909_);
v___x_4913_ = v_reuseFailAlloc_4964_;
goto v_reusejp_4912_;
}
v_reusejp_4912_:
{
lean_object* v___x_4915_; 
if (v_isShared_4896_ == 0)
{
lean_ctor_set(v___x_4895_, 1, v___f_4905_);
lean_ctor_set(v___x_4895_, 0, v___x_4913_);
v___x_4915_ = v___x_4895_;
goto v_reusejp_4914_;
}
else
{
lean_object* v_reuseFailAlloc_4963_; 
v_reuseFailAlloc_4963_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4963_, 0, v___x_4913_);
lean_ctor_set(v_reuseFailAlloc_4963_, 1, v___f_4905_);
v___x_4915_ = v_reuseFailAlloc_4963_;
goto v_reusejp_4914_;
}
v_reusejp_4914_:
{
lean_object* v___x_4916_; lean_object* v_toApplicative_4917_; lean_object* v___x_4919_; uint8_t v_isShared_4920_; uint8_t v_isSharedCheck_4961_; 
v___x_4916_ = l_ReaderT_instMonad___redArg(v___x_4915_);
v_toApplicative_4917_ = lean_ctor_get(v___x_4916_, 0);
v_isSharedCheck_4961_ = !lean_is_exclusive(v___x_4916_);
if (v_isSharedCheck_4961_ == 0)
{
lean_object* v_unused_4962_; 
v_unused_4962_ = lean_ctor_get(v___x_4916_, 1);
lean_dec(v_unused_4962_);
v___x_4919_ = v___x_4916_;
v_isShared_4920_ = v_isSharedCheck_4961_;
goto v_resetjp_4918_;
}
else
{
lean_inc(v_toApplicative_4917_);
lean_dec(v___x_4916_);
v___x_4919_ = lean_box(0);
v_isShared_4920_ = v_isSharedCheck_4961_;
goto v_resetjp_4918_;
}
v_resetjp_4918_:
{
lean_object* v_toFunctor_4921_; lean_object* v_toSeq_4922_; lean_object* v_toSeqLeft_4923_; lean_object* v_toSeqRight_4924_; lean_object* v___x_4926_; uint8_t v_isShared_4927_; uint8_t v_isSharedCheck_4959_; 
v_toFunctor_4921_ = lean_ctor_get(v_toApplicative_4917_, 0);
v_toSeq_4922_ = lean_ctor_get(v_toApplicative_4917_, 2);
v_toSeqLeft_4923_ = lean_ctor_get(v_toApplicative_4917_, 3);
v_toSeqRight_4924_ = lean_ctor_get(v_toApplicative_4917_, 4);
v_isSharedCheck_4959_ = !lean_is_exclusive(v_toApplicative_4917_);
if (v_isSharedCheck_4959_ == 0)
{
lean_object* v_unused_4960_; 
v_unused_4960_ = lean_ctor_get(v_toApplicative_4917_, 1);
lean_dec(v_unused_4960_);
v___x_4926_ = v_toApplicative_4917_;
v_isShared_4927_ = v_isSharedCheck_4959_;
goto v_resetjp_4925_;
}
else
{
lean_inc(v_toSeqRight_4924_);
lean_inc(v_toSeqLeft_4923_);
lean_inc(v_toSeq_4922_);
lean_inc(v_toFunctor_4921_);
lean_dec(v_toApplicative_4917_);
v___x_4926_ = lean_box(0);
v_isShared_4927_ = v_isSharedCheck_4959_;
goto v_resetjp_4925_;
}
v_resetjp_4925_:
{
lean_object* v___f_4928_; lean_object* v___f_4929_; lean_object* v___f_4930_; lean_object* v___f_4931_; lean_object* v___x_4932_; lean_object* v___f_4933_; lean_object* v___f_4934_; lean_object* v___f_4935_; lean_object* v___x_4937_; 
v___f_4928_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__3));
v___f_4929_ = ((lean_object*)(l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0_spec__1___closed__4));
lean_inc_ref(v_toFunctor_4921_);
v___f_4930_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_4930_, 0, v_toFunctor_4921_);
v___f_4931_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4931_, 0, v_toFunctor_4921_);
v___x_4932_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4932_, 0, v___f_4930_);
lean_ctor_set(v___x_4932_, 1, v___f_4931_);
v___f_4933_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4933_, 0, v_toSeqRight_4924_);
v___f_4934_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_4934_, 0, v_toSeqLeft_4923_);
v___f_4935_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_4935_, 0, v_toSeq_4922_);
if (v_isShared_4927_ == 0)
{
lean_ctor_set(v___x_4926_, 4, v___f_4933_);
lean_ctor_set(v___x_4926_, 3, v___f_4934_);
lean_ctor_set(v___x_4926_, 2, v___f_4935_);
lean_ctor_set(v___x_4926_, 1, v___f_4928_);
lean_ctor_set(v___x_4926_, 0, v___x_4932_);
v___x_4937_ = v___x_4926_;
goto v_reusejp_4936_;
}
else
{
lean_object* v_reuseFailAlloc_4958_; 
v_reuseFailAlloc_4958_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4958_, 0, v___x_4932_);
lean_ctor_set(v_reuseFailAlloc_4958_, 1, v___f_4928_);
lean_ctor_set(v_reuseFailAlloc_4958_, 2, v___f_4935_);
lean_ctor_set(v_reuseFailAlloc_4958_, 3, v___f_4934_);
lean_ctor_set(v_reuseFailAlloc_4958_, 4, v___f_4933_);
v___x_4937_ = v_reuseFailAlloc_4958_;
goto v_reusejp_4936_;
}
v_reusejp_4936_:
{
lean_object* v___x_4939_; 
if (v_isShared_4920_ == 0)
{
lean_ctor_set(v___x_4919_, 1, v___f_4929_);
lean_ctor_set(v___x_4919_, 0, v___x_4937_);
v___x_4939_ = v___x_4919_;
goto v_reusejp_4938_;
}
else
{
lean_object* v_reuseFailAlloc_4957_; 
v_reuseFailAlloc_4957_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4957_, 0, v___x_4937_);
lean_ctor_set(v_reuseFailAlloc_4957_, 1, v___f_4929_);
v___x_4939_ = v_reuseFailAlloc_4957_;
goto v_reusejp_4938_;
}
v_reusejp_4938_:
{
lean_object* v___x_4940_; lean_object* v___x_4941_; lean_object* v___x_4942_; lean_object* v___f_4943_; lean_object* v___f_4944_; lean_object* v___f_4945_; lean_object* v___f_4946_; lean_object* v___f_4947_; lean_object* v___x_4948_; lean_object* v___x_4949_; lean_object* v___x_4950_; lean_object* v___x_4951_; lean_object* v___x_4952_; lean_object* v___x_4953_; lean_object* v___x_4954_; lean_object* v___x_24549__overap_4955_; lean_object* v___x_4956_; 
v___x_4940_ = l_ReaderT_instMonad___redArg(v___x_4939_);
v___x_4941_ = l_ReaderT_instMonad___redArg(v___x_4940_);
v___x_4942_ = l_ReaderT_instMonad___redArg(v___x_4941_);
lean_inc_ref(v___x_4942_);
v___f_4943_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__1), 5, 1);
lean_closure_set(v___f_4943_, 0, v___x_4942_);
lean_inc_ref(v___x_4942_);
v___f_4944_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__3), 5, 1);
lean_closure_set(v___f_4944_, 0, v___x_4942_);
lean_inc_ref(v___x_4942_);
v___f_4945_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__6), 5, 1);
lean_closure_set(v___f_4945_, 0, v___x_4942_);
lean_inc_ref(v___x_4942_);
v___f_4946_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__9), 5, 1);
lean_closure_set(v___f_4946_, 0, v___x_4942_);
lean_inc_ref(v___x_4942_);
v___f_4947_ = lean_alloc_closure((void*)(l_OptionT_instMonad___redArg___lam__11), 5, 1);
lean_closure_set(v___f_4947_, 0, v___x_4942_);
v___x_4948_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4948_, 0, v___f_4943_);
lean_ctor_set(v___x_4948_, 1, v___f_4944_);
lean_inc_ref(v___x_4942_);
v___x_4949_ = lean_alloc_closure((void*)(l_OptionT_pure), 4, 2);
lean_closure_set(v___x_4949_, 0, lean_box(0));
lean_closure_set(v___x_4949_, 1, v___x_4942_);
v___x_4950_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v___x_4950_, 0, v___x_4948_);
lean_ctor_set(v___x_4950_, 1, v___x_4949_);
lean_ctor_set(v___x_4950_, 2, v___f_4945_);
lean_ctor_set(v___x_4950_, 3, v___f_4946_);
lean_ctor_set(v___x_4950_, 4, v___f_4947_);
v___x_4951_ = lean_alloc_closure((void*)(l_OptionT_bind), 6, 2);
lean_closure_set(v___x_4951_, 0, lean_box(0));
lean_closure_set(v___x_4951_, 1, v___x_4942_);
v___x_4952_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4952_, 0, v___x_4950_);
lean_ctor_set(v___x_4952_, 1, v___x_4951_);
v___x_4953_ = lean_box(0);
v___x_4954_ = l_instInhabitedOfMonad___redArg(v___x_4952_, v___x_4953_);
v___x_24549__overap_4955_ = lean_panic_fn(v___x_4954_, v_msg_4882_);
v___x_4956_ = lean_apply_8(v___x_24549__overap_4955_, v___y_4883_, v___y_4884_, v___y_4885_, v___y_4886_, v___y_4887_, v___y_4888_, v___y_4889_, lean_box(0));
return v___x_4956_;
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11___boxed(lean_object* v_msg_4969_, lean_object* v___y_4970_, lean_object* v___y_4971_, lean_object* v___y_4972_, lean_object* v___y_4973_, lean_object* v___y_4974_, lean_object* v___y_4975_, lean_object* v___y_4976_, lean_object* v___y_4977_){
_start:
{
lean_object* v_res_4978_; 
v_res_4978_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(v_msg_4969_, v___y_4970_, v___y_4971_, v___y_4972_, v___y_4973_, v___y_4974_, v___y_4975_, v___y_4976_);
return v_res_4978_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(lean_object* v_f_4981_, lean_object* v_e_4982_, lean_object* v___y_4983_, lean_object* v___y_4984_, lean_object* v___y_4985_, lean_object* v___y_4986_, lean_object* v___y_4987_, lean_object* v___y_4988_, lean_object* v___y_4989_){
_start:
{
lean_object* v_ty_4992_; lean_object* v_body_4993_; uint8_t v___x_4997_; 
v___x_4997_ = l_Lean_Expr_hasFVar(v_e_4982_);
if (v___x_4997_ == 0)
{
lean_object* v___x_4998_; lean_object* v___x_4999_; 
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_e_4982_);
lean_dec_ref(v_f_4981_);
v___x_4998_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0));
v___x_4999_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4999_, 0, v___x_4998_);
return v___x_4999_;
}
else
{
switch(lean_obj_tag(v_e_4982_))
{
case 1:
{
lean_object* v_fvarId_5000_; lean_object* v___x_5001_; 
v_fvarId_5000_ = lean_ctor_get(v_e_4982_, 0);
lean_inc(v_fvarId_5000_);
lean_dec_ref(v_e_4982_);
v___x_5001_ = lean_apply_9(v_f_4981_, v_fvarId_5000_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_, lean_box(0));
return v___x_5001_;
}
case 2:
{
lean_object* v___x_5002_; lean_object* v___x_5003_; 
lean_dec_ref(v_e_4982_);
lean_dec_ref(v_f_4981_);
v___x_5002_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_5003_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(v___x_5002_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_);
return v___x_5003_;
}
case 5:
{
lean_object* v_fn_5004_; lean_object* v_arg_5005_; lean_object* v___x_5006_; 
v_fn_5004_ = lean_ctor_get(v_e_4982_, 0);
lean_inc_ref(v_fn_5004_);
v_arg_5005_ = lean_ctor_get(v_e_4982_, 1);
lean_inc_ref(v_arg_5005_);
lean_dec_ref(v_e_4982_);
lean_inc(v___y_4989_);
lean_inc_ref(v___y_4988_);
lean_inc(v___y_4987_);
lean_inc_ref(v___y_4986_);
lean_inc(v___y_4985_);
lean_inc(v___y_4984_);
lean_inc(v___y_4983_);
lean_inc_ref(v_f_4981_);
v___x_5006_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(v_f_4981_, v_fn_5004_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_);
if (lean_obj_tag(v___x_5006_) == 0)
{
lean_object* v_a_5007_; 
v_a_5007_ = lean_ctor_get(v___x_5006_, 0);
lean_inc(v_a_5007_);
if (lean_obj_tag(v_a_5007_) == 0)
{
lean_dec_ref(v_arg_5005_);
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_f_4981_);
return v___x_5006_;
}
else
{
lean_dec_ref(v_a_5007_);
lean_dec_ref(v___x_5006_);
v_e_4982_ = v_arg_5005_;
goto _start;
}
}
else
{
lean_dec_ref(v_arg_5005_);
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_f_4981_);
return v___x_5006_;
}
}
case 6:
{
lean_object* v_binderType_5009_; lean_object* v_body_5010_; 
v_binderType_5009_ = lean_ctor_get(v_e_4982_, 1);
lean_inc_ref(v_binderType_5009_);
v_body_5010_ = lean_ctor_get(v_e_4982_, 2);
lean_inc_ref(v_body_5010_);
lean_dec_ref(v_e_4982_);
v_ty_4992_ = v_binderType_5009_;
v_body_4993_ = v_body_5010_;
goto v___jp_4991_;
}
case 7:
{
lean_object* v_binderType_5011_; lean_object* v_body_5012_; 
v_binderType_5011_ = lean_ctor_get(v_e_4982_, 1);
lean_inc_ref(v_binderType_5011_);
v_body_5012_ = lean_ctor_get(v_e_4982_, 2);
lean_inc_ref(v_body_5012_);
lean_dec_ref(v_e_4982_);
v_ty_4992_ = v_binderType_5011_;
v_body_4993_ = v_body_5012_;
goto v___jp_4991_;
}
case 8:
{
lean_object* v___x_5013_; lean_object* v___x_5014_; 
lean_dec_ref(v_e_4982_);
lean_dec_ref(v_f_4981_);
v___x_5013_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_5014_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(v___x_5013_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_);
return v___x_5014_;
}
case 11:
{
lean_object* v___x_5015_; lean_object* v___x_5016_; 
lean_dec_ref(v_e_4982_);
lean_dec_ref(v_f_4981_);
v___x_5015_ = lean_obj_once(&l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3, &l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3_once, _init_l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesInArg_spec__0_spec__0___closed__3);
v___x_5016_ = l_panic___at___00Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6_spec__11(v___x_5015_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_);
return v___x_5016_;
}
default: 
{
lean_object* v___x_5017_; lean_object* v___x_5018_; 
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_e_4982_);
lean_dec_ref(v_f_4981_);
v___x_5017_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0));
v___x_5018_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5018_, 0, v___x_5017_);
return v___x_5018_;
}
}
}
v___jp_4991_:
{
lean_object* v___x_4994_; 
lean_inc(v___y_4989_);
lean_inc_ref(v___y_4988_);
lean_inc(v___y_4987_);
lean_inc_ref(v___y_4986_);
lean_inc(v___y_4985_);
lean_inc(v___y_4984_);
lean_inc(v___y_4983_);
lean_inc_ref(v_f_4981_);
v___x_4994_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(v_f_4981_, v_ty_4992_, v___y_4983_, v___y_4984_, v___y_4985_, v___y_4986_, v___y_4987_, v___y_4988_, v___y_4989_);
if (lean_obj_tag(v___x_4994_) == 0)
{
lean_object* v_a_4995_; 
v_a_4995_ = lean_ctor_get(v___x_4994_, 0);
lean_inc(v_a_4995_);
if (lean_obj_tag(v_a_4995_) == 0)
{
lean_dec_ref(v_body_4993_);
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_f_4981_);
return v___x_4994_;
}
else
{
lean_dec_ref(v_a_4995_);
lean_dec_ref(v___x_4994_);
v_e_4982_ = v_body_4993_;
goto _start;
}
}
else
{
lean_dec_ref(v_body_4993_);
lean_dec(v___y_4989_);
lean_dec_ref(v___y_4988_);
lean_dec(v___y_4987_);
lean_dec_ref(v___y_4986_);
lean_dec(v___y_4985_);
lean_dec(v___y_4984_);
lean_dec(v___y_4983_);
lean_dec_ref(v_f_4981_);
return v___x_4994_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___boxed(lean_object* v_f_5019_, lean_object* v_e_5020_, lean_object* v___y_5021_, lean_object* v___y_5022_, lean_object* v___y_5023_, lean_object* v___y_5024_, lean_object* v___y_5025_, lean_object* v___y_5026_, lean_object* v___y_5027_, lean_object* v___y_5028_){
_start:
{
lean_object* v_res_5029_; 
v_res_5029_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(v_f_5019_, v_e_5020_, v___y_5021_, v___y_5022_, v___y_5023_, v___y_5024_, v___y_5025_, v___y_5026_, v___y_5027_);
return v_res_5029_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg(lean_object* v_f_5030_, lean_object* v_arg_5031_, lean_object* v___y_5032_, lean_object* v___y_5033_, lean_object* v___y_5034_, lean_object* v___y_5035_, lean_object* v___y_5036_, lean_object* v___y_5037_, lean_object* v___y_5038_){
_start:
{
switch(lean_obj_tag(v_arg_5031_))
{
case 0:
{
lean_object* v___x_5040_; lean_object* v___x_5041_; 
lean_dec(v___y_5038_);
lean_dec_ref(v___y_5037_);
lean_dec(v___y_5036_);
lean_dec_ref(v___y_5035_);
lean_dec(v___y_5034_);
lean_dec(v___y_5033_);
lean_dec(v___y_5032_);
lean_dec_ref(v_f_5030_);
v___x_5040_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0));
v___x_5041_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5041_, 0, v___x_5040_);
return v___x_5041_;
}
case 1:
{
lean_object* v_fvarId_5042_; lean_object* v___x_5043_; 
v_fvarId_5042_ = lean_ctor_get(v_arg_5031_, 0);
lean_inc(v_fvarId_5042_);
lean_dec_ref(v_arg_5031_);
v___x_5043_ = lean_apply_9(v_f_5030_, v_fvarId_5042_, v___y_5032_, v___y_5033_, v___y_5034_, v___y_5035_, v___y_5036_, v___y_5037_, v___y_5038_, lean_box(0));
return v___x_5043_;
}
default: 
{
lean_object* v_expr_5044_; lean_object* v___x_5045_; 
v_expr_5044_ = lean_ctor_get(v_arg_5031_, 0);
lean_inc_ref(v_expr_5044_);
lean_dec_ref(v_arg_5031_);
v___x_5045_ = l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6(v_f_5030_, v_expr_5044_, v___y_5032_, v___y_5033_, v___y_5034_, v___y_5035_, v___y_5036_, v___y_5037_, v___y_5038_);
return v___x_5045_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg___boxed(lean_object* v_f_5046_, lean_object* v_arg_5047_, lean_object* v___y_5048_, lean_object* v___y_5049_, lean_object* v___y_5050_, lean_object* v___y_5051_, lean_object* v___y_5052_, lean_object* v___y_5053_, lean_object* v___y_5054_, lean_object* v___y_5055_){
_start:
{
lean_object* v_res_5056_; 
v_res_5056_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg(v_f_5046_, v_arg_5047_, v___y_5048_, v___y_5049_, v___y_5050_, v___y_5051_, v___y_5052_, v___y_5053_, v___y_5054_);
return v_res_5056_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4(lean_object* v_f_5057_, lean_object* v_fvar_5058_, lean_object* v___y_5059_, lean_object* v___y_5060_, lean_object* v___y_5061_, lean_object* v___y_5062_, lean_object* v___y_5063_, lean_object* v___y_5064_, lean_object* v___y_5065_){
_start:
{
lean_object* v___x_5067_; 
v___x_5067_ = lean_apply_9(v_f_5057_, v_fvar_5058_, v___y_5059_, v___y_5060_, v___y_5061_, v___y_5062_, v___y_5063_, v___y_5064_, v___y_5065_, lean_box(0));
if (lean_obj_tag(v___x_5067_) == 0)
{
lean_object* v_a_5068_; lean_object* v___x_5070_; uint8_t v_isShared_5071_; uint8_t v_isSharedCheck_5081_; 
v_a_5068_ = lean_ctor_get(v___x_5067_, 0);
v_isSharedCheck_5081_ = !lean_is_exclusive(v___x_5067_);
if (v_isSharedCheck_5081_ == 0)
{
v___x_5070_ = v___x_5067_;
v_isShared_5071_ = v_isSharedCheck_5081_;
goto v_resetjp_5069_;
}
else
{
lean_inc(v_a_5068_);
lean_dec(v___x_5067_);
v___x_5070_ = lean_box(0);
v_isShared_5071_ = v_isSharedCheck_5081_;
goto v_resetjp_5069_;
}
v_resetjp_5069_:
{
uint8_t v___x_5072_; 
v___x_5072_ = lean_unbox(v_a_5068_);
lean_dec(v_a_5068_);
if (v___x_5072_ == 0)
{
lean_object* v___x_5073_; lean_object* v___x_5075_; 
v___x_5073_ = lean_box(0);
if (v_isShared_5071_ == 0)
{
lean_ctor_set(v___x_5070_, 0, v___x_5073_);
v___x_5075_ = v___x_5070_;
goto v_reusejp_5074_;
}
else
{
lean_object* v_reuseFailAlloc_5076_; 
v_reuseFailAlloc_5076_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5076_, 0, v___x_5073_);
v___x_5075_ = v_reuseFailAlloc_5076_;
goto v_reusejp_5074_;
}
v_reusejp_5074_:
{
return v___x_5075_;
}
}
else
{
lean_object* v___x_5077_; lean_object* v___x_5079_; 
v___x_5077_ = ((lean_object*)(l_Lean_Compiler_LCNF_Expr_forFVarM___at___00Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5_spec__6___closed__0));
if (v_isShared_5071_ == 0)
{
lean_ctor_set(v___x_5070_, 0, v___x_5077_);
v___x_5079_ = v___x_5070_;
goto v_reusejp_5078_;
}
else
{
lean_object* v_reuseFailAlloc_5080_; 
v_reuseFailAlloc_5080_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5080_, 0, v___x_5077_);
v___x_5079_ = v_reuseFailAlloc_5080_;
goto v_reusejp_5078_;
}
v_reusejp_5078_:
{
return v___x_5079_;
}
}
}
}
else
{
lean_object* v_a_5082_; lean_object* v___x_5084_; uint8_t v_isShared_5085_; uint8_t v_isSharedCheck_5089_; 
v_a_5082_ = lean_ctor_get(v___x_5067_, 0);
v_isSharedCheck_5089_ = !lean_is_exclusive(v___x_5067_);
if (v_isSharedCheck_5089_ == 0)
{
v___x_5084_ = v___x_5067_;
v_isShared_5085_ = v_isSharedCheck_5089_;
goto v_resetjp_5083_;
}
else
{
lean_inc(v_a_5082_);
lean_dec(v___x_5067_);
v___x_5084_ = lean_box(0);
v_isShared_5085_ = v_isSharedCheck_5089_;
goto v_resetjp_5083_;
}
v_resetjp_5083_:
{
lean_object* v___x_5087_; 
if (v_isShared_5085_ == 0)
{
v___x_5087_ = v___x_5084_;
goto v_reusejp_5086_;
}
else
{
lean_object* v_reuseFailAlloc_5088_; 
v_reuseFailAlloc_5088_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5088_, 0, v_a_5082_);
v___x_5087_ = v_reuseFailAlloc_5088_;
goto v_reusejp_5086_;
}
v_reusejp_5086_:
{
return v___x_5087_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4___boxed(lean_object* v_f_5090_, lean_object* v_fvar_5091_, lean_object* v___y_5092_, lean_object* v___y_5093_, lean_object* v___y_5094_, lean_object* v___y_5095_, lean_object* v___y_5096_, lean_object* v___y_5097_, lean_object* v___y_5098_, lean_object* v___y_5099_){
_start:
{
lean_object* v_res_5100_; 
v_res_5100_ = l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4(v_f_5090_, v_fvar_5091_, v___y_5092_, v___y_5093_, v___y_5094_, v___y_5095_, v___y_5096_, v___y_5097_, v___y_5098_);
return v_res_5100_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3(lean_object* v_f_5101_, lean_object* v_x_5102_, lean_object* v___y_5103_, lean_object* v___y_5104_, lean_object* v___y_5105_, lean_object* v___y_5106_, lean_object* v___y_5107_, lean_object* v___y_5108_, lean_object* v___y_5109_){
_start:
{
lean_object* v___x_5111_; lean_object* v___x_5112_; 
v___x_5111_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_FVarUtil_0__Lean_Compiler_LCNF_allFVarM_go___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__4___boxed), 10, 1);
lean_closure_set(v___x_5111_, 0, v_f_5101_);
v___x_5112_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg(v___x_5111_, v_x_5102_, v___y_5103_, v___y_5104_, v___y_5105_, v___y_5106_, v___y_5107_, v___y_5108_, v___y_5109_);
if (lean_obj_tag(v___x_5112_) == 0)
{
lean_object* v_a_5113_; lean_object* v___x_5115_; uint8_t v_isShared_5116_; uint8_t v_isSharedCheck_5127_; 
v_a_5113_ = lean_ctor_get(v___x_5112_, 0);
v_isSharedCheck_5127_ = !lean_is_exclusive(v___x_5112_);
if (v_isSharedCheck_5127_ == 0)
{
v___x_5115_ = v___x_5112_;
v_isShared_5116_ = v_isSharedCheck_5127_;
goto v_resetjp_5114_;
}
else
{
lean_inc(v_a_5113_);
lean_dec(v___x_5112_);
v___x_5115_ = lean_box(0);
v_isShared_5116_ = v_isSharedCheck_5127_;
goto v_resetjp_5114_;
}
v_resetjp_5114_:
{
if (lean_obj_tag(v_a_5113_) == 1)
{
uint8_t v___x_5117_; lean_object* v___x_5118_; lean_object* v___x_5120_; 
lean_dec_ref(v_a_5113_);
v___x_5117_ = 1;
v___x_5118_ = lean_box(v___x_5117_);
if (v_isShared_5116_ == 0)
{
lean_ctor_set(v___x_5115_, 0, v___x_5118_);
v___x_5120_ = v___x_5115_;
goto v_reusejp_5119_;
}
else
{
lean_object* v_reuseFailAlloc_5121_; 
v_reuseFailAlloc_5121_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5121_, 0, v___x_5118_);
v___x_5120_ = v_reuseFailAlloc_5121_;
goto v_reusejp_5119_;
}
v_reusejp_5119_:
{
return v___x_5120_;
}
}
else
{
uint8_t v___x_5122_; lean_object* v___x_5123_; lean_object* v___x_5125_; 
lean_dec(v_a_5113_);
v___x_5122_ = 0;
v___x_5123_ = lean_box(v___x_5122_);
if (v_isShared_5116_ == 0)
{
lean_ctor_set(v___x_5115_, 0, v___x_5123_);
v___x_5125_ = v___x_5115_;
goto v_reusejp_5124_;
}
else
{
lean_object* v_reuseFailAlloc_5126_; 
v_reuseFailAlloc_5126_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5126_, 0, v___x_5123_);
v___x_5125_ = v_reuseFailAlloc_5126_;
goto v_reusejp_5124_;
}
v_reusejp_5124_:
{
return v___x_5125_;
}
}
}
}
else
{
lean_object* v_a_5128_; lean_object* v___x_5130_; uint8_t v_isShared_5131_; uint8_t v_isSharedCheck_5135_; 
v_a_5128_ = lean_ctor_get(v___x_5112_, 0);
v_isSharedCheck_5135_ = !lean_is_exclusive(v___x_5112_);
if (v_isSharedCheck_5135_ == 0)
{
v___x_5130_ = v___x_5112_;
v_isShared_5131_ = v_isSharedCheck_5135_;
goto v_resetjp_5129_;
}
else
{
lean_inc(v_a_5128_);
lean_dec(v___x_5112_);
v___x_5130_ = lean_box(0);
v_isShared_5131_ = v_isSharedCheck_5135_;
goto v_resetjp_5129_;
}
v_resetjp_5129_:
{
lean_object* v___x_5133_; 
if (v_isShared_5131_ == 0)
{
v___x_5133_ = v___x_5130_;
goto v_reusejp_5132_;
}
else
{
lean_object* v_reuseFailAlloc_5134_; 
v_reuseFailAlloc_5134_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5134_, 0, v_a_5128_);
v___x_5133_ = v_reuseFailAlloc_5134_;
goto v_reusejp_5132_;
}
v_reusejp_5132_:
{
return v___x_5133_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3___boxed(lean_object* v_f_5136_, lean_object* v_x_5137_, lean_object* v___y_5138_, lean_object* v___y_5139_, lean_object* v___y_5140_, lean_object* v___y_5141_, lean_object* v___y_5142_, lean_object* v___y_5143_, lean_object* v___y_5144_, lean_object* v___y_5145_){
_start:
{
lean_object* v_res_5146_; 
v_res_5146_ = l_Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3(v_f_5136_, v_x_5137_, v___y_5138_, v___y_5139_, v___y_5140_, v___y_5141_, v___y_5142_, v___y_5143_, v___y_5144_);
return v_res_5146_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6(lean_object* v_fvarId_5147_, lean_object* v_as_5148_, size_t v_i_5149_, size_t v_stop_5150_, lean_object* v_b_5151_, lean_object* v___y_5152_, lean_object* v___y_5153_, lean_object* v___y_5154_, lean_object* v___y_5155_, lean_object* v___y_5156_, lean_object* v___y_5157_, lean_object* v___y_5158_){
_start:
{
uint8_t v___x_5160_; 
v___x_5160_ = lean_usize_dec_eq(v_i_5149_, v_stop_5150_);
if (v___x_5160_ == 0)
{
lean_object* v___x_5161_; lean_object* v_fst_5162_; lean_object* v_snd_5163_; lean_object* v___x_5164_; lean_object* v___x_5165_; 
v___x_5161_ = lean_array_uget_borrowed(v_as_5148_, v_i_5149_);
v_fst_5162_ = lean_ctor_get(v___x_5161_, 0);
v_snd_5163_ = lean_ctor_get(v___x_5161_, 1);
lean_inc(v_fvarId_5147_);
v___x_5164_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_JoinPointCommonArgs_isInJpScope___boxed), 10, 1);
lean_closure_set(v___x_5164_, 0, v_fvarId_5147_);
lean_inc(v___y_5158_);
lean_inc_ref(v___y_5157_);
lean_inc(v___y_5156_);
lean_inc_ref(v___y_5155_);
lean_inc(v___y_5154_);
lean_inc(v___y_5153_);
lean_inc(v___y_5152_);
lean_inc(v_snd_5163_);
v___x_5165_ = l_Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3(v___x_5164_, v_snd_5163_, v___y_5152_, v___y_5153_, v___y_5154_, v___y_5155_, v___y_5156_, v___y_5157_, v___y_5158_);
if (lean_obj_tag(v___x_5165_) == 0)
{
lean_object* v_a_5166_; lean_object* v_a_5168_; uint8_t v___x_5172_; 
v_a_5166_ = lean_ctor_get(v___x_5165_, 0);
lean_inc(v_a_5166_);
lean_dec_ref(v___x_5165_);
v___x_5172_ = lean_unbox(v_a_5166_);
lean_dec(v_a_5166_);
if (v___x_5172_ == 0)
{
v_a_5168_ = v_b_5151_;
goto v___jp_5167_;
}
else
{
lean_object* v_fvarId_5173_; lean_object* v___x_5174_; 
v_fvarId_5173_ = lean_ctor_get(v_fst_5162_, 0);
lean_inc(v_snd_5163_);
lean_inc(v_fvarId_5173_);
v___x_5174_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate_spec__0___redArg(v_b_5151_, v_fvarId_5173_, v_snd_5163_);
v_a_5168_ = v___x_5174_;
goto v___jp_5167_;
}
v___jp_5167_:
{
size_t v___x_5169_; size_t v___x_5170_; 
v___x_5169_ = ((size_t)1ULL);
v___x_5170_ = lean_usize_add(v_i_5149_, v___x_5169_);
v_i_5149_ = v___x_5170_;
v_b_5151_ = v_a_5168_;
goto _start;
}
}
else
{
lean_object* v_a_5175_; lean_object* v___x_5177_; uint8_t v_isShared_5178_; uint8_t v_isSharedCheck_5182_; 
lean_dec(v___y_5158_);
lean_dec_ref(v___y_5157_);
lean_dec(v___y_5156_);
lean_dec_ref(v___y_5155_);
lean_dec(v___y_5154_);
lean_dec(v___y_5153_);
lean_dec(v___y_5152_);
lean_dec_ref(v_b_5151_);
lean_dec(v_fvarId_5147_);
v_a_5175_ = lean_ctor_get(v___x_5165_, 0);
v_isSharedCheck_5182_ = !lean_is_exclusive(v___x_5165_);
if (v_isSharedCheck_5182_ == 0)
{
v___x_5177_ = v___x_5165_;
v_isShared_5178_ = v_isSharedCheck_5182_;
goto v_resetjp_5176_;
}
else
{
lean_inc(v_a_5175_);
lean_dec(v___x_5165_);
v___x_5177_ = lean_box(0);
v_isShared_5178_ = v_isSharedCheck_5182_;
goto v_resetjp_5176_;
}
v_resetjp_5176_:
{
lean_object* v___x_5180_; 
if (v_isShared_5178_ == 0)
{
v___x_5180_ = v___x_5177_;
goto v_reusejp_5179_;
}
else
{
lean_object* v_reuseFailAlloc_5181_; 
v_reuseFailAlloc_5181_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5181_, 0, v_a_5175_);
v___x_5180_ = v_reuseFailAlloc_5181_;
goto v_reusejp_5179_;
}
v_reusejp_5179_:
{
return v___x_5180_;
}
}
}
}
else
{
lean_object* v___x_5183_; 
lean_dec(v___y_5158_);
lean_dec_ref(v___y_5157_);
lean_dec(v___y_5156_);
lean_dec_ref(v___y_5155_);
lean_dec(v___y_5154_);
lean_dec(v___y_5153_);
lean_dec(v___y_5152_);
lean_dec(v_fvarId_5147_);
v___x_5183_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5183_, 0, v_b_5151_);
return v___x_5183_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6___boxed(lean_object* v_fvarId_5184_, lean_object* v_as_5185_, lean_object* v_i_5186_, lean_object* v_stop_5187_, lean_object* v_b_5188_, lean_object* v___y_5189_, lean_object* v___y_5190_, lean_object* v___y_5191_, lean_object* v___y_5192_, lean_object* v___y_5193_, lean_object* v___y_5194_, lean_object* v___y_5195_, lean_object* v___y_5196_){
_start:
{
size_t v_i_boxed_5197_; size_t v_stop_boxed_5198_; lean_object* v_res_5199_; 
v_i_boxed_5197_ = lean_unbox_usize(v_i_5186_);
lean_dec(v_i_5186_);
v_stop_boxed_5198_ = lean_unbox_usize(v_stop_5187_);
lean_dec(v_stop_5187_);
v_res_5199_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6(v_fvarId_5184_, v_as_5185_, v_i_boxed_5197_, v_stop_boxed_5198_, v_b_5188_, v___y_5189_, v___y_5190_, v___y_5191_, v___y_5192_, v___y_5193_, v___y_5194_, v___y_5195_);
lean_dec_ref(v_as_5185_);
return v_res_5199_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg(lean_object* v_x_5200_, lean_object* v___y_5201_, lean_object* v___y_5202_, lean_object* v___y_5203_, lean_object* v___y_5204_, lean_object* v___y_5205_, lean_object* v___y_5206_, lean_object* v___y_5207_){
_start:
{
lean_object* v___x_5209_; 
v___x_5209_ = l_Lean_Compiler_LCNF_ScopeM_getScope___redArg(v___y_5203_);
if (lean_obj_tag(v___x_5209_) == 0)
{
lean_object* v_a_5210_; lean_object* v_r_5211_; 
v_a_5210_ = lean_ctor_get(v___x_5209_, 0);
lean_inc(v_a_5210_);
lean_dec_ref(v___x_5209_);
lean_inc(v___y_5203_);
v_r_5211_ = lean_apply_8(v_x_5200_, v___y_5201_, v___y_5202_, v___y_5203_, v___y_5204_, v___y_5205_, v___y_5206_, v___y_5207_, lean_box(0));
if (lean_obj_tag(v_r_5211_) == 0)
{
lean_object* v_a_5212_; lean_object* v___x_5213_; 
v_a_5212_ = lean_ctor_get(v_r_5211_, 0);
lean_inc(v_a_5212_);
lean_dec_ref(v_r_5211_);
v___x_5213_ = l_Lean_Compiler_LCNF_ScopeM_setScope___redArg(v_a_5210_, v___y_5203_);
lean_dec(v___y_5203_);
if (lean_obj_tag(v___x_5213_) == 0)
{
lean_object* v___x_5215_; uint8_t v_isShared_5216_; uint8_t v_isSharedCheck_5220_; 
v_isSharedCheck_5220_ = !lean_is_exclusive(v___x_5213_);
if (v_isSharedCheck_5220_ == 0)
{
lean_object* v_unused_5221_; 
v_unused_5221_ = lean_ctor_get(v___x_5213_, 0);
lean_dec(v_unused_5221_);
v___x_5215_ = v___x_5213_;
v_isShared_5216_ = v_isSharedCheck_5220_;
goto v_resetjp_5214_;
}
else
{
lean_dec(v___x_5213_);
v___x_5215_ = lean_box(0);
v_isShared_5216_ = v_isSharedCheck_5220_;
goto v_resetjp_5214_;
}
v_resetjp_5214_:
{
lean_object* v___x_5218_; 
if (v_isShared_5216_ == 0)
{
lean_ctor_set(v___x_5215_, 0, v_a_5212_);
v___x_5218_ = v___x_5215_;
goto v_reusejp_5217_;
}
else
{
lean_object* v_reuseFailAlloc_5219_; 
v_reuseFailAlloc_5219_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5219_, 0, v_a_5212_);
v___x_5218_ = v_reuseFailAlloc_5219_;
goto v_reusejp_5217_;
}
v_reusejp_5217_:
{
return v___x_5218_;
}
}
}
else
{
lean_object* v_a_5222_; lean_object* v___x_5224_; uint8_t v_isShared_5225_; uint8_t v_isSharedCheck_5229_; 
lean_dec(v_a_5212_);
v_a_5222_ = lean_ctor_get(v___x_5213_, 0);
v_isSharedCheck_5229_ = !lean_is_exclusive(v___x_5213_);
if (v_isSharedCheck_5229_ == 0)
{
v___x_5224_ = v___x_5213_;
v_isShared_5225_ = v_isSharedCheck_5229_;
goto v_resetjp_5223_;
}
else
{
lean_inc(v_a_5222_);
lean_dec(v___x_5213_);
v___x_5224_ = lean_box(0);
v_isShared_5225_ = v_isSharedCheck_5229_;
goto v_resetjp_5223_;
}
v_resetjp_5223_:
{
lean_object* v___x_5227_; 
if (v_isShared_5225_ == 0)
{
v___x_5227_ = v___x_5224_;
goto v_reusejp_5226_;
}
else
{
lean_object* v_reuseFailAlloc_5228_; 
v_reuseFailAlloc_5228_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5228_, 0, v_a_5222_);
v___x_5227_ = v_reuseFailAlloc_5228_;
goto v_reusejp_5226_;
}
v_reusejp_5226_:
{
return v___x_5227_;
}
}
}
}
else
{
lean_object* v_a_5230_; lean_object* v___x_5231_; 
v_a_5230_ = lean_ctor_get(v_r_5211_, 0);
lean_inc(v_a_5230_);
lean_dec_ref(v_r_5211_);
v___x_5231_ = l_Lean_Compiler_LCNF_ScopeM_setScope___redArg(v_a_5210_, v___y_5203_);
lean_dec(v___y_5203_);
if (lean_obj_tag(v___x_5231_) == 0)
{
lean_object* v___x_5233_; uint8_t v_isShared_5234_; uint8_t v_isSharedCheck_5238_; 
v_isSharedCheck_5238_ = !lean_is_exclusive(v___x_5231_);
if (v_isSharedCheck_5238_ == 0)
{
lean_object* v_unused_5239_; 
v_unused_5239_ = lean_ctor_get(v___x_5231_, 0);
lean_dec(v_unused_5239_);
v___x_5233_ = v___x_5231_;
v_isShared_5234_ = v_isSharedCheck_5238_;
goto v_resetjp_5232_;
}
else
{
lean_dec(v___x_5231_);
v___x_5233_ = lean_box(0);
v_isShared_5234_ = v_isSharedCheck_5238_;
goto v_resetjp_5232_;
}
v_resetjp_5232_:
{
lean_object* v___x_5236_; 
if (v_isShared_5234_ == 0)
{
lean_ctor_set_tag(v___x_5233_, 1);
lean_ctor_set(v___x_5233_, 0, v_a_5230_);
v___x_5236_ = v___x_5233_;
goto v_reusejp_5235_;
}
else
{
lean_object* v_reuseFailAlloc_5237_; 
v_reuseFailAlloc_5237_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5237_, 0, v_a_5230_);
v___x_5236_ = v_reuseFailAlloc_5237_;
goto v_reusejp_5235_;
}
v_reusejp_5235_:
{
return v___x_5236_;
}
}
}
else
{
lean_object* v_a_5240_; lean_object* v___x_5242_; uint8_t v_isShared_5243_; uint8_t v_isSharedCheck_5247_; 
lean_dec(v_a_5230_);
v_a_5240_ = lean_ctor_get(v___x_5231_, 0);
v_isSharedCheck_5247_ = !lean_is_exclusive(v___x_5231_);
if (v_isSharedCheck_5247_ == 0)
{
v___x_5242_ = v___x_5231_;
v_isShared_5243_ = v_isSharedCheck_5247_;
goto v_resetjp_5241_;
}
else
{
lean_inc(v_a_5240_);
lean_dec(v___x_5231_);
v___x_5242_ = lean_box(0);
v_isShared_5243_ = v_isSharedCheck_5247_;
goto v_resetjp_5241_;
}
v_resetjp_5241_:
{
lean_object* v___x_5245_; 
if (v_isShared_5243_ == 0)
{
v___x_5245_ = v___x_5242_;
goto v_reusejp_5244_;
}
else
{
lean_object* v_reuseFailAlloc_5246_; 
v_reuseFailAlloc_5246_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5246_, 0, v_a_5240_);
v___x_5245_ = v_reuseFailAlloc_5246_;
goto v_reusejp_5244_;
}
v_reusejp_5244_:
{
return v___x_5245_;
}
}
}
}
}
else
{
lean_object* v_a_5248_; lean_object* v___x_5250_; uint8_t v_isShared_5251_; uint8_t v_isSharedCheck_5255_; 
lean_dec(v___y_5207_);
lean_dec_ref(v___y_5206_);
lean_dec(v___y_5205_);
lean_dec_ref(v___y_5204_);
lean_dec(v___y_5203_);
lean_dec(v___y_5202_);
lean_dec(v___y_5201_);
lean_dec_ref(v_x_5200_);
v_a_5248_ = lean_ctor_get(v___x_5209_, 0);
v_isSharedCheck_5255_ = !lean_is_exclusive(v___x_5209_);
if (v_isSharedCheck_5255_ == 0)
{
v___x_5250_ = v___x_5209_;
v_isShared_5251_ = v_isSharedCheck_5255_;
goto v_resetjp_5249_;
}
else
{
lean_inc(v_a_5248_);
lean_dec(v___x_5209_);
v___x_5250_ = lean_box(0);
v_isShared_5251_ = v_isSharedCheck_5255_;
goto v_resetjp_5249_;
}
v_resetjp_5249_:
{
lean_object* v___x_5253_; 
if (v_isShared_5251_ == 0)
{
v___x_5253_ = v___x_5250_;
goto v_reusejp_5252_;
}
else
{
lean_object* v_reuseFailAlloc_5254_; 
v_reuseFailAlloc_5254_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5254_, 0, v_a_5248_);
v___x_5253_ = v_reuseFailAlloc_5254_;
goto v_reusejp_5252_;
}
v_reusejp_5252_:
{
return v___x_5253_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg___boxed(lean_object* v_x_5256_, lean_object* v___y_5257_, lean_object* v___y_5258_, lean_object* v___y_5259_, lean_object* v___y_5260_, lean_object* v___y_5261_, lean_object* v___y_5262_, lean_object* v___y_5263_, lean_object* v___y_5264_){
_start:
{
lean_object* v_res_5265_; 
v_res_5265_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg(v_x_5256_, v___y_5257_, v___y_5258_, v___y_5259_, v___y_5260_, v___y_5261_, v___y_5262_, v___y_5263_);
return v_res_5265_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__0(lean_object* v_x_5266_, lean_object* v___y_5267_, lean_object* v___y_5268_, lean_object* v___y_5269_, lean_object* v___y_5270_, lean_object* v___y_5271_, lean_object* v___y_5272_, lean_object* v___y_5273_){
_start:
{
lean_object* v___x_5275_; 
v___x_5275_ = l_Lean_Compiler_LCNF_ScopeM_clearScope___redArg(v___y_5269_);
if (lean_obj_tag(v___x_5275_) == 0)
{
lean_object* v___x_5276_; 
lean_dec_ref(v___x_5275_);
v___x_5276_ = lean_apply_8(v_x_5266_, v___y_5267_, v___y_5268_, v___y_5269_, v___y_5270_, v___y_5271_, v___y_5272_, v___y_5273_, lean_box(0));
return v___x_5276_;
}
else
{
lean_object* v_a_5277_; lean_object* v___x_5279_; uint8_t v_isShared_5280_; uint8_t v_isSharedCheck_5284_; 
lean_dec(v___y_5273_);
lean_dec_ref(v___y_5272_);
lean_dec(v___y_5271_);
lean_dec_ref(v___y_5270_);
lean_dec(v___y_5269_);
lean_dec(v___y_5268_);
lean_dec(v___y_5267_);
lean_dec_ref(v_x_5266_);
v_a_5277_ = lean_ctor_get(v___x_5275_, 0);
v_isSharedCheck_5284_ = !lean_is_exclusive(v___x_5275_);
if (v_isSharedCheck_5284_ == 0)
{
v___x_5279_ = v___x_5275_;
v_isShared_5280_ = v_isSharedCheck_5284_;
goto v_resetjp_5278_;
}
else
{
lean_inc(v_a_5277_);
lean_dec(v___x_5275_);
v___x_5279_ = lean_box(0);
v_isShared_5280_ = v_isSharedCheck_5284_;
goto v_resetjp_5278_;
}
v_resetjp_5278_:
{
lean_object* v___x_5282_; 
if (v_isShared_5280_ == 0)
{
v___x_5282_ = v___x_5279_;
goto v_reusejp_5281_;
}
else
{
lean_object* v_reuseFailAlloc_5283_; 
v_reuseFailAlloc_5283_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5283_, 0, v_a_5277_);
v___x_5282_ = v_reuseFailAlloc_5283_;
goto v_reusejp_5281_;
}
v_reusejp_5281_:
{
return v___x_5282_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__0___boxed(lean_object* v_x_5285_, lean_object* v___y_5286_, lean_object* v___y_5287_, lean_object* v___y_5288_, lean_object* v___y_5289_, lean_object* v___y_5290_, lean_object* v___y_5291_, lean_object* v___y_5292_, lean_object* v___y_5293_){
_start:
{
lean_object* v_res_5294_; 
v_res_5294_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__0(v_x_5285_, v___y_5286_, v___y_5287_, v___y_5288_, v___y_5289_, v___y_5290_, v___y_5291_, v___y_5292_);
return v_res_5294_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(lean_object* v_x_5295_, lean_object* v___y_5296_, lean_object* v___y_5297_, lean_object* v___y_5298_, lean_object* v___y_5299_, lean_object* v___y_5300_, lean_object* v___y_5301_, lean_object* v___y_5302_){
_start:
{
lean_object* v___f_5304_; lean_object* v___x_5305_; 
v___f_5304_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___lam__0___boxed), 9, 1);
lean_closure_set(v___f_5304_, 0, v_x_5295_);
v___x_5305_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg(v___f_5304_, v___y_5296_, v___y_5297_, v___y_5298_, v___y_5299_, v___y_5300_, v___y_5301_, v___y_5302_);
return v___x_5305_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg___boxed(lean_object* v_x_5306_, lean_object* v___y_5307_, lean_object* v___y_5308_, lean_object* v___y_5309_, lean_object* v___y_5310_, lean_object* v___y_5311_, lean_object* v___y_5312_, lean_object* v___y_5313_, lean_object* v___y_5314_){
_start:
{
lean_object* v_res_5315_; 
v_res_5315_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(v_x_5306_, v___y_5307_, v___y_5308_, v___y_5309_, v___y_5310_, v___y_5311_, v___y_5312_, v___y_5313_);
return v_res_5315_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg(lean_object* v_as_5316_, size_t v_sz_5317_, size_t v_i_5318_, lean_object* v_b_5319_){
_start:
{
lean_object* v_a_5322_; uint8_t v___x_5326_; 
v___x_5326_ = lean_usize_dec_lt(v_i_5318_, v_sz_5317_);
if (v___x_5326_ == 0)
{
lean_object* v___x_5327_; 
v___x_5327_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5327_, 0, v_b_5319_);
return v___x_5327_;
}
else
{
lean_object* v_a_5328_; lean_object* v_fst_5329_; lean_object* v_snd_5330_; lean_object* v_fvarId_5331_; lean_object* v___x_5332_; 
v_a_5328_ = lean_array_uget_borrowed(v_as_5316_, v_i_5318_);
v_fst_5329_ = lean_ctor_get(v_a_5328_, 0);
v_snd_5330_ = lean_ctor_get(v_a_5328_, 1);
v_fvarId_5331_ = lean_ctor_get(v_fst_5329_, 0);
v___x_5332_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__1___redArg(v_b_5319_, v_fvarId_5331_);
if (lean_obj_tag(v___x_5332_) == 1)
{
lean_object* v_val_5333_; uint8_t v___x_5334_; 
v_val_5333_ = lean_ctor_get(v___x_5332_, 0);
lean_inc(v_val_5333_);
lean_dec_ref(v___x_5332_);
v___x_5334_ = l_Lean_Compiler_LCNF_instBEqArg_beq___redArg(v_snd_5330_, v_val_5333_);
lean_dec(v_val_5333_);
if (v___x_5334_ == 0)
{
lean_object* v___x_5335_; 
v___x_5335_ = l_Std_DHashMap_Internal_Raw_u2080_erase___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate_spec__2___redArg(v_b_5319_, v_fvarId_5331_);
v_a_5322_ = v___x_5335_;
goto v___jp_5321_;
}
else
{
v_a_5322_ = v_b_5319_;
goto v___jp_5321_;
}
}
else
{
lean_dec(v___x_5332_);
v_a_5322_ = v_b_5319_;
goto v___jp_5321_;
}
}
v___jp_5321_:
{
size_t v___x_5323_; size_t v___x_5324_; 
v___x_5323_ = ((size_t)1ULL);
v___x_5324_ = lean_usize_add(v_i_5318_, v___x_5323_);
v_i_5318_ = v___x_5324_;
v_b_5319_ = v_a_5322_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg___boxed(lean_object* v_as_5336_, lean_object* v_sz_5337_, lean_object* v_i_5338_, lean_object* v_b_5339_, lean_object* v___y_5340_){
_start:
{
size_t v_sz_boxed_5341_; size_t v_i_boxed_5342_; lean_object* v_res_5343_; 
v_sz_boxed_5341_ = lean_unbox_usize(v_sz_5337_);
lean_dec(v_sz_5337_);
v_i_boxed_5342_ = lean_unbox_usize(v_i_5338_);
lean_dec(v_i_5338_);
v_res_5343_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg(v_as_5336_, v_sz_boxed_5341_, v_i_boxed_5342_, v_b_5339_);
lean_dec_ref(v_as_5336_);
return v_res_5343_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0(lean_object* v___x_5344_, lean_object* v___x_5345_, lean_object* v___x_5346_, lean_object* v___x_5347_, lean_object* v___y_5348_, lean_object* v___y_5349_, lean_object* v___y_5350_, lean_object* v___y_5351_, lean_object* v___y_5352_, lean_object* v___y_5353_, lean_object* v___y_5354_){
_start:
{
lean_object* v___y_5364_; uint8_t v___x_5365_; 
v___x_5365_ = lean_nat_dec_lt(v___x_5345_, v___x_5346_);
if (v___x_5365_ == 0)
{
goto v___jp_5356_;
}
else
{
lean_object* v___x_5366_; uint8_t v___x_5367_; 
v___x_5366_ = lean_box(0);
v___x_5367_ = lean_nat_dec_le(v___x_5346_, v___x_5346_);
if (v___x_5367_ == 0)
{
if (v___x_5365_ == 0)
{
goto v___jp_5356_;
}
else
{
size_t v___x_5368_; size_t v___x_5369_; lean_object* v___x_5370_; 
v___x_5368_ = ((size_t)0ULL);
v___x_5369_ = lean_usize_of_nat(v___x_5346_);
v___x_5370_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v___x_5347_, v___x_5368_, v___x_5369_, v___x_5366_, v___y_5350_);
v___y_5364_ = v___x_5370_;
goto v___jp_5363_;
}
}
else
{
size_t v___x_5371_; size_t v___x_5372_; lean_object* v___x_5373_; 
v___x_5371_ = ((size_t)0ULL);
v___x_5372_ = lean_usize_of_nat(v___x_5346_);
v___x_5373_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v___x_5347_, v___x_5371_, v___x_5372_, v___x_5366_, v___y_5350_);
v___y_5364_ = v___x_5373_;
goto v___jp_5363_;
}
}
v___jp_5356_:
{
switch(lean_obj_tag(v___x_5344_))
{
case 0:
{
lean_object* v_code_5357_; lean_object* v___x_5358_; 
v_code_5357_ = lean_ctor_get(v___x_5344_, 2);
lean_inc_ref(v_code_5357_);
lean_dec_ref(v___x_5344_);
v___x_5358_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_code_5357_, v___y_5348_, v___y_5349_, v___y_5350_, v___y_5351_, v___y_5352_, v___y_5353_, v___y_5354_);
return v___x_5358_;
}
case 1:
{
lean_object* v_code_5359_; lean_object* v___x_5360_; 
v_code_5359_ = lean_ctor_get(v___x_5344_, 1);
lean_inc_ref(v_code_5359_);
lean_dec_ref(v___x_5344_);
v___x_5360_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_code_5359_, v___y_5348_, v___y_5349_, v___y_5350_, v___y_5351_, v___y_5352_, v___y_5353_, v___y_5354_);
return v___x_5360_;
}
default: 
{
lean_object* v_code_5361_; lean_object* v___x_5362_; 
v_code_5361_ = lean_ctor_get(v___x_5344_, 0);
lean_inc_ref(v_code_5361_);
lean_dec_ref(v___x_5344_);
v___x_5362_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_code_5361_, v___y_5348_, v___y_5349_, v___y_5350_, v___y_5351_, v___y_5352_, v___y_5353_, v___y_5354_);
return v___x_5362_;
}
}
}
v___jp_5363_:
{
if (lean_obj_tag(v___y_5364_) == 0)
{
lean_dec_ref(v___y_5364_);
goto v___jp_5356_;
}
else
{
lean_dec(v___y_5354_);
lean_dec_ref(v___y_5353_);
lean_dec(v___y_5352_);
lean_dec_ref(v___y_5351_);
lean_dec(v___y_5350_);
lean_dec(v___y_5349_);
lean_dec(v___y_5348_);
lean_dec_ref(v___x_5344_);
return v___y_5364_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0___boxed(lean_object* v___x_5374_, lean_object* v___x_5375_, lean_object* v___x_5376_, lean_object* v___x_5377_, lean_object* v___y_5378_, lean_object* v___y_5379_, lean_object* v___y_5380_, lean_object* v___y_5381_, lean_object* v___y_5382_, lean_object* v___y_5383_, lean_object* v___y_5384_, lean_object* v___y_5385_){
_start:
{
lean_object* v_res_5386_; 
v_res_5386_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0(v___x_5374_, v___x_5375_, v___x_5376_, v___x_5377_, v___y_5378_, v___y_5379_, v___y_5380_, v___y_5381_, v___y_5382_, v___y_5383_, v___y_5384_);
lean_dec_ref(v___x_5377_);
lean_dec(v___x_5376_);
lean_dec(v___x_5375_);
return v_res_5386_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7(lean_object* v_as_5387_, size_t v_i_5388_, size_t v_stop_5389_, lean_object* v_b_5390_, lean_object* v___y_5391_, lean_object* v___y_5392_, lean_object* v___y_5393_, lean_object* v___y_5394_, lean_object* v___y_5395_, lean_object* v___y_5396_, lean_object* v___y_5397_){
_start:
{
uint8_t v___x_5399_; 
v___x_5399_ = lean_usize_dec_eq(v_i_5388_, v_stop_5389_);
if (v___x_5399_ == 0)
{
lean_object* v___x_5400_; lean_object* v___x_5401_; lean_object* v___x_5402_; lean_object* v___x_5403_; lean_object* v___f_5404_; lean_object* v___x_5405_; 
v___x_5400_ = lean_array_uget_borrowed(v_as_5387_, v_i_5388_);
v___x_5401_ = l_Lean_Compiler_LCNF_Alt_getParams(v___x_5400_);
v___x_5402_ = lean_unsigned_to_nat(0u);
v___x_5403_ = lean_array_get_size(v___x_5401_);
lean_inc(v___x_5400_);
v___f_5404_ = lean_alloc_closure((void*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___lam__0___boxed), 12, 4);
lean_closure_set(v___f_5404_, 0, v___x_5400_);
lean_closure_set(v___f_5404_, 1, v___x_5402_);
lean_closure_set(v___f_5404_, 2, v___x_5403_);
lean_closure_set(v___f_5404_, 3, v___x_5401_);
lean_inc(v___y_5397_);
lean_inc_ref(v___y_5396_);
lean_inc(v___y_5395_);
lean_inc_ref(v___y_5394_);
lean_inc(v___y_5393_);
lean_inc(v___y_5392_);
lean_inc(v___y_5391_);
v___x_5405_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(v___f_5404_, v___y_5391_, v___y_5392_, v___y_5393_, v___y_5394_, v___y_5395_, v___y_5396_, v___y_5397_);
if (lean_obj_tag(v___x_5405_) == 0)
{
lean_object* v_a_5406_; size_t v___x_5407_; size_t v___x_5408_; 
v_a_5406_ = lean_ctor_get(v___x_5405_, 0);
lean_inc(v_a_5406_);
lean_dec_ref(v___x_5405_);
v___x_5407_ = ((size_t)1ULL);
v___x_5408_ = lean_usize_add(v_i_5388_, v___x_5407_);
v_i_5388_ = v___x_5408_;
v_b_5390_ = v_a_5406_;
goto _start;
}
else
{
lean_dec(v___y_5397_);
lean_dec_ref(v___y_5396_);
lean_dec(v___y_5395_);
lean_dec_ref(v___y_5394_);
lean_dec(v___y_5393_);
lean_dec(v___y_5392_);
lean_dec(v___y_5391_);
return v___x_5405_;
}
}
else
{
lean_object* v___x_5410_; 
lean_dec(v___y_5397_);
lean_dec_ref(v___y_5396_);
lean_dec(v___y_5395_);
lean_dec_ref(v___y_5394_);
lean_dec(v___y_5393_);
lean_dec(v___y_5392_);
lean_dec(v___y_5391_);
v___x_5410_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5410_, 0, v_b_5390_);
return v___x_5410_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(lean_object* v_code_5411_, lean_object* v_a_5412_, lean_object* v_a_5413_, lean_object* v_a_5414_, lean_object* v_a_5415_, lean_object* v_a_5416_, lean_object* v_a_5417_, lean_object* v_a_5418_){
_start:
{
switch(lean_obj_tag(v_code_5411_))
{
case 0:
{
lean_object* v_decl_5420_; lean_object* v_k_5421_; lean_object* v_fvarId_5422_; lean_object* v___x_5423_; 
v_decl_5420_ = lean_ctor_get(v_code_5411_, 0);
lean_inc_ref(v_decl_5420_);
v_k_5421_ = lean_ctor_get(v_code_5411_, 1);
lean_inc_ref(v_k_5421_);
lean_dec_ref(v_code_5411_);
v_fvarId_5422_ = lean_ctor_get(v_decl_5420_, 0);
lean_inc(v_fvarId_5422_);
lean_dec_ref(v_decl_5420_);
v___x_5423_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v_fvarId_5422_, v_a_5414_);
if (lean_obj_tag(v___x_5423_) == 0)
{
lean_dec_ref(v___x_5423_);
v_code_5411_ = v_k_5421_;
goto _start;
}
else
{
lean_dec_ref(v_k_5421_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
return v___x_5423_;
}
}
case 1:
{
lean_object* v_decl_5425_; lean_object* v_k_5426_; lean_object* v___x_5427_; 
v_decl_5425_ = lean_ctor_get(v_code_5411_, 0);
lean_inc_ref(v_decl_5425_);
v_k_5426_ = lean_ctor_get(v_code_5411_, 1);
lean_inc_ref(v_k_5426_);
lean_dec_ref(v_code_5411_);
lean_inc(v_a_5418_);
lean_inc_ref(v_a_5417_);
lean_inc(v_a_5416_);
lean_inc_ref(v_a_5415_);
lean_inc(v_a_5414_);
lean_inc(v_a_5413_);
lean_inc(v_a_5412_);
lean_inc_ref(v_decl_5425_);
v___x_5427_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl(v_decl_5425_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
if (lean_obj_tag(v___x_5427_) == 0)
{
lean_object* v_fvarId_5428_; lean_object* v___x_5429_; 
lean_dec_ref(v___x_5427_);
v_fvarId_5428_ = lean_ctor_get(v_decl_5425_, 0);
lean_inc(v_fvarId_5428_);
lean_dec_ref(v_decl_5425_);
v___x_5429_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v_fvarId_5428_, v_a_5414_);
if (lean_obj_tag(v___x_5429_) == 0)
{
lean_dec_ref(v___x_5429_);
v_code_5411_ = v_k_5426_;
goto _start;
}
else
{
lean_dec_ref(v_k_5426_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
return v___x_5429_;
}
}
else
{
lean_dec_ref(v_k_5426_);
lean_dec_ref(v_decl_5425_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
return v___x_5427_;
}
}
case 2:
{
lean_object* v_decl_5431_; lean_object* v_k_5432_; lean_object* v___x_5433_; 
v_decl_5431_ = lean_ctor_get(v_code_5411_, 0);
lean_inc_ref(v_decl_5431_);
v_k_5432_ = lean_ctor_get(v_code_5411_, 1);
lean_inc_ref(v_k_5432_);
lean_dec_ref(v_code_5411_);
lean_inc(v_a_5418_);
lean_inc_ref(v_a_5417_);
lean_inc(v_a_5416_);
lean_inc_ref(v_a_5415_);
lean_inc(v_a_5414_);
lean_inc(v_a_5413_);
lean_inc(v_a_5412_);
lean_inc_ref(v_decl_5431_);
v___x_5433_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl(v_decl_5431_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
if (lean_obj_tag(v___x_5433_) == 0)
{
lean_object* v___x_5434_; 
lean_dec_ref(v___x_5433_);
v___x_5434_ = l_Lean_Compiler_LCNF_ScopeM_getScope___redArg(v_a_5414_);
if (lean_obj_tag(v___x_5434_) == 0)
{
lean_object* v_a_5435_; lean_object* v_fvarId_5436_; lean_object* v___x_5437_; lean_object* v___x_5438_; 
v_a_5435_ = lean_ctor_get(v___x_5434_, 0);
lean_inc(v_a_5435_);
lean_dec_ref(v___x_5434_);
v_fvarId_5436_ = lean_ctor_get(v_decl_5431_, 0);
lean_inc(v_fvarId_5436_);
lean_dec_ref(v_decl_5431_);
lean_inc(v_fvarId_5436_);
v___x_5437_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_5436_, v_a_5435_, v_a_5412_);
v___x_5438_ = l_Lean_Compiler_LCNF_ScopeM_addToScope___redArg(v_fvarId_5436_, v_a_5414_);
if (lean_obj_tag(v___x_5438_) == 0)
{
lean_dec_ref(v___x_5438_);
v_code_5411_ = v_k_5432_;
v_a_5412_ = v___x_5437_;
goto _start;
}
else
{
lean_dec(v___x_5437_);
lean_dec_ref(v_k_5432_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
return v___x_5438_;
}
}
else
{
lean_object* v_a_5440_; lean_object* v___x_5442_; uint8_t v_isShared_5443_; uint8_t v_isSharedCheck_5447_; 
lean_dec_ref(v_k_5432_);
lean_dec_ref(v_decl_5431_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
v_a_5440_ = lean_ctor_get(v___x_5434_, 0);
v_isSharedCheck_5447_ = !lean_is_exclusive(v___x_5434_);
if (v_isSharedCheck_5447_ == 0)
{
v___x_5442_ = v___x_5434_;
v_isShared_5443_ = v_isSharedCheck_5447_;
goto v_resetjp_5441_;
}
else
{
lean_inc(v_a_5440_);
lean_dec(v___x_5434_);
v___x_5442_ = lean_box(0);
v_isShared_5443_ = v_isSharedCheck_5447_;
goto v_resetjp_5441_;
}
v_resetjp_5441_:
{
lean_object* v___x_5445_; 
if (v_isShared_5443_ == 0)
{
v___x_5445_ = v___x_5442_;
goto v_reusejp_5444_;
}
else
{
lean_object* v_reuseFailAlloc_5446_; 
v_reuseFailAlloc_5446_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5446_, 0, v_a_5440_);
v___x_5445_ = v_reuseFailAlloc_5446_;
goto v_reusejp_5444_;
}
v_reusejp_5444_:
{
return v___x_5445_;
}
}
}
}
else
{
lean_dec_ref(v_k_5432_);
lean_dec_ref(v_decl_5431_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
return v___x_5433_;
}
}
case 3:
{
lean_object* v_fvarId_5448_; lean_object* v_args_5449_; lean_object* v_a_5451_; lean_object* v___y_5458_; uint8_t v___x_5468_; lean_object* v___x_5469_; 
v_fvarId_5448_ = lean_ctor_get(v_code_5411_, 0);
lean_inc(v_fvarId_5448_);
v_args_5449_ = lean_ctor_get(v_code_5411_, 1);
lean_inc_ref(v_args_5449_);
lean_dec_ref(v_code_5411_);
v___x_5468_ = 0;
lean_inc(v_fvarId_5448_);
v___x_5469_ = l_Lean_Compiler_LCNF_getFunDecl(v___x_5468_, v_fvarId_5448_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
if (lean_obj_tag(v___x_5469_) == 0)
{
lean_object* v_a_5470_; lean_object* v___x_5471_; lean_object* v___x_5472_; 
v_a_5470_ = lean_ctor_get(v___x_5469_, 0);
lean_inc(v_a_5470_);
lean_dec_ref(v___x_5469_);
v___x_5471_ = lean_st_ref_get(v_a_5413_);
v___x_5472_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(v___x_5471_, v_fvarId_5448_);
lean_dec(v___x_5471_);
if (lean_obj_tag(v___x_5472_) == 1)
{
lean_object* v_val_5473_; lean_object* v_params_5474_; lean_object* v___x_5475_; size_t v_sz_5476_; size_t v___x_5477_; lean_object* v___x_5478_; 
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5412_);
v_val_5473_ = lean_ctor_get(v___x_5472_, 0);
lean_inc(v_val_5473_);
lean_dec_ref(v___x_5472_);
v_params_5474_ = lean_ctor_get(v_a_5470_, 2);
lean_inc_ref(v_params_5474_);
lean_dec(v_a_5470_);
v___x_5475_ = l_Array_zip___redArg(v_params_5474_, v_args_5449_);
lean_dec_ref(v_args_5449_);
lean_dec_ref(v_params_5474_);
v_sz_5476_ = lean_array_size(v___x_5475_);
v___x_5477_ = ((size_t)0ULL);
v___x_5478_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg(v___x_5475_, v_sz_5476_, v___x_5477_, v_val_5473_);
lean_dec_ref(v___x_5475_);
if (lean_obj_tag(v___x_5478_) == 0)
{
lean_object* v_a_5479_; lean_object* v___x_5481_; uint8_t v_isShared_5482_; uint8_t v_isSharedCheck_5490_; 
v_a_5479_ = lean_ctor_get(v___x_5478_, 0);
v_isSharedCheck_5490_ = !lean_is_exclusive(v___x_5478_);
if (v_isSharedCheck_5490_ == 0)
{
v___x_5481_ = v___x_5478_;
v_isShared_5482_ = v_isSharedCheck_5490_;
goto v_resetjp_5480_;
}
else
{
lean_inc(v_a_5479_);
lean_dec(v___x_5478_);
v___x_5481_ = lean_box(0);
v_isShared_5482_ = v_isSharedCheck_5490_;
goto v_resetjp_5480_;
}
v_resetjp_5480_:
{
lean_object* v___x_5483_; lean_object* v___x_5484_; lean_object* v___x_5485_; lean_object* v___x_5486_; lean_object* v___x_5488_; 
v___x_5483_ = lean_st_ref_take(v_a_5413_);
v___x_5484_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_5448_, v_a_5479_, v___x_5483_);
v___x_5485_ = lean_st_ref_set(v_a_5413_, v___x_5484_);
lean_dec(v_a_5413_);
v___x_5486_ = lean_box(0);
if (v_isShared_5482_ == 0)
{
lean_ctor_set(v___x_5481_, 0, v___x_5486_);
v___x_5488_ = v___x_5481_;
goto v_reusejp_5487_;
}
else
{
lean_object* v_reuseFailAlloc_5489_; 
v_reuseFailAlloc_5489_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5489_, 0, v___x_5486_);
v___x_5488_ = v_reuseFailAlloc_5489_;
goto v_reusejp_5487_;
}
v_reusejp_5487_:
{
return v___x_5488_;
}
}
}
else
{
lean_object* v_a_5491_; lean_object* v___x_5493_; uint8_t v_isShared_5494_; uint8_t v_isSharedCheck_5498_; 
lean_dec(v_fvarId_5448_);
lean_dec(v_a_5413_);
v_a_5491_ = lean_ctor_get(v___x_5478_, 0);
v_isSharedCheck_5498_ = !lean_is_exclusive(v___x_5478_);
if (v_isSharedCheck_5498_ == 0)
{
v___x_5493_ = v___x_5478_;
v_isShared_5494_ = v_isSharedCheck_5498_;
goto v_resetjp_5492_;
}
else
{
lean_inc(v_a_5491_);
lean_dec(v___x_5478_);
v___x_5493_ = lean_box(0);
v_isShared_5494_ = v_isSharedCheck_5498_;
goto v_resetjp_5492_;
}
v_resetjp_5492_:
{
lean_object* v___x_5496_; 
if (v_isShared_5494_ == 0)
{
v___x_5496_ = v___x_5493_;
goto v_reusejp_5495_;
}
else
{
lean_object* v_reuseFailAlloc_5497_; 
v_reuseFailAlloc_5497_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5497_, 0, v_a_5491_);
v___x_5496_ = v_reuseFailAlloc_5497_;
goto v_reusejp_5495_;
}
v_reusejp_5495_:
{
return v___x_5496_;
}
}
}
}
else
{
lean_object* v_params_5499_; lean_object* v___x_5500_; lean_object* v___x_5501_; lean_object* v___x_5502_; lean_object* v___x_5503_; uint8_t v___x_5504_; 
lean_dec(v___x_5472_);
v_params_5499_ = lean_ctor_get(v_a_5470_, 2);
lean_inc_ref(v_params_5499_);
lean_dec(v_a_5470_);
v___x_5500_ = lean_unsigned_to_nat(0u);
v___x_5501_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1, &l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1_once, _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default___closed__1);
v___x_5502_ = l_Array_zip___redArg(v_params_5499_, v_args_5449_);
lean_dec_ref(v_args_5449_);
lean_dec_ref(v_params_5499_);
v___x_5503_ = lean_array_get_size(v___x_5502_);
v___x_5504_ = lean_nat_dec_lt(v___x_5500_, v___x_5503_);
if (v___x_5504_ == 0)
{
lean_dec_ref(v___x_5502_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5412_);
v_a_5451_ = v___x_5501_;
goto v___jp_5450_;
}
else
{
uint8_t v___x_5505_; 
v___x_5505_ = lean_nat_dec_le(v___x_5503_, v___x_5503_);
if (v___x_5505_ == 0)
{
if (v___x_5504_ == 0)
{
lean_dec_ref(v___x_5502_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5412_);
v_a_5451_ = v___x_5501_;
goto v___jp_5450_;
}
else
{
size_t v___x_5506_; size_t v___x_5507_; lean_object* v___x_5508_; 
v___x_5506_ = ((size_t)0ULL);
v___x_5507_ = lean_usize_of_nat(v___x_5503_);
lean_inc(v_a_5413_);
lean_inc(v_fvarId_5448_);
v___x_5508_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6(v_fvarId_5448_, v___x_5502_, v___x_5506_, v___x_5507_, v___x_5501_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
lean_dec_ref(v___x_5502_);
v___y_5458_ = v___x_5508_;
goto v___jp_5457_;
}
}
else
{
size_t v___x_5509_; size_t v___x_5510_; lean_object* v___x_5511_; 
v___x_5509_ = ((size_t)0ULL);
v___x_5510_ = lean_usize_of_nat(v___x_5503_);
lean_inc(v_a_5413_);
lean_inc(v_fvarId_5448_);
v___x_5511_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__6(v_fvarId_5448_, v___x_5502_, v___x_5509_, v___x_5510_, v___x_5501_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
lean_dec_ref(v___x_5502_);
v___y_5458_ = v___x_5511_;
goto v___jp_5457_;
}
}
}
}
else
{
lean_object* v_a_5512_; lean_object* v___x_5514_; uint8_t v_isShared_5515_; uint8_t v_isSharedCheck_5519_; 
lean_dec_ref(v_args_5449_);
lean_dec(v_fvarId_5448_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
v_a_5512_ = lean_ctor_get(v___x_5469_, 0);
v_isSharedCheck_5519_ = !lean_is_exclusive(v___x_5469_);
if (v_isSharedCheck_5519_ == 0)
{
v___x_5514_ = v___x_5469_;
v_isShared_5515_ = v_isSharedCheck_5519_;
goto v_resetjp_5513_;
}
else
{
lean_inc(v_a_5512_);
lean_dec(v___x_5469_);
v___x_5514_ = lean_box(0);
v_isShared_5515_ = v_isSharedCheck_5519_;
goto v_resetjp_5513_;
}
v_resetjp_5513_:
{
lean_object* v___x_5517_; 
if (v_isShared_5515_ == 0)
{
v___x_5517_ = v___x_5514_;
goto v_reusejp_5516_;
}
else
{
lean_object* v_reuseFailAlloc_5518_; 
v_reuseFailAlloc_5518_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5518_, 0, v_a_5512_);
v___x_5517_ = v_reuseFailAlloc_5518_;
goto v_reusejp_5516_;
}
v_reusejp_5516_:
{
return v___x_5517_;
}
}
}
v___jp_5450_:
{
lean_object* v___x_5452_; lean_object* v___x_5453_; lean_object* v___x_5454_; lean_object* v___x_5455_; lean_object* v___x_5456_; 
v___x_5452_ = lean_st_ref_take(v_a_5413_);
v___x_5453_ = l_Std_DTreeMap_Internal_Impl_insert___at___00Lean_FVarIdSet_insert_spec__1___redArg(v_fvarId_5448_, v_a_5451_, v___x_5452_);
v___x_5454_ = lean_st_ref_set(v_a_5413_, v___x_5453_);
lean_dec(v_a_5413_);
v___x_5455_ = lean_box(0);
v___x_5456_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5456_, 0, v___x_5455_);
return v___x_5456_;
}
v___jp_5457_:
{
if (lean_obj_tag(v___y_5458_) == 0)
{
lean_object* v_a_5459_; 
v_a_5459_ = lean_ctor_get(v___y_5458_, 0);
lean_inc(v_a_5459_);
lean_dec_ref(v___y_5458_);
v_a_5451_ = v_a_5459_;
goto v___jp_5450_;
}
else
{
lean_object* v_a_5460_; lean_object* v___x_5462_; uint8_t v_isShared_5463_; uint8_t v_isSharedCheck_5467_; 
lean_dec(v_fvarId_5448_);
lean_dec(v_a_5413_);
v_a_5460_ = lean_ctor_get(v___y_5458_, 0);
v_isSharedCheck_5467_ = !lean_is_exclusive(v___y_5458_);
if (v_isSharedCheck_5467_ == 0)
{
v___x_5462_ = v___y_5458_;
v_isShared_5463_ = v_isSharedCheck_5467_;
goto v_resetjp_5461_;
}
else
{
lean_inc(v_a_5460_);
lean_dec(v___y_5458_);
v___x_5462_ = lean_box(0);
v_isShared_5463_ = v_isSharedCheck_5467_;
goto v_resetjp_5461_;
}
v_resetjp_5461_:
{
lean_object* v___x_5465_; 
if (v_isShared_5463_ == 0)
{
v___x_5465_ = v___x_5462_;
goto v_reusejp_5464_;
}
else
{
lean_object* v_reuseFailAlloc_5466_; 
v_reuseFailAlloc_5466_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5466_, 0, v_a_5460_);
v___x_5465_ = v_reuseFailAlloc_5466_;
goto v_reusejp_5464_;
}
v_reusejp_5464_:
{
return v___x_5465_;
}
}
}
}
}
case 4:
{
lean_object* v_cases_5520_; lean_object* v___x_5522_; uint8_t v_isShared_5523_; uint8_t v_isSharedCheck_5542_; 
v_cases_5520_ = lean_ctor_get(v_code_5411_, 0);
v_isSharedCheck_5542_ = !lean_is_exclusive(v_code_5411_);
if (v_isSharedCheck_5542_ == 0)
{
v___x_5522_ = v_code_5411_;
v_isShared_5523_ = v_isSharedCheck_5542_;
goto v_resetjp_5521_;
}
else
{
lean_inc(v_cases_5520_);
lean_dec(v_code_5411_);
v___x_5522_ = lean_box(0);
v_isShared_5523_ = v_isSharedCheck_5542_;
goto v_resetjp_5521_;
}
v_resetjp_5521_:
{
lean_object* v_alts_5524_; lean_object* v___x_5525_; lean_object* v___x_5526_; lean_object* v___x_5527_; uint8_t v___x_5528_; 
v_alts_5524_ = lean_ctor_get(v_cases_5520_, 3);
lean_inc_ref(v_alts_5524_);
lean_dec_ref(v_cases_5520_);
v___x_5525_ = lean_unsigned_to_nat(0u);
v___x_5526_ = lean_array_get_size(v_alts_5524_);
v___x_5527_ = lean_box(0);
v___x_5528_ = lean_nat_dec_lt(v___x_5525_, v___x_5526_);
if (v___x_5528_ == 0)
{
lean_object* v___x_5530_; 
lean_dec_ref(v_alts_5524_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
if (v_isShared_5523_ == 0)
{
lean_ctor_set_tag(v___x_5522_, 0);
lean_ctor_set(v___x_5522_, 0, v___x_5527_);
v___x_5530_ = v___x_5522_;
goto v_reusejp_5529_;
}
else
{
lean_object* v_reuseFailAlloc_5531_; 
v_reuseFailAlloc_5531_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5531_, 0, v___x_5527_);
v___x_5530_ = v_reuseFailAlloc_5531_;
goto v_reusejp_5529_;
}
v_reusejp_5529_:
{
return v___x_5530_;
}
}
else
{
uint8_t v___x_5532_; 
v___x_5532_ = lean_nat_dec_le(v___x_5526_, v___x_5526_);
if (v___x_5532_ == 0)
{
if (v___x_5528_ == 0)
{
lean_object* v___x_5534_; 
lean_dec_ref(v_alts_5524_);
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
if (v_isShared_5523_ == 0)
{
lean_ctor_set_tag(v___x_5522_, 0);
lean_ctor_set(v___x_5522_, 0, v___x_5527_);
v___x_5534_ = v___x_5522_;
goto v_reusejp_5533_;
}
else
{
lean_object* v_reuseFailAlloc_5535_; 
v_reuseFailAlloc_5535_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5535_, 0, v___x_5527_);
v___x_5534_ = v_reuseFailAlloc_5535_;
goto v_reusejp_5533_;
}
v_reusejp_5533_:
{
return v___x_5534_;
}
}
else
{
size_t v___x_5536_; size_t v___x_5537_; lean_object* v___x_5538_; 
lean_del_object(v___x_5522_);
v___x_5536_ = ((size_t)0ULL);
v___x_5537_ = lean_usize_of_nat(v___x_5526_);
v___x_5538_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7(v_alts_5524_, v___x_5536_, v___x_5537_, v___x_5527_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
lean_dec_ref(v_alts_5524_);
return v___x_5538_;
}
}
else
{
size_t v___x_5539_; size_t v___x_5540_; lean_object* v___x_5541_; 
lean_del_object(v___x_5522_);
v___x_5539_ = ((size_t)0ULL);
v___x_5540_ = lean_usize_of_nat(v___x_5526_);
v___x_5541_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7(v_alts_5524_, v___x_5539_, v___x_5540_, v___x_5527_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_, v_a_5416_, v_a_5417_, v_a_5418_);
lean_dec_ref(v_alts_5524_);
return v___x_5541_;
}
}
}
}
default: 
{
lean_object* v___x_5544_; uint8_t v_isShared_5545_; uint8_t v_isSharedCheck_5550_; 
lean_dec(v_a_5418_);
lean_dec_ref(v_a_5417_);
lean_dec(v_a_5416_);
lean_dec_ref(v_a_5415_);
lean_dec(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec(v_a_5412_);
v_isSharedCheck_5550_ = !lean_is_exclusive(v_code_5411_);
if (v_isSharedCheck_5550_ == 0)
{
lean_object* v_unused_5551_; 
v_unused_5551_ = lean_ctor_get(v_code_5411_, 0);
lean_dec(v_unused_5551_);
v___x_5544_ = v_code_5411_;
v_isShared_5545_ = v_isSharedCheck_5550_;
goto v_resetjp_5543_;
}
else
{
lean_dec(v_code_5411_);
v___x_5544_ = lean_box(0);
v_isShared_5545_ = v_isSharedCheck_5550_;
goto v_resetjp_5543_;
}
v_resetjp_5543_:
{
lean_object* v___x_5546_; lean_object* v___x_5548_; 
v___x_5546_ = lean_box(0);
if (v_isShared_5545_ == 0)
{
lean_ctor_set_tag(v___x_5544_, 0);
lean_ctor_set(v___x_5544_, 0, v___x_5546_);
v___x_5548_ = v___x_5544_;
goto v_reusejp_5547_;
}
else
{
lean_object* v_reuseFailAlloc_5549_; 
v_reuseFailAlloc_5549_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5549_, 0, v___x_5546_);
v___x_5548_ = v_reuseFailAlloc_5549_;
goto v_reusejp_5547_;
}
v_reusejp_5547_:
{
return v___x_5548_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0(lean_object* v___x_5552_, lean_object* v___x_5553_, lean_object* v_value_5554_, lean_object* v_params_5555_, lean_object* v___y_5556_, lean_object* v___y_5557_, lean_object* v___y_5558_, lean_object* v___y_5559_, lean_object* v___y_5560_, lean_object* v___y_5561_, lean_object* v___y_5562_){
_start:
{
lean_object* v___y_5565_; uint8_t v___x_5567_; 
v___x_5567_ = lean_nat_dec_lt(v___x_5552_, v___x_5553_);
if (v___x_5567_ == 0)
{
lean_object* v___x_5568_; 
v___x_5568_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_value_5554_, v___y_5556_, v___y_5557_, v___y_5558_, v___y_5559_, v___y_5560_, v___y_5561_, v___y_5562_);
return v___x_5568_;
}
else
{
lean_object* v___x_5569_; uint8_t v___x_5570_; 
v___x_5569_ = lean_box(0);
v___x_5570_ = lean_nat_dec_le(v___x_5553_, v___x_5553_);
if (v___x_5570_ == 0)
{
if (v___x_5567_ == 0)
{
lean_object* v___x_5571_; 
v___x_5571_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_value_5554_, v___y_5556_, v___y_5557_, v___y_5558_, v___y_5559_, v___y_5560_, v___y_5561_, v___y_5562_);
return v___x_5571_;
}
else
{
size_t v___x_5572_; size_t v___x_5573_; lean_object* v___x_5574_; 
v___x_5572_ = ((size_t)0ULL);
v___x_5573_ = lean_usize_of_nat(v___x_5553_);
v___x_5574_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v_params_5555_, v___x_5572_, v___x_5573_, v___x_5569_, v___y_5558_);
v___y_5565_ = v___x_5574_;
goto v___jp_5564_;
}
}
else
{
size_t v___x_5575_; size_t v___x_5576_; lean_object* v___x_5577_; 
v___x_5575_ = ((size_t)0ULL);
v___x_5576_ = lean_usize_of_nat(v___x_5553_);
v___x_5577_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v_params_5555_, v___x_5575_, v___x_5576_, v___x_5569_, v___y_5558_);
v___y_5565_ = v___x_5577_;
goto v___jp_5564_;
}
}
v___jp_5564_:
{
if (lean_obj_tag(v___y_5565_) == 0)
{
lean_object* v___x_5566_; 
lean_dec_ref(v___y_5565_);
v___x_5566_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_value_5554_, v___y_5556_, v___y_5557_, v___y_5558_, v___y_5559_, v___y_5560_, v___y_5561_, v___y_5562_);
return v___x_5566_;
}
else
{
lean_dec(v___y_5562_);
lean_dec_ref(v___y_5561_);
lean_dec(v___y_5560_);
lean_dec_ref(v___y_5559_);
lean_dec(v___y_5558_);
lean_dec(v___y_5557_);
lean_dec(v___y_5556_);
lean_dec_ref(v_value_5554_);
return v___y_5565_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0___boxed(lean_object* v___x_5578_, lean_object* v___x_5579_, lean_object* v_value_5580_, lean_object* v_params_5581_, lean_object* v___y_5582_, lean_object* v___y_5583_, lean_object* v___y_5584_, lean_object* v___y_5585_, lean_object* v___y_5586_, lean_object* v___y_5587_, lean_object* v___y_5588_, lean_object* v___y_5589_){
_start:
{
lean_object* v_res_5590_; 
v_res_5590_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0(v___x_5578_, v___x_5579_, v_value_5580_, v_params_5581_, v___y_5582_, v___y_5583_, v___y_5584_, v___y_5585_, v___y_5586_, v___y_5587_, v___y_5588_);
lean_dec_ref(v_params_5581_);
lean_dec(v___x_5579_);
lean_dec(v___x_5578_);
return v_res_5590_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl(lean_object* v_fn_5591_, lean_object* v_a_5592_, lean_object* v_a_5593_, lean_object* v_a_5594_, lean_object* v_a_5595_, lean_object* v_a_5596_, lean_object* v_a_5597_, lean_object* v_a_5598_){
_start:
{
lean_object* v_params_5600_; lean_object* v_value_5601_; lean_object* v___x_5602_; lean_object* v___x_5603_; lean_object* v___f_5604_; lean_object* v___x_5605_; 
v_params_5600_ = lean_ctor_get(v_fn_5591_, 2);
lean_inc_ref(v_params_5600_);
v_value_5601_ = lean_ctor_get(v_fn_5591_, 4);
lean_inc_ref(v_value_5601_);
lean_dec_ref(v_fn_5591_);
v___x_5602_ = lean_unsigned_to_nat(0u);
v___x_5603_ = lean_array_get_size(v_params_5600_);
v___f_5604_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___lam__0___boxed), 12, 4);
lean_closure_set(v___f_5604_, 0, v___x_5602_);
lean_closure_set(v___f_5604_, 1, v___x_5603_);
lean_closure_set(v___f_5604_, 2, v_value_5601_);
lean_closure_set(v___f_5604_, 3, v_params_5600_);
v___x_5605_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(v___f_5604_, v_a_5592_, v_a_5593_, v_a_5594_, v_a_5595_, v_a_5596_, v_a_5597_, v_a_5598_);
return v___x_5605_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl___boxed(lean_object* v_fn_5606_, lean_object* v_a_5607_, lean_object* v_a_5608_, lean_object* v_a_5609_, lean_object* v_a_5610_, lean_object* v_a_5611_, lean_object* v_a_5612_, lean_object* v_a_5613_, lean_object* v_a_5614_){
_start:
{
lean_object* v_res_5615_; 
v_res_5615_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl(v_fn_5606_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_);
return v_res_5615_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7___boxed(lean_object* v_as_5616_, lean_object* v_i_5617_, lean_object* v_stop_5618_, lean_object* v_b_5619_, lean_object* v___y_5620_, lean_object* v___y_5621_, lean_object* v___y_5622_, lean_object* v___y_5623_, lean_object* v___y_5624_, lean_object* v___y_5625_, lean_object* v___y_5626_, lean_object* v___y_5627_){
_start:
{
size_t v_i_boxed_5628_; size_t v_stop_boxed_5629_; lean_object* v_res_5630_; 
v_i_boxed_5628_ = lean_unbox_usize(v_i_5617_);
lean_dec(v_i_5617_);
v_stop_boxed_5629_ = lean_unbox_usize(v_stop_5618_);
lean_dec(v_stop_5618_);
v_res_5630_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__7(v_as_5616_, v_i_boxed_5628_, v_stop_boxed_5629_, v_b_5619_, v___y_5620_, v___y_5621_, v___y_5622_, v___y_5623_, v___y_5624_, v___y_5625_, v___y_5626_);
lean_dec_ref(v_as_5616_);
return v_res_5630_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze___boxed(lean_object* v_code_5631_, lean_object* v_a_5632_, lean_object* v_a_5633_, lean_object* v_a_5634_, lean_object* v_a_5635_, lean_object* v_a_5636_, lean_object* v_a_5637_, lean_object* v_a_5638_, lean_object* v_a_5639_){
_start:
{
lean_object* v_res_5640_; 
v_res_5640_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze(v_code_5631_, v_a_5632_, v_a_5633_, v_a_5634_, v_a_5635_, v_a_5636_, v_a_5637_, v_a_5638_);
return v_res_5640_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0(lean_object* v_as_5641_, size_t v_i_5642_, size_t v_stop_5643_, lean_object* v_b_5644_, lean_object* v___y_5645_, lean_object* v___y_5646_, lean_object* v___y_5647_, lean_object* v___y_5648_, lean_object* v___y_5649_, lean_object* v___y_5650_, lean_object* v___y_5651_){
_start:
{
lean_object* v___x_5653_; 
v___x_5653_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___redArg(v_as_5641_, v_i_5642_, v_stop_5643_, v_b_5644_, v___y_5647_);
return v___x_5653_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0___boxed(lean_object* v_as_5654_, lean_object* v_i_5655_, lean_object* v_stop_5656_, lean_object* v_b_5657_, lean_object* v___y_5658_, lean_object* v___y_5659_, lean_object* v___y_5660_, lean_object* v___y_5661_, lean_object* v___y_5662_, lean_object* v___y_5663_, lean_object* v___y_5664_, lean_object* v___y_5665_){
_start:
{
size_t v_i_boxed_5666_; size_t v_stop_boxed_5667_; lean_object* v_res_5668_; 
v_i_boxed_5666_ = lean_unbox_usize(v_i_5655_);
lean_dec(v_i_5655_);
v_stop_boxed_5667_ = lean_unbox_usize(v_stop_5656_);
lean_dec(v_stop_5656_);
v_res_5668_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__0(v_as_5654_, v_i_boxed_5666_, v_stop_boxed_5667_, v_b_5657_, v___y_5658_, v___y_5659_, v___y_5660_, v___y_5661_, v___y_5662_, v___y_5663_, v___y_5664_);
lean_dec(v___y_5664_);
lean_dec_ref(v___y_5663_);
lean_dec(v___y_5662_);
lean_dec_ref(v___y_5661_);
lean_dec(v___y_5660_);
lean_dec(v___y_5659_);
lean_dec(v___y_5658_);
lean_dec_ref(v_as_5654_);
return v_res_5668_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1(lean_object* v_00_u03b1_5669_, lean_object* v_x_5670_, lean_object* v___y_5671_, lean_object* v___y_5672_, lean_object* v___y_5673_, lean_object* v___y_5674_, lean_object* v___y_5675_, lean_object* v___y_5676_, lean_object* v___y_5677_){
_start:
{
lean_object* v___x_5679_; 
v___x_5679_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___redArg(v_x_5670_, v___y_5671_, v___y_5672_, v___y_5673_, v___y_5674_, v___y_5675_, v___y_5676_, v___y_5677_);
return v___x_5679_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1___boxed(lean_object* v_00_u03b1_5680_, lean_object* v_x_5681_, lean_object* v___y_5682_, lean_object* v___y_5683_, lean_object* v___y_5684_, lean_object* v___y_5685_, lean_object* v___y_5686_, lean_object* v___y_5687_, lean_object* v___y_5688_, lean_object* v___y_5689_){
_start:
{
lean_object* v_res_5690_; 
v_res_5690_ = l_Lean_Compiler_LCNF_ScopeM_withBackTrackingScope___at___00Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1_spec__1(v_00_u03b1_5680_, v_x_5681_, v___y_5682_, v___y_5683_, v___y_5684_, v___y_5685_, v___y_5686_, v___y_5687_, v___y_5688_);
return v_res_5690_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1(lean_object* v_00_u03b1_5691_, lean_object* v_x_5692_, lean_object* v___y_5693_, lean_object* v___y_5694_, lean_object* v___y_5695_, lean_object* v___y_5696_, lean_object* v___y_5697_, lean_object* v___y_5698_, lean_object* v___y_5699_){
_start:
{
lean_object* v___x_5701_; 
v___x_5701_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___redArg(v_x_5692_, v___y_5693_, v___y_5694_, v___y_5695_, v___y_5696_, v___y_5697_, v___y_5698_, v___y_5699_);
return v___x_5701_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1___boxed(lean_object* v_00_u03b1_5702_, lean_object* v_x_5703_, lean_object* v___y_5704_, lean_object* v___y_5705_, lean_object* v___y_5706_, lean_object* v___y_5707_, lean_object* v___y_5708_, lean_object* v___y_5709_, lean_object* v___y_5710_, lean_object* v___y_5711_){
_start:
{
lean_object* v_res_5712_; 
v_res_5712_ = l_Lean_Compiler_LCNF_ScopeM_withNewScope___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyzeFunDecl_spec__1(v_00_u03b1_5702_, v_x_5703_, v___y_5704_, v___y_5705_, v___y_5706_, v___y_5707_, v___y_5708_, v___y_5709_, v___y_5710_);
return v_res_5712_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4(lean_object* v_00_u03b4_5713_, lean_object* v_t_5714_, lean_object* v_k_5715_){
_start:
{
lean_object* v___x_5716_; 
v___x_5716_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(v_t_5714_, v_k_5715_);
return v___x_5716_;
}
}
LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___boxed(lean_object* v_00_u03b4_5717_, lean_object* v_t_5718_, lean_object* v_k_5719_){
_start:
{
lean_object* v_res_5720_; 
v_res_5720_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4(v_00_u03b4_5717_, v_t_5718_, v_k_5719_);
lean_dec(v_k_5719_);
lean_dec(v_t_5718_);
return v_res_5720_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5(lean_object* v_as_5721_, size_t v_sz_5722_, size_t v_i_5723_, lean_object* v_b_5724_, lean_object* v___y_5725_, lean_object* v___y_5726_, lean_object* v___y_5727_, lean_object* v___y_5728_, lean_object* v___y_5729_, lean_object* v___y_5730_, lean_object* v___y_5731_){
_start:
{
lean_object* v___x_5733_; 
v___x_5733_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___redArg(v_as_5721_, v_sz_5722_, v_i_5723_, v_b_5724_);
return v___x_5733_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5___boxed(lean_object* v_as_5734_, lean_object* v_sz_5735_, lean_object* v_i_5736_, lean_object* v_b_5737_, lean_object* v___y_5738_, lean_object* v___y_5739_, lean_object* v___y_5740_, lean_object* v___y_5741_, lean_object* v___y_5742_, lean_object* v___y_5743_, lean_object* v___y_5744_, lean_object* v___y_5745_){
_start:
{
size_t v_sz_boxed_5746_; size_t v_i_boxed_5747_; lean_object* v_res_5748_; 
v_sz_boxed_5746_ = lean_unbox_usize(v_sz_5735_);
lean_dec(v_sz_5735_);
v_i_boxed_5747_ = lean_unbox_usize(v_i_5736_);
lean_dec(v_i_5736_);
v_res_5748_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__5(v_as_5734_, v_sz_boxed_5746_, v_i_boxed_5747_, v_b_5737_, v___y_5738_, v___y_5739_, v___y_5740_, v___y_5741_, v___y_5742_, v___y_5743_, v___y_5744_);
lean_dec(v___y_5744_);
lean_dec_ref(v___y_5743_);
lean_dec(v___y_5742_);
lean_dec_ref(v___y_5741_);
lean_dec(v___y_5740_);
lean_dec(v___y_5739_);
lean_dec(v___y_5738_);
lean_dec_ref(v_as_5734_);
return v_res_5748_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5(uint8_t v_pu_5749_, lean_object* v_f_5750_, lean_object* v_arg_5751_, lean_object* v___y_5752_, lean_object* v___y_5753_, lean_object* v___y_5754_, lean_object* v___y_5755_, lean_object* v___y_5756_, lean_object* v___y_5757_, lean_object* v___y_5758_){
_start:
{
lean_object* v___x_5760_; 
v___x_5760_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___redArg(v_f_5750_, v_arg_5751_, v___y_5752_, v___y_5753_, v___y_5754_, v___y_5755_, v___y_5756_, v___y_5757_, v___y_5758_);
return v___x_5760_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5___boxed(lean_object* v_pu_5761_, lean_object* v_f_5762_, lean_object* v_arg_5763_, lean_object* v___y_5764_, lean_object* v___y_5765_, lean_object* v___y_5766_, lean_object* v___y_5767_, lean_object* v___y_5768_, lean_object* v___y_5769_, lean_object* v___y_5770_, lean_object* v___y_5771_){
_start:
{
uint8_t v_pu_boxed_5772_; lean_object* v_res_5773_; 
v_pu_boxed_5772_ = lean_unbox(v_pu_5761_);
v_res_5773_ = l_Lean_Compiler_LCNF_Arg_forFVarM___at___00Lean_Compiler_LCNF_allFVarM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__3_spec__5(v_pu_boxed_5772_, v_f_5762_, v_arg_5763_, v___y_5764_, v___y_5765_, v___y_5766_, v___y_5767_, v___y_5768_, v___y_5769_, v___y_5770_);
return v_res_5773_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg(lean_object* v_alt_5774_, lean_object* v_f_5775_, lean_object* v___y_5776_, lean_object* v___y_5777_, lean_object* v___y_5778_, lean_object* v___y_5779_, lean_object* v___y_5780_){
_start:
{
lean_object* v___y_5783_; 
switch(lean_obj_tag(v_alt_5774_))
{
case 0:
{
lean_object* v_code_5802_; 
v_code_5802_ = lean_ctor_get(v_alt_5774_, 2);
lean_inc_ref(v_code_5802_);
v___y_5783_ = v_code_5802_;
goto v___jp_5782_;
}
case 1:
{
lean_object* v_code_5803_; 
v_code_5803_ = lean_ctor_get(v_alt_5774_, 1);
lean_inc_ref(v_code_5803_);
v___y_5783_ = v_code_5803_;
goto v___jp_5782_;
}
default: 
{
lean_object* v_code_5804_; 
v_code_5804_ = lean_ctor_get(v_alt_5774_, 0);
lean_inc_ref(v_code_5804_);
v___y_5783_ = v_code_5804_;
goto v___jp_5782_;
}
}
v___jp_5782_:
{
lean_object* v___x_5784_; 
v___x_5784_ = lean_apply_7(v_f_5775_, v___y_5783_, v___y_5776_, v___y_5777_, v___y_5778_, v___y_5779_, v___y_5780_, lean_box(0));
if (lean_obj_tag(v___x_5784_) == 0)
{
lean_object* v_a_5785_; lean_object* v___x_5787_; uint8_t v_isShared_5788_; uint8_t v_isSharedCheck_5793_; 
v_a_5785_ = lean_ctor_get(v___x_5784_, 0);
v_isSharedCheck_5793_ = !lean_is_exclusive(v___x_5784_);
if (v_isSharedCheck_5793_ == 0)
{
v___x_5787_ = v___x_5784_;
v_isShared_5788_ = v_isSharedCheck_5793_;
goto v_resetjp_5786_;
}
else
{
lean_inc(v_a_5785_);
lean_dec(v___x_5784_);
v___x_5787_ = lean_box(0);
v_isShared_5788_ = v_isSharedCheck_5793_;
goto v_resetjp_5786_;
}
v_resetjp_5786_:
{
lean_object* v___x_5789_; lean_object* v___x_5791_; 
v___x_5789_ = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp___redArg(v_alt_5774_, v_a_5785_);
if (v_isShared_5788_ == 0)
{
lean_ctor_set(v___x_5787_, 0, v___x_5789_);
v___x_5791_ = v___x_5787_;
goto v_reusejp_5790_;
}
else
{
lean_object* v_reuseFailAlloc_5792_; 
v_reuseFailAlloc_5792_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5792_, 0, v___x_5789_);
v___x_5791_ = v_reuseFailAlloc_5792_;
goto v_reusejp_5790_;
}
v_reusejp_5790_:
{
return v___x_5791_;
}
}
}
else
{
lean_object* v_a_5794_; lean_object* v___x_5796_; uint8_t v_isShared_5797_; uint8_t v_isSharedCheck_5801_; 
lean_dec_ref(v_alt_5774_);
v_a_5794_ = lean_ctor_get(v___x_5784_, 0);
v_isSharedCheck_5801_ = !lean_is_exclusive(v___x_5784_);
if (v_isSharedCheck_5801_ == 0)
{
v___x_5796_ = v___x_5784_;
v_isShared_5797_ = v_isSharedCheck_5801_;
goto v_resetjp_5795_;
}
else
{
lean_inc(v_a_5794_);
lean_dec(v___x_5784_);
v___x_5796_ = lean_box(0);
v_isShared_5797_ = v_isSharedCheck_5801_;
goto v_resetjp_5795_;
}
v_resetjp_5795_:
{
lean_object* v___x_5799_; 
if (v_isShared_5797_ == 0)
{
v___x_5799_ = v___x_5796_;
goto v_reusejp_5798_;
}
else
{
lean_object* v_reuseFailAlloc_5800_; 
v_reuseFailAlloc_5800_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5800_, 0, v_a_5794_);
v___x_5799_ = v_reuseFailAlloc_5800_;
goto v_reusejp_5798_;
}
v_reusejp_5798_:
{
return v___x_5799_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg___boxed(lean_object* v_alt_5805_, lean_object* v_f_5806_, lean_object* v___y_5807_, lean_object* v___y_5808_, lean_object* v___y_5809_, lean_object* v___y_5810_, lean_object* v___y_5811_, lean_object* v___y_5812_){
_start:
{
lean_object* v_res_5813_; 
v_res_5813_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg(v_alt_5805_, v_f_5806_, v___y_5807_, v___y_5808_, v___y_5809_, v___y_5810_, v___y_5811_);
return v_res_5813_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3(uint8_t v_pu_5814_, lean_object* v_alt_5815_, lean_object* v_f_5816_, lean_object* v___y_5817_, lean_object* v___y_5818_, lean_object* v___y_5819_, lean_object* v___y_5820_, lean_object* v___y_5821_){
_start:
{
lean_object* v___x_5823_; 
v___x_5823_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg(v_alt_5815_, v_f_5816_, v___y_5817_, v___y_5818_, v___y_5819_, v___y_5820_, v___y_5821_);
return v___x_5823_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___boxed(lean_object* v_pu_5824_, lean_object* v_alt_5825_, lean_object* v_f_5826_, lean_object* v___y_5827_, lean_object* v___y_5828_, lean_object* v___y_5829_, lean_object* v___y_5830_, lean_object* v___y_5831_, lean_object* v___y_5832_){
_start:
{
uint8_t v_pu_boxed_5833_; lean_object* v_res_5834_; 
v_pu_boxed_5833_ = lean_unbox(v_pu_5824_);
v_res_5834_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3(v_pu_boxed_5833_, v_alt_5825_, v_f_5826_, v___y_5827_, v___y_5828_, v___y_5829_, v___y_5830_, v___y_5831_);
return v_res_5834_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0(uint8_t v___x_5835_, uint8_t v___x_5836_, lean_object* v_____r_5837_, lean_object* v___y_5838_, lean_object* v___y_5839_, lean_object* v___y_5840_, lean_object* v___y_5841_, lean_object* v___y_5842_){
_start:
{
if (v___x_5835_ == 0)
{
uint8_t v___x_5844_; lean_object* v___x_5845_; lean_object* v___x_5846_; 
v___x_5844_ = 1;
v___x_5845_ = lean_box(v___x_5844_);
v___x_5846_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5846_, 0, v___x_5845_);
return v___x_5846_;
}
else
{
lean_object* v___x_5847_; lean_object* v___x_5848_; 
v___x_5847_ = lean_box(v___x_5836_);
v___x_5848_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5848_, 0, v___x_5847_);
return v___x_5848_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0___boxed(lean_object* v___x_5849_, lean_object* v___x_5850_, lean_object* v_____r_5851_, lean_object* v___y_5852_, lean_object* v___y_5853_, lean_object* v___y_5854_, lean_object* v___y_5855_, lean_object* v___y_5856_, lean_object* v___y_5857_){
_start:
{
uint8_t v___x_9135__boxed_5858_; uint8_t v___x_9136__boxed_5859_; lean_object* v_res_5860_; 
v___x_9135__boxed_5858_ = lean_unbox(v___x_5849_);
v___x_9136__boxed_5859_ = lean_unbox(v___x_5850_);
v_res_5860_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0(v___x_9135__boxed_5858_, v___x_9136__boxed_5859_, v_____r_5851_, v___y_5852_, v___y_5853_, v___y_5854_, v___y_5855_, v___y_5856_);
lean_dec(v___y_5856_);
lean_dec_ref(v___y_5855_);
lean_dec(v___y_5854_);
lean_dec_ref(v___y_5853_);
lean_dec(v___y_5852_);
return v_res_5860_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0(lean_object* v_val_5861_, lean_object* v_as_5862_, size_t v_i_5863_, size_t v_stop_5864_, lean_object* v_b_5865_, lean_object* v___y_5866_, lean_object* v___y_5867_, lean_object* v___y_5868_, lean_object* v___y_5869_, lean_object* v___y_5870_){
_start:
{
lean_object* v_a_5873_; uint8_t v___x_5877_; 
v___x_5877_ = lean_usize_dec_eq(v_i_5863_, v_stop_5864_);
if (v___x_5877_ == 0)
{
lean_object* v___x_5878_; lean_object* v___y_5880_; lean_object* v_fvarId_5892_; uint8_t v___x_5893_; 
v___x_5878_ = lean_array_uget_borrowed(v_as_5862_, v_i_5863_);
v_fvarId_5892_ = lean_ctor_get(v___x_5878_, 0);
v___x_5893_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v_val_5861_, v_fvarId_5892_);
if (v___x_5893_ == 0)
{
lean_object* v___x_5894_; lean_object* v___x_5895_; 
v___x_5894_ = lean_box(0);
v___x_5895_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0(v___x_5893_, v___x_5877_, v___x_5894_, v___y_5866_, v___y_5867_, v___y_5868_, v___y_5869_, v___y_5870_);
v___y_5880_ = v___x_5895_;
goto v___jp_5879_;
}
else
{
uint8_t v___x_5896_; lean_object* v___x_5897_; 
v___x_5896_ = 0;
v___x_5897_ = l_Lean_Compiler_LCNF_eraseParam___redArg(v___x_5896_, v___x_5878_, v___y_5868_);
if (lean_obj_tag(v___x_5897_) == 0)
{
lean_object* v_a_5898_; lean_object* v___x_5899_; 
v_a_5898_ = lean_ctor_get(v___x_5897_, 0);
lean_inc(v_a_5898_);
lean_dec_ref(v___x_5897_);
v___x_5899_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___lam__0(v___x_5893_, v___x_5877_, v_a_5898_, v___y_5866_, v___y_5867_, v___y_5868_, v___y_5869_, v___y_5870_);
v___y_5880_ = v___x_5899_;
goto v___jp_5879_;
}
else
{
lean_object* v_a_5900_; lean_object* v___x_5902_; uint8_t v_isShared_5903_; uint8_t v_isSharedCheck_5907_; 
lean_dec_ref(v_b_5865_);
v_a_5900_ = lean_ctor_get(v___x_5897_, 0);
v_isSharedCheck_5907_ = !lean_is_exclusive(v___x_5897_);
if (v_isSharedCheck_5907_ == 0)
{
v___x_5902_ = v___x_5897_;
v_isShared_5903_ = v_isSharedCheck_5907_;
goto v_resetjp_5901_;
}
else
{
lean_inc(v_a_5900_);
lean_dec(v___x_5897_);
v___x_5902_ = lean_box(0);
v_isShared_5903_ = v_isSharedCheck_5907_;
goto v_resetjp_5901_;
}
v_resetjp_5901_:
{
lean_object* v___x_5905_; 
if (v_isShared_5903_ == 0)
{
v___x_5905_ = v___x_5902_;
goto v_reusejp_5904_;
}
else
{
lean_object* v_reuseFailAlloc_5906_; 
v_reuseFailAlloc_5906_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5906_, 0, v_a_5900_);
v___x_5905_ = v_reuseFailAlloc_5906_;
goto v_reusejp_5904_;
}
v_reusejp_5904_:
{
return v___x_5905_;
}
}
}
}
v___jp_5879_:
{
if (lean_obj_tag(v___y_5880_) == 0)
{
lean_object* v_a_5881_; uint8_t v___x_5882_; 
v_a_5881_ = lean_ctor_get(v___y_5880_, 0);
lean_inc(v_a_5881_);
lean_dec_ref(v___y_5880_);
v___x_5882_ = lean_unbox(v_a_5881_);
lean_dec(v_a_5881_);
if (v___x_5882_ == 0)
{
v_a_5873_ = v_b_5865_;
goto v___jp_5872_;
}
else
{
lean_object* v___x_5883_; 
lean_inc(v___x_5878_);
v___x_5883_ = lean_array_push(v_b_5865_, v___x_5878_);
v_a_5873_ = v___x_5883_;
goto v___jp_5872_;
}
}
else
{
lean_object* v_a_5884_; lean_object* v___x_5886_; uint8_t v_isShared_5887_; uint8_t v_isSharedCheck_5891_; 
lean_dec_ref(v_b_5865_);
v_a_5884_ = lean_ctor_get(v___y_5880_, 0);
v_isSharedCheck_5891_ = !lean_is_exclusive(v___y_5880_);
if (v_isSharedCheck_5891_ == 0)
{
v___x_5886_ = v___y_5880_;
v_isShared_5887_ = v_isSharedCheck_5891_;
goto v_resetjp_5885_;
}
else
{
lean_inc(v_a_5884_);
lean_dec(v___y_5880_);
v___x_5886_ = lean_box(0);
v_isShared_5887_ = v_isSharedCheck_5891_;
goto v_resetjp_5885_;
}
v_resetjp_5885_:
{
lean_object* v___x_5889_; 
if (v_isShared_5887_ == 0)
{
v___x_5889_ = v___x_5886_;
goto v_reusejp_5888_;
}
else
{
lean_object* v_reuseFailAlloc_5890_; 
v_reuseFailAlloc_5890_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5890_, 0, v_a_5884_);
v___x_5889_ = v_reuseFailAlloc_5890_;
goto v_reusejp_5888_;
}
v_reusejp_5888_:
{
return v___x_5889_;
}
}
}
}
}
else
{
lean_object* v___x_5908_; 
v___x_5908_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5908_, 0, v_b_5865_);
return v___x_5908_;
}
v___jp_5872_:
{
size_t v___x_5874_; size_t v___x_5875_; 
v___x_5874_ = ((size_t)1ULL);
v___x_5875_ = lean_usize_add(v_i_5863_, v___x_5874_);
v_i_5863_ = v___x_5875_;
v_b_5865_ = v_a_5873_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0___boxed(lean_object* v_val_5909_, lean_object* v_as_5910_, lean_object* v_i_5911_, lean_object* v_stop_5912_, lean_object* v_b_5913_, lean_object* v___y_5914_, lean_object* v___y_5915_, lean_object* v___y_5916_, lean_object* v___y_5917_, lean_object* v___y_5918_, lean_object* v___y_5919_){
_start:
{
size_t v_i_boxed_5920_; size_t v_stop_boxed_5921_; lean_object* v_res_5922_; 
v_i_boxed_5920_ = lean_unbox_usize(v_i_5911_);
lean_dec(v_i_5911_);
v_stop_boxed_5921_ = lean_unbox_usize(v_stop_5912_);
lean_dec(v_stop_5912_);
v_res_5922_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0(v_val_5909_, v_as_5910_, v_i_boxed_5920_, v_stop_boxed_5921_, v_b_5913_, v___y_5914_, v___y_5915_, v___y_5916_, v___y_5917_, v___y_5918_);
lean_dec(v___y_5918_);
lean_dec_ref(v___y_5917_);
lean_dec(v___y_5916_);
lean_dec_ref(v___y_5915_);
lean_dec(v___y_5914_);
lean_dec_ref(v_as_5910_);
lean_dec_ref(v_val_5909_);
return v_res_5922_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1(size_t v_sz_5923_, size_t v_i_5924_, lean_object* v_bs_5925_){
_start:
{
uint8_t v___x_5926_; 
v___x_5926_ = lean_usize_dec_lt(v_i_5924_, v_sz_5923_);
if (v___x_5926_ == 0)
{
return v_bs_5925_;
}
else
{
lean_object* v_v_5927_; lean_object* v_snd_5928_; lean_object* v___x_5929_; lean_object* v_bs_x27_5930_; size_t v___x_5931_; size_t v___x_5932_; lean_object* v___x_5933_; 
v_v_5927_ = lean_array_uget_borrowed(v_bs_5925_, v_i_5924_);
v_snd_5928_ = lean_ctor_get(v_v_5927_, 1);
lean_inc(v_snd_5928_);
v___x_5929_ = lean_unsigned_to_nat(0u);
v_bs_x27_5930_ = lean_array_uset(v_bs_5925_, v_i_5924_, v___x_5929_);
v___x_5931_ = ((size_t)1ULL);
v___x_5932_ = lean_usize_add(v_i_5924_, v___x_5931_);
v___x_5933_ = lean_array_uset(v_bs_x27_5930_, v_i_5924_, v_snd_5928_);
v_i_5924_ = v___x_5932_;
v_bs_5925_ = v___x_5933_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1___boxed(lean_object* v_sz_5935_, lean_object* v_i_5936_, lean_object* v_bs_5937_){
_start:
{
size_t v_sz_boxed_5938_; size_t v_i_boxed_5939_; lean_object* v_res_5940_; 
v_sz_boxed_5938_ = lean_unbox_usize(v_sz_5935_);
lean_dec(v_sz_5935_);
v_i_boxed_5939_ = lean_unbox_usize(v_i_5936_);
lean_dec(v_i_5936_);
v_res_5940_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1(v_sz_boxed_5938_, v_i_boxed_5939_, v_bs_5937_);
return v_res_5940_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2(lean_object* v___x_5941_, lean_object* v_as_5942_, size_t v_i_5943_, size_t v_stop_5944_, lean_object* v_b_5945_){
_start:
{
lean_object* v___y_5947_; uint8_t v___x_5951_; 
v___x_5951_ = lean_usize_dec_eq(v_i_5943_, v_stop_5944_);
if (v___x_5951_ == 0)
{
lean_object* v___x_5952_; lean_object* v_fst_5953_; lean_object* v_fvarId_5954_; uint8_t v___x_5955_; 
v___x_5952_ = lean_array_uget_borrowed(v_as_5942_, v_i_5943_);
v_fst_5953_ = lean_ctor_get(v___x_5952_, 0);
v_fvarId_5954_ = lean_ctor_get(v_fst_5953_, 0);
v___x_5955_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_replace_go_spec__0___redArg(v___x_5941_, v_fvarId_5954_);
if (v___x_5955_ == 0)
{
lean_object* v___x_5956_; 
lean_inc(v___x_5952_);
v___x_5956_ = lean_array_push(v_b_5945_, v___x_5952_);
v___y_5947_ = v___x_5956_;
goto v___jp_5946_;
}
else
{
v___y_5947_ = v_b_5945_;
goto v___jp_5946_;
}
}
else
{
return v_b_5945_;
}
v___jp_5946_:
{
size_t v___x_5948_; size_t v___x_5949_; 
v___x_5948_ = ((size_t)1ULL);
v___x_5949_ = lean_usize_add(v_i_5943_, v___x_5948_);
v_i_5943_ = v___x_5949_;
v_b_5945_ = v___y_5947_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2___boxed(lean_object* v___x_5957_, lean_object* v_as_5958_, lean_object* v_i_5959_, lean_object* v_stop_5960_, lean_object* v_b_5961_){
_start:
{
size_t v_i_boxed_5962_; size_t v_stop_boxed_5963_; lean_object* v_res_5964_; 
v_i_boxed_5962_ = lean_unbox_usize(v_i_5959_);
lean_dec(v_i_5959_);
v_stop_boxed_5963_ = lean_unbox_usize(v_stop_5960_);
lean_dec(v_stop_5960_);
v_res_5964_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2(v___x_5957_, v_as_5958_, v_i_boxed_5962_, v_stop_boxed_5963_, v_b_5961_);
lean_dec_ref(v_as_5958_);
lean_dec_ref(v___x_5957_);
return v_res_5964_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(lean_object* v_code_5969_, lean_object* v_a_5970_, lean_object* v_a_5971_, lean_object* v_a_5972_, lean_object* v_a_5973_, lean_object* v_a_5974_){
_start:
{
lean_object* v___y_5977_; lean_object* v___y_5978_; uint8_t v___y_5979_; 
switch(lean_obj_tag(v_code_5969_))
{
case 0:
{
lean_object* v_decl_5983_; lean_object* v_k_5984_; lean_object* v___x_5985_; 
v_decl_5983_ = lean_ctor_get(v_code_5969_, 0);
v_k_5984_ = lean_ctor_get(v_code_5969_, 1);
lean_inc_ref(v_k_5984_);
v___x_5985_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_k_5984_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_5985_) == 0)
{
lean_object* v_a_5986_; lean_object* v___x_5988_; uint8_t v_isShared_5989_; uint8_t v_isSharedCheck_6012_; 
v_a_5986_ = lean_ctor_get(v___x_5985_, 0);
v_isSharedCheck_6012_ = !lean_is_exclusive(v___x_5985_);
if (v_isSharedCheck_6012_ == 0)
{
v___x_5988_ = v___x_5985_;
v_isShared_5989_ = v_isSharedCheck_6012_;
goto v_resetjp_5987_;
}
else
{
lean_inc(v_a_5986_);
lean_dec(v___x_5985_);
v___x_5988_ = lean_box(0);
v_isShared_5989_ = v_isSharedCheck_6012_;
goto v_resetjp_5987_;
}
v_resetjp_5987_:
{
uint8_t v___y_5991_; size_t v___x_6007_; size_t v___x_6008_; uint8_t v___x_6009_; 
v___x_6007_ = lean_ptr_addr(v_k_5984_);
v___x_6008_ = lean_ptr_addr(v_a_5986_);
v___x_6009_ = lean_usize_dec_eq(v___x_6007_, v___x_6008_);
if (v___x_6009_ == 0)
{
v___y_5991_ = v___x_6009_;
goto v___jp_5990_;
}
else
{
size_t v___x_6010_; uint8_t v___x_6011_; 
v___x_6010_ = lean_ptr_addr(v_decl_5983_);
v___x_6011_ = lean_usize_dec_eq(v___x_6010_, v___x_6010_);
v___y_5991_ = v___x_6011_;
goto v___jp_5990_;
}
v___jp_5990_:
{
if (v___y_5991_ == 0)
{
lean_object* v___x_5993_; uint8_t v_isShared_5994_; uint8_t v_isSharedCheck_6001_; 
lean_inc_ref(v_decl_5983_);
v_isSharedCheck_6001_ = !lean_is_exclusive(v_code_5969_);
if (v_isSharedCheck_6001_ == 0)
{
lean_object* v_unused_6002_; lean_object* v_unused_6003_; 
v_unused_6002_ = lean_ctor_get(v_code_5969_, 1);
lean_dec(v_unused_6002_);
v_unused_6003_ = lean_ctor_get(v_code_5969_, 0);
lean_dec(v_unused_6003_);
v___x_5993_ = v_code_5969_;
v_isShared_5994_ = v_isSharedCheck_6001_;
goto v_resetjp_5992_;
}
else
{
lean_dec(v_code_5969_);
v___x_5993_ = lean_box(0);
v_isShared_5994_ = v_isSharedCheck_6001_;
goto v_resetjp_5992_;
}
v_resetjp_5992_:
{
lean_object* v___x_5996_; 
if (v_isShared_5994_ == 0)
{
lean_ctor_set(v___x_5993_, 1, v_a_5986_);
v___x_5996_ = v___x_5993_;
goto v_reusejp_5995_;
}
else
{
lean_object* v_reuseFailAlloc_6000_; 
v_reuseFailAlloc_6000_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6000_, 0, v_decl_5983_);
lean_ctor_set(v_reuseFailAlloc_6000_, 1, v_a_5986_);
v___x_5996_ = v_reuseFailAlloc_6000_;
goto v_reusejp_5995_;
}
v_reusejp_5995_:
{
lean_object* v___x_5998_; 
if (v_isShared_5989_ == 0)
{
lean_ctor_set(v___x_5988_, 0, v___x_5996_);
v___x_5998_ = v___x_5988_;
goto v_reusejp_5997_;
}
else
{
lean_object* v_reuseFailAlloc_5999_; 
v_reuseFailAlloc_5999_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5999_, 0, v___x_5996_);
v___x_5998_ = v_reuseFailAlloc_5999_;
goto v_reusejp_5997_;
}
v_reusejp_5997_:
{
return v___x_5998_;
}
}
}
}
else
{
lean_object* v___x_6005_; 
lean_dec(v_a_5986_);
if (v_isShared_5989_ == 0)
{
lean_ctor_set(v___x_5988_, 0, v_code_5969_);
v___x_6005_ = v___x_5988_;
goto v_reusejp_6004_;
}
else
{
lean_object* v_reuseFailAlloc_6006_; 
v_reuseFailAlloc_6006_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6006_, 0, v_code_5969_);
v___x_6005_ = v_reuseFailAlloc_6006_;
goto v_reusejp_6004_;
}
v_reusejp_6004_:
{
return v___x_6005_;
}
}
}
}
}
else
{
lean_dec_ref(v_code_5969_);
return v___x_5985_;
}
}
case 1:
{
lean_object* v_decl_6013_; lean_object* v_k_6014_; lean_object* v_params_6015_; lean_object* v_type_6016_; lean_object* v_value_6017_; lean_object* v___x_6018_; 
v_decl_6013_ = lean_ctor_get(v_code_5969_, 0);
v_k_6014_ = lean_ctor_get(v_code_5969_, 1);
v_params_6015_ = lean_ctor_get(v_decl_6013_, 2);
v_type_6016_ = lean_ctor_get(v_decl_6013_, 3);
v_value_6017_ = lean_ctor_get(v_decl_6013_, 4);
lean_inc(v_a_5974_);
lean_inc_ref(v_a_5973_);
lean_inc(v_a_5972_);
lean_inc_ref(v_a_5971_);
lean_inc(v_a_5970_);
lean_inc_ref(v_value_6017_);
v___x_6018_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_value_6017_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6018_) == 0)
{
lean_object* v_a_6019_; uint8_t v___x_6020_; lean_object* v___x_6021_; 
v_a_6019_ = lean_ctor_get(v___x_6018_, 0);
lean_inc(v_a_6019_);
lean_dec_ref(v___x_6018_);
v___x_6020_ = 0;
lean_inc_ref(v_params_6015_);
lean_inc_ref(v_type_6016_);
lean_inc_ref(v_decl_6013_);
v___x_6021_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_6020_, v_decl_6013_, v_type_6016_, v_params_6015_, v_a_6019_, v_a_5972_);
if (lean_obj_tag(v___x_6021_) == 0)
{
lean_object* v_a_6022_; lean_object* v___x_6023_; 
v_a_6022_ = lean_ctor_get(v___x_6021_, 0);
lean_inc(v_a_6022_);
lean_dec_ref(v___x_6021_);
lean_inc_ref(v_k_6014_);
v___x_6023_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_k_6014_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6023_) == 0)
{
lean_object* v_a_6024_; lean_object* v___x_6026_; uint8_t v_isShared_6027_; uint8_t v_isSharedCheck_6051_; 
v_a_6024_ = lean_ctor_get(v___x_6023_, 0);
v_isSharedCheck_6051_ = !lean_is_exclusive(v___x_6023_);
if (v_isSharedCheck_6051_ == 0)
{
v___x_6026_ = v___x_6023_;
v_isShared_6027_ = v_isSharedCheck_6051_;
goto v_resetjp_6025_;
}
else
{
lean_inc(v_a_6024_);
lean_dec(v___x_6023_);
v___x_6026_ = lean_box(0);
v_isShared_6027_ = v_isSharedCheck_6051_;
goto v_resetjp_6025_;
}
v_resetjp_6025_:
{
uint8_t v___y_6029_; size_t v___x_6045_; size_t v___x_6046_; uint8_t v___x_6047_; 
v___x_6045_ = lean_ptr_addr(v_k_6014_);
v___x_6046_ = lean_ptr_addr(v_a_6024_);
v___x_6047_ = lean_usize_dec_eq(v___x_6045_, v___x_6046_);
if (v___x_6047_ == 0)
{
v___y_6029_ = v___x_6047_;
goto v___jp_6028_;
}
else
{
size_t v___x_6048_; size_t v___x_6049_; uint8_t v___x_6050_; 
v___x_6048_ = lean_ptr_addr(v_decl_6013_);
v___x_6049_ = lean_ptr_addr(v_a_6022_);
v___x_6050_ = lean_usize_dec_eq(v___x_6048_, v___x_6049_);
v___y_6029_ = v___x_6050_;
goto v___jp_6028_;
}
v___jp_6028_:
{
if (v___y_6029_ == 0)
{
lean_object* v___x_6031_; uint8_t v_isShared_6032_; uint8_t v_isSharedCheck_6039_; 
v_isSharedCheck_6039_ = !lean_is_exclusive(v_code_5969_);
if (v_isSharedCheck_6039_ == 0)
{
lean_object* v_unused_6040_; lean_object* v_unused_6041_; 
v_unused_6040_ = lean_ctor_get(v_code_5969_, 1);
lean_dec(v_unused_6040_);
v_unused_6041_ = lean_ctor_get(v_code_5969_, 0);
lean_dec(v_unused_6041_);
v___x_6031_ = v_code_5969_;
v_isShared_6032_ = v_isSharedCheck_6039_;
goto v_resetjp_6030_;
}
else
{
lean_dec(v_code_5969_);
v___x_6031_ = lean_box(0);
v_isShared_6032_ = v_isSharedCheck_6039_;
goto v_resetjp_6030_;
}
v_resetjp_6030_:
{
lean_object* v___x_6034_; 
if (v_isShared_6032_ == 0)
{
lean_ctor_set(v___x_6031_, 1, v_a_6024_);
lean_ctor_set(v___x_6031_, 0, v_a_6022_);
v___x_6034_ = v___x_6031_;
goto v_reusejp_6033_;
}
else
{
lean_object* v_reuseFailAlloc_6038_; 
v_reuseFailAlloc_6038_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6038_, 0, v_a_6022_);
lean_ctor_set(v_reuseFailAlloc_6038_, 1, v_a_6024_);
v___x_6034_ = v_reuseFailAlloc_6038_;
goto v_reusejp_6033_;
}
v_reusejp_6033_:
{
lean_object* v___x_6036_; 
if (v_isShared_6027_ == 0)
{
lean_ctor_set(v___x_6026_, 0, v___x_6034_);
v___x_6036_ = v___x_6026_;
goto v_reusejp_6035_;
}
else
{
lean_object* v_reuseFailAlloc_6037_; 
v_reuseFailAlloc_6037_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6037_, 0, v___x_6034_);
v___x_6036_ = v_reuseFailAlloc_6037_;
goto v_reusejp_6035_;
}
v_reusejp_6035_:
{
return v___x_6036_;
}
}
}
}
else
{
lean_object* v___x_6043_; 
lean_dec(v_a_6024_);
lean_dec(v_a_6022_);
if (v_isShared_6027_ == 0)
{
lean_ctor_set(v___x_6026_, 0, v_code_5969_);
v___x_6043_ = v___x_6026_;
goto v_reusejp_6042_;
}
else
{
lean_object* v_reuseFailAlloc_6044_; 
v_reuseFailAlloc_6044_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6044_, 0, v_code_5969_);
v___x_6043_ = v_reuseFailAlloc_6044_;
goto v_reusejp_6042_;
}
v_reusejp_6042_:
{
return v___x_6043_;
}
}
}
}
}
else
{
lean_dec(v_a_6022_);
lean_dec_ref(v_code_5969_);
return v___x_6023_;
}
}
else
{
lean_object* v_a_6052_; lean_object* v___x_6054_; uint8_t v_isShared_6055_; uint8_t v_isSharedCheck_6059_; 
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
v_a_6052_ = lean_ctor_get(v___x_6021_, 0);
v_isSharedCheck_6059_ = !lean_is_exclusive(v___x_6021_);
if (v_isSharedCheck_6059_ == 0)
{
v___x_6054_ = v___x_6021_;
v_isShared_6055_ = v_isSharedCheck_6059_;
goto v_resetjp_6053_;
}
else
{
lean_inc(v_a_6052_);
lean_dec(v___x_6021_);
v___x_6054_ = lean_box(0);
v_isShared_6055_ = v_isSharedCheck_6059_;
goto v_resetjp_6053_;
}
v_resetjp_6053_:
{
lean_object* v___x_6057_; 
if (v_isShared_6055_ == 0)
{
v___x_6057_ = v___x_6054_;
goto v_reusejp_6056_;
}
else
{
lean_object* v_reuseFailAlloc_6058_; 
v_reuseFailAlloc_6058_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6058_, 0, v_a_6052_);
v___x_6057_ = v_reuseFailAlloc_6058_;
goto v_reusejp_6056_;
}
v_reusejp_6056_:
{
return v___x_6057_;
}
}
}
}
else
{
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
return v___x_6018_;
}
}
case 2:
{
lean_object* v_decl_6060_; lean_object* v_k_6061_; lean_object* v_fvarId_6062_; lean_object* v_params_6063_; lean_object* v_type_6064_; lean_object* v_value_6065_; lean_object* v___x_6066_; 
v_decl_6060_ = lean_ctor_get(v_code_5969_, 0);
v_k_6061_ = lean_ctor_get(v_code_5969_, 1);
v_fvarId_6062_ = lean_ctor_get(v_decl_6060_, 0);
v_params_6063_ = lean_ctor_get(v_decl_6060_, 2);
v_type_6064_ = lean_ctor_get(v_decl_6060_, 3);
v_value_6065_ = lean_ctor_get(v_decl_6060_, 4);
v___x_6066_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goAnalyze_spec__4___redArg(v_a_5970_, v_fvarId_6062_);
if (lean_obj_tag(v___x_6066_) == 1)
{
lean_object* v_val_6067_; uint8_t v___x_6068_; lean_object* v___y_6070_; lean_object* v___y_6071_; lean_object* v_newType_6072_; lean_object* v___y_6073_; lean_object* v___y_6074_; lean_object* v___y_6075_; lean_object* v___y_6076_; lean_object* v___y_6077_; lean_object* v___x_6096_; lean_object* v___x_6097_; lean_object* v_a_6099_; lean_object* v___y_6128_; lean_object* v___x_6138_; uint8_t v___x_6139_; 
v_val_6067_ = lean_ctor_get(v___x_6066_, 0);
lean_inc(v_val_6067_);
lean_dec_ref(v___x_6066_);
v___x_6068_ = 0;
v___x_6096_ = lean_unsigned_to_nat(0u);
v___x_6097_ = lean_array_get_size(v_params_6063_);
v___x_6138_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__0));
v___x_6139_ = lean_nat_dec_lt(v___x_6096_, v___x_6097_);
if (v___x_6139_ == 0)
{
v_a_6099_ = v___x_6138_;
goto v___jp_6098_;
}
else
{
uint8_t v___x_6140_; 
v___x_6140_ = lean_nat_dec_le(v___x_6097_, v___x_6097_);
if (v___x_6140_ == 0)
{
if (v___x_6139_ == 0)
{
v_a_6099_ = v___x_6138_;
goto v___jp_6098_;
}
else
{
size_t v___x_6141_; size_t v___x_6142_; lean_object* v___x_6143_; 
v___x_6141_ = ((size_t)0ULL);
v___x_6142_ = lean_usize_of_nat(v___x_6097_);
v___x_6143_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0(v_val_6067_, v_params_6063_, v___x_6141_, v___x_6142_, v___x_6138_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
v___y_6128_ = v___x_6143_;
goto v___jp_6127_;
}
}
else
{
size_t v___x_6144_; size_t v___x_6145_; lean_object* v___x_6146_; 
v___x_6144_ = ((size_t)0ULL);
v___x_6145_ = lean_usize_of_nat(v___x_6097_);
v___x_6146_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__0(v_val_6067_, v_params_6063_, v___x_6144_, v___x_6145_, v___x_6138_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
v___y_6128_ = v___x_6146_;
goto v___jp_6127_;
}
}
v___jp_6069_:
{
lean_object* v___x_6078_; 
lean_inc(v___y_6075_);
lean_inc_ref(v_k_6061_);
v___x_6078_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_k_6061_, v___y_6073_, v___y_6074_, v___y_6075_, v___y_6076_, v___y_6077_);
if (lean_obj_tag(v___x_6078_) == 0)
{
lean_object* v_a_6079_; lean_object* v___x_6080_; 
v_a_6079_ = lean_ctor_get(v___x_6078_, 0);
lean_inc(v_a_6079_);
lean_dec_ref(v___x_6078_);
lean_inc_ref(v_decl_6060_);
v___x_6080_ = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___redArg(v___x_6068_, v_decl_6060_, v_newType_6072_, v___y_6070_, v___y_6071_, v___y_6075_);
lean_dec(v___y_6075_);
if (lean_obj_tag(v___x_6080_) == 0)
{
lean_object* v_a_6081_; size_t v___x_6082_; size_t v___x_6083_; uint8_t v___x_6084_; 
v_a_6081_ = lean_ctor_get(v___x_6080_, 0);
lean_inc(v_a_6081_);
lean_dec_ref(v___x_6080_);
v___x_6082_ = lean_ptr_addr(v_k_6061_);
v___x_6083_ = lean_ptr_addr(v_a_6079_);
v___x_6084_ = lean_usize_dec_eq(v___x_6082_, v___x_6083_);
if (v___x_6084_ == 0)
{
v___y_5977_ = v_a_6081_;
v___y_5978_ = v_a_6079_;
v___y_5979_ = v___x_6084_;
goto v___jp_5976_;
}
else
{
size_t v___x_6085_; size_t v___x_6086_; uint8_t v___x_6087_; 
v___x_6085_ = lean_ptr_addr(v_decl_6060_);
v___x_6086_ = lean_ptr_addr(v_a_6081_);
v___x_6087_ = lean_usize_dec_eq(v___x_6085_, v___x_6086_);
v___y_5977_ = v_a_6081_;
v___y_5978_ = v_a_6079_;
v___y_5979_ = v___x_6087_;
goto v___jp_5976_;
}
}
else
{
lean_object* v_a_6088_; lean_object* v___x_6090_; uint8_t v_isShared_6091_; uint8_t v_isSharedCheck_6095_; 
lean_dec(v_a_6079_);
lean_dec_ref(v_code_5969_);
v_a_6088_ = lean_ctor_get(v___x_6080_, 0);
v_isSharedCheck_6095_ = !lean_is_exclusive(v___x_6080_);
if (v_isSharedCheck_6095_ == 0)
{
v___x_6090_ = v___x_6080_;
v_isShared_6091_ = v_isSharedCheck_6095_;
goto v_resetjp_6089_;
}
else
{
lean_inc(v_a_6088_);
lean_dec(v___x_6080_);
v___x_6090_ = lean_box(0);
v_isShared_6091_ = v_isSharedCheck_6095_;
goto v_resetjp_6089_;
}
v_resetjp_6089_:
{
lean_object* v___x_6093_; 
if (v_isShared_6091_ == 0)
{
v___x_6093_ = v___x_6090_;
goto v_reusejp_6092_;
}
else
{
lean_object* v_reuseFailAlloc_6094_; 
v_reuseFailAlloc_6094_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6094_, 0, v_a_6088_);
v___x_6093_ = v_reuseFailAlloc_6094_;
goto v_reusejp_6092_;
}
v_reusejp_6092_:
{
return v___x_6093_;
}
}
}
}
else
{
lean_dec(v___y_6075_);
lean_dec_ref(v_newType_6072_);
lean_dec_ref(v___y_6071_);
lean_dec_ref(v___y_6070_);
lean_dec_ref(v_code_5969_);
return v___x_6078_;
}
}
v___jp_6098_:
{
lean_object* v___x_6100_; 
lean_inc(v_a_5974_);
lean_inc_ref(v_a_5973_);
lean_inc(v_a_5972_);
lean_inc_ref(v_a_5971_);
lean_inc(v_a_5970_);
lean_inc_ref(v_value_6065_);
v___x_6100_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_value_6065_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6100_) == 0)
{
lean_object* v_a_6101_; uint8_t v___x_6102_; lean_object* v___x_6103_; 
v_a_6101_ = lean_ctor_get(v___x_6100_, 0);
lean_inc(v_a_6101_);
lean_dec_ref(v___x_6100_);
v___x_6102_ = 0;
v___x_6103_ = l_Lean_Compiler_LCNF_replaceFVars(v___x_6068_, v_a_6101_, v_val_6067_, v___x_6102_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
lean_dec(v_val_6067_);
if (lean_obj_tag(v___x_6103_) == 0)
{
lean_object* v_a_6104_; lean_object* v___x_6105_; uint8_t v___x_6106_; 
v_a_6104_ = lean_ctor_get(v___x_6103_, 0);
lean_inc(v_a_6104_);
lean_dec_ref(v___x_6103_);
v___x_6105_ = lean_array_get_size(v_a_6099_);
v___x_6106_ = lean_nat_dec_eq(v___x_6105_, v___x_6097_);
if (v___x_6106_ == 0)
{
lean_object* v___x_6107_; 
lean_inc(v_a_5974_);
lean_inc_ref(v_a_5973_);
lean_inc(v_a_5972_);
lean_inc_ref(v_a_5971_);
lean_inc(v_a_6104_);
v___x_6107_ = l_Lean_Compiler_LCNF_Code_inferType(v___x_6068_, v_a_6104_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6107_) == 0)
{
lean_object* v_a_6108_; lean_object* v___x_6109_; 
v_a_6108_ = lean_ctor_get(v___x_6107_, 0);
lean_inc(v_a_6108_);
lean_dec_ref(v___x_6107_);
lean_inc(v_a_5974_);
lean_inc_ref(v_a_5973_);
lean_inc(v_a_5972_);
lean_inc_ref(v_a_5971_);
lean_inc_ref(v_a_6099_);
v___x_6109_ = l_Lean_Compiler_LCNF_mkForallParams(v___x_6068_, v_a_6099_, v_a_6108_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
lean_dec(v_a_6108_);
if (lean_obj_tag(v___x_6109_) == 0)
{
lean_object* v_a_6110_; 
v_a_6110_ = lean_ctor_get(v___x_6109_, 0);
lean_inc(v_a_6110_);
lean_dec_ref(v___x_6109_);
v___y_6070_ = v_a_6099_;
v___y_6071_ = v_a_6104_;
v_newType_6072_ = v_a_6110_;
v___y_6073_ = v_a_5970_;
v___y_6074_ = v_a_5971_;
v___y_6075_ = v_a_5972_;
v___y_6076_ = v_a_5973_;
v___y_6077_ = v_a_5974_;
goto v___jp_6069_;
}
else
{
lean_object* v_a_6111_; lean_object* v___x_6113_; uint8_t v_isShared_6114_; uint8_t v_isSharedCheck_6118_; 
lean_dec(v_a_6104_);
lean_dec_ref(v_a_6099_);
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
v_a_6111_ = lean_ctor_get(v___x_6109_, 0);
v_isSharedCheck_6118_ = !lean_is_exclusive(v___x_6109_);
if (v_isSharedCheck_6118_ == 0)
{
v___x_6113_ = v___x_6109_;
v_isShared_6114_ = v_isSharedCheck_6118_;
goto v_resetjp_6112_;
}
else
{
lean_inc(v_a_6111_);
lean_dec(v___x_6109_);
v___x_6113_ = lean_box(0);
v_isShared_6114_ = v_isSharedCheck_6118_;
goto v_resetjp_6112_;
}
v_resetjp_6112_:
{
lean_object* v___x_6116_; 
if (v_isShared_6114_ == 0)
{
v___x_6116_ = v___x_6113_;
goto v_reusejp_6115_;
}
else
{
lean_object* v_reuseFailAlloc_6117_; 
v_reuseFailAlloc_6117_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6117_, 0, v_a_6111_);
v___x_6116_ = v_reuseFailAlloc_6117_;
goto v_reusejp_6115_;
}
v_reusejp_6115_:
{
return v___x_6116_;
}
}
}
}
else
{
lean_object* v_a_6119_; lean_object* v___x_6121_; uint8_t v_isShared_6122_; uint8_t v_isSharedCheck_6126_; 
lean_dec(v_a_6104_);
lean_dec_ref(v_a_6099_);
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
v_a_6119_ = lean_ctor_get(v___x_6107_, 0);
v_isSharedCheck_6126_ = !lean_is_exclusive(v___x_6107_);
if (v_isSharedCheck_6126_ == 0)
{
v___x_6121_ = v___x_6107_;
v_isShared_6122_ = v_isSharedCheck_6126_;
goto v_resetjp_6120_;
}
else
{
lean_inc(v_a_6119_);
lean_dec(v___x_6107_);
v___x_6121_ = lean_box(0);
v_isShared_6122_ = v_isSharedCheck_6126_;
goto v_resetjp_6120_;
}
v_resetjp_6120_:
{
lean_object* v___x_6124_; 
if (v_isShared_6122_ == 0)
{
v___x_6124_ = v___x_6121_;
goto v_reusejp_6123_;
}
else
{
lean_object* v_reuseFailAlloc_6125_; 
v_reuseFailAlloc_6125_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6125_, 0, v_a_6119_);
v___x_6124_ = v_reuseFailAlloc_6125_;
goto v_reusejp_6123_;
}
v_reusejp_6123_:
{
return v___x_6124_;
}
}
}
}
else
{
lean_inc_ref(v_type_6064_);
v___y_6070_ = v_a_6099_;
v___y_6071_ = v_a_6104_;
v_newType_6072_ = v_type_6064_;
v___y_6073_ = v_a_5970_;
v___y_6074_ = v_a_5971_;
v___y_6075_ = v_a_5972_;
v___y_6076_ = v_a_5973_;
v___y_6077_ = v_a_5974_;
goto v___jp_6069_;
}
}
else
{
lean_dec_ref(v_a_6099_);
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
return v___x_6103_;
}
}
else
{
lean_dec_ref(v_a_6099_);
lean_dec(v_val_6067_);
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
return v___x_6100_;
}
}
v___jp_6127_:
{
if (lean_obj_tag(v___y_6128_) == 0)
{
lean_object* v_a_6129_; 
v_a_6129_ = lean_ctor_get(v___y_6128_, 0);
lean_inc(v_a_6129_);
lean_dec_ref(v___y_6128_);
v_a_6099_ = v_a_6129_;
goto v___jp_6098_;
}
else
{
lean_object* v_a_6130_; lean_object* v___x_6132_; uint8_t v_isShared_6133_; uint8_t v_isSharedCheck_6137_; 
lean_dec(v_val_6067_);
lean_dec_ref(v_code_5969_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
v_a_6130_ = lean_ctor_get(v___y_6128_, 0);
v_isSharedCheck_6137_ = !lean_is_exclusive(v___y_6128_);
if (v_isSharedCheck_6137_ == 0)
{
v___x_6132_ = v___y_6128_;
v_isShared_6133_ = v_isSharedCheck_6137_;
goto v_resetjp_6131_;
}
else
{
lean_inc(v_a_6130_);
lean_dec(v___y_6128_);
v___x_6132_ = lean_box(0);
v_isShared_6133_ = v_isSharedCheck_6137_;
goto v_resetjp_6131_;
}
v_resetjp_6131_:
{
lean_object* v___x_6135_; 
if (v_isShared_6133_ == 0)
{
v___x_6135_ = v___x_6132_;
goto v_reusejp_6134_;
}
else
{
lean_object* v_reuseFailAlloc_6136_; 
v_reuseFailAlloc_6136_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6136_, 0, v_a_6130_);
v___x_6135_ = v_reuseFailAlloc_6136_;
goto v_reusejp_6134_;
}
v_reusejp_6134_:
{
return v___x_6135_;
}
}
}
}
}
else
{
lean_object* v___x_6147_; 
lean_dec(v___x_6066_);
lean_inc_ref(v_k_6061_);
v___x_6147_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_k_6061_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6147_) == 0)
{
lean_object* v_a_6148_; lean_object* v___x_6150_; uint8_t v_isShared_6151_; uint8_t v_isSharedCheck_6174_; 
v_a_6148_ = lean_ctor_get(v___x_6147_, 0);
v_isSharedCheck_6174_ = !lean_is_exclusive(v___x_6147_);
if (v_isSharedCheck_6174_ == 0)
{
v___x_6150_ = v___x_6147_;
v_isShared_6151_ = v_isSharedCheck_6174_;
goto v_resetjp_6149_;
}
else
{
lean_inc(v_a_6148_);
lean_dec(v___x_6147_);
v___x_6150_ = lean_box(0);
v_isShared_6151_ = v_isSharedCheck_6174_;
goto v_resetjp_6149_;
}
v_resetjp_6149_:
{
uint8_t v___y_6153_; size_t v___x_6169_; size_t v___x_6170_; uint8_t v___x_6171_; 
v___x_6169_ = lean_ptr_addr(v_k_6061_);
v___x_6170_ = lean_ptr_addr(v_a_6148_);
v___x_6171_ = lean_usize_dec_eq(v___x_6169_, v___x_6170_);
if (v___x_6171_ == 0)
{
v___y_6153_ = v___x_6171_;
goto v___jp_6152_;
}
else
{
size_t v___x_6172_; uint8_t v___x_6173_; 
v___x_6172_ = lean_ptr_addr(v_decl_6060_);
v___x_6173_ = lean_usize_dec_eq(v___x_6172_, v___x_6172_);
v___y_6153_ = v___x_6173_;
goto v___jp_6152_;
}
v___jp_6152_:
{
if (v___y_6153_ == 0)
{
lean_object* v___x_6155_; uint8_t v_isShared_6156_; uint8_t v_isSharedCheck_6163_; 
lean_inc_ref(v_decl_6060_);
v_isSharedCheck_6163_ = !lean_is_exclusive(v_code_5969_);
if (v_isSharedCheck_6163_ == 0)
{
lean_object* v_unused_6164_; lean_object* v_unused_6165_; 
v_unused_6164_ = lean_ctor_get(v_code_5969_, 1);
lean_dec(v_unused_6164_);
v_unused_6165_ = lean_ctor_get(v_code_5969_, 0);
lean_dec(v_unused_6165_);
v___x_6155_ = v_code_5969_;
v_isShared_6156_ = v_isSharedCheck_6163_;
goto v_resetjp_6154_;
}
else
{
lean_dec(v_code_5969_);
v___x_6155_ = lean_box(0);
v_isShared_6156_ = v_isSharedCheck_6163_;
goto v_resetjp_6154_;
}
v_resetjp_6154_:
{
lean_object* v___x_6158_; 
if (v_isShared_6156_ == 0)
{
lean_ctor_set(v___x_6155_, 1, v_a_6148_);
v___x_6158_ = v___x_6155_;
goto v_reusejp_6157_;
}
else
{
lean_object* v_reuseFailAlloc_6162_; 
v_reuseFailAlloc_6162_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6162_, 0, v_decl_6060_);
lean_ctor_set(v_reuseFailAlloc_6162_, 1, v_a_6148_);
v___x_6158_ = v_reuseFailAlloc_6162_;
goto v_reusejp_6157_;
}
v_reusejp_6157_:
{
lean_object* v___x_6160_; 
if (v_isShared_6151_ == 0)
{
lean_ctor_set(v___x_6150_, 0, v___x_6158_);
v___x_6160_ = v___x_6150_;
goto v_reusejp_6159_;
}
else
{
lean_object* v_reuseFailAlloc_6161_; 
v_reuseFailAlloc_6161_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6161_, 0, v___x_6158_);
v___x_6160_ = v_reuseFailAlloc_6161_;
goto v_reusejp_6159_;
}
v_reusejp_6159_:
{
return v___x_6160_;
}
}
}
}
else
{
lean_object* v___x_6167_; 
lean_dec(v_a_6148_);
if (v_isShared_6151_ == 0)
{
lean_ctor_set(v___x_6150_, 0, v_code_5969_);
v___x_6167_ = v___x_6150_;
goto v_reusejp_6166_;
}
else
{
lean_object* v_reuseFailAlloc_6168_; 
v_reuseFailAlloc_6168_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6168_, 0, v_code_5969_);
v___x_6167_ = v_reuseFailAlloc_6168_;
goto v_reusejp_6166_;
}
v_reusejp_6166_:
{
return v___x_6167_;
}
}
}
}
}
else
{
lean_dec_ref(v_code_5969_);
return v___x_6147_;
}
}
}
case 3:
{
lean_object* v_fvarId_6175_; lean_object* v_args_6176_; lean_object* v___x_6177_; lean_object* v___x_6178_; uint8_t v___x_6179_; lean_object* v___x_6180_; 
v_fvarId_6175_ = lean_ctor_get(v_code_5969_, 0);
v_args_6176_ = lean_ctor_get(v_code_5969_, 1);
v___x_6177_ = lean_obj_once(&l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0, &l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0_once, _init_l_Lean_Compiler_LCNF_JoinPointContextExtender_replaceFVar___redArg___closed__0);
v___x_6178_ = l_Std_DTreeMap_Internal_Impl_Const_get_x21___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_find_go_spec__1___redArg(v___x_6177_, v_a_5970_, v_fvarId_6175_);
lean_dec(v_a_5970_);
v___x_6179_ = 0;
lean_inc(v_fvarId_6175_);
v___x_6180_ = l_Lean_Compiler_LCNF_getFunDecl(v___x_6179_, v_fvarId_6175_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
if (lean_obj_tag(v___x_6180_) == 0)
{
lean_object* v_a_6181_; lean_object* v___x_6183_; uint8_t v_isShared_6184_; uint8_t v_isSharedCheck_6225_; 
v_a_6181_ = lean_ctor_get(v___x_6180_, 0);
v_isSharedCheck_6225_ = !lean_is_exclusive(v___x_6180_);
if (v_isSharedCheck_6225_ == 0)
{
v___x_6183_ = v___x_6180_;
v_isShared_6184_ = v_isSharedCheck_6225_;
goto v_resetjp_6182_;
}
else
{
lean_inc(v_a_6181_);
lean_dec(v___x_6180_);
v___x_6183_ = lean_box(0);
v_isShared_6184_ = v_isSharedCheck_6225_;
goto v_resetjp_6182_;
}
v_resetjp_6182_:
{
lean_object* v___y_6186_; uint8_t v___y_6187_; lean_object* v___y_6204_; lean_object* v_params_6212_; lean_object* v___x_6213_; lean_object* v___x_6214_; lean_object* v___x_6215_; lean_object* v___x_6216_; uint8_t v___x_6217_; 
v_params_6212_ = lean_ctor_get(v_a_6181_, 2);
lean_inc_ref(v_params_6212_);
lean_dec(v_a_6181_);
v___x_6213_ = l_Array_zip___redArg(v_params_6212_, v_args_6176_);
lean_dec_ref(v_params_6212_);
v___x_6214_ = lean_unsigned_to_nat(0u);
v___x_6215_ = lean_array_get_size(v___x_6213_);
v___x_6216_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___closed__1));
v___x_6217_ = lean_nat_dec_lt(v___x_6214_, v___x_6215_);
if (v___x_6217_ == 0)
{
lean_dec_ref(v___x_6213_);
lean_dec(v___x_6178_);
v___y_6204_ = v___x_6216_;
goto v___jp_6203_;
}
else
{
uint8_t v___x_6218_; 
v___x_6218_ = lean_nat_dec_le(v___x_6215_, v___x_6215_);
if (v___x_6218_ == 0)
{
if (v___x_6217_ == 0)
{
lean_dec_ref(v___x_6213_);
lean_dec(v___x_6178_);
v___y_6204_ = v___x_6216_;
goto v___jp_6203_;
}
else
{
size_t v___x_6219_; size_t v___x_6220_; lean_object* v___x_6221_; 
v___x_6219_ = ((size_t)0ULL);
v___x_6220_ = lean_usize_of_nat(v___x_6215_);
v___x_6221_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2(v___x_6178_, v___x_6213_, v___x_6219_, v___x_6220_, v___x_6216_);
lean_dec_ref(v___x_6213_);
lean_dec(v___x_6178_);
v___y_6204_ = v___x_6221_;
goto v___jp_6203_;
}
}
else
{
size_t v___x_6222_; size_t v___x_6223_; lean_object* v___x_6224_; 
v___x_6222_ = ((size_t)0ULL);
v___x_6223_ = lean_usize_of_nat(v___x_6215_);
v___x_6224_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__2(v___x_6178_, v___x_6213_, v___x_6222_, v___x_6223_, v___x_6216_);
lean_dec_ref(v___x_6213_);
lean_dec(v___x_6178_);
v___y_6204_ = v___x_6224_;
goto v___jp_6203_;
}
}
v___jp_6185_:
{
if (v___y_6187_ == 0)
{
lean_object* v___x_6189_; uint8_t v_isShared_6190_; uint8_t v_isSharedCheck_6197_; 
lean_inc(v_fvarId_6175_);
v_isSharedCheck_6197_ = !lean_is_exclusive(v_code_5969_);
if (v_isSharedCheck_6197_ == 0)
{
lean_object* v_unused_6198_; lean_object* v_unused_6199_; 
v_unused_6198_ = lean_ctor_get(v_code_5969_, 1);
lean_dec(v_unused_6198_);
v_unused_6199_ = lean_ctor_get(v_code_5969_, 0);
lean_dec(v_unused_6199_);
v___x_6189_ = v_code_5969_;
v_isShared_6190_ = v_isSharedCheck_6197_;
goto v_resetjp_6188_;
}
else
{
lean_dec(v_code_5969_);
v___x_6189_ = lean_box(0);
v_isShared_6190_ = v_isSharedCheck_6197_;
goto v_resetjp_6188_;
}
v_resetjp_6188_:
{
lean_object* v___x_6192_; 
if (v_isShared_6190_ == 0)
{
lean_ctor_set(v___x_6189_, 1, v___y_6186_);
v___x_6192_ = v___x_6189_;
goto v_reusejp_6191_;
}
else
{
lean_object* v_reuseFailAlloc_6196_; 
v_reuseFailAlloc_6196_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6196_, 0, v_fvarId_6175_);
lean_ctor_set(v_reuseFailAlloc_6196_, 1, v___y_6186_);
v___x_6192_ = v_reuseFailAlloc_6196_;
goto v_reusejp_6191_;
}
v_reusejp_6191_:
{
lean_object* v___x_6194_; 
if (v_isShared_6184_ == 0)
{
lean_ctor_set(v___x_6183_, 0, v___x_6192_);
v___x_6194_ = v___x_6183_;
goto v_reusejp_6193_;
}
else
{
lean_object* v_reuseFailAlloc_6195_; 
v_reuseFailAlloc_6195_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6195_, 0, v___x_6192_);
v___x_6194_ = v_reuseFailAlloc_6195_;
goto v_reusejp_6193_;
}
v_reusejp_6193_:
{
return v___x_6194_;
}
}
}
}
else
{
lean_object* v___x_6201_; 
lean_dec_ref(v___y_6186_);
if (v_isShared_6184_ == 0)
{
lean_ctor_set(v___x_6183_, 0, v_code_5969_);
v___x_6201_ = v___x_6183_;
goto v_reusejp_6200_;
}
else
{
lean_object* v_reuseFailAlloc_6202_; 
v_reuseFailAlloc_6202_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6202_, 0, v_code_5969_);
v___x_6201_ = v_reuseFailAlloc_6202_;
goto v_reusejp_6200_;
}
v_reusejp_6200_:
{
return v___x_6201_;
}
}
}
v___jp_6203_:
{
size_t v_sz_6205_; size_t v___x_6206_; lean_object* v___x_6207_; uint8_t v___x_6208_; 
v_sz_6205_ = lean_array_size(v___y_6204_);
v___x_6206_ = ((size_t)0ULL);
v___x_6207_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__1(v_sz_6205_, v___x_6206_, v___y_6204_);
v___x_6208_ = l_Lean_instBEqFVarId_beq(v_fvarId_6175_, v_fvarId_6175_);
if (v___x_6208_ == 0)
{
v___y_6186_ = v___x_6207_;
v___y_6187_ = v___x_6208_;
goto v___jp_6185_;
}
else
{
size_t v___x_6209_; size_t v___x_6210_; uint8_t v___x_6211_; 
v___x_6209_ = lean_ptr_addr(v_args_6176_);
v___x_6210_ = lean_ptr_addr(v___x_6207_);
v___x_6211_ = lean_usize_dec_eq(v___x_6209_, v___x_6210_);
v___y_6186_ = v___x_6207_;
v___y_6187_ = v___x_6211_;
goto v___jp_6185_;
}
}
}
}
else
{
lean_object* v_a_6226_; lean_object* v___x_6228_; uint8_t v_isShared_6229_; uint8_t v_isSharedCheck_6233_; 
lean_dec(v___x_6178_);
lean_dec_ref(v_code_5969_);
v_a_6226_ = lean_ctor_get(v___x_6180_, 0);
v_isSharedCheck_6233_ = !lean_is_exclusive(v___x_6180_);
if (v_isSharedCheck_6233_ == 0)
{
v___x_6228_ = v___x_6180_;
v_isShared_6229_ = v_isSharedCheck_6233_;
goto v_resetjp_6227_;
}
else
{
lean_inc(v_a_6226_);
lean_dec(v___x_6180_);
v___x_6228_ = lean_box(0);
v_isShared_6229_ = v_isSharedCheck_6233_;
goto v_resetjp_6227_;
}
v_resetjp_6227_:
{
lean_object* v___x_6231_; 
if (v_isShared_6229_ == 0)
{
v___x_6231_ = v___x_6228_;
goto v_reusejp_6230_;
}
else
{
lean_object* v_reuseFailAlloc_6232_; 
v_reuseFailAlloc_6232_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6232_, 0, v_a_6226_);
v___x_6231_ = v_reuseFailAlloc_6232_;
goto v_reusejp_6230_;
}
v_reusejp_6230_:
{
return v___x_6231_;
}
}
}
}
case 4:
{
lean_object* v_cases_6234_; lean_object* v_typeName_6235_; lean_object* v_resultType_6236_; lean_object* v_discr_6237_; lean_object* v_alts_6238_; lean_object* v___x_6240_; uint8_t v_isShared_6241_; uint8_t v_isSharedCheck_6274_; 
v_cases_6234_ = lean_ctor_get(v_code_5969_, 0);
lean_inc_ref(v_cases_6234_);
v_typeName_6235_ = lean_ctor_get(v_cases_6234_, 0);
v_resultType_6236_ = lean_ctor_get(v_cases_6234_, 1);
v_discr_6237_ = lean_ctor_get(v_cases_6234_, 2);
v_alts_6238_ = lean_ctor_get(v_cases_6234_, 3);
v_isSharedCheck_6274_ = !lean_is_exclusive(v_cases_6234_);
if (v_isSharedCheck_6274_ == 0)
{
v___x_6240_ = v_cases_6234_;
v_isShared_6241_ = v_isSharedCheck_6274_;
goto v_resetjp_6239_;
}
else
{
lean_inc(v_alts_6238_);
lean_inc(v_discr_6237_);
lean_inc(v_resultType_6236_);
lean_inc(v_typeName_6235_);
lean_dec(v_cases_6234_);
v___x_6240_ = lean_box(0);
v_isShared_6241_ = v_isSharedCheck_6274_;
goto v_resetjp_6239_;
}
v_resetjp_6239_:
{
lean_object* v___x_6242_; lean_object* v___x_6243_; 
v___x_6242_ = lean_unsigned_to_nat(0u);
lean_inc_ref(v_alts_6238_);
v___x_6243_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4(v___x_6242_, v_alts_6238_, v_a_5970_, v_a_5971_, v_a_5972_, v_a_5973_, v_a_5974_);
if (lean_obj_tag(v___x_6243_) == 0)
{
lean_object* v_a_6244_; lean_object* v___x_6246_; uint8_t v_isShared_6247_; uint8_t v_isSharedCheck_6265_; 
v_a_6244_ = lean_ctor_get(v___x_6243_, 0);
v_isSharedCheck_6265_ = !lean_is_exclusive(v___x_6243_);
if (v_isSharedCheck_6265_ == 0)
{
v___x_6246_ = v___x_6243_;
v_isShared_6247_ = v_isSharedCheck_6265_;
goto v_resetjp_6245_;
}
else
{
lean_inc(v_a_6244_);
lean_dec(v___x_6243_);
v___x_6246_ = lean_box(0);
v_isShared_6247_ = v_isSharedCheck_6265_;
goto v_resetjp_6245_;
}
v_resetjp_6245_:
{
uint8_t v___y_6257_; size_t v___x_6260_; size_t v___x_6261_; uint8_t v___x_6262_; 
v___x_6260_ = lean_ptr_addr(v_alts_6238_);
lean_dec_ref(v_alts_6238_);
v___x_6261_ = lean_ptr_addr(v_a_6244_);
v___x_6262_ = lean_usize_dec_eq(v___x_6260_, v___x_6261_);
if (v___x_6262_ == 0)
{
v___y_6257_ = v___x_6262_;
goto v___jp_6256_;
}
else
{
size_t v___x_6263_; uint8_t v___x_6264_; 
v___x_6263_ = lean_ptr_addr(v_resultType_6236_);
v___x_6264_ = lean_usize_dec_eq(v___x_6263_, v___x_6263_);
v___y_6257_ = v___x_6264_;
goto v___jp_6256_;
}
v___jp_6248_:
{
lean_object* v___x_6250_; 
if (v_isShared_6241_ == 0)
{
lean_ctor_set(v___x_6240_, 3, v_a_6244_);
v___x_6250_ = v___x_6240_;
goto v_reusejp_6249_;
}
else
{
lean_object* v_reuseFailAlloc_6255_; 
v_reuseFailAlloc_6255_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v_reuseFailAlloc_6255_, 0, v_typeName_6235_);
lean_ctor_set(v_reuseFailAlloc_6255_, 1, v_resultType_6236_);
lean_ctor_set(v_reuseFailAlloc_6255_, 2, v_discr_6237_);
lean_ctor_set(v_reuseFailAlloc_6255_, 3, v_a_6244_);
v___x_6250_ = v_reuseFailAlloc_6255_;
goto v_reusejp_6249_;
}
v_reusejp_6249_:
{
lean_object* v___x_6251_; lean_object* v___x_6253_; 
v___x_6251_ = lean_alloc_ctor(4, 1, 0);
lean_ctor_set(v___x_6251_, 0, v___x_6250_);
if (v_isShared_6247_ == 0)
{
lean_ctor_set(v___x_6246_, 0, v___x_6251_);
v___x_6253_ = v___x_6246_;
goto v_reusejp_6252_;
}
else
{
lean_object* v_reuseFailAlloc_6254_; 
v_reuseFailAlloc_6254_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6254_, 0, v___x_6251_);
v___x_6253_ = v_reuseFailAlloc_6254_;
goto v_reusejp_6252_;
}
v_reusejp_6252_:
{
return v___x_6253_;
}
}
}
v___jp_6256_:
{
if (v___y_6257_ == 0)
{
lean_dec_ref(v_code_5969_);
goto v___jp_6248_;
}
else
{
uint8_t v___x_6258_; 
v___x_6258_ = l_Lean_instBEqFVarId_beq(v_discr_6237_, v_discr_6237_);
if (v___x_6258_ == 0)
{
lean_dec_ref(v_code_5969_);
goto v___jp_6248_;
}
else
{
lean_object* v___x_6259_; 
lean_del_object(v___x_6246_);
lean_dec(v_a_6244_);
lean_del_object(v___x_6240_);
lean_dec(v_discr_6237_);
lean_dec_ref(v_resultType_6236_);
lean_dec(v_typeName_6235_);
v___x_6259_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6259_, 0, v_code_5969_);
return v___x_6259_;
}
}
}
}
}
else
{
lean_object* v_a_6266_; lean_object* v___x_6268_; uint8_t v_isShared_6269_; uint8_t v_isSharedCheck_6273_; 
lean_del_object(v___x_6240_);
lean_dec_ref(v_alts_6238_);
lean_dec(v_discr_6237_);
lean_dec_ref(v_resultType_6236_);
lean_dec(v_typeName_6235_);
lean_dec_ref(v_code_5969_);
v_a_6266_ = lean_ctor_get(v___x_6243_, 0);
v_isSharedCheck_6273_ = !lean_is_exclusive(v___x_6243_);
if (v_isSharedCheck_6273_ == 0)
{
v___x_6268_ = v___x_6243_;
v_isShared_6269_ = v_isSharedCheck_6273_;
goto v_resetjp_6267_;
}
else
{
lean_inc(v_a_6266_);
lean_dec(v___x_6243_);
v___x_6268_ = lean_box(0);
v_isShared_6269_ = v_isSharedCheck_6273_;
goto v_resetjp_6267_;
}
v_resetjp_6267_:
{
lean_object* v___x_6271_; 
if (v_isShared_6269_ == 0)
{
v___x_6271_ = v___x_6268_;
goto v_reusejp_6270_;
}
else
{
lean_object* v_reuseFailAlloc_6272_; 
v_reuseFailAlloc_6272_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6272_, 0, v_a_6266_);
v___x_6271_ = v_reuseFailAlloc_6272_;
goto v_reusejp_6270_;
}
v_reusejp_6270_:
{
return v___x_6271_;
}
}
}
}
}
default: 
{
lean_object* v___x_6275_; 
lean_dec(v_a_5974_);
lean_dec_ref(v_a_5973_);
lean_dec(v_a_5972_);
lean_dec_ref(v_a_5971_);
lean_dec(v_a_5970_);
v___x_6275_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6275_, 0, v_code_5969_);
return v___x_6275_;
}
}
v___jp_5976_:
{
if (v___y_5979_ == 0)
{
lean_object* v___x_5980_; lean_object* v___x_5981_; 
lean_dec_ref(v_code_5969_);
v___x_5980_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_5980_, 0, v___y_5977_);
lean_ctor_set(v___x_5980_, 1, v___y_5978_);
v___x_5981_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5981_, 0, v___x_5980_);
return v___x_5981_;
}
else
{
lean_object* v___x_5982_; 
lean_dec_ref(v___y_5978_);
lean_dec_ref(v___y_5977_);
v___x_5982_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5982_, 0, v_code_5969_);
return v___x_5982_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___boxed(lean_object* v_code_6276_, lean_object* v_a_6277_, lean_object* v_a_6278_, lean_object* v_a_6279_, lean_object* v_a_6280_, lean_object* v_a_6281_, lean_object* v_a_6282_){
_start:
{
lean_object* v_res_6283_; 
v_res_6283_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce(v_code_6276_, v_a_6277_, v_a_6278_, v_a_6279_, v_a_6280_, v_a_6281_);
return v_res_6283_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4(lean_object* v_i_6284_, lean_object* v_as_6285_, lean_object* v___y_6286_, lean_object* v___y_6287_, lean_object* v___y_6288_, lean_object* v___y_6289_, lean_object* v___y_6290_){
_start:
{
lean_object* v___x_6292_; uint8_t v___x_6293_; 
v___x_6292_ = lean_array_get_size(v_as_6285_);
v___x_6293_ = lean_nat_dec_lt(v_i_6284_, v___x_6292_);
if (v___x_6293_ == 0)
{
lean_object* v___x_6294_; 
lean_dec(v___y_6290_);
lean_dec_ref(v___y_6289_);
lean_dec(v___y_6288_);
lean_dec_ref(v___y_6287_);
lean_dec(v___y_6286_);
lean_dec(v_i_6284_);
v___x_6294_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6294_, 0, v_as_6285_);
return v___x_6294_;
}
else
{
lean_object* v_a_6295_; lean_object* v___x_6296_; lean_object* v___x_6297_; 
v_a_6295_ = lean_array_fget_borrowed(v_as_6285_, v_i_6284_);
v___x_6296_ = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce___boxed), 7, 0);
lean_inc(v___y_6290_);
lean_inc_ref(v___y_6289_);
lean_inc(v___y_6288_);
lean_inc_ref(v___y_6287_);
lean_inc(v___y_6286_);
lean_inc(v_a_6295_);
v___x_6297_ = l_Lean_Compiler_LCNF_Alt_mapCodeM___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__3___redArg(v_a_6295_, v___x_6296_, v___y_6286_, v___y_6287_, v___y_6288_, v___y_6289_, v___y_6290_);
if (lean_obj_tag(v___x_6297_) == 0)
{
lean_object* v_a_6298_; size_t v___x_6299_; size_t v___x_6300_; uint8_t v___x_6301_; 
v_a_6298_ = lean_ctor_get(v___x_6297_, 0);
lean_inc(v_a_6298_);
lean_dec_ref(v___x_6297_);
v___x_6299_ = lean_ptr_addr(v_a_6295_);
v___x_6300_ = lean_ptr_addr(v_a_6298_);
v___x_6301_ = lean_usize_dec_eq(v___x_6299_, v___x_6300_);
if (v___x_6301_ == 0)
{
lean_object* v___x_6302_; lean_object* v___x_6303_; lean_object* v___x_6304_; 
v___x_6302_ = lean_unsigned_to_nat(1u);
v___x_6303_ = lean_nat_add(v_i_6284_, v___x_6302_);
v___x_6304_ = lean_array_fset(v_as_6285_, v_i_6284_, v_a_6298_);
lean_dec(v_i_6284_);
v_i_6284_ = v___x_6303_;
v_as_6285_ = v___x_6304_;
goto _start;
}
else
{
lean_object* v___x_6306_; lean_object* v___x_6307_; 
lean_dec(v_a_6298_);
v___x_6306_ = lean_unsigned_to_nat(1u);
v___x_6307_ = lean_nat_add(v_i_6284_, v___x_6306_);
lean_dec(v_i_6284_);
v_i_6284_ = v___x_6307_;
goto _start;
}
}
else
{
lean_object* v_a_6309_; lean_object* v___x_6311_; uint8_t v_isShared_6312_; uint8_t v_isSharedCheck_6316_; 
lean_dec(v___y_6290_);
lean_dec_ref(v___y_6289_);
lean_dec(v___y_6288_);
lean_dec_ref(v___y_6287_);
lean_dec(v___y_6286_);
lean_dec_ref(v_as_6285_);
lean_dec(v_i_6284_);
v_a_6309_ = lean_ctor_get(v___x_6297_, 0);
v_isSharedCheck_6316_ = !lean_is_exclusive(v___x_6297_);
if (v_isSharedCheck_6316_ == 0)
{
v___x_6311_ = v___x_6297_;
v_isShared_6312_ = v_isSharedCheck_6316_;
goto v_resetjp_6310_;
}
else
{
lean_inc(v_a_6309_);
lean_dec(v___x_6297_);
v___x_6311_ = lean_box(0);
v_isShared_6312_ = v_isSharedCheck_6316_;
goto v_resetjp_6310_;
}
v_resetjp_6310_:
{
lean_object* v___x_6314_; 
if (v_isShared_6312_ == 0)
{
v___x_6314_ = v___x_6311_;
goto v_reusejp_6313_;
}
else
{
lean_object* v_reuseFailAlloc_6315_; 
v_reuseFailAlloc_6315_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6315_, 0, v_a_6309_);
v___x_6314_ = v_reuseFailAlloc_6315_;
goto v_reusejp_6313_;
}
v_reusejp_6313_:
{
return v___x_6314_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4___boxed(lean_object* v_i_6317_, lean_object* v_as_6318_, lean_object* v___y_6319_, lean_object* v___y_6320_, lean_object* v___y_6321_, lean_object* v___y_6322_, lean_object* v___y_6323_, lean_object* v___y_6324_){
_start:
{
lean_object* v_res_6325_; 
v_res_6325_ = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at___00__private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_goReduce_spec__4(v_i_6317_, v_as_6318_, v___y_6319_, v___y_6320_, v___y_6321_, v___y_6322_, v___y_6323_);
return v_res_6325_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg(lean_object* v_f_6326_, lean_object* v_v_6327_, lean_object* v___y_6328_, lean_object* v___y_6329_, lean_object* v___y_6330_, lean_object* v___y_6331_, lean_object* v___y_6332_, lean_object* v___y_6333_, lean_object* v___y_6334_){
_start:
{
if (lean_obj_tag(v_v_6327_) == 0)
{
lean_object* v_code_6336_; lean_object* v___x_6337_; 
v_code_6336_ = lean_ctor_get(v_v_6327_, 0);
lean_inc_ref(v_code_6336_);
lean_dec_ref(v_v_6327_);
v___x_6337_ = lean_apply_9(v_f_6326_, v_code_6336_, v___y_6328_, v___y_6329_, v___y_6330_, v___y_6331_, v___y_6332_, v___y_6333_, v___y_6334_, lean_box(0));
return v___x_6337_;
}
else
{
lean_object* v___x_6339_; uint8_t v_isShared_6340_; uint8_t v_isSharedCheck_6345_; 
lean_dec(v___y_6334_);
lean_dec_ref(v___y_6333_);
lean_dec(v___y_6332_);
lean_dec_ref(v___y_6331_);
lean_dec(v___y_6330_);
lean_dec(v___y_6329_);
lean_dec(v___y_6328_);
lean_dec_ref(v_f_6326_);
v_isSharedCheck_6345_ = !lean_is_exclusive(v_v_6327_);
if (v_isSharedCheck_6345_ == 0)
{
lean_object* v_unused_6346_; 
v_unused_6346_ = lean_ctor_get(v_v_6327_, 0);
lean_dec(v_unused_6346_);
v___x_6339_ = v_v_6327_;
v_isShared_6340_ = v_isSharedCheck_6345_;
goto v_resetjp_6338_;
}
else
{
lean_dec(v_v_6327_);
v___x_6339_ = lean_box(0);
v_isShared_6340_ = v_isSharedCheck_6345_;
goto v_resetjp_6338_;
}
v_resetjp_6338_:
{
lean_object* v___x_6341_; lean_object* v___x_6343_; 
v___x_6341_ = lean_box(0);
if (v_isShared_6340_ == 0)
{
lean_ctor_set_tag(v___x_6339_, 0);
lean_ctor_set(v___x_6339_, 0, v___x_6341_);
v___x_6343_ = v___x_6339_;
goto v_reusejp_6342_;
}
else
{
lean_object* v_reuseFailAlloc_6344_; 
v_reuseFailAlloc_6344_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6344_, 0, v___x_6341_);
v___x_6343_ = v_reuseFailAlloc_6344_;
goto v_reusejp_6342_;
}
v_reusejp_6342_:
{
return v___x_6343_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg___boxed(lean_object* v_f_6347_, lean_object* v_v_6348_, lean_object* v___y_6349_, lean_object* v___y_6350_, lean_object* v___y_6351_, lean_object* v___y_6352_, lean_object* v___y_6353_, lean_object* v___y_6354_, lean_object* v___y_6355_, lean_object* v___y_6356_){
_start:
{
lean_object* v_res_6357_; 
v_res_6357_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg(v_f_6347_, v_v_6348_, v___y_6349_, v___y_6350_, v___y_6351_, v___y_6352_, v___y_6353_, v___y_6354_, v___y_6355_);
return v_res_6357_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0(uint8_t v_pu_6358_, lean_object* v_f_6359_, lean_object* v_v_6360_, lean_object* v___y_6361_, lean_object* v___y_6362_, lean_object* v___y_6363_, lean_object* v___y_6364_, lean_object* v___y_6365_, lean_object* v___y_6366_, lean_object* v___y_6367_){
_start:
{
lean_object* v___x_6369_; 
v___x_6369_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg(v_f_6359_, v_v_6360_, v___y_6361_, v___y_6362_, v___y_6363_, v___y_6364_, v___y_6365_, v___y_6366_, v___y_6367_);
return v___x_6369_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___boxed(lean_object* v_pu_6370_, lean_object* v_f_6371_, lean_object* v_v_6372_, lean_object* v___y_6373_, lean_object* v___y_6374_, lean_object* v___y_6375_, lean_object* v___y_6376_, lean_object* v___y_6377_, lean_object* v___y_6378_, lean_object* v___y_6379_, lean_object* v___y_6380_){
_start:
{
uint8_t v_pu_boxed_6381_; lean_object* v_res_6382_; 
v_pu_boxed_6381_ = lean_unbox(v_pu_6370_);
v_res_6382_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0(v_pu_boxed_6381_, v_f_6371_, v_v_6372_, v___y_6373_, v___y_6374_, v___y_6375_, v___y_6376_, v___y_6377_, v___y_6378_, v___y_6379_);
return v_res_6382_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg(lean_object* v_f_6383_, lean_object* v_v_6384_, lean_object* v___y_6385_, lean_object* v___y_6386_, lean_object* v___y_6387_, lean_object* v___y_6388_, lean_object* v___y_6389_){
_start:
{
if (lean_obj_tag(v_v_6384_) == 0)
{
lean_object* v_code_6391_; lean_object* v___x_6393_; uint8_t v_isShared_6394_; uint8_t v_isSharedCheck_6415_; 
v_code_6391_ = lean_ctor_get(v_v_6384_, 0);
v_isSharedCheck_6415_ = !lean_is_exclusive(v_v_6384_);
if (v_isSharedCheck_6415_ == 0)
{
v___x_6393_ = v_v_6384_;
v_isShared_6394_ = v_isSharedCheck_6415_;
goto v_resetjp_6392_;
}
else
{
lean_inc(v_code_6391_);
lean_dec(v_v_6384_);
v___x_6393_ = lean_box(0);
v_isShared_6394_ = v_isSharedCheck_6415_;
goto v_resetjp_6392_;
}
v_resetjp_6392_:
{
lean_object* v___x_6395_; 
v___x_6395_ = lean_apply_7(v_f_6383_, v_code_6391_, v___y_6385_, v___y_6386_, v___y_6387_, v___y_6388_, v___y_6389_, lean_box(0));
if (lean_obj_tag(v___x_6395_) == 0)
{
lean_object* v_a_6396_; lean_object* v___x_6398_; uint8_t v_isShared_6399_; uint8_t v_isSharedCheck_6406_; 
v_a_6396_ = lean_ctor_get(v___x_6395_, 0);
v_isSharedCheck_6406_ = !lean_is_exclusive(v___x_6395_);
if (v_isSharedCheck_6406_ == 0)
{
v___x_6398_ = v___x_6395_;
v_isShared_6399_ = v_isSharedCheck_6406_;
goto v_resetjp_6397_;
}
else
{
lean_inc(v_a_6396_);
lean_dec(v___x_6395_);
v___x_6398_ = lean_box(0);
v_isShared_6399_ = v_isSharedCheck_6406_;
goto v_resetjp_6397_;
}
v_resetjp_6397_:
{
lean_object* v___x_6401_; 
if (v_isShared_6394_ == 0)
{
lean_ctor_set(v___x_6393_, 0, v_a_6396_);
v___x_6401_ = v___x_6393_;
goto v_reusejp_6400_;
}
else
{
lean_object* v_reuseFailAlloc_6405_; 
v_reuseFailAlloc_6405_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6405_, 0, v_a_6396_);
v___x_6401_ = v_reuseFailAlloc_6405_;
goto v_reusejp_6400_;
}
v_reusejp_6400_:
{
lean_object* v___x_6403_; 
if (v_isShared_6399_ == 0)
{
lean_ctor_set(v___x_6398_, 0, v___x_6401_);
v___x_6403_ = v___x_6398_;
goto v_reusejp_6402_;
}
else
{
lean_object* v_reuseFailAlloc_6404_; 
v_reuseFailAlloc_6404_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6404_, 0, v___x_6401_);
v___x_6403_ = v_reuseFailAlloc_6404_;
goto v_reusejp_6402_;
}
v_reusejp_6402_:
{
return v___x_6403_;
}
}
}
}
else
{
lean_object* v_a_6407_; lean_object* v___x_6409_; uint8_t v_isShared_6410_; uint8_t v_isSharedCheck_6414_; 
lean_del_object(v___x_6393_);
v_a_6407_ = lean_ctor_get(v___x_6395_, 0);
v_isSharedCheck_6414_ = !lean_is_exclusive(v___x_6395_);
if (v_isSharedCheck_6414_ == 0)
{
v___x_6409_ = v___x_6395_;
v_isShared_6410_ = v_isSharedCheck_6414_;
goto v_resetjp_6408_;
}
else
{
lean_inc(v_a_6407_);
lean_dec(v___x_6395_);
v___x_6409_ = lean_box(0);
v_isShared_6410_ = v_isSharedCheck_6414_;
goto v_resetjp_6408_;
}
v_resetjp_6408_:
{
lean_object* v___x_6412_; 
if (v_isShared_6410_ == 0)
{
v___x_6412_ = v___x_6409_;
goto v_reusejp_6411_;
}
else
{
lean_object* v_reuseFailAlloc_6413_; 
v_reuseFailAlloc_6413_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6413_, 0, v_a_6407_);
v___x_6412_ = v_reuseFailAlloc_6413_;
goto v_reusejp_6411_;
}
v_reusejp_6411_:
{
return v___x_6412_;
}
}
}
}
}
else
{
lean_object* v___x_6416_; 
lean_dec(v___y_6389_);
lean_dec_ref(v___y_6388_);
lean_dec(v___y_6387_);
lean_dec_ref(v___y_6386_);
lean_dec(v___y_6385_);
lean_dec_ref(v_f_6383_);
v___x_6416_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6416_, 0, v_v_6384_);
return v___x_6416_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg___boxed(lean_object* v_f_6417_, lean_object* v_v_6418_, lean_object* v___y_6419_, lean_object* v___y_6420_, lean_object* v___y_6421_, lean_object* v___y_6422_, lean_object* v___y_6423_, lean_object* v___y_6424_){
_start:
{
lean_object* v_res_6425_; 
v_res_6425_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg(v_f_6417_, v_v_6418_, v___y_6419_, v___y_6420_, v___y_6421_, v___y_6422_, v___y_6423_);
return v_res_6425_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1(uint8_t v_pu_6426_, lean_object* v_f_6427_, lean_object* v_v_6428_, lean_object* v___y_6429_, lean_object* v___y_6430_, lean_object* v___y_6431_, lean_object* v___y_6432_, lean_object* v___y_6433_){
_start:
{
lean_object* v___x_6435_; 
v___x_6435_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg(v_f_6427_, v_v_6428_, v___y_6429_, v___y_6430_, v___y_6431_, v___y_6432_, v___y_6433_);
return v___x_6435_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___boxed(lean_object* v_pu_6436_, lean_object* v_f_6437_, lean_object* v_v_6438_, lean_object* v___y_6439_, lean_object* v___y_6440_, lean_object* v___y_6441_, lean_object* v___y_6442_, lean_object* v___y_6443_, lean_object* v___y_6444_){
_start:
{
uint8_t v_pu_boxed_6445_; lean_object* v_res_6446_; 
v_pu_boxed_6445_ = lean_unbox(v_pu_6436_);
v_res_6446_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1(v_pu_boxed_6445_, v_f_6437_, v_v_6438_, v___y_6439_, v___y_6440_, v___y_6441_, v___y_6442_, v___y_6443_);
return v_res_6446_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce(lean_object* v_decl_6449_, lean_object* v_a_6450_, lean_object* v_a_6451_, lean_object* v_a_6452_, lean_object* v_a_6453_){
_start:
{
lean_object* v___x_6455_; lean_object* v___x_6456_; lean_object* v___x_6457_; lean_object* v_toSignature_6458_; lean_object* v_value_6459_; uint8_t v_recursive_6460_; lean_object* v_inlineAttr_x3f_6461_; lean_object* v___x_6463_; uint8_t v_isShared_6464_; uint8_t v_isSharedCheck_6498_; 
v___x_6455_ = lean_box(1);
v___x_6456_ = lean_st_mk_ref(v___x_6455_);
v___x_6457_ = lean_st_mk_ref(v___x_6455_);
v_toSignature_6458_ = lean_ctor_get(v_decl_6449_, 0);
v_value_6459_ = lean_ctor_get(v_decl_6449_, 1);
v_recursive_6460_ = lean_ctor_get_uint8(v_decl_6449_, sizeof(void*)*3);
v_inlineAttr_x3f_6461_ = lean_ctor_get(v_decl_6449_, 2);
v_isSharedCheck_6498_ = !lean_is_exclusive(v_decl_6449_);
if (v_isSharedCheck_6498_ == 0)
{
v___x_6463_ = v_decl_6449_;
v_isShared_6464_ = v_isSharedCheck_6498_;
goto v_resetjp_6462_;
}
else
{
lean_inc(v_inlineAttr_x3f_6461_);
lean_inc(v_value_6459_);
lean_inc(v_toSignature_6458_);
lean_dec(v_decl_6449_);
v___x_6463_ = lean_box(0);
v_isShared_6464_ = v_isSharedCheck_6498_;
goto v_resetjp_6462_;
}
v_resetjp_6462_:
{
lean_object* v___x_6465_; lean_object* v___x_6466_; 
v___x_6465_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__0));
lean_inc(v_a_6453_);
lean_inc_ref(v_a_6452_);
lean_inc(v_a_6451_);
lean_inc_ref(v_a_6450_);
lean_inc(v___x_6456_);
lean_inc(v___x_6457_);
lean_inc_ref(v_value_6459_);
v___x_6466_ = l_Lean_Compiler_LCNF_DeclValue_forCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__0___redArg(v___x_6465_, v_value_6459_, v___x_6455_, v___x_6457_, v___x_6456_, v_a_6450_, v_a_6451_, v_a_6452_, v_a_6453_);
if (lean_obj_tag(v___x_6466_) == 0)
{
lean_object* v___x_6467_; lean_object* v___x_6468_; lean_object* v___x_6469_; lean_object* v___x_6470_; 
lean_dec_ref(v___x_6466_);
v___x_6467_ = lean_st_ref_get(v___x_6457_);
lean_dec(v___x_6457_);
v___x_6468_ = lean_st_ref_get(v___x_6456_);
lean_dec(v___x_6456_);
lean_dec(v___x_6468_);
v___x_6469_ = ((lean_object*)(l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___closed__1));
v___x_6470_ = l_Lean_Compiler_LCNF_DeclValue_mapCodeM___at___00Lean_Compiler_LCNF_JoinPointCommonArgs_reduce_spec__1___redArg(v___x_6469_, v_value_6459_, v___x_6467_, v_a_6450_, v_a_6451_, v_a_6452_, v_a_6453_);
if (lean_obj_tag(v___x_6470_) == 0)
{
lean_object* v_a_6471_; lean_object* v___x_6473_; uint8_t v_isShared_6474_; uint8_t v_isSharedCheck_6481_; 
v_a_6471_ = lean_ctor_get(v___x_6470_, 0);
v_isSharedCheck_6481_ = !lean_is_exclusive(v___x_6470_);
if (v_isSharedCheck_6481_ == 0)
{
v___x_6473_ = v___x_6470_;
v_isShared_6474_ = v_isSharedCheck_6481_;
goto v_resetjp_6472_;
}
else
{
lean_inc(v_a_6471_);
lean_dec(v___x_6470_);
v___x_6473_ = lean_box(0);
v_isShared_6474_ = v_isSharedCheck_6481_;
goto v_resetjp_6472_;
}
v_resetjp_6472_:
{
lean_object* v___x_6476_; 
if (v_isShared_6464_ == 0)
{
lean_ctor_set(v___x_6463_, 1, v_a_6471_);
v___x_6476_ = v___x_6463_;
goto v_reusejp_6475_;
}
else
{
lean_object* v_reuseFailAlloc_6480_; 
v_reuseFailAlloc_6480_ = lean_alloc_ctor(0, 3, 1);
lean_ctor_set(v_reuseFailAlloc_6480_, 0, v_toSignature_6458_);
lean_ctor_set(v_reuseFailAlloc_6480_, 1, v_a_6471_);
lean_ctor_set(v_reuseFailAlloc_6480_, 2, v_inlineAttr_x3f_6461_);
lean_ctor_set_uint8(v_reuseFailAlloc_6480_, sizeof(void*)*3, v_recursive_6460_);
v___x_6476_ = v_reuseFailAlloc_6480_;
goto v_reusejp_6475_;
}
v_reusejp_6475_:
{
lean_object* v___x_6478_; 
if (v_isShared_6474_ == 0)
{
lean_ctor_set(v___x_6473_, 0, v___x_6476_);
v___x_6478_ = v___x_6473_;
goto v_reusejp_6477_;
}
else
{
lean_object* v_reuseFailAlloc_6479_; 
v_reuseFailAlloc_6479_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6479_, 0, v___x_6476_);
v___x_6478_ = v_reuseFailAlloc_6479_;
goto v_reusejp_6477_;
}
v_reusejp_6477_:
{
return v___x_6478_;
}
}
}
}
else
{
lean_object* v_a_6482_; lean_object* v___x_6484_; uint8_t v_isShared_6485_; uint8_t v_isSharedCheck_6489_; 
lean_del_object(v___x_6463_);
lean_dec(v_inlineAttr_x3f_6461_);
lean_dec_ref(v_toSignature_6458_);
v_a_6482_ = lean_ctor_get(v___x_6470_, 0);
v_isSharedCheck_6489_ = !lean_is_exclusive(v___x_6470_);
if (v_isSharedCheck_6489_ == 0)
{
v___x_6484_ = v___x_6470_;
v_isShared_6485_ = v_isSharedCheck_6489_;
goto v_resetjp_6483_;
}
else
{
lean_inc(v_a_6482_);
lean_dec(v___x_6470_);
v___x_6484_ = lean_box(0);
v_isShared_6485_ = v_isSharedCheck_6489_;
goto v_resetjp_6483_;
}
v_resetjp_6483_:
{
lean_object* v___x_6487_; 
if (v_isShared_6485_ == 0)
{
v___x_6487_ = v___x_6484_;
goto v_reusejp_6486_;
}
else
{
lean_object* v_reuseFailAlloc_6488_; 
v_reuseFailAlloc_6488_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6488_, 0, v_a_6482_);
v___x_6487_ = v_reuseFailAlloc_6488_;
goto v_reusejp_6486_;
}
v_reusejp_6486_:
{
return v___x_6487_;
}
}
}
}
else
{
lean_object* v_a_6490_; lean_object* v___x_6492_; uint8_t v_isShared_6493_; uint8_t v_isSharedCheck_6497_; 
lean_del_object(v___x_6463_);
lean_dec(v_inlineAttr_x3f_6461_);
lean_dec_ref(v_value_6459_);
lean_dec_ref(v_toSignature_6458_);
lean_dec(v___x_6457_);
lean_dec(v___x_6456_);
lean_dec(v_a_6453_);
lean_dec_ref(v_a_6452_);
lean_dec(v_a_6451_);
lean_dec_ref(v_a_6450_);
v_a_6490_ = lean_ctor_get(v___x_6466_, 0);
v_isSharedCheck_6497_ = !lean_is_exclusive(v___x_6466_);
if (v_isSharedCheck_6497_ == 0)
{
v___x_6492_ = v___x_6466_;
v_isShared_6493_ = v_isSharedCheck_6497_;
goto v_resetjp_6491_;
}
else
{
lean_inc(v_a_6490_);
lean_dec(v___x_6466_);
v___x_6492_ = lean_box(0);
v_isShared_6493_ = v_isSharedCheck_6497_;
goto v_resetjp_6491_;
}
v_resetjp_6491_:
{
lean_object* v___x_6495_; 
if (v_isShared_6493_ == 0)
{
v___x_6495_ = v___x_6492_;
goto v_reusejp_6494_;
}
else
{
lean_object* v_reuseFailAlloc_6496_; 
v_reuseFailAlloc_6496_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6496_, 0, v_a_6490_);
v___x_6495_ = v_reuseFailAlloc_6496_;
goto v_reusejp_6494_;
}
v_reusejp_6494_:
{
return v___x_6495_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce___boxed(lean_object* v_decl_6499_, lean_object* v_a_6500_, lean_object* v_a_6501_, lean_object* v_a_6502_, lean_object* v_a_6503_, lean_object* v_a_6504_){
_start:
{
lean_object* v_res_6505_; 
v_res_6505_ = l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce(v_decl_6499_, v_a_6500_, v_a_6501_, v_a_6502_, v_a_6503_);
return v_res_6505_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg(lean_object* v_cls_6509_, lean_object* v___y_6510_){
_start:
{
lean_object* v_options_6512_; uint8_t v_hasTrace_6513_; 
v_options_6512_ = lean_ctor_get(v___y_6510_, 2);
v_hasTrace_6513_ = lean_ctor_get_uint8(v_options_6512_, sizeof(void*)*1);
if (v_hasTrace_6513_ == 0)
{
lean_object* v___x_6514_; lean_object* v___x_6515_; 
lean_dec(v_cls_6509_);
v___x_6514_ = lean_box(v_hasTrace_6513_);
v___x_6515_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6515_, 0, v___x_6514_);
return v___x_6515_;
}
else
{
lean_object* v_inheritedTraceOptions_6516_; lean_object* v___x_6517_; lean_object* v___x_6518_; uint8_t v___x_6519_; lean_object* v___x_6520_; lean_object* v___x_6521_; 
v_inheritedTraceOptions_6516_ = lean_ctor_get(v___y_6510_, 13);
v___x_6517_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___closed__1));
v___x_6518_ = l_Lean_Name_append(v___x_6517_, v_cls_6509_);
v___x_6519_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_6516_, v_options_6512_, v___x_6518_);
lean_dec(v___x_6518_);
v___x_6520_ = lean_box(v___x_6519_);
v___x_6521_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6521_, 0, v___x_6520_);
return v___x_6521_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg___boxed(lean_object* v_cls_6522_, lean_object* v___y_6523_, lean_object* v___y_6524_){
_start:
{
lean_object* v_res_6525_; 
v_res_6525_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg(v_cls_6522_, v___y_6523_);
lean_dec_ref(v___y_6523_);
return v_res_6525_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0(lean_object* v_cls_6526_, lean_object* v___y_6527_, lean_object* v___y_6528_, lean_object* v___y_6529_, lean_object* v___y_6530_){
_start:
{
lean_object* v___x_6532_; 
v___x_6532_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg(v_cls_6526_, v___y_6529_);
return v___x_6532_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___boxed(lean_object* v_cls_6533_, lean_object* v___y_6534_, lean_object* v___y_6535_, lean_object* v___y_6536_, lean_object* v___y_6537_, lean_object* v___y_6538_){
_start:
{
lean_object* v_res_6539_; 
v_res_6539_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0(v_cls_6533_, v___y_6534_, v___y_6535_, v___y_6536_, v___y_6537_);
lean_dec(v___y_6537_);
lean_dec_ref(v___y_6536_);
lean_dec(v___y_6535_);
lean_dec_ref(v___y_6534_);
return v_res_6539_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0(void){
_start:
{
lean_object* v___x_6540_; 
v___x_6540_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_6540_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1(void){
_start:
{
lean_object* v___x_6541_; lean_object* v___x_6542_; 
v___x_6541_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__0);
v___x_6542_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6542_, 0, v___x_6541_);
return v___x_6542_;
}
}
static lean_object* _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2(void){
_start:
{
lean_object* v___x_6543_; lean_object* v___x_6544_; lean_object* v___x_6545_; 
v___x_6543_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__1);
v___x_6544_ = lean_unsigned_to_nat(0u);
v___x_6545_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_6545_, 0, v___x_6544_);
lean_ctor_set(v___x_6545_, 1, v___x_6544_);
lean_ctor_set(v___x_6545_, 2, v___x_6544_);
lean_ctor_set(v___x_6545_, 3, v___x_6543_);
lean_ctor_set(v___x_6545_, 4, v___x_6543_);
lean_ctor_set(v___x_6545_, 5, v___x_6543_);
lean_ctor_set(v___x_6545_, 6, v___x_6543_);
lean_ctor_set(v___x_6545_, 7, v___x_6543_);
lean_ctor_set(v___x_6545_, 8, v___x_6543_);
return v___x_6545_;
}
}
static double _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3(void){
_start:
{
lean_object* v___x_6546_; double v___x_6547_; 
v___x_6546_ = lean_unsigned_to_nat(0u);
v___x_6547_ = lean_float_of_nat(v___x_6546_);
return v___x_6547_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1(lean_object* v_cls_6551_, lean_object* v_msg_6552_, lean_object* v___y_6553_, lean_object* v___y_6554_, lean_object* v___y_6555_, lean_object* v___y_6556_){
_start:
{
lean_object* v_options_6558_; lean_object* v_ref_6559_; lean_object* v___x_6560_; lean_object* v___x_6561_; lean_object* v___x_6562_; 
v_options_6558_ = lean_ctor_get(v___y_6555_, 2);
v_ref_6559_ = lean_ctor_get(v___y_6555_, 5);
v___x_6560_ = lean_st_ref_get(v___y_6556_);
v___x_6561_ = lean_st_ref_get(v___y_6554_);
v___x_6562_ = l_Lean_Compiler_LCNF_getPurity___redArg(v___y_6553_);
if (lean_obj_tag(v___x_6562_) == 0)
{
lean_object* v_a_6563_; lean_object* v___x_6565_; uint8_t v_isShared_6566_; uint8_t v_isSharedCheck_6621_; 
v_a_6563_ = lean_ctor_get(v___x_6562_, 0);
v_isSharedCheck_6621_ = !lean_is_exclusive(v___x_6562_);
if (v_isSharedCheck_6621_ == 0)
{
v___x_6565_ = v___x_6562_;
v_isShared_6566_ = v_isSharedCheck_6621_;
goto v_resetjp_6564_;
}
else
{
lean_inc(v_a_6563_);
lean_dec(v___x_6562_);
v___x_6565_ = lean_box(0);
v_isShared_6566_ = v_isSharedCheck_6621_;
goto v_resetjp_6564_;
}
v_resetjp_6564_:
{
lean_object* v_env_6567_; lean_object* v_lctx_6568_; lean_object* v___x_6570_; uint8_t v_isShared_6571_; uint8_t v_isSharedCheck_6619_; 
v_env_6567_ = lean_ctor_get(v___x_6560_, 0);
lean_inc_ref(v_env_6567_);
lean_dec(v___x_6560_);
v_lctx_6568_ = lean_ctor_get(v___x_6561_, 0);
v_isSharedCheck_6619_ = !lean_is_exclusive(v___x_6561_);
if (v_isSharedCheck_6619_ == 0)
{
lean_object* v_unused_6620_; 
v_unused_6620_ = lean_ctor_get(v___x_6561_, 1);
lean_dec(v_unused_6620_);
v___x_6570_ = v___x_6561_;
v_isShared_6571_ = v_isSharedCheck_6619_;
goto v_resetjp_6569_;
}
else
{
lean_inc(v_lctx_6568_);
lean_dec(v___x_6561_);
v___x_6570_ = lean_box(0);
v_isShared_6571_ = v_isSharedCheck_6619_;
goto v_resetjp_6569_;
}
v_resetjp_6569_:
{
lean_object* v___x_6572_; lean_object* v___x_6573_; lean_object* v_traceState_6574_; lean_object* v_env_6575_; lean_object* v_nextMacroScope_6576_; lean_object* v_ngen_6577_; lean_object* v_auxDeclNGen_6578_; lean_object* v_cache_6579_; lean_object* v_messages_6580_; lean_object* v_infoState_6581_; lean_object* v_snapshotTasks_6582_; lean_object* v___x_6584_; uint8_t v_isShared_6585_; uint8_t v_isSharedCheck_6618_; 
v___x_6572_ = lean_obj_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__2);
v___x_6573_ = lean_st_ref_take(v___y_6556_);
v_traceState_6574_ = lean_ctor_get(v___x_6573_, 4);
v_env_6575_ = lean_ctor_get(v___x_6573_, 0);
v_nextMacroScope_6576_ = lean_ctor_get(v___x_6573_, 1);
v_ngen_6577_ = lean_ctor_get(v___x_6573_, 2);
v_auxDeclNGen_6578_ = lean_ctor_get(v___x_6573_, 3);
v_cache_6579_ = lean_ctor_get(v___x_6573_, 5);
v_messages_6580_ = lean_ctor_get(v___x_6573_, 6);
v_infoState_6581_ = lean_ctor_get(v___x_6573_, 7);
v_snapshotTasks_6582_ = lean_ctor_get(v___x_6573_, 8);
v_isSharedCheck_6618_ = !lean_is_exclusive(v___x_6573_);
if (v_isSharedCheck_6618_ == 0)
{
v___x_6584_ = v___x_6573_;
v_isShared_6585_ = v_isSharedCheck_6618_;
goto v_resetjp_6583_;
}
else
{
lean_inc(v_snapshotTasks_6582_);
lean_inc(v_infoState_6581_);
lean_inc(v_messages_6580_);
lean_inc(v_cache_6579_);
lean_inc(v_traceState_6574_);
lean_inc(v_auxDeclNGen_6578_);
lean_inc(v_ngen_6577_);
lean_inc(v_nextMacroScope_6576_);
lean_inc(v_env_6575_);
lean_dec(v___x_6573_);
v___x_6584_ = lean_box(0);
v_isShared_6585_ = v_isSharedCheck_6618_;
goto v_resetjp_6583_;
}
v_resetjp_6583_:
{
uint64_t v_tid_6586_; lean_object* v_traces_6587_; lean_object* v___x_6589_; uint8_t v_isShared_6590_; uint8_t v_isSharedCheck_6617_; 
v_tid_6586_ = lean_ctor_get_uint64(v_traceState_6574_, sizeof(void*)*1);
v_traces_6587_ = lean_ctor_get(v_traceState_6574_, 0);
v_isSharedCheck_6617_ = !lean_is_exclusive(v_traceState_6574_);
if (v_isSharedCheck_6617_ == 0)
{
v___x_6589_ = v_traceState_6574_;
v_isShared_6590_ = v_isSharedCheck_6617_;
goto v_resetjp_6588_;
}
else
{
lean_inc(v_traces_6587_);
lean_dec(v_traceState_6574_);
v___x_6589_ = lean_box(0);
v_isShared_6590_ = v_isSharedCheck_6617_;
goto v_resetjp_6588_;
}
v_resetjp_6588_:
{
uint8_t v___x_6591_; lean_object* v___x_6592_; lean_object* v___x_6593_; lean_object* v___x_6595_; 
v___x_6591_ = lean_unbox(v_a_6563_);
lean_dec(v_a_6563_);
v___x_6592_ = l_Lean_Compiler_LCNF_LCtx_toLocalContext(v_lctx_6568_, v___x_6591_);
lean_dec_ref(v_lctx_6568_);
lean_inc_ref(v_options_6558_);
v___x_6593_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_6593_, 0, v_env_6567_);
lean_ctor_set(v___x_6593_, 1, v___x_6572_);
lean_ctor_set(v___x_6593_, 2, v___x_6592_);
lean_ctor_set(v___x_6593_, 3, v_options_6558_);
if (v_isShared_6571_ == 0)
{
lean_ctor_set_tag(v___x_6570_, 3);
lean_ctor_set(v___x_6570_, 1, v_msg_6552_);
lean_ctor_set(v___x_6570_, 0, v___x_6593_);
v___x_6595_ = v___x_6570_;
goto v_reusejp_6594_;
}
else
{
lean_object* v_reuseFailAlloc_6616_; 
v_reuseFailAlloc_6616_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6616_, 0, v___x_6593_);
lean_ctor_set(v_reuseFailAlloc_6616_, 1, v_msg_6552_);
v___x_6595_ = v_reuseFailAlloc_6616_;
goto v_reusejp_6594_;
}
v_reusejp_6594_:
{
lean_object* v___x_6596_; double v___x_6597_; uint8_t v___x_6598_; lean_object* v___x_6599_; lean_object* v___x_6600_; lean_object* v___x_6601_; lean_object* v___x_6602_; lean_object* v___x_6603_; lean_object* v___x_6604_; lean_object* v___x_6606_; 
v___x_6596_ = lean_box(0);
v___x_6597_ = lean_float_once(&l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3, &l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3_once, _init_l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__3);
v___x_6598_ = 0;
v___x_6599_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__4));
v___x_6600_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_6600_, 0, v_cls_6551_);
lean_ctor_set(v___x_6600_, 1, v___x_6596_);
lean_ctor_set(v___x_6600_, 2, v___x_6599_);
lean_ctor_set_float(v___x_6600_, sizeof(void*)*3, v___x_6597_);
lean_ctor_set_float(v___x_6600_, sizeof(void*)*3 + 8, v___x_6597_);
lean_ctor_set_uint8(v___x_6600_, sizeof(void*)*3 + 16, v___x_6598_);
v___x_6601_ = ((lean_object*)(l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___closed__5));
v___x_6602_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_6602_, 0, v___x_6600_);
lean_ctor_set(v___x_6602_, 1, v___x_6595_);
lean_ctor_set(v___x_6602_, 2, v___x_6601_);
lean_inc(v_ref_6559_);
v___x_6603_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6603_, 0, v_ref_6559_);
lean_ctor_set(v___x_6603_, 1, v___x_6602_);
v___x_6604_ = l_Lean_PersistentArray_push___redArg(v_traces_6587_, v___x_6603_);
if (v_isShared_6590_ == 0)
{
lean_ctor_set(v___x_6589_, 0, v___x_6604_);
v___x_6606_ = v___x_6589_;
goto v_reusejp_6605_;
}
else
{
lean_object* v_reuseFailAlloc_6615_; 
v_reuseFailAlloc_6615_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_6615_, 0, v___x_6604_);
lean_ctor_set_uint64(v_reuseFailAlloc_6615_, sizeof(void*)*1, v_tid_6586_);
v___x_6606_ = v_reuseFailAlloc_6615_;
goto v_reusejp_6605_;
}
v_reusejp_6605_:
{
lean_object* v___x_6608_; 
if (v_isShared_6585_ == 0)
{
lean_ctor_set(v___x_6584_, 4, v___x_6606_);
v___x_6608_ = v___x_6584_;
goto v_reusejp_6607_;
}
else
{
lean_object* v_reuseFailAlloc_6614_; 
v_reuseFailAlloc_6614_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_6614_, 0, v_env_6575_);
lean_ctor_set(v_reuseFailAlloc_6614_, 1, v_nextMacroScope_6576_);
lean_ctor_set(v_reuseFailAlloc_6614_, 2, v_ngen_6577_);
lean_ctor_set(v_reuseFailAlloc_6614_, 3, v_auxDeclNGen_6578_);
lean_ctor_set(v_reuseFailAlloc_6614_, 4, v___x_6606_);
lean_ctor_set(v_reuseFailAlloc_6614_, 5, v_cache_6579_);
lean_ctor_set(v_reuseFailAlloc_6614_, 6, v_messages_6580_);
lean_ctor_set(v_reuseFailAlloc_6614_, 7, v_infoState_6581_);
lean_ctor_set(v_reuseFailAlloc_6614_, 8, v_snapshotTasks_6582_);
v___x_6608_ = v_reuseFailAlloc_6614_;
goto v_reusejp_6607_;
}
v_reusejp_6607_:
{
lean_object* v___x_6609_; lean_object* v___x_6610_; lean_object* v___x_6612_; 
v___x_6609_ = lean_st_ref_set(v___y_6556_, v___x_6608_);
v___x_6610_ = lean_box(0);
if (v_isShared_6566_ == 0)
{
lean_ctor_set(v___x_6565_, 0, v___x_6610_);
v___x_6612_ = v___x_6565_;
goto v_reusejp_6611_;
}
else
{
lean_object* v_reuseFailAlloc_6613_; 
v_reuseFailAlloc_6613_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6613_, 0, v___x_6610_);
v___x_6612_ = v_reuseFailAlloc_6613_;
goto v_reusejp_6611_;
}
v_reusejp_6611_:
{
return v___x_6612_;
}
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_6622_; lean_object* v___x_6624_; uint8_t v_isShared_6625_; uint8_t v_isSharedCheck_6629_; 
lean_dec(v___x_6561_);
lean_dec(v___x_6560_);
lean_dec_ref(v_msg_6552_);
lean_dec(v_cls_6551_);
v_a_6622_ = lean_ctor_get(v___x_6562_, 0);
v_isSharedCheck_6629_ = !lean_is_exclusive(v___x_6562_);
if (v_isSharedCheck_6629_ == 0)
{
v___x_6624_ = v___x_6562_;
v_isShared_6625_ = v_isSharedCheck_6629_;
goto v_resetjp_6623_;
}
else
{
lean_inc(v_a_6622_);
lean_dec(v___x_6562_);
v___x_6624_ = lean_box(0);
v_isShared_6625_ = v_isSharedCheck_6629_;
goto v_resetjp_6623_;
}
v_resetjp_6623_:
{
lean_object* v___x_6627_; 
if (v_isShared_6625_ == 0)
{
v___x_6627_ = v___x_6624_;
goto v_reusejp_6626_;
}
else
{
lean_object* v_reuseFailAlloc_6628_; 
v_reuseFailAlloc_6628_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6628_, 0, v_a_6622_);
v___x_6627_ = v_reuseFailAlloc_6628_;
goto v_reusejp_6626_;
}
v_reusejp_6626_:
{
return v___x_6627_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1___boxed(lean_object* v_cls_6630_, lean_object* v_msg_6631_, lean_object* v___y_6632_, lean_object* v___y_6633_, lean_object* v___y_6634_, lean_object* v___y_6635_, lean_object* v___y_6636_){
_start:
{
lean_object* v_res_6637_; 
v_res_6637_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1(v_cls_6630_, v_msg_6631_, v___y_6632_, v___y_6633_, v___y_6634_, v___y_6635_);
lean_dec(v___y_6635_);
lean_dec_ref(v___y_6634_);
lean_dec(v___y_6633_);
lean_dec_ref(v___y_6632_);
return v_res_6637_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4(void){
_start:
{
lean_object* v___x_6644_; lean_object* v___x_6645_; 
v___x_6644_ = ((lean_object*)(l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__3));
v___x_6645_ = l_Lean_stringToMessageData(v___x_6644_);
return v___x_6645_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6(void){
_start:
{
lean_object* v___x_6647_; lean_object* v___x_6648_; 
v___x_6647_ = ((lean_object*)(l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__5));
v___x_6648_ = l_Lean_stringToMessageData(v___x_6647_);
return v___x_6648_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f(lean_object* v_decl_6649_, lean_object* v_a_6650_, lean_object* v_a_6651_, lean_object* v_a_6652_, lean_object* v_a_6653_){
_start:
{
lean_object* v___x_6655_; 
lean_inc(v_a_6653_);
lean_inc_ref(v_a_6652_);
lean_inc(v_a_6651_);
lean_inc_ref(v_a_6650_);
lean_inc_ref(v_decl_6649_);
v___x_6655_ = l_Lean_Compiler_LCNF_JoinPointFinder_find(v_decl_6649_, v_a_6650_, v_a_6651_, v_a_6652_, v_a_6653_);
if (lean_obj_tag(v___x_6655_) == 0)
{
lean_object* v_a_6656_; lean_object* v___x_6658_; uint8_t v_isShared_6659_; uint8_t v_isSharedCheck_6721_; 
v_a_6656_ = lean_ctor_get(v___x_6655_, 0);
v_isSharedCheck_6721_ = !lean_is_exclusive(v___x_6655_);
if (v_isSharedCheck_6721_ == 0)
{
v___x_6658_ = v___x_6655_;
v_isShared_6659_ = v_isSharedCheck_6721_;
goto v_resetjp_6657_;
}
else
{
lean_inc(v_a_6656_);
lean_dec(v___x_6655_);
v___x_6658_ = lean_box(0);
v_isShared_6659_ = v_isSharedCheck_6721_;
goto v_resetjp_6657_;
}
v_resetjp_6657_:
{
lean_object* v___y_6661_; lean_object* v___y_6662_; lean_object* v___y_6663_; lean_object* v___y_6664_; lean_object* v___x_6690_; lean_object* v___x_6691_; lean_object* v_a_6692_; lean_object* v___x_6694_; uint8_t v_isShared_6695_; uint8_t v_isSharedCheck_6720_; 
v___x_6690_ = ((lean_object*)(l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2));
v___x_6691_ = l_Lean_isTracingEnabledFor___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__0___redArg(v___x_6690_, v_a_6652_);
v_a_6692_ = lean_ctor_get(v___x_6691_, 0);
v_isSharedCheck_6720_ = !lean_is_exclusive(v___x_6691_);
if (v_isSharedCheck_6720_ == 0)
{
v___x_6694_ = v___x_6691_;
v_isShared_6695_ = v_isSharedCheck_6720_;
goto v_resetjp_6693_;
}
else
{
lean_inc(v_a_6692_);
lean_dec(v___x_6691_);
v___x_6694_ = lean_box(0);
v_isShared_6695_ = v_isSharedCheck_6720_;
goto v_resetjp_6693_;
}
v___jp_6660_:
{
lean_object* v_size_6665_; lean_object* v___x_6666_; uint8_t v___x_6667_; 
v_size_6665_ = lean_ctor_get(v_a_6656_, 0);
v___x_6666_ = lean_unsigned_to_nat(0u);
v___x_6667_ = lean_nat_dec_eq(v_size_6665_, v___x_6666_);
if (v___x_6667_ == 0)
{
lean_object* v___x_6668_; 
lean_del_object(v___x_6658_);
v___x_6668_ = l_Lean_Compiler_LCNF_JoinPointFinder_replace(v_decl_6649_, v_a_6656_, v___y_6661_, v___y_6662_, v___y_6663_, v___y_6664_);
lean_dec(v_a_6656_);
if (lean_obj_tag(v___x_6668_) == 0)
{
lean_object* v_a_6669_; lean_object* v___x_6671_; uint8_t v_isShared_6672_; uint8_t v_isSharedCheck_6677_; 
v_a_6669_ = lean_ctor_get(v___x_6668_, 0);
v_isSharedCheck_6677_ = !lean_is_exclusive(v___x_6668_);
if (v_isSharedCheck_6677_ == 0)
{
v___x_6671_ = v___x_6668_;
v_isShared_6672_ = v_isSharedCheck_6677_;
goto v_resetjp_6670_;
}
else
{
lean_inc(v_a_6669_);
lean_dec(v___x_6668_);
v___x_6671_ = lean_box(0);
v_isShared_6672_ = v_isSharedCheck_6677_;
goto v_resetjp_6670_;
}
v_resetjp_6670_:
{
lean_object* v___x_6673_; lean_object* v___x_6675_; 
v___x_6673_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6673_, 0, v_a_6669_);
if (v_isShared_6672_ == 0)
{
lean_ctor_set(v___x_6671_, 0, v___x_6673_);
v___x_6675_ = v___x_6671_;
goto v_reusejp_6674_;
}
else
{
lean_object* v_reuseFailAlloc_6676_; 
v_reuseFailAlloc_6676_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6676_, 0, v___x_6673_);
v___x_6675_ = v_reuseFailAlloc_6676_;
goto v_reusejp_6674_;
}
v_reusejp_6674_:
{
return v___x_6675_;
}
}
}
else
{
lean_object* v_a_6678_; lean_object* v___x_6680_; uint8_t v_isShared_6681_; uint8_t v_isSharedCheck_6685_; 
v_a_6678_ = lean_ctor_get(v___x_6668_, 0);
v_isSharedCheck_6685_ = !lean_is_exclusive(v___x_6668_);
if (v_isSharedCheck_6685_ == 0)
{
v___x_6680_ = v___x_6668_;
v_isShared_6681_ = v_isSharedCheck_6685_;
goto v_resetjp_6679_;
}
else
{
lean_inc(v_a_6678_);
lean_dec(v___x_6668_);
v___x_6680_ = lean_box(0);
v_isShared_6681_ = v_isSharedCheck_6685_;
goto v_resetjp_6679_;
}
v_resetjp_6679_:
{
lean_object* v___x_6683_; 
if (v_isShared_6681_ == 0)
{
v___x_6683_ = v___x_6680_;
goto v_reusejp_6682_;
}
else
{
lean_object* v_reuseFailAlloc_6684_; 
v_reuseFailAlloc_6684_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6684_, 0, v_a_6678_);
v___x_6683_ = v_reuseFailAlloc_6684_;
goto v_reusejp_6682_;
}
v_reusejp_6682_:
{
return v___x_6683_;
}
}
}
}
else
{
lean_object* v___x_6686_; lean_object* v___x_6688_; 
lean_dec(v___y_6664_);
lean_dec_ref(v___y_6663_);
lean_dec(v___y_6662_);
lean_dec_ref(v___y_6661_);
lean_dec(v_a_6656_);
lean_dec_ref(v_decl_6649_);
v___x_6686_ = lean_box(0);
if (v_isShared_6659_ == 0)
{
lean_ctor_set(v___x_6658_, 0, v___x_6686_);
v___x_6688_ = v___x_6658_;
goto v_reusejp_6687_;
}
else
{
lean_object* v_reuseFailAlloc_6689_; 
v_reuseFailAlloc_6689_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6689_, 0, v___x_6686_);
v___x_6688_ = v_reuseFailAlloc_6689_;
goto v_reusejp_6687_;
}
v_reusejp_6687_:
{
return v___x_6688_;
}
}
}
v_resetjp_6693_:
{
uint8_t v___x_6696_; 
v___x_6696_ = lean_unbox(v_a_6692_);
lean_dec(v_a_6692_);
if (v___x_6696_ == 0)
{
lean_del_object(v___x_6694_);
v___y_6661_ = v_a_6650_;
v___y_6662_ = v_a_6651_;
v___y_6663_ = v_a_6652_;
v___y_6664_ = v_a_6653_;
goto v___jp_6660_;
}
else
{
lean_object* v_toSignature_6697_; lean_object* v_size_6698_; lean_object* v_name_6699_; lean_object* v___x_6700_; lean_object* v___x_6701_; lean_object* v___x_6703_; 
v_toSignature_6697_ = lean_ctor_get(v_decl_6649_, 0);
v_size_6698_ = lean_ctor_get(v_a_6656_, 0);
v_name_6699_ = lean_ctor_get(v_toSignature_6697_, 0);
v___x_6700_ = lean_obj_once(&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4, &l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4_once, _init_l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__4);
lean_inc(v_size_6698_);
v___x_6701_ = l_Nat_reprFast(v_size_6698_);
if (v_isShared_6695_ == 0)
{
lean_ctor_set_tag(v___x_6694_, 3);
lean_ctor_set(v___x_6694_, 0, v___x_6701_);
v___x_6703_ = v___x_6694_;
goto v_reusejp_6702_;
}
else
{
lean_object* v_reuseFailAlloc_6719_; 
v_reuseFailAlloc_6719_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6719_, 0, v___x_6701_);
v___x_6703_ = v_reuseFailAlloc_6719_;
goto v_reusejp_6702_;
}
v_reusejp_6702_:
{
lean_object* v___x_6704_; lean_object* v___x_6705_; lean_object* v___x_6706_; lean_object* v___x_6707_; lean_object* v___x_6708_; lean_object* v___x_6709_; lean_object* v___x_6710_; 
v___x_6704_ = l_Lean_MessageData_ofFormat(v___x_6703_);
v___x_6705_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6705_, 0, v___x_6700_);
lean_ctor_set(v___x_6705_, 1, v___x_6704_);
v___x_6706_ = lean_obj_once(&l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6, &l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6_once, _init_l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__6);
v___x_6707_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6707_, 0, v___x_6705_);
lean_ctor_set(v___x_6707_, 1, v___x_6706_);
lean_inc(v_name_6699_);
v___x_6708_ = l_Lean_MessageData_ofName(v_name_6699_);
v___x_6709_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_6709_, 0, v___x_6707_);
lean_ctor_set(v___x_6709_, 1, v___x_6708_);
v___x_6710_ = l_Lean_addTrace___at___00Lean_Compiler_LCNF_Decl_findJoinPoints_x3f_spec__1(v___x_6690_, v___x_6709_, v_a_6650_, v_a_6651_, v_a_6652_, v_a_6653_);
if (lean_obj_tag(v___x_6710_) == 0)
{
lean_dec_ref(v___x_6710_);
v___y_6661_ = v_a_6650_;
v___y_6662_ = v_a_6651_;
v___y_6663_ = v_a_6652_;
v___y_6664_ = v_a_6653_;
goto v___jp_6660_;
}
else
{
lean_object* v_a_6711_; lean_object* v___x_6713_; uint8_t v_isShared_6714_; uint8_t v_isSharedCheck_6718_; 
lean_del_object(v___x_6658_);
lean_dec(v_a_6656_);
lean_dec(v_a_6653_);
lean_dec_ref(v_a_6652_);
lean_dec(v_a_6651_);
lean_dec_ref(v_a_6650_);
lean_dec_ref(v_decl_6649_);
v_a_6711_ = lean_ctor_get(v___x_6710_, 0);
v_isSharedCheck_6718_ = !lean_is_exclusive(v___x_6710_);
if (v_isSharedCheck_6718_ == 0)
{
v___x_6713_ = v___x_6710_;
v_isShared_6714_ = v_isSharedCheck_6718_;
goto v_resetjp_6712_;
}
else
{
lean_inc(v_a_6711_);
lean_dec(v___x_6710_);
v___x_6713_ = lean_box(0);
v_isShared_6714_ = v_isSharedCheck_6718_;
goto v_resetjp_6712_;
}
v_resetjp_6712_:
{
lean_object* v___x_6716_; 
if (v_isShared_6714_ == 0)
{
v___x_6716_ = v___x_6713_;
goto v_reusejp_6715_;
}
else
{
lean_object* v_reuseFailAlloc_6717_; 
v_reuseFailAlloc_6717_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6717_, 0, v_a_6711_);
v___x_6716_ = v_reuseFailAlloc_6717_;
goto v_reusejp_6715_;
}
v_reusejp_6715_:
{
return v___x_6716_;
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_6722_; lean_object* v___x_6724_; uint8_t v_isShared_6725_; uint8_t v_isSharedCheck_6729_; 
lean_dec(v_a_6653_);
lean_dec_ref(v_a_6652_);
lean_dec(v_a_6651_);
lean_dec_ref(v_a_6650_);
lean_dec_ref(v_decl_6649_);
v_a_6722_ = lean_ctor_get(v___x_6655_, 0);
v_isSharedCheck_6729_ = !lean_is_exclusive(v___x_6655_);
if (v_isSharedCheck_6729_ == 0)
{
v___x_6724_ = v___x_6655_;
v_isShared_6725_ = v_isSharedCheck_6729_;
goto v_resetjp_6723_;
}
else
{
lean_inc(v_a_6722_);
lean_dec(v___x_6655_);
v___x_6724_ = lean_box(0);
v_isShared_6725_ = v_isSharedCheck_6729_;
goto v_resetjp_6723_;
}
v_resetjp_6723_:
{
lean_object* v___x_6727_; 
if (v_isShared_6725_ == 0)
{
v___x_6727_ = v___x_6724_;
goto v_reusejp_6726_;
}
else
{
lean_object* v_reuseFailAlloc_6728_; 
v_reuseFailAlloc_6728_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6728_, 0, v_a_6722_);
v___x_6727_ = v_reuseFailAlloc_6728_;
goto v_reusejp_6726_;
}
v_reusejp_6726_:
{
return v___x_6727_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___boxed(lean_object* v_decl_6730_, lean_object* v_a_6731_, lean_object* v_a_6732_, lean_object* v_a_6733_, lean_object* v_a_6734_, lean_object* v_a_6735_){
_start:
{
lean_object* v_res_6736_; 
v_res_6736_ = l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f(v_decl_6730_, v_a_6731_, v_a_6732_, v_a_6733_, v_a_6734_);
return v_res_6736_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints(lean_object* v_decl_6737_, lean_object* v_a_6738_, lean_object* v_a_6739_, lean_object* v_a_6740_, lean_object* v_a_6741_){
_start:
{
lean_object* v___x_6743_; 
lean_inc_ref(v_decl_6737_);
v___x_6743_ = l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f(v_decl_6737_, v_a_6738_, v_a_6739_, v_a_6740_, v_a_6741_);
if (lean_obj_tag(v___x_6743_) == 0)
{
lean_object* v_a_6744_; lean_object* v___x_6746_; uint8_t v_isShared_6747_; uint8_t v_isSharedCheck_6755_; 
v_a_6744_ = lean_ctor_get(v___x_6743_, 0);
v_isSharedCheck_6755_ = !lean_is_exclusive(v___x_6743_);
if (v_isSharedCheck_6755_ == 0)
{
v___x_6746_ = v___x_6743_;
v_isShared_6747_ = v_isSharedCheck_6755_;
goto v_resetjp_6745_;
}
else
{
lean_inc(v_a_6744_);
lean_dec(v___x_6743_);
v___x_6746_ = lean_box(0);
v_isShared_6747_ = v_isSharedCheck_6755_;
goto v_resetjp_6745_;
}
v_resetjp_6745_:
{
if (lean_obj_tag(v_a_6744_) == 0)
{
lean_object* v___x_6749_; 
if (v_isShared_6747_ == 0)
{
lean_ctor_set(v___x_6746_, 0, v_decl_6737_);
v___x_6749_ = v___x_6746_;
goto v_reusejp_6748_;
}
else
{
lean_object* v_reuseFailAlloc_6750_; 
v_reuseFailAlloc_6750_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6750_, 0, v_decl_6737_);
v___x_6749_ = v_reuseFailAlloc_6750_;
goto v_reusejp_6748_;
}
v_reusejp_6748_:
{
return v___x_6749_;
}
}
else
{
lean_object* v_val_6751_; lean_object* v___x_6753_; 
lean_dec_ref(v_decl_6737_);
v_val_6751_ = lean_ctor_get(v_a_6744_, 0);
lean_inc(v_val_6751_);
lean_dec_ref(v_a_6744_);
if (v_isShared_6747_ == 0)
{
lean_ctor_set(v___x_6746_, 0, v_val_6751_);
v___x_6753_ = v___x_6746_;
goto v_reusejp_6752_;
}
else
{
lean_object* v_reuseFailAlloc_6754_; 
v_reuseFailAlloc_6754_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6754_, 0, v_val_6751_);
v___x_6753_ = v_reuseFailAlloc_6754_;
goto v_reusejp_6752_;
}
v_reusejp_6752_:
{
return v___x_6753_;
}
}
}
}
else
{
lean_object* v_a_6756_; lean_object* v___x_6758_; uint8_t v_isShared_6759_; uint8_t v_isSharedCheck_6763_; 
lean_dec_ref(v_decl_6737_);
v_a_6756_ = lean_ctor_get(v___x_6743_, 0);
v_isSharedCheck_6763_ = !lean_is_exclusive(v___x_6743_);
if (v_isSharedCheck_6763_ == 0)
{
v___x_6758_ = v___x_6743_;
v_isShared_6759_ = v_isSharedCheck_6763_;
goto v_resetjp_6757_;
}
else
{
lean_inc(v_a_6756_);
lean_dec(v___x_6743_);
v___x_6758_ = lean_box(0);
v_isShared_6759_ = v_isSharedCheck_6763_;
goto v_resetjp_6757_;
}
v_resetjp_6757_:
{
lean_object* v___x_6761_; 
if (v_isShared_6759_ == 0)
{
v___x_6761_ = v___x_6758_;
goto v_reusejp_6760_;
}
else
{
lean_object* v_reuseFailAlloc_6762_; 
v_reuseFailAlloc_6762_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6762_, 0, v_a_6756_);
v___x_6761_ = v_reuseFailAlloc_6762_;
goto v_reusejp_6760_;
}
v_reusejp_6760_:
{
return v___x_6761_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints___boxed(lean_object* v_decl_6764_, lean_object* v_a_6765_, lean_object* v_a_6766_, lean_object* v_a_6767_, lean_object* v_a_6768_, lean_object* v_a_6769_){
_start:
{
lean_object* v_res_6770_; 
v_res_6770_ = l_Lean_Compiler_LCNF_Decl_findJoinPoints(v_decl_6764_, v_a_6765_, v_a_6766_, v_a_6767_, v_a_6768_);
return v_res_6770_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findJoinPoints(lean_object* v_occurrence_6774_){
_start:
{
lean_object* v___x_6775_; uint8_t v___x_6776_; lean_object* v___x_6777_; lean_object* v___x_6778_; 
v___x_6775_ = ((lean_object*)(l_Lean_Compiler_LCNF_findJoinPoints___closed__0));
v___x_6776_ = 0;
v___x_6777_ = ((lean_object*)(l_Lean_Compiler_LCNF_findJoinPoints___closed__1));
v___x_6778_ = l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(v___x_6775_, v___x_6776_, v___x_6777_, v_occurrence_6774_);
return v___x_6778_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_6845_; uint8_t v___x_6846_; lean_object* v___x_6847_; lean_object* v___x_6848_; 
v___x_6845_ = ((lean_object*)(l_Lean_Compiler_LCNF_Decl_findJoinPoints_x3f___closed__2));
v___x_6846_ = 1;
v___x_6847_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__26_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_));
v___x_6848_ = l_Lean_registerTraceClass(v___x_6845_, v___x_6846_, v___x_6847_);
return v___x_6848_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2____boxed(lean_object* v_a_6849_){
_start:
{
lean_object* v_res_6850_; 
v_res_6850_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_();
return v_res_6850_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_extendJoinPointContext(lean_object* v_decl_6851_, lean_object* v_a_6852_, lean_object* v_a_6853_, lean_object* v_a_6854_, lean_object* v_a_6855_){
_start:
{
lean_object* v___x_6857_; 
v___x_6857_ = l_Lean_Compiler_LCNF_JoinPointContextExtender_extend(v_decl_6851_, v_a_6852_, v_a_6853_, v_a_6854_, v_a_6855_);
return v___x_6857_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_extendJoinPointContext___boxed(lean_object* v_decl_6858_, lean_object* v_a_6859_, lean_object* v_a_6860_, lean_object* v_a_6861_, lean_object* v_a_6862_, lean_object* v_a_6863_){
_start:
{
lean_object* v_res_6864_; 
v_res_6864_ = l_Lean_Compiler_LCNF_Decl_extendJoinPointContext(v_decl_6858_, v_a_6859_, v_a_6860_, v_a_6861_, v_a_6862_);
return v_res_6864_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11(void){
_start:
{
lean_object* v___x_6890_; lean_object* v___x_6891_; 
v___x_6890_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__9));
v___x_6891_ = l_Lean_mkAtom(v___x_6890_);
return v___x_6891_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12(void){
_start:
{
lean_object* v___x_6892_; lean_object* v___x_6893_; lean_object* v___x_6894_; 
v___x_6892_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__11);
v___x_6893_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4));
v___x_6894_ = lean_array_push(v___x_6893_, v___x_6892_);
return v___x_6894_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16(void){
_start:
{
lean_object* v___x_6905_; lean_object* v___x_6906_; lean_object* v___x_6907_; 
v___x_6905_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15));
v___x_6906_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4));
v___x_6907_ = lean_array_push(v___x_6906_, v___x_6905_);
return v___x_6907_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17(void){
_start:
{
lean_object* v___x_6908_; lean_object* v___x_6909_; lean_object* v___x_6910_; lean_object* v___x_6911_; 
v___x_6908_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__16);
v___x_6909_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__14));
v___x_6910_ = lean_box(2);
v___x_6911_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6911_, 0, v___x_6910_);
lean_ctor_set(v___x_6911_, 1, v___x_6909_);
lean_ctor_set(v___x_6911_, 2, v___x_6908_);
return v___x_6911_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18(void){
_start:
{
lean_object* v___x_6912_; lean_object* v___x_6913_; lean_object* v___x_6914_; 
v___x_6912_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__17);
v___x_6913_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__12);
v___x_6914_ = lean_array_push(v___x_6913_, v___x_6912_);
return v___x_6914_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19(void){
_start:
{
lean_object* v___x_6915_; lean_object* v___x_6916_; lean_object* v___x_6917_; 
v___x_6915_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15));
v___x_6916_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__18);
v___x_6917_ = lean_array_push(v___x_6916_, v___x_6915_);
return v___x_6917_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20(void){
_start:
{
lean_object* v___x_6918_; lean_object* v___x_6919_; lean_object* v___x_6920_; 
v___x_6918_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15));
v___x_6919_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__19);
v___x_6920_ = lean_array_push(v___x_6919_, v___x_6918_);
return v___x_6920_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21(void){
_start:
{
lean_object* v___x_6921_; lean_object* v___x_6922_; lean_object* v___x_6923_; 
v___x_6921_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15));
v___x_6922_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__20);
v___x_6923_ = lean_array_push(v___x_6922_, v___x_6921_);
return v___x_6923_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22(void){
_start:
{
lean_object* v___x_6924_; lean_object* v___x_6925_; lean_object* v___x_6926_; 
v___x_6924_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__15));
v___x_6925_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__21);
v___x_6926_ = lean_array_push(v___x_6925_, v___x_6924_);
return v___x_6926_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23(void){
_start:
{
lean_object* v___x_6927_; lean_object* v___x_6928_; lean_object* v___x_6929_; lean_object* v___x_6930_; 
v___x_6927_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__22);
v___x_6928_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__10));
v___x_6929_ = lean_box(2);
v___x_6930_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6930_, 0, v___x_6929_);
lean_ctor_set(v___x_6930_, 1, v___x_6928_);
lean_ctor_set(v___x_6930_, 2, v___x_6927_);
return v___x_6930_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24(void){
_start:
{
lean_object* v___x_6931_; lean_object* v___x_6932_; lean_object* v___x_6933_; 
v___x_6931_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__23);
v___x_6932_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4));
v___x_6933_ = lean_array_push(v___x_6932_, v___x_6931_);
return v___x_6933_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25(void){
_start:
{
lean_object* v___x_6934_; lean_object* v___x_6935_; lean_object* v___x_6936_; lean_object* v___x_6937_; 
v___x_6934_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__24);
v___x_6935_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__8));
v___x_6936_ = lean_box(2);
v___x_6937_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6937_, 0, v___x_6936_);
lean_ctor_set(v___x_6937_, 1, v___x_6935_);
lean_ctor_set(v___x_6937_, 2, v___x_6934_);
return v___x_6937_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26(void){
_start:
{
lean_object* v___x_6938_; lean_object* v___x_6939_; lean_object* v___x_6940_; 
v___x_6938_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__25);
v___x_6939_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4));
v___x_6940_ = lean_array_push(v___x_6939_, v___x_6938_);
return v___x_6940_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27(void){
_start:
{
lean_object* v___x_6941_; lean_object* v___x_6942_; lean_object* v___x_6943_; lean_object* v___x_6944_; 
v___x_6941_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__26);
v___x_6942_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__6));
v___x_6943_ = lean_box(2);
v___x_6944_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6944_, 0, v___x_6943_);
lean_ctor_set(v___x_6944_, 1, v___x_6942_);
lean_ctor_set(v___x_6944_, 2, v___x_6941_);
return v___x_6944_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28(void){
_start:
{
lean_object* v___x_6945_; lean_object* v___x_6946_; lean_object* v___x_6947_; 
v___x_6945_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__27);
v___x_6946_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__4));
v___x_6947_ = lean_array_push(v___x_6946_, v___x_6945_);
return v___x_6947_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29(void){
_start:
{
lean_object* v___x_6948_; lean_object* v___x_6949_; lean_object* v___x_6950_; lean_object* v___x_6951_; 
v___x_6948_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__28);
v___x_6949_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__3));
v___x_6950_ = lean_box(2);
v___x_6951_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6951_, 0, v___x_6950_);
lean_ctor_set(v___x_6951_, 1, v___x_6949_);
lean_ctor_set(v___x_6951_, 2, v___x_6948_);
return v___x_6951_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1(void){
_start:
{
lean_object* v___x_6952_; 
v___x_6952_ = lean_obj_once(&l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29, &l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29_once, _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1___closed__29);
return v___x_6952_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0(uint8_t v_phase_6956_, lean_object* v___f_6957_, lean_object* v_occurrence_6958_, lean_object* v_h_6959_){
_start:
{
lean_object* v___x_6960_; lean_object* v___x_6961_; 
v___x_6960_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___closed__1));
v___x_6961_ = l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(v___x_6960_, v_phase_6956_, v___f_6957_, v_occurrence_6958_);
return v___x_6961_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___boxed(lean_object* v_phase_6962_, lean_object* v___f_6963_, lean_object* v_occurrence_6964_, lean_object* v_h_6965_){
_start:
{
uint8_t v_phase_boxed_6966_; lean_object* v_res_6967_; 
v_phase_boxed_6966_ = lean_unbox(v_phase_6962_);
v_res_6967_ = l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0(v_phase_boxed_6966_, v___f_6963_, v_occurrence_6964_, v_h_6965_);
return v_res_6967_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg(lean_object* v_occurrence_6969_, uint8_t v_phase_6970_){
_start:
{
lean_object* v___f_6971_; lean_object* v___x_6972_; lean_object* v___f_6973_; lean_object* v___x_6974_; uint8_t v___x_6975_; lean_object* v___x_6976_; 
v___f_6971_ = ((lean_object*)(l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___closed__0));
v___x_6972_ = lean_box(v_phase_6970_);
v___f_6973_ = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___lam__0___boxed), 4, 3);
lean_closure_set(v___f_6973_, 0, v___x_6972_);
lean_closure_set(v___f_6973_, 1, v___f_6971_);
lean_closure_set(v___f_6973_, 2, v_occurrence_6969_);
v___x_6974_ = l_Lean_Compiler_LCNF_instInhabitedPass;
v___x_6975_ = 0;
v___x_6976_ = l_Lean_Compiler_LCNF_Phase_withPurityCheck___redArg(v___x_6974_, v_phase_6970_, v___x_6975_, v___f_6973_);
return v___x_6976_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___redArg___boxed(lean_object* v_occurrence_6977_, lean_object* v_phase_6978_){
_start:
{
uint8_t v_phase_boxed_6979_; lean_object* v_res_6980_; 
v_phase_boxed_6979_ = lean_unbox(v_phase_6978_);
v_res_6980_ = l_Lean_Compiler_LCNF_extendJoinPointContext___redArg(v_occurrence_6977_, v_phase_boxed_6979_);
return v_res_6980_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext(lean_object* v_occurrence_6981_, uint8_t v_phase_6982_, lean_object* v___h_6983_){
_start:
{
lean_object* v___x_6984_; 
v___x_6984_ = l_Lean_Compiler_LCNF_extendJoinPointContext___redArg(v_occurrence_6981_, v_phase_6982_);
return v___x_6984_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_extendJoinPointContext___boxed(lean_object* v_occurrence_6985_, lean_object* v_phase_6986_, lean_object* v___h_6987_){
_start:
{
uint8_t v_phase_boxed_6988_; lean_object* v_res_6989_; 
v_phase_boxed_6988_ = lean_unbox(v_phase_6986_);
v_res_6989_ = l_Lean_Compiler_LCNF_extendJoinPointContext(v_occurrence_6985_, v_phase_boxed_6988_, v___h_6987_);
return v_res_6989_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_7006_; uint8_t v___x_7007_; lean_object* v___x_7008_; lean_object* v___x_7009_; 
v___x_7006_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_));
v___x_7007_ = 1;
v___x_7008_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_));
v___x_7009_ = l_Lean_registerTraceClass(v___x_7006_, v___x_7007_, v___x_7008_);
return v___x_7009_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2____boxed(lean_object* v_a_7010_){
_start:
{
lean_object* v_res_7011_; 
v_res_7011_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_();
return v_res_7011_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_commonJoinPointArgs(lean_object* v_decl_7012_, lean_object* v_a_7013_, lean_object* v_a_7014_, lean_object* v_a_7015_, lean_object* v_a_7016_){
_start:
{
lean_object* v___x_7018_; 
v___x_7018_ = l_Lean_Compiler_LCNF_JoinPointCommonArgs_reduce(v_decl_7012_, v_a_7013_, v_a_7014_, v_a_7015_, v_a_7016_);
return v___x_7018_;
}
}
LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_commonJoinPointArgs___boxed(lean_object* v_decl_7019_, lean_object* v_a_7020_, lean_object* v_a_7021_, lean_object* v_a_7022_, lean_object* v_a_7023_, lean_object* v_a_7024_){
_start:
{
lean_object* v_res_7025_; 
v_res_7025_ = l_Lean_Compiler_LCNF_Decl_commonJoinPointArgs(v_decl_7019_, v_a_7020_, v_a_7021_, v_a_7022_, v_a_7023_);
return v_res_7025_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3(void){
_start:
{
lean_object* v___x_7030_; lean_object* v___f_7031_; uint8_t v___x_7032_; lean_object* v___x_7033_; lean_object* v___x_7034_; 
v___x_7030_ = lean_unsigned_to_nat(0u);
v___f_7031_ = ((lean_object*)(l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__0));
v___x_7032_ = 1;
v___x_7033_ = ((lean_object*)(l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__2));
v___x_7034_ = l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(v___x_7033_, v___x_7032_, v___f_7031_, v___x_7030_);
return v___x_7034_;
}
}
static lean_object* _init_l_Lean_Compiler_LCNF_commonJoinPointArgs(void){
_start:
{
lean_object* v___x_7035_; 
v___x_7035_ = lean_obj_once(&l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3, &l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3_once, _init_l_Lean_Compiler_LCNF_commonJoinPointArgs___closed__3);
return v___x_7035_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_(void){
_start:
{
lean_object* v___x_7039_; lean_object* v___x_7040_; lean_object* v___x_7041_; 
v___x_7039_ = lean_unsigned_to_nat(3948291228u);
v___x_7040_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__20_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_));
v___x_7041_ = l_Lean_Name_num___override(v___x_7040_, v___x_7039_);
return v___x_7041_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_(void){
_start:
{
lean_object* v___x_7042_; lean_object* v___x_7043_; lean_object* v___x_7044_; 
v___x_7042_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__22_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_));
v___x_7043_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__1_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_);
v___x_7044_ = l_Lean_Name_str___override(v___x_7043_, v___x_7042_);
return v___x_7044_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_(void){
_start:
{
lean_object* v___x_7045_; lean_object* v___x_7046_; lean_object* v___x_7047_; 
v___x_7045_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__24_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_));
v___x_7046_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__2_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_);
v___x_7047_ = l_Lean_Name_str___override(v___x_7046_, v___x_7045_);
return v___x_7047_;
}
}
static lean_object* _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_(void){
_start:
{
lean_object* v___x_7048_; lean_object* v___x_7049_; lean_object* v___x_7050_; 
v___x_7048_ = lean_unsigned_to_nat(2u);
v___x_7049_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__3_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_);
v___x_7050_ = l_Lean_Name_num___override(v___x_7049_, v___x_7048_);
return v___x_7050_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_(){
_start:
{
lean_object* v___x_7052_; uint8_t v___x_7053_; lean_object* v___x_7054_; lean_object* v___x_7055_; 
v___x_7052_ = ((lean_object*)(l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__0_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_));
v___x_7053_ = 1;
v___x_7054_ = lean_obj_once(&l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_, &l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2__once, _init_l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn___closed__4_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_);
v___x_7055_ = l_Lean_registerTraceClass(v___x_7052_, v___x_7053_, v___x_7054_);
return v___x_7055_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2____boxed(lean_object* v_a_7056_){
_start:
{
lean_object* v_res_7057_; 
v_res_7057_ = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____hygCtx___hyg_2_();
return v_res_7057_;
}
}
lean_object* runtime_initialize_Lean_Compiler_LCNF_PullFunDecls(uint8_t builtin);
lean_object* runtime_initialize_Lean_Compiler_LCNF_FVarUtil(uint8_t builtin);
lean_object* runtime_initialize_Lean_Compiler_LCNF_ScopeM(uint8_t builtin);
lean_object* runtime_initialize_Lean_Compiler_LCNF_InferType(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Compiler_LCNF_JoinPoints(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_PullFunDecls(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_FVarUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_ScopeM(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_InferType(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default = _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default();
lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo_default);
l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo = _init_l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo();
lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_instInhabitedCandidateInfo);
res = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_885915134____hygCtx___hyg_2_();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_1293217372____hygCtx___hyg_2_();
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Lean_Compiler_LCNF_commonJoinPointArgs = _init_l_Lean_Compiler_LCNF_commonJoinPointArgs();
lean_mark_persistent(l_Lean_Compiler_LCNF_commonJoinPointArgs);
res = l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_initFn_00___x40_Lean_Compiler_LCNF_JoinPoints_3948291228____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_JoinPoints(uint8_t builtin) {
lean_object * res;
if (_G_meta_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_meta_initialized = true;
l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1 = _init_l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1();
lean_mark_persistent(l_Lean_Compiler_LCNF_extendJoinPointContext___auto__1);
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Lean_Compiler_LCNF_PullFunDecls(uint8_t builtin);
lean_object* initialize_Lean_Compiler_LCNF_FVarUtil(uint8_t builtin);
lean_object* initialize_Lean_Compiler_LCNF_ScopeM(uint8_t builtin);
lean_object* initialize_Lean_Compiler_LCNF_InferType(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Compiler_LCNF_JoinPoints(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_PullFunDecls(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Compiler_LCNF_FVarUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Compiler_LCNF_ScopeM(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Compiler_LCNF_InferType(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Compiler_LCNF_JoinPoints(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Compiler_LCNF_JoinPoints(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Compiler_LCNF_JoinPoints(builtin);
}
#ifdef __cplusplus
}
#endif
