/*
ANSI C code generated by SmallEiffel The GNU Eiffel Compiler
Release -0.76 (Saturday 11th november 2000)
Copyright (C), 1994-2000 - LORIA - UHP - CRIN - INRIA - FRANCE
Dominique COLNET and Suzanne COLLIN - colnet@loria.fr
http://SmallEiffel.loria.fr
*/
#ifdef __cplusplus
}
#endif
#include "compile_to_c.h"
#ifdef __cplusplus
extern "C" {
#endif


void r150attribute_writer(T150* C,T0* a1,T0* a2,T0* a3){
T0* _body=NULL;
T0* _assignment=NULL;
T0* _formal_arg_list=NULL;
T0* _ad=NULL;
T0* _d1=NULL;
T0* _a2=NULL;
T0* _a1=NULL;
T0* _fnl=NULL;
T104 _sp={NULL,0};
/*[IRF3.6set_in*/{T104* C1=&_sp;
T0* b1=a1;
r104set(C1,1,1,(/*RF2*/(((T61*)b1))->_id/*0*/),b1);
}/*]*/
(/*SFN*/C->_base_class)=a1;
{T118*n=((T118*)se_malloc(sizeof(*n))/*8*/);
*n=M118;
/*[IRF3.3make_1*/((((T118*)(n)))->_first)=(a2);
/*]*/
_fnl=((T0*)n);
}
{T123*n=((T123*)se_malloc(sizeof(*n))/*24*/);
*n=M123;
r123make(n,_sp,((T0*)ms21_16639));
_a1=((T0*)n);
}
{T407*n=((T407*)se_malloc(sizeof(*n))/*8*/);
*n=M407;
r407make(n,_a1,/*(IRF4.6result_type*/(/*RF2*/(((T152*)((/*RF2*/(((T143*)a3))->_run_feature_2/*16*/))))->_result_type/*32*/)/*)*/);
_d1=((T0*)n);
}
_ad=se_ma433(1,
_d1);
{T121*n=((T121*)se_malloc(sizeof(*n))/*12*/);
*n=M121;
r121make(n,_ad);
_formal_arg_list=((T0*)n);
}
{T275*n=((T275*)se_malloc(sizeof(*n))/*20*/);
*n=M275;
r275refer_to(n,_sp,_formal_arg_list,1);
_a2=((T0*)n);
}
{T379*n=((T379*)se_malloc(sizeof(*n))/*12*/);
*n=M379;
r379make(n,a3,_a2);
_assignment=((T0*)n);
}
{T159*n=((T159*)se_malloc(sizeof(*n))/*16*/);
*n=M159;
r159make(n,NULL,_assignment,NULL);
_body=((T0*)n);
}
r150make(C,_fnl,_formal_arg_list,NULL,NULL,NULL,NULL,_body);
{T200*n=((T200*)se_malloc(sizeof(*n))/*12*/);
*n=M200;
/*[IRF3.1omitted*//*]*/
(/*SFN*/C->_clients)=((T0*)n);
}
}


T0* r150to_run_feature(T150* C,T0* a1,T0* a2){
T0* R=NULL;
{T154*n=((T154*)se_malloc(sizeof(*n))/*60*/);
*n=M154;
r154make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
return R;
}


void r150set_header_comment(T150* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((/*RF2*/(((T164*)a1))->_list/*8*/))))/*)*/)>(1))){
(/*SFN*/C->_end_comment)=a1;
}
/*FI]*/
}


