void Cyc_free_nullable() { struct _fat_ptr _T0; int _T1; _T0 = Cyc_nullable; _T1 = Cyc_ntokens; Cyc_nullable = _fat_ptr_plus(_T0,sizeof(char),_T1); Cyc_nullable = _tag_fat(0,0,0); }
struct Cyc_APQ_T*Cyc_APQ_fromstr(struct _fat_ptr str,int base){void*_T0;struct _fat_ptr _T1;unsigned char*_T2;const char*_T3;char _T4;int _T5;struct _fat_ptr _T6;unsigned char*_T7;const char*_T8;char _T9;int _TA;struct _fat_ptr*_TB;struct Cyc_APQ_T*_TC;struct _fat_ptr _TD;unsigned char*_TE;const char*_TF;int _T10;struct _fat_ptr _T11;unsigned char*_T12;const char*_T13;char _T14;int _T15;struct _fat_ptr _T16;struct _fat_ptr _T17;unsigned char*_T18;const char*_T19;int _T1A;int _T1B;struct Cyc_APQ_T*_T1C;struct Cyc_Invalid_argument_exn_struct*_T1D;void*_T1E;struct Cyc_APQ_T*_T1F;struct Cyc_APQ_T*_T20;_T0=_cycalloc(sizeof(struct Cyc_APQ_T));{ struct Cyc_APQ_T*q=(struct Cyc_APQ_T*)_T0; struct _fat_ptr s=str; _TL6: _T1=s;_T2=_check_fat_subscript(_T1,sizeof(char),0U);_T3=(const char*)_T2;_T4=*_T3;_T5=(int)_T4;if(_T5)goto _TL9;else{goto _TL8;}_TL9: _T6=s;_T7=_T6.curr;_T8=(const char*)_T7;_T9=*_T8;_TA=(int)_T9;if(_TA!=47)goto _TL7;else{goto _TL8;}_TL7: _TB=& s;_fat_ptr_inplace_plus(_TB,sizeof(char),1);goto _TL6;_TL8: _TC=q;_TD=str;_TE=_untag_fat_ptr_check_bound(_TD,sizeof(char),1U);_TF=(const char*)_TE;_T10=base; _TC->n=Cyc_AP_fromstr(_TF,_T10);_T11=s;_T12=_T11.curr;_T13=(const char*)_T12;_T14=*_T13;_T15=(int)_T14; if(!_T15)goto _TLA;_T16=s;_T17= _fat_ptr_plus(_T16,sizeof(char),1);_T18=_untag_fat_ptr_check_bound(_T17,sizeof(char),1U);_T19=(const char*)_T18;_T1A=base;{struct Cyc_AP_T*d=Cyc_AP_fromstr(_T19,_T1A);_T1B= Cyc_AP_cmp(d,Cyc_AP_zero);if(!_T1B)goto _TLC;_T1C=q; _T1C->d=d;goto _TLD; _TLC:{struct Cyc_Invalid_argument_exn_struct*_T21=_cycalloc(sizeof(struct Cyc_Invalid_argument_exn_struct));_T21->tag=Cyc_Invalid_argument;_T21->f1=_tag_fat("APQ_fromstr: malformed string",sizeof(char),30U);_T1D=(struct Cyc_Invalid_argument_exn_struct*)_T21;}_T1E=(void*)_T1D;_throw(_T1E);_TLD:;}goto _TLB; # 54 _TLA: _T1F=q;_T1F->d=Cyc_AP_one;_TLB: _T20= Cyc_reduce(q);return _T20;}}
struct _fat_ptr Cyc_XP_tostr(struct _fat_ptr str,int size,int base,int n,struct _fat_ptr x){struct _fat_ptr _T0;unsigned char*_T1;unsigned _T2;int(*_T3)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T4)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T5;struct _fat_ptr _T6;int(*_T7)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T8)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T9;struct _fat_ptr _TA;int(*_TB)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_TC)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _TD;struct _fat_ptr _TE;struct _fat_ptr _TF;int _T10;int _T11;unsigned char*_T12;char*_T13;struct _fat_ptr _T14;int _T15;unsigned char*_T16;const char*_T17;unsigned _T18;unsigned char*_T19;char*_T1A;struct _fat_ptr _T1B;int _T1C;unsigned char*_T1D;unsigned char*_T1E;unsigned char _T1F;int _T20;struct _fat_ptr _T21;unsigned char*_T22;unsigned char*_T23;unsigned char _T24;int _T25;int(*_T26)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T27)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T28;struct _fat_ptr _T29;struct _fat_ptr _T2A;int _T2B;unsigned char*_T2C;char*_T2D;unsigned _T2E;unsigned char*_T2F;char*_T30;int _T31;int _T32;struct _fat_ptr _T33;int _T34;unsigned char*_T35;char*_T36;struct _fat_ptr _T37;int _T38;unsigned char*_T39;char*_T3A;struct _fat_ptr _T3B;int _T3C;unsigned char*_T3D;char*_T3E;unsigned _T3F;unsigned char*_T40;char*_T41;struct _fat_ptr _T42;int _T43;unsigned char*_T44;char*_T45;unsigned _T46;unsigned char*_T47;char*_T48;struct _fat_ptr _T49; # 269 int i=0;_T0=str;_T1=_T0.curr;_T2=(unsigned)_T1; if(!_T2)goto _TLAD;goto _TLAE;_TLAD: _T4=Cyc___assert_fail;{int(*_T4A)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T4;_T3=_T4A;}_T5=_tag_fat("str",sizeof(char),4U);_T6=_tag_fat("xp.cyc",sizeof(char),7U);_T3(_T5,_T6,270U);_TLAE: if(base < 2)goto _TLAF;if(base > 36)goto _TLAF;goto _TLB0;_TLAF: _T8=Cyc___assert_fail;{int(*_T4A)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T8;_T7=_T4A;}_T9=_tag_fat("base >= 2 && base <= 36",sizeof(char),24U);_TA=_tag_fat("xp.cyc",sizeof(char),7U);_T7(_T9,_TA,271U);_TLB0: # 273 _TLB1:{int r=Cyc_XP_quotient(n,x,x,base); if(i >= size)goto _TLB3;goto _TLB4;_TLB3: _TC=Cyc___assert_fail;{int(*_T4A)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_TC;_TB=_T4A;}_TD=_tag_fat("i < size",sizeof(char),9U);_TE=_tag_fat("xp.cyc",sizeof(char),7U);_TB(_TD,_TE,274U);_TLB4: _TF=str;_T10=i; i=_T10 + 1;_T11=_T10;{struct _fat_ptr _T4A=_fat_ptr_plus(_TF,sizeof(char),_T11);_T12=_check_fat_subscript(_T4A,sizeof(char),0U);_T13=(char*)_T12;{char _T4B=*_T13;_T14=Cyc_digits;_T15=r;_T16=_check_fat_subscript(_T14,sizeof(char),_T15);_T17=(const char*)_T16;{char _T4C=*_T17;_T18=_get_fat_size(_T4A,sizeof(char));if(_T18!=1U)goto _TLB5;if(_T4B!=0)goto _TLB5;if(_T4C==0)goto _TLB5;_throw_arraybounds();goto _TLB6;_TLB5: _TLB6: _T19=_T4A.curr;_T1A=(char*)_T19;*_T1A=_T4C;}}} _TLB7: if(n > 1)goto _TLBA;else{goto _TLB9;}_TLBA: _T1B=x;_T1C=n - 1;_T1D=_check_fat_subscript(_T1B,sizeof(unsigned char),_T1C);_T1E=(unsigned char*)_T1D;_T1F=*_T1E;_T20=(int)_T1F;if(_T20==0)goto _TLB8;else{goto _TLB9;} _TLB8: n=n + -1;goto _TLB7;_TLB9:;} # 272 if(n > 1)goto _TLB1;else{goto _TLBB;}_TLBB: _T21=x;_T22=_check_fat_subscript(_T21,sizeof(unsigned char),0);_T23=(unsigned char*)_T22;_T24=*_T23;_T25=(int)_T24;if(_T25!=0)goto _TLB1;else{goto _TLB2;}_TLB2: # 279 if(i >= size)goto _TLBC;goto _TLBD;_TLBC: _T27=Cyc___assert_fail;{int(*_T4A)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T27;_T26=_T4A;}_T28=_tag_fat("i < size",sizeof(char),9U);_T29=_tag_fat("xp.cyc",sizeof(char),7U);_T26(_T28,_T29,279U);_TLBD: _T2A=str;_T2B=i;{struct _fat_ptr _T4A=_fat_ptr_plus(_T2A,sizeof(char),_T2B);_T2C=_check_fat_subscript(_T4A,sizeof(char),0U);_T2D=(char*)_T2C;{char _T4B=*_T2D;char _T4C='\000';_T2E=_get_fat_size(_T4A,sizeof(char));if(_T2E!=1U)goto _TLBE;if(_T4B!=0)goto _TLBE;if(_T4C==0)goto _TLBE;_throw_arraybounds();goto _TLBF;_TLBE: _TLBF: _T2F=_T4A.curr;_T30=(char*)_T2F;*_T30=_T4C;}}{ # 282 int j; j=0;_TLC3: _T31=j;i=i + -1;_T32=i;if(_T31 < _T32)goto _TLC1;else{goto _TLC2;} _TLC1: _T33=str;_T34=j;_T35=_check_fat_subscript(_T33,sizeof(char),_T34);_T36=(char*)_T35;{char c=*_T36;_T37=str;_T38=j;{struct _fat_ptr _T4A=_fat_ptr_plus(_T37,sizeof(char),_T38);_T39=_T4A.curr;_T3A=(char*)_T39;{char _T4B=*_T3A;_T3B=str;_T3C=i;_T3D=_check_fat_subscript(_T3B,sizeof(char),_T3C);_T3E=(char*)_T3D;{char _T4C=*_T3E;_T3F=_get_fat_size(_T4A,sizeof(char));if(_T3F!=1U)goto _TLC4;if(_T4B!=0)goto _TLC4;if(_T4C==0)goto _TLC4;_throw_arraybounds();goto _TLC5;_TLC4: _TLC5: _T40=_T4A.curr;_T41=(char*)_T40;*_T41=_T4C;}}}_T42=str;_T43=i;{struct _fat_ptr _T4A=_fat_ptr_plus(_T42,sizeof(char),_T43);_T44=_T4A.curr;_T45=(char*)_T44;{char _T4B=*_T45;char _T4C=c;_T46=_get_fat_size(_T4A,sizeof(char));if(_T46!=1U)goto _TLC6;if(_T4B!=0)goto _TLC6;if(_T4C==0)goto _TLC6;_throw_arraybounds();goto _TLC7;_TLC6: _TLC7: _T47=_T4A.curr;_T48=(char*)_T47;*_T48=_T4C;}}} # 283 j=j + 1;goto _TLC3;_TLC2:;}_T49=str; # 289 return _T49;}
void Cyc_Hashtable_insert(struct Cyc_Hashtable_Table * t,void * key,void * val) { struct Cyc_Hashtable_Table * _T0; struct Cyc_Hashtable_Table * _T1; int (* _T2)(void *); int _T3; unsigned int _T4; struct _fat_ptr _T5; unsigned int _T6; struct _fat_ptr _T7; unsigned int _T8; int _T9; struct _fat_ptr _TA; unsigned char * _TB; unsigned char * _TC; struct Cyc_Hashtable_Bucket * _TD; struct Cyc_Hashtable_Cell * _TE; struct Cyc_Hashtable_Table * _TF; struct _RegionHandle * _T10; struct Cyc_Hashtable_Bucket * _T11; struct Cyc_Hashtable_Bucket * _T12; unsigned int _T13; struct Cyc_Hashtable_Bucket * _T14; unsigned int _T15; struct Cyc_Hashtable_Table * _T16; int _T17; unsigned int _T18; _T0 = t; { struct _fat_ptr tab = _T0->tab; _T1 = t; _T2 = _T1->hash; _T3 = _T2(key); _T4 = (unsigned int)_T3; _T5 = tab; _T6 = _get_fat_size(_T5,sizeof(struct Cyc_Hashtable_Bucket)); { unsigned int bucket = _T4 % _T6; _T7 = tab; _T8 = bucket; _T9 = (int)_T8; _TA = _fat_ptr_plus(_T7,sizeof(struct Cyc_Hashtable_Bucket),_T9); _TB = _untag_fat_ptr_check_bound(_TA,sizeof(struct Cyc_Hashtable_Bucket), 1U); _TC = _check_null(_TB); { struct Cyc_Hashtable_Bucket * b = (struct Cyc_Hashtable_Bucket *)_TC; _TD = b; _TF = t; _T10 = _TF->r; { struct Cyc_Hashtable_Cell * _T19 = _region_malloc(_T10,0U,sizeof(struct Cyc_Hashtable_Cell)); _T19->key = key; _T19->value = val; _T11 = b; _T19->next = _T11->cells; _TE = (struct Cyc_Hashtable_Cell *)_T19; }_TD->cells = _TE; _T12 = b; _T13 = _T12->length; { unsigned int i = _T13 + 1U; _T14 = b; _T14->length = i; _T15 = i; _T16 = t; _T17 = _T16->max_len; _T18 = (unsigned int)_T17; if (_T15 <= _T18) { goto _TL0; } Cyc_Hashtable_resize(t); goto _TL1; _TL0: _TL1: ; } } } } }
void Cyc_Hashtable_remove(struct Cyc_Hashtable_Table * t,void * key) { struct Cyc_Hashtable_Table * _T0; struct Cyc_Hashtable_Table * _T1; struct Cyc_Hashtable_Table * _T2; int (* _T3)(void *); int _T4; unsigned int _T5; struct _fat_ptr _T6; unsigned int _T7; struct _fat_ptr _T8; unsigned int _T9; int _TA; struct _fat_ptr _TB; unsigned char * _TC; unsigned char * _TD; struct Cyc_Hashtable_Bucket * _TE; void * _TF; struct Cyc_Hashtable_Cell * _T10; void * _T11; int _T12; struct Cyc_Hashtable_Bucket * _T13; struct Cyc_Hashtable_Cell * _T14; struct Cyc_Hashtable_Bucket * _T15; struct Cyc_Hashtable_Cell * _T16; struct Cyc_Hashtable_Cell * _T17; struct Cyc_Hashtable_Cell * _T18; void * _T19; struct Cyc_Hashtable_Cell * _T1A; void * _T1B; int _T1C; struct Cyc_Hashtable_Cell * _T1D; struct Cyc_Hashtable_Cell * _T1E; struct Cyc_Hashtable_Bucket * _T1F; struct Cyc_Hashtable_Cell * _T20; struct Cyc_Hashtable_Cell * _T21; _T0 = t; { struct _fat_ptr tab = _T0->tab; _T1 = t; { int (* cmp)(void *,void *) = _T1->cmp; _T2 = t; _T3 = _T2->hash; _T4 = _T3(key); _T5 = (unsigned int)_T4; _T6 = tab; _T7 = _get_fat_size(_T6,sizeof(struct Cyc_Hashtable_Bucket)); { unsigned int bucket = _T5 % _T7; _T8 = tab; _T9 = bucket; _TA = (int)_T9; _TB = _fat_ptr_plus(_T8,sizeof(struct Cyc_Hashtable_Bucket),_TA); _TC = _untag_fat_ptr_check_bound(_TB,sizeof(struct Cyc_Hashtable_Bucket), 1U); _TD = _check_null(_TC); { struct Cyc_Hashtable_Bucket * b = (struct Cyc_Hashtable_Bucket *)_TD; _TE = b; { struct Cyc_Hashtable_Cell * l = _TE->cells; if (l != 0) { goto _TL20; } return; _TL20: _TF = key; _T10 = l; _T11 = _T10->key; _T12 = cmp(_TF,_T11); if (_T12 != 0) { goto _TL22; } _T13 = b; _T14 = l; _T13->cells = _T14->next; _T15 = b; _T15->length = _T15->length + -1; return; _TL22: _T16 = l; { struct Cyc_Hashtable_Cell * next = _T16->next; _TL27: _T17 = _check_null(l); _T18 = _T17->next; if (_T18 != 0) { goto _TL25; }else { goto _TL26; } _TL25: _T19 = key; _T1A = _check_null(next); _T1B = _T1A->key; _T1C = cmp(_T19,_T1B); if (_T1C != 0) { goto _TL28; } _T1D = l; _T1E = next; _T1D->next = _T1E->next; _T1F = b; _T1F->length = _T1F->length + -1; return; _TL28: _T20 = l; l = _T20->next; _T21 = next; next = _T21->next; goto _TL27; _TL26: ; } } } } } } }
void Cyc_save_shifts() { void * _T0; struct Cyc_shifts_tag * _T1; struct Cyc_core_tag * _T2; struct Cyc_shifts_tag * _T3; int _T4; struct Cyc_shifts_tag * _T5; struct Cyc_shifts_tag * _T6; struct _fat_ptr _T7; int _T8; short * _T9; unsigned int _TA; unsigned int _TB; struct Cyc_shifts_tag * _TC; struct _fat_ptr _TD; int _TE; struct _fat_ptr _TF; unsigned char * _T10; short * _T11; struct _fat_ptr _T12; unsigned char * _T13; short * _T14; struct _fat_ptr * _T15; struct _fat_ptr _T16; unsigned char * _T17; short * _T18; struct _fat_ptr * _T19; struct _fat_ptr _T1A; unsigned char * _T1B; short * _T1C; struct Cyc_shifts_tag * _T1D; unsigned int _T1E; struct Cyc_shifts_tag * _T1F; struct Cyc_shifts_tag * p; struct _fat_ptr sp1; struct _fat_ptr sp2; struct _fat_ptr send; _T0 = _cycalloc(sizeof(struct Cyc_shifts_tag)); p = (struct Cyc_shifts_tag *)_T0; _T1 = p; _T2 = _check_null(Cyc_this_state); _T1->number = _T2->number; _T3 = p; _T4 = Cyc_nshifts; _T3->nshifts = (short)_T4; _T5 = p; _T5->next = 0; _T6 = p; _T8 = Cyc_nshifts; { unsigned int _T20 = (unsigned int)_T8; _TA = _check_times(_T20,sizeof(short)); { short * _T21 = _cycalloc_atomic(_TA); { unsigned int _T22 = _T20; unsigned int _new2_cyclone; _new2_cyclone = 0; _TL63: if (_new2_cyclone < _T22) { goto _TL61; }else { goto _TL62; } _TL61: _TB = _new2_cyclone; _T21[_TB] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TL63; _TL62: ; }_T9 = (short *)_T21; }_T7 = _tag_fat(_T9,sizeof(short),_T20); }_T6->shifts = _T7; sp1 = Cyc_shiftset; _TC = p; sp2 = _TC->shifts; _TD = Cyc_shiftset; _TE = Cyc_nshifts; send = _fat_ptr_plus(_TD,sizeof(short),_TE); _TL64: _TF = sp1; _T10 = _TF.curr; _T11 = (short *)_T10; _T12 = send; _T13 = _T12.curr; _T14 = (short *)_T13; if (_T11 < _T14) { goto _TL65; }else { goto _TL66; } _TL65: _T15 = &sp2; _T16 = _fat_ptr_inplace_plus_post(_T15,sizeof(short),1); _T17 = _check_fat_subscript(_T16,sizeof(short),0U); _T18 = (short *)_T17; _T19 = &sp1; _T1A = _fat_ptr_inplace_plus_post(_T19,sizeof(short),1); _T1B = _check_fat_subscript(_T1A,sizeof(short),0U); _T1C = (short *)_T1B; *_T18 = *_T1C; goto _TL64; _TL66: _T1D = Cyc_last_shift; _T1E = (unsigned int)_T1D; if (! _T1E) { goto _TL67; } _T1F = Cyc_last_shift; _T1F->next = p; Cyc_last_shift = p; goto _TL68; _TL67: Cyc_first_shift = p; Cyc_last_shift = p; _TL68: ; }
void Cyc_allocate_itemsets() { struct _fat_ptr _T0; int _T1; short * _T2; unsigned int _T3; unsigned int _T4; struct _fat_ptr * _T5; struct _fat_ptr _T6; unsigned char * _T7; short * _T8; short _T9; int _TA; struct _fat_ptr _TB; int _TC; unsigned char * _TD; short * _TE; struct _fat_ptr * _TF; struct _fat_ptr _T10; unsigned char * _T11; short * _T12; short _T13; struct _fat_ptr _T14; int _T15; struct _fat_ptr * _T16; unsigned int _T17; unsigned int _T18; struct _fat_ptr _T19; struct _fat_ptr _T1A; int _T1B; short * _T1C; unsigned int _T1D; unsigned int _T1E; struct _fat_ptr _T1F; int _T20; unsigned char * _T21; struct _fat_ptr * _T22; struct _fat_ptr _T23; int _T24; struct _fat_ptr _T25; int _T26; unsigned char * _T27; short * _T28; short _T29; int _T2A; struct _fat_ptr _T2B; int _T2C; struct _fat_ptr * _T2D; unsigned int _T2E; unsigned int _T2F; struct _fat_ptr _T30; struct _fat_ptr itemp; int symbol; int i; int count; struct _fat_ptr symbol_count; count = 0; _T1 = Cyc_nsyms; { unsigned int _T31 = (unsigned int)_T1; _T3 = _check_times(_T31,sizeof(short)); { short * _T32 = _cycalloc_atomic(_T3); { unsigned int _T33 = _T31; unsigned int _new2_cyclone; _new2_cyclone = 0; _TL3: if (_new2_cyclone < _T33) { goto _TL1; }else { goto _TL2; } _TL1: _T4 = _new2_cyclone; _T32[_T4] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TL3; _TL2: ; }_T2 = (short *)_T32; }_T0 = _tag_fat(_T2,sizeof(short),_T31); }symbol_count = _T0; itemp = Cyc_ritem; _T5 = &itemp; _T6 = _fat_ptr_inplace_plus_post(_T5,sizeof(short),1); _T7 = _check_fat_subscript(_T6,sizeof(short),0U); _T8 = (short *)_T7; _T9 = *_T8; symbol = (int)_T9; _TL4: _TA = symbol; if (_TA) { goto _TL5; }else { goto _TL6; } _TL5: if (symbol <= 0) { goto _TL7; } count = count + 1; _TB = symbol_count; _TC = symbol; _TD = _check_fat_subscript(_TB,sizeof(short),_TC); _TE = (short *)_TD; *_TE = *_TE + 1; goto _TL8; _TL7: _TL8: _TF = &itemp; _T10 = _fat_ptr_inplace_plus_post(_TF,sizeof(short),1); _T11 = _check_fat_subscript(_T10,sizeof(short),0U); _T12 = (short *)_T11; _T13 = *_T12; symbol = (int)_T13; goto _TL4; _TL6: _T15 = Cyc_nsyms; { unsigned int _T31 = (unsigned int)_T15; _T17 = _check_times(_T31,sizeof(struct _fat_ptr)); { struct _fat_ptr * _T32 = _cycalloc(_T17); { unsigned int _T33 = _T31; unsigned int _new2p_cyclone; _new2p_cyclone = 0; _TLC: if (_new2p_cyclone < _T33) { goto _TLA; }else { goto _TLB; } _TLA: _T18 = _new2p_cyclone; _T19 = _tag_fat(0,0,0); _T32[_T18] = _T19; _new2p_cyclone = _new2p_cyclone + 1; goto _TLC; _TLB: ; }_T16 = (struct _fat_ptr *)_T32; }_T14 = _tag_fat(_T16,sizeof(struct _fat_ptr),_T31); }Cyc_kernel_base = _T14; _T1B = count; { unsigned int _T31 = (unsigned int)_T1B; _T1D = _check_times(_T31,sizeof(short)); { short * _T32 = _cycalloc_atomic(_T1D); { unsigned int _T33 = _T31; unsigned int _new2_cyclone; _new2_cyclone = 0; _TL10: if (_new2_cyclone < _T33) { goto _TLE; }else { goto _TLF; } _TLE: _T1E = _new2_cyclone; _T32[_T1E] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TL10; _TLF: ; }_T1C = (short *)_T32; }_T1A = _tag_fat(_T1C,sizeof(short),_T31); }Cyc_kernel_items = _T1A; count = 0; i = 0; _TL14: if (i < Cyc_nsyms) { goto _TL12; }else { goto _TL13; } _TL12: _T1F = Cyc_kernel_base; _T20 = i; _T21 = _check_fat_subscript(_T1F,sizeof(struct _fat_ptr),_T20); _T22 = (struct _fat_ptr *)_T21; _T23 = Cyc_kernel_items; _T24 = count; *_T22 = _fat_ptr_plus(_T23,sizeof(short),_T24); _T25 = symbol_count; _T26 = i; _T27 = _check_fat_subscript(_T25,sizeof(short),_T26); _T28 = (short *)_T27; _T29 = *_T28; _T2A = (int)_T29; count = count + _T2A; i = i + 1; goto _TL14; _TL13: Cyc_shift_symbol = symbol_count; _T2C = Cyc_nsyms; { unsigned int _T31 = (unsigned int)_T2C; _T2E = _check_times(_T31,sizeof(struct _fat_ptr)); { struct _fat_ptr * _T32 = _cycalloc(_T2E); { unsigned int _T33 = _T31; unsigned int _new2p_cyclone; _new2p_cyclone = 0; _TL18: if (_new2p_cyclone < _T33) { goto _TL16; }else { goto _TL17; } _TL16: _T2F = _new2p_cyclone; _T30 = _tag_fat(0,0,0); _T32[_T2F] = _T30; _new2p_cyclone = _new2p_cyclone + 1; goto _TL18; _TL17: ; }_T2D = (struct _fat_ptr *)_T32; }_T2B = _tag_fat(_T2D,sizeof(struct _fat_ptr),_T31); }Cyc_kernel_end = _T2B; }
void Cyc_save_reductions() { struct _fat_ptr _T0; unsigned char * _T1; short * _T2; struct _fat_ptr _T3; unsigned char * _T4; short * _T5; struct _fat_ptr _T6; struct _fat_ptr _T7; unsigned char * _T8; short * _T9; short _TA; int _TB; unsigned char * _TC; short * _TD; short _TE; struct _fat_ptr _TF; int _T10; int _T11; unsigned char * _T12; short * _T13; int _T14; struct _fat_ptr * _T15; int _T16; void * _T17; struct Cyc_reductions_tag * _T18; struct Cyc_reductions_tag * _T19; struct Cyc_core_tag * _T1A; struct Cyc_reductions_tag * _T1B; int _T1C; struct Cyc_reductions_tag * _T1D; struct _fat_ptr _T1E; int _T1F; short * _T20; unsigned int _T21; unsigned int _T22; struct Cyc_reductions_tag * _T23; struct _fat_ptr _T24; int _T25; struct _fat_ptr _T26; unsigned char * _T27; short * _T28; struct _fat_ptr _T29; unsigned char * _T2A; short * _T2B; struct _fat_ptr * _T2C; struct _fat_ptr _T2D; unsigned char * _T2E; short * _T2F; struct _fat_ptr * _T30; struct _fat_ptr _T31; unsigned char * _T32; short * _T33; struct Cyc_reductions_tag * _T34; unsigned int _T35; struct Cyc_reductions_tag * _T36; struct _fat_ptr isp; struct _fat_ptr rp1; struct _fat_ptr rp2; int item; int count; struct Cyc_reductions_tag * p; struct _fat_ptr rend; count = 0; isp = Cyc_itemset; _TL6C: _T0 = isp; _T1 = _T0.curr; _T2 = (short *)_T1; _T3 = Cyc_itemsetend; _T4 = _T3.curr; _T5 = (short *)_T4; if (_T2 < _T5) { goto _TL6A; }else { goto _TL6B; } _TL6A: _T6 = Cyc_ritem; _T7 = isp; _T8 = _check_fat_subscript(_T7,sizeof(short),0U); _T9 = (short *)_T8; _TA = *_T9; _TB = (int)_TA; _TC = _check_fat_subscript(_T6,sizeof(short),_TB); _TD = (short *)_TC; _TE = *_TD; item = (int)_TE; if (item >= 0) { goto _TL6D; } _TF = Cyc_redset; _T10 = count; count = _T10 + 1; _T11 = _T10; _T12 = _check_fat_subscript(_TF,sizeof(short),_T11); _T13 = (short *)_T12; _T14 = - item; *_T13 = (short)_T14; goto _TL6E; _TL6D: _TL6E: _T15 = &isp; _fat_ptr_inplace_plus(_T15,sizeof(short),1); goto _TL6C; _TL6B: _T16 = count; if (! _T16) { goto _TL6F; } _T17 = _cycalloc(sizeof(struct Cyc_reductions_tag)); p = (struct Cyc_reductions_tag *)_T17; _T18 = p; _T18->next = 0; _T19 = p; _T1A = _check_null(Cyc_this_state); _T19->number = _T1A->number; _T1B = p; _T1C = count; _T1B->nreds = (short)_T1C; _T1D = p; _T1F = count; { unsigned int _T37 = (unsigned int)_T1F; _T21 = _check_times(_T37,sizeof(short)); { short * _T38 = _cycalloc_atomic(_T21); { unsigned int _T39 = _T37; unsigned int _new2_cyclone; _new2_cyclone = 0; _TL74: if (_new2_cyclone < _T39) { goto _TL72; }else { goto _TL73; } _TL72: _T22 = _new2_cyclone; _T38[_T22] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TL74; _TL73: ; }_T20 = (short *)_T38; }_T1E = _tag_fat(_T20,sizeof(short),_T37); }_T1D->rules = _T1E; rp1 = Cyc_redset; _T23 = p; rp2 = _T23->rules; _T24 = rp1; _T25 = count; rend = _fat_ptr_plus(_T24,sizeof(short),_T25); _TL75: _T26 = rp1; _T27 = _T26.curr; _T28 = (short *)_T27; _T29 = rend; _T2A = _T29.curr; _T2B = (short *)_T2A; if (_T28 < _T2B) { goto _TL76; }else { goto _TL77; } _TL76: _T2C = &rp2; _T2D = _fat_ptr_inplace_plus_post(_T2C,sizeof(short),1); _T2E = _check_fat_subscript(_T2D,sizeof(short),0U); _T2F = (short *)_T2E; _T30 = &rp1; _T31 = _fat_ptr_inplace_plus_post(_T30,sizeof(short),1); _T32 = _check_fat_subscript(_T31,sizeof(short),0U); _T33 = (short *)_T32; *_T2F = *_T33; goto _TL75; _TL77: _T34 = Cyc_last_reduction; _T35 = (unsigned int)_T34; if (! _T35) { goto _TL78; } _T36 = Cyc_last_reduction; _T36->next = p; Cyc_last_reduction = p; goto _TL79; _TL78: Cyc_first_reduction = p; Cyc_last_reduction = p; _TL79: goto _TL70; _TL6F: _TL70: ; }
int Cyc_Base64_encode(struct _fat_ptr src,struct _fat_ptr dest,unsigned int src_len) { struct _handler_cons * _T0; int _T1; struct _fat_ptr _T2; unsigned int _T3; unsigned int _T4; int _T5; unsigned char * _T6; const char * _T7; int _T8; struct _fat_ptr _T9; unsigned int _TA; int _TB; unsigned char * _TC; const char * _TD; char _TE; int _TF; struct _fat_ptr _T10; unsigned int _T11; int _T12; unsigned char * _T13; const char * _T14; char _T15; char _T16; int _T17; int _T18; int _T19; int _T1A; int _T1B; int _T1C; struct _fat_ptr _T1D; unsigned int _T1E; unsigned int _T1F; int _T20; unsigned char * _T21; char * _T22; char * _T23; int _T24; char * _T25; char * _T26; unsigned int _T27; unsigned char * _T28; char * _T29; struct _fat_ptr _T2A; unsigned int _T2B; unsigned int _T2C; int _T2D; unsigned char * _T2E; char * _T2F; char * _T30; int _T31; char * _T32; char * _T33; unsigned int _T34; unsigned char * _T35; char * _T36; struct _fat_ptr _T37; unsigned int _T38; unsigned int _T39; int _T3A; unsigned char * _T3B; char * _T3C; char * _T3D; int _T3E; char * _T3F; char * _T40; unsigned int _T41; unsigned char * _T42; char * _T43; struct _fat_ptr _T44; unsigned int _T45; unsigned int _T46; int _T47; unsigned char * _T48; char * _T49; char * _T4A; int _T4B; char * _T4C; char * _T4D; unsigned int _T4E; unsigned char * _T4F; char * _T50; unsigned int _T51; int _T52; struct _fat_ptr _T53; unsigned int _T54; int _T55; unsigned char * _T56; char * _T57; unsigned int _T58; unsigned char * _T59; char * _T5A; void * _T5B; struct _handler_cons _T5C; _T0 = &_T5C; _push_handler(_T0); { int _T5D = 0; _T1 = setjmp(_T5C.handler); if (! _T1) { goto _TL2; } _T5D = 1; goto _TL3; _TL2: _TL3: if (_T5D) { goto _TL4; }else { goto _TL6; } _TL6: { unsigned int i = 0U; unsigned int j = 0U; _TL7: if (i < src_len) { goto _TL8; }else { goto _TL9; } _TL8: _T2 = src; _T3 = i; i = _T3 + 1; _T4 = _T3; _T5 = (int)_T4; _T6 = _check_fat_subscript(_T2,sizeof(char),_T5); _T7 = (const char *)_T6; { char b1 = *_T7; if (i >= src_len) { goto _TLA; } _T9 = src; _TA = i; _TB = (int)_TA; _TC = _check_fat_subscript(_T9,sizeof(char),_TB); _TD = (const char *)_TC; _TE = *_TD; _T8 = (int)_TE; goto _TLB; _TLA: _T8 = 0; _TLB: { int b2 = _T8; i = i + 1; if (i >= src_len) { goto _TLC; } _T10 = src; _T11 = i; _T12 = (int)_T11; _T13 = _check_fat_subscript(_T10,sizeof(char),_T12); _T14 = (const char *)_T13; _T15 = *_T14; _TF = (int)_T15; goto _TLD; _TLC: _TF = 0; _TLD: { int b3 = _TF; i = i + 1; _T16 = b1 << 16; _T17 = (int)_T16; _T18 = b2 << 8; _T19 = _T17 | _T18; _T1A = b3; { int r = _T19 | _T1A; int a = r >> 18; _T1B = r >> 12; { int b = _T1B & 63; _T1C = r >> 6; { int c = _T1C & 63; int d = r & 63; _T1D = dest; _T1E = j; j = _T1E + 1; _T1F = _T1E; _T20 = (int)_T1F; { struct _fat_ptr _T5E = _fat_ptr_plus(_T1D,sizeof(char), _T20); _T21 = _check_fat_subscript(_T5E,sizeof(char),0U); _T22 = (char *)_T21; { char _T5F = *_T22; _T23 = Cyc_Base64_encode_map; _T24 = a; _T25 = _check_known_subscript_notnull(_T23,65U,sizeof(char), _T24); _T26 = (char *)_T25; { char _T60 = *_T26; _T27 = _get_fat_size(_T5E,sizeof(char)); if (_T27 != 1U) { goto _TLE; } if (_T5F != 0) { goto _TLE; } if (_T60 == 0) { goto _TLE; } _throw_arraybounds(); goto _TLF; _TLE: _TLF: _T28 = _T5E.curr; _T29 = (char *)_T28; *_T29 = _T60; } } }_T2A = dest; _T2B = j; j = _T2B + 1; _T2C = _T2B; _T2D = (int)_T2C; { struct _fat_ptr _T5E = _fat_ptr_plus(_T2A,sizeof(char), _T2D); _T2E = _check_fat_subscript(_T5E,sizeof(char),0U); _T2F = (char *)_T2E; { char _T5F = *_T2F; _T30 = Cyc_Base64_encode_map; _T31 = b; _T32 = _check_known_subscript_notnull(_T30,65U,sizeof(char), _T31); _T33 = (char *)_T32; { char _T60 = *_T33; _T34 = _get_fat_size(_T5E,sizeof(char)); if (_T34 != 1U) { goto _TL10; } if (_T5F != 0) { goto _TL10; } if (_T60 == 0) { goto _TL10; } _throw_arraybounds(); goto _TL11; _TL10: _TL11: _T35 = _T5E.curr; _T36 = (char *)_T35; *_T36 = _T60; } } }_T37 = dest; _T38 = j; j = _T38 + 1; _T39 = _T38; _T3A = (int)_T39; { struct _fat_ptr _T5E = _fat_ptr_plus(_T37,sizeof(char), _T3A); _T3B = _check_fat_subscript(_T5E,sizeof(char),0U); _T3C = (char *)_T3B; { char _T5F = *_T3C; _T3D = Cyc_Base64_encode_map; _T3E = c; _T3F = _check_known_subscript_notnull(_T3D,65U,sizeof(char), _T3E); _T40 = (char *)_T3F; { char _T60 = *_T40; _T41 = _get_fat_size(_T5E,sizeof(char)); if (_T41 != 1U) { goto _TL12; } if (_T5F != 0) { goto _TL12; } if (_T60 == 0) { goto _TL12; } _throw_arraybounds(); goto _TL13; _TL12: _TL13: _T42 = _T5E.curr; _T43 = (char *)_T42; *_T43 = _T60; } } }_T44 = dest; _T45 = j; j = _T45 + 1; _T46 = _T45; _T47 = (int)_T46; { struct _fat_ptr _T5E = _fat_ptr_plus(_T44,sizeof(char), _T47); _T48 = _check_fat_subscript(_T5E,sizeof(char),0U); _T49 = (char *)_T48; { char _T5F = *_T49; _T4A = Cyc_Base64_encode_map; _T4B = d; _T4C = _check_known_subscript_notnull(_T4A,65U,sizeof(char), _T4B); _T4D = (char *)_T4C; { char _T60 = *_T4D; _T4E = _get_fat_size(_T5E,sizeof(char)); if (_T4E != 1U) { goto _TL14; } if (_T5F != 0) { goto _TL14; } if (_T60 == 0) { goto _TL14; } _throw_arraybounds(); goto _TL15; _TL14: _TL15: _T4F = _T5E.curr; _T50 = (char *)_T4F; *_T50 = _T60; } } } } } } } } }goto _TL7; _TL9: { unsigned int k = i - src_len; _TL19: _T51 = k; _T52 = (int)_T51; if (_T52) { goto _TL17; }else { goto _TL18; } _TL17: _T53 = dest; _T54 = j - k; _T55 = (int)_T54; { struct _fat_ptr _T5E = _fat_ptr_plus(_T53,sizeof(char),_T55); _T56 = _check_fat_subscript(_T5E,sizeof(char),0U); _T57 = (char *)_T56; { char _T5F = *_T57; char _T60 = '='; _T58 = _get_fat_size(_T5E,sizeof(char)); if (_T58 != 1U) { goto _TL1A; } if (_T5F != 0) { goto _TL1A; } if (_T60 == 0) { goto _TL1A; } _throw_arraybounds(); goto _TL1B; _TL1A: _TL1B: _T59 = _T5E.curr; _T5A = (char *)_T59; *_T5A = _T60; } }k = k + -1; goto _TL19; _TL18: ; }{ int _T5E = 0; _npop_handler(0); return _T5E; } }_pop_handler(); goto _TL5; _TL4: _T5B = Cyc_Core_get_exn_thrown(); { void * _T5E = (void *)_T5B; return 1; ; }_TL5: ; } }
void Cyc_Array_msort(int (* less_eq)(void * *,void * *),struct _fat_ptr arr, int len) { int _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned int _T3; struct Cyc_Core_Invalid_argument_exn_struct * _T4; void * _T5; struct _fat_ptr _T6; int _T7; void * * _T8; unsigned int _T9; unsigned int _TA; struct _fat_ptr _TB; unsigned char * _TC; void * * _TD; void * * _TE; int _TF; int _T10; int _T11; int _T12; int _T13; int _T14; int _T15; int _T16; int _T17; int _T18; struct _fat_ptr _T19; int _T1A; struct _fat_ptr _T1B; unsigned char * _T1C; unsigned char * _T1D; void * * _T1E; struct _fat_ptr _T1F; int _T20; struct _fat_ptr _T21; unsigned char * _T22; unsigned char * _T23; void * * _T24; int _T25; struct _fat_ptr _T26; int _T27; int _T28; unsigned char * _T29; void * * _T2A; struct _fat_ptr _T2B; int _T2C; int _T2D; unsigned char * _T2E; void * * _T2F; struct _fat_ptr _T30; int _T31; int _T32; unsigned char * _T33; void * * _T34; struct _fat_ptr _T35; int _T36; int _T37; unsigned char * _T38; void * * _T39; struct _fat_ptr _T3A; int _T3B; int _T3C; unsigned char * _T3D; void * * _T3E; struct _fat_ptr _T3F; int _T40; int _T41; unsigned char * _T42; void * * _T43; struct _fat_ptr _T44; int _T45; int _T46; unsigned char * _T47; void * * _T48; struct _fat_ptr _T49; int _T4A; int _T4B; unsigned char * _T4C; void * * _T4D; int _T4E; int _T4F; long _T50; struct _fat_ptr _T51; unsigned char * _T52; void * * _T53; int _T54; struct _fat_ptr _T55; unsigned char * _T56; void * * _T57; int _T58; _T0 = len; _T1 = (unsigned int)_T0; _T2 = arr; _T3 = _get_fat_size(_T2,sizeof(void *)); if (_T1 > _T3) { goto _TL2B; }else { goto _TL2C; } _TL2C: if (len < 0) { goto _TL2B; }else { goto _TL29; } _TL2B: { struct Cyc_Core_Invalid_argument_exn_struct * _T59 = _cycalloc(sizeof(struct Cyc_Core_Invalid_argument_exn_struct)); _T59->tag = Cyc_Core_Invalid_argument; _T59->f1 = _tag_fat("Array::msort",sizeof(char),13U); _T4 = (struct Cyc_Core_Invalid_argument_exn_struct *)_T59; }_T5 = (void *)_T4; _throw(_T5); goto _TL2A; _TL29: _TL2A: _T7 = len; { unsigned int _T59 = (unsigned int)_T7; _T9 = _check_times(_T59,sizeof(void *)); { void * * _T5A = _cycalloc(_T9); { unsigned int _T5B = _T59; unsigned int i; i = 0; _TL30: if (i < _T5B) { goto _TL2E; }else { goto _TL2F; } _TL2E: _TA = i; _TB = arr; _TC = _TB.curr; _TD = (void * *)_TC; _TE = _check_null(_TD); _T5A[_TA] = _TE[0]; i = i + 1; goto _TL30; _TL2F: ; }_T8 = (void * *)_T5A; }_T6 = _tag_fat(_T8,sizeof(void *),_T59); }{ struct _fat_ptr from = _T6; struct _fat_ptr to = arr; struct _fat_ptr swap; long swapped = 0; int stepsize; int start; int lstart; int lend; int rstart; int rend; int dest; stepsize = 1; _TL34: if (stepsize < len) { goto _TL32; }else { goto _TL33; } _TL32: swap = from; from = to; to = swap; dest = 0; start = 0; _TL38: if (start < len) { goto _TL36; }else { goto _TL37; } _TL36: lstart = start; _T10 = start + stepsize; _T11 = len; if (_T10 >= _T11) { goto _TL39; } _TF = start + stepsize; goto _TL3A; _TL39: _TF = len; _TL3A: rstart = _TF; lend = rstart; _T13 = start; _T14 = stepsize * 2; _T15 = _T13 + _T14; _T16 = len; if (_T15 >= _T16) { goto _TL3B; } _T17 = start; _T18 = stepsize * 2; _T12 = _T17 + _T18; goto _TL3C; _TL3B: _T12 = len; _TL3C: rend = _T12; _TL3D: if (lstart < lend) { goto _TL40; }else { goto _TL3F; } _TL40: if (rstart < rend) { goto _TL3E; }else { goto _TL3F; } _TL3E: _T19 = from; _T1A = lstart; _T1B = _fat_ptr_plus(_T19,sizeof(void *),_T1A); _T1C = _untag_fat_ptr_check_bound(_T1B,sizeof(void *),1U); _T1D = _check_null(_T1C); _T1E = (void * *)_T1D; _T1F = from; _T20 = rstart; _T21 = _fat_ptr_plus(_T1F,sizeof(void *),_T20); _T22 = _untag_fat_ptr_check_bound(_T21,sizeof(void *),1U); _T23 = _check_null(_T22); _T24 = (void * *)_T23; _T25 = less_eq(_T1E,_T24); if (_T25 > 0) { goto _TL41; } _T26 = to; _T27 = dest; dest = _T27 + 1; _T28 = _T27; _T29 = _check_fat_subscript(_T26,sizeof(void *),_T28); _T2A = (void * *)_T29; _T2B = from; _T2C = lstart; lstart = _T2C + 1; _T2D = _T2C; _T2E = _check_fat_subscript(_T2B,sizeof(void *),_T2D); _T2F = (void * *)_T2E; *_T2A = *_T2F; goto _TL42; _TL41: _T30 = to; _T31 = dest; dest = _T31 + 1; _T32 = _T31; _T33 = _check_fat_subscript(_T30,sizeof(void *),_T32); _T34 = (void * *)_T33; _T35 = from; _T36 = rstart; rstart = _T36 + 1; _T37 = _T36; _T38 = _check_fat_subscript(_T35,sizeof(void *),_T37); _T39 = (void * *)_T38; *_T34 = *_T39; _TL42: goto _TL3D; _TL3F: _TL43: if (lstart < lend) { goto _TL44; }else { goto _TL45; } _TL44: _T3A = to; _T3B = dest; dest = _T3B + 1; _T3C = _T3B; _T3D = _check_fat_subscript(_T3A,sizeof(void *),_T3C); _T3E = (void * *)_T3D; _T3F = from; _T40 = lstart; lstart = _T40 + 1; _T41 = _T40; _T42 = _check_fat_subscript(_T3F,sizeof(void *),_T41); _T43 = (void * *)_T42; *_T3E = *_T43; goto _TL43; _TL45: _TL46: if (rstart < rend) { goto _TL47; }else { goto _TL48; } _TL47: _T44 = to; _T45 = dest; dest = _T45 + 1; _T46 = _T45; _T47 = _check_fat_subscript(_T44,sizeof(void *),_T46); _T48 = (void * *)_T47; _T49 = from; _T4A = rstart; rstart = _T4A + 1; _T4B = _T4A; _T4C = _check_fat_subscript(_T49,sizeof(void *),_T4B); _T4D = (void * *)_T4C; *_T48 = *_T4D; goto _TL46; _TL48: _T4E = start; _T4F = stepsize * 2; start = _T4E + _T4F; goto _TL38; _TL37: stepsize = stepsize * 2; goto _TL34; _TL33: _T50 = swapped; if (! _T50) { goto _TL49; } { int i = 0; _TL4E: if (i < len) { goto _TL4C; }else { goto _TL4D; } _TL4C: _T51 = from; _T52 = _T51.curr; _T53 = (void * *)_T52; _T54 = i; _T55 = to; _T56 = _T55.curr; _T57 = (void * *)_T56; _T58 = i; _T53[_T54] = _T57[_T58]; i = i + 1; goto _TL4E; _TL4D: ; }goto _TL4A; _TL49: _TL4A: ; } }
void Cyc_Array_qsort(int (* less_eq)(void * *,void * *),struct _fat_ptr arr, int len) { int _T0; unsigned int _T1; struct _fat_ptr _T2; unsigned int _T3; struct Cyc_Core_Invalid_argument_exn_struct * _T4; void * _T5; int _T6; struct _fat_ptr _T7; int _T8; int _T9; int _TA; int _TB; unsigned char * _TC; void * * _TD; struct _fat_ptr _TE; unsigned char * _TF; void * * _T10; int _T11; int _T12; int _T13; int _T14; struct _fat_ptr _T15; int _T16; unsigned char * _T17; void * * _T18; struct _fat_ptr _T19; unsigned char * _T1A; void * * _T1B; int _T1C; struct _fat_ptr _T1D; int _T1E; struct _fat_ptr _T1F; unsigned char * _T20; unsigned char * _T21; void * * _T22; struct _fat_ptr _T23; int _T24; struct _fat_ptr _T25; unsigned char * _T26; unsigned char * _T27; void * * _T28; int _T29; struct _fat_ptr _T2A; int _T2B; unsigned char * _T2C; void * * _T2D; struct _fat_ptr _T2E; unsigned char * _T2F; void * * _T30; int _T31; struct _fat_ptr _T32; int _T33; unsigned char * _T34; void * * _T35; struct _fat_ptr _T36; unsigned char * _T37; void * * _T38; int _T39; struct _fat_ptr _T3A; int _T3B; struct _fat_ptr _T3C; unsigned char * _T3D; unsigned char * _T3E; void * * _T3F; struct _fat_ptr _T40; int _T41; struct _fat_ptr _T42; unsigned char * _T43; unsigned char * _T44; void * * _T45; int _T46; struct _fat_ptr _T47; unsigned char * _T48; void * * _T49; int _T4A; struct _fat_ptr _T4B; unsigned char * _T4C; void * * _T4D; int _T4E; struct _fat_ptr _T4F; int _T50; unsigned char * _T51; void * * _T52; struct _fat_ptr _T53; unsigned char * _T54; void * * _T55; int _T56; struct _fat_ptr _T57; int _T58; struct _fat_ptr _T59; unsigned char * _T5A; unsigned char * _T5B; void * * _T5C; struct _fat_ptr _T5D; int _T5E; struct _fat_ptr _T5F; unsigned char * _T60; unsigned char * _T61; void * * _T62; int _T63; struct _fat_ptr _T64; int _T65; unsigned char * _T66; void * * _T67; struct _fat_ptr _T68; unsigned char * _T69; void * * _T6A; int _T6B; struct _fat_ptr _T6C; unsigned char * _T6D; void * * _T6E; int _T6F; struct _fat_ptr _T70; unsigned char * _T71; void * * _T72; int _T73; struct _fat_ptr _T74; int _T75; struct _fat_ptr _T76; unsigned char * _T77; unsigned char * _T78; void * * _T79; struct _fat_ptr _T7A; int _T7B; struct _fat_ptr _T7C; unsigned char * _T7D; unsigned char * _T7E; void * * _T7F; int _T80; struct _fat_ptr _T81; int _T82; struct _fat_ptr _T83; unsigned char * _T84; unsigned char * _T85; void * * _T86; struct _fat_ptr _T87; int _T88; struct _fat_ptr _T89; unsigned char * _T8A; unsigned char * _T8B; void * * _T8C; int _T8D; struct _fat_ptr _T8E; int _T8F; unsigned char * _T90; void * * _T91; struct _fat_ptr _T92; unsigned char * _T93; void * * _T94; int _T95; struct _fat_ptr _T96; int _T97; unsigned char * _T98; void * * _T99; struct _fat_ptr _T9A; unsigned char * _T9B; void * * _T9C; int _T9D; struct _fat_ptr _T9E; unsigned char * _T9F; void * * _TA0; int _TA1; struct _fat_ptr _TA2; unsigned char * _TA3; void * * _TA4; int _TA5; struct _fat_ptr _TA6; int _TA7; unsigned char * _TA8; void * * _TA9; struct _fat_ptr _TAA; unsigned char * _TAB; void * * _TAC; int _TAD; int _TAE; int _TAF; int * _TB0; int _TB1; char * _TB2; int * _TB3; int * _TB4; int _TB5; char * _TB6; int * _TB7; int * _TB8; int _TB9; char * _TBA; int * _TBB; int * _TBC; int _TBD; char * _TBE; int * _TBF; struct _fat_ptr _TC0; int _TC1; struct _fat_ptr _TC2; unsigned char * _TC3; unsigned char * _TC4; void * * _TC5; struct _fat_ptr _TC6; int _TC7; struct _fat_ptr _TC8; struct _fat_ptr _TC9; unsigned char * _TCA; unsigned char * _TCB; void * * _TCC; int _TCD; struct _fat_ptr _TCE; int _TCF; unsigned char * _TD0; void * * _TD1; struct _fat_ptr _TD2; unsigned char * _TD3; void * * _TD4; int _TD5; struct _fat_ptr _TD6; int _TD7; unsigned char * _TD8; void * * _TD9; struct _fat_ptr _TDA; unsigned char * _TDB; void * * _TDC; int _TDD; int * _TDE; int _TDF; char * _TE0; int * _TE1; int * _TE2; int _TE3; char * _TE4; int * _TE5; int base_ofs = 0; void * temp; int sp[40U]; int sp_ofs; int i; int j; int limit_ofs; if (base_ofs < 0) { goto _TL2; }else { goto _TL4; } _TL4: _T0 = base_ofs + len; _T1 = (unsigned int)_T0; _T2 = arr; _T3 = _get_fat_size(_T2,sizeof(void *)); if (_T1 > _T3) { goto _TL2; }else { goto _TL3; } _TL3: if (len < 0) { goto _TL2; }else { goto _TL0; } _TL2: { struct Cyc_Core_Invalid_argument_exn_struct * _TE6 = _cycalloc(sizeof(struct Cyc_Core_Invalid_argument_exn_struct)); _TE6->tag = Cyc_Core_Invalid_argument; _TE6->f1 = _tag_fat("Array::qsort",sizeof(char),13U); _T4 = (struct Cyc_Core_Invalid_argument_exn_struct *)_TE6; }_T5 = (void *)_T4; _throw(_T5); goto _TL1; _TL0: _TL1: limit_ofs = base_ofs + len; sp_ofs = 0; _TL8: if (1) { goto _TL6; }else { goto _TL7; } _TL6: _T6 = limit_ofs - base_ofs; if (_T6 <= 3) { goto _TL9; } _T7 = arr; _T8 = limit_ofs - base_ofs; _T9 = _T8 / 2; _TA = base_ofs; _TB = _T9 + _TA; _TC = _check_fat_subscript(_T7,sizeof(void *),_TB); _TD = (void * *)_TC; temp = *_TD; _TE = arr; _TF = _TE.curr; _T10 = (void * *)_TF; _T11 = limit_ofs - base_ofs; _T12 = _T11 / 2; _T13 = base_ofs; _T14 = _T12 + _T13; _T15 = arr; _T16 = base_ofs; _T17 = _check_fat_subscript(_T15,sizeof(void *),_T16); _T18 = (void * *)_T17; _T10[_T14] = *_T18; _T19 = arr; _T1A = _T19.curr; _T1B = (void * *)_T1A; _T1C = base_ofs; _T1B[_T1C] = temp; i = base_ofs + 1; j = limit_ofs - 1; _T1D = arr; _T1E = i; _T1F = _fat_ptr_plus(_T1D,sizeof(void *),_T1E); _T20 = _untag_fat_ptr_check_bound(_T1F,sizeof(void *),1U); _T21 = _check_null(_T20); _T22 = (void * *)_T21; _T23 = arr; _T24 = j; _T25 = _fat_ptr_plus(_T23,sizeof(void *),_T24); _T26 = _untag_fat_ptr_check_bound(_T25,sizeof(void *),1U); _T27 = _check_null(_T26); _T28 = (void * *)_T27; _T29 = less_eq(_T22,_T28); if (_T29 <= 0) { goto _TLB; } _T2A = arr; _T2B = i; _T2C = _check_fat_subscript(_T2A,sizeof(void *),_T2B); _T2D = (void * *)_T2C; temp = *_T2D; _T2E = arr; _T2F = _T2E.curr; _T30 = (void * *)_T2F; _T31 = i; _T32 = arr; _T33 = j; _T34 = _check_fat_subscript(_T32,sizeof(void *),_T33); _T35 = (void * *)_T34; _T30[_T31] = *_T35; _T36 = arr; _T37 = _T36.curr; _T38 = (void * *)_T37; _T39 = j; _T38[_T39] = temp; goto _TLC; _TLB: _TLC: _T3A = arr; _T3B = base_ofs; _T3C = _fat_ptr_plus(_T3A,sizeof(void *),_T3B); _T3D = _untag_fat_ptr_check_bound(_T3C,sizeof(void *),1U); _T3E = _check_null(_T3D); _T3F = (void * *)_T3E; _T40 = arr; _T41 = j; _T42 = _fat_ptr_plus(_T40,sizeof(void *),_T41); _T43 = _untag_fat_ptr(_T42,sizeof(void *),1U); _T44 = _check_null(_T43); _T45 = (void * *)_T44; _T46 = less_eq(_T3F,_T45); if (_T46 <= 0) { goto _TLD; } _T47 = arr; _T48 = _T47.curr; _T49 = (void * *)_T48; _T4A = base_ofs; temp = _T49[_T4A]; _T4B = arr; _T4C = _T4B.curr; _T4D = (void * *)_T4C; _T4E = base_ofs; _T4F = arr; _T50 = j; _T51 = _check_fat_subscript(_T4F,sizeof(void *),_T50); _T52 = (void * *)_T51; _T4D[_T4E] = *_T52; _T53 = arr; _T54 = _T53.curr; _T55 = (void * *)_T54; _T56 = j; _T55[_T56] = temp; goto _TLE; _TLD: _TLE: _T57 = arr; _T58 = i; _T59 = _fat_ptr_plus(_T57,sizeof(void *),_T58); _T5A = _untag_fat_ptr(_T59,sizeof(void *),1U); _T5B = _check_null(_T5A); _T5C = (void * *)_T5B; _T5D = arr; _T5E = base_ofs; _T5F = _fat_ptr_plus(_T5D,sizeof(void *),_T5E); _T60 = _untag_fat_ptr(_T5F,sizeof(void *),1U); _T61 = _check_null(_T60); _T62 = (void * *)_T61; _T63 = less_eq(_T5C,_T62); if (_T63 <= 0) { goto _TLF; } _T64 = arr; _T65 = i; _T66 = _check_fat_subscript(_T64,sizeof(void *),_T65); _T67 = (void * *)_T66; temp = *_T67; _T68 = arr; _T69 = _T68.curr; _T6A = (void * *)_T69; _T6B = i; _T6C = arr; _T6D = _T6C.curr; _T6E = (void * *)_T6D; _T6F = base_ofs; _T6A[_T6B] = _T6E[_T6F]; _T70 = arr; _T71 = _T70.curr; _T72 = (void * *)_T71; _T73 = base_ofs; _T72[_T73] = temp; goto _TL10; _TLF: _TL10: _TL14: if (1) { goto _TL12; }else { goto _TL13; } _TL12: _TL15: i = i + 1; _T74 = arr; _T75 = i; _T76 = _fat_ptr_plus(_T74,sizeof(void *),_T75); _T77 = _untag_fat_ptr_check_bound(_T76,sizeof(void *),1U); _T78 = _check_null(_T77); _T79 = (void * *)_T78; _T7A = arr; _T7B = base_ofs; _T7C = _fat_ptr_plus(_T7A,sizeof(void *),_T7B); _T7D = _untag_fat_ptr(_T7C,sizeof(void *),1U); _T7E = _check_null(_T7D); _T7F = (void * *)_T7E; _T80 = less_eq(_T79,_T7F); if (_T80 < 0) { goto _TL15; }else { goto _TL16; } _TL16: _TL17: j = j + -1; _T81 = arr; _T82 = j; _T83 = _fat_ptr_plus(_T81,sizeof(void *),_T82); _T84 = _untag_fat_ptr_check_bound(_T83,sizeof(void *),1U); _T85 = _check_null(_T84); _T86 = (void * *)_T85; _T87 = arr; _T88 = base_ofs; _T89 = _fat_ptr_plus(_T87,sizeof(void *),_T88); _T8A = _untag_fat_ptr(_T89,sizeof(void *),1U); _T8B = _check_null(_T8A); _T8C = (void * *)_T8B; _T8D = less_eq(_T86,_T8C); if (_T8D > 0) { goto _TL17; }else { goto _TL18; } _TL18: if (i <= j) { goto _TL19; } goto _TL13; _TL19: _T8E = arr; _T8F = i; _T90 = _check_fat_subscript(_T8E,sizeof(void *),_T8F); _T91 = (void * *)_T90; temp = *_T91; _T92 = arr; _T93 = _T92.curr; _T94 = (void * *)_T93; _T95 = i; _T96 = arr; _T97 = j; _T98 = _check_fat_subscript(_T96,sizeof(void *),_T97); _T99 = (void * *)_T98; _T94[_T95] = *_T99; _T9A = arr; _T9B = _T9A.curr; _T9C = (void * *)_T9B; _T9D = j; _T9C[_T9D] = temp; goto _TL14; _TL13: _T9E = arr; _T9F = _T9E.curr; _TA0 = (void * *)_T9F; _TA1 = base_ofs; temp = _TA0[_TA1]; _TA2 = arr; _TA3 = _TA2.curr; _TA4 = (void * *)_TA3; _TA5 = base_ofs; _TA6 = arr; _TA7 = j; _TA8 = _check_fat_subscript(_TA6,sizeof(void *),_TA7); _TA9 = (void * *)_TA8; _TA4[_TA5] = *_TA9; _TAA = arr; _TAB = _TAA.curr; _TAC = (void * *)_TAB; _TAD = j; _TAC[_TAD] = temp; _TAE = j - base_ofs; _TAF = limit_ofs - i; if (_TAE <= _TAF) { goto _TL1B; } _TB0 = sp; _TB1 = sp_ofs; _TB2 = _check_known_subscript_notnull(_TB0,40U,sizeof(int),_TB1); _TB3 = (int *)_TB2; *_TB3 = base_ofs; _TB4 = sp; _TB5 = sp_ofs + 1; _TB6 = _check_known_subscript_notnull(_TB4,40U,sizeof(int),_TB5); _TB7 = (int *)_TB6; *_TB7 = j; base_ofs = i; goto _TL1C; _TL1B: _TB8 = sp; _TB9 = sp_ofs; _TBA = _check_known_subscript_notnull(_TB8,40U,sizeof(int),_TB9); _TBB = (int *)_TBA; *_TBB = i; _TBC = sp; _TBD = sp_ofs + 1; _TBE = _check_known_subscript_notnull(_TBC,40U,sizeof(int),_TBD); _TBF = (int *)_TBE; *_TBF = limit_ofs; limit_ofs = j; _TL1C: sp_ofs = sp_ofs + 2; goto _TLA; _TL9: j = base_ofs; i = j + 1; _TL20: if (i < limit_ofs) { goto _TL1E; }else { goto _TL1F; } _TL1E: _TL24: _TC0 = arr; _TC1 = j; _TC2 = _fat_ptr_plus(_TC0,sizeof(void *),_TC1); _TC3 = _untag_fat_ptr_check_bound(_TC2,sizeof(void *),1U); _TC4 = _check_null(_TC3); _TC5 = (void * *)_TC4; _TC6 = arr; _TC7 = j; _TC8 = _fat_ptr_plus(_TC6,sizeof(void *),_TC7); _TC9 = _fat_ptr_plus(_TC8,sizeof(void *),1); _TCA = _untag_fat_ptr_check_bound(_TC9,sizeof(void *),1U); _TCB = _check_null(_TCA); _TCC = (void * *)_TCB; _TCD = less_eq(_TC5,_TCC); if (_TCD > 0) { goto _TL22; }else { goto _TL23; } _TL22: _TCE = arr; _TCF = j; _TD0 = _check_fat_subscript(_TCE,sizeof(void *),_TCF); _TD1 = (void * *)_TD0; temp = *_TD1; _TD2 = arr; _TD3 = _TD2.curr; _TD4 = (void * *)_TD3; _TD5 = j; _TD6 = arr; _TD7 = j + 1; _TD8 = _check_fat_subscript(_TD6,sizeof(void *),_TD7); _TD9 = (void * *)_TD8; _TD4[_TD5] = *_TD9; _TDA = arr; _TDB = _TDA.curr; _TDC = (void * *)_TDB; _TDD = j + 1; _TDC[_TDD] = temp; if (j != base_ofs) { goto _TL25; } goto _TL23; _TL25: j = j + -1; goto _TL24; _TL23: j = i; i = i + 1; goto _TL20; _TL1F: if (sp_ofs == 0) { goto _TL27; } sp_ofs = sp_ofs - 2; _TDE = sp; _TDF = sp_ofs; _TE0 = _check_known_subscript_notnull(_TDE,40U,sizeof(int),_TDF); _TE1 = (int *)_TE0; base_ofs = *_TE1; _TE2 = sp; _TE3 = sp_ofs + 1; _TE4 = _check_known_subscript_notnull(_TE2,40U,sizeof(int),_TE3); _TE5 = (int *)_TE4; limit_ofs = *_TE5; goto _TL28; _TL27: goto _TL7; _TL28: _TLA: goto _TL8; _TL7: ; }
void Cyc_set_nullable() { struct _fat_ptr _T0; int _T1; unsigned int _T2; char * _T3; unsigned int _T4; unsigned int _T5; struct _fat_ptr _T6; int _T7; struct _fat_ptr _T8; int _T9; short * _TA; unsigned int _TB; unsigned int _TC; struct _fat_ptr _TD; int _TE; short * _TF; unsigned int _T10; unsigned int _T11; struct _fat_ptr _T12; int _T13; struct Cyc_shorts_tag * * _T14; unsigned int _T15; unsigned int _T16; struct _fat_ptr _T17; int _T18; struct _fat_ptr _T19; int _T1A; int _T1B; struct Cyc_shorts_tag * _T1C; unsigned int _T1D; unsigned int _T1E; unsigned int _T1F; struct _fat_ptr _T20; unsigned char * _T21; short * _T22; short _T23; int _T24; struct _fat_ptr _T25; unsigned char * _T26; short * _T27; short _T28; int _T29; struct _fat_ptr _T2A; struct _fat_ptr * _T2B; struct _fat_ptr _T2C; unsigned char * _T2D; short * _T2E; short _T2F; short _T30; int _T31; unsigned char * _T32; short * _T33; short _T34; struct _fat_ptr _T35; int _T36; unsigned char * _T37; char * _T38; char _T39; int _T3A; struct _fat_ptr _T3B; int _T3C; unsigned char * _T3D; char * _T3E; unsigned int _T3F; unsigned char * _T40; char * _T41; struct _fat_ptr * _T42; struct _fat_ptr _T43; unsigned char * _T44; short * _T45; int _T46; struct _fat_ptr * _T47; struct _fat_ptr _T48; unsigned char * _T49; short * _T4A; short _T4B; struct _fat_ptr * _T4C; struct _fat_ptr _T4D; unsigned char * _T4E; short * _T4F; short _T50; char _T51; int _T52; struct _fat_ptr * _T53; struct _fat_ptr _T54; unsigned char * _T55; short * _T56; short _T57; struct _fat_ptr _T58; int _T59; unsigned char * _T5A; short * _T5B; struct _fat_ptr _T5C; unsigned char * _T5D; struct Cyc_shorts_tag * _T5E; struct _fat_ptr _T5F; int _T60; unsigned char * _T61; struct Cyc_shorts_tag * * _T62; struct _fat_ptr _T63; unsigned char * _T64; struct Cyc_shorts_tag * _T65; int _T66; struct _fat_ptr _T67; unsigned char * _T68; struct Cyc_shorts_tag * * _T69; int _T6A; struct _fat_ptr _T6B; unsigned char * _T6C; struct _fat_ptr * _T6D; struct _fat_ptr * _T6E; struct _fat_ptr _T6F; unsigned char * _T70; short * _T71; short _T72; struct _fat_ptr _T73; unsigned char * _T74; short * _T75; struct _fat_ptr _T76; unsigned char * _T77; short * _T78; struct _fat_ptr _T79; struct _fat_ptr * _T7A; struct _fat_ptr _T7B; unsigned char * _T7C; short * _T7D; short _T7E; int _T7F; unsigned char * _T80; struct Cyc_shorts_tag * * _T81; struct Cyc_shorts_tag * _T82; struct _fat_ptr _T83; unsigned char * _T84; unsigned int _T85; struct _fat_ptr _T86; unsigned char * _T87; struct Cyc_shorts_tag * _T88; short _T89; struct _fat_ptr _T8A; unsigned char * _T8B; struct Cyc_shorts_tag * _T8C; struct Cyc_shorts_tag * _T8D; struct _fat_ptr _T8E; int _T8F; unsigned char * _T90; short * _T91; short _T92; int _T93; struct _fat_ptr _T94; int _T95; unsigned char * _T96; short * _T97; short _T98; struct _fat_ptr _T99; int _T9A; unsigned char * _T9B; char * _T9C; char _T9D; int _T9E; struct _fat_ptr _T9F; int _TA0; unsigned char * _TA1; char * _TA2; unsigned int _TA3; unsigned char * _TA4; char * _TA5; struct _fat_ptr * _TA6; struct _fat_ptr _TA7; unsigned char * _TA8; short * _TA9; int _TAA; struct _fat_ptr _TAB; int _TAC; struct _fat_ptr r; struct _fat_ptr s1; struct _fat_ptr s2; register int ruleno; register int symbol; struct _fat_ptr p; struct _fat_ptr squeue; struct _fat_ptr rcount; struct _fat_ptr rsets; struct _fat_ptr relts; char any_tokens; struct _fat_ptr r1; _T1 = Cyc_nvars; _T2 = (unsigned int)_T1; { unsigned int _TAD = _T2 + 1U; _T4 = _check_times(_TAD,sizeof(char)); { char * _TAE = _cycalloc_atomic(_T4); { unsigned int _TAF = _TAD; unsigned int i; i = 0; _TL3: if (i < _TAF) { goto _TL1; }else { goto _TL2; } _TL1: _T5 = i; _TAE[_T5] = '\000'; i = i + 1; goto _TL3; _TL2: _TAE[_TAF] = 0; }_T3 = (char *)_TAE; }_T0 = _tag_fat(_T3,sizeof(char),_TAD); }{ struct _fat_ptr temp_string = _T0; _T6 = temp_string; _T7 = - Cyc_ntokens; Cyc_nullable = _fat_ptr_plus(_T6,sizeof(char),_T7); _T9 = Cyc_nvars; { unsigned int _TAD = (unsigned int)_T9; _TB = _check_times(_TAD,sizeof(short)); { short * _TAE = _cycalloc_atomic(_TB); { unsigned int _TAF = _TAD; unsigned int _new2_cyclone; _new2_cyclone = 0; _TL7: if (_new2_cyclone < _TAF) { goto _TL5; }else { goto _TL6; } _TL5: _TC = _new2_cyclone; _TAE[_TC] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TL7; _TL6: ; }_TA = (short *)_TAE; }_T8 = _tag_fat(_TA,sizeof(short),_TAD); }squeue = _T8; s2 = squeue; s1 = s2; _TE = Cyc_nrules + 1; { unsigned int _TAD = (unsigned int)_TE; _T10 = _check_times(_TAD,sizeof(short)); { short * _TAE = _cycalloc_atomic(_T10); { unsigned int _TAF = _TAD; unsigned int _new2_cyclone; _new2_cyclone = 0; _TLB: if (_new2_cyclone < _TAF) { goto _TL9; }else { goto _TLA; } _TL9: _T11 = _new2_cyclone; _TAE[_T11] = 0; _new2_cyclone = _new2_cyclone + 1; goto _TLB; _TLA: ; }_TF = (short *)_TAE; }_TD = _tag_fat(_TF,sizeof(short),_TAD); }rcount = _TD; _T13 = Cyc_nvars; { unsigned int _TAD = (unsigned int)_T13; _T15 = _check_times(_TAD,sizeof(struct Cyc_shorts_tag *)); { struct Cyc_shorts_tag * * _TAE = _cycalloc(_T15); { unsigned int _TAF = _TAD; unsigned int _new2p_cyclone; _new2p_cyclone = 0; _TLF: if (_new2p_cyclone < _TAF) { goto _TLD; }else { goto _TLE; } _TLD: _T16 = _new2p_cyclone; _TAE[_T16] = 0; _new2p_cyclone = _new2p_cyclone + 1; goto _TLF; _TLE: ; }_T14 = (struct Cyc_shorts_tag * *)_TAE; }_T12 = _tag_fat(_T14,sizeof(struct Cyc_shorts_tag *),_TAD); }_T17 = _T12; _T18 = - Cyc_ntokens; rsets = _fat_ptr_plus(_T17,sizeof(struct Cyc_shorts_tag *),_T18); _T1A = Cyc_nitems + Cyc_nvars; _T1B = _T1A + 1; { unsigned int _TAD = (unsigned int)_T1B; _T1D = _check_times(_TAD,sizeof(struct Cyc_shorts_tag)); { struct Cyc_shorts_tag * _TAE = _cycalloc(_T1D); { unsigned int _TAF = _TAD; unsigned int _temp_; _temp_ = 0; _TL13: if (_temp_ < _TAF) { goto _TL11; }else { goto _TL12; } _TL11: _T1E = _temp_; (_TAE[_T1E]).next = 0; _T1F = _temp_; (_TAE[_T1F]).value = 0; _temp_ = _temp_ + 1; goto _TL13; _TL12: ; }_T1C = (struct Cyc_shorts_tag *)_TAE; }_T19 = _tag_fat(_T1C,sizeof(struct Cyc_shorts_tag),_TAD); }relts = _T19; p = relts; r = Cyc_ritem; _TL14: _T20 = r; _T21 = _check_fat_subscript(_T20,sizeof(short),0U); _T22 = (short *)_T21; _T23 = *_T22; _T24 = (int)_T23; if (_T24) { goto _TL15; }else { goto _TL16; } _TL15: _T25 = r; _T26 = _T25.curr; _T27 = (short *)_T26; _T28 = *_T27; _T29 = (int)_T28; if (_T29 >= 0) { goto _TL17; } _T2A = Cyc_rlhs; _T2B = &r; _T2C = _fat_ptr_inplace_plus_post(_T2B,sizeof(short),1); _T2D = _T2C.curr; _T2E = (short *)_T2D; _T2F = *_T2E; _T30 = - _T2F; _T31 = (int)_T30; _T32 = _check_fat_subscript(_T2A,sizeof(short),_T31); _T33 = (short *)_T32; _T34 = *_T33; symbol = (int)_T34; if (symbol < 0) { goto _TL19; } _T35 = Cyc_nullable; _T36 = symbol; _T37 = _check_fat_subscript(_T35,sizeof(char),_T36); _T38 = (char *)_T37; _T39 = *_T38; _T3A = (int)_T39; if (_T3A) { goto _TL19; }else { goto _TL1B; } _TL1B: _T3B = Cyc_nullable; _T3C = symbol; { struct _fat_ptr _TAD = _fat_ptr_plus(_T3B,sizeof(char),_T3C); _T3D = _TAD.curr; _T3E = (char *)_T3D; { char _TAE = *_T3E; char _TAF = '\001'; _T3F = _get_fat_size(_TAD,sizeof(char)); if (_T3F != 1U) { goto _TL1C; } if (_TAE != 0) { goto _TL1C; } if (_TAF == 0) { goto _TL1C; } _throw_arraybounds(); goto _TL1D; _TL1C: _TL1D: _T40 = _TAD.curr; _T41 = (char *)_T40; *_T41 = _TAF; } }_T42 = &s2; _T43 = _fat_ptr_inplace_plus_post(_T42,sizeof(short),1); _T44 = _check_fat_subscript(_T43,sizeof(short),0U); _T45 = (short *)_T44; _T46 = symbol; *_T45 = (short)_T46; goto _TL1A; _TL19: _TL1A: goto _TL18; _TL17: r1 = r; any_tokens = '\000'; _T47 = &r; _T48 = _fat_ptr_inplace_plus_post(_T47,sizeof(short),1); _T49 = _T48.curr; _T4A = (short *)_T49; _T4B = *_T4A; symbol = (int)_T4B; _TL21: if (symbol > 0) { goto _TL1F; }else { goto _TL20; } _TL1F: if (symbol >= Cyc_ntokens) { goto _TL22; } any_tokens = '\001'; goto _TL23; _TL22: _TL23: _T4C = &r; _T4D = _fat_ptr_inplace_plus_post(_T4C,sizeof(short),1); _T4E = _check_fat_subscript(_T4D,sizeof(short),0U); _T4F = (short *)_T4E; _T50 = *_T4F; symbol = (int)_T50; goto _TL21; _TL20: _T51 = any_tokens; _T52 = (int)_T51; if (_T52) { goto _TL24; }else { goto _TL26; } _TL26: ruleno = - symbol; r = r1; _T53 = &r; _T54 = _fat_ptr_inplace_plus_post(_T53,sizeof(short),1); _T55 = _T54.curr; _T56 = (short *)_T55; _T57 = *_T56; symbol = (int)_T57; _TL2A: if (symbol > 0) { goto _TL28; }else { goto _TL29; } _TL28: _T58 = rcount; _T59 = ruleno; _T5A = _check_fat_subscript(_T58,sizeof(short),_T59); _T5B = (short *)_T5A; *_T5B = *_T5B + 1; _T5C = p; _T5D = _check_fat_subscript(_T5C,sizeof(struct Cyc_shorts_tag),0U); _T5E = (struct Cyc_shorts_tag *)_T5D; _T5F = rsets; _T60 = symbol; _T61 = _check_fat_subscript(_T5F,sizeof(struct Cyc_shorts_tag *),_T60); _T62 = (struct Cyc_shorts_tag * *)_T61; _T5E->next = *_T62; _T63 = p; _T64 = _T63.curr; _T65 = (struct Cyc_shorts_tag *)_T64; _T66 = ruleno; _T65->value = (short)_T66; _T67 = rsets; _T68 = _T67.curr; _T69 = (struct Cyc_shorts_tag * *)_T68; _T6A = symbol; _T6B = p; _T6C = _untag_fat_ptr(_T6B,sizeof(struct Cyc_shorts_tag),1U); _T69[_T6A] = (struct Cyc_shorts_tag *)_T6C; _T6D = &p; _fat_ptr_inplace_plus(_T6D,sizeof(struct Cyc_shorts_tag),1); _T6E = &r; _T6F = _fat_ptr_inplace_plus_post(_T6E,sizeof(short),1); _T70 = _check_fat_subscript(_T6F,sizeof(short),0U); _T71 = (short *)_T70; _T72 = *_T71; symbol = (int)_T72; goto _TL2A; _TL29: goto _TL25; _TL24: _TL25: _TL18: goto _TL14; _TL16: _TL2B: _T73 = s1; _T74 = _T73.curr; _T75 = (short *)_T74; _T76 = s2; _T77 = _T76.curr; _T78 = (short *)_T77; if (_T75 < _T78) { goto _TL2C; }else { goto _TL2D; } _TL2C: _T79 = rsets; _T7A = &s1; _T7B = _fat_ptr_inplace_plus_post(_T7A,sizeof(short),1); _T7C = _check_fat_subscript(_T7B,sizeof(short),0U); _T7D = (short *)_T7C; _T7E = *_T7D; _T7F = (int)_T7E; _T80 = _check_fat_subscript(_T79,sizeof(struct Cyc_shorts_tag *),_T7F); _T81 = (struct Cyc_shorts_tag * *)_T80; _T82 = *_T81; p = _tag_fat(_T82,sizeof(struct Cyc_shorts_tag),1U); _TL2E: _T83 = p; _T84 = _T83.curr; _T85 = (unsigned int)_T84; if (_T85) { goto _TL2F; }else { goto _TL30; } _TL2F: _T86 = p; _T87 = _check_fat_subscript(_T86,sizeof(struct Cyc_shorts_tag),0U); _T88 = (struct Cyc_shorts_tag *)_T87; _T89 = _T88->value; ruleno = (int)_T89; _T8A = p; _T8B = _T8A.curr; _T8C = (struct Cyc_shorts_tag *)_T8B; _T8D = _T8C->next; p = _tag_fat(_T8D,sizeof(struct Cyc_shorts_tag),1U); _T8E = rcount; _T8F = ruleno; _T90 = _check_fat_subscript(_T8E,sizeof(short),_T8F); _T91 = (short *)_T90; *_T91 = *_T91 + -1; _T92 = *_T91; _T93 = (int)_T92; if (_T93 != 0) { goto _TL31; } _T94 = Cyc_rlhs; _T95 = ruleno; _T96 = _check_fat_subscript(_T94,sizeof(short),_T95); _T97 = (short *)_T96; _T98 = *_T97; symbol = (int)_T98; if (symbol < 0) { goto _TL33; } _T99 = Cyc_nullable; _T9A = symbol; _T9B = _check_fat_subscript(_T99,sizeof(char),_T9A); _T9C = (char *)_T9B; _T9D = *_T9C; _T9E = (int)_T9D; if (_T9E) { goto _TL33; }else { goto _TL35; } _TL35: _T9F = Cyc_nullable; _TA0 = symbol; { struct _fat_ptr _TAD = _fat_ptr_plus(_T9F,sizeof(char),_TA0); _TA1 = _TAD.curr; _TA2 = (char *)_TA1; { char _TAE = *_TA2; char _TAF = '\001'; _TA3 = _get_fat_size(_TAD,sizeof(char)); if (_TA3 != 1U) { goto _TL36; } if (_TAE != 0) { goto _TL36; } if (_TAF == 0) { goto _TL36; } _throw_arraybounds(); goto _TL37; _TL36: _TL37: _TA4 = _TAD.curr; _TA5 = (char *)_TA4; *_TA5 = _TAF; } }_TA6 = &s2; _TA7 = _fat_ptr_inplace_plus_post(_TA6,sizeof(short),1); _TA8 = _check_fat_subscript(_TA7,sizeof(short),0U); _TA9 = (short *)_TA8; _TAA = symbol; *_TA9 = (short)_TAA; goto _TL34; _TL33: _TL34: goto _TL32; _TL31: _TL32: goto _TL2E; _TL30: goto _TL2B; _TL2D: squeue = _tag_fat(0,0,0); rcount = _tag_fat(0,0,0); _TAB = rsets; _TAC = Cyc_ntokens; rsets = _fat_ptr_plus(_TAB,sizeof(struct Cyc_shorts_tag *),_TAC); rsets = _tag_fat(0,0,0); relts = _tag_fat(0,0,0); } }
int Cyc_XP_div(int n,struct _fat_ptr q,struct _fat_ptr x,int m,struct _fat_ptr y,struct _fat_ptr r,struct _fat_ptr tmp){struct _fat_ptr _T0;unsigned char*_T1;unsigned char*_T2;unsigned char _T3;int _T4;struct _fat_ptr _T5;unsigned char*_T6;unsigned char*_T7;int _T8;struct _fat_ptr _T9;struct _fat_ptr _TA;struct _fat_ptr _TB;unsigned char*_TC;unsigned char*_TD;unsigned char _TE;int _TF;int _T10;struct _fat_ptr _T11;unsigned _T12;struct _fat_ptr _T13;struct _fat_ptr _T14;struct _fat_ptr _T15;int _T16;unsigned long _T17;struct _fat_ptr _T18;struct _fat_ptr _T19;int _T1A;unsigned long _T1B;struct _fat_ptr _T1C;struct _fat_ptr _T1D;int _T1E;unsigned _T1F;unsigned _T20;unsigned _T21;int _T22;int _T23;unsigned _T24;unsigned _T25;unsigned _T26;unsigned _T27;unsigned _T28;unsigned _T29;struct _fat_ptr _T2A;struct _fat_ptr _T2B;int _T2C;struct _fat_ptr _T2D;int _T2E;unsigned long _T2F;struct _fat_ptr _T30;int _T31;struct _fat_ptr _T32;int(*_T33)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T34)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T35;struct _fat_ptr _T36;struct _fat_ptr _T37;struct _fat_ptr _T38;int _T39;unsigned _T3A;unsigned _T3B;unsigned _T3C;int _T3D;int _T3E;unsigned _T3F;unsigned _T40;unsigned _T41;unsigned _T42;unsigned _T43;unsigned _T44;struct _fat_ptr _T45;int _T46;unsigned char*_T47;unsigned char*_T48;int _T49;int _T4A;int _T4B;int _T4C;int(*_T4D)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_T4E)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _T4F;struct _fat_ptr _T50;struct _fat_ptr _T51;int _T52;unsigned char*_T53;unsigned char*_T54;unsigned char _T55;int _T56;int _T57;int _T58;struct _fat_ptr _T59;unsigned char*_T5A;unsigned char*_T5B;int _T5C;unsigned char _T5D;int _T5E;int _T5F;struct _fat_ptr _T60;unsigned char*_T61;unsigned char*_T62;int _T63;unsigned char _T64;int _T65;int _T66;int _T67;int _T68;int _T69;struct _fat_ptr _T6A;int _T6B;unsigned char*_T6C;unsigned char*_T6D;unsigned char _T6E;int _T6F;int _T70;int _T71;int _T72;struct _fat_ptr _T73;int _T74;unsigned char*_T75;unsigned char*_T76;unsigned char _T77;int _T78;int _T79;unsigned long _T7A;int _T7B;int _T7C;int _T7D;struct _fat_ptr _T7E;int _T7F;unsigned char*_T80;unsigned char*_T81;int _T82;struct _fat_ptr _T83;int _T84;unsigned char*_T85;unsigned char*_T86;unsigned char _T87;int _T88;struct _fat_ptr _T89;int _T8A;unsigned char*_T8B;unsigned char*_T8C;unsigned char _T8D;int _T8E;struct _fat_ptr _T8F;int _T90;unsigned char*_T91;unsigned char*_T92;unsigned char _T93;int _T94;struct _fat_ptr _T95;int _T96;unsigned char*_T97;unsigned char*_T98;unsigned char _T99;int _T9A;struct _fat_ptr _T9B;unsigned char*_T9C;unsigned char*_T9D;int _T9E;int _T9F;struct _fat_ptr _TA0;struct _fat_ptr _TA1;int _TA2;int _TA3;struct _fat_ptr _TA4;int _TA5;unsigned char*_TA6;unsigned char*_TA7;int _TA8;int _TA9;int _TAA;int(*_TAB)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_TAC)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _TAD;struct _fat_ptr _TAE;int _TAF;struct _fat_ptr _TB0;int _TB1;struct _fat_ptr _TB2;struct _fat_ptr _TB3;int _TB4;struct _fat_ptr _TB5;struct _fat_ptr _TB6;int(*_TB7)(struct _fat_ptr,struct _fat_ptr,unsigned);void*(*_TB8)(struct _fat_ptr,struct _fat_ptr,unsigned);struct _fat_ptr _TB9;struct _fat_ptr _TBA;struct _fat_ptr _TBB;struct _fat_ptr _TBC;int _TBD;unsigned _TBE;unsigned _TBF;unsigned _TC0;int _TC1;int _TC2;unsigned _TC3;unsigned _TC4;unsigned _TC5;unsigned _TC6;unsigned _TC7;unsigned _TC8;int _TC9;struct _fat_ptr _TCA;int _TCB;unsigned char*_TCC;unsigned char*_TCD;struct _fat_ptr _TCE;int _TCF;unsigned char*_TD0;unsigned char*_TD1; int nx=n;int my=m; n=Cyc_XP_length(n,x); m=Cyc_XP_length(m,y); if(m!=1)goto _TL34;_T0=y;_T1=_check_fat_subscript(_T0,sizeof(unsigned char),0);_T2=(unsigned char*)_T1;_T3=*_T2;_T4=(int)_T3; if(_T4!=0)goto _TL36; return 0;_TL36: _T5=r;_T6=_check_fat_subscript(_T5,sizeof(unsigned char),0);_T7=(unsigned char*)_T6;_T8=nx;_T9=q;_TA=x;_TB=y;_TC=_TB.curr;_TD=(unsigned char*)_TC;_TE=_TD[0];_TF=(int)_TE;_T10= Cyc_XP_quotient(_T8,_T9,_TA,_TF);*_T7=(unsigned char)_T10;_T11=r;_T12= _get_fat_size(_T11,sizeof(unsigned char));if(_T12 <= 1U)goto _TL38;_T13=r;_T14=_T13;_T15= _fat_ptr_plus(_T14,sizeof(char),1);_T16=my - 1;_T17=(unsigned long)_T16;Cyc_memset(_T15,'\000',_T17);goto _TL39;_TL38: _TL39: goto _TL35; _TL34: if(m <= n)goto _TL3A;_T18=q;_T19=_T18;_T1A=nx;_T1B=(unsigned long)_T1A; Cyc_memset(_T19,'\000',_T1B);_T1C=r;_T1D=x;_T1E=n;_T1F=(unsigned)_T1E;_T20=sizeof(*((unsigned char*)x.curr));_T21=_T1F / _T20;_T23=n;_T24=(unsigned)_T23;_T25=sizeof(*((unsigned char*)x.curr));_T26=_T24 % _T25; if(_T26!=0U)goto _TL3C;_T22=0;goto _TL3D;_TL3C: _T22=1;_TL3D: _T27=(unsigned)_T22;_T28=_T21 + _T27;_T29=sizeof(*((unsigned char*)x.curr));Cyc__memcpy(_T1C,_T1D,_T28,_T29);_T2A=r;_T2B=_T2A;_T2C=n;_T2D= _fat_ptr_plus(_T2B,sizeof(char),_T2C);_T2E=my - n;_T2F=(unsigned long)_T2E;Cyc_memset(_T2D,'\000',_T2F);goto _TL3B; # 128 _TL3A:{int k; struct _fat_ptr rem=tmp;_T30=tmp;_T31=n;_T32=_fat_ptr_plus(_T30,sizeof(unsigned char),_T31);{struct _fat_ptr dq=_fat_ptr_plus(_T32,sizeof(unsigned char),1); if(2 > m)goto _TL3E;if(m > n)goto _TL3E;goto _TL3F;_TL3E: _T34=Cyc___assert_fail;{int(*_TD2)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T34;_T33=_TD2;}_T35=_tag_fat("2 <= m && m <= n",sizeof(char),17U);_T36=_tag_fat("xp.cyc",sizeof(char),7U);_T33(_T35,_T36,130U);_TL3F: _T37=rem;_T38=x;_T39=n;_T3A=(unsigned)_T39;_T3B=sizeof(*((unsigned char*)x.curr));_T3C=_T3A / _T3B;_T3E=n;_T3F=(unsigned)_T3E;_T40=sizeof(*((unsigned char*)x.curr));_T41=_T3F % _T40; if(_T41!=0U)goto _TL40;_T3D=0;goto _TL41;_TL40: _T3D=1;_TL41: _T42=(unsigned)_T3D;_T43=_T3C + _T42;_T44=sizeof(*((unsigned char*)x.curr));Cyc__memcpy(_T37,_T38,_T43,_T44);_T45=rem;_T46=n;_T47=_check_fat_subscript(_T45,sizeof(unsigned char),_T46);_T48=(unsigned char*)_T47; *_T48='\000'; k=n - m;_TL45: if(k >= 0)goto _TL43;else{goto _TL44;} _TL43:{int qk;{ # 136 int i; if(2 > m)goto _TL46;_T49=m;_T4A=k + m;if(_T49 > _T4A)goto _TL46;_T4B=k + m;_T4C=n;if(_T4B > _T4C)goto _TL46;goto _TL47;_TL46: _T4E=Cyc___assert_fail;{int(*_TD2)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_T4E;_T4D=_TD2;}_T4F=_tag_fat("2 <= m && m <= k+m && k+m <= n",sizeof(char),31U);_T50=_tag_fat("xp.cyc",sizeof(char),7U);_T4D(_T4F,_T50,137U);_TL47:{ # 139 int km=k + m;_T51=y;_T52=m - 1;_T53=_check_fat_subscript(_T51,sizeof(unsigned char),_T52);_T54=(unsigned char*)_T53;_T55=*_T54;_T56=(int)_T55;_T57=1 << 8;_T58=_T56 * _T57;_T59=y;_T5A=_T59.curr;_T5B=(unsigned char*)_T5A;_T5C=m - 2;_T5D=_T5B[_T5C];_T5E=(int)_T5D;_T5F=_T58 + _T5E;{ unsigned long y2=(unsigned long)_T5F;_T60=rem;_T61=_T60.curr;_T62=(unsigned char*)_T61;_T63=km;_T64=_T62[_T63];_T65=(int)_T64;_T66=1 << 8;_T67=1 << 8;_T68=_T66 * _T67;_T69=_T65 * _T68;_T6A=rem;_T6B=km - 1;_T6C=_check_fat_subscript(_T6A,sizeof(unsigned char),_T6B);_T6D=(unsigned char*)_T6C;_T6E=*_T6D;_T6F=(int)_T6E;_T70=1 << 8;_T71=_T6F * _T70;_T72=_T69 + _T71;_T73=rem;_T74=km - 2;_T75=_check_fat_subscript(_T73,sizeof(unsigned char),_T74);_T76=(unsigned char*)_T75;_T77=*_T76;_T78=(int)_T77;_T79=_T72 + _T78;{ unsigned long r3=(unsigned long)_T79;_T7A=r3 / y2; # 143 qk=(int)_T7A;_T7B=qk;_T7C=1 << 8; if(_T7B < _T7C)goto _TL48;_T7D=1 << 8; qk=_T7D - 1;goto _TL49;_TL48: _TL49:;}}}_T7E=dq;_T7F=m;_T80=_check_fat_subscript(_T7E,sizeof(unsigned char),_T7F);_T81=(unsigned char*)_T80;_T82= # 147 Cyc_XP_product(m,dq,y,qk);*_T81=(unsigned char)_T82; i=m;_TL4D: if(i > 0)goto _TL4B;else{goto _TL4C;} _TL4B: _T83=rem;_T84=i + k;_T85=_check_fat_subscript(_T83,sizeof(unsigned char),_T84);_T86=(unsigned char*)_T85;_T87=*_T86;_T88=(int)_T87;_T89=dq;_T8A=i;_T8B=_check_fat_subscript(_T89,sizeof(unsigned char),_T8A);_T8C=(unsigned char*)_T8B;_T8D=*_T8C;_T8E=(int)_T8D;if(_T88==_T8E)goto _TL4E;goto _TL4C;_TL4E: # 148 i=i + -1;goto _TL4D;_TL4C: _T8F=rem;_T90=i + k;_T91=_check_fat_subscript(_T8F,sizeof(unsigned char),_T90);_T92=(unsigned char*)_T91;_T93=*_T92;_T94=(int)_T93;_T95=dq;_T96=i;_T97=_check_fat_subscript(_T95,sizeof(unsigned char),_T96);_T98=(unsigned char*)_T97;_T99=*_T98;_T9A=(int)_T99; # 151 if(_T94 >= _T9A)goto _TL50;_T9B=dq;_T9C=_T9B.curr;_T9D=(unsigned char*)_T9C;_T9E=m;_T9F=m;_TA0=dq;_TA1=y; qk=qk + -1;_TA2=qk;_TA3=Cyc_XP_product(_T9F,_TA0,_TA1,_TA2);_T9D[_T9E]=(unsigned char)_TA3;goto _TL51;_TL50: _TL51:;}_TA4=q;_TA5=k;_TA6=_check_fat_subscript(_TA4,sizeof(unsigned char),_TA5);_TA7=(unsigned char*)_TA6;_TA8=qk; # 154 *_TA7=(unsigned char)_TA8;{ # 156 int borrow; if(0 > k)goto _TL52;_TA9=k;_TAA=k + m;if(_TA9 > _TAA)goto _TL52;goto _TL53;_TL52: _TAC=Cyc___assert_fail;{int(*_TD2)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_TAC;_TAB=_TD2;}_TAD=_tag_fat("0 <= k && k <= k+m",sizeof(char),19U);_TAE=_tag_fat("xp.cyc",sizeof(char),7U);_TAB(_TAD,_TAE,157U);_TL53: _TAF=m + 1;_TB0=rem;_TB1=k;_TB2= _fat_ptr_plus(_TB0,sizeof(unsigned char),_TB1);_TB3=rem;_TB4=k;_TB5=_fat_ptr_plus(_TB3,sizeof(unsigned char),_TB4);_TB6=dq;borrow=Cyc_XP_sub(_TAF,_TB2,_TB5,_TB6,0); if(borrow!=0)goto _TL54;goto _TL55;_TL54: _TB8=Cyc___assert_fail;{int(*_TD2)(struct _fat_ptr,struct _fat_ptr,unsigned)=(int(*)(struct _fat_ptr,struct _fat_ptr,unsigned))_TB8;_TB7=_TD2;}_TB9=_tag_fat("borrow == 0",sizeof(char),12U);_TBA=_tag_fat("xp.cyc",sizeof(char),7U);_TB7(_TB9,_TBA,159U);_TL55:;}} # 133 k=k + -1;goto _TL45;_TL44: _TBB=r;_TBC=rem;_TBD=m;_TBE=(unsigned)_TBD;_TBF=sizeof(*((unsigned char*)rem.curr));_TC0=_TBE / _TBF;_TC2=m;_TC3=(unsigned)_TC2;_TC4=sizeof(*((unsigned char*)rem.curr));_TC5=_TC3 % _TC4; # 162 if(_TC5!=0U)goto _TL56;_TC1=0;goto _TL57;_TL56: _TC1=1;_TL57: _TC6=(unsigned)_TC1;_TC7=_TC0 + _TC6;_TC8=sizeof(*((unsigned char*)rem.curr));Cyc__memcpy(_TBB,_TBC,_TC7,_TC8);{ # 164 int i;_TC9=n - m; i=_TC9 + 1;_TL5B: if(i < nx)goto _TL59;else{goto _TL5A;} _TL59: _TCA=q;_TCB=i;_TCC=_check_fat_subscript(_TCA,sizeof(unsigned char),_TCB);_TCD=(unsigned char*)_TCC;*_TCD='\000'; # 165 i=i + 1;goto _TL5B;_TL5A: # 167 i=m;_TL5F: if(i < my)goto _TL5D;else{goto _TL5E;} _TL5D: _TCE=r;_TCF=i;_TD0=_check_fat_subscript(_TCE,sizeof(unsigned char),_TCF);_TD1=(unsigned char*)_TD0;*_TD1='\000'; # 167 i=i + 1;goto _TL5F;_TL5E:;}}}_TL3B: _TL35: # 171 return 1;}
struct _fat_ptr Cyc_Filename_gnuify(struct _fat_ptr filename) { int _T0; struct _fat_ptr _T1; unsigned int _T2; struct _fat_ptr _T3; unsigned char * _T4; const char * _T5; const char * _T6; char _T7; int _T8; long _T9; struct _fat_ptr _TA; unsigned int _TB; unsigned int _TC; struct _fat_ptr _TD; int _TE; unsigned int _TF; char * _T10; unsigned int _T11; unsigned int _T12; struct _fat_ptr _T13; unsigned char * _T14; char * _T15; char _T16; struct _fat_ptr _T17; unsigned char * _T18; char * _T19; unsigned int _T1A; unsigned char * _T1B; char * _T1C; unsigned int _T1D; unsigned char * _T1E; char * _T1F; struct _fat_ptr _T20; unsigned char * _T21; char * _T22; struct _fat_ptr _T23; unsigned char * _T24; const char * _T25; const char * _T26; unsigned int _T27; unsigned char * _T28; char * _T29; struct _fat_ptr _T2A; unsigned int _T2B; struct _fat_ptr _T2C; int _T2D; unsigned int _T2E; char * _T2F; unsigned int _T30; unsigned int _T31; struct _fat_ptr _T32; int _T33; int _T34; unsigned char * _T35; const char * _T36; struct _fat_ptr _T37; int _T38; int _T39; unsigned char * _T3A; char * _T3B; char _T3C; char _T3D; int _T3E; unsigned int _T3F; unsigned char * _T40; char * _T41; struct _fat_ptr _T42; _T1 = filename; _T2 = _get_fat_size(_T1,sizeof(char)); if (_T2 <= 1U) { goto _TL18; } _T3 = filename; _T4 = _T3.curr; _T5 = (const char *)_T4; _T6 = _check_null(_T5); _T7 = _T6[1]; _T8 = (int)_T7; _T0 = _T8 == 58; goto _TL19; _TL18: _T0 = 0; _TL19: { long has_drive_name = _T0; int i; int j; struct _fat_ptr ans; int ans_sz; _T9 = has_drive_name; if (! _T9) { goto _TL1A; } _TA = filename; _TB = _get_fat_size(_TA,sizeof(char)); _TC = _TB + 1U; ans_sz = (int)_TC; _TE = ans_sz; _TF = (unsigned int)_TE; { unsigned int _T43 = _TF + 1U; _T11 = _check_times(_T43,sizeof(char)); { char * _T44 = _cycalloc_atomic(_T11); { unsigned int _T45 = _T43; unsigned int k; k = 0; _TL1F: if (k < _T45) { goto _TL1D; }else { goto _TL1E; } _TL1D: _T12 = k; _T44[_T12] = '\000'; k = k + 1; goto _TL1F; _TL1E: _T44[_T45] = 0; }_T10 = (char *)_T44; }_TD = _tag_fat(_T10,sizeof(char),_T43); }ans = _TD; _T13 = ans; { struct _fat_ptr _T43 = _fat_ptr_plus(_T13,sizeof(char),0); _T14 = _T43.curr; _T15 = (char *)_T14; { char _T44 = *_T15; _T17 = ans; { struct _fat_ptr _T45 = _fat_ptr_plus(_T17,sizeof(char),1); _T18 = _check_fat_subscript(_T45,sizeof(char),0U); _T19 = (char *)_T18; { char _T46 = *_T19; char _T47 = '/'; _T1A = _get_fat_size(_T45,sizeof(char)); if (_T1A != 1U) { goto _TL20; } if (_T46 != 0) { goto _TL20; } if (_T47 == 0) { goto _TL20; } _throw_arraybounds(); goto _TL21; _TL20: _TL21: _T1B = _T45.curr; _T1C = (char *)_T1B; *_T1C = _T47; _T16 = *_T1C; } }{ char _T45 = _T16; _T1D = _get_fat_size(_T43,sizeof(char)); if (_T1D != 1U) { goto _TL22; } if (_T44 != 0) { goto _TL22; } if (_T45 == 0) { goto _TL22; } _throw_arraybounds(); goto _TL23; _TL22: _TL23: _T1E = _T43.curr; _T1F = (char *)_T1E; *_T1F = _T45; } } }_T20 = ans; { struct _fat_ptr _T43 = _fat_ptr_plus(_T20,sizeof(char),2); _T21 = _check_fat_subscript(_T43,sizeof(char),0U); _T22 = (char *)_T21; { char _T44 = *_T22; _T23 = filename; _T24 = _T23.curr; _T25 = (const char *)_T24; _T26 = _check_null(_T25); { char _T45 = _T26[0]; _T27 = _get_fat_size(_T43,sizeof(char)); if (_T27 != 1U) { goto _TL24; } if (_T44 != 0) { goto _TL24; } if (_T45 == 0) { goto _TL24; } _throw_arraybounds(); goto _TL25; _TL24: _TL25: _T28 = _T43.curr; _T29 = (char *)_T28; *_T29 = _T45; } } }i = 3; j = 2; goto _TL1B; _TL1A: _T2A = filename; _T2B = _get_fat_size(_T2A,sizeof(char)); ans_sz = (int)_T2B; _T2D = ans_sz; _T2E = (unsigned int)_T2D; { unsigned int _T43 = _T2E + 1U; _T30 = _check_times(_T43,sizeof(char)); { char * _T44 = _cycalloc_atomic(_T30); { unsigned int _T45 = _T43; unsigned int k; k = 0; _TL29: if (k < _T45) { goto _TL27; }else { goto _TL28; } _TL27: _T31 = k; _T44[_T31] = '\000'; k = k + 1; goto _TL29; _TL28: _T44[_T45] = 0; }_T2F = (char *)_T44; }_T2C = _tag_fat(_T2F,sizeof(char),_T43); }ans = _T2C; i = 0; j = 0; _TL1B: _TL2A: if (i < ans_sz) { goto _TL2B; }else { goto _TL2C; } _TL2B: _T32 = filename; _T33 = j; j = _T33 + 1; _T34 = _T33; _T35 = _check_fat_subscript(_T32,sizeof(char),_T34); _T36 = (const char *)_T35; { char c = *_T36; _T37 = ans; _T38 = i; i = _T38 + 1; _T39 = _T38; { struct _fat_ptr _T43 = _fat_ptr_plus(_T37,sizeof(char),_T39); _T3A = _check_fat_subscript(_T43,sizeof(char),0U); _T3B = (char *)_T3A; { char _T44 = *_T3B; _T3D = c; _T3E = (int)_T3D; if (_T3E != 92) { goto _TL2D; } _T3C = '/'; goto _TL2E; _TL2D: _T3C = c; _TL2E: { char _T45 = _T3C; _T3F = _get_fat_size(_T43,sizeof(char)); if (_T3F != 1U) { goto _TL2F; } if (_T44 != 0) { goto _TL2F; } if (_T45 == 0) { goto _TL2F; } _throw_arraybounds(); goto _TL30; _TL2F: _TL30: _T40 = _T43.curr; _T41 = (char *)_T40; *_T41 = _T45; } } } }goto _TL2A; _TL2C: _T42 = ans; return _T42; } }
void Cyc_RTC(struct _fat_ptr R,int n) { int _T0; int _T1; int _T2; unsigned int _T3; unsigned int _T4; struct _fat_ptr _T5; int _T6; unsigned int _T7; unsigned int _T8; int _T9; struct _fat_ptr _TA; unsigned char * _TB; unsigned int * _TC; struct _fat_ptr _TD; unsigned char * _TE; unsigned int * _TF; struct _fat_ptr _T10; unsigned char * _T11; unsigned int * _T12; unsigned int _T13; struct _fat_ptr * _T14; struct _fat_ptr _T15; int _T16; unsigned int _T17; unsigned int _T18; int _T19; register int rowsize; register unsigned int mask; struct _fat_ptr rp; struct _fat_ptr relend; Cyc_TC(R,n); _T0 = n + 32; _T1 = _T0 - 1; _T2 = _T1 / 32; _T3 = (unsigned int)_T2; _T4 = _T3 * sizeof(unsigned int); rowsize = (int)_T4; _T5 = R; _T6 = n * rowsize; _T7 = (unsigned int)_T6; _T8 = _T7 / sizeof(unsigned int); _T9 = (int)_T8; relend = _fat_ptr_plus(_T5,sizeof(unsigned int),_T9); mask = 1U; rp = R; _TLD: _TA = rp; _TB = _TA.curr; _TC = (unsigned int *)_TB; _TD = relend; _TE = _TD.curr; _TF = (unsigned int *)_TE; if (_TC < _TF) { goto _TLE; }else { goto _TLF; } _TLE: _T10 = rp; _T11 = _check_fat_subscript(_T10,sizeof(unsigned int),0U); _T12 = (unsigned int *)_T11; _T13 = mask; *_T12 = *_T12 | _T13; mask = mask << 1U; if (mask != 0U) { goto _TL10; } mask = 1U; _T14 = &rp; _fat_ptr_inplace_plus(_T14,sizeof(unsigned int),1); goto _TL11; _TL10: _TL11: _T15 = rp; _T16 = rowsize; _T17 = (unsigned int)_T16; _T18 = _T17 / sizeof(unsigned int); _T19 = (int)_T18; rp = _fat_ptr_plus(_T15,sizeof(unsigned int),_T19); goto _TLD; _TLF: ; }
void Cyc_TC(struct _fat_ptr R,int n) { int _T0; int _T1; int _T2; unsigned int _T3; unsigned int _T4; struct _fat_ptr _T5; int _T6; unsigned int _T7; unsigned int _T8; int _T9; struct _fat_ptr _TA; unsigned char * _TB; unsigned int * _TC; struct _fat_ptr _TD; unsigned char * _TE; unsigned int * _TF; struct _fat_ptr _T10; unsigned char * _T11; unsigned int * _T12; struct _fat_ptr _T13; unsigned char * _T14; unsigned int * _T15; struct _fat_ptr _T16; unsigned char * _T17; unsigned int * _T18; unsigned int _T19; unsigned int _T1A; unsigned int _T1B; int _T1C; struct _fat_ptr _T1D; int _T1E; int _T1F; int _T20; struct _fat_ptr _T21; unsigned char * _T22; unsigned int * _T23; struct _fat_ptr _T24; unsigned char * _T25; unsigned int * _T26; struct _fat_ptr * _T27; struct _fat_ptr _T28; unsigned char * _T29; unsigned int * _T2A; struct _fat_ptr * _T2B; struct _fat_ptr _T2C; unsigned char * _T2D; unsigned int * _T2E; unsigned int _T2F; struct _fat_ptr _T30; int _T31; unsigned int _T32; unsigned int _T33; int _T34; struct _fat_ptr _T35; int _T36; unsigned int _T37; unsigned int _T38; int _T39; struct _fat_ptr * _T3A; struct _fat_ptr _T3B; int _T3C; unsigned int _T3D; unsigned int _T3E; int _T3F; register int rowsize; register unsigned int mask; struct _fat_ptr rowj; struct _fat_ptr rp; struct _fat_ptr rend; struct _fat_ptr ccol; struct _fat_ptr relend; struct _fat_ptr cword; struct _fat_ptr rowi; _T0 = n + 32; _T1 = _T0 - 1; _T2 = _T1 / 32; _T3 = (unsigned int)_T2; _T4 = _T3 * sizeof(unsigned int); rowsize = (int)_T4; _T5 = R; _T6 = n * rowsize; _T7 = (unsigned int)_T6; _T8 = _T7 / sizeof(unsigned int); _T9 = (int)_T8; relend = _fat_ptr_plus(_T5,sizeof(unsigned int),_T9); cword = R; mask = 1U; rowi = R; _TL0: _TA = rowi; _TB = _TA.curr; _TC = (unsigned int *)_TB; _TD = relend; _TE = _TD.curr; _TF = (unsigned int *)_TE; if (_TC < _TF) { goto _TL1; }else { goto _TL2; } _TL1: ccol = cword; rowj = R; _TL3: _T10 = rowj; _T11 = _T10.curr; _T12 = (unsigned int *)_T11; _T13 = relend; _T14 = _T13.curr; _T15 = (unsigned int *)_T14; if (_T12 < _T15) { goto _TL4; }else { goto _TL5; } _TL4: _T16 = ccol; _T17 = _check_fat_subscript(_T16,sizeof(unsigned int),0U); _T18 = (unsigned int *)_T17; _T19 = *_T18; _T1A = mask; _T1B = _T19 & _T1A; _T1C = (int)_T1B; if (! _T1C) { goto _TL6; } rp = rowi; _T1D = rowj; _T1E = rowsize; _T1F = (int)sizeof(unsigned int); _T20 = _T1E / _T1F; rend = _fat_ptr_plus(_T1D,sizeof(unsigned int),_T20); _TL8: _T21 = rowj; _T22 = _T21.curr; _T23 = (unsigned int *)_T22; _T24 = rend; _T25 = _T24.curr; _T26 = (unsigned int *)_T25; if (_T23 < _T26) { goto _TL9; }else { goto _TLA; } _TL9: _T27 = &rowj; _T28 = _fat_ptr_inplace_plus_post(_T27,sizeof(unsigned int),1); _T29 = _check_fat_subscript(_T28,sizeof(unsigned int),0U); _T2A = (unsigned int *)_T29; _T2B = &rp; _T2C = _fat_ptr_inplace_plus_post(_T2B,sizeof(unsigned int),1); _T2D = _check_fat_subscript(_T2C,sizeof(unsigned int),0U); _T2E = (unsigned int *)_T2D; _T2F = *_T2E; *_T2A = *_T2A | _T2F; goto _TL8; _TLA: goto _TL7; _TL6: _T30 = rowj; _T31 = rowsize; _T32 = (unsigned int)_T31; _T33 = _T32 / sizeof(unsigned int); _T34 = (int)_T33; rowj = _fat_ptr_plus(_T30,sizeof(unsigned int),_T34); _TL7: _T35 = ccol; _T36 = rowsize; _T37 = (unsigned int)_T36; _T38 = _T37 / sizeof(unsigned int); _T39 = (int)_T38; ccol = _fat_ptr_plus(_T35,sizeof(unsigned int),_T39); goto _TL3; _TL5: mask = mask << 1U; if (mask != 0U) { goto _TLB; } mask = 1U; _T3A = &cword; _fat_ptr_inplace_plus(_T3A,sizeof(unsigned int),1); goto _TLC; _TLB: _TLC: _T3B = rowi; _T3C = rowsize; _T3D = (unsigned int)_T3C; _T3E = _T3D / sizeof(unsigned int); _T3F = (int)_T3E; rowi = _fat_ptr_plus(_T3B,sizeof(unsigned int),_T3F); goto _TL0; _TL2: ; }