static int Cyc_RenameTemps_rename_visit_f2(struct Cyc_RenameTemps_Env*env,struct Cyc_Absyn_Stmt*s){struct Cyc_Absyn_Stmt*_T0;int*_T1;unsigned _T2;struct Cyc_RenameTemps_Env*_T3;struct Cyc_Absyn_Decl*_T4;int*_T5;unsigned _T6;struct Cyc_Absyn_Vardecl*_T7;struct _tuple0*_T8;int _T9;struct Cyc_RenameTemps_Env*_TA;int _TB;int _TC;struct Cyc_RenameTemps_Env*_TD;struct Cyc_Dict_Dict(*_TE)(struct Cyc_Dict_Dict,struct _tuple0*,void*);struct Cyc_Dict_Dict(*_TF)(struct Cyc_Dict_Dict,void*,void*);struct Cyc_RenameTemps_Env*_T10;struct Cyc_Dict_Dict _T11;struct Cyc_Absyn_Vardecl*_T12;struct _tuple0*_T13;void*_T14;struct Cyc_Absyn_Vardecl*_T15;struct Cyc_Absyn_Decl*_T16;struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T17;struct Cyc_Absyn_Vardecl*_T18;struct Cyc_Absyn_Vardecl*_T19;struct Cyc_Absyn_Exp*_T1A;unsigned _T1B;struct Cyc_RenameTemps_Env*_T1C;struct Cyc_Absyn_Vardecl*_T1D;struct Cyc_Absyn_Exp*_T1E;struct Cyc_RenameTemps_Env*_T1F;struct Cyc_Absyn_Fndecl*_T20;struct Cyc_Absyn_Stmt*_T21;struct Cyc_Warn_String_Warn_Warg_struct _T22;int(*_T23)(struct _fat_ptr);void*(*_T24)(struct _fat_ptr);struct _fat_ptr _T25;struct Cyc_Absyn_Stmt*_T26;int*_T27;int _T28;void(*_T29)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*);void(*_T2A)(int(*)(void*,struct Cyc_Absyn_Exp*),int(*)(void*,struct Cyc_Absyn_Stmt*),void*,struct Cyc_Absyn_Stmt*);struct Cyc_RenameTemps_Env*_T2B;struct Cyc_Absyn_Stmt*_T2C;struct Cyc_RenameTemps_Env*_T2D;struct Cyc_Absyn_Stmt*_T2E;int*_T2F;unsigned _T30;_T0=s;{ void*_T31=_T0->r;struct Cyc_Absyn_Stmt*_T32;struct Cyc_Absyn_Stmt*_T33;struct Cyc_Absyn_Decl*_T34;_T1=(int*)_T31;_T2=*_T1;switch(_T2){case 12:{struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*_T35=(struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*)_T31;_T34=_T35->f1;_T33=_T35->f2;}{struct Cyc_Absyn_Decl*d=_T34;struct Cyc_Absyn_Stmt*s1=_T33;_T3=env;{ # 80 struct Cyc_RenameTemps_Env old_env=*_T3; _TL10: if(1)goto _TL11;else{goto _TL12;} _TL11: _T4=d;{void*_T35=_T4->r;struct Cyc_Absyn_Fndecl*_T36;struct Cyc_Absyn_Vardecl*_T37;_T5=(int*)_T35;_T6=*_T5;switch(_T6){case 0:{struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T38=(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*)_T35;_T37=_T38->f1;}{struct Cyc_Absyn_Vardecl*vd=_T37;_T7=vd;_T8=_T7->name;_T9= # 84 Cyc_RenameTemps_is_temp_var(_T8);if(!_T9)goto _TL14;_TA=env;_TB=_TA->next_num; _TA->next_num=_TB + 1;_TC=_TB;{void*v=Cyc_RenameTemps_local_temp_var(_TC);_TD=env;_TF=Cyc_Dict_insert;{ struct Cyc_Dict_Dict(*_T38)(struct Cyc_Dict_Dict,struct _tuple0*,void*)=(struct Cyc_Dict_Dict(*)(struct Cyc_Dict_Dict,struct _tuple0*,void*))_TF;_TE=_T38;}_T10=env;_T11=_T10->d;_T12=vd;_T13=_T12->name;_T14=v;_TD->d=_TE(_T11,_T13,_T14);_T15=vd;{ struct Cyc_Absyn_Vardecl vd2=*_T15; vd2.name=Cyc_Absyn_binding2qvar(v);_T16=d;{struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*_T38=_cycalloc(sizeof(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct));_T38->tag=0;{struct Cyc_Absyn_Vardecl*_T39=_cycalloc(sizeof(struct Cyc_Absyn_Vardecl)); *_T39=vd2;_T18=(struct Cyc_Absyn_Vardecl*)_T39;}_T38->f1=_T18;_T17=(struct Cyc_Absyn_Var_d_Absyn_Raw_decl_struct*)_T38;}_T16->r=(void*)_T17;}}goto _TL15;_TL14: _TL15: _T19=vd;_T1A=_T19->initializer;_T1B=(unsigned)_T1A; # 92 if(!_T1B)goto _TL16;_T1C=env;_T1D=vd;_T1E=_T1D->initializer; Cyc_RenameTemps_rename_exp(_T1C,_T1E);goto _TL17;_TL16: _TL17: goto _LL7;}case 1:{struct Cyc_Absyn_Fn_d_Absyn_Raw_decl_struct*_T38=(struct Cyc_Absyn_Fn_d_Absyn_Raw_decl_struct*)_T35;_T36=_T38->f1;}{struct Cyc_Absyn_Fndecl*fd=_T36;_T1F=env;_T20=fd;_T21=_T20->body; # 97 Cyc_RenameTemps_rename_stmt(_T1F,_T21);goto _LL7;}default:{struct Cyc_Warn_String_Warn_Warg_struct _T38;_T38.tag=0; _T38.f1=_tag_fat("RenameTemps: local decl not a var or function",sizeof(char),46U);_T22=_T38;}{struct Cyc_Warn_String_Warn_Warg_struct _T38=_T22;void*_T39[1];_T39[0]=& _T38;_T24=Cyc_Warn_impos2;{int(*_T3A)(struct _fat_ptr)=(int(*)(struct _fat_ptr))_T24;_T23=_T3A;}_T25=_tag_fat(_T39,sizeof(void*),1);_T23(_T25);}}_LL7:;}_T26=s1;{ # 100 void*_T35=_T26->r;struct Cyc_Absyn_Stmt*_T36;struct Cyc_Absyn_Decl*_T37;_T27=(int*)_T35;_T28=*_T27;if(_T28!=12)goto _TL18;{struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Decl_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f1;_T36=_T38->f2;}{struct Cyc_Absyn_Decl*d2=_T37;struct Cyc_Absyn_Stmt*s2=_T36; d=d2;s1=s2;goto _TL10;}_TL18: _T2A=Cyc_Absyn_visit_stmt;{ # 103 void(*_T38)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*)=(void(*)(int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Exp*),int(*)(struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*),struct Cyc_RenameTemps_Env*,struct Cyc_Absyn_Stmt*))_T2A;_T29=_T38;}_T2B=env;_T2C=s1;_T29(Cyc_RenameTemps_rename_visit_f1,Cyc_RenameTemps_rename_visit_f2,_T2B,_T2C);_T2D=env; *_T2D=old_env; return 0;;}goto _TL10;_TL12:;}}case 2:{struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*_T35=(struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*)_T31;_T33=_T35->f1;_T32=_T35->f2;}{struct Cyc_Absyn_Stmt*s1=_T33;struct Cyc_Absyn_Stmt*s2=_T32; # 109 _TL1A: if(1)goto _TL1B;else{goto _TL1C;} _TL1B: Cyc_RenameTemps_rename_stmt(env,s1); LOOP2: _T2E=s2;{ void*_T35=_T2E->r;struct Cyc_Absyn_Stmt*_T36;struct Cyc_Absyn_Stmt*_T37;_T2F=(int*)_T35;_T30=*_T2F;switch(_T30){case 2:{struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Seq_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f1;_T36=_T38->f2;}{struct Cyc_Absyn_Stmt*s3=_T37;struct Cyc_Absyn_Stmt*s4=_T36; # 114 s1=s3;s2=s4;goto _TL1A;}case 13:{struct Cyc_Absyn_Label_s_Absyn_Raw_stmt_struct*_T38=(struct Cyc_Absyn_Label_s_Absyn_Raw_stmt_struct*)_T35;_T37=_T38->f2;}{struct Cyc_Absyn_Stmt*s3=_T37; # 116 s2=s3;goto LOOP2;}default: Cyc_RenameTemps_rename_stmt(env,s2);return 0;};}goto _TL1A;_TL1C:;}default: # 120 return 1;};}}
void Cyc_Xarray_add(struct Cyc_Xarray_Xarray * xarr,void * a) { struct Cyc_Xarray_Xarray * _T0; int _T1; unsigned int _T2; struct Cyc_Xarray_Xarray * _T3; struct _fat_ptr _T4; unsigned int _T5; struct Cyc_Xarray_Xarray * _T6; int _T7; struct Cyc_Xarray_Xarray * _T8; void * * _T9; void * * _TA; unsigned int _TB; unsigned int _TC; unsigned int _TD; struct _fat_ptr _TE; struct Cyc_Xarray_Xarray * _TF; int _T10; int _T11; void * * _T12; unsigned int _T13; unsigned int _T14; unsigned int _T15; struct Cyc_Xarray_Xarray * _T16; struct _fat_ptr _T17; unsigned char * _T18; void * * _T19; void * * _T1A; int _T1B; struct Cyc_Xarray_Xarray * _T1C; int _T1D; struct _fat_ptr _T1E; int _T1F; unsigned char * _T20; void * * _T21; struct Cyc_Xarray_Xarray * _T22; struct _fat_ptr _T23; int _T24; unsigned char * _T25; void * * _T26; struct Cyc_Xarray_Xarray * _T27; struct Cyc_Xarray_Xarray * _T28; void (* _T29)(void * *); void (* _T2A)(void *); struct _fat_ptr _T2B; unsigned char * _T2C; void * * _T2D; struct Cyc_Xarray_Xarray * _T2E; struct _fat_ptr _T2F; struct Cyc_Xarray_Xarray * _T30; int _T31; int _T32; unsigned char * _T33; void * * _T34; _T0 = xarr; _T1 = _T0->num_elmts; _T2 = (unsigned int)_T1; _T3 = xarr; _T4 = _T3->elmts; _T5 = _get_fat_size(_T4,sizeof(void *)); if (_T2 != _T5) { goto _TL10; } _T6 = xarr; _T7 = _T6->num_elmts; if (_T7 != 0) { goto _TL12; } _T8 = xarr; { unsigned int _T35 = 10U; _TB = Cyc_Core_unique_qual; _TC = _check_times(_T35,sizeof(void *)); { void * * _T36 = _aqual_malloc(_TB,_TC); { unsigned int _T37 = _T35; unsigned int i; i = 0; _TL17: if (i < _T37) { goto _TL15; }else { goto _TL16; } _TL15: _TD = i; _T36[_TD] = a; i = i + 1; goto _TL17; _TL16: ; }_TA = (void * *)_T36; }_T9 = _TA; }_T8->elmts = _tag_fat(_T9,sizeof(void *),10U); goto _TL13; _TL12: _TF = xarr; _T10 = _TF->num_elmts; _T11 = _T10 * 2; { unsigned int _T35 = (unsigned int)_T11; _T13 = Cyc_Core_unique_qual; _T14 = _check_times(_T35,sizeof(void *)); { void * * _T36 = _aqual_malloc(_T13,_T14); { unsigned int _T37 = _T35; unsigned int i; i = 0; _TL1B: if (i < _T37) { goto _TL19; }else { goto _TL1A; } _TL19: _T15 = i; _T16 = xarr; _T17 = _T16->elmts; _T18 = _T17.curr; _T19 = (void * *)_T18; _T1A = _check_null(_T19); _T36[_T15] = _T1A[0]; i = i + 1; goto _TL1B; _TL1A: ; }_T12 = (void * *)_T36; }_TE = _tag_fat(_T12,sizeof(void *),_T35); }{ struct _fat_ptr newarr = _TE; { int i = 1; _TL1F: _T1B = i; _T1C = xarr; _T1D = _T1C->num_elmts; if (_T1B < _T1D) { goto _TL1D; }else { goto _TL1E; } _TL1D: _T1E = newarr; _T1F = i; _T20 = _check_fat_subscript(_T1E,sizeof(void *),_T1F); _T21 = (void * *)_T20; _T22 = xarr; _T23 = _T22->elmts; _T24 = i; _T25 = _check_fat_subscript(_T23,sizeof(void *),_T24); _T26 = (void * *)_T25; *_T21 = *_T26; i = i + 1; goto _TL1F; _TL1E: ; }_T27 = xarr; { struct _fat_ptr _T35 = _T27->elmts; struct _fat_ptr _T36 = newarr; _T28 = xarr; _T28->elmts = _T36; newarr = _T35; }_T2A = Cyc_Core_ufree; { void (* _T35)(void * *) = (void (*)(void * *))_T2A; _T29 = _T35; }_T2B = newarr; _T2C = _untag_fat_ptr_check_bound(_T2B,sizeof(void *),1U); _T2D = (void * *)_T2C; _T29(_T2D); }_TL13: goto _TL11; _TL10: _TL11: _T2E = xarr; _T2F = _T2E->elmts; _T30 = xarr; _T31 = _T30->num_elmts; _T30->num_elmts = _T31 + 1; _T32 = _T31; _T33 = _check_fat_subscript(_T2F,sizeof(void *),_T32); _T34 = (void * *)_T33; *_T34 = a; }