T6 r150is_not_mergeable_with(T150* C,T0* a1){
T6 R=0;
/*[IF*/
{/*AT*/R=(X99result_type(a1))!=((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1393094289);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
}
else{
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
R=(X99arguments(a1))!=((void*)(NULL));
}
else{
R=(X99arguments(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1854646737);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
}
 else if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
}
 else if((/*(IRF4.6count*/r128count(((T128*)((/*RF2*/((T121*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))/*)*/)!=(/*(IRF4.6count*/r128count(((T128*)((/*RF2*/((T121*)(X99arguments(a1)))->_flat_list/*8*/))))/*)*/)){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1060258809);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
R=1;
}
/*FI]*/
}
/*FI]*/
r150merge_header_comments(C,a1);
return R;
}


T104 r150start_position(T150* C){
T104 R={NULL,0};
{T104 se_tmp0;
R=(*(se_tmp0=X117start_position(/*(IRF4.6first_name*/(/*RF2*/(((T118*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}


void r265make(T265* C,T2 a1,T104 a2){
(/*SFN*/C->_value)=a1;
(/*SFN*/C->_start_position)=a2;
}


T2 r265isa_dca_inline_argument(void){
T2 R=0;
/*[IF*/
{/*AT*/R=-(1);
}
/*FI]*/
return R;
}
T0*oBC265result_type=NULL;
int fBC265result_type=0;


T0* r265result_type(void){
if(fBC265result_type==0){fBC265result_type=1;{
T104 _unknown_position={NULL,0};
{T364*n=((T364*)se_malloc(sizeof(*n))/*16*/);
*n=M364;
oBC265result_type=((T0*)n);
r364make(n,_unknown_position);
}
}}
return oBC265result_type;
}


T0* r265to_real_constant(T265* C){
T0* R=NULL;
{T104 se_tmp0;
{T264*n=((T264*)se_malloc(sizeof(*n))/*16*/);
*n=M264;
r264make(n,(/*RF2*/(C)->_start_position/*4*/),r2to_string((/*RF2*/(C)->_value/*12*/)));
R=((T0*)n);
}
}
return R;
}


void r265unary_minus(T265* C){
(/*SFN*/C->_value)=-((/*RF2*/(C)->_value/*12*/));
}


T0* r265add_comment(T265* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((/*RF2*/(((T164*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T323*n=((T323*)se_malloc(sizeof(*n))/*12*/);
*n=M323;
r323make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


T0* r265to_runnable(T265* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
R=((T0*)(C));
_t=r364to_runnable((T364*)(r265result_type()),a1);
return R;
}


T0* r265static_result_base_class(void){
T0* R=NULL;
R=r59get_class(((T0*)ms21_1447702));
return R;
}


T0* r413clients_for(T413* C,T0* a1){
T0* R=NULL;
T0* _ei=NULL;
T2 _i=0;
_i=(/*RF2*/((T412*)((/*RF2*/(C)->_items/*8*/)))->_upper/*8*/);
while (!((_i)==(0)))
{
_ei=r412item((T412*)((/*RF2*/(C)->_items/*8*/)),_i);
/*[IF*/
if(r411affect(((T411*)_ei),a1)){
/*[IF*/
if((R)==((void*)(NULL))){
R=(/*RF2*/(((T411*)_ei))->_clients/*0*/);
}
else{
R=r200merge_with(((T200*)R),(/*RF2*/(((T411*)_ei))->_clients/*0*/));
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}


void r413make(T413* C,T104 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_items)=a2;
}


void r217error(T104 a1,T0* a2){
r82add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_error((T82*)(oBC19eh));
}


void r217compile_to_c(T217* C){
T0* _e=NULL;
T2 _i=0;
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms217_53106191));
/*]*/
/*[IRF3.5put_integer*/r58put_integer(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),r139id((T139*)((/*RF2*/(C)->_result_type/*12*/))));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSCARF1*//*X212lower*/0;
while (!((_i)>(/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/))))
{
_e=X212item((/*RF2*/(C)->_list/*16*/),_i);
X126compile_to_c(_e);
/*[IF*/
if((_i)<(/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\n');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}


T6 r217stupid_switch(T217* C,T0* a1){
T6 R=0;
T2 _i=0;
R=1;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((!(R))||((_i)<(/*SSCARF1*//*X212lower*/0))))
{
R=X126stupid_switch(X212item((/*RF2*/(C)->_list/*16*/),_i),a1);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}


void r217make(T217* C,T104 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_list)=a2;
}


void r217to_integer_error(T217* C){
/*[IRF3.6append*/{T0* b1=((T0*)ms20_752996481);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
{T104 se_tmp0;
r82add_position((/*RF2*/(C)->_start_position/*4*/));
}
r82print_as_error((T82*)(oBC19eh));
}


void r217assertion_check(T217* C,T3 a1){
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((_i)<(/*SSCARF1*//*X212lower*/0)))
{
_e=X212item((/*RF2*/(C)->_list/*16*/),_i);
X126assertion_check(_e,a1);
_i=(_i)-(1);
}
}
/*FI]*/
}


void r217afd_check(T217* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((_i)<(/*SSCARF1*//*X212lower*/0)))
{
X126afd_check(X212item((/*RF2*/(C)->_list/*16*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}


T6 r217use_current(T217* C){
T6 R=0;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!(((_i)<(/*SSCARF1*//*X212lower*/0))||(R)))
{
R=X126use_current(X212item((/*RF2*/(C)->_list/*16*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}


void r217c_declare_for_old(T217* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((_i)<(/*SSCARF1*//*X212lower*/0)))
{
X126c_declare_for_old(X212item((/*RF2*/(C)->_list/*16*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}


void r217compile_to_c_old(T217* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((_i)<(/*SSCARF1*//*X212lower*/0)))
{
X126compile_to_c_old(X212item((/*RF2*/(C)->_list/*16*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}


void r217mapping_c_target(T217* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X62mapping_cast(a1);
r217compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}


T2 r217to_integer_or_error(T217* C){
T2 R=0;
r217to_integer_error(C);
return R;
}


T6 r217is_pre_computable(T217* C){
T6 R=0;
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))==((void*)(NULL))){
R=1;
}
 else if(X62is_string(/*(IRF4.6first*/((/*RF2*/((T147*)(/*(IRF4.1generic_list*/NULL/*)*/))->_storage/*0*/))[0]/*)*/)){
R=1;
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((!(R))||((_i)<(/*SSCARF1*//*X212lower*/0))))
{
_e=X212item((/*RF2*/(C)->_list/*16*/),_i);
R=X126is_pre_computable(_e);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}


T0* r217add_comment(T217* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((/*RF2*/(((T164*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T323*n=((T323*)se_malloc(sizeof(*n))/*12*/);
*n=M323;
r323make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


T0* r217to_runnable(T217* C,T0* a1){
T0* R=NULL;
T0* _types=NULL;
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*20*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
{T147*n=((T147*)se_malloc(sizeof(*n))/*16*/);
*n=M147;
r147with_capacity(n,/*SSFRF4*//*X212count*/r212count((T212*)((/*RF2*/(C)->_list/*16*/))),1);
_types=((T0*)n);
}
_i=/*SSCARF1*//*X212lower*/0;
while (!((_i)>(/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/))))
{
_e=X126to_runnable(X212item((/*RF2*/(C)->_list/*16*/),_i),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((/*RF2*/(C)->_start_position/*4*/));
}
{T104 se_tmp0;
r217error((*(se_tmp0=X126start_position(X212item((/*RF2*/(C)->_list/*16*/),_i)),&se_tmp0)),((T0*)ms217_2033272607));
}
_i=(/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/))+(1);
}
else{
X212put((/*RF2*/(C)->_list/*16*/),_e,_i);
r147add_last(((T147*)_types),X126result_type(_e));
_i=(_i)+(1);
}
/*FI]*/
}
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T82*)(oBC19eh))->_error_counter/*0*/)/*)*/)==(0)){
{T104 se_tmp0;
{T139*n=((T139*)se_malloc(sizeof(*n))/*45*/);
*n=M139;
r139make(n,(/*RF2*/(C)->_start_position/*4*/),_types);
(/*SFN*/C->_result_type)=((T0*)n);
}
}
(/*SFN*/C->_result_type)=r139to_runnable((T139*)((/*RF2*/(C)->_result_type/*12*/)),a1);
r60set_at_run_time((T60*)(r139run_class((T139*)((/*RF2*/(C)->_result_type/*12*/)))));
R=((T0*)(C));
}
/*FI]*/
}
else{
{T104 se_tmp0;
{T217*n=((T217*)se_malloc(sizeof(*n))/*24*/);
*n=M217;
r217make(n,(/*RF2*/(C)->_start_position/*4*/),X212twin((/*RF2*/(C)->_list/*16*/)));
R=((T0*)n);
}
}
R=r217to_runnable(((T217*)R),a1);
}
/*FI]*/
return R;
}


void r217collect_c_tmp(T217* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*16*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X212upper*/(/*RF2*/((T212*)((/*RF2*/(C)->_list/*16*/)))->_upper/*12*/);
while (!((_i)<(/*SSCARF1*//*X212lower*/0)))
{
X126collect_c_tmp(X212item((/*RF2*/(C)->_list/*16*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}


void r229run_feature_match(T229* C,T0* a1){
r229run_feature_has_result(C);
X245match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}


T0* r229runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X126to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X126start_position(a1),&se_tmp0)));
}
r229fatal_error(((T0*)ms168_1263631766));
}
/*FI]*/
return R;
}


T6 r229call_proc_call_stupid_switch(T229* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X245stupid_switch*/r245stupid_switch((T245*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X126is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r59same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X96stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X126stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}


T6 r229is_static(T229* C){
T6 R=0;
/*[IF*/
if(X62is_integer(r229result_type(C))){
/*[IF*/
if((X126is_static((/*RF2*/(C)->_target/*4*/)))&&(X126is_static(r229arg1(C)))){
R=1;
(/*SFN*/C->_static_value_mem)=(X126static_value((/*RF2*/(C)->_target/*4*/)))+(X126static_value(r229arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r229operator(void){
T0* R=NULL;
R=((T0*)ms21_43);
return R;
}


void r229with(T229* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r229run_feature_match(C,a5);
}


void r229run_feature_has_result(T229* C){
/*[IF*/
if((X96result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X96start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
{T104 se_tmp0;
r82add_position((/*RF2*/((T235*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
}
r229fatal_error(((T0*)ms222_793028699));
}
/*FI]*/
}


T6 r229stupid_switch(T229* C,T0* a1){
T6 R=0;
R=r229call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X62is_native_array(r229result_type(C)));
}
/*FI]*/
return R;
}


void r229make(T229* C,T0* a1,T104 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T235*n=((T235*)se_malloc(sizeof(*n))/*20*/);
*n=M235;
r235make(n,r229operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T245*n=((T245*)se_malloc(sizeof(*n))/*16*/);
*n=M245;
/*[IRF3.3make_1*/((((T245*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}


void r229fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}


void r229to_integer_error(T229* C){
/*[IRF3.6append*/{T0* b1=((T0*)ms20_752996481);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
{T104 se_tmp0;
r82add_position(/*(IRF4.6start_position*/(/*RF2*/(((T235*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
r82print_as_error((T82*)(oBC19eh));
}


T2 r229isa_dca_inline_argument(T229* C){
T2 R=0;
/*[IF*/
if(X62is_integer(r229result_type(C))){
R=X126isa_dca_inline_argument((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((R)==(-(1))){
R=X126isa_dca_inline_argument(r229arg1(C));
}
 else if((R)>(0)){
/*[IF*/
if((X126isa_dca_inline_argument(r229arg1(C)))>=(0)){
R=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


void r229dca_inline_argument(T229* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X126dca_inline_argument((/*RF2*/(C)->_target/*4*/),a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\53');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X126dca_inline_argument(r229arg1(C),a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}


T0* r229arg1(T229* C){
T0* R=NULL;
R=/*SSFRF4*//*X245first*//*(IRF4.3first*/(/*RF2*/((T245*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}


void r229assertion_check(T229* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
{T104 se_tmp0;
X96vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T235*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
}
/*FI]*/
X126assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X126assertion_check(r229arg1(C),a1);
}


T0* r229result_type(T229* C){
T0* R=NULL;
T0* _tla=NULL;
R=X96result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X62is_like_current(R)){
R=/*SSWARF2*//*X96current_type*/(/*RF2*/((T154*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 355:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X62run_type(X126result_type(r229arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}


void r229afd_check(T229* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X62run_class(X126result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T60*)_rc))->_running/*21*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
 else if((r63count(((T63*)_running)))>(1)){
r432update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X126afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X245afd_check*/r245afd_check((T245*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}


T6 r229use_current(T229* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X245use_current*/r245use_current((T245*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
 else if(X126is_current((/*RF2*/(C)->_target/*4*/))){
R=X96use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X126use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}


void r229c_declare_for_old(T229* C){
X126c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X245c_declare_for_old*/r245c_declare_for_old((T245*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}


void r229compile_to_c_old(T229* C){
X126compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X245compile_to_c_old*/r245compile_to_c_old((T245*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}


T0* r229runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X245to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X245start_position(a1),&se_tmp0)));
}
r229fatal_error(((T0*)ms20_462691396));
}
/*FI]*/
return R;
}


void r229mapping_c_target(T229* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r83call_invariant_start(a1);
_actual_type=X62run_type(r229result_type(C));
/*[IF*/
if(X62is_reference(_actual_type)){
/*[IF*/
if(X62is_reference(a1)){
X62mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T229* C1=C;
r83put_cpc((T83*)(oBC19cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T229* C1=C;
r83put_cpc((T83*)(oBC19cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X62is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T229* C1=C;
r83put_cpc((T83*)(oBC19cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X62need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T229* C1=C;
r83put_cpc((T83*)(oBC19cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T58* C1=((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T229* C1=C;
r83put_cpc((T83*)(oBC19cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T58* C1=(T58*)(oBC83out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}


T0* r229run_feature_for(T229* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X126result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X62run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=(/*RF2*/(((T60*)_rc))->_base_class/*8*/);
R=r61run_feature_for(((T61*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((/*RF2*/((T235*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms168_608361995);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}
/*FI]*/
return R;
}


T2 r229to_integer_or_error(T229* C){
T2 R=0;
r229to_integer_error(C);
return R;
}


T0* r229add_comment(T229* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((/*RF2*/(((T164*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T323*n=((T323*)se_malloc(sizeof(*n))/*12*/);
*n=M323;
r323make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


T0* r229to_runnable(T229* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r229runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r229runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X126result_type(_t);
_argument_type=X126result_type(r229arg1(C));
/*[IF*/
if(X62is_real(_argument_type)){
/*[IF*/
if(X62is_integer(_target_type)){
_t=r440implicit_cast((T440*)(oBC19conversion_handler),_t,_argument_type);
}
/*FI]*/
}
 else if(X62is_double(_argument_type)){
/*[IF*/
if((X62is_integer(_target_type))||(X62is_real(_target_type))){
_t=r440implicit_cast((T440*)(oBC19conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r229run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r229run_feature_match(C,a1);
R=((T0*)(C));
}
 else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)se_malloc(sizeof(*n))/*24*/);
*n=M229;
r229with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


void r229collect_c_tmp(T229* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X96collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X126collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X245collect_c_tmp*/r245collect_c_tmp((T245*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}


void r229finalize(T229* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=/*SSWARF2*//*X96run_class*/(/*RF2*/(((T154*)_rf))->_run_class/*12*/);
(/*SFN*/C->_run_feature)=r60dynamic((T60*)(/*(IRF4.6first*/((/*RF2*/((T63*)((/*RF2*/(((T60*)_rc))->_running/*21*/)))->_storage/*4*/))[0]/*)*/),_rf);
}


T0* r229static_result_base_class(T229* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X126static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r61e_feature(((T61*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X99result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X62static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r77base_class(((T77*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


T0* r140try_to_undefine_aux(T140* C,T0* a1,T0* a2){
T0* R=NULL;
{T104 se_tmp0;
r82add_position((*(se_tmp0=r140start_position(C),&se_tmp0)));
}
{T104 se_tmp0;
r140error((*(se_tmp0=X117start_position(a1),&se_tmp0)),((T0*)ms142_1389744524));
}
r61fatal_undefine(((T61*)a2),a1);
return R;
}


void r140implicit(T140* C,T0* a1,T0* a2,T2 a3){
T0* _ic=NULL;
T0* _type_integer=NULL;
T104 _sp={NULL,0};
T0* _fnl=NULL;
(/*SFN*/C->_base_class)=a1;
{T118*n=((T118*)se_malloc(sizeof(*n))/*8*/);
*n=M118;
/*[IRF3.3make_1*/((((T118*)(n)))->_first)=(a2);
/*]*/
_fnl=((T0*)n);
}
/*[IRF3.6set_in*/{T104* C1=&_sp;
T0* b1=a1;
r104set(C1,1,1,(/*RF2*/(((T61*)b1))->_id/*0*/),b1);
}/*]*/
{T364*n=((T364*)se_malloc(sizeof(*n))/*16*/);
*n=M364;
r364make(n,_sp);
_type_integer=((T0*)n);
}
{T265*n=((T265*)se_malloc(sizeof(*n))/*16*/);
*n=M265;
r265make(n,a3,_sp);
_ic=((T0*)n);
}
r140make(C,_fnl,_type_integer,_ic);
{T200*n=((T200*)se_malloc(sizeof(*n))/*12*/);
*n=M200;
/*[IRF3.1omitted*//*]*/
(/*SFN*/C->_clients)=((T0*)n);
}
}


void r140error(T104 a1,T0* a2){
r82add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_error((T82*)(oBC19eh));
}


T6 r140can_hide(T140* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X99result_type(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X99result_type(a1))==((void*)(NULL)))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X99start_position(a1),&se_tmp0)));
}
{T104 se_tmp0;
r140error((*(se_tmp0=r140start_position(C),&se_tmp0)),((T0*)ms99_1393094289));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X99arguments(a1)))){
/*[IF*/
{/*AT*/{T104 se_tmp0;
r82add_position((*(se_tmp0=X99start_position(a1),&se_tmp0)));
}
{T104 se_tmp0;
r140error((*(se_tmp0=r140start_position(C),&se_tmp0)),((T0*)ms99_1854646737));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T82*)(oBC19eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(X62is_a_in((/*RF2*/(C)->_result_type/*20*/),X99result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_895448585);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((/*RF2*/(((T60*)a2))->_current_type/*0*/));
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms20_46);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_error((T82*)(oBC19eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T82*)(oBC19eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T82*)(oBC19eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r140merge_header_comments(C,a1);
}
/*FI]*/
return R;
}


void r140merge_header_comments(T140* C,T0* a1){
/*[IF*/
if((/*RF2*/((T59*)(oBC19small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X99header_comment*/(/*RF2*/(((T293*)a1))->_header_comment/*12*/);
}
 else if((/*SSWARF2*//*X99header_comment*/(/*RF2*/(((T293*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X99set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}


void r140add_into(T140* C,T0* a1){
T0* _key=NULL;
T0* _fn=NULL;
T2 _i=0;
{T104 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X117start_position(r118item((T118*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r118count((T118*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r118item((T118*)((/*RF2*/(C)->_names/*8*/)),_i);
_key=X117to_key(_fn);
/*[IF*/
if(r172has(((T172*)a1),_key)){
_fn=/*SSFRF4*//*X99first_name*//*(IRF4.6first_name*/(/*RF2*/(((T118*)((/*RF2*/((T293*)(r172at(((T172*)a1),_key)))->_names/*8*/))))->_first/*0*/)/*)*/;
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(_fn),&se_tmp0)));
}
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(r118item((T118*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1087076085);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X117to_string(_fn);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms20_46);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_error((T82*)(oBC19eh));
}
else{
r172add(((T172*)a1),(T0*)C,_key);
}
/*FI]*/
_i=(_i)+(1);
}
}


T0* r140try_to_undefine(T140* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(a1),&se_tmp0)));
}
_fn2=r118feature_name((T118*)((/*RF2*/(C)->_names/*8*/)),X117to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X117undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC82explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T105*)((T105*)(oBC82positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r140try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
X381set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r140merge_header_comments(C,R);
}
else{
r61fatal_undefine(((T61*)a2),a1);
}
/*FI]*/
return R;
}


void r140make(T140* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T140*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_result_type)=a2;
(/*SFN*/C->_value_mem)=a3;
}


void r140check_obsolete(T140* C,T104 a1){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}


T0* r140to_run_feature(T140* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(a1);
R=r60at(((T60*)_rc),a2);
if(NULL!=(R)){
switch(((T0*)R)->id){
case 437:
break;
default:
R=NULL;
}
}/*[IF*/
if((R)==((void*)(NULL))){
{T437*n=((T437*)se_malloc(sizeof(*n))/*40*/);
*n=M437;
r437make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


T6 r140is_not_mergeable_with(T140* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
R=(X99result_type(a1))!=((void*)(NULL));
}
else{
R=(X99result_type(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1393094289);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
}
else{
/*[IF*/
{/*AT*/R=(X99arguments(a1))!=((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms99_1854646737);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
}
 else {/*AT*/}
/*FI]*/
}
/*FI]*/
r140merge_header_comments(C,a1);
return R;
}


T104 r140start_position(T140* C){
T104 R={NULL,0};
{T104 se_tmp0;
R=(*(se_tmp0=X117start_position(/*(IRF4.6first_name*/(/*RF2*/(((T118*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}


void r60efnf(T60* C,T0* a1,T0* a2){
/*[IRF3.6append*/{T0* b1=((T0*)ms60_1425117810);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/(C)->_run_time_mark/*4*/);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms60_1671053848);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X117to_string(a2);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms60_113001857);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/((T77*)((/*RF2*/(((T61*)a1))->_name/*18*/)))->_to_string/*8*/);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
{T104 se_tmp0;
r60error((*(se_tmp0=X117start_position(a2),&se_tmp0)),((T0*)ms20_46));
}
}


T6 r60need_gc_mark(T60* C){
T6 R=0;
T0* _t=NULL;
T0* _rf2=NULL;
T0* _wa=NULL;
T2 _i=0;
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((R)||((_i)==(0))))
{
_rf2=r445item(((T445*)_wa),_i);
_t=(/*RF2*/(((T152*)_rf2))->_result_type/*32*/);
R=X62need_gc_mark_function(_t);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T0*oBC60c_print_function_buffer=NULL;


T0* r60get_rf_with(T60* C,T0* a1){
T0* R=NULL;
T0* _wbc=NULL;
T0* _fn2=NULL;
{T104 se_tmp0;
_wbc=(/*RF2*/((*(se_tmp0=X117start_position(a1),&se_tmp0)))._base_class/*0*/);
}
_fn2=r61new_name_of((T61*)((/*RF2*/(C)->_base_class/*8*/)),_wbc,a1);
/*[IF*/
if((_fn2)!=((void*)(a1))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(a1),&se_tmp0)));
}
R=r60get_or_fatal_error(C,_fn2);
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC82explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T105*)((T105*)(oBC82positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
else{
R=r60get_or_fatal_error(C,_fn2);
}
/*FI]*/
return R;
}


void r60sort_wam(T0* a1){
T6 _moved=0;
T2 _buble=0;
T2 _max=0;
T2 _min=0;
_max=(/*RF2*/(((T445*)a1))->_upper/*12*/);
_min=1;
_moved=1;
while (!(!(_moved)))
{
_moved=0;
/*[IF*/
if(((_max)-(_min))>(0)){
_buble=(_min)+(1);
while (!((_buble)>(_max)))
{
/*[IF*/
if(r60gt(r445item(((T445*)a1),(_buble)-(1)),r445item(((T445*)a1),_buble))){
r445swap(((T445*)a1),(_buble)-(1),_buble);
_moved=1;
}
/*FI]*/
_buble=(_buble)+(1);
}
_max=(_max)-(1);
}
/*FI]*/
/*[IF*/
if((_moved)&&(((_max)-(_min))>(0))){
_moved=0;
_buble=(_max)-(1);
while (!((_buble)<(_min)))
{
/*[IF*/
if(r60gt(r445item(((T445*)a1),_buble),r445item(((T445*)a1),(_buble)+(1)))){
r445swap(((T445*)a1),_buble,(_buble)+(1));
_moved=1;
}
/*FI]*/
_buble=(_buble)-(1);
}
_min=(_min)+(1);
}
/*FI]*/
}
}


void r60definitions_for_tuple(T60* C,T0* a1,T0* a2){
T0* _rf=NULL;
T0* _cai=NULL;
T0* _sfn=NULL;
T104 _sp={NULL,0};
T0* _name=NULL;
T2 _i=0;
T2 _count=0;
/*[IF*/
if(!(r144has((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),((T0*)ms21_79341)))){
/*[IF*/
if((a2)!=((void*)(NULL))){
_count=r147count(((T147*)a2));
}
/*FI]*/
/*[IRF3.6set_in*/{T104* C1=&_sp;
T0* b1=r139base_class(((T139*)a1));
r104set(C1,1,1,(/*RF2*/(((T61*)b1))->_id/*0*/),b1);
}/*]*/
{T143*n=((T143*)se_malloc(sizeof(*n))/*20*/);
*n=M143;
r143make(n,((T0*)ms21_79341),_sp);
_sfn=((T0*)n);
}
{T140*n=((T140*)se_malloc(sizeof(*n))/*28*/);
*n=M140;
r140implicit(n,r139base_class(((T139*)a1)),_sfn,_count);
_cai=((T0*)n);
}
_rf=r140to_run_feature(((T140*)_cai),a1,_sfn);
/*[IF*/
if((_count)>=(1)){
r60tuple_field(a1,((T0*)ms21_80416),r147item(((T147*)a2),1));
}
/*FI]*/
/*[IF*/
if((_count)>=(2)){
r60tuple_field(a1,((T0*)ms21_438300),r147item(((T147*)a2),2));
}
/*FI]*/
/*[IF*/
if((_count)>=(3)){
r60tuple_field(a1,((T0*)ms21_88795),r147item(((T147*)a2),3));
}
/*FI]*/
/*[IF*/
if((_count)>=(4)){
r60tuple_field(a1,((T0*)ms21_406284),r147item(((T147*)a2),4));
}
/*FI]*/
/*[IF*/
if((_count)>=(5)){
r60tuple_field(a1,((T0*)ms21_80109),r147item(((T147*)a2),5));
}
/*FI]*/
_i=6;
while (!((_i)>(_count)))
{
{T7*n=((T7*)se_malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,8);
_name=((T0*)n);
}
r7copy(((T7*)_name),((T0*)ms60_83290));
r2append_in(_i,_name);
_name=((/*UT*/(void)((T27*)(r60string_aliaser()))),r27item(_name));
r60tuple_field(a1,_name,r147item(((T147*)a2),_i));
_i=(_i)+(1);
}
}
/*FI]*/
}


void r60gc_mark_fixed_size(T60* C,T6 a1,T0* a2){
T2 _i=0;
T0* _rc=NULL;
T0* _t=NULL;
T0* _rf2=NULL;
/*[IRF3.3clear*/((((T520*)((T520*)(oBC60wa_buf))))->_upper)=(-(1));
/*]*/
/*[IRF3.3clear*/((((T520*)((T520*)(oBC60wa_cyclic_buf))))->_upper)=(-(1));
/*]*/
/*[IF*/
if((r60writable_attributes(C))!=((void*)(NULL))){
_i=(/*RF2*/((T445*)(r60writable_attributes(C)))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item((T445*)(r60writable_attributes(C)),_i);
_t=(/*RF2*/(((T152*)_rf2))->_result_type/*32*/);
/*[IF*/
if(X62need_gc_mark_function(_t)){
_rc=X62run_class(_t);
/*[IRF3.3clear*/((((T520*)((T520*)(oBC60wa_cycle))))->_upper)=(-(1));
/*]*/
r520add_last((T520*)(oBC60wa_cycle),_rf2);
/*[IF*/
if(r60is_wa_cycle(((T60*)_rc),(T0*)C)){
r520add_last((T520*)(oBC60wa_cyclic_buf),_rf2);
}
else{
r520add_last((T520*)(oBC60wa_buf),_rf2);
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if((/*(IRF4.6is_empty*/((/*RF2*/((T520*)(oBC60wa_buf))->_upper/*12*/))<(0)/*)*/)&&(/*(IRF4.6is_empty*/((/*RF2*/((T520*)(oBC60wa_cyclic_buf))->_upper/*12*/))<(0)/*)*/)){
r60gc_set_fsoh_marked_in(C,a2);
}
else{
/*[IF*/
if(((/*RF2*/((T520*)(oBC60wa_cyclic_buf))->_upper/*12*/))>=(0)){
r7append(((T7*)a2),((T0*)ms60_1927425));
}
/*FI]*/
/*[IF*/
if(!(a1)){
r7append(((T7*)a2),((T0*)ms60_1990989));
r2append_in((/*RF2*/(C)->_id/*16*/),a2);
r7append(((T7*)a2),((T0*)ms60_834589410));
}
/*FI]*/
r60gc_set_fsoh_marked_in(C,a2);
_i=(/*RF2*/((T520*)(oBC60wa_buf))->_upper/*12*/);
while (!((_i)<(0)))
{
_rf2=/*(IRF4.6item*/((/*RF2*/((T520*)(oBC60wa_buf))->_storage/*4*/))[_i]/*)*/;
r60mark_attribute(C,a2,_rf2);
_i=(_i)-(1);
}
_i=(/*RF2*/((T520*)(oBC60wa_cyclic_buf))->_upper/*12*/);
while (!((_i)<(0)))
{
_rf2=/*(IRF4.6item*/((/*RF2*/((T520*)(oBC60wa_cyclic_buf))->_storage/*4*/))[_i]/*)*/;
_t=(/*RF2*/(((T152*)_rf2))->_result_type/*32*/);
_rc=X62run_class(_t);
/*[IRF3.3clear*/((((T520*)((T520*)(oBC60wa_cycle))))->_upper)=(-(1));
/*]*/
r520add_last((T520*)(oBC60wa_cycle),_rf2);
/*[IF*/
if(r60is_wa_cycle(((T60*)_rc),(T0*)C)){
}
/*FI]*/
/*[IF*/
if((((((_i)==(0))&&((/*(IRF4.6count*/((/*RF2*/((T520*)(oBC60wa_cycle))->_upper/*12*/))+(1)/*)*/)==(1)))&&(((/*RF2*/(((T60*)_rc))->_running/*21*/))!=((void*)(NULL))))&&((r63count((T63*)((/*RF2*/(((T60*)_rc))->_running/*21*/))))==(1)))&&((/*(IRF4.6first*/((/*RF2*/((T63*)((/*RF2*/(((T60*)_rc))->_running/*21*/)))->_storage/*4*/))[0]/*)*/)==((void*)(C)))){
r7append(((T7*)a2),((T0*)ms60_687744958));
r7append(((T7*)a2),X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/)));
r7append(((T7*)a2),((T0*)ms60_915251302));
/*[IF*/
if(a1){
r7append(((T7*)a2),((T0*)ms60_744114));
r2append_in((/*RF2*/(C)->_id/*16*/),a2);
r7append(((T7*)a2),((T0*)ms60_692075493));
}
else{
r7extend(((T7*)a2),((T3)'\51'));
}
/*FI]*/
r7append(((T7*)a2),((T0*)ms60_2092663259));
}
else{
r60mark_attribute(C,a2,_rf2);
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if(!(a1)){
r7extend(((T7*)a2),((T3)'\175'));
}
/*FI]*/
}
/*FI]*/
}


T0* r60at(T60* C,T0* a1){
T0* R=NULL;
T0* _to_key=NULL;
_to_key=X117to_key(a1);
/*[IF*/
if(r144has((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_to_key)){
R=r144at((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_to_key);
}
/*FI]*/
return R;
}


T2 r60c_sizeof(T60* C){
T2 R=0;
T2 _i=0;
T0* _a=NULL;
T0* _wa=NULL;
/*[IF*/
if(r60is_tagged(C)){
R=sizeof(T2);
}
/*FI]*/
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_a=r445item(((T445*)_wa),_i);
R=(R)+(X62c_sizeof((/*RF2*/(((T152*)_a))->_result_type/*32*/)));
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if((R)==(0)){
R=1;
}
/*FI]*/
return R;
}


T6 r60is_wa_cycle(T60* C,T0* a1){
T6 R=0;
/*[IF*/
if((C)==((void*)(a1))){
R=1;
}
/*FI]*/
return R;
}


void r60gc_set_fsoh_marked_in(T60* C,T0* a1){
/*[IF*/
if(X62is_reference((/*RF2*/(C)->_current_type/*0*/))){
r7append(((T7*)a1),((T0*)ms60_6614));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7append(((T7*)a1),((T0*)ms60_884381655));
}
/*FI]*/
}


void r60error(T104 a1,T0* a2){
r82add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_error((T82*)(oBC19eh));
}


void r60demangling(T60* C){
T2 _i=0;
T0* _r=NULL;
T0* _str=NULL;
_str=oBC60demangling_buffer;
/*[IRF3.3clear*/((((T7*)(((T7*)_str))))->_count)=(0);
/*]*/
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
r7extend(((T7*)_str),((T3)'A'));
/*[IF*/
if((X62is_reference((/*RF2*/(C)->_current_type/*0*/)))&&(!(r60is_tagged(C)))){
r7extend(((T7*)_str),((T3)'\52'));
}
else{
r7extend(((T7*)_str),((T3)'\40'));
}
/*FI]*/
}
else{
r7extend(((T7*)_str),((T3)'D'));
r7extend(((T7*)_str),((T3)'\40'));
}
/*FI]*/
_r=(/*RF2*/(C)->_running/*21*/);
/*[IF*/
if((_r)!=((void*)(NULL))){
r2append_in(r63count(((T63*)_r)),_str);
}
/*FI]*/
while (!(((/*RF2*/(((T7*)_str))->_count/*4*/))>(4)))
{
r7extend(((T7*)_str),((T3)'\40'));
}
r7extend(((T7*)_str),((T3)'T'));
r2append_in((/*RF2*/(C)->_id/*16*/),_str);
while (!(((/*RF2*/(((T7*)_str))->_count/*4*/))>(10)))
{
r7extend(((T7*)_str),((T3)'\40'));
}
X62demangling_in((/*RF2*/(C)->_current_type/*0*/),_str);
/*[IF*/
if((_r)!=((void*)(NULL))){
r7extend(((T7*)_str),((T3)'\40'));
_i=(/*RF2*/(((T63*)_r))->_upper/*12*/);
while (!((_i)==(0)))
{
r2append_in((/*RF2*/((T60*)(r63item(((T63*)_r),_i)))->_id/*16*/),_str);
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
r7extend(((T7*)_str),((T3)'\54'));
}
/*FI]*/
}
}
/*FI]*/
r7extend(((T7*)_str),((T3)'\n'));
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),_str);
/*]*/
}


T0* r60class_general(void){
if(fBC19class_general==0){fBC19class_general=1;{
oBC19class_general=r59get_class(((T0*)ms21_1384826));
}}
return oBC19class_general;
}


void r60mark_attribute(T60* C,T0* a1,T0* a2){
r7copy((T7*)(oBC60tmp_string),((T0*)ms60_15405));
r7append((T7*)(oBC60tmp_string),X117to_string((/*RF2*/(((T152*)a2))->_name/*16*/)));
r7append((T7*)(oBC60tmp_string),((T0*)ms20_277));
r2append_in(r60offset_of(C,a2),oBC60tmp_string);
r7append((T7*)(oBC60tmp_string),((T0*)ms20_257));
r444mark_for(a1,oBC60tmp_string,X62run_class((/*RF2*/(((T152*)a2))->_result_type/*32*/)));
}


void r60just_before_gc_mark_in(T60* C,T0* a1){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
X62just_before_gc_mark_in((/*RF2*/(C)->_current_type/*0*/),a1);
}
/*FI]*/
}


T0* r60get_result_type(T60* C,T0* a1){
T0* R=NULL;
T0* _bc=NULL;
T0* _f=NULL;
T0* _fn2_key=NULL;
T0* _rf=NULL;
T0* _wbc=NULL;
T0* _fn2=NULL;
{T104 se_tmp0;
_wbc=(/*RF2*/((*(se_tmp0=X117start_position(a1),&se_tmp0)))._base_class/*0*/);
}
_fn2=r61new_name_of((T61*)((/*RF2*/(C)->_base_class/*8*/)),_wbc,a1);
_fn2_key=X117to_key(_fn2);
/*[IF*/
if(r144has((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_fn2_key)){
_rf=r144at((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_fn2_key);
R=X96result_type(_rf);
/*[IF*/
if(X62is_run_type(R)){
R=X62run_type(R);
}
else{
R=X62to_runnable(R,(/*RF2*/(C)->_current_type/*0*/));
R=X62run_type(R);
}
/*FI]*/
}
else{
_bc=(/*RF2*/(C)->_base_class/*8*/);
_f=r61look_up_for(((T61*)_bc),(T0*)C,_fn2);
/*[IF*/
if((_f)==((void*)(NULL))){
r60efnf(C,_bc,_fn2);
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(a1),&se_tmp0)));
}
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(_fn2),&se_tmp0)));
}
r60fatal_error(((T0*)ms60_814642458));
}
else{
R=X99result_type(_f);
/*[IF*/
if((R)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X99start_position(_f),&se_tmp0)));
}
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(a1),&se_tmp0)));
}
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(_fn2),&se_tmp0)));
}
r60fatal_error(((T0*)ms60_1744666427));
}
else{
R=X62to_runnable(R,(/*RF2*/(C)->_current_type/*0*/));
R=X62run_type(R);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T0*oBC60wa_cyclic_buf=NULL;


T6 r60gt(T0* a1,T0* a2){
T6 R=0;
T0* _bcn2=NULL;
T0* _bcn1=NULL;
T0* _bf2=NULL;
T0* _bf1=NULL;
T0* _bc2=NULL;
T0* _bc1=NULL;
_bf1=(/*RF2*/(((T152*)a1))->_base_feature/*28*/);
_bf2=(/*RF2*/(((T152*)a2))->_base_feature/*28*/);
_bc1=/*SSWARF2*//*X99base_class*/(/*RF2*/(((T293*)_bf1))->_base_class/*4*/);
_bc2=/*SSWARF2*//*X99base_class*/(/*RF2*/(((T293*)_bf2))->_base_class/*4*/);
_bcn1=(/*RF2*/(((T61*)_bc1))->_name/*18*/);
_bcn2=(/*RF2*/(((T61*)_bc2))->_name/*18*/);
/*[IF*/
if(((/*RF2*/(((T77*)_bcn1))->_to_string/*8*/))==((void*)((/*RF2*/(((T77*)_bcn2))->_to_string/*8*/)))){
{T104 se_tmp1;
T104 se_tmp0;
R=r104before(&((*(se_tmp1=X99start_position(_bf1),&se_tmp1))),(*(se_tmp0=X99start_position(_bf2),&se_tmp0)));
}
}
 else if(r77is_subclass_of(((T77*)_bcn2),_bcn1)){
R=1;
}
 else if(r77is_subclass_of(((T77*)_bcn1),_bcn2)){
}
 else if(((/*RF2*/(((T61*)_bc1))->_parent_list/*34*/))==((void*)(NULL))){
/*[IF*/
if(((/*RF2*/(((T61*)_bc2))->_parent_list/*34*/))==((void*)(NULL))){
R=r7_px_60((T7*)((/*RF2*/(((T77*)_bcn1))->_to_string/*8*/)),(/*RF2*/(((T77*)_bcn2))->_to_string/*8*/));
}
else{
R=1;
}
/*FI]*/
}
 else if(((/*RF2*/(((T61*)_bc2))->_parent_list/*34*/))==((void*)(NULL))){
}
else{
R=(/*(IRF4.6count*//*(IRF4.6count*/((/*RF2*/(((T74*)((/*RF2*/((T72*)((/*RF2*/(((T61*)_bc2))->_parent_list/*34*/)))->_list/*16*/))))->_upper/*8*/))+(1)/*)*//*)*/)<(/*(IRF4.6count*//*(IRF4.6count*/((/*RF2*/(((T74*)((/*RF2*/((T72*)((/*RF2*/(((T61*)_bc1))->_parent_list/*34*/)))->_list/*16*/))))->_upper/*8*/))+(1)/*)*//*)*/);
}
/*FI]*/
return R;
}


T0* r60get_memory_dispose(T60* C){
T0* R=NULL;
T0* _bc=NULL;
T0* _memory=NULL;
_memory=r59memory_class_used();
/*[IF*/
if((_memory)!=((void*)(NULL))){
_bc=(/*RF2*/(C)->_base_class/*8*/);
/*[IF*/
if(((_memory)!=((void*)(_bc)))&&(r61is_subclass_of(((T61*)_bc),_memory))){
/*[IF*/
if(r61has_simple_feature_name(((T61*)_bc),((T0*)ms21_1979951))){
R=r60get_feature_with(C,((T0*)ms21_1979951));
if(NULL!=(R)){
switch(((T0*)R)->id){
case 154:
break;
default:
R=NULL;
}
}/*[IF*/
if((R)!=((void*)(NULL))){
R=r154memory_dispose(((T154*)R));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


void r60deep_twin_in(T60* C,T0* a1){
T0* _name=NULL;
T0* _t=NULL;
T0* _rf2=NULL;
T0* _wa=NULL;
T2 _i=0;
/*[IF*/
if(X62is_reference((/*RF2*/(C)->_current_type/*0*/))){
r7append(((T7*)a1),((T0*)ms60_1253917267));
X62c_type_for_target_in((/*RF2*/(C)->_current_type/*0*/),a1);
r7extend(((T7*)a1),((T3)'\40'));
r444basic_allocation((T444*)(oBC19gc_handler),((T0*)ms60_3374),a1,(T0*)C);
r7append(((T7*)a1),((T0*)ms60_1120232626));
}
else{
r7append(((T7*)a1),((T0*)ms60_103522334));
X62c_type_for_target_in((/*RF2*/(C)->_current_type/*0*/),a1);
r7append(((T7*)a1),((T0*)ms60_577202205));
}
/*FI]*/
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item(((T445*)_wa),_i);
_name=X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/));
_t=X62run_type((/*RF2*/(((T152*)_rf2))->_result_type/*32*/));
/*[IF*/
if(X62is_reference(_t)){
r7append(((T7*)a1),((T0*)ms60_50032655));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_658615564));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_269139657));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_24669254));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_423280));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_33885));
}
 else if(X62is_native_array(_t)){
/*[IF*/
if((r60get_feature_with(C,((T0*)ms21_9676326)))==((void*)(NULL))){
r82add_type(_t,((T0*)ms20_75797981));
r82print_as_error((T82*)(oBC19eh));
{T104 se_tmp0;
r82add_position(/*(IRF4.6start_position*/(*(se_tmp0=r153start_position(((T153*)((/*RF2*/(((T152*)_rf2))->_base_feature/*28*/)))),&se_tmp0))/*)*/);
}
/*[IRF3.6append*/{T0* b1=((T0*)ms60_653639191);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_423280aa));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_419));
r2append_in(X62id(_t),a1);
r7append(((T7*)a1),((T0*)ms60_476433922));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_7869));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_423280a));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_1667215692));
}
 else if(X62is_dummy_expanded(_t)){
}
 else if(X62is_user_expanded(_t)){
r7append(((T7*)a1),((T0*)ms60_423280aaa));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_419a));
r2append_in(X62id(_t),a1);
r7append(((T7*)a1),((T0*)ms60_244793715));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_7869a));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_4017030));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_6455));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if(X62is_user_expanded((/*RF2*/(C)->_current_type/*0*/))){
r7append(((T7*)a1),((T0*)ms60_1636835183));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\175'));
r7extend(((T7*)a1),((T3)'\n'));
}


void r60add_run_feature(T60* C,T0* a1,T0* a2){
r144add((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),a1,X117to_key(a2));
}


T0* r60get_copy(T60* C){
T0* R=NULL;
R=r60get_rf_with(C,/*SSFRF4*//*X99first_name*//*(IRF4.6first_name*/(/*RF2*/(((T118*)((/*RF2*/((T293*)(r61get_copy((T61*)(r60class_general()))))->_names/*8*/))))->_first/*0*/)/*)*/);
return R;
}
T0*oBC60tmp_string=NULL;


void r60add_client(T60* C,T0* a1){
T2 _i=0;
_i=r67fast_index_of((T67*)((/*RF2*/(C)->_actuals_clients/*38*/)),a1);
/*[IF*/
if((_i)>((/*RF2*/((T67*)((/*RF2*/(C)->_actuals_clients/*38*/)))->_upper/*12*/))){
r67add_last((T67*)((/*RF2*/(C)->_actuals_clients/*38*/)),a1);
}
/*FI]*/
}


void r60compile_to_c(T60* C,T2 a1){
T2 _cc2=0;
T2 _cc1=0;
T0* _rc2=NULL;
T0* _rc1=NULL;
T2 _i=0;
/*[IF*/
if((/*RF2*/(C)->_compile_to_c_done/*29*/)){
}
 else if(!((/*RF2*/(C)->_at_run_time/*20*/))){
(/*SFN*/C->_compile_to_c_done)=1;
}
 else if((a1)==(0)){
r60really_compile_to_c(C);
}
else{
_i=(/*RF2*/((T67*)((/*RF2*/(C)->_actuals_clients/*38*/)))->_upper/*12*/);
/*[IF*/
if((_i)>=(0)){
_rc1=((T0*)(C));
_cc1=(_i)+(1);
while (!((_i)==(0)))
{
_rc2=/*(IRF4.6item*/((/*RF2*/((T67*)((/*RF2*/(C)->_actuals_clients/*38*/)))->_storage/*4*/))[_i]/*)*/;
/*[IF*/
if(!((/*RF2*/(((T60*)_rc2))->_compile_to_c_done/*29*/))){
_cc2=/*(IRF4.6count*/((/*RF2*/((T67*)((/*RF2*/(((T60*)_rc2))->_actuals_clients/*38*/)))->_upper/*12*/))+(1)/*)*/;
/*[IF*/
if((_cc2)>(_cc1)){
_rc1=_rc2;
_cc1=_cc2;
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
/*[IF*/
if((_rc1)==((void*)(C))){
r60really_compile_to_c(C);
}
else{
r60compile_to_c(((T60*)_rc1),(a1)-(1));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}


void r60really_compile_to_c(T60* C){
T0* _rf=NULL;
T2 _i=0;
(/*SFN*/C->_compile_to_c_done)=1;
r38put_character((T38*)(oBC19echo),((T3)'\11'));
r38put_string((T38*)(oBC19echo),(/*RF2*/(C)->_run_time_mark/*4*/));
r38put_character((T38*)(oBC19echo),((T3)'\n'));
_i=1;
while (!((_i)>((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))))
{
_rf=r144item((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_i);
X96c_define(_rf);
_i=(_i)+(1);
/*[IF*/
if(((_i)%(30))==(0)){
r83padding_here((T83*)(oBC19cpp));
}
/*FI]*/
}
/*[IF*/
if(r57invariant_check((T57*)(oBC19run_control))){
/*[IF*/
if(((/*RF2*/(C)->_class_invariant/*25*/))!=((void*)(NULL))){
r205c_define((T205*)((/*RF2*/(C)->_class_invariant/*25*/)));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))>(20)){
r83padding_here((T83*)(oBC19cpp));
}
/*FI]*/
}


T0* r60get_feature(T60* C,T0* a1){
T0* R=NULL;
T0* _bc=NULL;
T0* _fn_key=NULL;
T0* _f=NULL;
_fn_key=X117to_key(a1);
/*[IF*/
if(r144has((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_fn_key)){
R=r144at((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_fn_key);
}
else{
_bc=(/*RF2*/(C)->_base_class/*8*/);
_f=r61look_up_for(((T61*)_bc),(T0*)C,a1);
/*[IF*/
if((_f)==((void*)(NULL))){
r60efnf(C,_bc,a1);
}
else{
R=X99to_run_feature(_f,(/*RF2*/(C)->_current_type/*0*/),a1);
/*[IF*/
if((R)==((void*)(NULL))){
r60efnf(C,_bc,a1);
}
else{
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


void r60falling_down(T60* C){
T2 _i=0;
T0* _rf=NULL;
_i=1;
while (!((_i)>((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))))
{
_rf=r144item((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_i);
X96fall_down(_rf);
_i=(_i)+(1);
}
r444falling_down((T444*)(oBC19gc_handler),(T0*)C);
r60runnable_class_invariant(C);
/*[IF*/
if((/*RF2*/((T57*)(oBC19run_control))->_deep_twin_used/*11*/)){
/*[IF*/
if(X62is_native_array((/*RF2*/(C)->_current_type/*0*/))){
_rf=r60get_feature_with(C,((T0*)ms21_1622700141));
}
else{
_rf=r60get_feature_with(C,((T0*)ms21_48958735));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*RF2*/((T57*)(oBC19run_control))->_is_deep_equal_used/*12*/)){
/*[IF*/
if(X62is_native_array((/*RF2*/(C)->_current_type/*0*/))){
_rf=r60get_feature_with(C,((T0*)ms21_1223936132));
}
else{
_rf=r60get_feature_with(C,((T0*)ms21_244783893));
_rf=r60get_feature_with(C,((T0*)ms21_1937220099));
}
/*FI]*/
}
/*FI]*/
}


T0* r60dynamic(T60* C,T0* a1){
T0* R=NULL;
T0* _up_type=NULL;
T0* _up_fn=NULL;
T0* _fn=NULL;
_up_type=/*SSWARF2*//*X96current_type*/(/*RF2*/(((T154*)a1))->_current_type/*8*/);
/*[IF*/
if((C)==((void*)(X62run_class(_up_type)))){
R=a1;
}
else{
_up_fn=/*SSWARF2*//*X96name*/(/*RF2*/(((T154*)a1))->_name/*16*/);
_fn=r61new_name_of((T61*)((/*RF2*/(C)->_base_class/*8*/)),X62base_class(_up_type),_up_fn);
R=r60get_or_fatal_error(C,_fn);
}
/*FI]*/
return R;
}


void r60make(T60* C,T0* a1,T0* a2){
T0* _type_tuple=NULL;
T2 _i=0;
T0* _rc=NULL;
T0* _rcd=NULL;
(/*SFN*/C->_run_time_mark)=a2;
{T144*n=((T144*)se_malloc(sizeof(*n))/*24*/);
*n=M144;
/*[IRF3.4make*/r144with_capacity(n,193);
/*]*/
(/*SFN*/C->_feature_dictionary)=((T0*)n);
}
r69put((T69*)(oBC59run_class_dictionary),(T0*)C,a2);
(/*SFN*/C->_compile_to_c_done)=1;
(/*SFN*/C->_current_type)=a1;
{T67*n=((T67*)se_malloc(sizeof(*n))/*16*/);
*n=M67;
r67with_capacity(n,16);
(/*SFN*/C->_actuals_clients)=((T0*)n);
}
(/*SFN*/C->_base_class)=X62base_class(a1);
(/*SFN*/C->_base_class_name)=X62base_class_name(a1);
(/*SFN*/C->_id)=r42item((T42*)(r60id_provider()),a2);
r59incr_magic_count((T59*)(oBC19small_eiffel));
/*[IF*/
if(X62is_expanded(a1)){
r60set_at_run_time(C);
r61check_expanded_with((T61*)((/*RF2*/(C)->_base_class/*8*/)),a1);
}
else{
_rcd=oBC59run_class_dictionary;
_i=1;
while (!((_i)>((/*RF2*/(((T69*)_rcd))->_count/*8*/))))
{
_rc=r69item(((T69*)_rcd),_i);
/*[IF*/
if((((/*RF2*/(((T60*)_rc))->_at_run_time/*20*/))&&(X62is_reference((/*RF2*/(((T60*)_rc))->_current_type/*0*/))))&&(r60is_running_of(((T60*)_rc),(T0*)C))){
r60add_running(C,_rc);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
_type_tuple=NULL;
/*[IF*/
if((_type_tuple)!=((void*)(NULL))){
r139load_basic_features(((T139*)_type_tuple));
}
/*FI]*/
}


void r60c_object_model_in(T60* C,T0* a1){
T0* _t=NULL;
T0* _rf2=NULL;
T2 _i=0;
T0* _wa=NULL;
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)==((void*)(NULL))){
/*[IF*/
if(r60is_tagged(C)){
r7extend(((T7*)a1),((T3)'\173'));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7extend(((T7*)a1),((T3)'\175'));
}
else{
X62c_initialize_in((/*RF2*/(C)->_current_type/*0*/),a1);
}
/*FI]*/
}
else{
r7extend(((T7*)a1),((T3)'\173'));
/*[IF*/
if(r60is_tagged(C)){
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7extend(((T7*)a1),((T3)'\54'));
}
/*FI]*/
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item(((T445*)_wa),_i);
_t=(/*RF2*/(((T152*)_rf2))->_result_type/*32*/);
X62c_initialize_in(_t,a1);
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
r7extend(((T7*)a1),((T3)'\54'));
}
/*FI]*/
}
r7extend(((T7*)a1),((T3)'\175'));
}
/*FI]*/
}


T0* r60get_default_rescue(T60* C,T0* a1){
T0* R=NULL;
T0* _call_to_default_rescue=NULL;
T0* _target=NULL;
T0* _a_rescue=NULL;
_a_rescue=r61get_default_rescue((T61*)((/*RF2*/(C)->_base_class/*8*/)),(T0*)C,a1);
/*[IF*/
if((_a_rescue)!=((void*)(NULL))){
{T104 se_tmp0;
{T169*n=((T169*)se_malloc(sizeof(*n))/*16*/);
*n=M169;
/*[IRF3.3make*/((((T169*)(n)))->_start_position)=((*(se_tmp0=X117start_position(a1),&se_tmp0)));
/*]*/
_target=((T0*)n);
}
}
{T166*n=((T166*)se_malloc(sizeof(*n))/*16*/);
*n=M166;
r166make(n,_target,(/*RF2*/(((T154*)_a_rescue))->_name/*16*/));
_call_to_default_rescue=((T0*)n);
}
{T159*n=((T159*)se_malloc(sizeof(*n))/*16*/);
*n=M159;
r159make(n,NULL,_call_to_default_rescue,NULL);
R=((T0*)n);
}
}
/*FI]*/
return R;
}


void r60fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}
T0*oBC60demangling_buffer=NULL;


void r60afd_check(T60* C){
T0* _rt=NULL;
T0* _rc=NULL;
T2 _i=0;
T0* _rf=NULL;
_i=1;
while (!((_i)>((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))))
{
_rf=r144item((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_i);
X96afd_check(_rf);
_rt=X96result_type(_rf);
/*[IF*/
if((_rt)!=((void*)(NULL))){
/*[IF*/
if(X62is_none(_rt)){
}
else{
_rc=X62run_class(_rt);
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if(((/*RF2*/(C)->_class_invariant/*25*/))!=((void*)(NULL))){
r205afd_check((T205*)((/*RF2*/(C)->_class_invariant/*25*/)));
}
/*FI]*/
}


T2 r60offset_of(T60* C,T0* a1){
T2 R=0;
T2 _i=0;
T0* _t=NULL;
T0* _wa=NULL;
/*[IF*/
if(r60is_tagged(C)){
R=sizeof(T2);
}
/*FI]*/
_wa=r60writable_attributes(C);
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((r445item(((T445*)_wa),_i))==((void*)(a1))))
{
_t=(/*RF2*/((T152*)(r445item(((T445*)_wa),_i)))->_result_type/*32*/);
R=(R)+(X62c_sizeof(_t));
_i=(_i)-(1);
}
return R;
}


void r60gc_info_in(T60* C,T0* a1){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
X62gc_info_in((/*RF2*/(C)->_current_type/*0*/),a1);
}
/*FI]*/
}


void r60set_at_run_time(T60* C){
T2 _i=0;
T0* _rc=NULL;
T0* _rcd=NULL;
/*[IF*/
if(!((/*RF2*/(C)->_at_run_time/*20*/))){
(/*SFN*/C->_at_run_time)=1;
(/*SFN*/C->_compile_to_c_done)=0;
r60add_running(C,(T0*)C);
r59incr_magic_count((T59*)(oBC19small_eiffel));
/*[IF*/
if(X62is_reference((/*RF2*/(C)->_current_type/*0*/))){
_rcd=oBC59run_class_dictionary;
_i=1;
while (!((_i)>((/*RF2*/(((T69*)_rcd))->_count/*8*/))))
{
_rc=r69item(((T69*)_rcd),_i);
/*[IF*/
if(r60is_running_of(C,_rc)){
r60add_running(((T60*)_rc),(T0*)C);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
}
/*FI]*/
}


T0* r60string_aliaser(void){
if(fBC19string_aliaser==0){fBC19string_aliaser=1;{
{T27*n=((T27*)se_malloc(1));
oBC19string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2104);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_53339);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2099);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_53028);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_33156840);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1339128);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_836969340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_33120277);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_774649014);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_168164374);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_274599);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_171638715);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_175767198);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_867350214);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1384826);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35866627);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35868574);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7173699);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_286922);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_179371455);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1447702);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_904828090);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_295849);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_349117293);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_12184);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7704337);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1554777);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_971749965);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_12376);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7749340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_324411);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_520438282);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1692780980);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_65574);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3075);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9647090);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_64);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_552);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_61);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_371);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_62);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2067995);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_361);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_60);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_45);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_42);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_296);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3421);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2126626);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_43);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_94);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1960);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1972);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_47);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_282);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9529116);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_77832);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_280482649));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_386854);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9676326);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_1597390874));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_49076823);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_79341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15751);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_247239028);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_94407393);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_840111968);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1236707441);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15831);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_240810599);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_240810604);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1680885744);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_244781926);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_244783893);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1223936132);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_48958735);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1622700141);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1979951);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_936296820);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1949019648);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_705019679);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1286698901);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10018876);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_50778415);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_397576);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15932);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80109);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80416);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80694);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2023685073);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_406284);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2067759348);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2090604340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_880412606);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_50246319);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_636);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_619776399));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1744612358);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1937220099);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_378799862);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10377643);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1297876698);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16639);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16616);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_84969);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16686);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_1856946950));
r27special_add(((T0*)ms21_1740332382));
r27special_add(((T0*)ms21_111802057));
r27special_add(((T0*)ms21_756809447));
r27special_add(((T0*)ms21_1419919903));
r27special_add(((T0*)ms21_275488632));
r27special_add(((T0*)ms21_1377517899));
r27special_add(((T0*)ms21_698215697));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1326673961);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_954385774);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1778079380);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_87541);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10945665);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_849712179);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3501);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88048);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88049);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_573080478);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54325331);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_41849945);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2174354);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_438300);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2187464);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2187483);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54733341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54733071);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_733277224);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54749764);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_11011040);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_112335826);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_11026665);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1507243919);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1053896806);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_591414963);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_267647687);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_591417242);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_447584);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_89510);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_447851);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55924644);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55926626);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279656751);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2246041);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88795);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_446841);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1607595572);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55868341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279416444);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279523519);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2236118);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1574640467);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1742738754);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_18110);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_90544);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1202672333);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_287359706);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1501191);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1498845794);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2038667775);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_42134669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_337331);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_14150);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC19string_aliaser;
}


