/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA;
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU tyArray__yYbpDJlxVAahcZb4EP3s9cA[16];
struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* next;
	NI key;
	tyArray__yYbpDJlxVAahcZb4EP3s9cA bits;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__pureZcollectionsZintsets_u275)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA* s_p0, NI len_p1);
static N_INLINE(void, bitincl__pureZcollectionsZintsets_u427)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, intSetPut__pureZcollectionsZintsets_u441)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u51)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
static N_INLINE(NI, nextTry__stdZpackedsets_u42)(NI h_p0, NI maxHash_p1, NI* perturb_p2);
static N_INLINE(NIM_BOOL, mustRehash__pureZcollectionsZintsets_u452)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__pureZcollectionsZintsets_u466)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__pureZcollectionsZintsets_u491)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA* data_p1, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u48)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, packedSetGet__astyaml_u299)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u109)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA* dest_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u57)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, exclImpl__suggestsymdb_u180)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u250)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, packedSetGet__sem_u4840)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, NI key_p1);
static N_INLINE(void, bitincl__sem_u5209)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, intSetPut__sem_u5223)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, NI key_p1);
static N_INLINE(NIM_BOOL, mustRehash__sem_u5234)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__sem_u5248)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__sem_u5273)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA* data_p1, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, incl__sem_u4938)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1);
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u66)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).next);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).next)));
		nimRawDispose((*dest_p0).next, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u100)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_]);
				if (!T6_) goto LA7_;
				eqdestroy___pureZcollectionsZintsets_u66((&(*dest_p0.p->data[colontmp_])));
				nimRawDispose(dest_p0.p->data[colontmp_], ((NI)4));
			}
LA7_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*));
}
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u236)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	(*dest_p0).elems = (*src_p1).elems;
	(*dest_p0).counter = (*src_p1).counter;
	(*dest_p0).max = (*src_p1).max;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).head);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).head)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0).head, ((NI)4));
	}
LA4_: ;
	(*dest_p0).head = (*src_p1).head;
	if ((*dest_p0).data.p != (*src_p1).data.p) {	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).data);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).data.len = (*src_p1).data.len; (*dest_p0).data.p = (*src_p1).data.p;
	nimCopyMem((void*)(*dest_p0).a, (NIM_CONST void*)(*src_p1).a, sizeof(tyArray__k7D0lwfLmYccbQxUd49bbcQ));
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_u37)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	(*Result).elems = ((NI)0);
	(*Result).counter = ((NI)0);
	(*Result).max = ((NI)0);
	(*Result).head = ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL);
	(*Result).data.len = 0; (*Result).data.p = (tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content*) newSeqPayload(0, sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*));
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u48)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZcollectionsZintsets_u45)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0) {
	(*dest_p0) = 0;
}
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) + (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	(*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_))).rc = pluspercent___system_u785((*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u51)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!src_p1) goto LA3_;
		nimIncRef(src_p1);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T7_) goto LA8_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)4));
	}
