/*
-- 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 "compile_to_c.h"
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].empty*/
/*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);
}
T0* r338item(T338* C,int a1){
T0* R=NULL;
/*IF*/if (((((T338*)C))->_item_mem/*28*/)==(0)) {
r338first(C);
while (!((a1)==((((T338*)C))->_item_mem/*28*/))) {
r338forth(C);
}
R=r943item(((T943*)((((T338*)C))->_store/*4*/)),(((T338*)C))->_item_mem_j/*32*/);
}
 else if (((((T338*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T338*)C))->_item_mem/*28*/))) {
r338forth(C);
}
R=r943item(((T943*)((((T338*)C))->_store/*4*/)),(((T338*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r338item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[DICTIONARY[RUN_FEATURE,STRING],STRING].item_mem_i*/
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_j*/
/*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*/
void r338forth(T338* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T338*)C))->_chain/*12*/)),(((T338*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T338*)C))->_chain/*12*/)),(((T338*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T338*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T338*)C))->_item_mem/*28*/)+(1);
}
/*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/*40*/)>=(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/*40*/)+(1);
/*IF*/if (((((T338*)C))->_count/*40*/)>(((((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 r338first(T338* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T338*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
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);
}
}
void r79expand(T79* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r701count(((T701*)((((T79*)C))->_store/*4*/)));
r429resize(((T429*)((((T79*)C))->_chain/*12*/)),1,(2)*(_old_size));
r429resize(((T429*)((((T79*)C))->_keys/*0*/)),1,(2)*(_old_size));
r701resize(((T701*)((((T79*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T79*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T79*)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*)((((T79*)C))->_chain/*12*/));
int b1=(((T79*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[TYPE,INTEGER].free*/
void r79make(T79* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T79*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T701*n=malloc(sizeof(*n));
*n=M701;
r701make(n,1,32);
C->_store=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_keys=(T0*)n;
}
r79initialize(C);
}
T0* r79item(T79* C,int a1){
T0* R=NULL;
/*IF*/if (((((T79*)C))->_item_mem/*28*/)==(0)) {
r79first(C);
while (!((a1)==((((T79*)C))->_item_mem/*28*/))) {
r79forth(C);
}
R=r701item(((T701*)((((T79*)C))->_store/*4*/)),(((T79*)C))->_item_mem_j/*32*/);
}
 else if (((((T79*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T79*)C))->_item_mem/*28*/))) {
r79forth(C);
}
R=r701item(((T701*)((((T79*)C))->_store/*4*/)),(((T79*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r79item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[TYPE,INTEGER].item_mem_i*/
void r79resize(T79* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T79*)C))->_buckets/*8*/);
r226make(((T226*)((((T79*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T79*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T79*)C))->_chain/*12*/)),_n);
_hash=(r2hash_code(r429item(((T429*)((((T79*)C))->_keys/*0*/)),_n)))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T79*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[TYPE,INTEGER].item_mem_j*/
/*No:DICTIONARY[TYPE,INTEGER].item_mem*/
/*No:DICTIONARY[TYPE,INTEGER].chain*/
/*No:DICTIONARY[TYPE,INTEGER].keys*/
/*No:DICTIONARY[TYPE,INTEGER].buckets*/
int r79has(T79* C,int a1){
int R=0;
/*IF*/if ((((((T79*)C))->_has_mem/*24*/)==(0))||(!((a1)==(r429item(((T429*)((((T79*)C))->_keys/*0*/)),(((T79*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[(r2hash_code(a1))%((((T79*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T79*)C))->_has_mem/*24*/)==(0))||((a1)==(r429item(((T429*)((((T79*)C))->_keys/*0*/)),(((T79*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T79*)C))->_chain/*12*/)),(((T79*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T79*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[TYPE,INTEGER].Min_size*/
void r79forth(T79* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T79*)C))->_chain/*12*/)),(((T79*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T79*)C))->_chain/*12*/)),(((T79*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T79*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T79*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[TYPE,INTEGER].store*/
void r79put(T79* C,T0* a1,int a2){
int _hash=0;
_hash=(r2hash_code(a2))%((((T79*)C))->_modulus/*20*/);
/*IF*/if ((((((T79*)C))->_has_mem/*24*/)==(0))||(!((a2)==(r429item(((T429*)((((T79*)C))->_keys/*0*/)),(((T79*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T79*)C))->_has_mem/*24*/)==(0))||((a2)==(r429item(((T429*)((((T79*)C))->_keys/*0*/)),(((T79*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T79*)C))->_chain/*12*/)),(((T79*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T79*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T79*)C))->_count/*40*/)>=(r701count(((T701*)((((T79*)C))->_store/*4*/))))) {
r79expand(C);
}
/*FI*//*[IRF3.6put*/{T429* C1=((T429*)((((T79*)C))->_keys/*0*/));
int b1=a2;
int b2=(((T79*)C))->_free/*16*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T701* C1=((T701*)((((T79*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T79*)C))->_free/*16*/;
((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T79*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T79*)C))->_chain/*12*/)),(((T79*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T79*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T79*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T79*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T79*)C))->_count/*40*/)+(1);
/*IF*/if (((((T79*)C))->_count/*40*/)>(((((T79*)C))->_modulus/*20*/)*(2))) {
r79resize(C,(2)*((((T79*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T701* C1=((T701*)((((T79*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T79*)C))->_has_mem/*24*/;
((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[TYPE,INTEGER].modulus*/
/*No:DICTIONARY[TYPE,INTEGER].count*/
/*No:DICTIONARY[TYPE,INTEGER].has_mem*/
void r79first(T79* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
void r79initialize(T79* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T79*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T79*)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*)((((T79*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T79*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T79*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0* r199at(T199* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r199has(C,a1);
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_has_mem/*24*/));
return R;
}
void r199expand(T199* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=X477count((((T199*)C))->_store/*4*/);
r429resize(((T429*)((((T199*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T199*)C))->_keys/*0*/)),1,(2)*(_old_size));
X477resize((((T199*)C))->_store/*4*/,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)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*)((((T199*)C))->_chain/*12*/));
int b1=(((T199*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[RUN_FEATURE,STRING].free*/
void r199make(T199* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T199*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T477*n=malloc(sizeof(*n));
*n=M477;
r477make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r199initialize(C);
}
void r199remove(T199* C,T0* a1){
int _p=0;
int _n=0;
int _hash=0;
_hash=(r7hash_code(((T7*)a1)))%((((T199*)C))->_modulus/*20*/);
_n=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!(((_n)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),_n))))) {
_p=_n;
_n=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n);
}
/*IF*/if ((_n)!=(0)) {
/*IF*/if ((_p)!=(0)) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n);
int b2=_p;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
else {
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n));
/*]*/
}
/*FI*//*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=(((T199*)C))->_free/*16*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=_n;
C->_count=((((T199*)C))->_count/*40*/)-(1);
/*IF*/if ((_n)==((((T199*)C))->_has_mem/*24*/)) {
C->_has_mem=0;
}
/*FI*//*IF*/if ((((((T199*)C))->_count/*40*/)<((X477count((((T199*)C))->_store/*4*/))/(4)))&&(((((T199*)C))->_count/*40*/)>(32))) {
r199shrink(C);
}
/*FI*/}
/*FI*/C->_item_mem=0;
}
void r199shrink(T199* C){
int _k=0;
int _j=0;
int _i=0;
T0* _chn=NULL;
T0* _kys=NULL;
T0* _str=NULL;
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,(X477count((((T199*)C))->_store/*4*/))/(2));
_kys=(T0*)n;
}
{T477*n=malloc(sizeof(*n));
*n=M477;
r477make(n,1,(X477count((((T199*)C))->_store/*4*/))/(2));
_str=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,(X477count((((T199*)C))->_store/*4*/))/(2));
_chn=(T0*)n;
}
_i=1;
_j=0;
while (!((_j)>=((((T199*)C))->_modulus/*20*/))) {
_k=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_j]/*)*/;
/*IF*/if ((_k)!=(0)) {
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_j]=(_i);
/*]*/
}
/*FI*/while (!((_k)==(0))) {
/*[IRF3.6put*/{T52* C1=((T52*)_kys);
T0* b1=r52item(((T52*)((((T199*)C))->_keys/*0*/)),_k);
int b2=_i;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*X477*//*[IRF3.6put*/{T477* C1=((T477*)_str);
T0* b1=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),_k));
int b2=_i;
((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
}/*]*/
_k=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_k);
/*IF*/if ((_k)==(0)) {
/*[IRF3.6put*/{T429* C1=((T429*)_chn);
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
else {
/*[IRF3.6put*/{T429* C1=((T429*)_chn);
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/_i=(_i)+(1);
}
_j=(_j)+(1);
}
_i=((((T199*)C))->_count/*40*/)+(1);
while (!((_i)>=(r429count(((T429*)_chn))))) {
/*[IRF3.6put*/{T429* C1=((T429*)_chn);
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*)_chn);
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=((((T199*)C))->_count/*40*/)+(1);
C->_chain=_chn;
C->_keys=_kys;
C->_store=_str;
C->_item_mem=0;
}
T0* r199item(T199* C,int a1){
T0* R=NULL;
/*IF*/if (((((T199*)C))->_item_mem/*28*/)==(0)) {
r199first(C);
while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
r199forth(C);
}
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
}
 else if (((((T199*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
r199forth(C);
}
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
}
else {
C->_item_mem=0;
R=r199item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_i*/
void r199resize(T199* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T199*)C))->_buckets/*8*/);
r226make(((T226*)((((T199*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T199*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_j*/
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem*/
/*No:DICTIONARY[RUN_FEATURE,STRING].chain*/
/*No:DICTIONARY[RUN_FEATURE,STRING].buckets*/
/*No:DICTIONARY[RUN_FEATURE,STRING].keys*/
int r199has(T199* C,T0* a1){
int R=0;
/*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T199*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T199*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].Min_size*/
void r199forth(T199* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T199*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T199*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[RUN_FEATURE,STRING].store*/
void r199with_capacity(T199* 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,(((T199*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T477*n=malloc(sizeof(*n));
*n=M477;
r477make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r199initialize(C);
}
void r199put(T199* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T199*)C))->_modulus/*20*/);
/*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T199*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T199*)C))->_count/*40*/)>=(X477count((((T199*)C))->_store/*4*/))) {
r199expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T199*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T199*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T199*)C))->_free/*16*/;
((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
}/*]*/
C->_has_mem=(((T199*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T199*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T199*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T199*)C))->_count/*40*/)+(1);
/*IF*/if (((((T199*)C))->_count/*40*/)>(((((T199*)C))->_modulus/*20*/)*(2))) {
r199resize(C,(2)*((((T199*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T199*)C))->_has_mem/*24*/;
((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].modulus*/
/*No:DICTIONARY[RUN_FEATURE,STRING].count*/
/*No:DICTIONARY[RUN_FEATURE,STRING].has_mem*/
void r199initialize(T199* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)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*)((((T199*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
void r199first(T199* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
T0* r718at(T718* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r718has(C,a1);
R=r863item(((T863*)((((T718*)C))->_store/*4*/)),(((T718*)C))->_has_mem/*24*/);
return R;
}
void r718expand(T718* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r863count(((T863*)((((T718*)C))->_store/*4*/)));
r429resize(((T429*)((((T718*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T718*)C))->_keys/*0*/)),1,(2)*(_old_size));
r863resize(((T863*)((((T718*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)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*)((((T718*)C))->_chain/*12*/));
int b1=(((T718*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[BASE_CLASS,STRING].free*/
void r718make(T718* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T718*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T863*n=malloc(sizeof(*n));
*n=M863;
r863make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r718initialize(C);
}
T0* r718item(T718* C,int a1){
T0* R=NULL;
/*IF*/if (((((T718*)C))->_item_mem/*28*/)==(0)) {
r718first(C);
while (!((a1)==((((T718*)C))->_item_mem/*28*/))) {
r718forth(C);
}
R=r863item(((T863*)((((T718*)C))->_store/*4*/)),(((T718*)C))->_item_mem_j/*32*/);
}
 else if (((((T718*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T718*)C))->_item_mem/*28*/))) {
r718forth(C);
}
R=r863item(((T863*)((((T718*)C))->_store/*4*/)),(((T718*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r718item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[BASE_CLASS,STRING].item_mem_i*/
void r718resize(T718* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T718*)C))->_buckets/*8*/);
r226make(((T226*)((((T718*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T718*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T718*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[BASE_CLASS,STRING].item_mem_j*/
/*No:DICTIONARY[BASE_CLASS,STRING].item_mem*/
/*No:DICTIONARY[BASE_CLASS,STRING].chain*/
/*No:DICTIONARY[BASE_CLASS,STRING].keys*/
/*No:DICTIONARY[BASE_CLASS,STRING].buckets*/
int r718has(T718* C,T0* a1){
int R=0;
/*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T718*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T718*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[BASE_CLASS,STRING].Min_size*/
void r718forth(T718* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T718*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T718*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[BASE_CLASS,STRING].store*/
void r718put(T718* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T718*)C))->_modulus/*20*/);
/*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T718*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T718*)C))->_count/*40*/)>=(r863count(((T863*)((((T718*)C))->_store/*4*/))))) {
r718expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T718*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T718*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T718*)C))->_free/*16*/;
((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T718*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T718*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T718*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T718*)C))->_count/*40*/)+(1);
/*IF*/if (((((T718*)C))->_count/*40*/)>(((((T718*)C))->_modulus/*20*/)*(2))) {
r718resize(C,(2)*((((T718*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T718*)C))->_has_mem/*24*/;
((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[BASE_CLASS,STRING].modulus*/
/*No:DICTIONARY[BASE_CLASS,STRING].count*/
/*No:DICTIONARY[BASE_CLASS,STRING].has_mem*/
void r718first(T718* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
void r718initialize(T718* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)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*)((((T718*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
/*No:MEMO[COMMENT].item*/
/*No:MEMO[COMMENT].clear*/
/*No:MEMO[COMMENT].set_item*/
T0* r237at(T237* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r237has(C,a1);
R=r495item(((T495*)((((T237*)C))->_store/*4*/)),(((T237*)C))->_has_mem/*24*/);
return R;
}
void r237expand(T237* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r495count(((T495*)((((T237*)C))->_store/*4*/)));
r429resize(((T429*)((((T237*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T237*)C))->_keys/*0*/)),1,(2)*(_old_size));
r495resize(((T495*)((((T237*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)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*)((((T237*)C))->_chain/*12*/));
int b1=(((T237*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[E_FEATURE,STRING].free*/
void r237resize(T237* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T237*)C))->_buckets/*8*/);
r226make(((T226*)((((T237*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T237*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T237*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].item_mem*/
/*No:DICTIONARY[E_FEATURE,STRING].chain*/
/*No:DICTIONARY[E_FEATURE,STRING].buckets*/
/*No:DICTIONARY[E_FEATURE,STRING].keys*/
int r237has(T237* C,T0* a1){
int R=0;
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T237*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T237*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[E_FEATURE,STRING].Min_size*/
/*No:DICTIONARY[E_FEATURE,STRING].store*/
void r237with_capacity(T237* 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,(((T237*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T495*n=malloc(sizeof(*n));
*n=M495;
r495make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r237initialize(C);
}
void r237put(T237* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T237*)C))->_modulus/*20*/);
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T237*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T237*)C))->_count/*32*/)>=(r495count(((T495*)((((T237*)C))->_store/*4*/))))) {
r237expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T237*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T237*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_free/*16*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T237*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T237*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T237*)C))->_count/*32*/)+(1);
/*IF*/if (((((T237*)C))->_count/*32*/)>(((((T237*)C))->_modulus/*20*/)*(2))) {
r237resize(C,(2)*((((T237*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].modulus*/
/*No:DICTIONARY[E_FEATURE,STRING].count*/
/*No:DICTIONARY[E_FEATURE,STRING].has_mem*/
void r237initialize(T237* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)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*)((((T237*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0* r250at(T250* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r250has(C,a1);
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_has_mem/*24*/);
return R;
}
void r250expand(T250* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r396count(((T396*)((((T250*)C))->_store/*4*/)));
r429resize(((T429*)((((T250*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T250*)C))->_keys/*0*/)),1,(2)*(_old_size));
r396resize(((T396*)((((T250*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)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*)((((T250*)C))->_chain/*12*/));
int b1=(((T250*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].free*/
void r250make(T250* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T250*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T396*n=malloc(sizeof(*n));
*n=M396;
r396make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r250initialize(C);
}
T0* r250item(T250* C,int a1){
T0* R=NULL;
/*IF*/if (((((T250*)C))->_item_mem/*28*/)==(0)) {
r250first(C);
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
 else if (((((T250*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r250item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_i*/
void r250resize(T250* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T250*)C))->_buckets/*8*/);
r226make(((T226*)((((T250*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T250*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T250*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_j*/
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem*/
/*No:DICTIONARY[RUN_CLASS,STRING].chain*/
/*No:DICTIONARY[RUN_CLASS,STRING].keys*/
/*No:DICTIONARY[RUN_CLASS,STRING].buckets*/
int r250has(T250* C,T0* a1){
int R=0;
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T250*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T250*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].Min_size*/
void r250forth(T250* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T250*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T250*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].store*/
void r250put(T250* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T250*)C))->_modulus/*20*/);
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T250*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T250*)C))->_count/*40*/)>=(r396count(((T396*)((((T250*)C))->_store/*4*/))))) {
r250expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T250*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T250*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_free/*16*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T250*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T250*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T250*)C))->_count/*40*/)+(1);
/*IF*/if (((((T250*)C))->_count/*40*/)>(((((T250*)C))->_modulus/*20*/)*(2))) {
r250resize(C,(2)*((((T250*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].modulus*/
/*No:DICTIONARY[RUN_CLASS,STRING].count*/
/*No:DICTIONARY[RUN_CLASS,STRING].has_mem*/
void r250first(T250* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
void r250initialize(T250* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)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*)((((T250*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0*oBC364eh=NULL;
void r376check_creation_clause(T376* C,T0* a1){
/*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
/*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms2_334));
r376error((((T376*)C))->_start_position/*8*/,((T0*)ms3_334));
}
/*FI*/}
T0* r376add_comment(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r376check_created_type(T376* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type(a1);
/*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
}
 else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
r683add_type(_rt,((T0*)ms2_747));
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if (X291is_formal_generic(a1)) {
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms5_747));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt))));
}
T0*oBC364gc_handler=NULL;
/*No:CREATION_CALL_2.writable*/
void r376make(T376* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
}
/*No:CREATION_CALL_2.type*/
void r376c2c_closing(T376* C,T0* a1){
X662compile_to_c((((T376*)C))->_writable/*12*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
/*IF*/if (r324call_invariant_start(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\73';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\175';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324rs_pop_position(((T324*)(oBC364cpp)));
}
void r376c2c_clear_expanded(T376* C,int a1){
X662compile_to_c((((T376*)C))->_writable/*12*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='M';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
}
/*No:CREATION_CALL_2.start_position*/
void r376compile_to_c(T376* C){
/*IF*/if (X291is_reference((((T376*)C))->_type/*16*/)) {
r376c2c_opening(C,(((T376*)C))->_type/*16*/);
r376c2c_closing(C,(((T376*)C))->_type/*16*/);
}
else {
r376c2c_clear_expanded(C,X291id((((T376*)C))->_type/*16*/));
}
/*FI*/}
/*No:CREATION_CALL_2.fz_00*/
T0* r376to_runnable(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r376check_writable(C,a1);
r376check_explicit_type(C);
r376check_created_type(C,(((T376*)C))->_type/*16*/);
r376check_creation_clause(C,(((T376*)C))->_type/*16*/);
R=(T0*)C;
}
else {
{T376*n=malloc(sizeof(*n));
*n=M376;
r376make(n,(((T376*)C))->_start_position/*8*/,(((T376*)C))->_type/*16*/,(((T376*)C))->_writable/*12*/);
R=(T0*)n;
}
R=r376to_runnable(((T376*)R),a1);
}
/*FI*/return R;
}
T0*oBC364cpp=NULL;
T0* r376current_type(T376* C){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T376*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
void r376c2c_opening(T376* C,T0* a1){
T0* _rc=NULL;
_rc=X291run_class(a1);
r324rs_push_position(((T324*)(oBC364cpp)),'5',(((T376*)C))->_start_position/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\173';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r548put_new(((T548*)(oBC364gc_handler)),_rc);
r324expanded_attributes(((T324*)(oBC364cpp)),a1);
}
T0*oBC364small_eiffel=NULL;
/*No:CREATION_CALL_2.run_compound*/
void r376check_explicit_type(T376* C){
T0* _t=NULL;
_t=X291to_runnable((((T376*)C))->_type/*16*/,r376current_type(C));
/*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
r683add_position(X291start_position((((T376*)C))->_type/*16*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_type=_t;
}
/*FI*//*IF*/if (!(X291is_a((((T376*)C))->_type/*16*/,X662result_type((((T376*)C))->_writable/*12*/)))) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
int r376is_pre_computable(T376* C){
int R=0;
R=X662is_result((((T376*)C))->_writable/*12*/);
return R;
}
/*No:CREATION_CALL_2.fz_cast_t0_star*/
int r376use_current(T376* C){
int R=0;
R=X662use_current((((T376*)C))->_writable/*12*/);
return R;
}
void r376check_writable(T376* C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=X662to_runnable((((T376*)C))->_writable/*12*/,r376current_type(C));
/*IF*/if ((_w)==((void*)(NULL))) {
r683add_position(X662start_position((((T376*)C))->_writable/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_writable=_w;
}
/*FI*/}
void r376error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CREATION_CALL_2.fatal_error*/
/*No:CREATION_CALL_2.end_mark_comment*/
/*No:CREATION_CALL_2.afd_check*/
/*No:E_REQUIRE.is_require_else*/
/*No:E_REQUIRE.empty*/
void r343from_runnable(T343* C,T0* a1){
C->_list=a1;
C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
}
void r343make(T343* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
T0* r343check_assertion_mode(void){
T0* R=NULL;
R=((T0*)ms73_343);
return R;
}
/*No:E_REQUIRE.set_header_comment*/
/*No:E_REQUIRE.start_position*/
void r343compile_to_c(T343* C){
int _i=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_596));
/*]*/
_i=1;
while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
/*[IRF3.3set_check_assertion_mode*/((((T324*)(((T324*)(oBC364cpp)))))->_check_assertion_mode)=(r343check_assertion_mode());
/*]*/
r348compile_to_c(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_596));
/*]*/
}
/*FI*/}
/*No:E_REQUIRE.list*/
/*No:E_REQUIRE.current_type*/
/*No:E_REQUIRE.header_comment*/
int r343use_current(T343* C){
int R=0;
int _i=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r348use_current(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*No:E_REQUIRE.set_require_else*/
void r343afd_check(T343* C){
int _i=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
while (!((_i)==(0))) {
r348afd_check(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)-(1);
}
}
/*FI*/}
/*No:C_PRETTY_PRINTER.msg1*/
T0*oBC861stack_cpc=NULL;
/*No:C_PRETTY_PRINTER.generating_type_used*/
/*No:C_PRETTY_PRINTER.fz_sys*/
/*No:C_PRETTY_PRINTER.msg2*/
void r324put_extern3(T324* C,T0* a1,T0* a2){
r324incr_elt_c_count(C,1);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms76_324));
r544put_string(((T544*)(oBC324out_c)),a1);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms77_324));
r544put_string(((T544*)(oBC324out_c)),a2);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms78_324));
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms79_324));
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\133';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\135';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
}
T0*oBC364unique_string=NULL;
/*No:C_PRETTY_PRINTER.C_expanded_initialize*/
T0*oBC364tmp_file_read=NULL;
/*No:C_PRETTY_PRINTER.us_integer*/
/*No:C_PRETTY_PRINTER.inspect_level*/
void r324cdef_id(T324* C,T0* a1,int a2){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC324tmp_string)),'\43');
r7append(((T7*)(oBC324tmp_string)),((T0*)ms100_470));
r7extend(((T7*)(oBC324tmp_string)),'\40');
r7append(((T7*)(oBC324tmp_string)),a1);
r7append(((T7*)(oBC324tmp_string)),((T0*)ms170_324));
r2append_in(a2,oBC324tmp_string);
r7extend(((T7*)(oBC324tmp_string)),'\n');
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),oBC324tmp_string);
}
void r324put_extern4(T324* C,T0* a1,T0* a2,int a3){
r324incr_elt_c_count(C,1);
r544put_string(((T544*)(oBC324out_c)),a1);
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\40';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_string(((T544*)(oBC324out_c)),a2);
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\133';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_integer(((T544*)(oBC324out_c)),a3);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms80_324));
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms103_470));
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\40';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a2);
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\133';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\135';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
}
void r324use_switch(T324* C,T0* a1,T0* a2,T0* a3,T0* a4){
int _switch=0;
T0* _rf=NULL;
T0* _rc=NULL;
T0* _rt=NULL;
/*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(r324stupid_switch(a1))) {
C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
r576remove(a1);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms118_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='X';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),X291id(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms81_470));
/*]*/
_rt=/*X496*/((T0*)(((T832*)((T832*)a1)))->_result_type/*24*/);
/*IF*/if ((_rt)!=((void*)(NULL))) {
r7copy(((T7*)(oBC324tmp_string)),((T0*)ms151_470));
X291c_type_for_result_in(_rt,oBC324tmp_string);
r7extend(((T7*)(oBC324tmp_string)),'\51');
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),oBC324tmp_string);
/*]*/
}
/*FI*/_rc=r396item(((T396*)a2),1);
_rf=r355dynamic(((T355*)_rc),a1);
r324push_direct(C,_rf,a3,a4);
X496mapping_c(_rf);
r324pop(C);
/*IF*/if ((_rt)!=((void*)(NULL))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
C->_switch_count=((((T324*)C))->_switch_count/*48*/)+(1);
r544put_string(((T544*)(oBC324out_c)),r798name(a1));
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
r324put_position(C,X662start_position(a3));
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
}
/*FI*/X662compile_to_c(a3);
/*IF*/if ((a4)!=((void*)(NULL))) {
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
X431compile_to_c(a4,/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/));
}
/*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)a1)))->_result_type/*24*/))==((void*)(NULL))) {
r544put_string(((T544*)(oBC324out_c)),((T0*)ms134_470));
}
/*FI*/}
/*FI*/}
void r324put_inspect(T324* C){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='z';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),(((T324*)C))->_inspect_level/*72*/);
/*]*/
}
void r324put_string_c(T0* a1){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
/*]*/
r340string_to_c_code(a1,oBC324tmp_string);
r544put_string(((T544*)(oBC324out_c)),oBC324tmp_string);
}
/*No:C_PRETTY_PRINTER.set_oflag*/
/*No:C_PRETTY_PRINTER.call_invariant_end*/
void r324variant_check(T324* C,T0* a1){
r324rs_push_position(C,'6',X662start_position(a1));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms162_324));
/*]*/
X662compile_to_c(a1);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
/*]*/
}
void r324backup_sfw_connect(T324* C,T0* a1,T0* a2){
r7copy(((T7*)(oBC324tmp_string3)),a2);
r7extend(((T7*)(oBC324tmp_string3)),'\176');
r324echo_rename_file(a2,oBC324tmp_string3);
r324sfw_connect(C,a1,a2);
}
/*No:C_PRETTY_PRINTER.split_c_now*/
void r324connect_cecil_out_h(T324* C,T0* a1){
{T544*n=malloc(sizeof(*n));
*n=M544;
/*[IRF3.1make*//*]*/
C->_out_h=(T0*)n;
}
r324sfw_connect(C,(((T324*)C))->_out_h/*52*/,a1);
}
int fBC364make_suffix=0;
T0*oBC364make_suffix=NULL;
T0* r324make_suffix(T324* C){
if (fBC364make_suffix==0){
T0* R=NULL;
fBC364make_suffix=1;
/*IF*/if ((((T0*)ms14_364))==((void*)(r324system_name(C)))) {
R=((T0*)ms33_364);
}
 else if ((((T0*)ms19_364))==((void*)(r324system_name(C)))) {
R=((T0*)ms34_364);
}
 else if ((((T0*)ms18_364))==((void*)(r324system_name(C)))) {
R=((T0*)ms35_364);
}
 else if ((((T0*)ms16_364))==((void*)(r324system_name(C)))) {
R=((T0*)ms36_364);
}
else {
R=((T0*)ms37_364);
}
/*FI*/oBC364make_suffix=R;}
return oBC364make_suffix;}
void r324trace_boolean_expression(T324* C,T0* a1){
r324rs_push_position(C,'2',X662start_position(a1));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms149_324));
/*]*/
X662compile_to_c(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
void r324expanded_attributes(T324* C,T0* a1){
T0* _rf3=NULL;
int _i=0;
T0* _at=NULL;
T0* _a=NULL;
T0* _wa=NULL;
_wa=r355writable_attributes(((T355*)(X291run_class(a1))));
/*IF*/if ((_wa)!=((void*)(NULL))) {
_i=/*X477*/((int)(((T477*)((T477*)_wa)))->_upper/*12*/);
while (!((_i)==(0))) {
_a=/*X477*/((T0*)r477item(((T477*)_wa),_i));
_at=X291run_type(/*X496*/((T0*)(((T832*)((T832*)_a)))->_result_type/*24*/));
_rf3=X291expanded_initializer(_at);
/*IF*/if ((_rf3)!=((void*)(NULL))) {
r324stack_push(C,1011);
/*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
T0* b1=NULL;
int b2=(((T324*)C))->_top/*32*/;
((((T32*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=_a;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
r832mapping_c(((T832*)_rf3));
r324pop(C);
}
/*FI*/_i=(_i)-(1);
}
}
/*FI*/}
void r324put_extern5(T324* C,T0* a1,T0* a2){
r324incr_elt_c_count(C,1);
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms103_470));
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
r544put_string(((T544*)(oBC324out_c)),a1);
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544put_string(((T544*)(oBC324out_c)),a2);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms134_470));
}
T0* r324get_inline_ms(T324* C){
T0* R=NULL;
T0* _e=NULL;
_e=X431expression(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,1);
R=_e;
if(NULL!=(R))switch(((T0*)R)->id) {
case 805: 
break;
default:
R=NULL;
};/*IF*/if ((R)==((void*)(NULL))) {
r683add_position(X662start_position(_e));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms182_324);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*[IRF3.6used_for_inline*/{T0* b1=R;
r256add_last(((T256*)(oBC340dummy_ms_list)),b1);
}/*]*/
return R;
}
/*No:C_PRETTY_PRINTER.echo_make*/
void r324write_make_file(T324* C){
double _score=0;
/*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544disconnect(((T544*)((((T324*)C))->_out_h/*52*/)));
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544disconnect(((T544*)(oBC324out_c)));
r324sfw_connect(C,oBC324out_make,r324path_make(C));
/*IF*/if ((((T324*)C))->_no_split/*112*/) {
r324write_make_file_no_split(C);
}
else {
r324write_make_file_split(C);
}
/*FI*//*IF*/if (!((((T324*)C))->_no_strip/*108*/)) {
r324print_strip(C);
}
/*FI*/r544disconnect(((T544*)(oBC324out_make)));
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
r306file_removing(((T306*)(oBC364echo)),r324path_make(C));
}
else {
r306put_string(((T306*)(oBC364echo)),((T0*)ms177_324));
_score=((((T324*)C))->_direct_call_count/*40*/)+((((T324*)C))->_check_id_count/*36*/);
_score=((_score)/((_score)+((((T324*)C))->_switch_count/*48*/)))*(100.0);
r306put_double_format(((T306*)(oBC364echo)),_score,2);
r306put_character(((T306*)(oBC364echo)),'\45');
r306put_character(((T306*)(oBC364echo)),'\n');
}
/*FI*//*[IRF3.2show_nb_warnings*/r818show_nb(/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/,((T0*)ms9_818));
/*]*/
/*[IRF3.2show_nb_errors*/r818show_nb(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/,((T0*)ms10_818));
/*]*/
r306put_string(((T306*)(oBC364echo)),((T0*)ms136_470));
}
/*No:C_PRETTY_PRINTER.rename_file*/
void r324push_new(T324* C,T0* a1,T0* a2){
r324stack_push(C,1010);
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=a1;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(a2);
/*]*/
C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
}
/*No:C_PRETTY_PRINTER.nb_errors*/
void r324inline_level_decr(T324* C){
C->_inline_level=((((T324*)C))->_inline_level/*76*/)-(1);
}
void r324put_target_as_value(T324* C){
T0* _direct_rf=NULL;
T0* _c0c=NULL;
T0* _args=NULL;
T0* _target=NULL;
T0* _static_rf=NULL;
T0* _rf=NULL;
int _code=0;
_code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
{int z1=_code;

if((1007==z1)){
X662compile_to_c(/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/)));
}
 else 
if((1008==z1)){
X291mapping_cast(/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_current_type/*4*/));
X662compile_to_c(/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/)));
}
 else 
if((1012==z1)){
_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
_target=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
_args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
_static_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_static_rf)),(((T324*)C))->_top/*32*/));
C->_top=((((T324*)C))->_top/*32*/)-(1);
_c0c=_target;
if(NULL!=(_c0c))switch(((T0*)_c0c)->id) {
case 487: 
break;
default:
_c0c=NULL;
};_direct_rf=(((T487*)((T487*)_c0c)))->_run_feature/*20*/;
X496mapping_c(_direct_rf);
C->_top=((((T324*)C))->_top/*32*/)+(1);
/*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_code);
/*]*/
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=_rf;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
T0* b1=_target;
int b2=(((T324*)C))->_top/*32*/;
((((T32*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_args);
/*]*/
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_static_rf));
T0* b1=_static_rf;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
}
 else 
if((1013==z1)){
_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
_args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
C->_top=((((T324*)C))->_top/*32*/)-(1);
r324put_target_as_value(C);
C->_top=((((T324*)C))->_top/*32*/)+(1);
/*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_code);
/*]*/
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=_rf;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_args);
/*]*/
}
 else{r324common_put_target(C);
}}
}
/*No:C_PRETTY_PRINTER.inlined_procedure_count*/
/*No:C_PRETTY_PRINTER.fz_open_c_comment*/
void r324path_c_copy_in(T324* C,T0* a1,int a2){
/*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
/*]*/
r7append(((T7*)a1),r324path_h(C));
r7remove_last(((T7*)a1),(((T7*)((T7*)(((T0*)ms27_364)))))->_count/*4*/);
r2append_in(a2,a1);
r7append(((T7*)a1),((T0*)ms26_364));
}
int fBC324c_compiler=0;
T0*oBC324c_compiler=NULL;
T0* r324c_compiler(T324* C){
if (fBC324c_compiler==0){
T0* R=NULL;
fBC324c_compiler=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,12);
R=(T0*)n;
}
r7copy(((T7*)(oBC324tmp_string)),r324small_eiffel_directory(C));
r324add_directory(C,oBC324tmp_string,((T0*)ms126_470));
r7append(((T7*)(oBC324tmp_string)),((T0*)ms174_324));
r7append(((T7*)(oBC324tmp_string)),r324system_name(C));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC324tmp_string);
r675read_line_in(((T675*)(oBC364tmp_file_read)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
oBC324c_compiler=R;}
return oBC324c_compiler;}
int fBC324path_make=0;
T0*oBC324path_make=NULL;
T0* r324path_make(T324* C){
if (fBC324path_make==0){
T0* R=NULL;
fBC324path_make=1;
R=r7twin(((T7*)(r324path_h(C))));
r7remove_last(((T7*)R),(((T7*)((T7*)(((T0*)ms27_364)))))->_count/*4*/);
r7append(((T7*)R),r324make_suffix(C));
oBC324path_make=R;}
return oBC324path_make;}
void r324inspect_decr(T324* C){
C->_inspect_level=((((T324*)C))->_inspect_level/*72*/)-(1);
}
void r324define_initialize(T324* C){
int _no_check=0;
_no_check=r590no_check(((T590*)(oBC364run_control)));
r306put_string(((T306*)(oBC364echo)),((T0*)ms168_324));
/*[IRF3.2define_extern_tables*/{int _size=0;
_size=(r410max_id(((T410*)(r604id_provider()))))+(1);
/*IF*/if ((((T324*)((T324*)(oBC364cpp))))->_generator_used/*84*/) {
r324put_extern4(((T324*)(oBC364cpp)),((T0*)ms129_470),((T0*)ms40_604),_size);
}
/*FI*//*IF*/if ((((T324*)((T324*)(oBC364cpp))))->_generating_type_used/*80*/) {
r324put_extern4(((T324*)(oBC364cpp)),((T0*)ms129_470),((T0*)ms41_604),_size);
}
/*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
r324put_extern4(((T324*)(oBC364cpp)),((T0*)ms42_604),((T0*)ms43_604),_size);
}
/*FI*/}/*]*/
/*IF*/if (_no_check) {
/*[IRF3.4split_c_now*/r324incr_elt_c_count(C,(1960)+(1));
/*]*/
}
/*FI*/r324put_c_heading(C,((T0*)ms169_324));
/*[IRF3.3swap_on_c*/((((T324*)(C)))->_current_out)=(oBC324out_c);
/*]*/
/*IF*/if (_no_check) {
/*[IRF3.2initialize_path_table*/{T0* _rc=NULL;
T0* _bc=NULL;
int _i=0;
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms44_604));
/*]*/
_i=1;
while (!((_i)>((((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*40*/))) {
_bc=r718item(((T718*)(oBC604base_class_dictionary)),_i);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms45_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T605*)((T605*)_bc)))->_id/*0*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms46_604));
/*]*/
r324put_string_c((((T605*)((T605*)_bc)))->_path/*4*/);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
_i=(_i)+(1);
}
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
/*IF*/if (((((T355*)((T355*)_rc)))->_at_run_time/*8*/)&&(X291is_generic((((T355*)((T355*)_rc)))->_current_type/*0*/))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms47_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms48_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T605*)((T605*)(r355base_class(((T355*)_rc))))))->_id/*0*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms49_604));
/*]*/
}
/*FI*/_i=(_i)+(1);
}
}/*]*/
}
/*FI*//*IF*/if ((((T324*)C))->_generator_used/*84*/) {
/*[IRF3.2initialize_generator*/{T0* _rc=NULL;
T0* _bc=NULL;
int _i=0;
_i=1;
while (!((_i)>((((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*40*/))) {
_bc=r718item(((T718*)(oBC604base_class_dictionary)),_i);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms50_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T605*)((T605*)_bc)))->_id/*0*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms51_604));
/*]*/
r324put_string_c((((T451*)((T451*)((((T605*)((T605*)_bc)))->_base_class_name/*24*/))))->_to_string/*0*/);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
/*]*/
_i=(_i)+(1);
}
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
/*IF*/if (((((T355*)((T355*)_rc)))->_at_run_time/*8*/)&&(X291is_generic((((T355*)((T355*)_rc)))->_current_type/*0*/))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms52_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms53_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T605*)((T605*)(r355base_class(((T355*)_rc))))))->_id/*0*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms54_604));
/*]*/
}
/*FI*/_i=(_i)+(1);
}
}/*]*/
}
/*FI*//*IF*/if ((((T324*)C))->_generating_type_used/*80*/) {
/*[IRF3.2initialize_generating_type*/{T0* _rc=NULL;
int _i=0;
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
/*IF*/if ((((T355*)((T355*)_rc)))->_at_run_time/*8*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms55_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms56_604));
/*]*/
/*IF*/if (X291is_generic((((T355*)((T355*)_rc)))->_current_type/*0*/)) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms57_604));
/*]*/
r324put_string_c(X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms58_604));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\135';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
}
/*FI*/_i=(_i)+(1);
}
}/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms146_470));
/*]*/
/*IF*/if (_no_check) {
/*[IRF3.4split_c_now*/r324incr_elt_c_count(C,(1960)+(1));
/*]*/
}
/*FI*/}
void r324push_same_target(T324* C,T0* a1,T0* a2){
r324stack_push(C,1013);
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=a1;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(a2);
/*]*/
}
/*No:C_PRETTY_PRINTER.swap_on_c*/
void r324add_directory(T324* C,T0* a1,T0* a2){
/*IF*/if ((((T0*)ms17_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms19_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms15_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if ((((T0*)ms14_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms16_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms13_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms18_364))==((void*)(r324system_name(C)))) {
r7set_last(((T7*)a1),'\135');
r7remove_last(((T7*)a1),1);
r7set_last(((T7*)a1),'\56');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\135');
}
/*FI*/}
/*No:C_PRETTY_PRINTER.static_expression_count*/
/*No:C_PRETTY_PRINTER.C_inline_dca*/
void r324write_make_file_split(T324* C){
int _i=0;
_i=(((T324*)C))->_split_count/*88*/;
while (!((_i)==(0))) {
r324path_c_copy_in(C,oBC324tmp_string,_i);
r7copy(((T7*)(oBC324tmp_string2)),oBC324tmp_string);
r7extend(((T7*)(oBC324tmp_string2)),'\176');
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string3)))))->_count)=(0);
/*]*/
r324path_o_in(C,oBC324tmp_string3,_i);
/*IF*/if ((r324file_exists(oBC324tmp_string3))&&(r670same_files(oBC324tmp_string,oBC324tmp_string2))) {
r306put_string(((T306*)(oBC364echo)),((T0*)ms135_470));
r306put_string(((T306*)(oBC364echo)),oBC324tmp_string3);
r306put_string(((T306*)(oBC364echo)),((T0*)ms183_324));
}
else {
r306file_removing(((T306*)(oBC364echo)),oBC324tmp_string3);
r324call_c_compiler(C);
r7append(((T7*)(oBC324tmp_string)),((T0*)ms184_324));
r7append(((T7*)(oBC324tmp_string)),oBC324tmp_string2);
r7remove_last(((T7*)(oBC324tmp_string)),1);
/*[IRF3.2echo_make*/r544put_string(((T544*)(oBC324out_make)),oBC324tmp_string);
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_make));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/_i=(_i)-(1);
r306file_removing(((T306*)(oBC364echo)),oBC324tmp_string2);
}
r324call_c_linker(C);
r324add_oflag(C);
_i=1;
while (!((_i)>((((T324*)C))->_split_count/*88*/))) {
r324path_o_in(C,oBC324tmp_string,_i);
r7extend(((T7*)(oBC324tmp_string)),'\40');
_i=(_i)+(1);
}
r324tmp_string_object_library(C);
/*[IRF3.2echo_make*/r544put_string(((T544*)(oBC324out_make)),oBC324tmp_string);
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_make));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:C_PRETTY_PRINTER.windows_system*/
/*No:C_PRETTY_PRINTER.fz_00*/
void r324incr_real_procedure_count(T324* C){
C->_real_procedure_count=((((T324*)C))->_real_procedure_count/*16*/)+(1);
}
void r324inside_twin(T324* C,T0* a1){
r324stack_push(C,1015);
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=a1;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
X496mapping_c(a1);
r324pop(C);
}
/*No:C_PRETTY_PRINTER.rs_push_result*/
void r324put_comment(T324* C,T0* a1){
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms118_470));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),a1);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms81_470));
/*]*/
}
/*No:C_PRETTY_PRINTER.fz_01*/
void r324define_used_basics(T324* C){
int _no_check=0;
_no_check=r590no_check(((T590*)(oBC364run_control)));
r306put_string(((T306*)(oBC364echo)),((T0*)ms113_324));
/*IF*/if ((((T324*)C))->_sprintf_double_flag/*128*/) {
r324put_extern1(C,((T0*)ms114_324));
}
/*FI*//*IF*/if (r604string_at_run_time()) {
/*[IRF3.2define_se_ms*/r7copy(((T7*)(oBC340header)),((T0*)ms1_340));
r7copy(((T7*)(oBC340body)),((T0*)ms129_470));
r7extend(((T7*)(oBC340body)),'s');
r7extend(((T7*)(oBC340body)),'\75');
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
((/*UT*/(void)(((T491*)(r340type_string())))));
r491gc_call_new_in(oBC340body);
r7append(((T7*)(oBC340body)),((T0*)ms134_470));
}
else {
r7append(((T7*)(oBC340body)),((T0*)ms2_340));
/*IF*/if (r355is_tagged(((T355*)(r491run_class(((T491*)(r340type_string()))))))) {
r7append(((T7*)(oBC340body)),((T0*)ms3_340));
}
/*FI*/}
/*FI*/r7append(((T7*)(oBC340body)),((T0*)ms4_340));
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
r7append(((T7*)(oBC340body)),((T0*)ms115_470));
r7extend(((T7*)(oBC340body)),'9');
}
else {
r7append(((T7*)(oBC340body)),((T0*)ms88_473));
}
/*FI*/r7append(((T7*)(oBC340body)),((T0*)ms5_340));
r324put_c_function(((T324*)(oBC364cpp)),oBC340header,oBC340body);
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms6_340),((T0*)ms7_340));
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms8_340),((T0*)ms9_340));
/*]*/
}
/*FI*//*[IRF3.2c_define*/{int _i=0;
_i=1;
while (!((_i)>((((T79*)((T79*)(oBC94manifest_array_types))))->_count/*40*/))) {
r94c_define_for(r79item(((T79*)(oBC94manifest_array_types)),_i));
_i=(_i)+(1);
}
}/*]*/
/*IF*/if (_no_check) {
r324put_c_function(C,((T0*)ms115_324),((T0*)ms116_324));
}
else {
r324put_c_function(C,((T0*)ms117_324),((T0*)ms118_324));
}
/*FI*//*IF*/if (_no_check) {
r324put_c_function(C,((T0*)ms119_324),((T0*)ms120_324));
r324put_c_function(C,((T0*)ms121_324),((T0*)ms122_324));
r324put_c_function(C,((T0*)ms123_324),((T0*)ms124_324));
r324put_c_function(C,((T0*)ms125_324),((T0*)ms126_324));
r324put_c_function(C,((T0*)ms127_324),((T0*)ms128_324));
r324put_c_function(C,((T0*)ms129_324),((T0*)ms130_324));
}
/*FI*/r324put_c_function(C,((T0*)ms131_324),((T0*)ms132_324));
/*[IRF3.2c_define*/{int _switch=0;
int _total=0;
int _count2=0;
int _count1=0;
T0* _dictionary2=NULL;
/*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) {
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
/*[IRF3.4split_c_now*/r324incr_elt_c_count(((T324*)(oBC364cpp)),(1960)+(1));
/*]*/
_count1=1;
while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) {
_dictionary2=r338item(((T338*)(oBC576dictionary)),_count1);
_count2=1;
while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) {
r798c_define(_switch,r199item(((T199*)_dictionary2),_count2));
_total=(_total)+(1);
r324incr_elt_c_count(((T324*)(oBC364cpp)),20);
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
/*[IRF3.4split_c_now*/r324incr_elt_c_count(((T324*)(oBC364cpp)),(1960)+(1));
/*]*/
}
/*FI*/r306print_count(((T306*)(oBC364echo)),((T0*)ms1_576),_total);
}/*]*/
/*IF*/if (((((T324*)C))->_to_expanded_mem/*64*/)!=((void*)(NULL))) {
r324define_to_expanded(C);
}
/*FI*//*IF*/if (((((T324*)C))->_to_reference_mem/*60*/)!=((void*)(NULL))) {
r324define_to_reference(C);
}
/*FI*//*IF*/if (((((T324*)C))->_sure_void_count/*44*/)>(0)) {
r306put_string(((T306*)(oBC364echo)),((T0*)ms133_324));
r306put_integer(((T306*)(oBC364echo)),(((T324*)C))->_sure_void_count/*44*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms134_324));
}
/*FI*/r306print_count(((T306*)(oBC364echo)),((T0*)ms135_324),(((T324*)C))->_direct_call_count/*40*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms136_324),(((T324*)C))->_check_id_count/*36*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms137_324),(((T324*)C))->_switch_count/*48*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms138_324),(((T324*)C))->_inlined_procedure_count/*0*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms139_324),(((T324*)C))->_inlined_function_count/*4*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms140_324),(((T324*)C))->_static_expression_count/*24*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms141_324),(((T324*)C))->_real_procedure_count/*16*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms142_324),(((T324*)C))->_real_function_count/*20*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms143_324),(((T324*)C))->_procedure_count/*8*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms144_324),(((T324*)C))->_function_count/*12*/);
/*IF*/if (((((T324*)C))->_pre_computed_once/*28*/)!=((void*)(NULL))) {
r306print_count(((T306*)(oBC364echo)),((T0*)ms145_324),r365count(((T365*)((((T324*)C))->_pre_computed_once/*28*/))));
}
/*FI*/r306put_string(((T306*)(oBC364echo)),((T0*)ms146_324));
r306put_integer(((T306*)(oBC364echo)),/*(IRF4.6count*/((((T226*)((T226*)(oBC861stack_code))))->_upper/*8*/)+(1)/*)*/);
r306put_character(((T306*)(oBC364echo)),'\n');
r324define_initialize(C);
}
/*No:C_PRETTY_PRINTER.fz_gc_info*/
/*No:C_PRETTY_PRINTER.fz_11*/
/*No:C_PRETTY_PRINTER.fz_02*/
void r324incr_inlined_function_count(T324* C){
C->_inlined_function_count=((((T324*)C))->_inlined_function_count/*4*/)+(1);
}
/*No:C_PRETTY_PRINTER.check_id_count*/
T0* r324get_environment_variable(T324* C,T0* a1){
T0* R=NULL;
void* _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
void r324put_c_function(T324* C,T0* a1,T0* a2){
r324incr_elt_c_count(C,15);
r324put_c_heading(C,a1);
r544put_string(((T544*)(oBC324out_c)),a2);
r544put_string(((T544*)(oBC324out_c)),((T0*)ms146_470));
}
/*No:C_PRETTY_PRINTER.fz_12*/
int fBC324path_c=0;
T0*oBC324path_c=NULL;
T0* r324path_c(T324* C){
if (fBC324path_c==0){
T0* R=NULL;
fBC324path_c=1;
/*IF*/if ((((T324*)C))->_no_split/*112*/) {
R=r7twin(((T7*)(r324path_h(C))));
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)R);
T0* b1=((T0*)ms27_364);
r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/);
}/*]*/
r7append(((T7*)R),((T0*)ms26_364));
}
else {
C->_split_count=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,((((T7*)((T7*)(r324path_h(C)))))->_count/*4*/)+(2));
R=(T0*)n;
}
r324path_c_copy_in(C,R,(((T324*)C))->_split_count/*88*/);
}
/*FI*/oBC324path_c=R;}
return oBC324path_c;}
/*No:C_PRETTY_PRINTER.fz_c_no_args_procedure*/
void r324check_id(T324* C,T0* a1,int a2){
/*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),a2);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms161_324));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
X662compile_to_c(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_position(C,X662start_position(a1));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms147_470));
/*]*/
C->_check_id_count=((((T324*)C))->_check_id_count/*36*/)+(1);
}
else {
X662compile_to_c(a1);
C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
}
/*FI*/}
T0*oBC364manifest_array_pool=NULL;
/*No:C_PRETTY_PRINTER.fz_13*/
void r324define_to_reference(T324* C){
T0* _dest_type=NULL;
T0* _src_type=NULL;
T0* _dest_rc=NULL;
T0* _src_rc=NULL;
int _i=0;
_i=1;
while (!((_i)>((((T396*)((T396*)((((T324*)C))->_to_reference_mem/*60*/))))->_upper/*8*/))) {
_src_rc=r396item(((T396*)((((T324*)C))->_to_reference_mem/*60*/)),_i);
_i=(_i)+(1);
_dest_rc=r396item(((T396*)((((T324*)C))->_to_reference_mem/*60*/)),_i);
_i=(_i)+(1);
_src_type=(((T355*)((T355*)_src_rc)))->_current_type/*0*/;
_dest_type=(((T355*)((T355*)_dest_rc)))->_current_type/*0*/;
r306put_string(((T306*)(oBC364echo)),((T0*)ms187_324));
r306put_string(((T306*)(oBC364echo)),X291run_time_mark(_src_type));
r306put_string(((T306*)(oBC364echo)),((T0*)ms89_324));
r306put_string(((T306*)(oBC364echo)),X291run_time_mark(_dest_type));
r306put_string(((T306*)(oBC364echo)),((T0*)ms186_324));
r7copy(((T7*)(oBC324tmp_string)),((T0*)ms128_470));
r324conversion_name((((T355*)((T355*)_dest_rc)))->_id/*4*/);
r7extend(((T7*)(oBC324tmp_string)),'\50');
X291c_type_for_target_in(_src_type,oBC324tmp_string);
r7append(((T7*)(oBC324tmp_string)),((T0*)ms90_324));
r324put_c_heading(C,oBC324tmp_string);
/*[IRF3.3swap_on_c*/((((T324*)(C)))->_current_out)=(oBC324out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
/*]*/
X291c_type_for_target_in(_dest_type,oBC324tmp_string);
r7append(((T7*)(oBC324tmp_string)),((T0*)ms91_324));
/*IF*/if (r355is_tagged(((T355*)_dest_rc))) {
r7extend(((T7*)(oBC324tmp_string)),'d');
r7append(((T7*)(oBC324tmp_string)),((T0*)ms53_470));
r7extend(((T7*)(oBC324tmp_string)),'\75');
r2append_in((((T355*)((T355*)_dest_rc)))->_id/*4*/,oBC324tmp_string);
r7extend(((T7*)(oBC324tmp_string)),'\73');
}
/*FI*/r7append(((T7*)(oBC324tmp_string)),((T0*)ms92_324));
r544put_string(((T544*)(oBC324out_c)),oBC324tmp_string);
}
}
void r324define_main(T324* C,T0* a1){
T0* _ct=NULL;
T0* _rc=NULL;
int _id=0;
r306put_string(((T306*)(oBC364echo)),((T0*)ms97_324));
_ct=(((T832*)((T832*)a1)))->_current_type/*4*/;
_id=X291id(_ct);
_rc=r832run_class(((T832*)a1));
/*[IRF3.3swap_on_c*/((((T324*)(C)))->_current_out)=(oBC324out_c);
/*]*/
/*[IRF3.4split_c_now*/r324incr_elt_c_count(C,(1960)+(1));
/*]*/
r324put_extern1(C,((T0*)ms98_324));
r324put_extern1(C,((T0*)ms99_324));
/*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
r324put_extern1(C,((T0*)ms100_324));
r324put_extern2(C,((T0*)ms101_324),'0');
}
/*FI*//*IF*/if ((((T0*)ms18_364))==((void*)(r324system_name(C)))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms133_470));
/*]*/
}
else {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms111_470));
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms102_324));
/*]*/
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
/*[IRF3.2initialize*/{T0* _rcd=NULL;
T0* _rc=NULL;
int _i=0;
r7copy(((T7*)(oBC548body)),((T0*)ms28_548));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC548body);
/*]*/
_rcd=oBC604run_class_dictionary;
_i=1;
while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
_rc=r250item(((T250*)_rcd),_i);
r355gc_initialize(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms103_324));
/*]*/
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms104_324));
/*]*/
}
/*FI*/r548put_new(((T548*)(oBC364gc_handler)),_rc);
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms105_324));
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms106_324));
/*]*/
/*[IRF3.2c_call_initialize*/{int _nb=0;
int _i=0;
_i=(((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/;
_nb=1;
while (!((_i)<(0))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms12_340));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_nb);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms93_470));
/*]*/
_i=(_i)-(20);
_nb=(_nb)+(1);
}
}/*]*/
/*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms107_324));
/*]*/
}
/*FI*/r324expanded_attributes(C,_ct);
/*IF*/if ((((T324*)C))->_sprintf_double_flag/*128*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms108_324));
/*]*/
}
/*FI*/r324once_pre_computing(C);
/*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms109_324));
/*]*/
}
/*FI*/r324push_new(C,a1,NULL);
r832mapping_c(((T832*)a1));
r324pop(C);
/*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
/*IF*/if (((((T355*)((T355*)_rc)))->_invariant_assertion/*16*/)!=((void*)(NULL))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='i';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),_id);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
}
/*FI*/}
/*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms110_324));
/*]*/
}
/*FI*//*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms106_470));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms93_470));
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms111_324));
/*]*/
r324incr_elt_c_count(C,10);
r306put_string(((T306*)(oBC364echo)),((T0*)ms112_324));
r306put_integer(((T306*)(oBC364echo)),/*(IRF4.9count*/(((T794*)((T794*)(oBC902memory))))->_count/*32*//*)*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms241_470));
/*[IRF3.2c_define*/{T0* _ms=NULL;
int _nb=0;
int _j=0;
int _i=0;
r306print_count(((T306*)(oBC364echo)),((T0*)ms10_340),/*(IRF4.6count*/((((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/)+(1)/*)*/);
_i=(((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/;
while (!((_i)<(0))) {
_ms=/*(IRF4.6item*/((((T256*)((T256*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/;
/*IF*/if (r340not_dummy(_ms)) {
r7copy(((T7*)(oBC340header)),((T0*)ms129_470));
r7append(((T7*)(oBC340header)),(((T805*)((T805*)_ms)))->_mapping_c/*32*/);
r324put_extern1(((T324*)(oBC364cpp)),oBC340header);
}
/*FI*/_i=(_i)-(1);
}
_i=(((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/;
_nb=1;
while (!((_i)<(0))) {
r7copy(((T7*)(oBC340header)),((T0*)ms133_470));
r7extend(((T7*)(oBC340header)),'\40');
r7append(((T7*)(oBC340header)),((T0*)ms12_340));
r2append_in(_nb,oBC340header);
r7append(((T7*)(oBC340header)),((T0*)ms97_470));
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC340body)))))->_count)=(0);
/*]*/
_j=20;
while (!(((_j)==(0))||((_i)<(0)))) {
_ms=/*(IRF4.6item*/((((T256*)((T256*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/;
/*IF*/if (r340not_dummy(_ms)) {
r7append(((T7*)(oBC340body)),(((T805*)((T805*)_ms)))->_mapping_c/*32*/);
r7append(((T7*)(oBC340body)),((T0*)ms11_340));
r2append_in(/*(IRF4.6count*/(((T7*)((T7*)((((T805*)((T805*)_ms)))->_to_string/*16*/))))->_count/*4*//*)*/,oBC340body);
r7extend(((T7*)(oBC340body)),'\54');
r340string_to_c_code((((T805*)((T805*)_ms)))->_to_string/*16*/,oBC340body);
r7append(((T7*)(oBC340body)),((T0*)ms148_470));
}
/*FI*/_j=(_j)-(1);
_i=(_i)-(1);
}
r324put_c_function(((T324*)(oBC364cpp)),oBC340header,oBC340body);
_nb=(_nb)+(1);
}
}/*]*/
}
/*No:C_PRETTY_PRINTER.fz_04*/
T0*oBC364system_list=NULL;
void r324put_target_as_target(T324* C){
int _ivt_flag=0;
T0* _tt=NULL;
T0* _args=NULL;
T0* _target=NULL;
T0* _rf=NULL;
int _code=0;
_code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
{int z1=_code;

if((1007==z1)){
_target=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
_tt=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_current_type/*4*/);
X662mapping_c_target(_target,_tt);
}
 else 
if((1008==z1)){
_target=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
_tt=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/);
/*IF*/if (r590boost(((T590*)(oBC364run_control)))) {
X662mapping_c_target(_target,_tt);
}
else {
_ivt_flag=r324call_invariant_start(_tt);
r324check_id(C,_target,X496id(_rf));
/*IF*/if (_ivt_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*FI*/}
 else 
if((1012==z1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
X291mapping_cast(/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_current_type/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_target_as_value(C);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms147_470));
/*]*/
}
 else 
if((1013==z1)){
_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
_args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
C->_top=((((T324*)C))->_top/*32*/)-(1);
r324put_target_as_target(C);
C->_top=((((T324*)C))->_top/*32*/)+(1);
/*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_code);
/*]*/
/*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
T0* b1=_rf;
int b2=(((T324*)C))->_top/*32*/;
((((T321*)C1))->_storage/*4*/)[b2]=(b1);
}/*]*/
/*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_args);
/*]*/
}
 else{r324common_put_target(C);
}}
}
/*No:C_PRETTY_PRINTER.fz_define*/
int fBC364system_name=0;
T0*oBC364system_name=NULL;
T0* r324system_name(T324* C){
if (fBC364system_name==0){
T0* R=NULL;
int _i=0;
fBC364system_name=1;
r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
r7set_last(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
r7set_last(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
r7set_last(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
r7set_last(((T7*)(oBC364tmp_path)),'\135');
r7remove_last(((T7*)(oBC364tmp_path)),1);
r7extend(((T7*)(oBC364tmp_path)),'\56');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\135');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r306w_put_string(((T0*)ms20_364));
r306w_put_string(((T0*)ms127_470));
r306w_put_string(((T0*)ms21_364));
r306w_put_string(r324small_eiffel_directory(C));
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
R=oBC762last_string;
_i=r52index_of(((T52*)(oBC364system_list)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
/*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
r306w_put_string(((T0*)ms22_364));
r306w_put_string(oBC364tmp_path);
r306w_put_string(((T0*)ms23_364));
_i=1;
while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
r306w_put_character('\n');
_i=(_i)+(1);
}
}
else {
R=r52item(((T52*)(oBC364system_list)),_i);
r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
r306put_string(((T306*)(oBC364echo)),R);
r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
}
/*FI*/oBC364system_name=R;}
return oBC364system_name;}
/*No:C_PRETTY_PRINTER.fz_14*/
/*No:C_PRETTY_PRINTER.fz_05*/
void r324error_void_or_bad_type(T324* C,T0* a1){
r683add_position(X662start_position(a1));
/*[IRF3.6append*/{T0* b1=((T0*)ms151_324);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(X291run_type(X662result_type(a1)),((T0*)ms152_324));
r683print_as_warning(((T683*)(oBC364eh)));
/*IF*/if (r590boost(((T590*)(oBC364run_control)))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms153_324));
/*]*/
}
else {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms154_324));
/*]*/
X662compile_to_c(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_position(C,X662start_position(a1));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
void r324cecil_define(T324* C){
T0* _save_out_h=NULL;
r625c_define_internals(((T625*)(oBC364cecil_pool)));
_save_out_h=(((T324*)C))->_out_h/*52*/;
r625c_define_users(((T625*)(oBC364cecil_pool)));
C->_out_h=_save_out_h;
}
void r324rs_pop_position(T324* C){
/*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms160_324));
/*]*/
}
/*FI*/}
/*No:C_PRETTY_PRINTER.output_name*/
/*No:C_PRETTY_PRINTER.us_real*/
T0*oBC324tmp_string=NULL;
/*No:C_PRETTY_PRINTER.us_result*/
/*No:C_PRETTY_PRINTER.C_same_target*/
/*No:C_PRETTY_PRINTER.to_expanded_mem*/
/*No:C_PRETTY_PRINTER.os2_system*/
/*No:C_PRETTY_PRINTER.fz_17*/
void r324tmp_string_object_library(T324* C){
int _i=0;
/*IF*/if (((((T324*)C))->_c_object_list/*120*/)!=((void*)(NULL))) {
_i=(((T52*)((T52*)((((T324*)C))->_c_object_list/*120*/))))->_lower/*12*/;
while (!((_i)>((((T52*)((T52*)((((T324*)C))->_c_object_list/*120*/))))->_upper/*8*/))) {
r7extend(((T7*)(oBC324tmp_string)),'\40');
r7append(((T7*)(oBC324tmp_string)),r52item(((T52*)((((T324*)C))->_c_object_list/*120*/)),_i));
_i=(_i)+(1);
}
}
/*FI*//*IF*/if (((((T324*)C))->_c_library_list/*124*/)!=((void*)(NULL))) {
_i=(((T52*)((T52*)((((T324*)C))->_c_library_list/*124*/))))->_lower/*12*/;
while (!((_i)>((((T52*)((T52*)((((T324*)C))->_c_library_list/*124*/))))->_upper/*8*/))) {
r7extend(((T7*)(oBC324tmp_string)),'\40');
r7append(((T7*)(oBC324tmp_string)),r52item(((T52*)((((T324*)C))->_c_library_list/*124*/)),_i));
_i=(_i)+(1);
}
}
/*FI*/}
void r324pop(T324* C){
C->_top=((((T324*)C))->_top/*32*/)-(1);
}
void r324add_c_object(T324* C,T0* a1){
/*IF*/if (((((T324*)C))->_c_object_list/*120*/)==((void*)(NULL))) {
C->_c_object_list=se_ma52(1,a1);
}
 else if (r52has(((T52*)((((T324*)C))->_c_object_list/*120*/)),a1)) {
}
else {
r52add_last(((T52*)((((T324*)C))->_c_object_list/*120*/)),a1);
}
/*FI*/}
/*No:C_PRETTY_PRINTER.put_string*/
T0*oBC861stack_args=NULL;
/*No:C_PRETTY_PRINTER.fz_18*/
void r324swap_on_h(T324* C){
C->_current_out=(((T324*)C))->_out_h/*52*/;
}
/*No:C_PRETTY_PRINTER.top*/
/*No:C_PRETTY_PRINTER.C_check_id*/
int fBC324path_h=0;
T0*oBC324path_h=NULL;
T0* r324path_h(T324* C){
if (fBC324path_h==0){
T0* R=NULL;
fBC324path_h=1;
R=(((T590*)((T590*)(oBC364run_control))))->_root_class/*8*/;
/*IF*/if ((R)==((void*)(NULL))) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms171_324);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
R=r324to_bcn(R);
r7to_lower(((T7*)R));
/*IF*/if ((((T0*)ms14_364))==((void*)(r324system_name(C)))) {
while (!(((((T7*)((T7*)R)))->_count/*4*/)<=(4))) {
r7remove_last(((T7*)R),1);
}
}
/*FI*/r7append(((T7*)R),((T0*)ms27_364));
}
/*FI*/oBC324path_h=R;}
return oBC324path_h;}
void r324call_c_linker(T324* C){
r7copy(((T7*)(oBC324tmp_string)),r324c_linker(C));
r7extend(((T7*)(oBC324tmp_string)),'\40');
/*IF*/if (((((T324*)C))->_c_compiler_options/*116*/)!=((void*)(NULL))) {
r7append(((T7*)(oBC324tmp_string)),(((T324*)C))->_c_compiler_options/*116*/);
}
/*FI*/}
/*No:C_PRETTY_PRINTER.c_compiler_options*/
/*No:C_PRETTY_PRINTER.put_character*/
void r324incr_elt_c_count(T324* C,int a1){
/*IF*/if ((((T324*)C))->_no_split/*112*/) {
}
else {
C->_elt_c_count=((((T324*)C))->_elt_c_count/*92*/)+(a1);
/*IF*/if (((((T324*)C))->_elt_c_count/*92*/)>(1960)) {
C->_elt_c_count=0;
/*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
r544disconnect(((T544*)(oBC324out_c)));
C->_split_count=((((T324*)C))->_split_count/*88*/)+(1);
r324path_c_copy_in(C,r324path_c(C),(((T324*)C))->_split_count/*88*/);
r324backup_sfw_connect(C,oBC324out_c,r324path_c(C));
r324add_first_include(C);
/*IF*/if (((((T324*)C))->_current_out/*56*/)!=((void*)((((T324*)C))->_out_h/*52*/))) {
C->_current_out=oBC324out_c;
}
/*FI*/}
/*FI*/}
/*FI*/}
/*No:C_PRETTY_PRINTER.sprintf_double_flag*/
/*No:C_PRETTY_PRINTER.us_double*/
/*No:C_PRETTY_PRINTER.macintosh_system*/