void r60runnable_class_invariant(T60* C){
/*[IF*/
if(!((/*RF2*/(C)->_runnable_class_invariant_done/*46*/))){
(/*SFN*/C->_runnable_class_invariant_done)=1;
/*[IF*/
if(r57invariant_check((T57*)(oBC19run_control))){
/*[IF*/
if(((/*RF2*/(C)->_at_run_time/*20*/))||((/*RF2*/((T59*)(oBC19small_eiffel))->_short_flag/*5*/))){
r426invariant_start((T426*)(oBC19assertion_collector));
r61collect_invariant((T61*)((/*RF2*/(C)->_base_class/*8*/)),(T0*)C);
(/*SFN*/C->_class_invariant)=r426invariant_end((T426*)(oBC19assertion_collector),(/*RF2*/(C)->_current_type/*0*/));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}


void r60is_deep_equal_in(T60* C,T0* a1){
T6 _check_type=0;
T0* _name=NULL;
T0* _t=NULL;
T0* _ct=NULL;
T0* _rf2=NULL;
T0* _wa=NULL;
T2 _i=0;
_ct=(/*RF2*/(C)->_current_type/*0*/);
r7append(((T7*)a1),((T0*)ms60_1726920051));
/*[IF*/
if(X62is_reference(_ct)){
_check_type=r60is_tagged((T60*)(X62run_class(_ct)));
/*[IF*/
if(_check_type){
r7append(((T7*)a1),((T0*)ms60_2118444283));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_111269879));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_9954400));
X62c_type_for_target_in(_ct,a1);
r7append(((T7*)a1),((T0*)ms60_78271));
/*[IF*/
if(X62is_reference(_ct)){
r7append(((T7*)a1),((T0*)ms60_252669317));
}
else{
r7append(((T7*)a1),((T0*)ms60_1514442508));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_60405));
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item(((T445*)_wa),_i);
_name=X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/));
_t=X62run_type((/*RF2*/(((T152*)_rf2))->_result_type/*32*/));
/*[IF*/
if(X62is_basic_eiffel_expanded(_t)){
r7append(((T7*)a1),((T0*)ms60_1124779458));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_548441155));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_6455a));
}
/*FI]*/
_i=(_i)-(1);
}
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item(((T445*)_wa),_i);
_name=X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/));
_t=X62run_type((/*RF2*/(((T152*)_rf2))->_result_type/*32*/));
/*[IF*/
if(X62is_reference(_t)){
r7append(((T7*)a1),((T0*)ms60_9980719));
r2append_in(X62id(_ct),a1);
r7append(((T7*)a1),((T0*)ms60_1223919505));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_7869aa));
/*[IF*/
if(X62is_reference(_ct)){
r7append(((T7*)a1),((T0*)ms60_379));
}
/*FI]*/
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_9905));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_5394280));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_1330));
}
 else if(X62is_native_array(_t)){
/*[IF*/
if((r60get_feature_with(C,((T0*)ms21_9676326)))==((void*)(NULL))){
r82add_type(_t,((T0*)ms20_75797981));
r82print_as_error((T82*)(oBC19eh));
{T104 se_tmp0;
r82add_position(/*(IRF4.6start_position*/(*(se_tmp0=r153start_position(((T153*)((/*RF2*/(((T152*)_rf2))->_base_feature/*28*/)))),&se_tmp0))/*)*/);
}
/*[IRF3.6append*/{T0* b1=((T0*)ms60_653639191);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_9980719a));
r2append_in(X62id(_t),a1);
r7append(((T7*)a1),((T0*)ms60_1824713404));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_7869aaa));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_9905a));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_5394280a));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_2030510390));
}
 else if(X62is_dummy_expanded(_t)){
}
 else if(X62is_user_expanded(_t)){
r7append(((T7*)a1),((T0*)ms60_9980719aa));
r2append_in(X62id(_t),a1);
r7append(((T7*)a1),((T0*)ms60_1096165867));
/*[IF*/
if(r57no_check((T57*)(oBC19run_control))){
r7append(((T7*)a1),((T0*)ms60_7869aaaa));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_153655));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_21409905));
r7append(((T7*)a1),_name);
r7append(((T7*)a1),((T0*)ms60_1330a));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
/*[IF*/
if(_check_type){
r7append(((T7*)a1),((T0*)ms60_635));
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms60_23313965));
}
T0*oBC60wa_cycle=NULL;