LA8_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
static N_INLINE(NI, nextTry__stdZpackedsets_u42)(NI h_p0, NI maxHash_p1, NI* perturb_p2) {
	NI result;
	NU perturb2_1;
	perturb2_1 = (NU)((NU32)(((NU) ((*perturb_p2)))) >> (NU32)(((NI)5) & (32 - 1)));
	(*perturb_p2) = ((NI) (perturb2_1));
	result = (NI)((NI)((NI)((NI)(((NI)5) * h_p0) + ((NI)1)) + (*perturb_p2)) & maxHash_p1);
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__pureZcollectionsZintsets_u452)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0) {
	NIM_BOOL result;
	NI length_1;
	NIM_BOOL T1_;
	length_1 = (NI)((*t_p0).max + ((NI)1));
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(length_1 * ((NI)2)) < (NI)((*t_p0).counter * ((NI)3)));
	if (T1_) goto LA2_;
	T1_ = ((NI)(length_1 - (*t_p0).counter) < ((NI)4));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__pureZcollectionsZintsets_u491)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA* data_p1, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* desc_p2) {
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = (NI)((*desc_p2).key & (*t_p0).max);
	perturb_1 = (*desc_p2).key;
	{
		while (1) {
			if (!!(((*data_p1).p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	eqcopy___pureZcollectionsZintsets_u51(&(*data_p1).p->data[h_1], desc_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__pureZcollectionsZintsets_u466)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0) {
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA n_1;
	NI oldMax_1;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA T8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	oldMax_1 = (*t_p0).max;
	(*t_p0).max = (NI)((NI)((NI)((*t_p0).max + ((NI)1)) * ((NI)2)) - ((NI)1));
	newSeq__pureZcollectionsZintsets_u275((&n_1), ((NI)((*t_p0).max + ((NI)1))));
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= oldMax_1)) goto LA3;
				i_1 = ((NI) (res_1));
				{
					if (!!(((*t_p0).data.p->data[i_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA6_;
					intSetRawInsert__pureZcollectionsZintsets_u491((&(*t_p0)), (&n_1), (*t_p0).data.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA6_: ;
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	T8_.len = 0; T8_.p = NIM_NIL;
	T8_ = (*t_p0).data;
	(*t_p0).data = n_1;
	n_1 = T8_;
	eqdestroy___pureZcollectionsZintsets_u100(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, intSetPut__pureZcollectionsZintsets_u441)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* result;
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			{
				if (!((*(*t_p0).data.p->data[h_1]).key == key_p1)) goto LA5_;
				eqcopy___pureZcollectionsZintsets_u51(&result, (*t_p0).data.p->data[h_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA5_: ;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = mustRehash__pureZcollectionsZintsets_u452((&(*t_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T9_) goto LA10_;
		intSetEnlarge__pureZcollectionsZintsets_u466(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA10_: ;
	(*t_p0).counter += ((NI)1);
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA13;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	eqdestroy___pureZcollectionsZintsets_u48(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) nimNewObj(sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA));
	eqcopy___pureZcollectionsZintsets_u51(&(*result).next, (*t_p0).head);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).key = key_p1;
	eqcopy___pureZcollectionsZintsets_u51(&(*t_p0).head, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___pureZcollectionsZintsets_u51(&(*t_p0).data.p->data[h_1], result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, bitincl__pureZcollectionsZintsets_u427)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
	NI u_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	t_1 = intSetPut__pureZcollectionsZintsets_u441(s_p0, (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	u_1 = (NI)(key_p1 & ((NI)511));
	(*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] = (NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1))));
	eqdestroy___pureZcollectionsZintsets_u48(t_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_u366)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			if (!((*s_p0).elems < ((NI)34))) goto LA14_;
			(*s_p0).a[((*s_p0).elems)- 0] = key_p1;
			(*s_p0).elems += ((NI)1);
			goto BeforeRet_;
		}
LA14_: ;
		newSeq__pureZcollectionsZintsets_u275((&(*s_p0).data), ((NI)8));
		(*s_p0).max = ((NI)7);
		{
			NI i_3;
			NI i_4;
			i_3 = (NI)0;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < (*s_p0).elems)) goto LA18;
					i_3 = i_4;
					bitincl__pureZcollectionsZintsets_u427(s_p0, (*s_p0).a[(i_3)- 0]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA18: ;
			}
		}
		(*s_p0).elems = ((NI)35);
	}
LA3_: ;
	bitincl__pureZcollectionsZintsets_u427(s_p0, key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, packedSetGet__astyaml_u299)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* t_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* result;
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			{
				if (!((*(*t_p0).data.p->data[h_1]).key == key_p1)) goto LA5_;
				eqcopy___pureZcollectionsZintsets_u51(&result, (*t_p0).data.p->data[h_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA5_: ;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	result = ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		result = NIM_FALSE;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
		t_1 = NIM_NIL;
		t_1 = packedSetGet__astyaml_u299(s_p0, (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI u_1;
			if (!!((t_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA15_;
			u_1 = (NI)(key_p1 & ((NI)511));
			result = !(((NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1)))) == ((NU)0)));
		}
		goto LA13_;
LA15_: ;
		{
			result = NIM_FALSE;
		}
LA13_: ;
		eqdestroy___pureZcollectionsZintsets_u48(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astyaml_u223)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			if (!((*s_p0).elems < ((NI)34))) goto LA14_;
			(*s_p0).a[((*s_p0).elems)- 0] = key_p1;
			(*s_p0).elems += ((NI)1);
		}
		goto LA12_;
LA14_: ;
		{
			incl__pureZcollectionsZintsets_u366(s_p0, key_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
		result = NIM_FALSE;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
		t_1 = NIM_NIL;
		t_1 = packedSetGet__astyaml_u299((&(*s_p0)), (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI u_1;
			if (!!((t_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA20_;
			u_1 = (NI)(key_p1 & ((NI)511));
			result = !(((NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1)))) == ((NU)0)));
			{
				if (!!(result)) goto LA24_;
				(*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] = (NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1))));
			}
LA24_: ;
		}
		goto LA18_;
LA20_: ;
		{
			incl__pureZcollectionsZintsets_u366(s_p0, key_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = NIM_FALSE;
		}
LA18_: ;
		eqdestroy___pureZcollectionsZintsets_u48(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_u230)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0) {
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).data);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).head);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).head)));
		nimRawDispose((*dest_p0).head, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u109)(tySequence__ZeWVlH6DqG79b1pTDhrrUYA* dest_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	if ((*dest_p0).p != src_p1.p) {	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
(*dest_p0).len = src_p1.len; (*dest_p0).p = src_p1.p;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_u57)(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA** dest_p0, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0));
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0), ((NI)4));
	}
LA4_: ;
	(*dest_p0) = src_p1;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZcollectionsZintsets_u250)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tySequence__ZeWVlH6DqG79b1pTDhrrUYA T5_;
		if (!((*src_p1).elems <= ((NI)34))) goto LA3_;
		T5_.len = 0; T5_.p = NIM_NIL;
		T5_.len = 0; T5_.p = (tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content*) newSeqPayload(0, sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*));
		eqsink___pureZcollectionsZintsets_u109((&(*dest_p0).data), T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*dest_p0).max = ((NI)0);
		(*dest_p0).counter = (*src_p1).counter;
		eqsink___pureZcollectionsZintsets_u57(&(*dest_p0).head, ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*dest_p0).elems = (*src_p1).elems;
		nimCopyMem((void*)(*dest_p0).a, (NIM_CONST void*)(*src_p1).a, sizeof(tyArray__k7D0lwfLmYccbQxUd49bbcQ));
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* it_1;
		NI T7_;
		it_1 = NIM_NIL;
		(*dest_p0).counter = (*src_p1).counter;
		(*dest_p0).max = (*src_p1).max;
		(*dest_p0).elems = (*src_p1).elems;
		T7_ = (*src_p1).data.len;
		newSeq__pureZcollectionsZintsets_u275((&(*dest_p0).data), (T7_));
		eqcopy___pureZcollectionsZintsets_u51(&it_1, (*src_p1).head);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			while (1) {
				tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* n_1;
				NI h_1;
				NI perturb_1;
				if (!!((it_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA9;
				n_1 = NIM_NIL;
				h_1 = (NI)((*it_1).key & (*dest_p0).max);
				perturb_1 = (*it_1).key;
				{
					while (1) {
						if (!!(((*dest_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA11;
						h_1 = nextTry__stdZpackedsets_u42(h_1, (*dest_p0).max, (&perturb_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					} LA11: ;
				}
				n_1 = 0;
				eqdestroy___pureZcollectionsZintsets_u48(n_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				n_1 = (tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) nimNewObj(sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA));
				eqcopy___pureZcollectionsZintsets_u51(&(*n_1).next, (*dest_p0).head);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*n_1).key = (*it_1).key;
				nimCopyMem((void*)(*n_1).bits, (NIM_CONST void*)(*it_1).bits, sizeof(tyArray__yYbpDJlxVAahcZb4EP3s9cA));
				eqcopy___pureZcollectionsZintsets_u51(&(*dest_p0).head, n_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqsink___pureZcollectionsZintsets_u57(&(*dest_p0).data.p->data[h_1], n_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqcopy___pureZcollectionsZintsets_u51(&it_1, (*it_1).next);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA9: ;
		}
		eqdestroy___pureZcollectionsZintsets_u48(it_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, toPackedSet__pureZcollectionsZintsets_u27)(NI* x_p0, NI x_p0Len_0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI* item_1;
		NI i_1;
		item_1 = (NI*)0;
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < x_p0Len_0)) goto LA3;
				item_1 = (&x_p0[i_1]);
				incl__pureZcollectionsZintsets_u366(Result, (*item_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, difference__sem_u7245)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s1_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s2_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	initPackedSet__pureZcollectionsZintsets_u37(Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI item_1;
		item_1 = (NI)0;
		{
			if (!((*s1_p0).elems <= ((NI)34))) goto LA4_;
			{
				NI i_1;
				NI i_2;
				i_1 = (NI)0;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < (*s1_p0).elems)) goto LA8;
						i_1 = i_2;
						item_1 = (*s1_p0).a[(i_1)- 0];
						{
							NIM_BOOL T11_;
							T11_ = (NIM_BOOL)0;
							T11_ = contains__astalgo_u2846(s2_p1, item_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T11_)) goto LA12_;
							incl__pureZcollectionsZintsets_u366(Result, item_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA12_: ;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
		}
		goto LA2_;
LA4_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			eqcopy___pureZcollectionsZintsets_u51(&r_1, (*s1_p0).head);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					NI i_3;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA16;
					i_3 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_3 <= ((NI)15))) goto LA18;
							w_1 = (*r_1).bits[(i_3)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA20;
									{
										NI T25_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA23_;
										T25_ = (NI)0;
										T25_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
										item_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T25_);
										{
											NIM_BOOL T28_;
											T28_ = (NIM_BOOL)0;
											T28_ = contains__astalgo_u2846(s2_p1, item_1);
											if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
											if (!!(T28_)) goto LA29_;
											incl__pureZcollectionsZintsets_u366(Result, item_1);
											if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
										}
LA29_: ;
									}
LA23_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA20: ;
							}
							i_3 += ((NI)1);
						} LA18: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA16: ;
			}
			eqdestroy___pureZcollectionsZintsets_u48(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA2_: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___pureZcollectionsZintsets_u227)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* dest_p0) {
	(*dest_p0).elems = 0;
	(*dest_p0).counter = 0;
	(*dest_p0).max = 0;
	(*dest_p0).head = 0;
	(*dest_p0).data.len = 0; (*dest_p0).data.p = NIM_NIL;
	nimZeroMem((void*)(*dest_p0).a, sizeof(tyArray__k7D0lwfLmYccbQxUd49bbcQ));
}
N_LIB_PRIVATE N_NIMCALL(void, exclImpl__suggestsymdb_u180)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						(*s_p0).a[(i_1)- 0] = (*s_p0).a[((NI)((*s_p0).elems - ((NI)1)))- 0];
						(*s_p0).elems -= ((NI)1);
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
		t_1 = NIM_NIL;
		t_1 = packedSetGet__astyaml_u299((&(*s_p0)), (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI u_1;
			if (!!((t_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA15_;
			u_1 = (NI)(key_p1 & ((NI)511));
			(*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] = (NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] & (NU)((NU32) ~((NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1))))));
		}
LA15_: ;
		eqdestroy___pureZcollectionsZintsets_u48(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, excl__suggestsymdb_u161)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	exclImpl__suggestsymdb_u180(s_p0, key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdup___pureZcollectionsZintsets_u233)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* src_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA));
	eqcopy___pureZcollectionsZintsets_u250(Result, src_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_u4514)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* dest_p0) {
	eqdestroy___pureZcollectionsZintsets_u100((*dest_p0).data);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).head);
		if (!T3_) goto LA4_;
		eqdestroy___pureZcollectionsZintsets_u66((&(*(*dest_p0).head)));
		nimRawDispose((*dest_p0).head, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__sem_u4503)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA));
	nimZeroMem((void*)Result, sizeof(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA));
	(*Result).elems = ((NI)0);
	(*Result).counter = ((NI)0);
	(*Result).max = ((NI)0);
	(*Result).head = ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL);
	(*Result).data.len = 0; (*Result).data.p = (tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content*) newSeqPayload(0, sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, packedSetGet__sem_u4840)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* result;
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			{
				if (!((*(*t_p0).data.p->data[h_1]).key == key_p1)) goto LA5_;
				eqcopy___pureZcollectionsZintsets_u51(&result, (*t_p0).data.p->data[h_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA5_: ;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	result = ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sem_u4716)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		result = NIM_FALSE;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
		t_1 = NIM_NIL;
		t_1 = packedSetGet__sem_u4840(s_p0, (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI u_1;
			if (!!((t_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA15_;
			u_1 = (NI)(key_p1 & ((NI)511));
			result = !(((NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1)))) == ((NU)0)));
		}
		goto LA13_;
LA15_: ;
		{
			result = NIM_FALSE;
		}
LA13_: ;
		eqdestroy___pureZcollectionsZintsets_u48(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__sem_u5234)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0) {
	NIM_BOOL result;
	NI length_1;
	NIM_BOOL T1_;
	length_1 = (NI)((*t_p0).max + ((NI)1));
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(length_1 * ((NI)2)) < (NI)((*t_p0).counter * ((NI)3)));
	if (T1_) goto LA2_;
	T1_ = ((NI)(length_1 - (*t_p0).counter) < ((NI)4));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, intSetRawInsert__sem_u5273)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, tySequence__ZeWVlH6DqG79b1pTDhrrUYA* data_p1, tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* desc_p2) {
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = (NI)((*desc_p2).key & (*t_p0).max);
	perturb_1 = (*desc_p2).key;
	{
		while (1) {
			if (!!(((*data_p1).p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	eqcopy___pureZcollectionsZintsets_u51(&(*data_p1).p->data[h_1], desc_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, intSetEnlarge__sem_u5248)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0) {
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA n_1;
	NI oldMax_1;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA T8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	oldMax_1 = (*t_p0).max;
	(*t_p0).max = (NI)((NI)((NI)((*t_p0).max + ((NI)1)) * ((NI)2)) - ((NI)1));
	newSeq__pureZcollectionsZintsets_u275((&n_1), ((NI)((*t_p0).max + ((NI)1))));
	{
		NI i_1;
		NI res_1;
		i_1 = (NI)0;
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= oldMax_1)) goto LA3;
				i_1 = ((NI) (res_1));
				{
					if (!!(((*t_p0).data.p->data[i_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA6_;
					intSetRawInsert__sem_u5273((&(*t_p0)), (&n_1), (*t_p0).data.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA6_: ;
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	T8_.len = 0; T8_.p = NIM_NIL;
	T8_ = (*t_p0).data;
	(*t_p0).data = n_1;
	n_1 = T8_;
	eqdestroy___pureZcollectionsZintsets_u100(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*, intSetPut__sem_u5223)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* t_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* result;
	NI h_1;
	NI perturb_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA2;
			{
				if (!((*(*t_p0).data.p->data[h_1]).key == key_p1)) goto LA5_;
				eqcopy___pureZcollectionsZintsets_u51(&result, (*t_p0).data.p->data[h_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA5_: ;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = mustRehash__sem_u5234((&(*t_p0)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T9_) goto LA10_;
		intSetEnlarge__sem_u5248(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA10_: ;
	(*t_p0).counter += ((NI)1);
	h_1 = (NI)(key_p1 & (*t_p0).max);
	perturb_1 = key_p1;
	{
		while (1) {
			if (!!(((*t_p0).data.p->data[h_1] == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA13;
			h_1 = nextTry__stdZpackedsets_u42(h_1, (*t_p0).max, (&perturb_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA13: ;
	}
	eqdestroy___pureZcollectionsZintsets_u48(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) nimNewObj(sizeof(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA), NIM_ALIGNOF(tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA));
	eqcopy___pureZcollectionsZintsets_u51(&(*result).next, (*t_p0).head);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).key = key_p1;
	eqcopy___pureZcollectionsZintsets_u51(&(*t_p0).head, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___pureZcollectionsZintsets_u51(&(*t_p0).data.p->data[h_1], result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, bitincl__sem_u5209)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI key_p1) {
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
	NI u_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	t_1 = NIM_NIL;
	t_1 = intSetPut__sem_u5223(s_p0, (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	u_1 = (NI)(key_p1 & ((NI)511));
	(*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] = (NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1))));
	eqdestroy___pureZcollectionsZintsets_u48(t_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__sem_u4938)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			if (!((*s_p0).elems < ((NI)34))) goto LA14_;
			(*s_p0).a[((*s_p0).elems)- 0] = key_p1;
			(*s_p0).elems += ((NI)1);
			goto BeforeRet_;
		}
LA14_: ;
		newSeq__pureZcollectionsZintsets_u275((&(*s_p0).data), ((NI)8));
		(*s_p0).max = ((NI)7);
		{
			NI i_3;
			NI i_4;
			i_3 = (NI)0;
			i_4 = ((NI)0);
			{
				while (1) {
					if (!(i_4 < (*s_p0).elems)) goto LA18;
					i_3 = i_4;
					bitincl__sem_u5209(s_p0, (*s_p0).a[(i_3)- 0]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_4 += ((NI)1);
				} LA18: ;
			}
		}
		(*s_p0).elems = ((NI)35);
	}
LA3_: ;
	bitincl__sem_u5209(s_p0, key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__sem_u5492)(tyObject_PackedSet__41yrQlkC2CmdzStrX0DWBA* s_p0, NI64 key_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!((*s_p0).elems <= ((NI)34))) goto LA3_;
		{
			NI i_1;
			NI i_2;
			i_1 = (NI)0;
			i_2 = ((NI)0);
			{
				while (1) {
					if (!(i_2 < (*s_p0).elems)) goto LA7;
					i_1 = i_2;
					{
						if (!((*s_p0).a[(i_1)- 0] == key_p1)) goto LA10_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA7: ;
			}
		}
		{
			if (!((*s_p0).elems < ((NI)34))) goto LA14_;
			(*s_p0).a[((*s_p0).elems)- 0] = key_p1;
			(*s_p0).elems += ((NI)1);
		}
		goto LA12_;
LA14_: ;
		{
			incl__sem_u4938(s_p0, key_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
		result = NIM_FALSE;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* t_1;
		t_1 = NIM_NIL;
		t_1 = packedSetGet__sem_u4840((&(*s_p0)), (NI)((NI32)(key_p1) >> (NU32)(((NI)9) & (32 - 1))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI u_1;
			if (!!((t_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA20_;
			u_1 = (NI)(key_p1 & ((NI)511));
			result = !(((NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] & (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1)))) == ((NU)0)));
			{
				if (!!(result)) goto LA24_;
				(*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] = (NU)((*t_1).bits[((NI)((NI32)(u_1) >> (NU32)(((NI)5) & (32 - 1))))- 0] | (NU)((NU32)(((NU)1)) << (NU32)((NI)(u_1 & ((NI)31)) & (32 - 1))));
			}
LA24_: ;
		}
		goto LA18_;
LA20_: ;
		{
			incl__sem_u4938(s_p0, key_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = NIM_FALSE;
		}
LA18_: ;
		eqdestroy___pureZcollectionsZintsets_u48(t_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, incl__importer_u1686)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* other_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI item_1;
		item_1 = (NI)0;
		{
			if (!((*other_p1).elems <= ((NI)34))) goto LA4_;
			{
				NI i_1;
				NI i_2;
				i_1 = (NI)0;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < (*other_p1).elems)) goto LA8;
						i_1 = i_2;
						item_1 = (*other_p1).a[(i_1)- 0];
						incl__pureZcollectionsZintsets_u366(s_p0, item_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
		}
		goto LA2_;
LA4_: ;
		{
			tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* r_1;
			r_1 = NIM_NIL;
			eqcopy___pureZcollectionsZintsets_u51(&r_1, (*other_p1).head);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				while (1) {
					NI i_3;
					if (!!((r_1 == ((tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA*) NIM_NIL)))) goto LA11;
					i_3 = ((NI)0);
					{
						while (1) {
							NU w_1;
							NI j_1;
							if (!(i_3 <= ((NI)15))) goto LA13;
							w_1 = (*r_1).bits[(i_3)- 0];
							j_1 = ((NI)0);
							{
								while (1) {
									if (!!((w_1 == ((NU)0)))) goto LA15;
									{
										NI T20_;
										if (!!(((NU)(w_1 & ((NU)1)) == ((NU)0)))) goto LA18_;
										T20_ = (NI)0;
										T20_ = pluspercent___system_u785((NI)((NU32)(i_3) << (NU32)(((NI)5) & (32 - 1))), j_1);
										item_1 = (NI)((NI)((NU32)((*r_1).key) << (NU32)(((NI)9) & (32 - 1))) | T20_);
										incl__pureZcollectionsZintsets_u366(s_p0, item_1);
										if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
									}
LA18_: ;
									j_1 += ((NI)1);
									w_1 = (NU)((NU32)(w_1) >> (NU32)(((NI)1) & (32 - 1)));
								} LA15: ;
							}
							i_3 += ((NI)1);
						} LA13: ;
					}
					eqcopy___pureZcollectionsZintsets_u51(&r_1, (*r_1).next);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				} LA11: ;
			}
			eqdestroy___pureZcollectionsZintsets_u48(r_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA2_: ;
	}
	}BeforeRet_: ;
}
