void Cyc_Array_iter2_c(void (* f)(void *,void *,void *),void * env,struct _fat_ptr x, struct _fat_ptr y) { struct _fat_ptr _T0; unsigned int _T1; int _T2; unsigned int _T3; struct _fat_ptr _T4; unsigned int _T5; struct Cyc_Array_Array_mismatch_exn_struct * _T6; struct Cyc_Array_Array_mismatch_exn_struct * _T7; void * _T8; struct _fat_ptr _T9; unsigned char * _TA; void * * _TB; void * * _TC; int _TD; void * _TE; struct _fat_ptr _TF; unsigned char * _T10; void * * _T11; void * * _T12; int _T13; void * _T14; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; _T2 = sx; _T3 = (unsigned int)_T2; _T4 = y; _T5 = _get_fat_size(_T4,sizeof(void *)); if (_T3 == _T5) { goto _TL8B; } _T6 = &Cyc_Array_Array_mismatch_val; _T7 = (struct Cyc_Array_Array_mismatch_exn_struct *)_T6; _throw(_T7); goto _TL8C; _TL8B: _TL8C: { int i = 0; _TL90: if (i < sx) { goto _TL8E; }else { goto _TL8F; } _TL8E: _T8 = env; _T9 = x; _TA = _T9.curr; _TB = (void * *)_TA; _TC = _check_null(_TB); _TD = i; _TE = _TC[_TD]; _TF = y; _T10 = _TF.curr; _T11 = (void * *)_T10; _T12 = _check_null(_T11); _T13 = i; _T14 = _T12[_T13]; f(_T8,_TE,_T14); i = i + 1; goto _TL90; _TL8F: ; } } }
struct Cyc_APQ_T * Cyc_APQ_mul(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) { struct Cyc_APQ_T * _T0; struct Cyc_AP_T * _T1; struct Cyc_APQ_T * _T2; struct Cyc_AP_T * _T3; struct Cyc_AP_T * _T4; struct Cyc_APQ_T * _T5; struct Cyc_AP_T * _T6; struct Cyc_APQ_T * _T7; struct Cyc_AP_T * _T8; struct Cyc_AP_T * _T9; struct Cyc_APQ_T * _TA; _T0 = _check_null(p); _T1 = _T0->n; _T2 = _check_null(q); _T3 = _T2->n; _T4 = Cyc_AP_mul(_T1,_T3); _T5 = p; _T6 = _T5->d; _T7 = q; _T8 = _T7->d; _T9 = Cyc_AP_mul(_T6,_T8); _TA = Cyc_APQ_fromAP(_T4,_T9); return _TA; }
void Cyc_Array_iter2(void (* f)(void *,void *),struct _fat_ptr x,struct _fat_ptr y) { struct _fat_ptr _T0; unsigned int _T1; int _T2; unsigned int _T3; struct _fat_ptr _T4; unsigned int _T5; struct Cyc_Array_Array_mismatch_exn_struct * _T6; struct Cyc_Array_Array_mismatch_exn_struct * _T7; struct _fat_ptr _T8; unsigned char * _T9; void * * _TA; void * * _TB; int _TC; void * _TD; struct _fat_ptr _TE; unsigned char * _TF; void * * _T10; void * * _T11; int _T12; void * _T13; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; _T2 = sx; _T3 = (unsigned int)_T2; _T4 = y; _T5 = _get_fat_size(_T4,sizeof(void *)); if (_T3 == _T5) { goto _TL85; } _T6 = &Cyc_Array_Array_mismatch_val; _T7 = (struct Cyc_Array_Array_mismatch_exn_struct *)_T6; _throw(_T7); goto _TL86; _TL85: _TL86: { int i = 0; _TL8A: if (i < sx) { goto _TL88; }else { goto _TL89; } _TL88: _T8 = x; _T9 = _T8.curr; _TA = (void * *)_T9; _TB = _check_null(_TA); _TC = i; _TD = _TB[_TC]; _TE = y; _TF = _TE.curr; _T10 = (void * *)_TF; _T11 = _check_null(_T10); _T12 = i; _T13 = _T11[_T12]; f(_TD,_T13); i = i + 1; goto _TL8A; _TL89: ; } } }
static struct Cyc_List_List*Cyc_Set_imp_delete_b(int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt,void**ret){struct Cyc_List_List*_T0;void*_T1;void*_T2;int _T3;struct Cyc_List_List*_T4;struct Cyc_List_List*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;void*_T8;void*_T9;int _TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;void**_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;_T0= _check_null(n);_T1=_T0->hd;_T2=elt;_T3=cmp(_T1,_T2);if(_T3!=0)goto _TL44;_T4=n;_T5=_T4->tl;return _T5;_TL44: { # 235 struct Cyc_List_List*prev=n;struct Cyc_List_List*res=n;_T6=n; n=_T6->tl; _TL46: if(n!=0)goto _TL49;else{goto _TL48;}_TL49: _T7=n;_T8=_T7->hd;_T9=elt;_TA=cmp(_T8,_T9);if(_TA!=0)goto _TL47;else{goto _TL48;} _TL47: _TB=_check_null(prev);prev=_TB->tl;_TC=n; n=_TC->tl;goto _TL46;_TL48: _TD= # 241 _check_null(prev);_TE=_check_null(n);_TD->tl=_TE->tl;_TF=ret;_T10=n; *_TF=_T10->hd;_T11=res; return _T11;}}
static struct Cyc_List_List*Cyc_Set_delete_b(int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;void*_T1;void*_T2;int _T3;struct Cyc_List_List*_T4;struct Cyc_List_List*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;struct Cyc_List_List*_T8;struct Cyc_List_List*_T9;struct Cyc_List_List*_TA;void*_TB;void*_TC;int _TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct Cyc_List_List*_T12;struct Cyc_List_List*_T13;struct Cyc_List_List*_T14;struct Cyc_List_List*_T15;_T0= _check_null(n);_T1=_T0->hd;_T2=elt;_T3=cmp(_T1,_T2);if(_T3!=0)goto _TL3C;_T4=n;_T5=_T4->tl;return _T5;_TL3C: { # 209 struct Cyc_List_List*result;result=_cycalloc(sizeof(struct Cyc_List_List));_T6=result;_T7=n;_T6->hd=_T7->hd;_T8=result;_T8->tl=0;{ struct Cyc_List_List*prev=result;_T9=n; n=_T9->tl; _TL3E: if(n!=0)goto _TL41;else{goto _TL40;}_TL41: _TA=n;_TB=_TA->hd;_TC=elt;_TD=cmp(_TB,_TC);if(_TD!=0)goto _TL3F;else{goto _TL40;} _TL3F: _TE=_check_null(prev);{struct Cyc_List_List*_T16=_cycalloc(sizeof(struct Cyc_List_List));_T10=n;_T16->hd=_T10->hd;_T16->tl=0;_TF=(struct Cyc_List_List*)_T16;}_TE->tl=_TF;_T11=prev; prev=_T11->tl;_T12=n; n=_T12->tl;goto _TL3E;_TL40: _T13= # 217 _check_null(prev);_T14=_check_null(n);_T13->tl=_T14->tl;_T15=result; return _T15;}}}
struct Cyc_APQ_T * Cyc_APQ_sub(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) { struct Cyc_APQ_T * _T0; struct Cyc_AP_T * _T1; struct Cyc_APQ_T * _T2; struct Cyc_AP_T * _T3; struct Cyc_AP_T * _T4; struct Cyc_APQ_T * _T5; struct Cyc_AP_T * _T6; struct Cyc_AP_T * _T7; struct Cyc_APQ_T * _T8; struct Cyc_AP_T * _T9; struct Cyc_APQ_T * _TA; struct Cyc_AP_T * _TB; struct Cyc_AP_T * _TC; struct Cyc_AP_T * _TD; struct Cyc_APQ_T * _TE; struct Cyc_AP_T * _TF; struct Cyc_AP_T * _T10; struct Cyc_AP_T * _T11; struct Cyc_AP_T * _T12; struct Cyc_AP_T * _T13; struct Cyc_APQ_T * _T14; _T0 = _check_null(p); _T1 = _T0->d; _T2 = _check_null(q); _T3 = _T2->d; { struct Cyc_AP_T * d = Cyc_AP_lcm(_T1,_T3); _T4 = d; _T5 = p; _T6 = _T5->d; { struct Cyc_AP_T * px = Cyc_AP_div(_T4,_T6); _T7 = d; _T8 = q; _T9 = _T8->d; { struct Cyc_AP_T * qx = Cyc_AP_div(_T7,_T9); _TA = p; _TB = _TA->n; _TC = px; _TD = Cyc_AP_mul(_TB,_TC); _TE = q; _TF = _TE->n; _T10 = qx; _T11 = Cyc_AP_mul(_TF,_T10); _T12 = Cyc_AP_sub(_TD,_T11); _T13 = d; _T14 = Cyc_APQ_fromAP(_T12,_T13); return _T14; } } } }
static struct Cyc_List_List*Cyc_Set_imp_insert_b(struct _RegionHandle*rgn,int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;struct _RegionHandle*_T1;void*_T2;struct Cyc_List_List*_T3;void*_T4;struct Cyc_List_List*_T5;struct _RegionHandle*_T6;struct Cyc_List_List*_T7;struct Cyc_List_List*_T8;void*_T9;void*_TA;int _TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct _RegionHandle*_T10;struct Cyc_List_List*_T11; # 111 if(n!=0)goto _TL14;_T1=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T1,0U,sizeof(struct Cyc_List_List)); _T12->hd=elt;_T12->tl=0;_T0=(struct Cyc_List_List*)_T12;}return _T0;_TL14: _T2=elt;_T3=n;_T4=_T3->hd;{ int i=cmp(_T2,_T4); if(i >= 0)goto _TL16;_T6=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T6,0U,sizeof(struct Cyc_List_List)); _T12->hd=elt;_T12->tl=n;_T5=(struct Cyc_List_List*)_T12;}return _T5;_TL16: { struct Cyc_List_List*prev=n;struct Cyc_List_List*res=n;_T7=n; n=_T7->tl; _TL18: if(n!=0)goto _TL1B;else{goto _TL1A;}_TL1B: _T8=n;_T9=_T8->hd;_TA=elt;i=cmp(_T9,_TA);_TB=i;if(_TB < 0)goto _TL19;else{goto _TL1A;} _TL19: _TC=_check_null(prev);prev=_TC->tl;_TD=n; n=_TD->tl;goto _TL18;_TL1A: _TE= # 122 _check_null(prev);_T10=rgn;{struct Cyc_List_List*_T12=_region_malloc(_T10,0U,sizeof(struct Cyc_List_List));_T12->hd=elt;_T12->tl=n;_TF=(struct Cyc_List_List*)_T12;}_TE->tl=_TF;_T11=res; return _T11;}}}
struct Cyc_APQ_T * Cyc_APQ_div(struct Cyc_APQ_T * p,struct Cyc_APQ_T * q) { struct Cyc_APQ_T * _T0; struct Cyc_AP_T * _T1; struct Cyc_AP_T * _T2; int _T3; struct Cyc_Invalid_argument_exn_struct * _T4; void * _T5; struct Cyc_APQ_T * _T6; struct Cyc_AP_T * _T7; struct Cyc_APQ_T * _T8; struct Cyc_AP_T * _T9; struct Cyc_AP_T * _TA; struct Cyc_APQ_T * _TB; struct Cyc_AP_T * _TC; struct Cyc_APQ_T * _TD; struct Cyc_AP_T * _TE; struct Cyc_AP_T * _TF; struct Cyc_APQ_T * _T10; _T0 = _check_null(q); _T1 = _T0->n; _T2 = Cyc_AP_zero; _T3 = Cyc_AP_cmp(_T1,_T2); if (_T3 != 0) { goto _TL10; } { struct Cyc_Invalid_argument_exn_struct * _T11 = _cycalloc(sizeof(struct Cyc_Invalid_argument_exn_struct)); _T11->tag = Cyc_Invalid_argument; _T11->f1 = _tag_fat("APQ_div: divide by zero",sizeof(char),24U); _T4 = (struct Cyc_Invalid_argument_exn_struct *)_T11; } _T5 = (void *)_T4; _throw(_T5); goto _TL11; _TL10: _TL11: _T6 = _check_null(p); _T7 = _T6->n; _T8 = q; _T9 = _T8->d; _TA = Cyc_AP_mul(_T7,_T9); _TB = p; _TC = _TB->d; _TD = q; _TE = _TD->n; _TF = Cyc_AP_mul(_TC,_TE); _T10 = Cyc_APQ_fromAP(_TA,_TF); return _T10; }
long Cyc_Array_exists_c(long (* pred)(void *,void *),void * env,struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; void * _T2; struct _fat_ptr _T3; unsigned char * _T4; void * * _T5; void * * _T6; int _T7; void * _T8; long _T9; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; { int i = 0; _TLBF: if (i < sx) { goto _TLBD; }else { goto _TLBE; } _TLBD: _T2 = env; _T3 = x; _T4 = _T3.curr; _T5 = (void * *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; _T9 = pred(_T2,_T8); if (! _T9) { goto _TLC0; } return 1; _TLC0: i = i + 1; goto _TLBF; _TLBE: ; }return 0; } }
long Cyc_Array_exists(long (* pred)(void *),struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned char * _T3; void * * _T4; void * * _T5; int _T6; void * _T7; long _T8; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; { int i = 0; _TLB9: if (i < sx) { goto _TLB7; }else { goto _TLB8; } _TLB7: _T2 = x; _T3 = _T2.curr; _T4 = (void * *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = _T5[_T6]; _T8 = pred(_T7); if (! _T8) { goto _TLBA; } return 1; _TLBA: i = i + 1; goto _TLB9; _TLB8: ; }return 0; } }
long Cyc_Array_forall(long (* pred)(void *),struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned char * _T3; void * * _T4; void * * _T5; int _T6; void * _T7; long _T8; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; { int i = 0; _TLAB: if (i < sx) { goto _TLA9; }else { goto _TLAA; } _TLA9: _T2 = x; _T3 = _T2.curr; _T4 = (void * *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = _T5[_T6]; _T8 = pred(_T7); if (_T8) { goto _TLAC; }else { goto _TLAE; } _TLAE: return 0; _TLAC: i = i + 1; goto _TLAB; _TLAA: ; }return 1; } }
void * Cyc_Array_fold_right(void * (* f)(void *,void *),struct _fat_ptr x, void * accum) { struct _fat_ptr _T0; unsigned int _T1; unsigned int _T2; struct _fat_ptr _T3; unsigned char * _T4; void * * _T5; void * * _T6; int _T7; void * _T8; void * _T9; void * _TA; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); _T2 = _T1 - 1U; { int i = (int)_T2; _TL9C: if (i >= 0) { goto _TL9A; }else { goto _TL9B; } _TL9A: _T3 = x; _T4 = _T3.curr; _T5 = (void * *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; _T9 = accum; accum = f(_T8,_T9); i = i + -1; goto _TL9C; _TL9B: ; }_TA = accum; return _TA; }
void Cyc_Array_iter_c(void (* f)(void *,void *),void * env,struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; void * _T2; struct _fat_ptr _T3; unsigned char * _T4; void * * _T5; void * * _T6; int _T7; void * _T8; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; int i = 0; _TL78: if (i < sx) { goto _TL76; }else { goto _TL77; } _TL76: _T2 = env; _T3 = x; _T4 = _T3.curr; _T5 = (void * *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; f(_T2,_T8); i = i + 1; goto _TL78; _TL77: ; } }
void Cyc_Array_iter(void (* f)(void *),struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned char * _T3; void * * _T4; void * * _T5; int _T6; void * _T7; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; int i = 0; _TL74: if (i < sx) { goto _TL72; }else { goto _TL73; } _TL72: _T2 = x; _T3 = _T2.curr; _T4 = (void * *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = _T5[_T6]; f(_T7); i = i + 1; goto _TL74; _TL73: ; } }
struct Cyc_Set_Set*Cyc_Set_intersect(struct Cyc_Set_Set*s1,struct Cyc_Set_Set*s2){struct Cyc_Set_Set*_T0;struct Cyc_Set_Set*_T1;struct Cyc_Set_Set*_T2;struct Cyc_Set_Set*_T3;struct Cyc_Set_Set*_T4;struct Cyc_Set_Set*_T5;struct Cyc_List_List*_T6;void*_T7;struct Cyc_List_List*_T8;void*_T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_List_List*_TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct Cyc_List_List*_T12;struct Cyc_List_List*_T13;struct Cyc_Set_Set*_T14; if(s1!=s2)goto _TL54;_T0=s1; return _T0;_TL54: _T1=s1;{ int(*comp)(void*,void*)=_T1->cmp;_T2=s1;{ struct Cyc_List_List*x1=_T2->nodes;_T3=s2;{ struct Cyc_List_List*x2=_T3->nodes; struct Cyc_List_List*result=0;struct Cyc_List_List*prev=0; int card=0; if(x1!=0)goto _TL56;_T4=s1; return _T4;_TL56: if(x2!=0)goto _TL58;_T5=s2; return _T5;_TL58: # 295 _TL5A: if(x1!=0)goto _TL5D;else{goto _TL5C;}_TL5D: if(x2!=0)goto _TL5B;else{goto _TL5C;} _TL5B: _T6=x1;_T7=_T6->hd;_T8=x2;_T9=_T8->hd;{int i=comp(_T7,_T9); if(i!=0)goto _TL5E; if(result!=0)goto _TL60;{struct Cyc_List_List*_T15=_cycalloc(sizeof(struct Cyc_List_List));_TB=x1; _T15->hd=_TB->hd;_T15->tl=0;_TA=(struct Cyc_List_List*)_T15;}result=_TA; prev=result;goto _TL61; # 302 _TL60: _TC=_check_null(prev);{struct Cyc_List_List*_T15=_cycalloc(sizeof(struct Cyc_List_List));_TE=x1;_T15->hd=_TE->hd;_T15->tl=0;_TD=(struct Cyc_List_List*)_T15;}_TC->tl=_TD;_TF=prev; prev=_TF->tl;_TL61: # 305 card=card + 1;_T10=x1; x1=_T10->tl;_T11=x2; x2=_T11->tl;goto _TL5F; _TL5E: if(i >= 0)goto _TL62;_T12=x1; x1=_T12->tl;goto _TL63; # 311 _TL62: _T13=x2;x2=_T13->tl;_TL63: _TL5F:;}goto _TL5A;_TL5C:{struct Cyc_Set_Set*_T15=_cycalloc(sizeof(struct Cyc_Set_Set)); # 314 _T15->cmp=comp;_T15->cardinality=card;_T15->nodes=result;_T14=(struct Cyc_Set_Set*)_T15;}return _T14;}}}}
long Cyc_Array_mem(int (* compare)(void *,void *),struct _fat_ptr l,void * x) { struct _fat_ptr _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned char * _T3; void * * _T4; void * * _T5; int _T6; void * _T7; void * _T8; int _T9; _T0 = l; _T1 = _get_fat_size(_T0,sizeof(void *)); { int s = (int)_T1; { int i = 0; _TLD9: if (i < s) { goto _TLD7; }else { goto _TLD8; } _TLD7: _T2 = l; _T3 = _T2.curr; _T4 = (void * *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = _T5[_T6]; _T8 = x; _T9 = compare(_T7,_T8); if (0 != _T9) { goto _TLDA; } return 1; _TLDA: i = i + 1; goto _TLD9; _TLD8: ; }return 0; } }
void * Cyc_Array_fold_left(void * (* f)(void *,void *),void * accum,struct _fat_ptr x) { struct _fat_ptr _T0; unsigned int _T1; void * _T2; struct _fat_ptr _T3; unsigned char * _T4; void * * _T5; void * * _T6; int _T7; void * _T8; void * _T9; _T0 = x; _T1 = _get_fat_size(_T0,sizeof(void *)); { int sx = (int)_T1; { int i = 0; _TL94: if (i < sx) { goto _TL92; }else { goto _TL93; } _TL92: _T2 = accum; _T3 = x; _T4 = _T3.curr; _T5 = (void * *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; accum = f(_T2,_T8); i = i + 1; goto _TL94; _TL93: ; }_T9 = accum; return _T9; } }
void Cyc_Queue_remove(struct Cyc_Queue_Queue * q,void * v) { struct Cyc_Queue_Queue * _T0; struct Cyc_List_List * _T1; void * _T2; void * _T3; struct Cyc_Queue_Queue * _T4; struct Cyc_Queue_Queue * _T5; struct Cyc_List_List * _T6; struct Cyc_List_List * _T7; struct Cyc_Queue_Queue * _T8; struct Cyc_List_List * _T9; struct Cyc_List_List * _TA; struct Cyc_List_List * _TB; struct Cyc_Queue_Queue * _TC; struct Cyc_List_List * _TD; struct Cyc_List_List * _TE; struct Cyc_Queue_Queue * _TF; struct Cyc_List_List * _T10; struct Cyc_List_List * x; struct Cyc_List_List * y; _T0 = q; x = _T0->front; y = 0; _TL11: if (x != 0) { goto _TLF; }else { goto _TL10; } _TLF: _T1 = x; _T2 = _T1->hd; _T3 = v; if (_T2 != _T3) { goto _TL12; } _T4 = q; _T4->len = _T4->len + -1; _T5 = q; _T6 = _T5->front; _T7 = x; if (_T6 != _T7) { goto _TL14; } _T8 = q; _T9 = x; _T8->front = _T9->tl; goto _TL15; _TL14: _TA = _check_null(y); _TB = x; _TA->tl = _TB->tl; _TL15: _TC = q; _TD = _TC->rear; _TE = x; if (_TD != _TE) { goto _TL16; } _TF = q; _TF->rear = y; goto _TL17; _TL16: _TL17: goto _TL10; _TL12: y = x; _T10 = x; x = _T10->tl; goto _TL11; _TL10: ; }
long Cyc_Array_memq(struct _fat_ptr l,void * x) { struct _fat_ptr _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned char * _T3; void * * _T4; void * * _T5; int _T6; void * _T7; void * _T8; _T0 = l; _T1 = _get_fat_size(_T0,sizeof(void *)); { int s = (int)_T1; { int i = 0; _TLD3: if (i < s) { goto _TLD1; }else { goto _TLD2; } _TLD1: _T2 = l; _T3 = _T2.curr; _T4 = (void * *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = _T5[_T6]; _T8 = x; if (_T7 != _T8) { goto _TLD4; } return 1; _TLD4: i = i + 1; goto _TLD3; _TLD2: ; }return 0; } }
static struct Cyc_List_List*Cyc_Set_insert_b(struct _RegionHandle*rgn,int(*cmp)(void*,void*),struct Cyc_List_List*n,void*elt){struct Cyc_List_List*_T0;struct _RegionHandle*_T1;void*_T2;struct Cyc_List_List*_T3;void*_T4;struct Cyc_List_List*_T5;struct _RegionHandle*_T6;struct _RegionHandle*_T7;struct Cyc_List_List*_T8;struct Cyc_List_List*_T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;void*_TD;void*_TE;int _TF;struct Cyc_List_List*_T10;struct Cyc_List_List*_T11;struct _RegionHandle*_T12;struct Cyc_List_List*_T13;struct Cyc_List_List*_T14;struct Cyc_List_List*_T15;struct Cyc_List_List*_T16;struct Cyc_List_List*_T17;struct _RegionHandle*_T18;struct Cyc_List_List*_T19; # 77 if(n!=0)goto _TL8;_T1=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T1,0U,sizeof(struct Cyc_List_List)); _T1A->hd=elt;_T1A->tl=0;_T0=(struct Cyc_List_List*)_T1A;}return _T0;_TL8: _T2=elt;_T3=n;_T4=_T3->hd;{ int i=cmp(_T2,_T4); if(i >= 0)goto _TLA;_T6=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T6,0U,sizeof(struct Cyc_List_List)); _T1A->hd=elt;_T1A->tl=n;_T5=(struct Cyc_List_List*)_T1A;}return _T5;_TLA: { struct Cyc_List_List*result;_T7=rgn;result=_region_malloc(_T7,0U,sizeof(struct Cyc_List_List));_T8=result;_T9=n;_T8->hd=_T9->hd;_TA=result;_TA->tl=0;{ struct Cyc_List_List*prev=result;_TB=n; n=_TB->tl; _TLC: if(n!=0)goto _TLF;else{goto _TLE;}_TLF: _TC=n;_TD=_TC->hd;_TE=elt;i=cmp(_TD,_TE);_TF=i;if(_TF < 0)goto _TLD;else{goto _TLE;} _TLD: _T10=_check_null(prev);_T12=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T12,0U,sizeof(struct Cyc_List_List));_T13=n;_T1A->hd=_T13->hd;_T1A->tl=0;_T11=(struct Cyc_List_List*)_T1A;}_T10->tl=_T11;_T14=prev; prev=_T14->tl;_T15=n; n=_T15->tl;goto _TLC;_TLE: _T16= # 90 _check_null(prev);_T18=rgn;{struct Cyc_List_List*_T1A=_region_malloc(_T18,0U,sizeof(struct Cyc_List_List));_T1A->hd=elt;_T1A->tl=n;_T17=(struct Cyc_List_List*)_T1A;}_T16->tl=_T17;_T19=result; return _T19;}}}}
static void*Cyc_RenameTemps_local_temp_var(int i){void**_T0;int _T1;char*_T2;void**_T3;void*_T4;void**_T5;int _T6;struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T7;struct _tuple0*_T8;struct _fat_ptr*_T9;struct _fat_ptr _TA;struct Cyc_Int_pa_PrintArg_struct _TB;int _TC;struct _fat_ptr _TD;struct _fat_ptr _TE;void**_TF;int _T10;void*_T11;void*_T12;struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T13;struct _tuple0*_T14;struct _fat_ptr*_T15;struct _fat_ptr _T16;struct Cyc_Int_pa_PrintArg_struct _T17;int _T18;struct _fat_ptr _T19;struct _fat_ptr _T1A;void*_T1B; static void*memo_arr[256U]={}; if(i >= 256)goto _TL2;_T0=memo_arr;_T1=i;_T2=_check_known_subscript_notnull(_T0,256U,sizeof(void*),_T1);_T3=(void**)_T2;_T4=*_T3; if(_T4!=0)goto _TL4;_T5=memo_arr;_T6=i;{struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T1C=_cycalloc(sizeof(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct));_T1C->tag=0;{struct _tuple0*_T1D=_cycalloc(sizeof(struct _tuple0)); _T1D->f0=Cyc_Absyn_Loc_n();{struct _fat_ptr*_T1E=_cycalloc(sizeof(struct _fat_ptr));{struct Cyc_Int_pa_PrintArg_struct _T1F;_T1F.tag=1;_TC=i;_T1F.f1=(unsigned)_TC;_TB=_T1F;}{struct Cyc_Int_pa_PrintArg_struct _T1F=_TB;void*_T20[1];_T20[0]=& _T1F;_TD=_tag_fat("_T%X",sizeof(char),5U);_TE=_tag_fat(_T20,sizeof(void*),1);_TA=Cyc_aprintf(_TD,_TE);}*_T1E=_TA;_T9=(struct _fat_ptr*)_T1E;}_T1D->f1=_T9;_T8=(struct _tuple0*)_T1D;}_T1C->f1=_T8;_T7=(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*)_T1C;}_T5[_T6]=(void*)_T7;goto _TL5;_TL4: _TL5: _TF=memo_arr;_T10=i;_T11=_TF[_T10];_T12= _check_null(_T11);return _T12;_TL2:{struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*_T1C=_cycalloc(sizeof(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct));_T1C->tag=0;{struct _tuple0*_T1D=_cycalloc(sizeof(struct _tuple0)); # 51 _T1D->f0=Cyc_Absyn_Loc_n();{struct _fat_ptr*_T1E=_cycalloc(sizeof(struct _fat_ptr));{struct Cyc_Int_pa_PrintArg_struct _T1F;_T1F.tag=1;_T18=i;_T1F.f1=(unsigned)_T18;_T17=_T1F;}{struct Cyc_Int_pa_PrintArg_struct _T1F=_T17;void*_T20[1];_T20[0]=& _T1F;_T19=_tag_fat("_T%X",sizeof(char),5U);_T1A=_tag_fat(_T20,sizeof(void*),1);_T16=Cyc_aprintf(_T19,_T1A);}*_T1E=_T16;_T15=(struct _fat_ptr*)_T1E;}_T1D->f1=_T15;_T14=(struct _tuple0*)_T1D;}_T1C->f1=_T14;_T13=(struct Cyc_Absyn_Unresolved_b_Absyn_Binding_struct*)_T1C;}_T1B=(void*)_T13;return _T1B;}
int Cyc_XP_fromstr(int n,struct _fat_ptr z,const char*str,int base){const char*_T0;unsigned _T1;int(*_T2)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T3)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T4;struct _fat_ptr _T5;int(*_T6)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T7)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T8;struct _fat_ptr _T9;const char*_TA;char _TB;int _TC;const char*_TD;char _TE;int _TF;int _T10;const char*_T11;int _T12;const char*_T13;char _T14;int _T15;const char*_T16;char _T17;int _T18;int _T19;char*_T1A;const char*_T1B;char _T1C;int _T1D;int _T1E;char*_T1F;char*_T20;char _T21;int _T22;int _T23;const char*_T24;char _T25;int _T26;const char*_T27;char _T28;int _T29;int _T2A;char*_T2B;const char*_T2C;char _T2D;int _T2E;int _T2F;char*_T30;char*_T31;char _T32;int _T33;int _T34;int _T35;int _T36;struct _fat_ptr _T37;struct _fat_ptr _T38;char*_T39;const char*_T3A;char _T3B;int _T3C;int _T3D;char*_T3E;char*_T3F;char _T40;int _T41;const char*_T42;int _T43;int _T44; # 249 const char*p=str;_T0=p;_T1=(unsigned)_T0; if(!_T1)goto _TL97;goto _TL98;_TL97: _T3=Cyc___assert_fail;{int(*_T45)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T3;_T2=_T45;}_T4=_tag_fat("p",sizeof(char),2U);_T5=_tag_fat("xp.cyc",sizeof(char),7U);_T2(_T4,_T5,250U);_TL98: if(base < 2)goto _TL99;if(base > 36)goto _TL99;goto _TL9A;_TL99: _T7=Cyc___assert_fail;{int(*_T45)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T7;_T6=_T45;}_T8=_tag_fat("base >= 2 && base <= 36",sizeof(char),24U);_T9=_tag_fat("xp.cyc",sizeof(char),7U);_T6(_T8,_T9,251U);_TL9A: _TL9B: _TA=_check_null(p);_TB=*_TA;_TC=(int)_TB;if(_TC)goto _TL9E;else{goto _TL9D;}_TL9E: _TD=p;_TE=*_TD;_TF=(int)_TE;_T10=isspace(_TF);if(_T10)goto _TL9C;else{goto _TL9D;} _TL9C:{const char**_T45=& p;_T11=*_T45;_T12=*_T11;if(_T12==0)goto _TL9F;*_T45=*_T45 + 1;goto _TLA0;_TL9F: _throw_arraybounds();_TLA0:;}goto _TL9B;_TL9D: _T13=p;_T14=*_T13;_T15=(int)_T14; if(!_T15)goto _TLA1;_T16=p;_T17=*_T16;_T18=(int)_T17;_T19=isalnum(_T18);if(!_T19)goto _TLA1;_T1A=Cyc_map;_T1B=p;_T1C=*_T1B;_T1D=(int)_T1C;_T1E=_T1D - 48;_T1F=_check_known_subscript_notnull(_T1A,75U,sizeof(char),_T1E);_T20=(char*)_T1F;_T21=*_T20;_T22=(int)_T21;_T23=base;if(_T22 >= _T23)goto _TLA1;{ int carry; _TLA6: _T24=_check_null(p);_T25=*_T24;_T26=(int)_T25;if(_T26)goto _TLA8;else{goto _TLA5;}_TLA8: _T27=p;_T28=*_T27;_T29=(int)_T28;_T2A=isalnum(_T29);if(_T2A)goto _TLA7;else{goto _TLA5;}_TLA7: _T2B=Cyc_map;_T2C=p;_T2D=*_T2C;_T2E=(int)_T2D;_T2F=_T2E - 48;_T30=_check_known_subscript_notnull(_T2B,75U,sizeof(char),_T2F);_T31=(char*)_T30;_T32=*_T31;_T33=(int)_T32;_T34=base;if(_T33 < _T34)goto _TLA4;else{goto _TLA5;} _TLA4: carry=Cyc_XP_product(n,z,z,base);_T35=carry; if(!_T35)goto _TLA9;goto _TLA5;_TLA9: _T36=n;_T37=z;_T38=z;_T39=Cyc_map;_T3A=p;_T3B=*_T3A;_T3C=(int)_T3B;_T3D=_T3C - 48;_T3E=_check_known_subscript_notnull(_T39,75U,sizeof(char),_T3D);_T3F=(char*)_T3E;_T40=*_T3F;_T41=(int)_T40; # 260 Cyc_XP_sum(_T36,_T37,_T38,_T41);{const char**_T45=& p;_T42=*_T45;_T43=*_T42;if(_T43==0)goto _TLAB;*_T45=*_T45 + 1;goto _TLAC;_TLAB: _throw_arraybounds();_TLAC:;}goto _TLA6;_TLA5: _T44=carry; # 262 return _T44;} # 264 _TLA1: return 0;}
struct Cyc_Set_Set*Cyc_Set_from_list(int(*comp)(void*,void*),struct Cyc_List_List*x){int(*_T0)(void*,void*);struct Cyc_List_List*_T1;struct Cyc_List_List*_T2;struct Cyc_List_List*_T3;struct Cyc_List_List*_T4;void*_T5;struct Cyc_List_List*_T6;struct Cyc_List_List*_T7;void*_T8;int _T9;struct Cyc_List_List*_TA;struct Cyc_List_List*_TB;struct Cyc_List_List*_TC;struct Cyc_List_List*_TD;struct Cyc_List_List*_TE;struct Cyc_Set_Set*_TF;_T0=comp;_T1=x;{ struct Cyc_List_List*z=Cyc_List_merge_sort(_T0,_T1);{ # 320 struct Cyc_List_List*y=z;_TL67: if(y!=0)goto _TL65;else{goto _TL66;} _TL65: _T2=y;_T3=_T2->tl;if(_T3==0)goto _TL68;_T4=y;_T5=_T4->hd;_T6=y;_T7=_T6->tl;_T8=_T7->hd;_T9=comp(_T5,_T8);if(_T9!=0)goto _TL68;_TA=y;_TB=y;_TC=_TB->tl;_TD= _check_null(_TC);_TA->tl=_TD->tl;goto _TL69;_TL68: _TL69: _TE=y; # 320 y=_TE->tl;goto _TL67;_TL66:;}{struct Cyc_Set_Set*_T10=_cycalloc(sizeof(struct Cyc_Set_Set)); # 323 _T10->cmp=comp;_T10->cardinality=Cyc_List_length(z);_T10->nodes=z;_TF=(struct Cyc_Set_Set*)_T10;}return _TF;}}
int Cyc_Hashtable_hash_string(struct _fat_ptr s) { struct _fat_ptr _T0; unsigned int _T1; unsigned int _T2; int _T3; unsigned int _T4; int _T5; struct _fat_ptr _T6; unsigned char * _T7; const char * _T8; const char * _T9; unsigned int _TA; int _TB; char _TC; int _TD; char _TE; int _TF; int _T10; int ans = 0; _T0 = s; _T1 = _get_fat_size(_T0,sizeof(char)); { int sz = (int)_T1; int shift = 0; { unsigned int i = 0U; _TL2D: _T2 = i; _T3 = sz; _T4 = (unsigned int)_T3; if (_T2 < _T4) { goto _TL2B; }else { goto _TL2C; } _TL2B: _T5 = ans; _T6 = s; _T7 = _T6.curr; _T8 = (const char *)_T7; _T9 = _check_null(_T8); _TA = i; _TB = (int)_TA; _TC = _T9[_TB]; _TD = shift; _TE = _TC << _TD; _TF = (int)_TE; ans = _T5 ^ _TF; shift = shift + 8; if (shift != 32) { goto _TL2E; } shift = 0; goto _TL2F; _TL2E: _TL2F: i = i + 1; goto _TL2D; _TL2C: ; }_T10 = ans; return _T10; } }
struct Cyc_APQ_T*Cyc_reduce(struct Cyc_APQ_T*q){struct Cyc_APQ_T*_T0;struct Cyc_AP_T*_T1;struct Cyc_AP_T*_T2;int _T3;struct Cyc_APQ_T*_T4;struct Cyc_APQ_T*_T5;struct Cyc_AP_T*_T6;struct Cyc_APQ_T*_T7;struct Cyc_APQ_T*_T8;struct Cyc_AP_T*_T9;struct Cyc_APQ_T*_TA;struct Cyc_AP_T*_TB;struct Cyc_AP_T*_TC;struct Cyc_APQ_T*_TD;struct Cyc_AP_T*_TE;int _TF;struct Cyc_APQ_T*_T10;void*_T11;struct Cyc_APQ_T*_T12;struct Cyc_APQ_T*_T13;struct Cyc_AP_T*_T14;struct Cyc_AP_T*_T15;struct Cyc_APQ_T*_T16;struct Cyc_APQ_T*_T17;struct Cyc_AP_T*_T18;struct Cyc_AP_T*_T19;struct Cyc_APQ_T*_T1A;_T0= _check_null(q);_T1=_T0->d;_T2=Cyc_AP_zero;_T3=Cyc_AP_cmp(_T1,_T2);if(_T3 >= 0)goto _TL0;_T4=q;_T5=q;_T6=_T5->d; _T4->d=Cyc_AP_neg(_T6);_T7=q;_T8=q;_T9=_T8->n; _T7->n=Cyc_AP_neg(_T9);goto _TL1;_TL0: _TL1: _TA=q;_TB=_TA->n;_TC= # 18 Cyc_AP_abs(_TB);_TD=q;_TE=_TD->d;{struct Cyc_AP_T*gcd=Cyc_AP_gcd(_TC,_TE);_TF= Cyc_AP_cmp(gcd,Cyc_AP_one);if(_TF!=0)goto _TL2;_T10=q; return _T10;_TL2: _T11=_cycalloc(sizeof(struct Cyc_APQ_T));{ struct Cyc_APQ_T*newq=(struct Cyc_APQ_T*)_T11;_T12=newq;_T13=q;_T14=_T13->n;_T15=gcd; _T12->n=Cyc_AP_div(_T14,_T15);_T16=newq;_T17=q;_T18=_T17->d;_T19=gcd; _T16->d=Cyc_AP_div(_T18,_T19);_T1A=newq; return _T1A;}}}
void Cyc_Hashtable_iter_c(void (* f)(void *,void *,void *),struct Cyc_Hashtable_Table * t, void * env) { struct Cyc_Hashtable_Table * _T0; struct _fat_ptr _T1; struct _fat_ptr _T2; unsigned char * _T3; struct Cyc_Hashtable_Bucket * _T4; struct Cyc_Hashtable_Bucket * _T5; unsigned int _T6; int _T7; struct Cyc_Hashtable_Bucket _T8; struct Cyc_Hashtable_Cell * _T9; void * _TA; struct Cyc_Hashtable_Cell * _TB; void * _TC; void * _TD; struct Cyc_Hashtable_Cell * _TE; _T0 = t; { struct _fat_ptr odata = _T0->tab; _T1 = odata; { unsigned int osize = _get_fat_size(_T1,sizeof(struct Cyc_Hashtable_Bucket)); unsigned int i = 0U; _TL4E: if (i < osize) { goto _TL4C; }else { goto _TL4D; } _TL4C: _T2 = odata; _T3 = _T2.curr; _T4 = (struct Cyc_Hashtable_Bucket *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = (int)_T6; _T8 = _T5[_T7]; { struct Cyc_Hashtable_Cell * iter = _T8.cells; _TL52: if (iter != 0) { goto _TL50; }else { goto _TL51; } _TL50: _T9 = iter; _TA = _T9->key; _TB = iter; _TC = _TB->value; _TD = env; f(_TA,_TC,_TD); _TE = iter; iter = _TE->next; goto _TL52; _TL51: ; }i = i + 1; goto _TL4E; _TL4D: ; } } }
struct _fat_ptr Cyc_Filename_chop_extension(struct _fat_ptr filename) { struct _fat_ptr _T0; unsigned int _T1; unsigned int _T2; struct _fat_ptr _T3; unsigned char * _T4; const char * _T5; const char * _T6; int _T7; char _T8; int _T9; struct Cyc_Core_Invalid_argument_exn_struct * _TA; void * _TB; struct _fat_ptr _TC; int _TD; unsigned long _TE; struct _fat_ptr _TF; _T0 = filename; _T1 = _get_fat_size(_T0,sizeof(char)); _T2 = _T1 - 1U; { int i = (int)_T2; _TL0: if (i >= 0) { goto _TL3; }else { goto _TL2; } _TL3: _T3 = filename; _T4 = _T3.curr; _T5 = (const char *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; _T9 = (int)_T8; if (_T9 != 46) { goto _TL1; }else { goto _TL2; } _TL1: i = i + -1; goto _TL0; _TL2: if (i >= 0) { goto _TL4; } { struct Cyc_Core_Invalid_argument_exn_struct * _T10 = _cycalloc(sizeof(struct Cyc_Core_Invalid_argument_exn_struct)); _T10->tag = Cyc_Core_Invalid_argument; _T10->f1 = _tag_fat("chop_extension",sizeof(char),15U); _TA = (struct Cyc_Core_Invalid_argument_exn_struct *)_T10; }_TB = (void *)_TA; _throw(_TB); goto _TL5; _TL4: _TL5: _TC = filename; _TD = i; _TE = (unsigned long)_TD; _TF = Cyc_substring(_TC,0,_TE); return _TF; } }
void * Cyc_Queue_noalias_take(struct Cyc_Queue_Queue * q,void * null_elem) { struct Cyc_Queue_Queue * _T0; struct Cyc_List_List * _T1; struct Cyc_Queue_Empty_exn_struct * _T2; struct Cyc_Queue_Empty_exn_struct * _T3; struct Cyc_Queue_Queue * _T4; struct Cyc_List_List * _T5; struct Cyc_Queue_Queue * _T6; struct Cyc_List_List * _T7; struct Cyc_Queue_Queue * _T8; struct Cyc_Queue_Queue * _T9; struct Cyc_List_List * _TA; struct Cyc_List_List * _TB; struct Cyc_Queue_Queue * _TC; struct Cyc_List_List * _TD; struct Cyc_Queue_Queue * _TE; struct Cyc_Queue_Queue * _TF; void * _T10; _T0 = q; _T1 = _T0->front; if (_T1 != 0) { goto _TL8; } _T2 = &Cyc_Queue_Empty_val; _T3 = (struct Cyc_Queue_Empty_exn_struct *)_T2; _throw(_T3); goto _TL9; _TL8: _TL9: { void * _T11 = null_elem; _T4 = q; _T5 = _T4->front; { void * _T12 = _T5->hd; null_elem = _T12; _T6 = q; _T7 = _T6->front; _T7->hd = _T11; } }_T8 = q; _T9 = q; _TA = _T9->front; _TB = _check_null(_TA); _T8->front = _TB->tl; _TC = q; _TD = _TC->front; if (_TD != 0) { goto _TLA; } _TE = q; _TE->rear = 0; goto _TLB; _TLA: _TLB: _TF = q; _TF->len = _TF->len + -1; _T10 = null_elem; return _T10; }
struct _fat_ptr Cyc_Filename_basename(struct _fat_ptr filename) { struct _fat_ptr _T0; unsigned int _T1; unsigned int _T2; struct _fat_ptr _T3; unsigned char * _T4; const char * _T5; const char * _T6; int _T7; char _T8; int _T9; struct _fat_ptr _TA; int _TB; struct _fat_ptr _TC; unsigned int _TD; int _TE; unsigned int _TF; unsigned int _T10; struct _fat_ptr _T11; _T0 = filename; _T1 = _get_fat_size(_T0,sizeof(char)); _T2 = _T1 - 1U; { int i = (int)_T2; _TLC: if (i >= 0) { goto _TLF; }else { goto _TLE; } _TLF: _T3 = filename; _T4 = _T3.curr; _T5 = (const char *)_T4; _T6 = _check_null(_T5); _T7 = i; _T8 = _T6[_T7]; _T9 = (int)_T8; if (_T9 != 47) { goto _TLD; }else { goto _TLE; } _TLD: i = i + -1; goto _TLC; _TLE: _TA = filename; _TB = i + 1; _TC = filename; _TD = _get_fat_size(_TC,sizeof(char)); _TE = i + 1; _TF = (unsigned int)_TE; _T10 = _TD - _TF; _T11 = Cyc_substring(_TA,_TB,_T10); return _T11; } }
void Cyc_Hashtable_iter(void (* f)(void *,void *),struct Cyc_Hashtable_Table * t) { struct Cyc_Hashtable_Table * _T0; struct _fat_ptr _T1; struct _fat_ptr _T2; unsigned char * _T3; struct Cyc_Hashtable_Bucket * _T4; struct Cyc_Hashtable_Bucket * _T5; unsigned int _T6; int _T7; struct Cyc_Hashtable_Bucket _T8; struct Cyc_Hashtable_Cell * _T9; void * _TA; struct Cyc_Hashtable_Cell * _TB; void * _TC; struct Cyc_Hashtable_Cell * _TD; _T0 = t; { struct _fat_ptr odata = _T0->tab; _T1 = odata; { unsigned int osize = _get_fat_size(_T1,sizeof(struct Cyc_Hashtable_Bucket)); unsigned int i = 0U; _TL46: if (i < osize) { goto _TL44; }else { goto _TL45; } _TL44: _T2 = odata; _T3 = _T2.curr; _T4 = (struct Cyc_Hashtable_Bucket *)_T3; _T5 = _check_null(_T4); _T6 = i; _T7 = (int)_T6; _T8 = _T5[_T7]; { struct Cyc_Hashtable_Cell * iter = _T8.cells; _TL4A: if (iter != 0) { goto _TL48; }else { goto _TL49; } _TL48: _T9 = iter; _TA = _T9->key; _TB = iter; _TC = _TB->value; f(_TA,_TC); _TD = iter; iter = _TD->next; goto _TL4A; _TL49: ; }i = i + 1; goto _TL46; _TL45: ; } } }