T6 r60is_running_of(T60* C,T0* a1){
T6 R=0;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((a1)==((void*)(C))){
R=1;
}
else{
_t1=(/*RF2*/(C)->_current_type/*0*/);
_t2=(/*RF2*/(((T60*)a1))->_current_type/*0*/);
/*[IF*/
if((X62is_basic_eiffel_expanded(_t1))&&(X62is_basic_eiffel_expanded(_t2))){
}
else{
R=X62is_a(_t1,_t2);
/*[IF*/
if(!(R)){
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC82explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T105*)((T105*)(oBC82positions))))->_upper)=(-(1));
/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}


void r60gc_define1(T60* C){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
X62gc_define1((/*RF2*/(C)->_current_type/*0*/));
}
/*FI]*/
}


void r60gc_define2(T60* C){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
X62gc_define2((/*RF2*/(C)->_current_type/*0*/));
}
/*FI]*/
}
T0*oBC60wa_buf=NULL;


void r60gc_align_mark_fixed_size(T60* C,T0* a1){
r7append(((T7*)a1),((T0*)ms20_614));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7append(((T7*)a1),((T0*)ms60_1007239));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7append(((T7*)a1),((T0*)ms60_526175446));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7append(((T7*)a1),((T0*)ms60_680177517));
r2append_in((/*RF2*/(C)->_id/*16*/),a1);
r7append(((T7*)a1),((T0*)ms60_525205114));
r60gc_mark_fixed_size(C,1,a1);
r7append(((T7*)a1),((T0*)ms60_16510));
}


