/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_c.h"
void r592compile_to_c(T592* C){
int _i=0;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=1;
while (!((_i)>((((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/))) {
X465compile_to_c(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
_i=(_i)+(1);
}
}
/*FI*/}
T0* r592to_runnable(T592* C,T0* a1){
T0* R=NULL;
T0* _i2=NULL;
T0* _i1=NULL;
int _i=0;
/*IF*/if (((((T592*)C))->_current_type/*4*/)==((void*)(NULL))) {
C->_current_type=a1;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
while (!((_i)==(0))) {
_i1=r419item(((T419*)((((T592*)C))->_list/*8*/)),_i);
_i2=X465to_runnable(_i1,(T0*)C);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
/*[IRF3.6append*/{T0* b1=((T0*)ms1_592);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291written_mark((((T592*)C))->_current_type/*4*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_position(X465start_position(_i1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_592);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
/*[IRF3.6put*/{T419* C1=((T419*)((((T592*)C))->_list/*8*/));
T0* b1=_i2;
int b2=_i;
((((T419*)C1))->_storage/*0*/)[(b2)-((((T419*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/_i=(_i)-(1);
}
}
/*FI*/R=(T0*)C;
}
else {
/*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
{T592*n=malloc(sizeof(*n));
*n=M592;
r592make(n,(((T592*)C))->_header_comment/*0*/,NULL);
R=(T0*)n;
}
}
else {
{T592*n=malloc(sizeof(*n));
*n=M592;
r592make(n,(((T592*)C))->_header_comment/*0*/,r419twin(((T419*)((((T592*)C))->_list/*8*/))));
R=(T0*)n;
}
}
/*FI*/R=r592to_runnable(((T592*)R),a1);
}
/*FI*/return R;
}
/*No:COMPOUND.list*/
/*No:COMPOUND.current_type*/
T0* r592run_class(T592* C){
T0* R=NULL;
R=X291run_class((((T592*)C))->_current_type/*4*/);
return R;
}
/*No:COMPOUND.header_comment*/
int r592is_pre_computable(T592* C){
int R=0;
int _i=0;
/*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
R=1;
}
else {
_i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
R=1;
while (!((!(R))||((_i)==(0)))) {
R=X465is_pre_computable(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
int r592use_current(T592* C){
int R=0;
int _i=0;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=X465use_current(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
int r592count(T592* C){
int R=0;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
R=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
}
/*FI*/return R;
}
/*No:COMPOUND.fatal_error*/
T0* r592first(T592* C){
T0* R=NULL;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
R=r419first(((T419*)((((T592*)C))->_list/*8*/)));
}
/*FI*/return R;
}
void r592afd_check(T592* C){
int _i=0;
/*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
while (!((_i)==(0))) {
X465afd_check(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
_i=(_i)-(1);
}
}
/*FI*/}
T0* r529add_comment(T529* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r529to_integer(T529* C){
int R=0;
r529error(r529start_position(C),((T0*)ms69_470));
return R;
}
int r529is_a(T529* C,T0* a1){
int R=0;
R=X291is_a(X291run_type(r529result_type(C)),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(r529start_position(C));
r529error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:EXPRESSION_WITH_COMMENT.is_current*/
void r529mapping_c_arg(T529* C,T0* a1){
X662mapping_c_arg((((T529*)C))->_expression/*12*/,a1);
}
/*No:EXPRESSION_WITH_COMMENT.static_value*/
void r529make(T529* C,T0* a1,T0* a2){
C->_expression=a1;
C->_comment=a2;
}
void r529mapping_c_target(T529* C,T0* a1){
X662mapping_c_target((((T529*)C))->_expression/*12*/,a1);
}
/*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/
/*No:EXPRESSION_WITH_COMMENT.expression*/
void r529dca_inline_argument(T529* C,T0* a1){
X662dca_inline_argument((((T529*)C))->_expression/*12*/,a1);
}
T0* r529start_position(T529* C){
T0* R=NULL;
R=X662start_position((((T529*)C))->_expression/*12*/);
return R;
}
void r529compile_to_c(T529* C){
X662compile_to_c((((T529*)C))->_expression/*12*/);
}
int r529c_simple(T529* C){
int R=0;
R=X662c_simple((((T529*)C))->_expression/*12*/);
return R;
}
/*No:EXPRESSION_WITH_COMMENT.comment*/
T0* r529to_runnable(T529* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T529*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
C->_expression=X662to_runnable((((T529*)C))->_expression/*12*/,a1);
R=(T0*)C;
}
else {
R=r529twin(C);
/*[IRF3.3set_current_type*/((((T529*)(((T529*)R))))->_current_type)=(NULL);
/*]*/
R=r529to_runnable(((T529*)R),a1);
}
/*FI*/return R;
}
T0* r529result_type(T529* C){
T0* R=NULL;
R=X662result_type((((T529*)C))->_expression/*12*/);
return R;
}
/*No:EXPRESSION_WITH_COMMENT.is_result*/
T0* r529twin(T529* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T529*)R)=*C;
return R;
}
/*No:EXPRESSION_WITH_COMMENT.set_current_type*/
int r529is_static(T529* C){
int R=0;
R=X662is_static((((T529*)C))->_expression/*12*/);
/*IF*/if (R) {
C->_static_value_mem=X662static_value_mem((((T529*)C))->_expression/*12*/);
}
/*FI*/return R;
}
int r529can_be_dropped(T529* C){
int R=0;
R=X662can_be_dropped((((T529*)C))->_expression/*12*/);
return R;
}
/*No:EXPRESSION_WITH_COMMENT.current_type*/
void r529compile_to_c_old(T529* C){
X662compile_to_c_old((((T529*)C))->_expression/*12*/);
}
/*No:EXPRESSION_WITH_COMMENT.static_value_mem*/
/*No:EXPRESSION_WITH_COMMENT.is_manifest_string*/
/*No:EXPRESSION_WITH_COMMENT.is_void*/
int r529is_pre_computable(T529* C){
int R=0;
R=X662is_pre_computable((((T529*)C))->_expression/*12*/);
return R;
}
int r529use_current(T529* C){
int R=0;
R=X662use_current((((T529*)C))->_expression/*12*/);
return R;
}
void r529error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
int r529isa_dca_inline_argument(T529* C){
int R=0;
R=X662isa_dca_inline_argument((((T529*)C))->_expression/*12*/);
return R;
}
void r529afd_check(T529* C){
X662afd_check((((T529*)C))->_expression/*12*/);
}
T0* r436add_comment(T436* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r436to_integer(T436* C){
int R=0;
r436error((((T436*)C))->_start_position/*12*/,((T0*)ms69_470));
return R;
}
int r436is_a(T436* C,T0* a1){
int R=0;
R=r709is_a(((T709*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_run_type/*16*/)),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position((((T436*)C))->_start_position/*12*/);
r436error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:MANIFEST_ARRAY.is_current*/
/*No:MANIFEST_ARRAY.mapping_c_arg*/
/*No:MANIFEST_ARRAY.static_value*/
void r436make(T436* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_list=a2;
}
void r436mapping_c_target(T436* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r436compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:MANIFEST_ARRAY.nb_errors*/
/*No:MANIFEST_ARRAY.fz_iinaiv*/
int fBC364type_any=0;
T0*oBC364type_any=NULL;
T0* r436type_any(void){
if (fBC364type_any==0){
T0* R=NULL;
fBC364type_any=1;
{T669*n=malloc(sizeof(*n));
*n=M669;
r669make(n,NULL);
R=(T0*)n;
}
oBC364type_any=R;}
return oBC364type_any;}
/*No:MANIFEST_ARRAY.dca_inline_argument*/
/*No:MANIFEST_ARRAY.start_position*/
void r436compile_to_c(T436* C){
T0* _e=NULL;
int _adr=0;
T0* _actual_type=NULL;
T0* _formal_type=NULL;
int _i=0;
r94c_call((((T436*)C))->_result_type/*20*/);
_formal_type=X291run_type(r701item(((T701*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_generic_list/*8*/)),1));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='0';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
_adr=X291is_user_expanded(_formal_type);
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/));
/*]*/
_i=1;
while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/)))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if (_adr) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/_e=/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i));
_actual_type=X291run_type(X662result_type(_e));
/*IF*/if ((X291is_reference(_formal_type))&&(X291is_expanded(_actual_type))) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
X662compile_to_c(_e);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
X662compile_to_c(_e);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:MANIFEST_ARRAY.c_simple*/
T0* r436to_runnable(T436* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _e=NULL;
int _i=0;
/*IF*/if (((((T436*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
/*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
_t=r436type_any();
}
else {
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!((_i)==(0))) {
_e=X662to_runnable(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)),a1);
/*IF*/if ((_e)==((void*)(NULL))) {
r683add_position((((T436*)C))->_start_position/*12*/);
r436error(X662start_position(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i))),((T0*)ms1_436));
_i=0;
}
else {
/*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T436*)C))->_list/*16*/));
T0* b1=_e;
int b2=_i;
((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
}/*]*/
/*IF*/if ((_t)==((void*)(NULL))) {
_t=X662result_type(_e);
}
else {
_t=X291smallest_ancestor(_t,X662result_type(_e));
}
/*FI*/_i=(_i)-(1);
}
/*FI*/}
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
{T709*n=malloc(sizeof(*n));
*n=M709;
r709make(n,(((T436*)C))->_start_position/*12*/,X291run_type(_t));
C->_result_type=(T0*)n;
}
C->_result_type=r709to_runnable(((T709*)((((T436*)C))->_result_type/*20*/)),(((T436*)C))->_current_type/*8*/);
r355set_at_run_time(((T355*)(r709run_class(((T709*)((((T436*)C))->_result_type/*20*/))))));
R=(T0*)C;
/*IF*/if ((X291is_reference(_t))&&(((((T436*)C))->_list/*16*/)!=((void*)(NULL)))) {
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!((_i)==(0))) {
_t=X662result_type(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
/*IF*/if (X291is_expanded(_t)) {
X291used_as_reference(_t);
}
/*FI*/_i=(_i)-(1);
}
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
{T436*n=malloc(sizeof(*n));
*n=M436;
r436make(n,(((T436*)C))->_start_position/*12*/,NULL);
R=(T0*)n;
}
}
else {
{T436*n=malloc(sizeof(*n));
*n=M436;
r436make(n,(((T436*)C))->_start_position/*12*/,X96twin((((T436*)C))->_list/*16*/));
R=(T0*)n;
}
}
/*FI*/R=r436to_runnable(((T436*)R),a1);
}
/*FI*/return R;
}
/*No:MANIFEST_ARRAY.result_type*/
/*No:MANIFEST_ARRAY.is_result*/
/*No:MANIFEST_ARRAY.is_static*/
/*No:MANIFEST_ARRAY.list*/
/*No:MANIFEST_ARRAY.can_be_dropped*/
/*No:MANIFEST_ARRAY.current_type*/
void r436compile_to_c_old(T436* C){
int _i=0;
/*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!((_i)==(0))) {
X662compile_to_c_old(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
_i=(_i)-(1);
}
}
/*FI*/}
/*No:MANIFEST_ARRAY.static_value_mem*/
/*No:MANIFEST_ARRAY.is_manifest_string*/
/*No:MANIFEST_ARRAY.is_void*/
int r436is_pre_computable(T436* C){
int R=0;
T0* _e=NULL;
int _i=0;
/*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
R=1;
}
 else if (X291is_string(r701item(((T701*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_generic_list/*8*/)),1))) {
R=1;
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!((!(R))||((_i)==(0)))) {
_e=/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i));
R=X662is_pre_computable(_e);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
int r436use_current(T436* C){
int R=0;
int _i=0;
/*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!(((_i)==(0))||(R))) {
R=X662use_current(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
void r436error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:MANIFEST_ARRAY.isa_dca_inline_argument*/
void r436afd_check(T436* C){
int _i=0;
/*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
_i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
while (!((_i)==(0))) {
X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
_i=(_i)-(1);
}
}
/*FI*/}
void r644get_started(T644* C,T0* a1){
T0* _rp2=NULL;
T0* _rp1=NULL;
int _j=0;
int _i=0;
_i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
while (!((_i)==(0))) {
_rp1=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
/*IF*/if (!(r605has(((T605*)a1),(((T498*)((T498*)_rp1)))->_old_name/*0*/))) {
r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_644);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_i=(_i)-(1);
_j=_i;
while (!((_j)==(0))) {
_rp2=r552item(((T552*)((((T644*)C))->_list/*0*/)),_j);
/*IF*/if ((X776to_key((((T498*)((T498*)_rp2)))->_old_name/*0*/))==((void*)(X776to_key((((T498*)((T498*)_rp1)))->_old_name/*0*/)))) {
r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
r683add_position(X776start_position((((T498*)((T498*)_rp2)))->_old_name/*0*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_644);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_j=(_j)-(1);
}
}
}
int r644affect(T644* C,T0* a1){
int R=0;
T0* _fn_to_key=NULL;
T0* _rp=NULL;
int _i=0;
_i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
_rp=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
_fn_to_key=X776to_key(a1);
/*IF*/if (((X776to_key((((T498*)((T498*)_rp)))->_new_name/*4*/))==((void*)(_fn_to_key)))||((X776to_key((((T498*)((T498*)_rp)))->_old_name/*0*/))==((void*)(_fn_to_key)))) {
R=1;
}
else {
_i=(_i)-(1);
}
/*FI*/}
return R;
}
/*No:RENAME_LIST.make*/
T0* r644to_new_name(T644* C,T0* a1){
T0* R=NULL;
T0* _fn_to_key=NULL;
int _i=0;
_i=1;
_fn_to_key=X776to_key(a1);
while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
/*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/))==((void*)(_fn_to_key))) {
R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/;
}
/*FI*/_i=(_i)+(1);
}
/*IF*/if ((R)==((void*)(NULL))) {
R=a1;
}
/*FI*/return R;
}
T0* r644to_old_name(T644* C,T0* a1){
T0* R=NULL;
T0* _fn_to_key=NULL;
int _i=0;
_i=1;
_fn_to_key=X776to_key(a1);
while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
/*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/))==((void*)(_fn_to_key))) {
R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/;
}
/*FI*/_i=(_i)+(1);
}
/*IF*/if ((R)==((void*)(NULL))) {
R=a1;
}
/*FI*/return R;
}
/*No:RENAME_LIST.list*/
/*No:RENAME_LIST.add_last*/
/*No:RENAME_LIST.fatal_error*/
/*No:TYPE_DOUBLE.id*/
int r388has_creation(T388* C,T0* a1){
int R=0;
r683add_position(X776start_position(a1));
r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
return R;
}
/*No:TYPE_DOUBLE.is_anchored*/
/*No:TYPE_DOUBLE.is_array*/
/*No:TYPE_DOUBLE.fz_typedef*/
int r388is_a(T388* C,T0* a1){
int R=0;
/*IF*/if (X291is_double(a1)) {
R=1;
}
else {
R=r605is_subclass_of(((T605*)(r388base_class(C))),X291base_class(a1));
/*IF*/if (R) {
r388used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
r683add_type((T0*)C,((T0*)ms71_470));
r683add_type(a1,((T0*)ms67_470));
}
/*FI*/return R;
}
/*No:TYPE_DOUBLE.c_initialize_in*/
/*No:TYPE_DOUBLE.c_type_for_argument_in*/
void r388gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms115_470));
r2append_in(5,a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_DOUBLE.run_type*/
/*No:TYPE_DOUBLE.is_pointer*/
/*No:TYPE_DOUBLE.us_double_ref*/
/*No:TYPE_DOUBLE.is_dummy_expanded*/
/*No:TYPE_DOUBLE.is_string*/
int r388space_for_variable(void){
int R=0;
R=((/*UT*/(void)(((double)(0.0)))),sizeof(T5));
return R;
}
/*No:TYPE_DOUBLE.is_like_feature*/
/*No:TYPE_DOUBLE.is_like_current*/
void r388make(T388* C,T0* a1){
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms11_473),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_DOUBLE.nb_errors*/
/*No:TYPE_DOUBLE.us_item*/
void r388load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
r355set_at_run_time(((T355*)_rc));
_rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
}
int fBC388check_type=0;
void r388check_type(T388* C){
if (fBC388check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC388check_type=1;
_bc=r388base_class(C);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_rc=r388run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_388));
}
/*FI*/}
/*FI*/}}
/*No:TYPE_DOUBLE.mapping_cast*/
/*No:TYPE_DOUBLE.start_position*/
/*No:TYPE_DOUBLE.c_type_for_target_in*/
/*No:TYPE_DOUBLE.fz_gc_mark*/
/*No:TYPE_DOUBLE.fz_inako*/
/*No:TYPE_DOUBLE.gc_initialize*/
/*No:TYPE_DOUBLE.fz_00*/
/*No:TYPE_DOUBLE.is_character*/
/*No:TYPE_DOUBLE.is_user_expanded*/
T0* r388written_mark(void){
T0* R=NULL;
R=((T0*)ms11_473);
return R;
}
/*No:TYPE_DOUBLE.is_run_type*/
T0* r388to_runnable(T388* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r388check_type(C);
return R;
}
void r388c_type_for_external_in(T0* a1){
/*IF*//*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
/*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
r7append(((T7*)c1),((T0*)ms101_470));
}/*]*/
}/*]*/
/*FI*/}
T0* r388generic_list(T388* C){
T0* R=NULL;
r388fatal_error_generic_list(C);
return R;
}
/*No:TYPE_DOUBLE.is_formal_generic*/
void r388demangling_in(T0* a1){
/*IF*//*AF*//*AE*/
r7extend(((T7*)a1),'E');
/*FI*/r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),r388run_time_mark());
}
/*No:TYPE_DOUBLE.is_real*/
/*No:TYPE_DOUBLE.is_bit*/
void r388fatal_error_generic_list(T388* C){
r683add_type((T0*)C,((T0*)ms12_291));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*No:TYPE_DOUBLE.fz_new*/
T0* r388smallest_ancestor(T388* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X291run_type(a1);
/*IF*/if (X291is_integer(_rto)) {
R=(T0*)C;
}
 else if (X291is_real(_rto)) {
R=(T0*)C;
}
 else if (X291is_double(_rto)) {
R=(T0*)C;
}
else {
R=r657smallest_ancestor(((T657*)(r388type_double_ref())),_rto);
}
/*FI*/return R;
}
/*No:TYPE_DOUBLE.is_boolean*/
/*No:TYPE_DOUBLE.is_double*/
T0* r388run_class(T388* C){
T0* R=NULL;
R=r604run_class((T0*)C);
return R;
}
/*No:TYPE_DOUBLE.fz_double*/
T0* r388run_time_mark(void){
T0* R=NULL;
R=((T0*)ms11_473);
return R;
}
/*No:TYPE_DOUBLE.c_initialize*/
/*No:TYPE_DOUBLE.cast_to_ref*/
void r388gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms107_470));
r2append_in(5,a1);
}
int r388is_a_in(T388* C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if ((r388written_mark())==((void*)(X291written_mark(a1)))) {
R=1;
}
else {
_ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
_t1=r388to_runnable(C,_ct);
_t2=X291to_runnable(a1,_ct);
/*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
R=1;
}
else {
R=X291is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
T0* r388look_up_for(T388* C,T0* a1,T0* a2){
T0* R=NULL;
R=r605look_up_for(((T605*)(r388base_class(C))),a1,a2);
return R;
}
/*No:TYPE_DOUBLE.c_header_pass1*/
/*No:TYPE_DOUBLE.c_type_for_result_in*/
/*No:TYPE_DOUBLE.expanded_initializer*/
/*No:TYPE_DOUBLE.us_double*/
/*No:TYPE_DOUBLE.fz_void*/
/*No:TYPE_DOUBLE.fz_dot*/
/*No:TYPE_DOUBLE.is_generic*/
int fBC388used_as_reference=0;
void r388used_as_reference(void){
if (fBC388used_as_reference==0){
fBC388used_as_reference=1;
r388load_ref(((T0*)ms12_473));
}}
/*No:TYPE_DOUBLE.c_header_pass2*/
int fBC364type_double_ref=0;
T0*oBC364type_double_ref=NULL;
T0* r388type_double_ref(void){
if (fBC364type_double_ref==0){
T0* R=NULL;
T0* _double_ref=NULL;
fBC364type_double_ref=1;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms12_473),NULL);
_double_ref=(T0*)n;
}
{T657*n=malloc(sizeof(*n));
*n=M657;
/*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_double_ref);
/*]*/
R=(T0*)n;
}
oBC364type_double_ref=R;}
return oBC364type_double_ref;}
/*No:TYPE_DOUBLE.gc_define1*/
/*No:TYPE_DOUBLE.need_c_struct*/
/*No:TYPE_DOUBLE.is_reference*/
/*No:TYPE_DOUBLE.gc_info_in*/
void r388error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r388base_class(T388* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(((T388*)C))->_base_class_name/*4*/;
/*IF*/if ((_bcn)!=((void*)(NULL))) {
R=r451base_class(((T451*)_bcn));
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type((T0*)C,((T0*)ms67_470));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/return R;
}
/*No:TYPE_DOUBLE.call_gc_sweep_in*/
/*No:TYPE_DOUBLE.gc_define2*/
/*No:TYPE_DOUBLE.need_gc_mark_function*/
/*No:TYPE_DOUBLE.is_any*/
/*No:TYPE_DOUBLE.to_reference*/
/*No:TYPE_DOUBLE.c_header_pass3*/
/*No:TYPE_DOUBLE.base_class_name*/
/*No:TYPE_DOUBLE.is_expanded*/
/*No:TYPE_DOUBLE.is_basic_eiffel_expanded*/
/*No:TYPE_DOUBLE.is_none*/
/*No:TYPE_DOUBLE.to_expanded*/
/*No:TYPE_DOUBLE.is_integer*/
/*No:TYPE_DOUBLE.c_header_pass4*/

