text: /*
   * Code for class RT_DBG_LOCAL_RECORD [NATURAL_32]
   */
  
  #include "eif_eiffel.h"
  #include "../E1/estructure.h"
  
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  extern void F581_2322(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE);
  extern EIF_TYPED_VALUE F581_2323(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE);
  extern void F581_2324(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE);
  extern EIF_TYPED_VALUE F581_2325(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2326(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2327(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2328(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2329(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2330(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2331(EIF_REFERENCE, EIF_TYPED_VALUE);
  extern EIF_TYPED_VALUE F581_2332(EIF_REFERENCE);
  extern EIF_TYPED_VALUE F581_2333(EIF_REFERENCE);
  extern void F581_2334(EIF_REFERENCE);
  extern void F581_2335(EIF_REFERENCE, EIF_TYPED_VALUE);
  extern void F581_2336(EIF_REFERENCE, EIF_TYPED_VALUE);
  extern void F581_2337(EIF_REFERENCE, EIF_TYPED_VALUE);
  extern EIF_TYPED_VALUE F581_2338(EIF_REFERENCE, EIF_TYPED_VALUE);
  extern EIF_TYPED_VALUE F581_2339(EIF_REFERENCE);
  extern void EIF_Minit581(void);
  
  #ifdef __cplusplus
  }
  #endif
  
  #include "eif_out.h"
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  
  #ifdef __cplusplus
  }
  #endif
  
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /* {RT_DBG_LOCAL_RECORD}.make */
  void F581_2322 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x, EIF_TYPED_VALUE arg2x, EIF_TYPED_VALUE arg3x, EIF_TYPED_VALUE arg4x)
  {
  	GTCX
  	char *l_feature_name = "make";
  	RTEX;
  #define arg1 arg1x.it_i4
  #define arg2 arg2x.it_i4
  #define arg3 arg3x.it_i4
  #define arg4 arg4x.it_n4
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	if ((arg4x.type & SK_HEAD) == SK_REF) arg4x.it_n4 = * (EIF_NATURAL_32 *) arg4x.it_r;
  	if ((arg3x.type & SK_HEAD) == SK_REF) arg3x.it_i4 = * (EIF_INTEGER_32 *) arg3x.it_r;
  	if ((arg2x.type & SK_HEAD) == SK_REF) arg2x.it_i4 = * (EIF_INTEGER_32 *) arg2x.it_r;
  	if ((arg1x.type & SK_HEAD) == SK_REF) arg1x.it_i4 = * (EIF_INTEGER_32 *) arg1x.it_r;
  	
  	RTLI(1);
  	RTLR(0,Current);
  	RTLIU(1);
  	RTLU (SK_VOID, NULL);
  	RTLU(SK_INT32,&arg1);
  	RTLU(SK_INT32,&arg2);
  	RTLU(SK_INT32,&arg3);
  	RTLU(SK_UINT32,&arg4);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 4, 2332);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2332);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	RTDBGAA(Current, dtype, 2098, 0x10000000, 1); /* callstack_depth */
  	*(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype)) = (EIF_INTEGER_32) arg1;
  	RTHOOK(2);
  	RTDBGAA(Current, dtype, 2082, 0x10000000, 1); /* position */
  	*(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype)) = (EIF_INTEGER_32) arg2;
  	RTHOOK(3);
  	RTDBGAA(Current, dtype, 2083, 0x10000000, 1); /* type */
  	*(EIF_INTEGER_32 *)(Current + RTWA(2083, dtype)) = (EIF_INTEGER_32) arg3;
  	RTHOOK(4);
  	RTDBGAA(Current, dtype, 2099, 0x38000000, 1); /* rt_type */
  	*(EIF_NATURAL_32 *)(Current + RTWA(2099, dtype)) = (EIF_NATURAL_32) arg4;
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(5);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(6);
  	RTEE;
  #undef arg4
  #undef arg3
  #undef arg2
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.local_value_at */
  EIF_TYPED_VALUE F581_2323 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x, EIF_TYPED_VALUE arg2x, EIF_TYPED_VALUE arg3x)
  {
  	GTCX
  	char *l_feature_name = "local_value_at";
  	RTEX;
  	EIF_INTEGER_32 loc1 = (EIF_INTEGER_32) 0;
  #define arg1 arg1x.it_i4
  #define arg2 arg2x.it_i4
  #define arg3 arg3x.it_n4
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE ui4_1x = {{0}, SK_INT32};
  #define ui4_1 ui4_1x.it_i4
  	EIF_TYPED_VALUE ui4_2x = {{0}, SK_INT32};
  #define ui4_2 ui4_2x.it_i4
  	EIF_TYPED_VALUE ui4_3x = {{0}, SK_INT32};
  #define ui4_3 ui4_3x.it_i4
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_REFERENCE tr1 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	if ((arg3x.type & SK_HEAD) == SK_REF) arg3x.it_n4 = * (EIF_NATURAL_32 *) arg3x.it_r;
  	if ((arg2x.type & SK_HEAD) == SK_REF) arg2x.it_i4 = * (EIF_INTEGER_32 *) arg2x.it_r;
  	if ((arg1x.type & SK_HEAD) == SK_REF) arg1x.it_i4 = * (EIF_INTEGER_32 *) arg1x.it_r;
  	
  	RTLI(3);
  	RTLR(0,Current);
  	RTLR(1,tr1);
  	RTLR(2,Result);
  	RTLIU(3);
  	RTLU (SK_REF, &Result);
  	RTLU(SK_INT32,&arg1);
  	RTLU(SK_INT32,&arg2);
  	RTLU(SK_UINT32,&arg3);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_INT32, &loc1);
  	
  	RTEAA(l_feature_name, 580, Current, 1, 3, 2333);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2333);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("index_large_enough", EX_PRE);
  		RTTE((EIF_BOOLEAN) (arg2 >= ((EIF_INTEGER_32) 0L)), label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	RTHOOK(2);
  	if ((EIF_BOOLEAN)(arg2 == ((EIF_INTEGER_32) 0L))) {
  		RTHOOK(3);
  		RTDBGAL(1, 0x10000000, 1, 0); /* loc1 */
  		ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(1938, 133))(Current)).it_i4);
  		loc1 = (EIF_INTEGER_32) ti4_1;
  	} else {
  		RTHOOK(4);
  		RTDBGAL(1, 0x10000000, 1, 0); /* loc1 */
  		ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(1937, 133))(Current)).it_i4);
  		loc1 = (EIF_INTEGER_32) ti4_1;
  	}
  	RTHOOK(5);
  	ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(1938, 133))(Current)).it_i4);
  	if ((EIF_BOOLEAN)(loc1 != ti4_1)) {
  		RTHOOK(6);
  		RTDBGAL(0, 0xF8000000, 0,0); /* Result */
  		ui4_1 = arg1;
  		ui4_2 = loc1;
  		ui4_3 = arg2;
  		uu4_1 = arg3;
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE)) RTWF(1924, dtype))(Current, ui4_1x, ui4_2x, ui4_3x, uu4_1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		Result = (EIF_REFERENCE) RTCCL(tr1);
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(7);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(6);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  #undef up1
  #undef ui4_1
  #undef ui4_2
  #undef ui4_3
  #undef uu4_1
  #undef arg3
  #undef arg2
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.set_local_value_at */
  void F581_2324 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x, EIF_TYPED_VALUE arg2x, EIF_TYPED_VALUE arg3x, EIF_TYPED_VALUE arg4x)
  {
  	GTCX
  	char *l_feature_name = "set_local_value_at";
  	RTEX;
  	EIF_INTEGER_32 loc1 = (EIF_INTEGER_32) 0;
  	EIF_INTEGER_32 loc2 = (EIF_INTEGER_32) 0;
  #define arg1 arg1x.it_i4
  #define arg2 arg2x.it_i4
  #define arg3 arg3x.it_n4
  #define arg4 arg4x.it_n4
  	EIF_TYPED_VALUE ur1x = {{0}, SK_REF};
  #define ur1 ur1x.it_r
  	EIF_TYPED_VALUE ui4_1x = {{0}, SK_INT32};
  #define ui4_1 ui4_1x.it_i4
  	EIF_TYPED_VALUE ui4_2x = {{0}, SK_INT32};
  #define ui4_2 ui4_2x.it_i4
  	EIF_TYPED_VALUE ui4_3x = {{0}, SK_INT32};
  #define ui4_3 ui4_3x.it_i4
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_INTEGER_32 ti4_1;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	if ((arg4x.type & SK_HEAD) == SK_REF) arg4x.it_n4 = * (EIF_NATURAL_32 *) arg4x.it_r;
  	if ((arg3x.type & SK_HEAD) == SK_REF) arg3x.it_n4 = * (EIF_NATURAL_32 *) arg3x.it_r;
  	if ((arg2x.type & SK_HEAD) == SK_REF) arg2x.it_i4 = * (EIF_INTEGER_32 *) arg2x.it_r;
  	if ((arg1x.type & SK_HEAD) == SK_REF) arg1x.it_i4 = * (EIF_INTEGER_32 *) arg1x.it_r;
  	
  	RTLI(2);
  	RTLR(0,Current);
  	RTLR(1,ur1);
  	RTLIU(2);
  	RTLU (SK_VOID, NULL);
  	RTLU(SK_INT32,&arg1);
  	RTLU(SK_INT32,&arg2);
  	RTLU(SK_UINT32,&arg3);
  	RTLU(SK_UINT32,&arg4);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_INT32, &loc1);
  	RTLU(SK_INT32, &loc2);
  	
  	RTEAA(l_feature_name, 580, Current, 2, 4, 2334);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2334);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	if ((EIF_BOOLEAN)(arg2 == ((EIF_INTEGER_32) 0L))) {
  		RTHOOK(2);
  		RTDBGAL(1, 0x10000000, 1, 0); /* loc1 */
  		ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(1938, 133))(Current)).it_i4);
  		loc1 = (EIF_INTEGER_32) ti4_1;
  	} else {
  		RTHOOK(3);
  		RTDBGAL(1, 0x10000000, 1, 0); /* loc1 */
  		ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(1937, 133))(Current)).it_i4);
  		loc1 = (EIF_INTEGER_32) ti4_1;
  	}
  	RTHOOK(4);
  	RTDBGAL(2, 0x10000000, 1, 0); /* loc2 */
  	ui4_1 = arg1;
  	ui4_2 = loc1;
  	ui4_3 = arg2;
  	uu4_1 = arg3;
  	ur1 = RTLN(eif_new_type(212, 0x00).id);
  	*(EIF_NATURAL_32 *)ur1 = arg4;
  	ti4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE)) RTWF(1939, dtype))(Current, ui4_1x, ui4_2x, ui4_3x, uu4_1x, ur1x)).it_i4);
  	loc2 = (EIF_INTEGER_32) ti4_1;
  	if (RTAL & CK_CHECK) {
  		RTHOOK(5);
  		RTCT("res = 0", EX_CHECK);
  		if ((EIF_BOOLEAN)(loc2 == ((EIF_INTEGER_32) 0L))) {
  			RTCK;
  		} else {
  			RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(6);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(8);
  	RTEE;
  #undef ur1
  #undef ui4_1
  #undef ui4_2
  #undef ui4_3
  #undef uu4_1
  #undef arg4
  #undef arg3
  #undef arg2
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.value */
  EIF_TYPED_VALUE F581_2325 (EIF_REFERENCE Current)
  {
  	EIF_TYPED_VALUE r;
  	r.type = SK_UINT32;
  	r.it_n4 = *(EIF_NATURAL_32 *)(Current + RTWA(2097,Dtype(Current)));
  	return r;
  }
  
  
  /* {RT_DBG_LOCAL_RECORD}.callstack_depth */
  EIF_TYPED_VALUE F581_2326 (EIF_REFERENCE Current)
  {
  	EIF_TYPED_VALUE r;
  	r.type = SK_INT32;
  	r.it_i4 = *(EIF_INTEGER_32 *)(Current + RTWA(2098,Dtype(Current)));
  	return r;
  }
  
  
  /* {RT_DBG_LOCAL_RECORD}.rt_type */
  EIF_TYPED_VALUE F581_2327 (EIF_REFERENCE Current)
  {
  	EIF_TYPED_VALUE r;
  	r.type = SK_UINT32;
  	r.it_n4 = *(EIF_NATURAL_32 *)(Current + RTWA(2099,Dtype(Current)));
  	return r;
  }
  
  
  /* {RT_DBG_LOCAL_RECORD}.current_value_record */
  EIF_TYPED_VALUE F581_2328 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "current_value_record";
  	RTEX;
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE ui4_1x = {{0}, SK_INT32};
  #define ui4_1 ui4_1x.it_i4
  	EIF_TYPED_VALUE ui4_2x = {{0}, SK_INT32};
  #define ui4_2 ui4_2x.it_i4
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_REFERENCE tr1 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_INTEGER_32 ti4_2;
  	EIF_NATURAL_32 tu4_1;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(3);
  	RTLR(0,Current);
  	RTLR(1,tr1);
  	RTLR(2,Result);
  	RTLIU(3);
  	RTLU (SK_REF, &Result);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 0, 2320);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2320);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	RTDBGAL(0, 0xF800008C, 0,0); /* Result */
  	ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  	ui4_1 = ti4_1;
  	ti4_2 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  	ui4_2 = ti4_2;
  	tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2099, dtype));
  	uu4_1 = tu4_1;
  	tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE)) RTWF(1929, dtype))(Current, ui4_1x, ui4_2x, uu4_1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  	Result = (EIF_REFERENCE) RTCCL(tr1);
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(2);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(2);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  #undef up1
  #undef ui4_1
  #undef ui4_2
  #undef uu4_1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.associated_object */
  EIF_TYPED_VALUE F581_2329 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "associated_object";
  	RTEX;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(1);
  	RTLR(0,Current);
  	RTLIU(1);
  	RTLU (SK_REF, &Result);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 0, 2321);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2321);
  	RTIV(Current, RTAL);
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(1);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(2);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  }
  
  /* {RT_DBG_LOCAL_RECORD}.is_local_record */
  EIF_TYPED_VALUE F581_2330 (EIF_REFERENCE Current)
  {
  	EIF_TYPED_VALUE r;
  	r.type = SK_BOOL;
  	r.it_b = (EIF_BOOLEAN) EIF_TRUE;
  	return r;
  }
  
  /* {RT_DBG_LOCAL_RECORD}.is_same_as */
  EIF_TYPED_VALUE F581_2331 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x)
  {
  	GTCX
  	char *l_feature_name = "is_same_as";
  	RTEX;
  	EIF_REFERENCE loc1 = (EIF_REFERENCE) 0;
  #define arg1 arg1x.it_r
  	EIF_INTEGER_32 ti4_1;
  	EIF_INTEGER_32 ti4_2;
  	EIF_NATURAL_32 tu4_1;
  	EIF_NATURAL_32 tu4_2;
  	EIF_BOOLEAN tb1;
  	EIF_BOOLEAN tb2;
  	EIF_BOOLEAN Result = ((EIF_BOOLEAN) 0);
  	
  	RTCFDT;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	
  	RTLI(3);
  	RTLR(0,arg1);
  	RTLR(1,loc1);
  	RTLR(2,Current);
  	RTLIU(3);
  	RTLU (SK_BOOL, &Result);
  	RTLU(SK_REF,&arg1);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_REF, &loc1);
  	
  	RTEAA(l_feature_name, 580, Current, 1, 1, 2323);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2323);
  	RTCC(arg1, 580, l_feature_name, 1, eif_new_type(140, 0x01), 0x01);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("other_attached", EX_PRE);
  		RTTE((EIF_BOOLEAN)(arg1 != NULL), label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	RTHOOK(2);
  	RTDBGAL(0, 0x04000000, 1,0); /* Result */
  	tb1 = '\0';
  	tb2 = '\0';
  	loc1 = RTCCL(arg1);
  	loc1 = RTRV(eif_new_type(dftype, 1),loc1);
  	if (EIF_TEST(loc1)) {
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  		ti4_2 = *(EIF_INTEGER_32 *)(loc1 + RTVA(2082, "position", loc1));
  		tb2 = (EIF_BOOLEAN)(ti4_1 == ti4_2);
  	}
  	if (tb2) {
  		tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2097, dtype));
  		tu4_2 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTVF(2097, "value", loc1))(loc1)).it_n4);
  		tb1 = (EIF_BOOLEAN)(tu4_1 == tu4_2);
  	}
  	Result = (EIF_BOOLEAN) tb1;
  	if (RTAL & CK_ENSURE) {
  		RTHOOK(3);
  		RTCT("same_type", EX_POST);
  		tb1 = '\01';
  		if (Result) {
  			ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2083, dtype));
  			ti4_2 = *(EIF_INTEGER_32 *)(arg1 + RTVA(2083, "type", arg1));
  			tb1 = (EIF_BOOLEAN)(ti4_1 == ti4_2);
  		}
  		if (tb1) {
  			RTCK;
  		} else {
  			RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(4);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(4);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_BOOL; r.it_b = Result; return r; }
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.debug_output */
  EIF_TYPED_VALUE F581_2332 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "debug_output";
  	RTEX;
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE up2x = {{0}, SK_POINTER};
  #define up2 up2x.it_p
  	EIF_TYPED_VALUE ur1x = {{0}, SK_REF};
  #define ur1 ur1x.it_r
  	EIF_REFERENCE tr1 = NULL;
  	EIF_REFERENCE tr2 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(5);
  	RTLR(0,Current);
  	RTLR(1,tr1);
  	RTLR(2,tr2);
  	RTLR(3,ur1);
  	RTLR(4,Result);
  	RTLIU(5);
  	RTLU (SK_REF, &Result);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 0, 2324);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2324);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  	tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(2023, 140))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  	tr2 = RTMS_EX_H(" (depth=",8,749294653);
  	ur1 = tr2;
  	tr2 = ((up2x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up2x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up2x.it_r = RTBU(up2x))), (up2x.type = SK_POINTER), up2x.it_r);
  	ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  	tr1 = c_outi(ti4_1);
  	ur1 = RTCCL(tr1);
  	tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  	tr2 = RTMS_EX_H(")",1,41);
  	ur1 = tr2;
  	tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  	Result = (EIF_REFERENCE) RTCCL(tr2);
  	if (RTAL & CK_ENSURE) {
  		RTHOOK(2);
  		RTCT("result_not_void", EX_POST);
  		if ((EIF_BOOLEAN)(Result != NULL)) {
  			RTCK;
  		} else {
  			RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(3);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(2);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  #undef up1
  #undef up2
  #undef ur1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.to_string */
  EIF_TYPED_VALUE F581_2333 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "to_string";
  	RTEX;
  	EIF_NATURAL_32 loc1 = (EIF_NATURAL_32) 0;
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_REFERENCE tr1 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_NATURAL_32 tu4_1;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(3);
  	RTLR(0,Current);
  	RTLR(1,tr1);
  	RTLR(2,Result);
  	RTLIU(3);
  	RTLU (SK_REF, &Result);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_UINT32, &loc1);
  	
  	RTEAA(l_feature_name, 580, Current, 1, 0, 2325);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2325);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	RTDBGAL(1, 0x38000000, 0, 0); /* loc1 */
  	tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2097, dtype));
  	loc1 = (EIF_NATURAL_32) tu4_1;
  	RTHOOK(2);
  	ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2083, dtype));
  	switch (ti4_1) {
  		case 1L:
  			RTHOOK(3);
  			if (EIF_TRUE) {
  				RTHOOK(4);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				tr1 = c_outp((EIF_NATURAL_32 *) &(loc1));
  				Result = (EIF_REFERENCE) RTCCL(tr1);
  			} else {
  				RTHOOK(5);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				tr1 = RTMS_EX_H("Void",4,1450142052);
  				Result = (EIF_REFERENCE) tr1;
  			}
  			break;
  		case 7L:
  			if (RTAL & CK_CHECK) {
  				RTHOOK(6);
  				RTCT("value_attached", EX_CHECK);
  				tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2097, dtype));
  				if (EIF_TRUE) {
  					RTCK;
  				} else {
  					RTCF;
  				}
  			}
  			RTHOOK(7);
  			if (EIF_TRUE) {
  				RTHOOK(8);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				tr1 = c_outp((EIF_NATURAL_32 *) &(loc1));
  				Result = (EIF_REFERENCE) RTCCL(tr1);
  			} else {
  				RTHOOK(9);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				tr1 = RTLN(eif_new_type(232, 0x01).id);
  				(FUNCTION_CAST(void, (EIF_REFERENCE)) RTWC(4643, Dtype(tr1)))(tr1);
  				RTNHOOK(9,1);
  				Result = (EIF_REFERENCE) RTCCL(tr1);
  			}
  			break;
  		default:
  			RTHOOK(10);
  			if (EIF_TRUE) {
  				RTHOOK(11);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				uu4_1 = loc1;
  				tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(2101, dtype))(Current, uu4_1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  				Result = (EIF_REFERENCE) RTCCL(tr1);
  			} else {
  				RTHOOK(12);
  				RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  				tr1 = RTLN(eif_new_type(232, 0x01).id);
  				(FUNCTION_CAST(void, (EIF_REFERENCE)) RTWC(4643, Dtype(tr1)))(tr1);
  				RTNHOOK(12,1);
  				Result = (EIF_REFERENCE) RTCCL(tr1);
  			}
  			break;
  	}
  	if (RTAL & CK_ENSURE) {
  		RTHOOK(13);
  		RTCT("result_attached", EX_POST);
  		if ((EIF_BOOLEAN)(Result != NULL)) {
  			RTCK;
  		} else {
  			RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(14);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(3);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  #undef up1
  #undef uu4_1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.get_value */
  void F581_2334 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "get_value";
  	RTEX;
  	EIF_NATURAL_32 loc1 = (EIF_NATURAL_32) 0;
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE ui4_1x = {{0}, SK_INT32};
  #define ui4_1 ui4_1x.it_i4
  	EIF_TYPED_VALUE ui4_2x = {{0}, SK_INT32};
  #define ui4_2 ui4_2x.it_i4
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_REFERENCE tr1 = NULL;
  	EIF_REFERENCE tr2 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_INTEGER_32 ti4_2;
  	EIF_NATURAL_32 tu4_1;
  	EIF_BOOLEAN tb1;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(3);
  	RTLR(0,Current);
  	RTLR(1,tr1);
  	RTLR(2,tr2);
  	RTLIU(3);
  	RTLU (SK_VOID, NULL);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_UINT32, &loc1);
  	
  	RTEAA(l_feature_name, 580, Current, 1, 0, 2326);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2326);
  	RTIV(Current, RTAL);
  	RTHOOK(1);
  	ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  	ui4_1 = ti4_1;
  	ti4_2 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  	ui4_2 = ti4_2;
  	tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2099, dtype));
  	uu4_1 = tu4_1;
  	tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE)) RTWF(2095, dtype))(Current, ui4_1x, ui4_2x, uu4_1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  	tr1 = RTCCL(tr2);
  	RTOB(*(EIF_NATURAL_32 *), RTWCT(2097, dtype, Dftype(Current)), tr1, loc1, tb1);
  	if (tb1) {
  		RTHOOK(2);
  		RTDBGAA(Current, dtype, 2097, 0x38000000, 0); /* value */
  		*(EIF_NATURAL_32 *)(Current + RTWA(2097, dtype)) = (EIF_NATURAL_32) loc1;
  	} else {
  		RTHOOK(3);
  		RTDBGAA(Current, dtype, 2097, 0x38000000, 0); /* value */
  		tu4_1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(2102, dtype))(Current)).it_n4);
  		*(EIF_NATURAL_32 *)(Current + RTWA(2097, dtype)) = (EIF_NATURAL_32) tu4_1;
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(4);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(3);
  	RTEE;
  #undef up1
  #undef ui4_1
  #undef ui4_2
  #undef uu4_1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.restore */
  void F581_2335 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x)
  {
  	GTCX
  	char *l_feature_name = "restore";
  	RTEX;
  #define arg1 arg1x.it_r
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE up2x = {{0}, SK_POINTER};
  #define up2 up2x.it_p
  	EIF_TYPED_VALUE ur1x = {{0}, SK_REF};
  #define ur1 ur1x.it_r
  	EIF_REFERENCE tr1 = NULL;
  	EIF_REFERENCE tr2 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	EIF_BOOLEAN tb1;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	
  	RTLI(5);
  	RTLR(0,arg1);
  	RTLR(1,Current);
  	RTLR(2,tr1);
  	RTLR(3,tr2);
  	RTLR(4,ur1);
  	RTLIU(5);
  	RTLU (SK_VOID, NULL);
  	RTLU(SK_REF,&arg1);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 1, 2327);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2327);
  	RTCC(arg1, 580, l_feature_name, 1, eif_new_type(140, 0x01), 0x01);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("val_attached", EX_PRE);
  		RTTE((EIF_BOOLEAN)(arg1 != NULL), label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	if (
  		WDBG(580,"rt_dbg_replay")
  	) {
  		RTHOOK(2);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(7, dtype))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H(".restore: depth=",16,1353584189);
  		ur1 = tr2;
  		tr2 = ((up2x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up2x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up2x.it_r = RTBU(up2x))), (up2x.type = SK_POINTER), up2x.it_r);
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  		tr1 = c_outi(ti4_1);
  		ur1 = RTCCL(tr1);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H(" #",2,8227);
  		ur1 = tr2;
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  		tr1 = c_outi(ti4_1);
  		ur1 = RTCCL(tr1);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H("\012",1,10);
  		ur1 = tr2;
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ur1 = RTCCL(tr2);
  		(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(1059, dtype))(Current, ur1x);
  	}
  	RTHOOK(3);
  	ur1 = RTCCL(arg1);
  	tb1 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(2088, dtype))(Current, ur1x)).it_b);
  	if (tb1) {
  		if (
  			WDBG(580,"rt_dbg_replay")
  		) {
  			RTHOOK(4);
  			tr1 = RTMS_EX_H(" -> unchanged because same value [",34,642096731);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(2089, dtype))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			ur1 = RTCCL(tr2);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			tr1 = RTMS_EX_H("].\012",3,6106634);
  			ur1 = tr1;
  			tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			ur1 = RTCCL(tr1);
  			(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(1059, dtype))(Current, ur1x);
  		}
  	} else {
  		RTHOOK(5);
  		ur1 = RTCCL(Current);
  		(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(2100, dtype))(Current, ur1x);
  		if (
  			WDBG(580,"rt_dbg_replay")
  		) {
  			RTHOOK(6);
  			tr1 = RTMS_EX_H(" -> restored: from [",20,1710693467);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTVF(2089, "to_string", arg1))(arg1)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			ur1 = RTCCL(tr2);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			tr1 = RTMS_EX_H("] to [",6,2136531035);
  			ur1 = tr1;
  			tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(2089, dtype))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			ur1 = RTCCL(tr2);
  			tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			tr1 = RTMS_EX_H("] \012",3,6103050);
  			ur1 = tr1;
  			tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  			ur1 = RTCCL(tr1);
  			(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(1059, dtype))(Current, ur1x);
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(7);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(3);
  	RTEE;
  #undef up1
  #undef up2
  #undef ur1
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.revert */
  void F581_2336 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x)
  {
  	GTCX
  	char *l_feature_name = "revert";
  	RTEX;
  #define arg1 arg1x.it_r
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_TYPED_VALUE up2x = {{0}, SK_POINTER};
  #define up2 up2x.it_p
  	EIF_TYPED_VALUE ur1x = {{0}, SK_REF};
  #define ur1 ur1x.it_r
  	EIF_REFERENCE tr1 = NULL;
  	EIF_REFERENCE tr2 = NULL;
  	EIF_INTEGER_32 ti4_1;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	
  	RTLI(5);
  	RTLR(0,arg1);
  	RTLR(1,Current);
  	RTLR(2,tr1);
  	RTLR(3,tr2);
  	RTLR(4,ur1);
  	RTLIU(5);
  	RTLU (SK_VOID, NULL);
  	RTLU(SK_REF,&arg1);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 1, 2328);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2328);
  	RTCC(arg1, 580, l_feature_name, 1, eif_new_type(140, 0x01), 0x01);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("bak_attached", EX_PRE);
  		RTTE((EIF_BOOLEAN)(arg1 != NULL), label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	if (
  		WDBG(580,"rt_dbg_replay")
  	) {
  		RTHOOK(2);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(7, dtype))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H(".revert: depth=",15,1291356989);
  		ur1 = tr2;
  		tr2 = ((up2x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up2x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up2x.it_r = RTBU(up2x))), (up2x.type = SK_POINTER), up2x.it_r);
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  		tr1 = c_outi(ti4_1);
  		ur1 = RTCCL(tr1);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H(" #",2,8227);
  		ur1 = tr2;
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  		tr1 = c_outi(ti4_1);
  		ur1 = RTCCL(tr1);
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = RTMS_EX_H("\012",1,10);
  		ur1 = tr2;
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ur1 = RTCCL(tr2);
  		(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(1059, dtype))(Current, ur1x);
  	}
  	RTHOOK(3);
  	ur1 = RTCCL(arg1);
  	(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(2100, dtype))(Current, ur1x);
  	if (
  		WDBG(580,"rt_dbg_replay")
  	) {
  		RTHOOK(4);
  		tr1 = RTMS_EX_H(" -> reverted: from [",20,1066206555);
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTWF(2089, dtype))(Current)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ur1 = RTCCL(tr2);
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr1 = RTMS_EX_H("] to [",6,2136531035);
  		ur1 = tr1;
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTVF(2089, "to_string", arg1))(arg1)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ur1 = RTCCL(tr2);
  		tr2 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr1))(tr1, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		tr1 = RTMS_EX_H("] \012",3,6103050);
  		ur1 = tr1;
  		tr1 = ((up1x = (FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTVF(4721, "plus", tr2))(tr2, ur1x)), (((up1x.type & SK_HEAD) == SK_REF)? (EIF_REFERENCE) 0: (up1x.it_r = RTBU(up1x))), (up1x.type = SK_POINTER), up1x.it_r);
  		ur1 = RTCCL(tr1);
  		(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE)) RTWF(1059, dtype))(Current, ur1x);
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(5);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(3);
  	RTEE;
  #undef up1
  #undef up2
  #undef ur1
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.set_local_from_record */
  void F581_2337 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x)
  {
  	GTCX
  	char *l_feature_name = "set_local_from_record";
  	RTEX;
  	EIF_REFERENCE loc1 = (EIF_REFERENCE) 0;
  #define arg1 arg1x.it_r
  	EIF_TYPED_VALUE ui4_1x = {{0}, SK_INT32};
  #define ui4_1 ui4_1x.it_i4
  	EIF_TYPED_VALUE ui4_2x = {{0}, SK_INT32};
  #define ui4_2 ui4_2x.it_i4
  	EIF_TYPED_VALUE uu4_1x = {{0}, SK_UINT32};
  #define uu4_1 uu4_1x.it_n4
  	EIF_TYPED_VALUE uu4_2x = {{0}, SK_UINT32};
  #define uu4_2 uu4_2x.it_n4
  	EIF_INTEGER_32 ti4_1;
  	EIF_INTEGER_32 ti4_2;
  	EIF_NATURAL_32 tu4_1;
  	EIF_NATURAL_32 tu4_2;
  	RTCFDT;
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	
  	RTLI(3);
  	RTLR(0,arg1);
  	RTLR(1,loc1);
  	RTLR(2,Current);
  	RTLIU(3);
  	RTLU (SK_VOID, NULL);
  	RTLU(SK_REF,&arg1);
  	RTLU (SK_REF, &Current);
  	RTLU(SK_REF, &loc1);
  	
  	RTEAA(l_feature_name, 580, Current, 1, 1, 2329);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2329);
  	RTCC(arg1, 580, l_feature_name, 1, eif_new_type(140, 0x01), 0x01);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("r_attached", EX_PRE);
  		RTTE((EIF_BOOLEAN)(arg1 != NULL), label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	RTHOOK(2);
  	loc1 = RTCCL(arg1);
  	{
  		EIF_TYPE_INDEX typarr0[] = {0xFF01,580,0,0,0xFFFF};
  		EIF_TYPE typres0;
  		{
  			EIF_TYPE l_type;
  			l_type = RTWCT(2097, dtype, dftype);
  			typarr0[2] = l_type.annotations | 0xFF00;
  			typarr0[3] = l_type.id;
  		}
  		
  		typres0 = eif_compound_id(dftype, typarr0);
  		loc1 = RTRV(typres0,loc1);
  	}
  	if (EIF_TEST(loc1)) {
  		RTHOOK(3);
  		ti4_1 = *(EIF_INTEGER_32 *)(Current + RTWA(2098, dtype));
  		ui4_1 = ti4_1;
  		ti4_2 = *(EIF_INTEGER_32 *)(Current + RTWA(2082, dtype));
  		ui4_2 = ti4_2;
  		tu4_1 = *(EIF_NATURAL_32 *)(Current + RTWA(2099, dtype));
  		uu4_1 = tu4_1;
  		tu4_2 = (((FUNCTION_CAST(EIF_TYPED_VALUE, (EIF_REFERENCE)) RTVF(2097, "value", loc1))(loc1)).it_n4);
  		uu4_2 = tu4_2;
  		(FUNCTION_CAST(void, (EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE)) RTWF(2096, dtype))(Current, ui4_1x, ui4_2x, uu4_1x, uu4_2x);
  	} else {
  		if (RTAL & CK_CHECK) {
  			RTHOOK(4);
  			RTCT("should_not_occur", EX_CHECK);
  				RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(5);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(4);
  	RTEE;
  #undef ui4_1
  #undef ui4_2
  #undef uu4_1
  #undef uu4_2
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.out_value */
  EIF_TYPED_VALUE F581_2338 (EIF_REFERENCE Current, EIF_TYPED_VALUE arg1x)
  {
  	GTCX
  	char *l_feature_name = "out_value";
  	RTEX;
  #define arg1 arg1x.it_n4
  	EIF_TYPED_VALUE up1x = {{0}, SK_POINTER};
  #define up1 up1x.it_p
  	EIF_REFERENCE tr1 = NULL;
  	EIF_REFERENCE Result = ((EIF_REFERENCE) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	if ((arg1x.type & SK_HEAD) == SK_REF) arg1x.it_n4 = * (EIF_NATURAL_32 *) arg1x.it_r;
  	
  	RTLI(3);
  	RTLR(0,tr1);
  	RTLR(1,Result);
  	RTLR(2,Current);
  	RTLIU(3);
  	RTLU (SK_REF, &Result);
  	RTLU(SK_UINT32,&arg1);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 1, 2330);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2330);
  	RTIV(Current, RTAL);
  	if ((RTAL & CK_REQUIRE) || RTAC) {
  		RTHOOK(1);
  		RTCT("v_attached", EX_PRE);
  		RTTE(EIF_TRUE, label_1);
  		RTCK;
  		RTJB;
  label_1:
  		RTCF;
  	}
  body:;
  	RTHOOK(2);
  	RTDBGAL(0, 0xF80000E8, 0,0); /* Result */
  	tr1 = c_outu(arg1);
  	Result = (EIF_REFERENCE) RTCCL(tr1);
  	if (RTAL & CK_ENSURE) {
  		RTHOOK(3);
  		RTCT("result_attached", EX_POST);
  		if ((EIF_BOOLEAN)(Result != NULL)) {
  			RTCK;
  		} else {
  			RTCF;
  		}
  	}
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(4);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(3);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_REF; r.it_r = Result; return r; }
  #undef up1
  #undef arg1
  }
  
  /* {RT_DBG_LOCAL_RECORD}.default_value */
  EIF_TYPED_VALUE F581_2339 (EIF_REFERENCE Current)
  {
  	GTCX
  	char *l_feature_name = "default_value";
  	RTEX;
  	EIF_NATURAL_32 Result = ((EIF_NATURAL_32) 0);
  	
  	RTCDT;
  	RTSN;
  	RTDA;
  	RTLD;
  	
  	RTLI(1);
  	RTLR(0,Current);
  	RTLIU(1);
  	RTLU (SK_UINT32, &Result);
  	RTLU (SK_REF, &Current);
  	
  	RTEAA(l_feature_name, 580, Current, 0, 0, 2331);
  	RTSA(dtype);
  	RTSC;
  	RTME(dtype, 0);
  	RTGC;
  	RTDBGEAA(580, Current, 2331);
  	RTIV(Current, RTAL);
  	RTVI(Current, RTAL);
  	RTRS;
  	RTHOOK(1);
  	RTDBGLE;
  	RTMD(0);
  	RTLE;
  	RTLO(2);
  	RTEE;
  	{ EIF_TYPED_VALUE r; r.type = SK_UINT32; r.it_n4 = Result; return r; }
  }
  
  void EIF_Minit581 (void)
  {
  	GTCX
  }
  
  
  #ifdef __cplusplus
  }
  #endif
  