void r60add_running(T60* C,T0* a1){
/*[IF*/
if(((/*RF2*/(C)->_running/*21*/))==((void*)(NULL))){
{T63*n=((T63*)se_malloc(sizeof(*n))/*20*/);
*n=M63;
r63with_capacity(n,8,1);
(/*SFN*/C->_running)=((T0*)n);
}
r63add_last((T63*)((/*RF2*/(C)->_running/*21*/)),a1);
}
else{
/*[IF*/
if(!(r63fast_has((T63*)((/*RF2*/(C)->_running/*21*/)),a1))){
r63add_last((T63*)((/*RF2*/(C)->_running/*21*/)),a1);
}
/*FI]*/
}
/*FI]*/
}


T0* r60writable_attributes(T60* C){
T0* R=NULL;
T2 _i=0;
T0* _rf2=NULL;
/*[IF*/
if(((/*RF2*/(C)->_writable_attributes_mem/*42*/))==((void*)(NULL))){
_i=1;
while (!((_i)>((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))))
{
_rf2=r144item((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_i);
if(NULL!=(_rf2)){
switch(((T0*)_rf2)->id){
case 152:
break;
default:
_rf2=NULL;
}
}/*[IF*/
if((_rf2)!=((void*)(NULL))){
/*[IF*/
if(((/*RF2*/(C)->_writable_attributes_mem/*42*/))==((void*)(NULL))){
{T445*n=((T445*)se_malloc(sizeof(*n))/*20*/);
*n=M445;
r445with_capacity(n,4,1);
(/*SFN*/C->_writable_attributes_mem)=((T0*)n);
}
}
/*FI]*/
r445add_last((T445*)((/*RF2*/(C)->_writable_attributes_mem/*42*/)),_rf2);
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if(((/*RF2*/(C)->_writable_attributes_mem/*42*/))!=((void*)(NULL))){
r60sort_wam((/*RF2*/(C)->_writable_attributes_mem/*42*/));
}
/*FI]*/
}
/*FI]*/
R=(/*RF2*/(C)->_writable_attributes_mem/*42*/);
return R;
}


T6 r60gc_mark_to_follow(T60* C){
T6 R=0;
T0* _rc=NULL;
T0* _r=NULL;
T2 _i=0;
_r=(/*RF2*/(C)->_running/*21*/);
/*[IF*/
if((_r)!=((void*)(NULL))){
_i=(/*RF2*/(((T63*)_r))->_upper/*12*/);
while (!((R)||((_i)==(0))))
{
_rc=r63item(((T63*)_r),_i);
/*[IF*/
if((_rc)==((void*)(C))){
R=r60need_gc_mark(C);
}
else{
R=X62need_gc_mark_function((/*RF2*/(((T60*)_rc))->_current_type/*0*/));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}


T0* r60id_provider(void){
if(fBC19id_provider==0){fBC19id_provider=1;{
{T42*n=((T42*)se_malloc(sizeof(*n))/*4*/);
*n=M42;
oBC19id_provider=((T0*)n);
r42make(n);
}
}}
return oBC19id_provider;
}


void r60id_extra_information(T60* C,T0* a1){
T0* _ct=NULL;
T2 _i=0;
T0* _r=NULL;
_ct=(/*RF2*/(C)->_current_type/*0*/);
r58put_string(((T58*)a1),((T0*)ms60_44462444));
r58put_integer(((T58*)a1),(/*RF2*/(C)->_id/*16*/));
/*[IRF3.6put_character*/{T58* C1=((T58*)a1);
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
X62id_extra_information(_ct,a1);
/*[IF*/
if(X62is_reference(_ct)){
r58put_string(((T58*)a1),((T0*)ms60_1809213019));
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
r58put_string(((T58*)a1),((T0*)ms60_1317154036));
/*[IF*/
if((X62is_reference(_ct))&&(!(r60is_tagged(C)))){
r58put_string(((T58*)a1),((T0*)ms60_3337));
}
else{
r58put_string(((T58*)a1),((T0*)ms60_18257));
}
/*FI]*/
}
else{
r58put_string(((T58*)a1),((T0*)ms60_78082));
}
/*FI]*/
r58put_string(((T58*)a1),((T0*)ms60_257216509));
_r=(/*RF2*/(C)->_running/*21*/);
/*[IF*/
if((_r)!=((void*)(NULL))){
r58put_integer(((T58*)a1),r63count(((T63*)_r)));
}
else{
/*[IRF3.6put_character*/{T58* C1=((T58*)a1);
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
}
/*FI]*/
/*[IRF3.6put_character*/{T58* C1=((T58*)a1);
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*[IF*/
if((_r)!=((void*)(NULL))){
r58put_string(((T58*)a1),((T0*)ms60_55816647));
_i=(/*RF2*/(((T63*)_r))->_upper/*12*/);
while (!((_i)==(0)))
{
r58put_integer(((T58*)a1),(/*RF2*/((T60*)(r63item(((T63*)_r),_i)))->_id/*16*/));
/*[IRF3.6put_character*/{T58* C1=((T58*)a1);
T3 b1=((T3)'\40');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
_i=(_i)-(1);
}
}
/*FI]*/
}
/*FI]*/
}


void r60shared_attributes(T60* C,T0* a1){
T2 _i=0;
T0* _rf2=NULL;
_i=1;
while (!((_i)>((/*RF2*/((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)))->_count/*8*/))))
{
_rf2=r144item((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),_i);
if(NULL!=(_rf2)){
switch(((T0*)_rf2)->id){
case 152:
break;
default:
_rf2=NULL;
}
}/*[IF*/
if((_rf2)!=((void*)(NULL))){
_rf2=r60get_feature(((T60*)a1),(/*RF2*/(((T152*)_rf2))->_name/*16*/));
if(NULL!=(_rf2)){
switch(((T0*)_rf2)->id){
case 152:
break;
default:
_rf2=NULL;
}
}}
/*FI]*/
_i=(_i)+(1);
}
}


T0* r60get_or_fatal_error(T60* C,T0* a1){
T0* R=NULL;
R=r60get_feature(C,a1);
/*[IF*/
if((R)==((void*)(NULL))){
{T104 se_tmp0;
r82add_position((*(se_tmp0=X117start_position(a1),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms60_7440512);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X117to_string(a1);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms60_352009409);
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82add_type((/*RF2*/(C)->_current_type/*0*/),((T0*)ms20_46));
r82print_as_fatal_error((T82*)(oBC19eh));
}
/*FI]*/
return R;
}


void r60tuple_field(T0* a1,T0* a2,T0* a3){
T0* _aw=NULL;
T0* _set_name=NULL;
T0* _rf=NULL;
T0* _rf2=NULL;
T0* _set_sfn=NULL;
T0* _sfn=NULL;
T0* _wa=NULL;
T0* _bc=NULL;
T104 _sp={NULL,0};
_bc=X62base_class(a1);
/*[IRF3.6set_in*/{T104* C1=&_sp;
T0* b1=_bc;
r104set(C1,1,1,(/*RF2*/(((T61*)b1))->_id/*0*/),b1);
}/*]*/
{T143*n=((T143*)se_malloc(sizeof(*n))/*20*/);
*n=M143;
r143make(n,a2,_sp);
_sfn=((T0*)n);
}
{T153*n=((T153*)se_malloc(sizeof(*n))/*24*/);
*n=M153;
r153implicit(n,_bc,_sfn,a3);
_wa=((T0*)n);
}
_rf2=r153to_run_feature(((T153*)_wa),a1,_sfn);
/*[IRF3.3set_run_feature_2*/((((T143*)(((T143*)_sfn))))->_run_feature_2)=(_rf2);
/*]*/
_set_name=r7_px_43(ms60_17575,a2);
_set_name=((/*UT*/(void)((T27*)(r60string_aliaser()))),r27item(_set_name));
{T143*n=((T143*)se_malloc(sizeof(*n))/*20*/);
*n=M143;
r143make(n,_set_name,_sp);
_set_sfn=((T0*)n);
}
{T150*n=((T150*)se_malloc(sizeof(*n))/*56*/);
*n=M150;
r150attribute_writer(n,_bc,_set_sfn,_sfn);
_aw=((T0*)n);
}
_rf=r150to_run_feature(((T150*)_aw),a1,_set_sfn);
}


void r60c_header_pass1(T60* C){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
/*[IF*/
if(((/*RF2*/(C)->_c_header_pass_level_done/*47*/))<(1)){
X62c_header_pass1((/*RF2*/(C)->_current_type/*0*/));
(/*SFN*/C->_c_header_pass_level_done)=1;
}
/*FI]*/
}
/*FI]*/
}


T6 r60is_tagged(T60* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_tagged_mem/*34*/))==(0)){
/*[IF*/
if(X62is_expanded((/*RF2*/(C)->_current_type/*0*/))){
(/*SFN*/C->_tagged_mem)=-(1);
}
 else if((/*RF2*/(C)->_at_run_time/*20*/)){
/*[IF*/
if(r57boost((T57*)(oBC19run_control))){
/*[IF*/
if(r59is_tagged((T0*)C)){
(/*SFN*/C->_tagged_mem)=1;
}
else{
(/*SFN*/C->_tagged_mem)=-(1);
}
/*FI]*/
}
else{
(/*SFN*/C->_tagged_mem)=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=((/*RF2*/(C)->_tagged_mem/*34*/))==(1);
return R;
}


void r60c_header_pass2(T60* C){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
/*[IF*/
if(((/*RF2*/(C)->_c_header_pass_level_done/*47*/))<(2)){
X62c_header_pass2((/*RF2*/(C)->_current_type/*0*/));
(/*SFN*/C->_c_header_pass_level_done)=2;
}
/*FI]*/
}
/*FI]*/
}


void r60c_header_pass3(T60* C){
T0* _attribute_type=NULL;
T2 _i=0;
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
/*[IF*/
if(((/*RF2*/(C)->_c_header_pass_level_done/*47*/))<(3)){
/*[IF*/
if((X62is_user_expanded((/*RF2*/(C)->_current_type/*0*/)))&&((r60writable_attributes(C))!=((void*)(NULL)))){
_i=(/*RF2*/((T445*)(r60writable_attributes(C)))->_upper/*12*/);
while (!((_i)==(0)))
{
_attribute_type=(/*RF2*/((T152*)(r445item((T445*)(r60writable_attributes(C)),_i)))->_result_type/*32*/);
/*[IF*/
if(X62is_expanded(_attribute_type)){
r60c_header_pass3((T60*)(X62run_class(_attribute_type)));
}
/*FI]*/
_i=(_i)-(1);
}
}
/*FI]*/
X62c_header_pass3((/*RF2*/(C)->_current_type/*0*/));
(/*SFN*/C->_c_header_pass_level_done)=3;
}
/*FI]*/
}
/*FI]*/
}


void r60c_header_pass4(T60* C){
/*[IF*/
if((/*RF2*/(C)->_at_run_time/*20*/)){
/*[IF*/
if(((/*RF2*/(C)->_c_header_pass_level_done/*47*/))<(4)){
X62c_header_pass4((/*RF2*/(C)->_current_type/*0*/));
(/*SFN*/C->_c_header_pass_level_done)=4;
}
/*FI]*/
}
/*FI]*/
}


T0* r60get_feature_with(T60* C,T0* a1){
T0* R=NULL;
T0* _sfn=NULL;
/*[IF*/
if(r144has((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),a1)){
R=r144at((T144*)((/*RF2*/(C)->_feature_dictionary/*30*/)),a1);
}
else{
{T143*n=((T143*)se_malloc(sizeof(*n))/*20*/);
*n=M143;
/*[IRF3.3unknown_position*/((((T143*)(n)))->_to_string)=(a1);
/*]*/
_sfn=((T0*)n);
}
R=r60get_feature(C,_sfn);
}
/*FI]*/
return R;
}


void r60c_print_function(T60* C){
T0* _rf2=NULL;
T0* _wa=NULL;
T2 _i=0;
T0* _t=NULL;
T0* _ct=NULL;
T0* _body=NULL;
_body=oBC60c_print_function_buffer;
/*[IRF3.3clear*/((((T7*)(((T7*)_body))))->_count)=(0);
/*]*/
_ct=(/*RF2*/(C)->_current_type/*0*/);
r7copy((T7*)(oBC60tmp_string),((T0*)ms60_1112927266));
r2append_in((/*RF2*/(C)->_id/*16*/),oBC60tmp_string);
r7append((T7*)(oBC60tmp_string),((T0*)ms60_284));
r2append_in((/*RF2*/(C)->_id/*16*/),oBC60tmp_string);
/*[IF*/
if(X62is_reference(_ct)){
r7extend((T7*)(oBC60tmp_string),((T3)'\52'));
}
/*FI]*/
r7append((T7*)(oBC60tmp_string),((T0*)ms60_1646));
/*[IF*/
if(X62is_reference(_ct)){
r7append(((T7*)_body),((T0*)ms60_966152571));
}
/*FI]*/
r7append(((T7*)_body),((T0*)ms60_641475824a));
r7append(((T7*)_body),(/*RF2*/(C)->_run_time_mark/*4*/));
r7append(((T7*)_body),((T0*)ms60_5580));
/*[IF*/
if((X62is_reference(_ct))||(X62is_native_array(_ct))){
r7append(((T7*)_body),((T0*)ms60_596564007));
}
/*FI]*/
_wa=r60writable_attributes(C);
/*[IF*/
if((_wa)!=((void*)(NULL))){
r7append(((T7*)_body),((T0*)ms60_456870507));
_i=(/*RF2*/(((T445*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf2=r445item(((T445*)_wa),_i);
_t=(/*RF2*/(((T152*)_rf2))->_result_type/*32*/);
r7append(((T7*)_body),((T0*)ms60_641475824));
r7append(((T7*)_body),X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/)));
r7append(((T7*)_body),((T0*)ms60_605650769));
/*[IF*/
if(X62is_expanded(_t)){
r2append_in(X62id(_t),_body);
r7extend(((T7*)_body),((T3)'\50'));
}
 else if(X62is_string(_t)){
r7append(((T7*)_body),((T0*)ms60_880879251));
}
else{
r7append(((T7*)_body),((T0*)ms60_4559801));
}
/*FI]*/
r7append(((T7*)_body),((T0*)ms60_775396));
/*[IF*/
if(X62is_reference(_ct)){
r7append(((T7*)_body),((T0*)ms60_287));
}
else{
r7extend(((T7*)_body),((T3)'\56'));
}
/*FI]*/
r7extend(((T7*)_body),((T3)'\137'));
r7append(((T7*)_body),X117to_string((/*RF2*/(((T152*)_rf2))->_name/*16*/)));
r7append(((T7*)_body),((T0*)ms60_32080));
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
r7append(((T7*)_body),((T0*)ms60_457054882));
}
/*FI]*/
}
r7append(((T7*)_body),((T0*)ms60_1809359305));
}
/*FI]*/
r83put_c_function((T83*)(oBC19cpp),oBC60tmp_string,_body);
}


void r444just_before_mark(T0* a1){
T0* _rc=NULL;
T2 _i=0;
_i=(/*RF2*/(((T67*)a1))->_upper/*12*/);
while (!((_i)<(0)))
{
_rc=/*(IRF4.6item*/((/*RF2*/(((T67*)a1))->_storage/*4*/))[_i]/*)*/;
r60just_before_gc_mark_in(((T60*)_rc),oBC444body);
_i=(_i)-(1);
}
}


void r444c_dicho(T444* C,T0* a1,T2 a2,T2 a3){
T0* _rc=NULL;
T2 _m=0;
/*[IF*/
if((a2)==(a3)){
_rc=r63item(((T63*)a1),a2);
X62gc_mark_in((/*RF2*/(((T60*)_rc))->_current_type/*0*/),oBC444body);
r7extend((T7*)(oBC444body),((T3)'\50'));
r7extend((T7*)(oBC444body),((T3)'\50'));
r7extend((T7*)(oBC444body),((T3)'T'));
r2append_in((/*RF2*/(((T60*)_rc))->_id/*16*/),oBC444body);
r7extend((T7*)(oBC444body),((T3)'\52'));
r7extend((T7*)(oBC444body),((T3)'\51'));
r7extend((T7*)(oBC444body),((T3)'o'));
r7extend((T7*)(oBC444body),((T3)'\51'));
r7append((T7*)(oBC444body),((T0*)ms20_305));
}
else{
_m=((a2)+(a3))/(2);
_rc=r63item(((T63*)a1),_m);
r7append((T7*)(oBC444body),((T0*)ms444_49680837));
r2append_in((/*RF2*/(((T60*)_rc))->_id/*16*/),oBC444body);
r7append((T7*)(oBC444body),((T0*)ms444_6550));
r444c_dicho(C,a1,a2,_m);
r7append((T7*)(oBC444body),((T0*)ms444_53329675));
r444c_dicho(C,a1,(_m)+(1),a3);
r7extend((T7*)(oBC444body),((T3)'\175'));
}
/*FI]*/
}
T0*oBC444body=NULL;


T0* r444system_tools(void){
if(fBC19system_tools==0){fBC19system_tools=1;{
{T48*n=((T48*)se_malloc(sizeof(*n))/*17*/);
*n=M48;
oBC19system_tools=((T0*)n);
r48make(n);
}
}}
return oBC19system_tools;
}


void r444memory_dispose(T0* a1,T0* a2,T0* a3){
T6 _no_check=0;
T0* _rf3=NULL;
_rf3=r60get_memory_dispose(((T60*)a3));
/*[IF*/
if((_rf3)!=((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms444_15915));
r7append(((T7*)a1),a2);
r7append(((T7*)a1),((T0*)ms444_10511077));
_no_check=r57no_check((T57*)(oBC19run_control));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms444_2007398957));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'r'));
r2append_in((/*RF2*/(((T60*)a3))->_id/*16*/),a1);
X117mapping_c_in((/*RF2*/(((T154*)_rf3))->_name/*16*/),a1);
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms444_7869));
}
/*FI]*/
/*[IF*/
if((_no_check)||(r154use_current(((T154*)_rf3)))){
r7extend(((T7*)a1),((T3)'\50'));
X62c_type_for_target_in((/*RF2*/(((T60*)a3))->_current_type/*0*/),a1);
r7extend(((T7*)a1),((T3)'\51'));
r7append(((T7*)a1),a2);
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms20_1330));
/*[IF*/
if(_no_check){
r7append(((T7*)a1),((T0*)ms444_257498083));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\175'));
}
/*FI]*/
}


void r444switch_for(T444* C,T0* a1){
T0* _r=NULL;
T0* _ct=NULL;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444header))))->_count)=(0);
/*]*/
r7append((T7*)(oBC444header),((T0*)ms20_18150));
r7extend((T7*)(oBC444header),((T3)'\40'));
r7extend((T7*)(oBC444header),((T3)'X'));
_ct=(/*RF2*/(((T60*)a1))->_current_type/*0*/);
X62gc_mark_in(_ct,oBC444header);
r7extend((T7*)(oBC444header),((T3)'\50'));
r7append((T7*)(oBC444header),((T0*)ms20_2382));
r7extend((T7*)(oBC444header),((T3)'o'));
r7extend((T7*)(oBC444header),((T3)'\51'));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
_r=(/*RF2*/(((T60*)a1))->_running/*21*/);
r444sort_running(_r);
r7append((T7*)(oBC444body),((T0*)ms444_2006740748));
r444c_dicho(C,_r,1,(/*RF2*/(((T63*)_r))->_upper/*12*/));
r7extend((T7*)(oBC444body),((T3)'\175'));
r83put_c_function((T83*)(oBC19cpp),oBC444header,oBC444body);
}


