/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "short.h"
T0* r382item(T382* C,int a1){
T0* R=NULL;
R=((((T382*)C))->_storage/*0*/)[(a1)-((((T382*)C))->_lower/*12*/)];
return R;
}
/*No:ARRAY[DECLARATION].storage*/
/*No:ARRAY[DECLARATION].capacity*/
/*No:ARRAY[DECLARATION].lower*/
/*No:ARRAY[DECLARATION].put*/
/*No:ARRAY[DECLARATION].upper*/
int r382count(T382* C){
int R=0;
R=(((((T382*)C))->_upper/*8*/)-((((T382*)C))->_lower/*12*/))+(1);
return R;
}
void r382add_last(T382* C,T0* a1){
int _new_capacity=0;
/*IF*/if (((((T382*)C))->_capacity/*4*/)<((r382count(C))+(1))) {
/*IF*/if (((((T382*)C))->_capacity/*4*/)==(0)) {
C->_capacity=16;
C->_storage=calloc((((T382*)C))->_capacity/*4*/,sizeof(T0*));
}
else {
_new_capacity=(2)*((((T382*)C))->_capacity/*4*/);
C->_storage=r667realloc((((T382*)C))->_storage/*0*/,(((T382*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI*/}
/*FI*/C->_upper=((((T382*)C))->_upper/*8*/)+(1);
/*[IRF3.6put*/{T382* C1=C;
T0* b1=a1;
int b2=(((T382*)C))->_upper/*8*/;
((((T382*)C1))->_storage/*0*/)[(b2)-((((T382*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*No:ARRAY[BOOLEAN].clear_all*/
/*No:ARRAY[BOOLEAN].set_all_with*/
void r353force(T353* C,int a1,int a2){
/*IF*/if (((((T353*)C))->_upper/*8*/)<(a2)) {
r353resize(C,(((T353*)C))->_lower/*12*/,a2);
}
 else if ((a2)<((((T353*)C))->_lower/*12*/)) {
r353resize(C,a2,(((T353*)C))->_upper/*8*/);
}
/*FI*//*[IRF3.6put*/{T353* C1=C;
int b1=a1;
int b2=a2;
((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
void r353make(T353* C,int a1,int a2){
int _needed=0;
C->_lower=a1;
C->_upper=a2;
_needed=((a2)-(a1))+(1);
/*IF*/if ((_needed)>(0)) {
/*IF*/if (((((T353*)C))->_capacity/*4*/)<(_needed)) {
/*IF*/if (((((T353*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(_needed,sizeof(int));
}
else {
C->_storage=calloc(_needed,sizeof(int));
}
/*FI*/C->_capacity=_needed;
}
else {
/*[IRF3.6clear_all*/{T353* C1=C;
int __value=0;
/*[IRF3.6set_all_with*/{T353* C2=C1;
int c1=__value;
r567set_all_with((((T353*)C2))->_storage/*0*/,c1,((((T353*)C2))->_upper/*8*/)-((((T353*)C2))->_lower/*12*/));
}/*]*/
}/*]*/
}
/*FI*/}
/*FI*/}
int r353item(T353* C,int a1){
int R=0;
R=((((T353*)C))->_storage/*0*/)[(a1)-((((T353*)C))->_lower/*12*/)];
return R;
}
void r353resize(T353* C,int a1,int a2){
int _mem=0;
int _up=0;
int _i=0;
T0* _other=NULL;
{T353*n=malloc(sizeof(*n));
*n=M353;
r353make(n,a1,a2);
_other=(T0*)n;
}
_i=r2max((((T353*)C))->_lower/*12*/,(((T353*)((T353*)_other)))->_lower/*12*/);
_up=r2min((((T353*)C))->_upper/*8*/,(((T353*)((T353*)_other)))->_upper/*8*/);
while (!((_i)>(_up))) {
/*[IRF3.6put*/{T353* C1=((T353*)_other);
int b1=r353item(C,_i);
int b2=_i;
((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
*((T353*)(C))=*((T353*)(_other));
}
/*No:ARRAY[BOOLEAN].storage*/
/*No:ARRAY[BOOLEAN].capacity*/
/*No:ARRAY[BOOLEAN].lower*/
/*No:ARRAY[BOOLEAN].put*/
/*No:ARRAY[BOOLEAN].upper*/
int r353valid_index(T353* C,int a1){
int R=0;
R=(((((T353*)C))->_lower/*12*/)<=(a1))&&((a1)<=((((T353*)C))->_upper/*8*/));
return R;
}
void r353set_slice_with(T353* C,int a1,int a2,int a3){
int _i=0;
_i=a2;
while (!((_i)>(a3))) {
/*[IRF3.6put*/{T353* C1=C;
int b1=a1;
int b2=_i;
((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
}
/*No:FIXED_ARRAY[MANIFEST_STRING].storage*/
/*No:FIXED_ARRAY[MANIFEST_STRING].capacity*/
void r256with_capacity(T256* C,int a1){
/*IF*/if (((((T256*)C))->_capacity/*4*/)<(a1)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI*/C->_upper=-(1);
}
/*No:FIXED_ARRAY[MANIFEST_STRING].put*/
/*No:FIXED_ARRAY[MANIFEST_STRING].upper*/
void r256add_last(T256* C,T0* a1){
int _new_capacity=0;
/*IF*/if ((((((T256*)C))->_upper/*8*/)+(1))<=(((((T256*)C))->_capacity/*4*/)-(1))) {
C->_upper=((((T256*)C))->_upper/*8*/)+(1);
}
 else if (((((T256*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else {
_new_capacity=(2)*((((T256*)C))->_capacity/*4*/);
C->_storage=r729realloc((((T256*)C))->_storage/*0*/,(((T256*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((((T256*)C))->_upper/*8*/)+(1);
}
/*FI*//*[IRF3.5put*/((((T256*)C))->_storage/*0*/)[(((T256*)C))->_upper/*8*/]=(a1);
/*]*/
}
/*No:FIXED_ARRAY[RUN_CLASS].storage*/
/*No:FIXED_ARRAY[RUN_CLASS].capacity*/
void r187with_capacity(T187* C,int a1){
/*IF*/if (((((T187*)C))->_capacity/*4*/)<(a1)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI*/C->_upper=-(1);
}
int r187fast_index_of(T187* C,T0* a1){
int R=0;
R=r659fast_index_of((((T187*)C))->_storage/*0*/,a1,(((T187*)C))->_upper/*8*/);
return R;
}
/*No:FIXED_ARRAY[RUN_CLASS].put*/
/*No:FIXED_ARRAY[RUN_CLASS].upper*/
void r187add_last(T187* C,T0* a1){
int _new_capacity=0;
/*IF*/if ((((((T187*)C))->_upper/*8*/)+(1))<=(((((T187*)C))->_capacity/*4*/)-(1))) {
C->_upper=((((T187*)C))->_upper/*8*/)+(1);
}
 else if (((((T187*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else {
_new_capacity=(2)*((((T187*)C))->_capacity/*4*/);
C->_storage=r659realloc((((T187*)C))->_storage/*0*/,(((T187*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((((T187*)C))->_upper/*8*/)+(1);
}
/*FI*//*[IRF3.5put*/((((T187*)C))->_storage/*0*/)[(((T187*)C))->_upper/*8*/]=(a1);
/*]*/
}
T0* r419item(T419* C,int a1){
T0* R=NULL;
R=((((T419*)C))->_storage/*0*/)[(a1)-((((T419*)C))->_lower/*12*/)];
return R;
}
/*No:ARRAY[INSTRUCTION].storage*/
T0* r419twin(T419* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T419*)R)=M419;
r419copy(((T419*)R),((T0*)C));
return R;
}
/*No:ARRAY[INSTRUCTION].capacity*/
void r419copy(T419* C,T0* a1){
int _needed_capacity=0;
C->_lower=(((T419*)((T419*)a1)))->_lower/*12*/;
C->_upper=(((T419*)((T419*)a1)))->_upper/*8*/;
_needed_capacity=(((((T419*)C))->_upper/*8*/)-((((T419*)C))->_lower/*12*/))+(1);
/*IF*/if (((((T419*)C))->_capacity/*4*/)<(_needed_capacity)) {
C->_capacity=_needed_capacity;
C->_storage=calloc((((T419*)C))->_capacity/*4*/,sizeof(T0*));
}
/*FI*//*IF*/if ((_needed_capacity)>(0)) {
r705copy_from((((T419*)C))->_storage/*0*/,(((T419*)((T419*)a1)))->_storage/*0*/,(_needed_capacity)-(1));
}
/*FI*/}
/*No:ARRAY[INSTRUCTION].lower*/
/*No:ARRAY[INSTRUCTION].put*/
/*No:ARRAY[INSTRUCTION].upper*/
int r419count(T419* C){
int R=0;
R=(((((T419*)C))->_upper/*8*/)-((((T419*)C))->_lower/*12*/))+(1);
return R;
}
void r419add_last(T419* C,T0* a1){
int _new_capacity=0;
/*IF*/if (((((T419*)C))->_capacity/*4*/)<((r419count(C))+(1))) {
/*IF*/if (((((T419*)C))->_capacity/*4*/)==(0)) {
C->_capacity=16;
C->_storage=calloc((((T419*)C))->_capacity/*4*/,sizeof(T0*));
}
else {
_new_capacity=(2)*((((T419*)C))->_capacity/*4*/);
C->_storage=r705realloc((((T419*)C))->_storage/*0*/,(((T419*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI*/}
/*FI*/C->_upper=((((T419*)C))->_upper/*8*/)+(1);
/*[IRF3.6put*/{T419* C1=C;
T0* b1=a1;
int b2=(((T419*)C))->_upper/*8*/;
((((T419*)C1))->_storage/*0*/)[(b2)-((((T419*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
T0* r901item(T901* C,int a1){
T0* R=NULL;
R=((((T901*)C))->_storage/*0*/)[(a1)-((((T901*)C))->_lower/*12*/)];
return R;
}
/*No:ARRAY[CLASS_NAME].storage*/
T0* r901twin(T901* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T901*)R)=M901;
r901copy(((T901*)R),((T0*)C));
return R;
}
/*No:ARRAY[CLASS_NAME].capacity*/
void r901copy(T901* C,T0* a1){
int _needed_capacity=0;
C->_lower=(((T901*)((T901*)a1)))->_lower/*12*/;
C->_upper=(((T901*)((T901*)a1)))->_upper/*8*/;
_needed_capacity=(((((T901*)C))->_upper/*8*/)-((((T901*)C))->_lower/*12*/))+(1);
/*IF*/if (((((T901*)C))->_capacity/*4*/)<(_needed_capacity)) {
C->_capacity=_needed_capacity;
C->_storage=calloc((((T901*)C))->_capacity/*4*/,sizeof(T0*));
}
/*FI*//*IF*/if ((_needed_capacity)>(0)) {
r221copy_from((((T901*)C))->_storage/*0*/,(((T901*)((T901*)a1)))->_storage/*0*/,(_needed_capacity)-(1));
}
/*FI*/}
/*No:ARRAY[CLASS_NAME].lower*/
/*No:ARRAY[CLASS_NAME].put*/
/*No:ARRAY[CLASS_NAME].upper*/
int r901count(T901* C){
int R=0;
R=(((((T901*)C))->_upper/*8*/)-((((T901*)C))->_lower/*12*/))+(1);
return R;
}
void r901add_last(T901* C,T0* a1){
int _new_capacity=0;
/*IF*/if (((((T901*)C))->_capacity/*4*/)<((r901count(C))+(1))) {
/*IF*/if (((((T901*)C))->_capacity/*4*/)==(0)) {
C->_capacity=16;
C->_storage=calloc((((T901*)C))->_capacity/*4*/,sizeof(T0*));
}
else {
_new_capacity=(2)*((((T901*)C))->_capacity/*4*/);
C->_storage=r221realloc((((T901*)C))->_storage/*0*/,(((T901*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI*/}
/*FI*/C->_upper=((((T901*)C))->_upper/*8*/)+(1);
/*[IRF3.6put*/{T901* C1=C;
T0* b1=a1;
int b2=(((T901*)C))->_upper/*8*/;
((((T901*)C1))->_storage/*0*/)[(b2)-((((T901*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*No:FIXED_ARRAY[STRING].clear_all*/
/*No:FIXED_ARRAY[STRING].set_all_with*/
void r927make(T927* C,int a1){
/*IF*/if ((a1)==(0)) {
C->_upper=-(1);
}
 else if (((((T927*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if (((((T927*)C))->_capacity/*4*/)<(a1)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else {
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T927* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T927* C2=C1;
T0* c1=__value;
r400set_all_with((((T927*)C2))->_storage/*0*/,c1,(((T927*)C2))->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI*/}
/*No:FIXED_ARRAY[STRING].item*/
/*No:FIXED_ARRAY[STRING].storage*/
/*No:FIXED_ARRAY[STRING].capacity*/
void r927with_capacity(T927* C,int a1){
/*IF*/if (((((T927*)C))->_capacity/*4*/)<(a1)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
}
/*FI*/C->_upper=-(1);
}
int r927fast_index_of(T927* C,T0* a1){
int R=0;
R=r400fast_index_of((((T927*)C))->_storage/*0*/,a1,(((T927*)C))->_upper/*8*/);
return R;
}
/*No:FIXED_ARRAY[STRING].put*/
/*No:FIXED_ARRAY[STRING].upper*/
void r927add_last(T927* C,T0* a1){
int _new_capacity=0;
/*IF*/if ((((((T927*)C))->_upper/*8*/)+(1))<=(((((T927*)C))->_capacity/*4*/)-(1))) {
C->_upper=((((T927*)C))->_upper/*8*/)+(1);
}
 else if (((((T927*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(2,sizeof(T0*));
C->_capacity=2;
C->_upper=0;
}
else {
_new_capacity=(2)*((((T927*)C))->_capacity/*4*/);
C->_storage=r400realloc((((T927*)C))->_storage/*0*/,(((T927*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
C->_upper=((((T927*)C))->_upper/*8*/)+(1);
}
/*FI*//*[IRF3.5put*/((((T927*)C))->_storage/*0*/)[(((T927*)C))->_upper/*8*/]=(a1);
/*]*/
}
/*No:ARRAY[RUN_CLASS].clear_all*/
/*No:ARRAY[RUN_CLASS].set_all_with*/
void r396make(T396* C,int a1,int a2){
int _needed=0;
C->_lower=a1;
C->_upper=a2;
_needed=((a2)-(a1))+(1);
/*IF*/if ((_needed)>(0)) {
/*IF*/if (((((T396*)C))->_capacity/*4*/)<(_needed)) {
/*IF*/if (((((T396*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(_needed,sizeof(T0*));
}
else {
C->_storage=calloc(_needed,sizeof(T0*));
}
/*FI*/C->_capacity=_needed;
}
else {
/*[IRF3.6clear_all*/{T396* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T396* C2=C1;
T0* c1=__value;
r659set_all_with((((T396*)C2))->_storage/*0*/,c1,((((T396*)C2))->_upper/*8*/)-((((T396*)C2))->_lower/*12*/));
}/*]*/
}/*]*/
}
/*FI*/}
/*FI*/}
int r396fast_has(T396* C,T0* a1){
int R=0;
/*IF*/if ((r396count(C))>(0)) {
R=(r396fast_index_of(C,a1))<=((((T396*)C))->_upper/*8*/);
}
/*FI*/return R;
}
T0* r396item(T396* C,int a1){
T0* R=NULL;
R=((((T396*)C))->_storage/*0*/)[(a1)-((((T396*)C))->_lower/*12*/)];
return R;
}
void r396resize(T396* C,int a1,int a2){
int _mem=0;
int _up=0;
int _i=0;
T0* _other=NULL;
{T396*n=malloc(sizeof(*n));
*n=M396;
r396make(n,a1,a2);
_other=(T0*)n;
}
_i=r2max((((T396*)C))->_lower/*12*/,(((T396*)((T396*)_other)))->_lower/*12*/);
_up=r2min((((T396*)C))->_upper/*8*/,(((T396*)((T396*)_other)))->_upper/*8*/);
while (!((_i)>(_up))) {
/*[IRF3.6put*/{T396* C1=((T396*)_other);
T0* b1=r396item(C,_i);
int b2=_i;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
*((T396*)(C))=*((T396*)(_other));
}
/*No:ARRAY[RUN_CLASS].storage*/
/*No:ARRAY[RUN_CLASS].capacity*/
/*No:ARRAY[RUN_CLASS].lower*/
int r396fast_index_of(T396* C,T0* a1){
int R=0;
R=((((T396*)C))->_lower/*12*/)+(r659fast_index_of((((T396*)C))->_storage/*0*/,a1,((((T396*)C))->_upper/*8*/)-((((T396*)C))->_lower/*12*/)));
return R;
}
/*No:ARRAY[RUN_CLASS].put*/
/*No:ARRAY[RUN_CLASS].upper*/
void r396add_last(T396* C,T0* a1){
int _new_capacity=0;
/*IF*/if (((((T396*)C))->_capacity/*4*/)<((r396count(C))+(1))) {
/*IF*/if (((((T396*)C))->_capacity/*4*/)==(0)) {
C->_capacity=16;
C->_storage=calloc((((T396*)C))->_capacity/*4*/,sizeof(T0*));
}
else {
_new_capacity=(2)*((((T396*)C))->_capacity/*4*/);
C->_storage=r659realloc((((T396*)C))->_storage/*0*/,(((T396*)C))->_capacity/*4*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI*/}
/*FI*/C->_upper=((((T396*)C))->_upper/*8*/)+(1);
/*[IRF3.6put*/{T396* C1=C;
T0* b1=a1;
int b2=(((T396*)C))->_upper/*8*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
int r396count(T396* C){
int R=0;
R=(((((T396*)C))->_upper/*8*/)-((((T396*)C))->_lower/*12*/))+(1);
return R;
}
T0* r794at(T794* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r794has(C,a1);
R=r52item(((T52*)((((T794*)C))->_store/*4*/)),(((T794*)C))->_has_mem/*24*/);
return R;
}
void r794expand(T794* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r52count(((T52*)((((T794*)C))->_store/*4*/)));
r429resize(((T429*)((((T794*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T794*)C))->_keys/*0*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T794*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T794*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=(((T794*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
T0*oBC672tmp_buckets=NULL;
/*No:DICTIONARY[STRING,STRING].free*/
void r794make(T794* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T794*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r794initialize(C);
}
void r794resize(T794* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T794*)C))->_buckets/*8*/);
r226make(((T226*)((((T794*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T794*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T794*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T794*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[STRING,STRING].item_mem*/
/*No:DICTIONARY[STRING,STRING].chain*/
/*No:DICTIONARY[STRING,STRING].keys*/
/*No:DICTIONARY[STRING,STRING].buckets*/
int r794has(T794* C,T0* a1){
int R=0;
/*IF*/if ((((((T794*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T794*)C))->_keys/*0*/)),(((T794*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T794*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T794*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T794*)C))->_keys/*0*/)),(((T794*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T794*)C))->_chain/*12*/)),(((T794*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T794*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[STRING,STRING].Min_size*/
/*No:DICTIONARY[STRING,STRING].store*/
void r794with_capacity(T794* C,int a1){
int _i=0;
_i=32;
while (!((_i)>=(a1))) {
_i=(2)*(_i);
}
C->_modulus=(2)*(_i);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T794*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r794initialize(C);
}
void r794put(T794* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T794*)C))->_modulus/*20*/);
/*IF*/if ((((((T794*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T794*)C))->_keys/*0*/)),(((T794*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T794*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T794*)C))->_keys/*0*/)),(((T794*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T794*)C))->_chain/*12*/)),(((T794*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T794*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T794*)C))->_count/*32*/)>=(r52count(((T52*)((((T794*)C))->_store/*4*/))))) {
r794expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T794*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T794*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T52* C1=((T52*)((((T794*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T794*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T794*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T794*)C))->_chain/*12*/)),(((T794*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T794*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T794*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T794*)C))->_count/*32*/)+(1);
/*IF*/if (((((T794*)C))->_count/*32*/)>(((((T794*)C))->_modulus/*20*/)*(2))) {
r794resize(C,(2)*((((T794*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T52* C1=((T52*)((((T794*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T794*)C))->_has_mem/*24*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[STRING,STRING].modulus*/
/*No:DICTIONARY[STRING,STRING].count*/
/*No:DICTIONARY[STRING,STRING].has_mem*/
void r794initialize(T794* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T794*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T794*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T794*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T794*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0* r338at(T338* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r338has(C,a1);
R=r943item(((T943*)((((T338*)C))->_store/*4*/)),(((T338*)C))->_has_mem/*24*/);
return R;
}
void r338expand(T338* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r943count(((T943*)((((T338*)C))->_store/*4*/)));
r429resize(((T429*)((((T338*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T338*)C))->_keys/*0*/)),1,(2)*(_old_size));
r943resize(((T943*)((((T338*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T338*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=(((T338*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].free*/
void r338make(T338* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T338*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T943*n=malloc(sizeof(*n));
*n=M943;
r943make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r338initialize(C);
}
void r338resize(T338* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T338*)C))->_buckets/*8*/);
r226make(((T226*)((((T338*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T338*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T338*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T338*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].item_mem*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].chain*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].keys*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].buckets*/
int r338has(T338* C,T0* a1){
int R=0;
/*IF*/if ((((((T338*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T338*)C))->_keys/*0*/)),(((T338*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T338*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T338*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T338*)C))->_keys/*0*/)),(((T338*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T338*)C))->_chain/*12*/)),(((T338*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T338*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].Min_size*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].store*/
void r338put(T338* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T338*)C))->_modulus/*20*/);
/*IF*/if ((((((T338*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T338*)C))->_keys/*0*/)),(((T338*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T338*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T338*)C))->_keys/*0*/)),(((T338*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T338*)C))->_chain/*12*/)),(((T338*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T338*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T338*)C))->_count/*32*/)>=(r943count(((T943*)((((T338*)C))->_store/*4*/))))) {
r338expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T338*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T338*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T943* C1=((T943*)((((T338*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T338*)C))->_free/*16*/;
((((T943*)C1))->_storage/*0*/)[(b2)-((((T943*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T338*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T338*)C))->_chain/*12*/)),(((T338*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T338*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T338*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T338*)C))->_count/*32*/)+(1);
/*IF*/if (((((T338*)C))->_count/*32*/)>(((((T338*)C))->_modulus/*20*/)*(2))) {
r338resize(C,(2)*((((T338*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T943* C1=((T943*)((((T338*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T338*)C))->_has_mem/*24*/;
((((T943*)C1))->_storage/*0*/)[(b2)-((((T943*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].modulus*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].count*/
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].has_mem*/
void r338initialize(T338* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T338*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T338*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T338*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}