void r444new_native9_in(T444* C,T0* a1,T6 a2){
/*[IF*/
if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
r7append(((T7*)a1),((T0*)ms444_54714979));
}
else{
r7append(((T7*)a1),((T0*)ms20_3374));
r7extend(((T7*)a1),((T3)'9'));
}
/*FI]*/
}


void r444new_manifest_string_in(T444* C,T0* a1,T6 a2){
/*[IF*/
if(((/*RF2*/(C)->_is_off/*0*/))||(!(a2))){
r7append(((T7*)a1),((T0*)ms444_1897580075));
}
else{
r7append(((T7*)a1),((T0*)ms444_1542088104));
}
/*FI]*/
/*[IF*/
if((a2)&&(r60is_tagged((T60*)(r368run_class((T368*)(r444type_string())))))){
r7append(((T7*)a1),((T0*)ms444_49806180));
}
/*FI]*/
}


void r444falling_down(T444* C,T0* a1){
T0* _rf3=NULL;
/*[IF*/
if(!((/*RF2*/(C)->_is_off/*0*/))){
_rf3=r60get_memory_dispose(((T60*)a1));
/*[IF*/
if((_rf3)!=((void*)(NULL))){
(/*SFN*/C->_dispose_flag)=1;
}
/*FI]*/
}
/*FI]*/
}


T0* r444type_string(void){
if(fBC19type_string==0){fBC19type_string=1;{
T104 _unknown_position={NULL,0};
{T368*n=((T368*)se_malloc(sizeof(*n))/*16*/);
*n=M368;
oBC19type_string=((T0*)n);
r368make(n,_unknown_position);
}
}}
return oBC19type_string;
}
T0*oBC19once_routine_pool=NULL;


void r444set_info_flag(T444* C){
(/*SFN*/C->_is_off)=0;
(/*SFN*/C->_info_flag)=1;
}


void r444basic_allocation(T444* C,T0* a1,T0* a2,T0* a3){
T2 _id=0;
T0* _ct=NULL;
_ct=(/*RF2*/(((T60*)a3))->_current_type/*0*/);
_id=(/*RF2*/(((T60*)a3))->_id/*16*/);
r7append(((T7*)a2),a1);
r7extend(((T7*)a2),((T3)'\75'));
/*[IF*/
if((/*RF2*/(C)->_is_off/*0*/)){
r7append(((T7*)a2),((T0*)ms444_1284));
r2append_in(_id,a2);
/*[IF*/
if(X62need_c_struct(_ct)){
r7append(((T7*)a2),((T0*)ms444_1208251348));
r7append(((T7*)a2),a1);
r7append(((T7*)a2),((T0*)ms444_6427));
r2append_in(r60c_sizeof(((T60*)a3)),a2);
r7append(((T7*)a2),((T0*)ms444_167317));
r7append(((T7*)a2),a1);
r7append(((T7*)a2),((T0*)ms444_382));
r2append_in(_id,a2);
}
else{
r7append(((T7*)a2),((T0*)ms444_1290936337));
}
/*FI]*/
}
 else if((a1)==((void*)(((T0*)ms20_2125481451)))){
r7append(((T7*)a2),((T0*)ms444_1284a));
r2append_in(_id,a2);
r7append(((T7*)a2),((T0*)ms444_149759763));
r2append_in(_id,a2);
}
else{
r7append(((T7*)a2),((T0*)ms20_3374));
r2append_in(_id,a2);
r7append(((T7*)a2),((T0*)ms20_241));
}
/*FI]*/
r7append(((T7*)a2),((T0*)ms20_305));
}


void r444sort_running(T0* a1){
T6 _moved=0;
T2 _buble=0;
T2 _max=0;
T2 _min=0;
_max=(/*RF2*/(((T63*)a1))->_upper/*12*/);
_min=1;
_moved=1;
while (!(!(_moved)))
{
_moved=0;
/*[IF*/
if(((_max)-(_min))>(0)){
_buble=(_min)+(1);
while (!((_buble)>(_max)))
{
/*[IF*/
if(((/*RF2*/((T60*)(r63item(((T63*)a1),(_buble)-(1))))->_id/*16*/))>((/*RF2*/((T60*)(r63item(((T63*)a1),_buble)))->_id/*16*/))){
r63swap(((T63*)a1),(_buble)-(1),_buble);
_moved=1;
}
/*FI]*/
_buble=(_buble)+(1);
}
_max=(_max)-(1);
}
/*FI]*/
/*[IF*/
if((_moved)&&(((_max)-(_min))>(0))){
_moved=0;
_buble=(_max)-(1);
while (!((_buble)<(_min)))
{
/*[IF*/
if(((/*RF2*/((T60*)(r63item(((T63*)a1),_buble)))->_id/*16*/))>((/*RF2*/((T60*)(r63item(((T63*)a1),(_buble)+(1))))->_id/*16*/))){
r63swap(((T63*)a1),_buble,(_buble)+(1));
_moved=1;
}
/*FI]*/
_buble=(_buble)-(1);
}
_min=(_min)+(1);
}
/*FI]*/
}
}


void r444define_gc_start(T444* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC444body),((T0*)ms444_689812670));
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r7append((T7*)(oBC444body),((T0*)ms444_98267602));
}
/*FI]*/
r7append((T7*)(oBC444body),((T0*)ms444_41125176));
r2append_in(X62id(a1),oBC444body);
r7append((T7*)(oBC444body),((T0*)ms444_1869700848));
r444just_before_mark(a2);
r7append((T7*)(oBC444body),((T0*)ms20_1994852));
r2append_in(X62id(a1),oBC444body);
r7append((T7*)(oBC444body),((T0*)ms444_1637595774));
/*[IF*/
if((/*RF2*/((T57*)(oBC19run_control))->_generator_used/*10*/)){
r7append((T7*)(oBC444body),((T0*)ms444_1215177661));
}
/*FI]*/
/*[IF*/
if((/*RF2*/((T57*)(oBC19run_control))->_generating_type_used/*9*/)){
r7append((T7*)(oBC444body),((T0*)ms444_444775459));
}
/*FI]*/
r7append((T7*)(oBC444body),((T0*)ms444_829920879));
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r7append((T7*)(oBC444body),((T0*)ms444_249328889));
}
/*FI]*/
r83put_c_function((T83*)(oBC19cpp),((T0*)ms444_1240206596),oBC444body);
}


void r444initialize_runtime(T444* C){
/*[IF*/
if(!((/*RF2*/(C)->_is_off/*0*/))){
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms444_969559328));
/*]*/
}
/*FI]*/
}


void r444allocation_of(T444* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
r444basic_allocation(C,a1,oBC444body,a2);
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),oBC444body);
/*]*/
}


void r444no_gc(T444* C){
(/*SFN*/C->_is_off)=1;
(/*SFN*/C->_info_flag)=0;
}


void r444define2(T444* C){
T0* _root_type=NULL;
T0* _run_class_map=NULL;
T0* _rc=NULL;
T2 _i=0;
_run_class_map=r59get_run_class_map();
_root_type=(/*RF2*/((T154*)((/*RF2*/((T59*)(oBC19small_eiffel))->_root_procedure/*0*/)))->_current_type/*8*/);
/*[IRF3.2define_manifest_string_mark*/{T0* _ms=NULL;
T2 _function_count=0;
T2 _ms_count=0;
T2 _mdc=0;
T2 _i=0;
_mdc=(/*RF2*/((T471*)(oBC470mangling_dictionary))->_count/*12*/);
_function_count=1;
r470define_manifest_string_mark_header(_function_count);
_i=1;
while (!((_i)>(_mdc)))
{
/*[IF*/
if((_ms_count)>(300)){
_ms_count=0;
_function_count=(_function_count)+(1);
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms470_905827712));
/*]*/
/*[IRF3.5put_integer*/r58put_integer(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),_function_count);
/*]*/
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms20_6330));
/*]*/
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms20_635));
/*]*/
r470define_manifest_string_mark_header(_function_count);
}
/*FI]*/
_ms=r471item((T471*)(oBC470mangling_dictionary),_i);
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms470_20974295));
/*]*/
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),(/*RF2*/(((T262*)_ms))->_mangling/*28*/));
/*]*/
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms470_992208171));
/*]*/
_ms_count=(_ms_count)+(1);
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms20_635));
/*]*/
}/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
r465gc_mark_in(oBC444body);
r83put_c_function((T83*)(oBC19cpp),((T0*)ms444_1824264277),oBC444body);
r48put_mark_stack_and_registers((T48*)(r444system_tools()));
r444define_gc_start(C,_root_type,_run_class_map);
r83swap_on_h((T83*)(oBC19cpp));
_i=(/*RF2*/(((T67*)_run_class_map))->_upper/*12*/);
while (!((_i)<(0)))
{
_rc=/*(IRF4.6item*/((/*RF2*/(((T67*)_run_class_map))->_storage/*4*/))[_i]/*)*/;
r60gc_define1(((T60*)_rc));
_i=(_i)-(1);
}
/*[IRF3.3swap_on_c*/((((T83*)((T83*)(oBC19cpp))))->_current_out)=(oBC83out_c);
/*]*/
_i=(/*RF2*/(((T67*)_run_class_map))->_upper/*12*/);
while (!((_i)<(0)))
{
_rc=/*(IRF4.6item*/((/*RF2*/(((T67*)_run_class_map))->_storage/*4*/))[_i]/*)*/;
r60gc_define2(((T60*)_rc));
_i=(_i)-(1);
}
_i=(/*RF2*/((T67*)(oBC444switch_list))->_upper/*12*/);
while (!((_i)<(0)))
{
r444switch_for(C,/*(IRF4.6item*/((/*RF2*/((T67*)(oBC444switch_list))->_storage/*4*/))[_i]/*)*/);
_i=(_i)-(1);
}
/*[IF*/
if((/*RF2*/(C)->_info_flag/*1*/)){
r444define_gc_info(_run_class_map);
}
/*FI]*/
}


void r444allocation(T444* C,T0* a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC444body),((T3)'T'));
r2append_in((/*RF2*/(((T60*)a1))->_id/*16*/),oBC444body);
r7extend((T7*)(oBC444body),((T3)'\52'));
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),oBC444body);
/*]*/
r444allocation_of(C,((T0*)ms444_110),a1);
}


void r444gc_info_before_exit(T444* C){
/*[IF*/
if((/*RF2*/(C)->_is_off/*0*/)){
}
 else if((/*RF2*/(C)->_info_flag/*1*/)){
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms444_118716790));
/*]*/
}
/*FI]*/
/*[IF*/
if((!((/*RF2*/(C)->_is_off/*0*/)))&&((/*RF2*/(C)->_dispose_flag/*2*/))){
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),((T0*)ms444_1197879602));
/*]*/
}
/*FI]*/
}
T0*oBC444switch_list=NULL;


void r444mark_for(T0* a1,T0* a2,T0* a3){
T0* _r=NULL;
T0* _ct=NULL;
_r=(/*RF2*/(((T60*)a3))->_running/*21*/);
/*[IF*/
if((_r)!=((void*)(NULL))){
_ct=(/*RF2*/(((T60*)a3))->_current_type/*0*/);
/*[IF*/
if((X62is_reference(_ct))||(X62is_native_array(_ct))){
r7append(((T7*)a1),((T0*)ms444_49917876));
r7append(((T7*)a1),a2);
r7extend(((T7*)a1),((T3)'\51'));
}
/*FI]*/
/*[IF*/
if(r6_px_and((r63count(((T63*)_r)))>(1),!(X62is_expanded(_ct)))){
r83incr_switch_count((T83*)(oBC19cpp));
/*[IF*/
if(!(r67fast_has((T67*)(oBC444switch_list),a3))){
r67add_last((T67*)(oBC444switch_list),a3);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'X'));
X62gc_mark_in(_ct,a1);
}
else{
r83incr_direct_call_count((T83*)(oBC19cpp));
_ct=(/*RF2*/((T60*)(/*(IRF4.6first*/((/*RF2*/(((T63*)_r))->_storage/*4*/))[0]/*)*/))->_current_type/*0*/);
X62gc_mark_in(_ct,a1);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if(X62is_reference(_ct)){
r7extend(((T7*)a1),((T3)'\50'));
/*[IF*/
if((r63count(((T63*)_r)))>(1)){
r7append(((T7*)a1),((T0*)ms444_2382));
}
else{
X62c_type_for_target_in(_ct,a1);
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\51'));
}
 else if(X62is_user_expanded(_ct)){
r7extend(((T7*)a1),((T3)'\46'));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\50'));
r7append(((T7*)a1),a2);
r7append(((T7*)a1),((T0*)ms20_6455));
}
/*FI]*/
}


void r444define_gc_info(T0* a1){
T0* _rc=NULL;
T2 _i=0;
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444header))))->_count)=(0);
/*]*/
r7append((T7*)(oBC444header),((T0*)ms20_18150));
r7extend((T7*)(oBC444header),((T3)'\40'));
r7append((T7*)(oBC444header),((T0*)ms20_1994621));
r7append((T7*)(oBC444header),((T0*)ms20_215791));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC444body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC444body),((T0*)ms444_125892905));
_i=(/*RF2*/(((T67*)a1))->_upper/*12*/);
while (!((_i)<(0)))
{
_rc=/*(IRF4.6item*/((/*RF2*/(((T67*)a1))->_storage/*4*/))[_i]/*)*/;
r60gc_info_in(((T60*)_rc),oBC444body);
_i=(_i)-(1);
}
r7append((T7*)(oBC444body),((T0*)ms444_1348996210));
r83put_c_function((T83*)(oBC19cpp),oBC444header,oBC444body);
}
T0*oBC444header=NULL;


void r371c_initialize_in(T371* C,T0* a1){
/*[IF*/
if(r371is_basic_eiffel_expanded(C)){
X62c_initialize_in((/*RF2*/(C)->_run_type/*32*/),a1);
}
else{
/*[IF*/
if(r371need_c_struct(C)){
r60c_object_model_in((T60*)(r371run_class(C)),a1);
}
else{
r7extend(((T7*)a1),((T3)'0'));
}
/*FI]*/
}
/*FI]*/
}


void r371c_type_for_external_in(T371* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
r371c_type_for_result_in(C,a1);
/*FI]*/
}


T0* r371generic_list(T371* C){
T0* R=NULL;
R=X62generic_list((/*RF2*/(C)->_mapped/*24*/));
return R;
}


T6 r371is_bit(T371* C){
T6 R=0;
R=X62is_bit((/*RF2*/(C)->_mapped/*24*/));
return R;
}


T6 r371has_creation(T371* C,T0* a1){
T6 R=0;
R=r61has_creation((T61*)(r371base_class(C)),a1);
return R;
}


T2 r371c_sizeof(T371* C){
T2 R=0;
R=r60c_sizeof((T60*)(r371run_class(C)));
return R;
}


void r371c_type_for_result_in(T371* C,T0* a1){
/*[IF*/
if(r371is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms20_3291));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r371id(C),a1);
}
/*FI]*/
}


T6 r371is_native_array(T371* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}


void r371gc_mark_in(T371* C,T0* a1){
r7append(((T7*)a1),((T0*)ms20_1994852));
r2append_in(r371id(C),a1);
}


void r371standard_gc_define2_for_expanded(T371* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r371run_class(C);
/*[IF*/
if(r60gc_mark_to_follow(((T60*)_rc))){
_rcid=(/*RF2*/(((T60*)_rc))->_id/*16*/);
r7copy((T7*)(oBC62header),((T0*)ms20_18150));
r7extend((T7*)(oBC62header),((T3)'\40'));
r371gc_mark_in(C,oBC62header);
r7append((T7*)(oBC62header),((T0*)ms62_284a));
r2append_in(_rcid,oBC62header);
r7append((T7*)(oBC62header),((T0*)ms62_1646a));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC62body))))->_count)=(0);
/*]*/
r60gc_mark_fixed_size(((T60*)_rc),1,oBC62body);
r83put_c_function((T83*)(oBC19cpp),oBC62header,oBC62body);
}
/*FI]*/
}


T6 r371is_pointer(T371* C){
T6 R=0;
R=X62is_pointer((/*RF2*/(C)->_mapped/*24*/));
return R;
}


T2 r371id(T371* C){
T2 R=0;
R=(/*RF2*/((T60*)(r371run_class(C)))->_id/*16*/);
return R;
}


void r371mapping_cast(T371* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC62mapping_cast_buffer))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC62mapping_cast_buffer),((T3)'\50'));
r371c_type_for_target_in(C,oBC62mapping_cast_buffer);
r7extend((T7*)(oBC62mapping_cast_buffer),((T3)'\51'));
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),oBC62mapping_cast_buffer);
/*]*/
}


void r371from_other(T371* C,T0* a1,T0* a2){
{T104 se_tmp0;
(/*SFN*/C->_start_position)=(/*RF2*/(((T371*)a1))->_start_position/*12*/);
}
(/*SFN*/C->_written_mark)=(/*RF2*/(((T371*)a1))->_written_mark/*20*/);
(/*SFN*/C->_mapped)=a2;
/*[IF*/
if(X62is_expanded((/*RF2*/(C)->_mapped/*24*/))){
(/*SFN*/C->_run_time_mark)=X62run_time_mark((/*RF2*/(C)->_mapped/*24*/));
(/*SFN*/C->_run_type)=(/*RF2*/(C)->_mapped/*24*/);
}
else{
(/*SFN*/C->_run_time_mark)=r371compute_mark(X62run_time_mark((/*RF2*/(C)->_mapped/*24*/)));
(/*SFN*/C->_run_type)=((T0*)(C));
}
/*FI]*/
}


T6 r371is_real(T371* C){
T6 R=0;
R=X62is_real((/*RF2*/(C)->_mapped/*24*/));
return R;
}


void r371c_initialize(T371* C){
/*[IF*/
if(r371is_basic_eiffel_expanded(C)){
X62c_initialize((/*RF2*/(C)->_run_type/*32*/));
}
else{
r371c_initialize_expanded(C);
}
/*FI]*/
}


void r371standard_c_typedef(T371* C){
T2 _mem_id=0;
_mem_id=r371id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC62tmp_string))))->_count)=(0);
/*]*/
/*[IF*/
if(r371need_c_struct(C)){
r7append((T7*)(oBC62tmp_string),((T0*)ms20_11381817));
r7append((T7*)(oBC62tmp_string),((T0*)ms20_2248337));
r7extend((T7*)(oBC62tmp_string),((T3)'S'));
r2append_in(_mem_id,oBC62tmp_string);
r7extend((T7*)(oBC62tmp_string),((T3)'\40'));
r7extend((T7*)(oBC62tmp_string),((T3)'T'));
r2append_in(_mem_id,oBC62tmp_string);
r7append((T7*)(oBC62tmp_string),((T0*)ms20_305));
}
 else if(r371is_dummy_expanded(C)){
r7append((T7*)(oBC62tmp_string),((T0*)ms20_11381817));
r7append((T7*)(oBC62tmp_string),((T0*)ms20_3291));
r7extend((T7*)(oBC62tmp_string),((T3)'\40'));
r7extend((T7*)(oBC62tmp_string),((T3)'T'));
r2append_in(_mem_id,oBC62tmp_string);
r7append((T7*)(oBC62tmp_string),((T0*)ms20_305));
}
/*AF*//*FI]*/
/*[IRF3.5put_string*/r58put_string(((T58*)((/*RF2*/((T83*)(oBC19cpp))->_current_out/*63*/))),oBC62tmp_string);
/*]*/
}


T6 r371need_gc_mark_function(T371* C){
T6 R=0;
R=r60gc_mark_to_follow((T60*)(r371run_class(C)));
return R;
}


void r371c_type_for_argument_in(T371* C,T0* a1){
/*[IF*/
if(X62is_expanded((/*RF2*/(C)->_mapped/*24*/))){
X62c_type_for_argument_in((/*RF2*/(C)->_mapped/*24*/),a1);
}
 else if(r371is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms20_3291));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r371id(C),a1);
}
/*FI]*/
}


T6 r371stupid_switch(T371* C,T0* a1){
T6 R=0;
R=X62stupid_switch((/*RF2*/(C)->_mapped/*24*/),a1);
return R;
}


T6 r371is_integer(T371* C){
T6 R=0;
R=X62is_integer((/*RF2*/(C)->_mapped/*24*/));
return R;
}


void r371c_frame_descriptor(T371* C){
r7extend((T7*)(oBC19c_frame_descriptor_format),((T3)'\45'));
/*[IF*/
/*AF*//*AE*/
r7extend((T7*)(oBC19c_frame_descriptor_format),((T3)'E'));
/*FI]*/
r2append_in(r371id(C),oBC19c_frame_descriptor_format);
r7extend((T7*)(oBC19c_frame_descriptor_format),((T3)'\45'));
}


void r371make(T371* C,T104 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_mapped)=a2;
(/*SFN*/C->_written_mark)=r371compute_mark(X62written_mark((/*RF2*/(C)->_mapped/*24*/)));
}


T0* r371base_class_name(T371* C){
T0* R=NULL;
R=X62base_class_name((/*RF2*/(C)->_mapped/*24*/));
return R;
}


void r371fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC82explanation),b1);
}/*]*/
r82print_as_fatal_error((T82*)(oBC19eh));
}


T6 r371is_character(T371* C){
T6 R=0;
R=X62is_character((/*RF2*/(C)->_mapped/*24*/));
return R;
}


T0* r371string_aliaser(void){
if(fBC19string_aliaser==0){fBC19string_aliaser=1;{
{T27*n=((T27*)se_malloc(1));
oBC19string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2104);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_53339);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2099);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_53028);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_33156840);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1339128);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_836969340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_33120277);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_774649014);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_168164374);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_274599);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_171638715);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_175767198);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_867350214);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1384826);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35866627);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35868574);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7173699);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_286922);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_179371455);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1447702);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_904828090);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_295849);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_349117293);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_12184);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7704337);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1554777);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_971749965);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_12376);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_7749340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_324411);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_520438282);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1692780980);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_65574);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3075);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9647090);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_64);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_552);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_61);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_371);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_62);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2067995);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_361);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_60);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_45);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_42);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_296);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3421);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2126626);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_43);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_94);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1960);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1972);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_47);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_282);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_35);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9529116);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_77832);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_280482649));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_386854);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_9676326);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_1597390874));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_49076823);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_79341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15751);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_247239028);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_94407393);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_840111968);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1236707441);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15831);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_240810599);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_240810604);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1680885744);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_244781926);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_244783893);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1223936132);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_48958735);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1622700141);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1979951);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_936296820);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1949019648);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_705019679);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1286698901);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10018876);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_50778415);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_397576);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_15932);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80109);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80416);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_80694);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2023685073);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_406284);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2067759348);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2090604340);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_880412606);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_50246319);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_636);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_619776399));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1744612358);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1937220099);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_378799862);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10377643);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1297876698);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16639);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16616);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_84969);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_16686);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
r27special_add(((T0*)ms21_1856946950));
r27special_add(((T0*)ms21_1740332382));
r27special_add(((T0*)ms21_111802057));
r27special_add(((T0*)ms21_756809447));
r27special_add(((T0*)ms21_1419919903));
r27special_add(((T0*)ms21_275488632));
r27special_add(((T0*)ms21_1377517899));
r27special_add(((T0*)ms21_698215697));
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1326673961);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_954385774);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1778079380);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_87541);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_10945665);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_849712179);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_3501);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88048);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88049);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_573080478);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54325331);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_41849945);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2174354);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_438300);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2187464);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2187483);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54733341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54733071);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_733277224);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_54749764);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_11011040);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_112335826);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_11026665);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1507243919);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1053896806);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_591414963);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_267647687);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_591417242);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_447584);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_89510);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_447851);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55924644);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55926626);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279656751);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2246041);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_88795);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_446841);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1607595572);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_55868341);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279416444);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_279523519);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2236118);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1574640467);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1742738754);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_18110);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_90544);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1202672333);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_287359706);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1501191);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_1498845794);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_2038667775);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_42134669);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_337331);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*[IRF3.6regular_add*/{T0* b1=((T0*)ms21_14150);
r30add((T30*)(oBC27memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC19string_aliaser;
}

