#include #include "prescheme.h" long goto_arg1K0; long goto_arg1K4; long goto_arg1K3; long goto_arg1K2; long goto_arg1K1; unsigned char goto_arg0K0; long Sminimum_recovered_spaceS; long Sinterrupt_templateS; long Spending_interruptsS; long Sdynamic_stateS; long Sinterrupt_handlersS; long Sexception_handlerS; long Senabled_interruptsS; long SvalS; long SnargsS; long Scode_pointerS; long StemplateS; long SenvS; unsigned char Sexception_space_usedPS; long ScontS; long Sbottom_of_stackS; long Sstack_limitS; long SstackS; long Sstack_endS; long Sstack_beginS; long *Sopen_vm_portsS; FILE * *Sopen_portsS; long Snumber_of_portsS; long Sweak_pointer_limitS; long Sweak_pointer_hpS; long Ssaved_limitS; long Ssaved_hpS; long Sgc_countS; unsigned char Simpure_area_countS; unsigned char Spure_area_countS; long *Simpure_sizesS; long *Spure_sizesS; long *Simpure_areasS; long *Spure_areasS; long Soldspace_endS; long Soldspace_beginS; long Snewspace_endS; long Snewspace_beginS; long SlimitS; long ShpS; FILE * Scurrent_output_portS; FILE * Scurrent_input_portS; unsigned char hoistD0(long start_0X, long end_1X, long type_2X) { extern FILE * Scurrent_output_portS; extern long SlimitS; extern long ShpS; long arg1K0; long addr_3X; long d_4X; {arg1K0 = start_0X; goto L10156;} L10156: { addr_3X = arg1K0; if ((addr_3X < end_1X)) { d_4X = *((long *) addr_3X); if ((2 == (3 & d_4X))) { if ((type_2X == (31 & (((d_4X)>>2))))) { if (((16 + (ShpS)) < (SlimitS))) { *((long *) (ShpS)) = (7 + addr_3X); ShpS = (4 + (ShpS)); arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8)))))); goto L10156;} else { return(0);}} else { arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8)))))); goto L10156;}} else { fputs("heap is in an inconsistent state.", (Scurrent_output_portS)); return(0);}} else { return(1);}}} unsigned char hoistD1(long start_5X, long end_6X, long x_7X) { extern FILE * Scurrent_output_portS; extern long SlimitS; extern long ShpS; long arg1K1; long arg1K0; long i_8X; long h_9X; long bucket_10X; long index_11X; long b_12X; long new_13X; long addr_14X; long d_15X; long obj_16X; long v_17X; long s_18X; long n_19X; {arg1K0 = start_5X; goto L17328;} L13673: { i_8X = arg1K0; h_9X = arg1K1; if ((i_8X < n_19X)) { arg1K0 = (1 + i_8X); arg1K1 = (h_9X + ((long)((((long)(*((unsigned char *) ((-3 + s_18X) + i_8X)))))))); goto L13673;} else { index_11X = h_9X & (-1 + v_17X); bucket_10X = *((long *) ((-3 + x_7X) + (((index_11X)<<2)))); arg1K0 = bucket_10X; goto L13571;}} L13571: { b_12X = arg1K0; if ((25 == b_12X)) { *((long *) (ShpS)) = 2050; ShpS = (4 + (ShpS)); new_13X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_13X)) = obj_16X; *((long *) (1 + new_13X)) = bucket_10X; *((long *) ((-3 + x_7X) + (((index_11X)<<2)))) = new_13X; arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8)))))); goto L17328;} else { if ((obj_16X == (*((long *) (-3 + b_12X))))) { arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8)))))); goto L17328;} else { arg1K0 = (*((long *) (1 + b_12X))); goto L13571;}}} L17328: { addr_14X = arg1K0; if ((addr_14X < end_6X)) { d_15X = *((long *) addr_14X); if ((2 == (3 & d_15X))) { if ((1 == (31 & (((d_15X)>>2))))) { if (((12 + (ShpS)) < (SlimitS))) { obj_16X = 7 + addr_14X; v_17X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + x_7X))))>>8))))>>2); s_18X = *((long *) (-3 + obj_16X)); n_19X = -1 + ((long)(((unsigned long)(*((long *) (-7 + s_18X))))>>8)); arg1K0 = 0; arg1K1 = 0; goto L13673;} else { return(0);}} else { arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8)))))); goto L17328;}} else { fputs("heap is in an inconsistent state.", (Scurrent_output_portS)); return(0);}} else { return(1);}}} long Tinterpret() { extern void really_write_number(long, FILE *); extern FILE * Scurrent_output_portS; extern long copy_weak_pointer(long); extern long Sinterrupt_templateS; extern unsigned char Sexception_space_usedPS; extern long extended_vm(long, long); extern long ps_real_time(); extern long ps_run_time(); extern long ps_ticks_per_second(); extern unsigned char lookup_external_name(long, long); extern long ps_schedule_interrupt(long); extern long Sinterrupt_handlersS; extern long Sexception_handlerS; extern long Sdynamic_stateS; extern long *Simpure_sizesS; extern long *Simpure_areasS; extern unsigned char hoistD0(long, long, long); extern long *Spure_sizesS; extern long *Spure_areasS; extern unsigned char hoistD1(long, long, long); extern long Sgc_countS; extern long Sminimum_recovered_spaceS; extern unsigned char Spure_area_countS; extern unsigned char Simpure_area_countS; extern long Sweak_pointer_hpS; extern void do_gc(); extern long Snewspace_endS; extern long Ssaved_limitS; extern long Ssaved_hpS; extern long Snewspace_beginS; extern long Soldspace_beginS; extern long Soldspace_endS; extern FILE * *Sopen_portsS; extern long Snumber_of_portsS; extern long *Sopen_vm_portsS; extern long Senabled_interruptsS; extern long Spending_interruptsS; extern long Sbottom_of_stackS; extern long ScontS; extern long Sstack_beginS; extern long StemplateS; extern long SenvS; extern long Sstack_limitS; extern long SstackS; extern long Sstack_endS; extern long SlimitS; extern long ShpS; extern long SvalS; extern long Scode_pointerS; extern long SnargsS; extern long Tinterpret(); unsigned char arg3K3; unsigned char arg3K0; FILE * arg2K0; unsigned char arg0K0; long arg1K2; long arg1K1; long arg1K0; unsigned char merged_arg0K0; unsigned char merged_arg0K1; unsigned char merged_arg0K3; FILE * merged_arg2K1; long merged_arg1K4; long merged_arg1K3; long merged_arg1K2; long merged_arg1K1; long merged_arg1K0; long RSenvS = SenvS; long RSstackS = SstackS; long RSvalS = SvalS; long RScode_pointerS = Scode_pointerS; int extract_string_return_tag; unsigned char *extract_string_return_value; int stob_equalP_return_tag; unsigned char stob_equalP_return_value; int write_number_return_tag; int close_port_return_tag; int close_untraced_portsB_return_tag; unsigned char close_untraced_portsB_return_value; int copy_object_return_tag; long copy_object_return_value; int copy_next_return_tag; long copy_next_return_value; int collect_saving_temp_return_tag; long collect_saving_temp_return_value; int pop_args_list_return_tag; long pop_args_list_return_value; int push_continuationB_return_tag; int push_exception_continuationB_return_tag; int copy_stob_return_tag; long copy_stob_return_value; int save_env_in_heap_return_tag; long save_env_in_heap_return_value; int copy_continuation_from_heap_return_tag; long copy_continuation_from_heap_return_value; int preserve_continuation_return_tag; long preserve_continuation_return_value; int copy_stack_into_heap_return_tag; unsigned char b_20X; unsigned char b_21X; long space_22X; long v_23X; unsigned char b_24X; long env_25X; unsigned char b_26X; long location_27X; unsigned char b_28X; long location_29X; unsigned char b_30X; unsigned char b_31X; long space_32X; long v_33X; long cont_34X; long list_35X; long proc_36X; long v_37X; long cont_38X; long pc_39X; long tem_40X; long cont_41X; long tem_42X; unsigned char b_43X; long tem_44X; unsigned char b_45X; unsigned char b_46X; unsigned char b_47X; unsigned char b_48X; unsigned char b_49X; long val_50X; long z_51X; long x_52X; long arg2_53X; long arg2_54X; long arg2_55X; long x_56X; long arg2_57X; long arg2_58X; long arg2_59X; long x_60X; long arg2_61X; long arg2_62X; long arg2_63X; long arg2_64X; long arg2_65X; long arg2_66X; long x_67X; long result_68X; long x_69X; long value_70X; long count_71X; long x_72X; long x_73X; unsigned char b_74X; long x_75X; long space_76X; unsigned char b_77X; unsigned char b_78X; long x_79X; long arg2_80X; long temp_81X; long size_82X; unsigned char b_83X; long len_84X; long x_85X; long len_86X; unsigned char b_87X; long index_88X; long len_89X; unsigned char b_90X; long index_91X; long x_92X; long size_93X; long len_94X; long init_95X; long obj_96X; long arg2_97X; long arg3_98X; long arg2_99X; long obj_100X; long arg2_101X; long descriptor_102X; long x_103X; long obj_104X; long x_105X; long p_106X; unsigned char Kchar_107X; long c_108X; long x_109X; unsigned char b_110X; long p_111X; long arg2_112X; long p_113X; long a_114X; long old_115X; long arg2_116X; unsigned char v_117X; long start_hp_118X; long x_119X; long obj_120X; unsigned char v_121X; long start_hp_122X; long type_123X; long obj_124X; long obj_125X; long tem_126X; unsigned char v_127X; long name_128X; long value_129X; long x_130X; long obj_131X; long n_132X; long n_133X; long arg2_134X; long return_value_135X; long key_136X; long x_137X; long n_138X; long x_139X; long obj_140X; unsigned char b_141X; long space_142X; long arg2_143X; long obj_144X; unsigned char x_145X; long arg2_146X; long arg2_147X; long x_148X; long key_149X; long n_150X; long proc_151X; long p_152X; long n_153X; long temp_154X; long *areas_155X; long *sizes_156X; unsigned char count_157X; long *areas_158X; long *sizes_159X; unsigned char count_160X; long x_161X; long key_162X; long arg2_163X; long arg3_164X; long obj_165X; long x_166X; unsigned char *spec_167X; FILE * port_168X; long b_169X; long e_170X; long v_171X; long arg2_172X; long p_173X; long p_174X; long x_175X; long x_176X; long p_177X; FILE * v_178X; long x_179X; long c_180X; unsigned char Kchar_181X; long x_182X; long x_183X; long obj_184X; long x_185X; long arg2_186X; long x_187X; long arg2_188X; long arg3_189X; unsigned char Kchar_190X; long index_191X; long len_192X; long index_193X; long len_194X; long arg2_195X; unsigned char init_196X; long len_197X; long size_198X; long value_199X; long index_200X; long len_201X; long index_202X; long len_203X; long arg2_204X; long arg2_205X; long arg3_206X; long arg2_207X; long arg2_208X; long x_209X; unsigned char b_210X; unsigned char b_211X; long x_212X; unsigned char b_213X; long x_214X; long arg2_215X; long x_216X; long arg2_217X; long x_218X; long x_219X; long arg2_220X; long x_221X; long x_222X; long x_223X; long a_224X; long b_225X; long x_226X; long a_227X; long b_228X; long x_229X; long arg2_230X; long x_231X; long a_232X; long b_233X; long x_234X; long z_235X; long x_236X; long a_237X; long b_238X; long arg2_239X; long x_240X; long x_241X; long x_242X; long x_243X; long x_244X; long arg2_245X; long x_246X; unsigned char b_247X; unsigned char b_248X; unsigned char b_249X; unsigned char b_250X; long consumer_251X; long start_arg_252X; long start_loc_253X; unsigned char b_254X; unsigned char b_255X; unsigned char b_256X; long space_257X; unsigned char b_258X; long p_259X; long env_260X; unsigned char b_261X; long env_262X; unsigned char b_263X; long env_264X; unsigned char b_265X; unsigned char b_266X; long env_267X; unsigned char b_268X; long v_269X; unsigned char count_270X; long space_271X; long vector_272X; long i_273X; unsigned char v_274X; long *areas_275X; long *sizes_276X; unsigned char count_277X; long i_278X; unsigned char v_279X; long h_280X; long addr_281X; long h_282X; long d_283X; long sym_284X; long v_285X; long val_286X; long i_287X; long h_288X; long bucket_289X; long index_290X; long new_291X; long new_292X; long b_293X; unsigned char v_294X; long new_295X; long stob_296X; long from_297X; long from_298X; long to_299X; long arg2_300X; long obj_301X; long table_302X; long v_303X; long n_304X; long arg2_305X; long n_306X; long new_307X; long len_308X; long obj_309X; long l_310X; long i_311X; long i_312X; long h_313X; unsigned char v_314X; long i_315X; unsigned char v_316X; long resume_proc_317X; long size_318X; long b_319X; long e_320X; unsigned char v_321X; long val_322X; long c_323X; long val_324X; long key_325X; long arg2_326X; long mode_327X; long i_328X; long i_329X; long i_330X; long i_331X; long index_332X; long new_count_333X; long old_count_334X; FILE * *new_ports_335X; long *new_vm_ports_336X; FILE * port_337X; long new_338X; long index_339X; long filename_340X; unsigned char *spec_341X; unsigned char *spec_342X; long filename_343X; unsigned char v_344X; long new_345X; long len_346X; long string_347X; long i_348X; long new_349X; long code_vector_350X; long i_351X; long val_352X; long i_353X; unsigned char okayP_354X; long init_355X; long new_356X; long len_357X; long new_358X; long len_359X; unsigned char b_360X; unsigned char b_361X; long new_362X; long i_363X; long n_364X; long b_365X; long c_366X; long a_367X; long b_368X; long c_369X; long a_370X; long n_371X; long b_372X; long c_373X; long a_374X; long q_375X; long a_376X; long b_377X; long b_378X; long c_379X; long a_380X; long b_381X; long lo_a_382X; long lo_b_383X; long hi_a_384X; long hi_b_385X; long lo_c_386X; long mid_c_387X; long c_388X; long a_389X; long offset_390X; long list_391X; long a_392X; long new_393X; long l_394X; long last_395X; long new_396X; long a_397X; long i_398X; long l_399X; long space_400X; long overflow_401X; long args_402X; long fast_403X; long len_404X; long slow_405X; unsigned char move_slowP_406X; long nargs_407X; long args_408X; long args_409X; long loc_410X; long arg_411X; long v_412X; long key_413X; long v_414X; long space_415X; long key_416X; long p_417X; long v_418X; long env_419X; unsigned char b_420X; long a_421X; long new_422X; long env_423X; long i_424X; unsigned char b_425X; long env_426X; long i_427X; unsigned char b_428X; long args_429X; long new_430X; long len_431X; unsigned char b_432X; unsigned char b_433X; long v_434X; unsigned char v_435X; unsigned char v_436X; unsigned char v_437X; unsigned char v_438X; unsigned char v_439X; unsigned char v_440X; unsigned char v_441X; unsigned char v_442X; long r_443X; unsigned char v_444X; unsigned char v_445X; unsigned char v_446X; unsigned char v_447X; long v_448X; long key_449X; long v_450X; long cont_451X; long tem_452X; long pc_453X; long args_454X; long v_455X; long v_456X; long cont_457X; long v_458X; unsigned char next_op_459X; long v_460X; long next_461X; long cont_462X; long tem_463X; long pc_464X; long args_465X; long v_466X; long v_467X; long args_468X; long a1_469X; long obj_470X; long space_471X; long v_472X; unsigned char x_473X; long tem_474X; long obj_475X; long space_476X; long obj_477X; long i_478X; long m_479X; long obj_480X; long tem_481X; long v_482X; long key_483X; long n_484X; long i_485X; long i_486X; long vec_487X; long p_488X; long i_489X; long new_490X; long len_491X; long p_492X; long v_493X; long cont_494X; long previous_495X; long v_496X; long cont_497X; long p_498X; long new_499X; long v_500X; long end_501X; long top_502X; long new_cont_503X; long v_504X; long from_505X; long from_506X; long to_507X; long new_508X; long env_509X; long p_510X; long env_511X; long new_512X; long cont_513X; long env_514X; long new_515X; long len_516X; long from_517X; long to_518X; long new_519X; long bytes_520X; long from_521X; long p_522X; long i_523X; long key_524X; long pc_525X; long template_526X; long cont_527X; long space_528X; long args_529X; long count_530X; long a_531X; long new_532X; long v_533X; long value_534X; long pc_535X; long e_536X; long b_537X; long a_538X; long value_539X; long i_540X; long a_541X; long v_542X; long start_543X; long end_544X; long addr_545X; long v_546X; long cont_547X; long last_env_548X; long env_549X; long end_550X; long *areas_551X; long *sizes_552X; unsigned char count_553X; long env_554X; long end_555X; long addr_556X; long v_557X; long addr_558X; long v_559X; long addr_560X; long v_561X; long env_562X; long start_563X; long end_564X; long v_565X; long v_566X; long value_567X; long a_568X; long v_569X; long v_570X; long value_571X; long a_572X; long v_573X; long v_574X; long value_575X; long a_576X; long v_577X; long v_578X; long value_579X; long a_580X; long v_581X; long v_582X; long value_583X; long a_584X; long tem_585X; long v_586X; long value_587X; long a_588X; long next_589X; long thing_590X; long value_591X; long a_592X; long a_593X; long h_594X; long descriptor_595X; long v_596X; long o_597X; long new_598X; long x1_599X; long i_600X; long port_601X; long header_602X; long header_603X; long new_604X; long string_605X; FILE * port_606X; long mode_607X; long index_608X; long v_609X; long z1_610X; long z2_611X; long i_612X; long z_613X; unsigned char *v_614X; long i_615X; unsigned char *c_616X; long string_617X; unsigned char c_618X; long stob1_619X; long stob2_620X; long x_621X; FILE * port_622X; long vm_port_623X; unsigned char c_624X; long c_625X; long thing_626X; long c_627X; long addr_628X; long c_629X; long value_630X; long c_631X; long start_632X; long count_633X; long code_pointer_634X; long size_635X; long c_636X; long old_stob_637X; long c_638X; long env_639X; long cont_640X; long key_641X; long c_642X; long cont_643X; long c_644X; long key_645X; unsigned char reason_646X; long key_647X; unsigned char c_648X; unsigned char c_649X; unsigned char bytes_consumed_650X; unsigned char c_651X; unsigned char nargs_652X; unsigned char c_653X; unsigned char byte_args_654X; unsigned char c_655X; unsigned char args_656X; long a1_657X; long a2_658X; long a3_659X; long a4_660X; unsigned char c_661X; unsigned char args_662X; long a1_663X; long a2_664X; long a3_665X; unsigned char c_666X; unsigned char args_667X; long a1_668X; long a2_669X; unsigned char c_670X; unsigned char args_671X; long a1_672X; unsigned char c_673X; long nargs_674X; unsigned char c_675X; unsigned char args_676X; START: { b_141X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); switch (b_141X) { case 0 : { b_20X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if (((SnargsS) == ((long)b_20X))) { goto START;} else { merged_arg0K0 = 1; goto application_exception;}} break; case 1 : { b_21X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if (((SnargsS) < ((long)b_21X))) { merged_arg0K0 = 1; goto application_exception;} else { goto START;}} break; case 2 : { RSvalS = ((((SnargsS))<<2)); goto START;} break; case 3 : { count_270X = *((unsigned char *) (RScode_pointerS)); if (((Sstack_limitS) < (-8 + ((RSstackS) - (((((long)count_270X))<<2)))))) { goto L27800;} else { space_271X = 1 + (((((Sstack_endS) - (RSstackS)))>>2)); if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L27833;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 0; goto collect_saving_temp; collect_saving_temp_return_0: if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L27833;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L27833;}}}} break; case 4 : { space_22X = 2 + ((long)(*((unsigned char *) (RScode_pointerS)))); if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) { goto L27866;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 1; goto collect_saving_temp; collect_saving_temp_return_1: if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) { goto L27866;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L27866;}}} break; case 5 : { RSenvS = (*((long *) (-3 + (RSenvS)))); goto START;} break; case 6 : { b_268X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((64 == (SnargsS))) { RSstackS = (4 + (RSstackS)); merged_arg1K0 = (*((long *) (RSstackS))); merged_arg1K1 = ((-1 + (SnargsS)) - ((long)b_268X)); pop_args_list_return_tag = 0; goto pop_args_list; pop_args_list_return_0: v_23X = pop_args_list_return_value; arg1K0 = v_23X; goto L27934;} else { merged_arg1K0 = 25; merged_arg1K1 = ((SnargsS) - ((long)b_268X)); pop_args_list_return_tag = 1; goto pop_args_list; pop_args_list_return_1: v_269X = pop_args_list_return_value; arg1K0 = v_269X; goto L27934;}} break; case 7 : { b_24X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) ((-3 + (StemplateS)) + (((((long)b_24X))<<2))))); goto START;} break; case 8 : { b_266X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); env_267X = RSenvS; arg1K0 = env_267X; arg1K1 = ((long)b_266X); goto L27698;} break; case 9 : { env_264X = RSenvS; b_265X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) ((-3 + env_264X) + (((((long)b_265X))<<2))))); if ((529 == (RSvalS))) { merged_arg0K0 = 1; goto raise_exception;} else { goto START;}} break; case 10 : { env_262X = *((long *) (-3 + (RSenvS))); b_263X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) ((-3 + env_262X) + (((((long)b_263X))<<2))))); if ((529 == (RSvalS))) { merged_arg0K0 = 1; goto raise_exception;} else { goto START;}} break; case 11 : { env_260X = *((long *) (-3 + (*((long *) (-3 + (RSenvS)))))); b_261X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) ((-3 + env_260X) + (((((long)b_261X))<<2))))); if ((529 == (RSvalS))) { merged_arg0K0 = 1; goto raise_exception;} else { goto START;}} break; case 12 : { b_26X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); env_25X = RSenvS; arg1K0 = env_25X; arg1K1 = ((long)b_26X); goto L28006;} break; case 13 : { b_28X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); location_27X = *((long *) ((-3 + (StemplateS)) + (((((long)b_28X))<<2)))); RSvalS = (*((long *) (-3 + location_27X))); if ((17 == (255 & (RSvalS)))) { merged_arg0K0 = 1; merged_arg1K1 = location_27X; goto raise_exception1;} else { goto START;}} break; case 14 : { b_30X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); location_29X = *((long *) ((-3 + (StemplateS)) + (((((long)b_30X))<<2)))); if ((273 == (*((long *) (-3 + location_29X))))) { merged_arg0K0 = 1; merged_arg1K1 = location_29X; merged_arg1K2 = (RSvalS); goto raise_exception2;} else { *((long *) (-3 + location_29X)) = (RSvalS); RSvalS = 13; goto START;}} break; case 15 : { p_259X = RSenvS; if ((p_259X < (Sstack_beginS))) { arg1K0 = 0; goto L28104;} else { if (((Sstack_endS) < p_259X)) { arg1K0 = 0; goto L28104;} else { arg1K0 = ((Sstack_endS) - (Sstack_beginS)); goto L28104;}}} break; case 16 : { *((long *) (RSstackS)) = (RSvalS); RSstackS = (-4 + (RSstackS)); goto START;} break; case 17 : { RSstackS = (4 + (RSstackS)); RSvalS = (*((long *) (RSstackS))); goto START;} break; case 18 : { b_31X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) (4 + ((RSstackS) + (((((long)b_31X))<<2)))))); goto START;} break; case 19 : { b_258X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); *((long *) (4 + ((RSstackS) + (((((long)b_258X))<<2))))) = (RSvalS); goto START;} break; case 20 : { b_254X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_255X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_256X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if (((Sstack_limitS) < (-276 + (RSstackS)))) { arg1K0 = 0; goto L28247;} else { space_257X = 1 + (((((Sstack_endS) - (RSstackS)))>>2)); if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L28264;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 2; goto collect_saving_temp; collect_saving_temp_return_2: if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L28264;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L28264;}}}} break; case 21 : { space_32X = 1 + (((((Sstack_endS) - (RSstackS)))>>2)); if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L29948;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 3; goto collect_saving_temp; collect_saving_temp_return_3: if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L29948;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L29948;}}} break; case 22 : { cont_34X = *((long *) (-3 + (Sbottom_of_stackS))); if ((1 == cont_34X)) { if ((0 == (3 & (RSvalS)))) { RSvalS = ((((RSvalS))>>2)); SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; TTreturn_value = 0; return(0L);} else { RSstackS = (-11 + (Sbottom_of_stackS)); *((long *) (-3 + (Sbottom_of_stackS))) = 1; merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} else { if ((1 == cont_34X)) { RSstackS = (-11 + (Sbottom_of_stackS)); *((long *) (-3 + (Sbottom_of_stackS))) = 1; arg1K0 = (Sbottom_of_stackS); goto L28365;} else { merged_arg1K0 = cont_34X; copy_continuation_from_heap_return_tag = 0; goto copy_continuation_from_heap; copy_continuation_from_heap_return_0: v_33X = copy_continuation_from_heap_return_value; arg1K0 = v_33X; goto L28365;}}} break; case 23 : { SnargsS = ((long)(*((unsigned char *) (RScode_pointerS)))); merged_arg0K0 = 0; goto perform_application;} break; case 24 : { SnargsS = ((long)(*((unsigned char *) (RScode_pointerS)))); start_arg_252X = (RSstackS) + ((((SnargsS))<<2)); start_loc_253X = -11 + (ScontS); if ((start_arg_252X < start_loc_253X)) { arg1K0 = start_loc_253X; arg1K1 = start_arg_252X; goto L15929;} else { goto L15912;}} break; case 25 : { RSstackS = (4 + (RSstackS)); proc_36X = *((long *) (RSstackS)); list_35X = RSvalS; arg1K0 = list_35X; arg1K1 = 0; arg1K2 = list_35X; arg3K3 = 0; goto L25376;} break; case 26 : { RSstackS = (4 + (RSstackS)); cont_38X = *((long *) (RSstackS)); if ((1 == cont_38X)) { RSstackS = (-11 + (Sbottom_of_stackS)); *((long *) (-3 + (Sbottom_of_stackS))) = 1; arg1K0 = (Sbottom_of_stackS); goto L29978;} else { merged_arg1K0 = cont_38X; copy_continuation_from_heap_return_tag = 1; goto copy_continuation_from_heap; copy_continuation_from_heap_return_1: v_37X = copy_continuation_from_heap_return_value; arg1K0 = v_37X; goto L29978;}} break; case 27 : { RSstackS = (4 + (RSstackS)); consumer_251X = *((long *) (RSstackS)); *((long *) (RSstackS)) = (RSvalS); RSstackS = (-4 + (RSstackS)); RSvalS = consumer_251X; SnargsS = 1; merged_arg0K0 = 0; goto perform_application;} break; case 28 : { cont_41X = ScontS; tem_40X = *((long *) (5 + cont_41X)); pc_39X = *((long *) (1 + cont_41X)); StemplateS = tem_40X; RScode_pointerS = ((-3 + (*((long *) (-3 + tem_40X)))) + (((pc_39X)>>2))); RSenvS = (*((long *) (9 + cont_41X))); ScontS = (*((long *) (-3 + cont_41X))); RSstackS = (9 + cont_41X); goto START;} break; case 29 : { merged_arg1K0 = (SnargsS); goto return_values;} break; case 30 : { merged_arg1K0 = ((long)(*((unsigned char *) (RScode_pointerS)))); goto return_values;} break; case 31 : { goto START;} break; case 32 : { b_43X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); tem_42X = *((long *) ((-3 + (StemplateS)) + (((((long)b_43X))<<2)))); StemplateS = tem_42X; RScode_pointerS = (-3 + (*((long *) (-3 + tem_42X)))); goto START;} break; case 33 : { b_46X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); SnargsS = ((long)b_46X); b_45X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); tem_44X = *((long *) ((-3 + (StemplateS)) + (((((long)b_45X))<<2)))); StemplateS = tem_44X; RScode_pointerS = (-3 + (*((long *) (-3 + tem_44X)))); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { goto START;} else { goto handle_interrupt;}} break; case 34 : { b_48X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_47X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((1 == (RSvalS))) { RScode_pointerS = ((RScode_pointerS) + ((((((long)b_48X))<<8)) + ((long)b_47X))); goto START;} else { goto START;}} break; case 35 : { b_249X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_250X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RScode_pointerS = ((RScode_pointerS) + ((((((long)b_249X))<<8)) + ((long)b_250X))); goto START;} break; case 36 : { if ((0 == (3 & (RSvalS)))) { val_50X = (((RSvalS))>>2); b_49X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((val_50X < 0)) { arg1K0 = (((((long)b_49X))<<1)); goto L28572;} else { if ((val_50X < ((long)b_49X))) { RScode_pointerS = ((RScode_pointerS) + (((val_50X)<<1))); b_247X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_248X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); arg1K0 = ((((((long)b_247X))<<8)) + ((long)b_248X)); goto L28572;} else { arg1K0 = (((((long)b_49X))<<1)); goto L28572;}}} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 37 : { RSstackS = (4 + (RSstackS)); arg2_245X = *((long *) (RSstackS)); x_246X = RSvalS; if ((arg2_245X == x_246X)) { arg0K0 = 5; goto L30099;} else { arg0K0 = 1; goto L30099;}} break; case 38 : { x_244X = RSvalS; if ((0 == (3 & x_244X))) { arg0K0 = 5; goto L30113;} else { if ((3 == (3 & x_244X))) { if ((9 == (31 & ((((*((long *) (-7 + x_244X))))>>2))))) { arg0K0 = 5; goto L30113;} else { arg0K0 = 1; goto L30113;}} else { arg0K0 = 1; goto L30113;}}} break; case 39 : { x_243X = RSvalS; if ((0 == (3 & x_243X))) { RSvalS = 5; goto START;} else { if ((3 == (3 & x_243X))) { if ((9 == (31 & ((((*((long *) (-7 + x_243X))))>>2))))) { merged_arg0K0 = 0; merged_arg1K1 = x_243X; goto raise_exception1;} else { goto L30131;}} else { goto L30131;}}} break; case 40 : { x_242X = RSvalS; if ((0 == (3 & x_242X))) { RSvalS = 5; goto START;} else { if ((3 == (3 & x_242X))) { if ((9 == (31 & ((((*((long *) (-7 + x_242X))))>>2))))) { merged_arg0K0 = 0; merged_arg1K1 = x_242X; goto raise_exception1;} else { goto L30158;}} else { goto L30158;}}} break; case 41 : { x_241X = RSvalS; if ((0 == (3 & x_241X))) { RSvalS = 5; goto START;} else { if ((3 == (3 & x_241X))) { if ((9 == (31 & ((((*((long *) (-7 + x_241X))))>>2))))) { merged_arg0K0 = 0; merged_arg1K1 = x_241X; goto raise_exception1;} else { goto L30185;}} else { goto L30185;}}} break; case 42 : { x_240X = RSvalS; if ((0 == (3 & x_240X))) { RSvalS = 5; goto START;} else { if ((3 == (3 & x_240X))) { if ((9 == (31 & ((((*((long *) (-7 + x_240X))))>>2))))) { merged_arg0K0 = 0; merged_arg1K1 = x_240X; goto raise_exception1;} else { goto L30212;}} else { goto L30212;}}} break; case 43 : { if ((0 == (3 & (RSvalS)))) { RSvalS = 5; goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 44 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 45 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 46 : { RSstackS = (4 + (RSstackS)); arg2_239X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_239X | (RSvalS))))) { x_52X = RSvalS; z_51X = (((arg2_239X)>>2)) + (((x_52X)>>2)); if ((536870911 < z_51X)) { goto L24263;} else { if ((z_51X < -536870912)) { goto L24263;} else { RSvalS = (((z_51X)<<2)); goto START;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_239X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 47 : { RSstackS = (4 + (RSstackS)); arg2_53X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_53X | (RSvalS))))) { x_236X = RSvalS; a_237X = ((arg2_53X)>>2); b_238X = ((x_236X)>>2); if ((a_237X < 0)) { arg1K0 = (0 - a_237X); goto L24057;} else { arg1K0 = a_237X; goto L24057;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_53X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 48 : { RSstackS = (4 + (RSstackS)); arg2_54X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_54X | (RSvalS))))) { x_234X = RSvalS; z_235X = (((arg2_54X)>>2)) - (((x_234X)>>2)); if ((536870911 < z_235X)) { goto L23940;} else { if ((z_235X < -536870912)) { goto L23940;} else { RSvalS = (((z_235X)<<2)); goto START;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_54X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 49 : { RSstackS = (4 + (RSstackS)); arg2_55X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_55X | (RSvalS))))) { x_231X = RSvalS; if ((0 == x_231X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_55X; merged_arg1K2 = x_231X; goto raise_exception2;} else { a_232X = ((arg2_55X)>>2); b_233X = ((x_231X)>>2); if ((a_232X < 0)) { arg1K0 = (0 - a_232X); goto L23734;} else { arg1K0 = a_232X; goto L23734;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_55X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 50 : { RSstackS = (4 + (RSstackS)); arg2_230X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_230X | (RSvalS))))) { x_56X = RSvalS; if ((arg2_230X == x_56X)) { arg0K0 = 5; goto L30295;} else { arg0K0 = 1; goto L30295;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_230X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 51 : { RSstackS = (4 + (RSstackS)); arg2_57X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_57X | (RSvalS))))) { x_229X = RSvalS; if ((arg2_57X < x_229X)) { arg0K0 = 5; goto L30319;} else { arg0K0 = 1; goto L30319;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_57X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 52 : { RSstackS = (4 + (RSstackS)); arg2_58X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_58X | (RSvalS))))) { x_226X = RSvalS; if ((0 == x_226X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_58X; merged_arg1K2 = x_226X; goto raise_exception2;} else { a_227X = ((arg2_58X)>>2); b_228X = ((x_226X)>>2); if ((a_227X < 0)) { arg1K0 = (0 - a_227X); goto L23399;} else { arg1K0 = a_227X; goto L23399;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_58X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 53 : { RSstackS = (4 + (RSstackS)); arg2_59X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_59X | (RSvalS))))) { x_223X = RSvalS; if ((0 == x_223X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_59X; merged_arg1K2 = x_223X; goto raise_exception2;} else { a_224X = ((arg2_59X)>>2); b_225X = ((x_223X)>>2); if ((a_224X < 0)) { arg1K0 = (0 - a_224X); goto L23268;} else { arg1K0 = a_224X; goto L23268;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_59X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 54 : { if ((0 == (3 & (RSvalS)))) { RSvalS = (RSvalS); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 55 : { if ((0 == (3 & (RSvalS)))) { RSvalS = (RSvalS); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 56 : { if ((0 == (3 & (RSvalS)))) { RSvalS = 4; goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 57 : { if ((0 == (3 & (RSvalS)))) { RSvalS = (RSvalS); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 58 : { if ((0 == (3 & (RSvalS)))) { RSvalS = 0; goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 59 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 60 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 61 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 62 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 63 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 64 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 65 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 66 : { if ((0 == (3 & (RSvalS)))) { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 67 : { if ((0 == (3 & (RSvalS)))) { x_60X = RSvalS; if ((x_60X < 0)) { merged_arg0K0 = 0; merged_arg1K1 = x_60X; goto raise_exception1;} else { RSvalS = 0; goto START;}} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 68 : { if ((0 == (3 & (RSvalS)))) { x_222X = RSvalS; if ((x_222X < 0)) { arg1K0 = (0 - x_222X); goto L30507;} else { arg1K0 = x_222X; goto L30507;}} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 69 : { RSstackS = (4 + (RSstackS)); arg2_61X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_61X | (RSvalS))))) { merged_arg0K0 = 0; merged_arg1K1 = arg2_61X; merged_arg1K2 = (RSvalS); goto raise_exception2;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_61X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 70 : { RSstackS = (4 + (RSstackS)); arg2_62X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_62X | (RSvalS))))) { merged_arg0K0 = 0; merged_arg1K1 = arg2_62X; merged_arg1K2 = (RSvalS); goto raise_exception2;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_62X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 71 : { RSstackS = (4 + (RSstackS)); arg2_63X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_63X | (RSvalS))))) { merged_arg0K0 = 0; merged_arg1K1 = arg2_63X; merged_arg1K2 = (RSvalS); goto raise_exception2;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_63X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 72 : { if ((0 == (3 & (RSvalS)))) { RSvalS = ((((~ ((((RSvalS))>>2))))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 73 : { RSstackS = (4 + (RSstackS)); arg2_64X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_64X | (RSvalS))))) { RSvalS = (((((((arg2_64X)>>2)) & ((((RSvalS))>>2))))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_64X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 74 : { RSstackS = (4 + (RSstackS)); arg2_65X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_65X | (RSvalS))))) { RSvalS = (((((((arg2_65X)>>2)) | ((((RSvalS))>>2))))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_65X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 75 : { RSstackS = (4 + (RSstackS)); arg2_66X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_66X | (RSvalS))))) { RSvalS = (((((((arg2_66X)>>2)) ^ ((((RSvalS))>>2))))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_66X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 76 : { RSstackS = (4 + (RSstackS)); arg2_220X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_220X | (RSvalS))))) { x_72X = RSvalS; count_71X = ((x_72X)>>2); value_70X = ((arg2_220X)>>2); if ((count_71X < 0)) { PS_SHIFT_RIGHT(value_70X, (0 - count_71X), x_221X) RSvalS = (((x_221X)<<2)); goto START;} else { PS_SHIFT_LEFT(value_70X, count_71X, x_69X) result_68X = (((((x_69X)<<2)))>>2); PS_SHIFT_RIGHT(result_68X, count_71X, x_67X) if ((value_70X == x_67X)) { if ((value_70X < 0)) { if ((result_68X < 0)) { goto L22717;} else { goto L22714;}} else { if ((result_68X < 0)) { goto L22714;} else { goto L22717;}}} else { goto L22714;}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_220X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 77 : { x_219X = RSvalS; if ((9 == (255 & x_219X))) { arg0K0 = 5; goto L30635;} else { arg0K0 = 1; goto L30635;}} break; case 78 : { RSstackS = (4 + (RSstackS)); arg2_217X = *((long *) (RSstackS)); if ((9 == (255 & arg2_217X))) { if ((9 == (255 & (RSvalS)))) { x_218X = RSvalS; if ((arg2_217X == x_218X)) { arg0K0 = 5; goto L30662;} else { arg0K0 = 1; goto L30662;}} else { goto L30650;}} else { goto L30650;}} break; case 79 : { RSstackS = (4 + (RSstackS)); arg2_215X = *((long *) (RSstackS)); if ((9 == (255 & arg2_215X))) { if ((9 == (255 & (RSvalS)))) { x_216X = RSvalS; if ((arg2_215X < x_216X)) { arg0K0 = 5; goto L30691;} else { arg0K0 = 1; goto L30691;}} else { goto L30679;}} else { goto L30679;}} break; case 80 : { if ((9 == (255 & (RSvalS)))) { RSvalS = (((((long)((((((RSvalS))>>8))))))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 81 : { if ((0 == (3 & (RSvalS)))) { x_73X = (((RSvalS))>>2); if ((255 < x_73X)) { goto L30722;} else { if ((x_73X < 0)) { goto L30722;} else { RSvalS = (9 + (((((long)((x_73X))))<<8))); goto START;}}} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 82 : { x_214X = RSvalS; if ((21 == x_214X)) { arg0K0 = 5; goto L30744;} else { arg0K0 = 1; goto L30744;}} break; case 83 : { x_75X = RSvalS; b_74X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & x_75X))) { if (((31 & ((((*((long *) (-7 + x_75X))))>>2))) == ((long)b_74X))) { arg0K0 = 5; goto L30762;} else { arg0K0 = 1; goto L30762;}} else { arg0K0 = 1; goto L30762;}} break; case 84 : { x_212X = RSvalS; b_213X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & x_212X))) { if (((31 & ((((*((long *) (-7 + x_212X))))>>2))) == ((long)b_213X))) { RSvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + x_212X))))>>8)))); goto START;} else { goto L22430;}} else { goto L22430;}} break; case 85 : { space_76X = 4 + (((((long)(*((unsigned char *) (RScode_pointerS)))))<<2)); if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) { goto L16631;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 4; goto collect_saving_temp; collect_saving_temp_return_4: if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) { goto L16631;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L16631;}}} break; case 86 : { x_209X = RSvalS; b_210X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_211X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & x_209X))) { if (((31 & ((((*((long *) (-7 + x_209X))))>>2))) == ((long)b_210X))) { RSvalS = (*((long *) ((-3 + x_209X) + (((((long)b_211X))<<2))))); goto START;} else { goto L25259;}} else { goto L25259;}} break; case 87 : { RSstackS = (4 + (RSstackS)); arg2_80X = *((long *) (RSstackS)); x_79X = RSvalS; b_78X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_77X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & arg2_80X))) { if (((31 & ((((*((long *) (-7 + arg2_80X))))>>2))) == ((long)b_78X))) { if ((3 == (3 & arg2_80X))) { if ((0 == (128 & (*((long *) (-7 + arg2_80X)))))) { *((long *) ((-3 + arg2_80X) + (((((long)b_77X))<<2)))) = x_79X; RSvalS = 13; goto START;} else { goto L25732;}} else { goto L25732;}} else { goto L25732;}} else { goto L25732;}} break; case 88 : { RSstackS = (4 + (RSstackS)); arg2_208X = *((long *) (RSstackS)); if ((0 == (3 & arg2_208X))) { x_85X = RSvalS; len_84X = ((arg2_208X)>>2); b_83X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); size_82X = 1 + len_84X; if ((len_84X < 0)) { goto L25022;} else { if ((4194304 < size_82X)) { goto L25022;} else { if ((((ShpS) + (((size_82X)<<2))) < (SlimitS))) { arg3K0 = 1; arg1K1 = x_85X; goto L25027;} else { merged_arg1K0 = x_85X; collect_saving_temp_return_tag = 5; goto collect_saving_temp; collect_saving_temp_return_5: temp_81X = collect_saving_temp_return_value; arg3K0 = (((ShpS) + (((size_82X)<<2))) < (SlimitS)); arg1K1 = temp_81X; goto L25027;}}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_208X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 89 : { RSstackS = (4 + (RSstackS)); arg2_207X = *((long *) (RSstackS)); if ((0 == (3 & (RSvalS)))) { index_88X = (((RSvalS))>>2); b_87X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & arg2_207X))) { if (((31 & ((((*((long *) (-7 + arg2_207X))))>>2))) == ((long)b_87X))) { len_86X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg2_207X))))>>8))))>>2); if ((index_88X < 0)) { goto L24845;} else { if ((index_88X < len_86X)) { RSvalS = (*((long *) ((-3 + arg2_207X) + (((index_88X)<<2))))); goto START;} else { goto L24845;}}} else { goto L24845;}} else { goto L24845;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_207X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 90 : { RSstackS = (4 + (RSstackS)); arg2_205X = *((long *) (RSstackS)); RSstackS = (4 + (RSstackS)); arg3_206X = *((long *) (RSstackS)); if ((0 == (3 & arg2_205X))) { x_92X = RSvalS; index_91X = ((arg2_205X)>>2); b_90X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); if ((3 == (3 & arg3_206X))) { if (((31 & ((((*((long *) (-7 + arg3_206X))))>>2))) == ((long)b_90X))) { len_89X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg3_206X))))>>8))))>>2); if ((index_91X < 0)) { goto L25476;} else { if ((index_91X < len_89X)) { if ((3 == (3 & arg3_206X))) { if ((0 == (128 & (*((long *) (-7 + arg3_206X)))))) { *((long *) ((-3 + arg3_206X) + (((index_91X)<<2)))) = x_92X; RSvalS = 13; goto START;} else { goto L25476;}} else { goto L25476;}} else { goto L25476;}}} else { goto L25476;}} else { goto L25476;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg3_206X; merged_arg1K2 = arg2_205X; merged_arg1K3 = (RSvalS); goto raise_exception3;}} break; case 91 : { RSstackS = (4 + (RSstackS)); arg2_204X = *((long *) (RSstackS)); if ((0 == (3 & (arg2_204X | (RSvalS))))) { init_95X = (((RSvalS))>>2); len_94X = ((arg2_204X)>>2); size_93X = 1 + ((((3 + len_94X))>>2)); if ((len_94X < 0)) { goto L22178;} else { if ((4194304 < size_93X)) { goto L22178;} else { if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) { goto L22270;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 6; goto collect_saving_temp; collect_saving_temp_return_6: if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) { goto L22270;} else { merged_arg0K0 = 0; merged_arg1K1 = (((len_94X)<<2)); merged_arg1K2 = (((init_95X)<<2)); goto raise_exception2;}}}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_204X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 92 : { obj_96X = RSvalS; if ((3 == (3 & obj_96X))) { if ((16 == (31 & ((((*((long *) (-7 + obj_96X))))>>2))))) { RSvalS = (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2)); goto START;} else { goto L30809;}} else { goto L30809;}} break; case 93 : { RSstackS = (4 + (RSstackS)); arg2_97X = *((long *) (RSstackS)); if ((3 == (3 & arg2_97X))) { if ((16 == (31 & ((((*((long *) (-7 + arg2_97X))))>>2))))) { if ((0 == (3 & (RSvalS)))) { index_202X = (((RSvalS))>>2); len_203X = (long)(((unsigned long)(*((long *) (-7 + arg2_97X))))>>8); if ((index_202X < 0)) { goto L22028;} else { if ((index_202X < len_203X)) { RSvalS = (((((long)(*((unsigned char *) ((-3 + arg2_97X) + index_202X)))))<<2)); goto START;} else { goto L22028;}}} else { goto L22033;}} else { goto L22033;}} else { goto L22033;}} break; case 94 : { RSstackS = (4 + (RSstackS)); arg2_99X = *((long *) (RSstackS)); RSstackS = (4 + (RSstackS)); arg3_98X = *((long *) (RSstackS)); if ((3 == (3 & arg3_98X))) { if ((16 == (31 & ((((*((long *) (-7 + arg3_98X))))>>2))))) { if ((0 == (3 & (arg2_99X | (RSvalS))))) { value_199X = (((RSvalS))>>2); index_200X = ((arg2_99X)>>2); len_201X = (long)(((unsigned long)(*((long *) (-7 + arg3_98X))))>>8); if ((index_200X < 0)) { goto L24671;} else { if ((index_200X < len_201X)) { *((unsigned char *) ((-3 + arg3_98X) + index_200X)) = ((unsigned char)value_199X); RSvalS = 13; goto START;} else { goto L24671;}}} else { goto L24678;}} else { goto L24678;}} else { goto L24678;}} break; case 95 : { RSstackS = (4 + (RSstackS)); arg2_195X = *((long *) (RSstackS)); if ((0 == (3 & arg2_195X))) { if ((9 == (255 & (RSvalS)))) { init_196X = ((((RSvalS))>>8)); len_197X = ((arg2_195X)>>2); size_198X = 1 + ((((4 + len_197X))>>2)); if ((len_197X < 0)) { goto L21763;} else { if ((4194304 < size_198X)) { goto L21763;} else { if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) { goto L21857;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 7; goto collect_saving_temp; collect_saving_temp_return_7: if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) { goto L21857;} else { merged_arg0K0 = 0; merged_arg1K1 = (((len_197X)<<2)); merged_arg1K2 = (9 + (((((long)(init_196X)))<<8))); goto raise_exception2;}}}}} else { goto L21806;}} else { goto L21806;}} break; case 96 : { obj_100X = RSvalS; if ((3 == (3 & obj_100X))) { if ((15 == (31 & ((((*((long *) (-7 + obj_100X))))>>2))))) { RSvalS = (-4 + (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2))); goto START;} else { goto L30840;}} else { goto L30840;}} break; case 97 : { RSstackS = (4 + (RSstackS)); arg2_101X = *((long *) (RSstackS)); if ((3 == (3 & arg2_101X))) { if ((15 == (31 & ((((*((long *) (-7 + arg2_101X))))>>2))))) { if ((0 == (3 & (RSvalS)))) { index_193X = (((RSvalS))>>2); len_194X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_101X))))>>8)); if ((index_193X < 0)) { goto L21613;} else { if ((index_193X < len_194X)) { RSvalS = (9 + (((((long)((((long)(*((unsigned char *) ((-3 + arg2_101X) + index_193X))))))))<<8))); goto START;} else { goto L21613;}}} else { goto L21618;}} else { goto L21618;}} else { goto L21618;}} break; case 98 : { RSstackS = (4 + (RSstackS)); arg2_188X = *((long *) (RSstackS)); RSstackS = (4 + (RSstackS)); arg3_189X = *((long *) (RSstackS)); if ((3 == (3 & arg3_189X))) { if ((15 == (31 & ((((*((long *) (-7 + arg3_189X))))>>2))))) { if ((0 == (3 & arg2_188X))) { if ((9 == (255 & (RSvalS)))) { Kchar_190X = ((((RSvalS))>>8)); index_191X = ((arg2_188X)>>2); len_192X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg3_189X))))>>8)); if ((index_191X < 0)) { goto L24497;} else { if ((index_191X < len_192X)) { *((unsigned char *) ((-3 + arg3_189X) + index_191X)) = ((unsigned char)((long)(Kchar_190X))); RSvalS = 13; goto START;} else { goto L24497;}}} else { goto L24504;}} else { goto L24504;}} else { goto L24504;}} else { goto L24504;}} break; case 99 : { obj_104X = RSvalS; if ((3 == (3 & obj_104X))) { if ((4 == (31 & ((((*((long *) (-7 + obj_104X))))>>2))))) { x_103X = RSvalS; descriptor_102X = *((long *) (-3 + x_103X)); if ((17 == (255 & descriptor_102X))) { if ((529 == (*((long *) (-3 + x_103X))))) { arg0K0 = 5; goto L18264;} else { arg0K0 = 1; goto L18264;}} else { arg0K0 = 5; goto L18264;}} else { goto L18255;}} else { goto L18255;}} break; case 100 : { RSstackS = (4 + (RSstackS)); arg2_186X = *((long *) (RSstackS)); if ((3 == (3 & arg2_186X))) { if ((4 == (31 & ((((*((long *) (-7 + arg2_186X))))>>2))))) { x_187X = RSvalS; if ((1 == x_187X)) { goto L21413;} else { if ((5 == x_187X)) { goto L21413;} else { goto L21441;}}} else { goto L21441;}} else { goto L21441;}} break; case 101 : { x_105X = RSvalS; if ((3 == (3 & x_105X))) { if ((0 == (128 & (*((long *) (-7 + x_105X)))))) { arg0K0 = 1; goto L30876;} else { arg0K0 = 5; goto L30876;}} else { arg0K0 = 5; goto L30876;}} break; case 102 : { x_185X = RSvalS; if ((3 == (3 & x_185X))) { if ((0 == (128 & (*((long *) (-7 + x_185X)))))) { *((long *) (-7 + x_185X)) = (128 | (*((long *) (-7 + x_185X)))); goto L30891;} else { goto L30891;}} else { goto L30891;}} break; case 103 : { if (((20 + (ShpS)) < (SlimitS))) { arg1K0 = 0; goto L21131;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 8; goto collect_saving_temp; collect_saving_temp_return_8: if (((20 + (ShpS)) < (SlimitS))) { arg1K0 = 0; goto L21131;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L21131;}}} break; case 104 : { obj_184X = RSvalS; if ((3 == (3 & obj_184X))) { if ((5 == (31 & ((((*((long *) (-7 + obj_184X))))>>2))))) { merged_arg1K0 = (RSvalS); close_port_return_tag = 0; goto close_port; close_port_return_0: RSvalS = 13; goto START;} else { goto L30912;}} else { goto L30912;}} break; case 105 : { x_183X = RSvalS; if ((3 == (3 & x_183X))) { if ((5 == (31 & ((((*((long *) (-7 + x_183X))))>>2))))) { if ((4 == (*((long *) (-3 + x_183X))))) { arg0K0 = 5; goto L30934;} else { arg0K0 = 1; goto L30934;}} else { arg0K0 = 1; goto L30934;}} else { arg0K0 = 1; goto L30934;}} break; case 106 : { x_182X = RSvalS; if ((3 == (3 & x_182X))) { if ((5 == (31 & ((((*((long *) (-7 + x_182X))))>>2))))) { if ((8 == (*((long *) (-3 + x_182X))))) { arg0K0 = 5; goto L30952;} else { arg0K0 = 1; goto L30952;}} else { arg0K0 = 1; goto L30952;}} else { arg0K0 = 1; goto L30952;}} break; case 107 : { p_106X = RSvalS; if ((3 == (3 & p_106X))) { if ((5 == (31 & ((((*((long *) (-7 + p_106X))))>>2))))) { if ((4 == (*((long *) (-3 + p_106X))))) { if (((*((long *) (1 + p_106X))) < 0)) { goto L17836;} else { x_179X = RSvalS; c_180X = *((long *) (5 + x_179X)); if ((1 == c_180X)) { { int TTchar; PS_GETC((*((Sopen_portsS) + ((((*((long *) (1 + x_179X))))>>2)))), TTchar); if (EOF == TTchar) { arg1K0 = 21; goto L17833;} else { unsigned char Kchar_181X = TTchar; arg1K0 = (9 + (((((long)(Kchar_181X)))<<8))); goto L17833;}}} else { *((long *) (5 + x_179X)) = 1; arg1K0 = c_180X; goto L17833;}}} else { goto L17836;}} else { goto L17836;}} else { goto L17836;}} break; case 108 : { p_177X = RSvalS; if ((3 == (3 & p_177X))) { if ((5 == (31 & ((((*((long *) (-7 + p_177X))))>>2))))) { if ((4 == (*((long *) (-3 + p_177X))))) { if (((*((long *) (1 + p_177X))) < 0)) { goto L17718;} else { x_109X = RSvalS; c_108X = *((long *) (5 + x_109X)); if ((1 == c_108X)) { v_178X = *((Sopen_portsS) + ((((*((long *) (1 + x_109X))))>>2))); { int TTchar; PS_GETC(v_178X, TTchar); if (EOF == TTchar) { arg1K0 = 21; goto L17710;} else { unsigned char Kchar_107X = TTchar; arg1K0 = (9 + (((((long)(Kchar_107X)))<<8))); goto L17710;}}} else { arg1K0 = c_108X; goto L17715;}}} else { goto L17718;}} else { goto L17718;}} else { goto L17718;}} break; case 109 : { p_111X = RSvalS; if ((3 == (3 & p_111X))) { if ((5 == (31 & ((((*((long *) (-7 + p_111X))))>>2))))) { if ((4 == (*((long *) (-3 + p_111X))))) { if (((*((long *) (1 + p_111X))) < 0)) { goto L17565;} else { x_175X = RSvalS; x_176X = *((long *) (5 + x_175X)); if ((1 == x_176X)) { b_110X = char_ready_p((*((Sopen_portsS) + ((((*((long *) (1 + x_175X))))>>2))))); if (b_110X) { arg0K0 = 5; goto L17562;} else { arg0K0 = 1; goto L17562;}} else { arg0K0 = 5; goto L17562;}}} else { goto L17565;}} else { goto L17565;}} else { goto L17565;}} break; case 110 : { RSstackS = (4 + (RSstackS)); arg2_112X = *((long *) (RSstackS)); if ((9 == (255 & arg2_112X))) { p_174X = RSvalS; if ((3 == (3 & p_174X))) { if ((5 == (31 & ((((*((long *) (-7 + p_174X))))>>2))))) { if ((8 == (*((long *) (-3 + p_174X))))) { if (((*((long *) (1 + p_174X))) < 0)) { goto L21040;} else { putc(((((arg2_112X)>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2))))); RSvalS = 13; goto START;}} else { goto L21040;}} else { goto L21040;}} else { goto L21040;}} else { goto L21040;}} break; case 111 : { RSstackS = (4 + (RSstackS)); arg2_172X = *((long *) (RSstackS)); if ((3 == (3 & arg2_172X))) { if ((15 == (31 & ((((*((long *) (-7 + arg2_172X))))>>2))))) { p_173X = RSvalS; if ((3 == (3 & p_173X))) { if ((5 == (31 & ((((*((long *) (-7 + p_173X))))>>2))))) { if ((8 == (*((long *) (-3 + p_173X))))) { if (((*((long *) (1 + p_173X))) < 0)) { goto L20904;} else { fwrite((void *)(-3 + arg2_172X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_172X))))>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2))))); RSvalS = 13; goto START;}} else { goto L20904;}} else { goto L20904;}} else { goto L20904;}} else { goto L20904;}} else { goto L20904;}} break; case 112 : { p_113X = RSvalS; if ((3 == (3 & p_113X))) { if ((5 == (31 & ((((*((long *) (-7 + p_113X))))>>2))))) { if ((8 == (*((long *) (-3 + p_113X))))) { if (((*((long *) (1 + p_113X))) < 0)) { goto L17473;} else { fflush((*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2))))); RSvalS = 13; goto START;}} else { goto L17473;}} else { goto L17473;}} else { goto L17473;}} break; case 113 : { RSvalS = 529; goto START;} break; case 114 : { RSvalS = 13; goto START;} break; case 115 : { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} break; case 116 : { RSvalS = 1; goto START;} break; case 117 : { RSstackS = (4 + (RSstackS)); arg2_163X = *((long *) (RSstackS)); RSstackS = (4 + (RSstackS)); arg3_164X = *((long *) (RSstackS)); if ((3 == (3 & arg3_164X))) { if ((15 == (31 & ((((*((long *) (-7 + arg3_164X))))>>2))))) { obj_165X = RSvalS; if ((3 == (3 & obj_165X))) { if ((15 == (31 & ((((*((long *) (-7 + obj_165X))))>>2))))) { x_166X = RSvalS; if ((0 == ((long)(Spure_area_countS)))) { if ((0 == ((long)(Simpure_area_countS)))) { merged_arg1K0 = arg3_164X; extract_string_return_tag = 0; goto extract_string; extract_string_return_0: spec_167X = extract_string_return_value; port_168X = ps_open(spec_167X, "wb"); if ((NULL == port_168X)) { merged_arg0K0 = 0; merged_arg1K1 = arg3_164X; merged_arg1K2 = arg2_163X; goto raise_exception2;} else { fwrite((void *)(-3 + x_166X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + x_166X))))>>8))), port_168X); b_169X = Snewspace_beginS; Snewspace_beginS = (Soldspace_beginS); Soldspace_beginS = b_169X; e_170X = Snewspace_endS; Snewspace_endS = (Soldspace_endS); Soldspace_endS = e_170X; Ssaved_limitS = (SlimitS); Ssaved_hpS = (ShpS); SlimitS = (Snewspace_endS); ShpS = (Snewspace_beginS); Sweak_pointer_hpS = -1; if ((3 == (3 & arg2_163X))) { a_114X = -3 + arg2_163X; if ((a_114X < (Soldspace_beginS))) { arg1K0 = arg2_163X; goto L28742;} else { if ((a_114X < (Soldspace_endS))) { merged_arg1K0 = arg2_163X; copy_object_return_tag = 0; goto copy_object; copy_object_return_0: v_171X = copy_object_return_value; arg1K0 = v_171X; goto L28742;} else { arg1K0 = arg2_163X; goto L28742;}}} else { arg1K0 = arg2_163X; goto L28742;}}} else { goto L28827;}} else { goto L28827;}} else { goto L28758;}} else { goto L28758;}} else { goto L28758;}} else { goto L28758;}} break; case 118 : { RSvalS = 13; merged_arg1K0 = 0; collect_saving_temp_return_tag = 9; goto collect_saving_temp; collect_saving_temp_return_9: RSvalS = 13; goto START;} break; case 119 : { RSstackS = (4 + (RSstackS)); arg2_116X = *((long *) (RSstackS)); if ((0 == (3 & arg2_116X))) { x_161X = RSvalS; key_162X = ((arg2_116X)>>2); if ((0 == key_162X)) { RSvalS = (-4 & ((SlimitS) - (ShpS))); goto START;} else { if ((1 == key_162X)) { RSvalS = (-4 & (3 + ((Snewspace_endS) - (Snewspace_beginS)))); goto START;} else { if ((2 == key_162X)) { RSvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2)); goto START;} else { if ((3 == key_162X)) { if ((0 == (3 & x_161X))) { old_115X = Sminimum_recovered_spaceS; Sminimum_recovered_spaceS = (((x_161X)>>2)); RSvalS = (((old_115X)<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (((key_162X)<<2)); merged_arg1K2 = x_161X; goto raise_exception2;}} else { if ((4 == key_162X)) { RSvalS = ((((Sgc_countS))<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (((key_162X)<<2)); merged_arg1K2 = x_161X; goto raise_exception2;}}}}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_116X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 120 : { obj_120X = RSvalS; if ((3 == (3 & obj_120X))) { if ((2 == (31 & ((((*((long *) (-7 + obj_120X))))>>2))))) { x_119X = RSvalS; start_hp_118X = ShpS; SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_117X = hoistD1((Snewspace_beginS), (ShpS), x_119X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_117X) { areas_158X = Spure_areasS; sizes_159X = Spure_sizesS; count_160X = Spure_area_countS; arg1K0 = 0; goto L17365;} else { goto L17350;}} else { goto L17297;}} else { goto L17297;}} break; case 121 : { if ((0 == (3 & (RSvalS)))) { type_123X = (((RSvalS))>>2); start_hp_122X = ShpS; *((long *) (ShpS)) = 0; ShpS = (4 + (ShpS)); SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_121X = hoistD0((Snewspace_beginS), start_hp_122X, type_123X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_121X) { areas_155X = Simpure_areasS; sizes_156X = Simpure_sizesS; count_157X = Simpure_area_countS; arg1K0 = 0; goto L10089;} else { goto L10027;}} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 122 : { RSvalS = (Sdynamic_stateS); goto START;} break; case 123 : { Sdynamic_stateS = (RSvalS); RSvalS = 13; goto START;} break; case 124 : { obj_124X = RSvalS; if ((3 == (3 & obj_124X))) { if ((3 == (31 & ((((*((long *) (-7 + obj_124X))))>>2))))) { Sexception_handlerS = (RSvalS); goto START;} else { goto L31073;}} else { goto L31073;}} break; case 125 : { obj_125X = RSvalS; if ((3 == (3 & obj_125X))) { if ((2 == (31 & ((((*((long *) (-7 + obj_125X))))>>2))))) { if ((((((3 + ((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8))))>>2)) < 3)) { goto L31092;} else { Sinterrupt_handlersS = (RSvalS); goto START;}} else { goto L31092;}} else { goto L31092;}} break; case 126 : { temp_154X = Senabled_interruptsS; Senabled_interruptsS = ((((RSvalS))>>2)); RSvalS = (((temp_154X)<<2)); goto START;} break; case 127 : { RSstackS = (4 + (RSstackS)); Senabled_interruptsS = ((((*((long *) (RSstackS))))>>2)); RSstackS = (4 + (RSstackS)); SnargsS = ((((*((long *) (RSstackS))))>>2)); RSstackS = (4 + (RSstackS)); RSenvS = (*((long *) (RSstackS))); RSstackS = (4 + (RSstackS)); tem_126X = *((long *) (RSstackS)); StemplateS = tem_126X; RScode_pointerS = (-3 + (*((long *) (-3 + tem_126X)))); RSstackS = (4 + (RSstackS)); RSvalS = (*((long *) (RSstackS))); goto START;} break; case 128 : { if ((0 == (3 & (RSvalS)))) { p_152X = RSvalS; Spending_interruptsS = (-2 & (Spending_interruptsS)); SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; n_153X = ps_schedule_interrupt((((p_152X)>>2))); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; RSvalS = (((n_153X)<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;}} break; case 129 : { obj_131X = RSvalS; if ((3 == (3 & obj_131X))) { if ((12 == (31 & ((((*((long *) (-7 + obj_131X))))>>2))))) { x_130X = RSvalS; value_129X = *((long *) (1 + x_130X)); name_128X = *((long *) (-3 + x_130X)); if ((3 == (3 & name_128X))) { if ((15 == (31 & ((((*((long *) (-7 + name_128X))))>>2))))) { if ((3 == (3 & value_129X))) { if ((16 == (31 & ((((*((long *) (-7 + value_129X))))>>2))))) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_127X = lookup_external_name((-3 + name_128X), (-3 + value_129X)); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_127X) { RSvalS = 13; goto START;} else { goto L16974;}} else { goto L16974;}} else { goto L16974;}} else { goto L16974;}} else { goto L16974;}} else { goto L16977;}} else { goto L16977;}} break; case 130 : { proc_151X = *((long *) ((RSstackS) + ((((SnargsS))<<2)))); if ((3 == (3 & proc_151X))) { if ((12 == (31 & ((((*((long *) (-7 + proc_151X))))>>2))))) { SnargsS = (-1 + (SnargsS)); RSvalS = proc_151X; SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; TTreturn_value = 1; return(0L);} else { goto L31145;}} else { goto L31145;}} break; case 131 : { RSstackS = (4 + (RSstackS)); arg2_134X = *((long *) (RSstackS)); if ((0 == (3 & arg2_134X))) { x_148X = RSvalS; key_149X = ((arg2_134X)>>2); if ((0 == key_149X)) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; n_132X = ps_ticks_per_second(); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; RSvalS = (((n_132X)<<2)); goto START;} else { if ((1 == key_149X)) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; n_150X = ps_run_time(); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; RSvalS = (((n_150X)<<2)); goto START;} else { if ((2 == key_149X)) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; n_133X = ps_real_time(); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; RSvalS = (((n_133X)<<2)); goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = (((key_149X)<<2)); merged_arg1K2 = x_148X; goto raise_exception2;}}}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_134X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 132 : { RSstackS = (4 + (RSstackS)); arg2_147X = *((long *) (RSstackS)); if ((0 == (3 & arg2_147X))) { x_137X = RSvalS; key_136X = ((arg2_147X)>>2); SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; return_value_135X = extended_vm(key_136X, x_137X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if ((17 == (255 & return_value_135X))) { merged_arg0K0 = 0; merged_arg1K1 = (((key_136X)<<2)); merged_arg1K2 = x_137X; goto raise_exception2;} else { RSvalS = return_value_135X; goto START;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_147X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 133 : { RSstackS = (4 + (RSstackS)); arg2_146X = *((long *) (RSstackS)); if ((0 == (3 & arg2_146X))) { RSvalS = (RSvalS); SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; TTreturn_value = 0; return(0L);} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_146X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} break; case 134 : { RSstackS = (4 + (RSstackS)); arg2_143X = *((long *) (RSstackS)); if ((3 == (3 & arg2_143X))) { if ((15 == (31 & ((((*((long *) (-7 + arg2_143X))))>>2))))) { obj_144X = RSvalS; if ((3 == (3 & obj_144X))) { if ((15 == (31 & ((((*((long *) (-7 + obj_144X))))>>2))))) { merged_arg1K0 = arg2_143X; merged_arg1K1 = (RSvalS); stob_equalP_return_tag = 0; goto stob_equalP; stob_equalP_return_0: x_145X = stob_equalP_return_value; if (x_145X) { arg0K0 = 5; goto L20298;} else { arg0K0 = 1; goto L20298;}} else { goto L20289;}} else { goto L20289;}} else { goto L20289;}} else { goto L20289;}} break; case 135 : { obj_140X = RSvalS; if ((3 == (3 & obj_140X))) { if ((15 == (31 & ((((*((long *) (-7 + obj_140X))))>>2))))) { x_139X = RSvalS; n_138X = -1 + ((long)(((unsigned long)(*((long *) (-7 + x_139X))))>>8)); arg1K0 = 0; arg1K1 = 0; goto L16824;} else { goto L16802;}} else { goto L16802;}} break; case 136 : { space_142X = 1 + ((((4 + (RSvalS)))>>2)); if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) { goto L20018;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 10; goto collect_saving_temp; collect_saving_temp_return_10: if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) { goto L20018;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L20018;}}} break; case 137 : { if (((20 + (ShpS)) < (SlimitS))) { goto L19900;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 11; goto collect_saving_temp; collect_saving_temp_return_11: if (((20 + (ShpS)) < (SlimitS))) { goto L19900;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L19900;}}} break; }} L31042: { vector_272X = arg1K0; if ((1 == vector_272X)) { merged_arg0K0 = 0; merged_arg1K1 = (((type_123X)<<2)); goto raise_exception1;} else { RSvalS = vector_272X; goto START;}} L10027: { ShpS = start_hp_122X; arg1K0 = 1; goto L31042;} L10089: { i_273X = arg1K0; if ((i_273X < ((long)count_157X))) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_274X = hoistD0((*(areas_155X + i_273X)), ((*(areas_155X + i_273X)) + (*(sizes_156X + i_273X))), type_123X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_274X) { arg1K0 = (1 + i_273X); goto L10089;} else { goto L10027;}} else { areas_275X = Spure_areasS; sizes_276X = Spure_sizesS; count_277X = Spure_area_countS; arg1K0 = 0; goto L10068;}} L10068: { i_278X = arg1K0; if ((i_278X < ((long)count_277X))) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_279X = hoistD0((*(areas_275X + i_278X)), ((*(areas_275X + i_278X)) + (*(sizes_276X + i_278X))), type_123X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_279X) { arg1K0 = (1 + i_278X); goto L10068;} else { goto L10027;}} else { *((long *) start_hp_122X) = (-1014 + (((((ShpS) - start_hp_122X))<<8))); arg1K0 = (7 + start_hp_122X); goto L31042;}} L8859: { h_280X = arg1K0; arg1K0 = (4 + (addr_281X + (-4 & (3 + ((long)(((unsigned long)h_280X)>>8)))))); goto L8837;} L8837: { addr_281X = arg1K0; if ((addr_281X < (ShpS))) { d_283X = *((long *) addr_281X); if ((2 == (3 & d_283X))) { arg1K0 = d_283X; goto L8859;} else { h_282X = *((long *) (-7 + d_283X)); *((long *) addr_281X) = h_282X; arg1K0 = h_282X; goto L8859;}} else { RSvalS = (((size_318X)<<2)); goto START;}} L13271: { sym_284X = arg1K0; if ((3 == (3 & sym_284X))) { if ((0 == (128 & (*((long *) (-7 + sym_284X)))))) { *((long *) (-7 + sym_284X)) = (128 | (*((long *) (-7 + sym_284X)))); arg1K0 = sym_284X; goto L13213;} else { arg1K0 = sym_284X; goto L13213;}} else { arg1K0 = sym_284X; goto L13213;}} L28114: { v_285X = arg1K0; RSvalS = v_285X; goto START;} L19922: { val_286X = arg1K0; RSvalS = val_286X; goto START;} L13315: { i_287X = arg1K0; h_288X = arg1K1; if ((i_287X < n_304X)) { arg1K0 = (1 + i_287X); arg1K1 = (h_288X + ((long)((((long)(*((unsigned char *) ((-3 + arg2_300X) + i_287X)))))))); goto L13315;} else { index_290X = h_288X & (-1 + v_303X); bucket_289X = *((long *) ((-3 + table_302X) + (((index_290X)<<2)))); arg1K0 = bucket_289X; goto L13205;}} L13213: { new_291X = arg1K0; *((long *) (ShpS)) = 2050; ShpS = (4 + (ShpS)); new_292X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_292X)) = new_291X; *((long *) (1 + new_292X)) = bucket_289X; *((long *) ((-3 + table_302X) + (((index_290X)<<2)))) = new_292X; arg1K0 = new_291X; goto L19922;} L13205: { b_293X = arg1K0; if ((25 == b_293X)) { *((long *) (ShpS)) = 1030; ShpS = (4 + (ShpS)); new_295X = 3 + (ShpS); ShpS = (4 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_295X)) = arg2_300X; if ((3 == (3 & new_295X))) { if ((0 == (128 & (*((long *) (-7 + new_295X)))))) { *((long *) (-7 + new_295X)) = (128 | (*((long *) (-7 + new_295X)))); arg1K0 = new_295X; goto L13271;} else { arg1K0 = new_295X; goto L13271;}} else { arg1K0 = new_295X; goto L13271;}} else { merged_arg1K0 = arg2_300X; merged_arg1K1 = (*((long *) (-3 + (*((long *) (-3 + b_293X)))))); stob_equalP_return_tag = 1; goto stob_equalP; stob_equalP_return_1: v_294X = stob_equalP_return_value; if (v_294X) { arg1K0 = (*((long *) (-3 + b_293X))); goto L19922;} else { arg1K0 = (*((long *) (1 + b_293X))); goto L13205;}}} L9754: { stob_296X = arg1K0; from_297X = 4 + (RSstackS); arg1K0 = from_297X; arg1K1 = (1 + stob_296X); goto L9793;} L9793: { from_298X = arg1K0; to_299X = arg1K1; if ((from_298X < (from_297X + (((((long)b_432X))<<2))))) { *((long *) to_299X) = (*((long *) from_298X)); arg1K0 = (4 + from_298X); arg1K1 = (4 + to_299X); goto L9793;} else { RSstackS = ((RSstackS) - ((((0 - ((long)b_432X)))<<2))); *((long *) (-3 + stob_296X)) = (RSenvS); RSenvS = stob_296X; goto START;}} L19900: { RSstackS = (4 + (RSstackS)); arg2_300X = *((long *) (RSstackS)); if ((3 == (3 & arg2_300X))) { if ((15 == (31 & ((((*((long *) (-7 + arg2_300X))))>>2))))) { obj_301X = RSvalS; if ((3 == (3 & obj_301X))) { if ((2 == (31 & ((((*((long *) (-7 + obj_301X))))>>2))))) { table_302X = RSvalS; v_303X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + table_302X))))>>8))))>>2); n_304X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_300X))))>>8)); arg1K0 = 0; arg1K1 = 0; goto L13315;} else { goto L19925;}} else { goto L19925;}} else { goto L19925;}} else { goto L19925;}} L19925: { merged_arg0K0 = 0; merged_arg1K1 = arg2_300X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L20018: { RSstackS = (4 + (RSstackS)); arg2_305X = *((long *) (RSstackS)); if ((0 == (3 & (RSvalS)))) { n_306X = (((RSvalS))>>2); if ((3 == (3 & arg2_305X))) { if ((0 == (31 & ((((*((long *) (-7 + arg2_305X))))>>2))))) { goto L20144;} else { goto L20046;}} else { goto L20046;}} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_305X; merged_arg1K2 = (RSvalS); goto raise_exception2;}} L20046: { if ((25 == arg2_305X)) { goto L20144;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_305X; merged_arg1K2 = (((n_306X)<<2)); goto raise_exception2;}} L20144: { len_308X = 1 + n_306X; *((long *) (ShpS)) = (62 + (((len_308X)<<8))); ShpS = (4 + (ShpS)); new_307X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_308X))); if ((0 < len_308X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_307X; goto L20063;} else { arg1K0 = new_307X; goto L20063;}} L20063: { obj_309X = arg1K0; arg1K0 = arg2_305X; arg1K1 = (-1 + n_306X); goto L20065;} L20065: { l_310X = arg1K0; i_311X = arg1K1; if ((i_311X < 0)) { RSvalS = obj_309X; goto START;} else { *((unsigned char *) ((-3 + obj_309X) + i_311X)) = ((unsigned char)((long)((((((*((long *) (-3 + l_310X))))>>8)))))); arg1K0 = (*((long *) (1 + l_310X))); arg1K1 = (-1 + i_311X); goto L20065;}} L16802: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L16824: { i_312X = arg1K0; h_313X = arg1K1; if ((i_312X < n_138X)) { arg1K0 = (1 + i_312X); arg1K1 = (h_313X + ((long)((((long)(*((unsigned char *) ((-3 + x_139X) + i_312X)))))))); goto L16824;} else { RSvalS = (((h_313X)<<2)); goto START;}} L20289: { merged_arg0K0 = 0; merged_arg1K1 = arg2_143X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L20298: { v_314X = arg0K0; RSvalS = ((long)v_314X); goto START;} L16977: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L16974: { merged_arg0K0 = 0; merged_arg1K1 = x_130X; goto raise_exception1;} L17297: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L17365: { i_315X = arg1K0; if ((i_315X < ((long)count_160X))) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_316X = hoistD1((*(areas_158X + i_315X)), ((*(areas_158X + i_315X)) + (*(sizes_159X + i_315X))), x_119X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; if (v_316X) { arg1K0 = (1 + i_315X); goto L17365;} else { goto L17350;}} else { RSvalS = 13; goto START;}} L17350: { ShpS = start_hp_118X; merged_arg0K0 = 0; goto raise_exception;} L28758: { merged_arg0K0 = 0; merged_arg1K1 = arg3_164X; merged_arg1K2 = arg2_163X; merged_arg1K3 = (RSvalS); goto raise_exception3;} L28827: { merged_arg0K0 = 0; merged_arg1K1 = arg3_164X; merged_arg1K2 = arg2_163X; goto raise_exception2;} L28742: { resume_proc_317X = arg1K0; SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; do_gc(); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; /* Do NOT put a call to the scsh I/O gc hook post_gc_fdports() here. ** This GC is not for real -- it's for writing images, and will be ** aborted. But the part of post_gc_fdports that updates the fdports[] ** elements to point into new-space *won't* be aborted, and oops, we're ** pointing into hyperspace. This whole thing is a mess; we need to port ** to a newer Scheme 48 release that gives us structured GC hooks. ** -Olin */ close_untraced_portsB_return_tag = 0; goto close_untraced_portsB; close_untraced_portsB_return_0: fputs("This is a Scheme48 heap image file.", port_168X); putc(10, port_168X); putc(12, port_168X); putc(10, port_168X); merged_arg1K0 = 15; merged_arg2K1 = port_168X; write_number_return_tag = 0; goto write_number; write_number_return_0: merged_arg1K0 = 4; merged_arg2K1 = port_168X; write_number_return_tag = 1; goto write_number; write_number_return_1: merged_arg1K0 = ((((Snewspace_beginS))>>2)); merged_arg2K1 = port_168X; write_number_return_tag = 2; goto write_number; write_number_return_2: merged_arg1K0 = ((((ShpS))>>2)); merged_arg2K1 = port_168X; write_number_return_tag = 3; goto write_number; write_number_return_3: merged_arg1K0 = resume_proc_317X; merged_arg2K1 = port_168X; write_number_return_tag = 4; goto write_number; write_number_return_4: putc(12, port_168X); *((long *) (ShpS)) = 1; fwrite((void *)(ShpS), sizeof(char), ((4 + (ShpS)) - (ShpS)), port_168X); fwrite((void *)(Snewspace_beginS), sizeof(char), ((ShpS) - (Snewspace_beginS)), port_168X); size_318X = (ShpS) - (Snewspace_beginS); fclose(port_168X); b_319X = Snewspace_beginS; Snewspace_beginS = (Soldspace_beginS); Soldspace_beginS = b_319X; e_320X = Snewspace_endS; Snewspace_endS = (Soldspace_endS); Soldspace_endS = e_320X; SlimitS = (Ssaved_limitS); ShpS = (Ssaved_hpS); arg1K0 = (Snewspace_beginS); goto L8837;} L17473: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L20904: { merged_arg0K0 = 0; merged_arg1K1 = arg2_172X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L21040: { merged_arg0K0 = 0; merged_arg1K1 = arg2_112X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L17565: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L17562: { v_321X = arg0K0; RSvalS = ((long)v_321X); goto START;} L17718: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L17715: { val_322X = arg1K0; RSvalS = val_322X; goto START;} L17710: { c_323X = arg1K0; *((long *) (5 + x_109X)) = c_323X; arg1K0 = c_323X; goto L17715;} L17836: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L17833: { val_324X = arg1K0; RSvalS = val_324X; goto START;} L21131: { key_325X = arg1K0; RSstackS = (4 + (RSstackS)); arg2_326X = *((long *) (RSstackS)); if ((3 == (3 & arg2_326X))) { if ((15 == (31 & ((((*((long *) (-7 + arg2_326X))))>>2))))) { if ((0 == (3 & (RSvalS)))) { mode_327X = (((RSvalS))>>2); arg1K0 = 0; goto L21318;} else { goto L21169;}} else { goto L21169;}} else { goto L21169;}} L21169: { merged_arg0K0 = 0; merged_arg1K1 = arg2_326X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L21318: { i_328X = arg1K0; if ((i_328X < (Snumber_of_portsS))) { if ((1 == (*((Sopen_vm_portsS) + i_328X)))) { arg1K0 = i_328X; arg1K1 = arg2_326X; goto L21205;} else { arg1K0 = (1 + i_328X); goto L21318;}} else { arg1K0 = -1; arg1K1 = arg2_326X; goto L21205;}} L21307: { i_329X = arg1K0; if ((i_329X < (Snumber_of_portsS))) { if ((1 == (*((Sopen_vm_portsS) + i_329X)))) { arg1K0 = i_329X; goto L21249;} else { arg1K0 = (1 + i_329X); goto L21307;}} else { arg1K0 = -1; goto L21249;}} L21277: { i_330X = arg1K0; if ((i_330X < (Snumber_of_portsS))) { *(new_ports_335X + i_330X) = (*((Sopen_portsS) + i_330X)); *(new_vm_ports_336X + i_330X) = (*((Sopen_vm_portsS) + i_330X)); arg1K0 = (1 + i_330X); goto L21277;} else { free((Sopen_portsS)); free((Sopen_vm_portsS)); Sopen_portsS = new_ports_335X; Sopen_vm_portsS = new_vm_ports_336X; Snumber_of_portsS = new_count_333X; arg1K0 = old_count_334X; arg1K1 = filename_343X; goto L21205;}} L21271: { i_331X = arg1K0; if ((i_331X < new_count_333X)) { *(new_vm_ports_336X + i_331X) = 1; arg1K0 = (1 + i_331X); goto L21271;} else { arg1K0 = 0; goto L21277;}} L21260: { merged_arg0K0 = 0; merged_arg1K1 = filename_343X; merged_arg1K2 = (((key_325X)<<2)); goto raise_exception2;} L21249: { index_332X = arg1K0; if ((index_332X < 0)) { new_count_333X = 8 + (Snumber_of_portsS); old_count_334X = Snumber_of_portsS; new_ports_335X = (FILE **)malloc(sizeof(FILE *) * new_count_333X); new_vm_ports_336X = (long*)malloc(sizeof(long) * new_count_333X); if ((NULL == new_ports_335X)) { goto L21260;} else { if ((NULL == new_vm_ports_336X)) { goto L21260;} else { arg1K0 = 0; goto L21271;}}} else { arg1K0 = index_332X; arg1K1 = filename_343X; goto L21205;}} L21208: { port_337X = arg2K0; if ((NULL == port_337X)) { RSvalS = 1; goto START;} else { *((long *) (ShpS)) = 4118; ShpS = (4 + (ShpS)); new_338X = 3 + (ShpS); ShpS = (16 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_338X)) = (((mode_327X)<<2)); *((long *) (1 + new_338X)) = (((index_339X)<<2)); *((long *) (5 + new_338X)) = 1; *((long *) (9 + new_338X)) = filename_340X; *((Sopen_portsS) + index_339X) = port_337X; *((Sopen_vm_portsS) + index_339X) = new_338X; RSvalS = new_338X; goto START;}} L21205: { index_339X = arg1K0; filename_340X = arg1K1; if ((index_339X < 0)) { merged_arg1K0 = filename_340X; collect_saving_temp_return_tag = 12; goto collect_saving_temp; collect_saving_temp_return_12: filename_343X = collect_saving_temp_return_value; arg1K0 = 0; goto L21307;} else { if ((2 == mode_327X)) { merged_arg1K0 = filename_340X; extract_string_return_tag = 1; goto extract_string; extract_string_return_1: spec_341X = extract_string_return_value; arg2K0 = (ps_open(spec_341X, "wb")); goto L21208;} else { merged_arg1K0 = filename_340X; extract_string_return_tag = 2; goto extract_string; extract_string_return_2: spec_342X = extract_string_return_value; arg2K0 = (ps_open(spec_342X, "rb")); goto L21208;}}} L21413: { if ((1 == (RSvalS))) { *((long *) (-3 + arg2_186X)) = 273; goto L21438;} else { if ((17 == (255 & (*((long *) (-3 + arg2_186X)))))) { *((long *) (-3 + arg2_186X)) = 529; goto L21438;} else { goto L21438;}}} L21441: { merged_arg0K0 = 0; merged_arg1K1 = arg2_186X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L21438: { RSvalS = 13; goto START;} L18255: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L18264: { v_344X = arg0K0; RSvalS = ((long)v_344X); goto START;} L24504: { merged_arg0K0 = 0; merged_arg1K1 = arg3_189X; merged_arg1K2 = arg2_188X; merged_arg1K3 = (RSvalS); goto raise_exception3;} L24497: { merged_arg0K0 = 0; merged_arg1K1 = arg3_189X; merged_arg1K2 = (((index_191X)<<2)); merged_arg1K3 = (9 + (((((long)(Kchar_190X)))<<8))); goto raise_exception3;} L21618: { merged_arg0K0 = 0; merged_arg1K1 = arg2_101X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L21613: { merged_arg0K0 = 0; merged_arg1K1 = arg2_101X; merged_arg1K2 = (((index_193X)<<2)); goto raise_exception2;} L21857: { len_346X = 1 + len_197X; *((long *) (ShpS)) = (62 + (((len_346X)<<8))); ShpS = (4 + (ShpS)); new_345X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_346X))); if ((0 < len_346X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_345X; goto L21781;} else { arg1K0 = new_345X; goto L21781;}} L21806: { merged_arg0K0 = 0; merged_arg1K1 = arg2_195X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L21763: { merged_arg0K0 = 0; merged_arg1K1 = (((len_197X)<<2)); merged_arg1K2 = (9 + (((((long)(init_196X)))<<8))); goto raise_exception2;} L21781: { string_347X = arg1K0; arg1K0 = (-1 + len_197X); goto L21783;} L21783: { i_348X = arg1K0; if ((i_348X < 0)) { RSvalS = string_347X; goto START;} else { *((unsigned char *) ((-3 + string_347X) + i_348X)) = ((unsigned char)((long)(init_196X))); arg1K0 = (-1 + i_348X); goto L21783;}} L24678: { merged_arg0K0 = 0; merged_arg1K1 = arg3_98X; merged_arg1K2 = arg2_99X; merged_arg1K3 = (RSvalS); goto raise_exception3;} L24671: { merged_arg0K0 = 0; merged_arg1K1 = arg3_98X; merged_arg1K2 = (((index_200X)<<2)); merged_arg1K3 = (((value_199X)<<2)); goto raise_exception3;} L22033: { merged_arg0K0 = 0; merged_arg1K1 = arg2_97X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L22028: { merged_arg0K0 = 0; merged_arg1K1 = arg2_97X; merged_arg1K2 = (((index_202X)<<2)); goto raise_exception2;} L22270: { *((long *) (ShpS)) = (66 + (((len_94X)<<8))); ShpS = (4 + (ShpS)); new_349X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_94X))); if ((0 < len_94X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_349X; goto L22196;} else { arg1K0 = new_349X; goto L22196;}} L22178: { merged_arg0K0 = 0; merged_arg1K1 = (((len_94X)<<2)); merged_arg1K2 = (((init_95X)<<2)); goto raise_exception2;} L22196: { code_vector_350X = arg1K0; arg1K0 = (-1 + len_94X); goto L22198;} L22198: { i_351X = arg1K0; if ((i_351X < 0)) { RSvalS = code_vector_350X; goto START;} else { *((unsigned char *) ((-3 + code_vector_350X) + i_351X)) = ((unsigned char)init_95X); arg1K0 = (-1 + i_351X); goto L22198;}} L25476: { merged_arg0K0 = 1; merged_arg1K1 = arg3_206X; merged_arg1K2 = (((((long)b_90X))<<2)); merged_arg1K3 = (((index_91X)<<2)); merged_arg1K4 = x_92X; goto raise_exception4;} L24845: { merged_arg0K0 = 1; merged_arg1K1 = arg2_207X; merged_arg1K2 = (((((long)b_87X))<<2)); merged_arg1K3 = (((index_88X)<<2)); goto raise_exception3;} L25022: { merged_arg0K0 = 1; merged_arg1K1 = (((((long)b_83X))<<2)); merged_arg1K2 = (((len_84X)<<2)); merged_arg1K3 = x_85X; goto raise_exception3;} L25038: { val_352X = arg1K0; arg1K0 = (-1 + len_84X); goto L25040;} L25040: { i_353X = arg1K0; if ((i_353X < 0)) { RSvalS = val_352X; goto START;} else { *((long *) ((-3 + val_352X) + (((i_353X)<<2)))) = init_355X; arg1K0 = (-1 + i_353X); goto L25040;}} L25027: { okayP_354X = arg3K0; init_355X = arg1K1; if (okayP_354X) { len_357X = ((len_84X)<<2); *((long *) (ShpS)) = (2 + (((((((len_357X)<<6)) + ((long)b_83X)))<<2))); ShpS = (4 + (ShpS)); new_356X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_357X))); if ((0 < len_357X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_356X; goto L25038;} else { arg1K0 = new_356X; goto L25038;}} else { merged_arg0K0 = 1; merged_arg1K1 = (((((long)b_83X))<<2)); merged_arg1K2 = (((len_84X)<<2)); merged_arg1K3 = init_355X; goto raise_exception3;}} L25732: { merged_arg0K0 = 2; merged_arg1K1 = arg2_80X; merged_arg1K2 = (((((long)b_78X))<<2)); merged_arg1K3 = (((((long)b_77X))<<2)); merged_arg1K4 = x_79X; goto raise_exception4;} L25259: { merged_arg0K0 = 2; merged_arg1K1 = x_209X; merged_arg1K2 = (((((long)b_210X))<<2)); merged_arg1K3 = (((((long)b_211X))<<2)); goto raise_exception3;} L16631: { b_361X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); b_360X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); len_359X = ((((long)b_361X))<<2); *((long *) (ShpS)) = (2 + (((((((len_359X)<<6)) + ((long)b_360X)))<<2))); ShpS = (4 + (ShpS)); new_358X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_359X))); if ((0 < len_359X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_358X; goto L16639;} else { arg1K0 = new_358X; goto L16639;}} L16639: { new_362X = arg1K0; if ((((long)b_361X) < 1)) { goto L16670;} else { *((long *) (-7 + (new_362X + (((((long)b_361X))<<2))))) = (RSvalS); arg1K0 = (-2 + ((long)b_361X)); goto L16648;}} L16670: { RSvalS = new_362X; goto START;} L16648: { i_363X = arg1K0; if ((i_363X < 0)) { goto L16670;} else { RSstackS = (4 + (RSstackS)); *((long *) ((-3 + new_362X) + (((i_363X)<<2)))) = (*((long *) (RSstackS))); arg1K0 = (-1 + i_363X); goto L16648;}} L22430: { merged_arg0K0 = 1; merged_arg1K1 = x_212X; merged_arg1K2 = (((((long)b_213X))<<2)); goto raise_exception2;} L22717: { RSvalS = (((result_68X)<<2)); goto START;} L22714: { merged_arg0K0 = 0; merged_arg1K1 = arg2_220X; merged_arg1K2 = x_72X; goto raise_exception2;} L23274: { n_364X = arg1K0; RSvalS = (((n_364X)<<2)); goto START;} L23270: { b_365X = arg1K0; c_366X = a_367X % b_365X; if ((a_224X < 0)) { arg1K0 = (0 - c_366X); goto L23274;} else { arg1K0 = c_366X; goto L23274;}} L23268: { a_367X = arg1K0; if ((b_225X < 0)) { arg1K0 = (0 - b_225X); goto L23270;} else { arg1K0 = b_225X; goto L23270;}} L23407: { if ((536870911 < c_369X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_58X; merged_arg1K2 = x_226X; goto raise_exception2;} else { RSvalS = (((c_369X)<<2)); goto START;}} L23404: { RSvalS = ((((0 - c_369X))<<2)); goto START;} L23401: { b_368X = arg1K0; c_369X = a_370X / b_368X; if ((a_227X < 0)) { if ((b_228X < 0)) { goto L23407;} else { goto L23404;}} else { if ((b_228X < 0)) { goto L23404;} else { goto L23407;}}} L23399: { a_370X = arg1K0; if ((b_228X < 0)) { arg1K0 = (0 - b_228X); goto L23401;} else { arg1K0 = b_228X; goto L23401;}} L23777: { if ((536870911 < c_379X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_55X; merged_arg1K2 = x_231X; goto raise_exception2;} else { arg1K0 = (((c_379X)<<2)); goto L23740;}} L23753: { n_371X = arg1K0; if ((0 == (((n_371X)<<2)))) { RSvalS = q_375X; goto START;} else { merged_arg0K0 = 0; merged_arg1K1 = arg2_55X; merged_arg1K2 = x_231X; goto raise_exception2;}} L23749: { b_372X = arg1K0; c_373X = a_374X % b_372X; if ((a_376X < 0)) { arg1K0 = (0 - c_373X); goto L23753;} else { arg1K0 = c_373X; goto L23753;}} L23747: { a_374X = arg1K0; if ((b_377X < 0)) { arg1K0 = (0 - b_377X); goto L23749;} else { arg1K0 = b_377X; goto L23749;}} L23740: { q_375X = arg1K0; if ((0 == x_231X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_55X; merged_arg1K2 = x_231X; goto raise_exception2;} else { a_376X = ((arg2_55X)>>2); b_377X = ((x_231X)>>2); if ((a_376X < 0)) { arg1K0 = (0 - a_376X); goto L23747;} else { arg1K0 = a_376X; goto L23747;}}} L23736: { b_378X = arg1K0; c_379X = a_380X / b_378X; if ((a_232X < 0)) { if ((b_233X < 0)) { goto L23777;} else { arg1K0 = ((((0 - c_379X))<<2)); goto L23740;}} else { if ((b_233X < 0)) { arg1K0 = ((((0 - c_379X))<<2)); goto L23740;} else { goto L23777;}}} L23734: { a_380X = arg1K0; if ((b_233X < 0)) { arg1K0 = (0 - b_233X); goto L23736;} else { arg1K0 = b_233X; goto L23736;}} L23940: { merged_arg0K0 = 0; merged_arg1K1 = arg2_54X; merged_arg1K2 = x_234X; goto raise_exception2;} L24090: { if ((536870911 < c_388X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_53X; merged_arg1K2 = x_236X; goto raise_exception2;} else { RSvalS = (((c_388X)<<2)); goto START;}} L24083: { if ((536870912 < c_388X)) { merged_arg0K0 = 0; merged_arg1K1 = arg2_53X; merged_arg1K2 = x_236X; goto raise_exception2;} else { RSvalS = ((((0 - c_388X))<<2)); goto START;}} L24079: { if ((536870911 < lo_c_386X)) { goto L24074;} else { if ((lo_c_386X < 0)) { goto L24074;} else { if ((8192 < mid_c_387X)) { goto L24074;} else { if ((a_237X < 0)) { if ((b_238X < 0)) { goto L24090;} else { goto L24083;}} else { if ((b_238X < 0)) { goto L24083;} else { goto L24090;}}}}}} L24074: { merged_arg0K0 = 0; merged_arg1K1 = arg2_53X; merged_arg1K2 = x_236X; goto raise_exception2;} L24059: { b_381X = arg1K0; lo_a_382X = 65535 & a_389X; lo_b_383X = 65535 & b_381X; hi_a_384X = 65535 & (((a_389X)>>16)); hi_b_385X = 65535 & (((b_381X)>>16)); lo_c_386X = PS_SMALL_MULTIPLY(lo_a_382X, lo_b_383X); mid_c_387X = (PS_SMALL_MULTIPLY(lo_a_382X, hi_b_385X)) + (PS_SMALL_MULTIPLY(lo_b_383X, hi_a_384X)); c_388X = lo_c_386X + (((mid_c_387X)<<16)); if ((0 < hi_a_384X)) { if ((0 < hi_b_385X)) { goto L24074;} else { goto L24079;}} else { goto L24079;}} L24057: { a_389X = arg1K0; if ((b_238X < 0)) { arg1K0 = (0 - b_238X); goto L24059;} else { arg1K0 = b_238X; goto L24059;}} L24263: { merged_arg0K0 = 0; merged_arg1K1 = arg2_239X; merged_arg1K2 = x_52X; goto raise_exception2;} L28572: { offset_390X = arg1K0; RScode_pointerS = ((RScode_pointerS) + offset_390X); goto START;} L25344: { RSvalS = proc_36X; merged_arg0K0 = 0; goto perform_application;} L15148: { RSstackS = (4 + (RSstackS)); list_391X = *((long *) (RSstackS)); a_392X = *((long *) (-3 + list_391X)); *((long *) (ShpS)) = 2050; ShpS = (4 + (ShpS)); new_393X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_393X)) = a_392X; *((long *) (1 + new_393X)) = 25; arg1K0 = (*((long *) (1 + list_391X))); arg1K1 = new_393X; goto L15158;} L15158: { l_394X = arg1K0; last_395X = arg1K1; if ((25 == l_394X)) { *((long *) (RSstackS)) = new_393X; RSstackS = (-4 + (RSstackS)); SnargsS = 64; goto L25344;} else { a_397X = *((long *) (-3 + l_394X)); *((long *) (ShpS)) = 2050; ShpS = (4 + (ShpS)); new_396X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_396X)) = a_397X; *((long *) (1 + new_396X)) = 25; *((long *) (1 + last_395X)) = new_396X; arg1K0 = (*((long *) (1 + l_394X))); arg1K1 = new_396X; goto L15158;}} L15374: { i_398X = arg1K0; l_399X = arg1K1; if ((0 < i_398X)) { *((long *) (RSstackS)) = (*((long *) (-3 + l_399X))); RSstackS = (-4 + (RSstackS)); arg1K0 = (-1 + i_398X); arg1K1 = (*((long *) (1 + l_399X))); goto L15374;} else { if ((0 == overflow_401X)) { SnargsS = nargs_407X; goto L25344;} else { *((long *) (RSstackS)) = l_399X; RSstackS = (-4 + (RSstackS)); space_400X = 3 * overflow_401X; if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) { goto L15148;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 13; goto collect_saving_temp; collect_saving_temp_return_13: if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) { goto L15148;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L15148;}}}}} L15338: { overflow_401X = arg1K0; arg1K0 = (len_404X - overflow_401X); arg1K1 = args_408X; goto L15374;} L25378: { merged_arg1K0 = 25; merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS)))); pop_args_list_return_tag = 2; goto pop_args_list; pop_args_list_return_2: args_402X = pop_args_list_return_value; merged_arg0K0 = 0; merged_arg1K1 = proc_36X; merged_arg1K2 = args_402X; merged_arg1K3 = (RSvalS); goto raise_exception3;} L25376: { fast_403X = arg1K0; len_404X = arg1K1; slow_405X = arg1K2; move_slowP_406X = arg3K3; if ((25 == fast_403X)) { args_408X = RSvalS; nargs_407X = len_404X + ((long)(*((unsigned char *) (RScode_pointerS)))); if ((63 < nargs_407X)) { arg1K0 = (-63 + nargs_407X); goto L15338;} else { arg1K0 = 0; goto L15338;}} else { if ((3 == (3 & fast_403X))) { if ((0 == (31 & ((((*((long *) (-7 + fast_403X))))>>2))))) { if (move_slowP_406X) { if ((fast_403X == slow_405X)) { merged_arg1K0 = 25; merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS)))); pop_args_list_return_tag = 3; goto pop_args_list; pop_args_list_return_3: args_409X = pop_args_list_return_value; merged_arg0K0 = 0; merged_arg1K1 = proc_36X; merged_arg1K2 = args_409X; merged_arg1K3 = (RSvalS); goto raise_exception3;} else { arg1K0 = (*((long *) (1 + fast_403X))); arg1K1 = (1 + len_404X); arg1K2 = (*((long *) (1 + slow_405X))); arg3K3 = 0; goto L25376;}} else { arg1K0 = (*((long *) (1 + fast_403X))); arg1K1 = (1 + len_404X); arg1K2 = slow_405X; arg3K3 = 1; goto L25376;}} else { goto L25378;}} else { goto L25378;}}} L15912: { merged_arg0K0 = 0; goto perform_application;} L15929: { loc_410X = arg1K0; arg_411X = arg1K1; if (((RSstackS) < arg_411X)) { *((long *) loc_410X) = (*((long *) arg_411X)); arg1K0 = (-4 + loc_410X); arg1K1 = (-4 + arg_411X); goto L15929;} else { RSstackS = loc_410X; goto L15912;}} L28365: { v_412X = arg1K0; ScontS = v_412X; goto START;} L28247: { key_413X = arg1K0; merged_arg1K0 = ((RScode_pointerS) + ((((((long)b_254X))<<8)) + ((long)b_255X))); merged_arg1K1 = ((long)b_256X); merged_arg1K2 = key_413X; push_continuationB_return_tag = 0; goto push_continuationB; push_continuationB_return_0: goto START;} L28264: { v_414X = arg1K0; merged_arg1K0 = v_414X; copy_stack_into_heap_return_tag = 0; goto copy_stack_into_heap; copy_stack_into_heap_return_0: arg1K0 = 0; goto L28247;} L28104: { space_415X = arg1K0; if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L28106;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 14; goto collect_saving_temp; collect_saving_temp_return_14: if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L28106;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L28106;}}} L28106: { key_416X = arg1K0; p_417X = RSenvS; if ((p_417X < (Sstack_beginS))) { arg1K0 = (RSenvS); goto L28108;} else { if (((Sstack_endS) < p_417X)) { arg1K0 = (RSenvS); goto L28108;} else { merged_arg1K0 = (RSenvS); merged_arg1K1 = (ScontS); merged_arg1K2 = key_416X; merged_arg0K3 = 0; save_env_in_heap_return_tag = 0; goto save_env_in_heap; save_env_in_heap_return_0: v_418X = save_env_in_heap_return_value; RSenvS = v_418X; arg1K0 = (RSenvS); goto L28108;}}} L28108: { env_419X = arg1K0; if (((12 + (ShpS)) < (SlimitS))) { goto L28110;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 15; goto collect_saving_temp; collect_saving_temp_return_15: if (((12 + (ShpS)) < (SlimitS))) { goto L28110;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L28110;}}} L28110: { b_420X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); a_421X = *((long *) ((-3 + (StemplateS)) + (((((long)b_420X))<<2)))); *((long *) (ShpS)) = 2062; ShpS = (4 + (ShpS)); new_422X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_422X)) = a_421X; *((long *) (1 + new_422X)) = env_419X; if ((3 == (3 & new_422X))) { if ((0 == (128 & (*((long *) (-7 + new_422X)))))) { *((long *) (-7 + new_422X)) = (128 | (*((long *) (-7 + new_422X)))); arg1K0 = new_422X; goto L28114;} else { arg1K0 = new_422X; goto L28114;}} else { arg1K0 = new_422X; goto L28114;}} L28006: { env_423X = arg1K0; i_424X = arg1K1; if ((0 == i_424X)) { b_425X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); *((long *) ((-3 + env_423X) + (((((long)b_425X))<<2)))) = (RSvalS); RSvalS = 13; goto START;} else { arg1K0 = (*((long *) (-3 + env_423X))); arg1K1 = (-1 + i_424X); goto L28006;}} L27698: { env_426X = arg1K0; i_427X = arg1K1; if ((0 == i_427X)) { b_428X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); RSvalS = (*((long *) ((-3 + env_426X) + (((((long)b_428X))<<2))))); if ((529 == (RSvalS))) { merged_arg0K0 = 2; goto raise_exception;} else { goto START;}} else { arg1K0 = (*((long *) (-3 + env_426X))); arg1K1 = (-1 + i_427X); goto L27698;}} L27934: { args_429X = arg1K0; RSvalS = args_429X; SnargsS = (1 + ((long)b_268X)); goto START;} L27866: { b_432X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); len_431X = 4 + (((((long)b_432X))<<2)); *((long *) (ShpS)) = (10 + (((len_431X)<<8))); ShpS = (4 + (ShpS)); new_430X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_431X))); if ((0 < len_431X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_430X; goto L9754;} else { arg1K0 = new_430X; goto L9754;}} L27800: { b_433X = *((unsigned char *) (RScode_pointerS)); RScode_pointerS = (1 + (RScode_pointerS)); *((long *) (RSstackS)) = (RSenvS); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = (1034 + (((((long)b_433X))<<10))); RSstackS = (-4 + (RSstackS)); RSenvS = (11 + (RSstackS)); goto START;} L27833: { v_434X = arg1K0; merged_arg1K0 = v_434X; copy_stack_into_heap_return_tag = 1; goto copy_stack_into_heap; copy_stack_into_heap_return_1: goto L27800;} L31145: { merged_arg0K0 = 0; merged_arg1K1 = proc_151X; goto raise_exception1;} L31092: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L31073: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L30952: { v_435X = arg0K0; RSvalS = ((long)v_435X); goto START;} L30934: { v_436X = arg0K0; RSvalS = ((long)v_436X); goto START;} L30912: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L30891: { RSvalS = x_185X; goto START;} L30876: { v_437X = arg0K0; RSvalS = ((long)v_437X); goto START;} L30840: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L30809: { merged_arg0K0 = 0; merged_arg1K1 = (RSvalS); goto raise_exception1;} L30762: { v_438X = arg0K0; RSvalS = ((long)v_438X); goto START;} L30744: { v_439X = arg0K0; RSvalS = ((long)v_439X); goto START;} L30722: { merged_arg0K0 = 0; merged_arg1K1 = (((x_73X)<<2)); goto raise_exception1;} L30691: { v_440X = arg0K0; RSvalS = ((long)v_440X); goto START;} L30679: { merged_arg0K0 = 0; merged_arg1K1 = arg2_215X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L30662: { v_441X = arg0K0; RSvalS = ((long)v_441X); goto START;} L30650: { merged_arg0K0 = 0; merged_arg1K1 = arg2_217X; merged_arg1K2 = (RSvalS); goto raise_exception2;} L30635: { v_442X = arg0K0; RSvalS = ((long)v_442X); goto START;} L30507: { r_443X = arg1K0; if ((536870911 < r_443X)) { merged_arg0K0 = 0; merged_arg1K1 = x_222X; goto raise_exception1;} else { RSvalS = (((r_443X)<<2)); goto START;}} L30319: { v_444X = arg0K0; RSvalS = ((long)v_444X); goto START;} L30295: { v_445X = arg0K0; RSvalS = ((long)v_445X); goto START;} L30212: { RSvalS = 1; goto START;} L30185: { RSvalS = 1; goto START;} L30158: { RSvalS = 1; goto START;} L30131: { RSvalS = 1; goto START;} L30113: { v_446X = arg0K0; RSvalS = ((long)v_446X); goto START;} L30099: { v_447X = arg0K0; RSvalS = ((long)v_447X); goto START;} L29978: { v_448X = arg1K0; ScontS = v_448X; SnargsS = 0; merged_arg0K0 = 0; goto perform_application;} L29948: { key_449X = arg1K0; merged_arg1K0 = key_449X; merged_arg0K1 = 2; preserve_continuation_return_tag = 0; goto preserve_continuation; preserve_continuation_return_0: v_450X = preserve_continuation_return_value; RSvalS = v_450X; goto START;} raise_exception: { args_676X = merged_arg0K0;{ push_exception_continuationB_return_tag = 0; goto push_exception_continuationB; push_exception_continuationB_return_0: *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_676X)))))))<<2)); RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 0; goto raise;}} return_values: { nargs_674X = merged_arg1K0;{ if ((1 == nargs_674X)) { RSstackS = (4 + (RSstackS)); RSvalS = (*((long *) (RSstackS))); cont_451X = ScontS; tem_452X = *((long *) (5 + cont_451X)); pc_453X = *((long *) (1 + cont_451X)); StemplateS = tem_452X; RScode_pointerS = ((-3 + (*((long *) (-3 + tem_452X)))) + (((pc_453X)>>2))); RSenvS = (*((long *) (9 + cont_451X))); ScontS = (*((long *) (-3 + cont_451X))); RSstackS = (9 + cont_451X); goto START;} else { if (((ScontS) == (Sbottom_of_stackS))) { arg1K0 = (*((long *) (-3 + (Sbottom_of_stackS)))); goto L27410;} else { arg1K0 = (ScontS); goto L27410;}}} L27360: { args_465X = arg1K0; merged_arg0K0 = 0; merged_arg1K1 = args_465X; goto raise_exception1;} L27307: { SnargsS = nargs_674X; RSvalS = (*((long *) (13 + cont_457X))); merged_arg0K0 = 0; goto perform_application;} L27410: { cont_457X = arg1K0; if ((3 == (3 & cont_457X))) { if ((8 == (31 & ((((*((long *) (-7 + cont_457X))))>>2))))) { next_op_459X = *((unsigned char *) ((-3 + (*((long *) (-3 + (*((long *) (5 + cont_457X))))))) + ((((*((long *) (1 + cont_457X))))>>2)))); if ((31 == ((long)next_op_459X))) { cont_462X = ScontS; tem_463X = *((long *) (5 + cont_462X)); pc_464X = *((long *) (1 + cont_462X)); StemplateS = tem_463X; RScode_pointerS = ((-3 + (*((long *) (-3 + tem_463X)))) + (((pc_464X)>>2))); RSenvS = (*((long *) (9 + cont_462X))); ScontS = (*((long *) (-3 + cont_462X))); RSstackS = (9 + cont_462X); goto START;} else { if ((27 == ((long)next_op_459X))) { next_461X = *((long *) (-3 + (ScontS))); if (((ScontS) == (Sbottom_of_stackS))) { *((long *) (-3 + (ScontS))) = (*((long *) (-3 + next_461X))); goto L27307;} else { ScontS = next_461X; goto L27307;}} else { if ((64 == nargs_674X)) { RSstackS = (4 + (RSstackS)); merged_arg1K0 = (*((long *) (RSstackS))); merged_arg1K1 = 63; pop_args_list_return_tag = 4; goto pop_args_list; pop_args_list_return_4: v_458X = pop_args_list_return_value; arg1K0 = v_458X; goto L27360;} else { merged_arg1K0 = 25; merged_arg1K1 = nargs_674X; pop_args_list_return_tag = 5; goto pop_args_list; pop_args_list_return_5: v_460X = pop_args_list_return_value; arg1K0 = v_460X; goto L27360;}}}} else { goto L27418;}} else { goto L27418;}} L27418: { if ((64 == nargs_674X)) { RSstackS = (4 + (RSstackS)); merged_arg1K0 = (*((long *) (RSstackS))); merged_arg1K1 = 63; pop_args_list_return_tag = 6; goto pop_args_list; pop_args_list_return_6: v_456X = pop_args_list_return_value; arg1K0 = v_456X; goto L27448;} else { merged_arg1K0 = 25; merged_arg1K1 = nargs_674X; pop_args_list_return_tag = 7; goto pop_args_list; pop_args_list_return_7: v_455X = pop_args_list_return_value; arg1K0 = v_455X; goto L27448;}} L27448: { args_454X = arg1K0; merged_arg0K0 = 0; merged_arg1K1 = args_454X; goto raise_exception1;}} raise_exception1: { args_671X = merged_arg0K0; a1_672X = merged_arg1K1;{ push_exception_continuationB_return_tag = 1; goto push_exception_continuationB; push_exception_continuationB_return_1: *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_671X)))))))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a1_672X; RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 1; goto raise;}} raise_exception2: { args_667X = merged_arg0K0; a1_668X = merged_arg1K1; a2_669X = merged_arg1K2;{ push_exception_continuationB_return_tag = 2; goto push_exception_continuationB; push_exception_continuationB_return_2: *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_667X)))))))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a1_668X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a2_669X; RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 2; goto raise;}} raise_exception3: { args_662X = merged_arg0K0; a1_663X = merged_arg1K1; a2_664X = merged_arg1K2; a3_665X = merged_arg1K3;{ push_exception_continuationB_return_tag = 3; goto push_exception_continuationB; push_exception_continuationB_return_3: *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_662X)))))))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a1_663X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a2_664X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a3_665X; RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 3; goto raise;}} raise_exception4: { args_656X = merged_arg0K0; a1_657X = merged_arg1K1; a2_658X = merged_arg1K2; a3_659X = merged_arg1K3; a4_660X = merged_arg1K4;{ push_exception_continuationB_return_tag = 4; goto push_exception_continuationB; push_exception_continuationB_return_4: *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_656X)))))))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a1_657X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a2_658X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a3_659X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a4_660X; RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 4; goto raise;}} application_exception: { byte_args_654X = merged_arg0K0;{ if ((64 == (SnargsS))) { RSstackS = (4 + (RSstackS)); merged_arg1K0 = (*((long *) (RSstackS))); merged_arg1K1 = 63; pop_args_list_return_tag = 8; goto pop_args_list; pop_args_list_return_8: v_467X = pop_args_list_return_value; arg1K0 = v_467X; goto L24425;} else { merged_arg1K0 = 25; merged_arg1K1 = (SnargsS); pop_args_list_return_tag = 9; goto pop_args_list; pop_args_list_return_9: v_466X = pop_args_list_return_value; arg1K0 = v_466X; goto L24425;}} L24425: { args_468X = arg1K0; a1_469X = RSvalS; *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)byte_args_654X)))))))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = a1_469X; RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = args_468X; RSstackS = (-4 + (RSstackS)); merged_arg0K0 = 2; goto raise;}} raise: { nargs_652X = merged_arg0K0;{ SnargsS = (1 + ((long)nargs_652X)); RSvalS = (Sexception_handlerS); obj_470X = RSvalS; if ((3 == (3 & obj_470X))) { if ((3 == (31 & ((((*((long *) (-7 + obj_470X))))>>2))))) { goto L15972;} else { goto L16034;}} else { goto L16034;}} L16034: { TTerror("exception handler is not a closure", 0, 0, 0, 0); goto L15972;} L15974: { if ((Sexception_space_usedPS)) { x_473X = (Sstack_limitS) < (-296 + (RSstackS)); if (x_473X) { goto L15987;} else { TTerror("no space on stack to reserve exception space", 0, 0, 0, 0); goto L15987;}} else { goto L15976;}} L16008: { v_472X = arg1K0; merged_arg1K0 = v_472X; copy_stack_into_heap_return_tag = 2; goto copy_stack_into_heap; copy_stack_into_heap_return_2: goto L15974;} L15976: { merged_arg0K0 = 0; goto perform_application;} L15987: { Sstack_limitS = (296 + (Sstack_beginS)); Sexception_space_usedPS = 0; goto L15976;} L15972: { if (((Sstack_limitS) < (-296 + (RSstackS)))) { goto L15974;} else { space_471X = 1 + (((((Sstack_endS) - (RSstackS)))>>2)); if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L16008;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 16; goto collect_saving_temp; collect_saving_temp_return_16: if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L16008;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L16008;}}}}} perform_application: { bytes_consumed_650X = merged_arg0K0;{ obj_475X = RSvalS; if ((3 == (3 & obj_475X))) { if ((3 == (31 & ((((*((long *) (-7 + obj_475X))))>>2))))) { RSenvS = (*((long *) (1 + (RSvalS)))); tem_474X = *((long *) (-3 + (RSvalS))); StemplateS = tem_474X; RScode_pointerS = (-3 + (*((long *) (-3 + tem_474X)))); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { goto START;} else { goto handle_interrupt;}} else { goto L15787;}} else { goto L15787;}} L15787: { merged_arg0K0 = bytes_consumed_650X; goto application_exception;}} handle_interrupt: { { if (((Sstack_limitS) < (-276 + (RSstackS)))) { arg1K0 = 0; goto L16076;} else { space_476X = 1 + (((((Sstack_endS) - (RSstackS)))>>2)); if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L16316;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 17; goto collect_saving_temp; collect_saving_temp_return_17: if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) { arg1K0 = 0; goto L16316;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); arg1K0 = 0; goto L16316;}}}} L16076: { key_483X = arg1K0; n_484X = (Spending_interruptsS) & (Senabled_interruptsS); arg1K0 = 0; arg1K1 = 1; goto L16304;} L16316: { v_482X = arg1K0; merged_arg1K0 = v_482X; copy_stack_into_heap_return_tag = 3; goto copy_stack_into_heap; copy_stack_into_heap_return_3: arg1K0 = 0; goto L16076;} L16304: { i_478X = arg1K0; m_479X = arg1K1; if ((0 == (n_484X & m_479X))) { arg1K0 = (1 + i_478X); arg1K1 = (((m_479X)<<1)); goto L16304;} else { Spending_interruptsS = (n_484X & (~ m_479X)); *((long *) (RSstackS)) = (RSvalS); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = (StemplateS); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = (RSenvS); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = ((((SnargsS))<<2)); RSstackS = (-4 + (RSstackS)); *((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2)); RSstackS = (-4 + (RSstackS)); tem_481X = Sinterrupt_templateS; StemplateS = tem_481X; RScode_pointerS = (-3 + (*((long *) (-3 + tem_481X)))); merged_arg1K0 = (RScode_pointerS); merged_arg1K1 = (5 + (SnargsS)); merged_arg1K2 = key_483X; push_continuationB_return_tag = 1; goto push_continuationB; push_continuationB_return_1: *((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2)); RSstackS = (-4 + (RSstackS)); SnargsS = 1; obj_480X = Sinterrupt_handlersS; if ((3 == (3 & obj_480X))) { if ((2 == (31 & ((((*((long *) (-7 + obj_480X))))>>2))))) { goto L16118;} else { goto L16194;}} else { goto L16194;}}} L16194: { TTerror("interrupt handler is not a vector", 0, 0, 0, 0); goto L16118;} L16146: { TTerror("interrupt handler is not a closure", 1, i_478X, 0, 0); goto L16136;} L16136: { merged_arg0K0 = 0; goto perform_application;} L16118: { RSvalS = (*((long *) ((-3 + (Sinterrupt_handlersS)) + (((i_478X)<<2))))); Senabled_interruptsS = 0; obj_477X = RSvalS; if ((3 == (3 & obj_477X))) { if ((3 == (31 & ((((*((long *) (-7 + obj_477X))))>>2))))) { goto L16136;} else { goto L16146;}} else { goto L16146;}}} copy_stack_into_heap: { key_647X = merged_arg1K0;{ arg1K0 = (4 + (RSstackS)); arg1K1 = 0; goto L15036;} L15036: { p_488X = arg1K0; i_489X = arg1K1; if ((2 == (3 & (*((long *) p_488X))))) { len_491X = ((i_489X)<<2); *((long *) (ShpS)) = (10 + (((len_491X)<<8))); ShpS = (4 + (ShpS)); new_490X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_491X))); if ((0 < len_491X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_490X; goto L14900;} else { arg1K0 = new_490X; goto L14900;}} else { arg1K0 = (4 + p_488X); arg1K1 = (1 + i_489X); goto L15036;}} L14900: { vec_487X = arg1K0; arg1K0 = (-1 + i_489X); goto L14902;} L14926: { i_486X = arg1K0; if ((i_486X < i_489X)) { *((long *) (RSstackS)) = (*((long *) ((-3 + vec_487X) + (((i_486X)<<2))))); RSstackS = (-4 + (RSstackS)); arg1K0 = (1 + i_486X); goto L14926;} else { goto copy_stack_into_heap_return;}} L14902: { i_485X = arg1K0; if ((-1 < i_485X)) { RSstackS = (4 + (RSstackS)); *((long *) ((-3 + vec_487X) + (((i_485X)<<2)))) = (*((long *) (RSstackS))); arg1K0 = (-1 + i_485X); goto L14902;} else { merged_arg1K0 = key_647X; merged_arg0K1 = 1; preserve_continuation_return_tag = 1; goto preserve_continuation; preserve_continuation_return_1: arg1K0 = 0; goto L14926;}} copy_stack_into_heap_return: switch (copy_stack_into_heap_return_tag) { case 0: goto copy_stack_into_heap_return_0; case 1: goto copy_stack_into_heap_return_1; case 2: goto copy_stack_into_heap_return_2; case 3: goto copy_stack_into_heap_return_3; }} preserve_continuation: { key_645X = merged_arg1K0; reason_646X = merged_arg0K1;{ p_492X = RSenvS; if ((p_492X < (Sstack_beginS))) { goto L14645;} else { if (((Sstack_endS) < p_492X)) { goto L14645;} else { merged_arg1K0 = (RSenvS); merged_arg1K1 = (ScontS); merged_arg1K2 = key_645X; merged_arg0K3 = reason_646X; save_env_in_heap_return_tag = 1; goto save_env_in_heap; save_env_in_heap_return_1: v_493X = save_env_in_heap_return_value; RSenvS = v_493X; goto L14645;}}} L14645: { end_501X = *((long *) (-3 + (Sbottom_of_stackS))); arg1K0 = (ScontS); arg1K1 = (Sbottom_of_stackS); goto L14650;} L14703: { v_500X = arg1K0; ScontS = v_500X; preserve_continuation_return_value = cont_497X; goto preserve_continuation_return;} L14672: { merged_arg1K0 = cont_494X; merged_arg1K1 = key_645X; copy_stob_return_tag = 0; goto copy_stob; copy_stob_return_0: new_499X = copy_stob_return_value; *((long *) (-3 + previous_495X)) = new_499X; arg1K0 = (*((long *) (-3 + new_499X))); arg1K1 = new_499X; goto L14650;} L14650: { cont_494X = arg1K0; previous_495X = arg1K1; if ((cont_494X == (Sbottom_of_stackS))) { *((long *) (-3 + previous_495X)) = end_501X; cont_497X = *((long *) (-3 + (Sbottom_of_stackS))); if ((1 == cont_497X)) { arg1K0 = (Sbottom_of_stackS); goto L14703;} else { merged_arg1K0 = cont_497X; copy_continuation_from_heap_return_tag = 2; goto copy_continuation_from_heap; copy_continuation_from_heap_return_2: v_496X = copy_continuation_from_heap_return_value; arg1K0 = v_496X; goto L14703;}} else { p_498X = *((long *) (9 + cont_494X)); if ((p_498X < (Sstack_beginS))) { goto L14672;} else { if (((Sstack_endS) < p_498X)) { goto L14672;} else { merged_arg1K0 = (*((long *) (9 + cont_494X))); merged_arg1K1 = cont_494X; merged_arg1K2 = key_645X; merged_arg0K3 = reason_646X; save_env_in_heap_return_tag = 2; goto save_env_in_heap; save_env_in_heap_return_2: goto L14672;}}}} preserve_continuation_return: switch (preserve_continuation_return_tag) { case 0: goto preserve_continuation_return_0; case 1: goto preserve_continuation_return_1; }} copy_continuation_from_heap: { cont_643X = merged_arg1K0;{ top_502X = (-11 + (Sbottom_of_stackS)) - (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8)))); new_cont_503X = 7 + top_502X; RSstackS = (-4 + top_502X); v_504X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8))))>>2); from_505X = -7 + cont_643X; arg1K0 = from_505X; arg1K1 = top_502X; goto L12892;} L12892: { from_506X = arg1K0; to_507X = arg1K1; if ((from_506X < (4 + (from_505X + (((v_504X)<<2)))))) { *((long *) to_507X) = (*((long *) from_506X)); arg1K0 = (4 + from_506X); arg1K1 = (4 + to_507X); goto L12892;} else { *((long *) (-3 + (Sbottom_of_stackS))) = (*((long *) (-3 + new_cont_503X))); *((long *) (-3 + new_cont_503X)) = (Sbottom_of_stackS); copy_continuation_from_heap_return_value = new_cont_503X; goto copy_continuation_from_heap_return;}} copy_continuation_from_heap_return: switch (copy_continuation_from_heap_return_tag) { case 0: goto copy_continuation_from_heap_return_0; case 1: goto copy_continuation_from_heap_return_1; case 2: goto copy_continuation_from_heap_return_2; }} save_env_in_heap: { env_639X = merged_arg1K0; cont_640X = merged_arg1K1; key_641X = merged_arg1K2;{ merged_arg1K0 = env_639X; merged_arg1K1 = key_641X; copy_stob_return_tag = 1; goto copy_stob; copy_stob_return_1: new_508X = copy_stob_return_value; *((long *) (-7 + env_639X)) = new_508X; arg1K0 = new_508X; goto L14174;} L14198: { arg1K0 = cont_640X; goto L14200;} L14200: { cont_513X = arg1K0; env_514X = *((long *) (9 + cont_513X)); if ((3 == (3 & env_514X))) { if ((3 == (3 & (*((long *) (-7 + env_514X)))))) { *((long *) (9 + cont_513X)) = (*((long *) (-7 + env_514X))); arg1K0 = (*((long *) (-3 + cont_513X))); goto L14200;} else { save_env_in_heap_return_value = new_508X; goto save_env_in_heap_return;}} else { save_env_in_heap_return_value = new_508X; goto save_env_in_heap_return;}} L14174: { env_509X = arg1K0; p_510X = *((long *) (-3 + env_509X)); if ((p_510X < (Sstack_beginS))) { goto L14198;} else { if (((Sstack_endS) < p_510X)) { goto L14198;} else { env_511X = *((long *) (-3 + env_509X)); merged_arg1K0 = env_511X; merged_arg1K1 = key_641X; copy_stob_return_tag = 2; goto copy_stob; copy_stob_return_2: new_512X = copy_stob_return_value; *((long *) (-7 + env_511X)) = new_512X; *((long *) (-3 + env_509X)) = new_512X; arg1K0 = new_512X; goto L14174;}}} save_env_in_heap_return: switch (save_env_in_heap_return_tag) { case 0: goto save_env_in_heap_return_0; case 1: goto save_env_in_heap_return_1; case 2: goto save_env_in_heap_return_2; }} copy_stob: { old_stob_637X = merged_arg1K0;{ len_516X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8); *((long *) (ShpS)) = (66 + (((len_516X)<<8))); ShpS = (4 + (ShpS)); new_515X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_516X))); if ((0 < len_516X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_515X; goto L9136;} else { arg1K0 = new_515X; goto L9136;}} L9136: { new_519X = arg1K0; *((long *) (-7 + new_519X)) = (*((long *) (-7 + old_stob_637X))); bytes_520X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8); from_521X = -3 + old_stob_637X; arg1K0 = from_521X; arg1K1 = (-3 + new_519X); goto L9161;} L9161: { from_517X = arg1K0; to_518X = arg1K1; if ((from_517X < (from_521X + (-4 & (3 + bytes_520X))))) { *((long *) to_518X) = (*((long *) from_517X)); arg1K0 = (4 + from_517X); arg1K1 = (4 + to_518X); goto L9161;} else { copy_stob_return_value = new_519X; goto copy_stob_return;}} copy_stob_return: switch (copy_stob_return_tag) { case 0: goto copy_stob_return_0; case 1: goto copy_stob_return_1; case 2: goto copy_stob_return_2; }} push_exception_continuationB: { { if (((Sstack_limitS) < (-296 + (RSstackS)))) { arg1K0 = 0; goto L14138;} else { Sstack_limitS = (Sstack_beginS); Sexception_space_usedPS = 1; if (((Sstack_limitS) < (-296 + (RSstackS)))) { arg1K0 = 0; goto L14138;} else { TTerror("insufficient space on stack for exception frame", 0, 0, 0, 0); arg1K0 = 0; goto L14138;}}} L14138: { key_524X = arg1K0; arg1K0 = (4 + (RSstackS)); arg1K1 = 0; goto L14150;} L14150: { p_522X = arg1K0; i_523X = arg1K1; if ((2 == (3 & (*((long *) p_522X))))) { merged_arg1K0 = (RScode_pointerS); merged_arg1K1 = i_523X; merged_arg1K2 = key_524X; push_continuationB_return_tag = 2; goto push_continuationB; push_continuationB_return_2: goto push_exception_continuationB_return;} else { arg1K0 = (4 + p_522X); arg1K1 = (1 + i_523X); goto L14150;}} push_exception_continuationB_return: switch (push_exception_continuationB_return_tag) { case 0: goto push_exception_continuationB_return_0; case 1: goto push_exception_continuationB_return_1; case 2: goto push_exception_continuationB_return_2; case 3: goto push_exception_continuationB_return_3; case 4: goto push_exception_continuationB_return_4; }} push_continuationB: { code_pointer_634X = merged_arg1K0; size_635X = merged_arg1K1;{ pc_525X = 12 + ((((code_pointer_634X - (*((long *) (-3 + (StemplateS))))))<<2)); template_526X = StemplateS; RSstackS = (-20 + (RSstackS)); *((long *) (4 + (RSstackS))) = (128 | (4130 + (((size_635X)<<10)))); cont_527X = 11 + (RSstackS); *((long *) (1 + cont_527X)) = pc_525X; *((long *) (5 + cont_527X)) = template_526X; *((long *) (9 + cont_527X)) = (RSenvS); *((long *) (-3 + cont_527X)) = (ScontS); ScontS = cont_527X; goto push_continuationB_return;} push_continuationB_return: switch (push_continuationB_return_tag) { case 0: goto push_continuationB_return_0; case 1: goto push_continuationB_return_1; case 2: goto push_continuationB_return_2; }} pop_args_list: { start_632X = merged_arg1K0; count_633X = merged_arg1K1;{ space_528X = 3 * (SnargsS); if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) { goto L15054;} else { merged_arg1K0 = 0; collect_saving_temp_return_tag = 18; goto collect_saving_temp; collect_saving_temp_return_18: if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) { goto L15054;} else { TTerror("Scheme48 heap overflow", 0, 0, 0, 0); goto L15054;}}} L15054: { arg1K0 = start_632X; arg1K1 = count_633X; goto L15056;} L15056: { args_529X = arg1K0; count_530X = arg1K1; if ((0 < count_530X)) { RSstackS = (4 + (RSstackS)); a_531X = *((long *) (RSstackS)); *((long *) (ShpS)) = 2050; ShpS = (4 + (ShpS)); new_532X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_532X)) = a_531X; *((long *) (1 + new_532X)) = args_529X; arg1K0 = new_532X; arg1K1 = (-1 + count_530X); goto L15056;} else { pop_args_list_return_value = args_529X; goto pop_args_list_return;}} pop_args_list_return: switch (pop_args_list_return_tag) { case 0: goto pop_args_list_return_0; case 1: goto pop_args_list_return_1; case 2: goto pop_args_list_return_2; case 3: goto pop_args_list_return_3; case 4: goto pop_args_list_return_4; case 5: goto pop_args_list_return_5; case 6: goto pop_args_list_return_6; case 7: goto pop_args_list_return_7; case 8: goto pop_args_list_return_8; case 9: goto pop_args_list_return_9; }} collect_saving_temp: { value_630X = merged_arg1K0;{ b_537X = Snewspace_beginS; Snewspace_beginS = (Soldspace_beginS); Soldspace_beginS = b_537X; e_536X = Snewspace_endS; Snewspace_endS = (Soldspace_endS); Soldspace_endS = e_536X; Ssaved_limitS = (SlimitS); Ssaved_hpS = (ShpS); SlimitS = (Snewspace_endS); ShpS = (Snewspace_beginS); Sweak_pointer_hpS = -1; pc_535X = 12 + (((((RScode_pointerS) - (*((long *) (-3 + (StemplateS))))))<<2)); value_534X = StemplateS; if ((3 == (3 & value_534X))) { a_538X = -3 + value_534X; if ((a_538X < (Soldspace_beginS))) { arg1K0 = value_534X; goto L13915;} else { if ((a_538X < (Soldspace_endS))) { merged_arg1K0 = value_534X; copy_object_return_tag = 1; goto copy_object; copy_object_return_1: v_533X = copy_object_return_value; arg1K0 = v_533X; goto L13915;} else { arg1K0 = value_534X; goto L13915;}}} else { arg1K0 = value_534X; goto L13915;}} L13915: { tem_585X = arg1K0; StemplateS = tem_585X; RScode_pointerS = ((-3 + (*((long *) (-3 + tem_585X)))) + (((pc_535X)>>2))); value_587X = RSvalS; if ((3 == (3 & value_587X))) { a_588X = -3 + value_587X; if ((a_588X < (Soldspace_beginS))) { arg1K0 = value_587X; goto L13919;} else { if ((a_588X < (Soldspace_endS))) { merged_arg1K0 = value_587X; copy_object_return_tag = 2; goto copy_object; copy_object_return_2: v_586X = copy_object_return_value; arg1K0 = v_586X; goto L13919;} else { arg1K0 = value_587X; goto L13919;}}} else { arg1K0 = value_587X; goto L13919;}} L13919: { v_581X = arg1K0; RSvalS = v_581X; value_583X = Sdynamic_stateS; if ((3 == (3 & value_583X))) { a_584X = -3 + value_583X; if ((a_584X < (Soldspace_beginS))) { arg1K0 = value_583X; goto L13923;} else { if ((a_584X < (Soldspace_endS))) { merged_arg1K0 = value_583X; copy_object_return_tag = 3; goto copy_object; copy_object_return_3: v_582X = copy_object_return_value; arg1K0 = v_582X; goto L13923;} else { arg1K0 = value_583X; goto L13923;}}} else { arg1K0 = value_583X; goto L13923;}} L13923: { v_577X = arg1K0; Sdynamic_stateS = v_577X; value_579X = Sexception_handlerS; if ((3 == (3 & value_579X))) { a_580X = -3 + value_579X; if ((a_580X < (Soldspace_beginS))) { arg1K0 = value_579X; goto L13927;} else { if ((a_580X < (Soldspace_endS))) { merged_arg1K0 = value_579X; copy_object_return_tag = 4; goto copy_object; copy_object_return_4: v_578X = copy_object_return_value; arg1K0 = v_578X; goto L13927;} else { arg1K0 = value_579X; goto L13927;}}} else { arg1K0 = value_579X; goto L13927;}} L13927: { v_573X = arg1K0; Sexception_handlerS = v_573X; value_575X = Sinterrupt_handlersS; if ((3 == (3 & value_575X))) { a_576X = -3 + value_575X; if ((a_576X < (Soldspace_beginS))) { arg1K0 = value_575X; goto L13931;} else { if ((a_576X < (Soldspace_endS))) { merged_arg1K0 = value_575X; copy_object_return_tag = 5; goto copy_object; copy_object_return_5: v_574X = copy_object_return_value; arg1K0 = v_574X; goto L13931;} else { arg1K0 = value_575X; goto L13931;}}} else { arg1K0 = value_575X; goto L13931;}} L13931: { v_569X = arg1K0; Sinterrupt_handlersS = v_569X; value_571X = Sinterrupt_templateS; if ((3 == (3 & value_571X))) { a_572X = -3 + value_571X; if ((a_572X < (Soldspace_beginS))) { arg1K0 = value_571X; goto L13935;} else { if ((a_572X < (Soldspace_endS))) { merged_arg1K0 = value_571X; copy_object_return_tag = 6; goto copy_object; copy_object_return_6: v_570X = copy_object_return_value; arg1K0 = v_570X; goto L13935;} else { arg1K0 = value_571X; goto L13935;}}} else { arg1K0 = value_571X; goto L13935;}} L13935: { v_565X = arg1K0; Sinterrupt_templateS = v_565X; value_567X = RSenvS; if ((3 == (3 & value_567X))) { a_568X = -3 + value_567X; if ((a_568X < (Soldspace_beginS))) { arg1K0 = value_567X; goto L13941;} else { if ((a_568X < (Soldspace_endS))) { merged_arg1K0 = value_567X; copy_object_return_tag = 7; goto copy_object; copy_object_return_7: v_566X = copy_object_return_value; arg1K0 = v_566X; goto L13941;} else { arg1K0 = value_567X; goto L13941;}}} else { arg1K0 = value_567X; goto L13941;}} L13941: { env_562X = arg1K0; RSenvS = env_562X; start_563X = 4 + (RSstackS); end_564X = -7 + (ScontS); arg1K0 = start_563X; goto L14017;} L14017: { addr_560X = arg1K0; if ((addr_560X < end_564X)) { merged_arg1K0 = addr_560X; copy_next_return_tag = 0; goto copy_next; copy_next_return_0: v_561X = copy_next_return_value; arg1K0 = v_561X; goto L14017;} else { arg1K0 = (ScontS); arg1K1 = 0; goto L13956;}} L14003: { addr_558X = arg1K0; if ((addr_558X < end_550X)) { merged_arg1K0 = addr_558X; copy_next_return_tag = 1; goto copy_next; copy_next_return_1: v_559X = copy_next_return_value; arg1K0 = v_559X; goto L14003;} else { if ((env_549X == last_env_548X)) { goto L13961;} else { arg1K0 = env_549X; goto L13971;}}} L13989: { addr_556X = arg1K0; if ((addr_556X < end_555X)) { merged_arg1K0 = addr_556X; copy_next_return_tag = 2; goto copy_next; copy_next_return_2: v_557X = copy_next_return_value; arg1K0 = v_557X; goto L13989;} else { arg1K0 = (*((long *) (-3 + env_554X))); goto L13971;}} L13971: { env_554X = arg1K0; if ((env_554X < (Sstack_beginS))) { goto L13961;} else { if (((Sstack_endS) < env_554X)) { goto L13961;} else { end_555X = (-3 + env_554X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + env_554X))))>>8)))); arg1K0 = (-3 + env_554X); goto L13989;}}} L13961: { if ((cont_547X == (Sbottom_of_stackS))) { areas_551X = Simpure_areasS; sizes_552X = Simpure_sizesS; count_553X = Simpure_area_countS; arg1K0 = 0; goto L14490;} else { arg1K0 = (*((long *) (-3 + cont_547X))); arg1K1 = env_549X; goto L13956;}} L13956: { cont_547X = arg1K0; last_env_548X = arg1K1; env_549X = *((long *) (9 + cont_547X)); end_550X = (-3 + cont_547X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_547X))))>>8)))); arg1K0 = (-3 + cont_547X); goto L14003;} L14500: { addr_545X = arg1K0; if ((addr_545X < end_544X)) { merged_arg1K0 = addr_545X; copy_next_return_tag = 3; goto copy_next; copy_next_return_3: v_546X = copy_next_return_value; arg1K0 = v_546X; goto L14500;} else { arg1K0 = (1 + i_540X); goto L14490;}} L14490: { i_540X = arg1K0; if ((i_540X < ((long)count_553X))) { start_543X = *(areas_551X + i_540X); end_544X = (*(areas_551X + i_540X)) + (*(sizes_552X + i_540X)); arg1K0 = start_543X; goto L14500;} else { if ((3 == (3 & value_630X))) { a_541X = -3 + value_630X; if ((a_541X < (Soldspace_beginS))) { arg1K0 = value_630X; goto L14416;} else { if ((a_541X < (Soldspace_endS))) { merged_arg1K0 = value_630X; copy_object_return_tag = 8; goto copy_object; copy_object_return_8: v_542X = copy_object_return_value; arg1K0 = v_542X; goto L14416;} else { arg1K0 = value_630X; goto L14416;}}} else { arg1K0 = value_630X; goto L14416;}}} L14416: { value_539X = arg1K0; SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; do_gc(); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; post_gc_fdports(); /* Hack for scsh's i/o system. Olin. */ Sgc_countS = (1 + (Sgc_countS)); close_untraced_portsB_return_tag = 1; goto close_untraced_portsB; close_untraced_portsB_return_1: if ((((ShpS) + ((((Sminimum_recovered_spaceS))<<2))) < (SlimitS))) { collect_saving_temp_return_value = value_539X; goto collect_saving_temp_return;} else { Spending_interruptsS = (4 | (Spending_interruptsS)); collect_saving_temp_return_value = value_539X; goto collect_saving_temp_return;}} collect_saving_temp_return: switch (collect_saving_temp_return_tag) { case 0: goto collect_saving_temp_return_0; case 1: goto collect_saving_temp_return_1; case 2: goto collect_saving_temp_return_2; case 3: goto collect_saving_temp_return_3; case 4: goto collect_saving_temp_return_4; case 5: goto collect_saving_temp_return_5; case 6: goto collect_saving_temp_return_6; case 7: goto collect_saving_temp_return_7; case 8: goto collect_saving_temp_return_8; case 9: goto collect_saving_temp_return_9; case 10: goto collect_saving_temp_return_10; case 11: goto collect_saving_temp_return_11; case 12: goto collect_saving_temp_return_12; case 13: goto collect_saving_temp_return_13; case 14: goto collect_saving_temp_return_14; case 15: goto collect_saving_temp_return_15; case 16: goto collect_saving_temp_return_16; case 17: goto collect_saving_temp_return_17; case 18: goto collect_saving_temp_return_18; }} copy_next: { addr_628X = merged_arg1K0;{ next_589X = 4 + addr_628X; thing_590X = *((long *) addr_628X); if ((2 == (3 & thing_590X))) { if (((31 & (((thing_590X)>>2))) < 15)) { goto L11536;} else { copy_next_return_value = (next_589X + (-4 & (3 + ((long)(((unsigned long)thing_590X)>>8))))); goto copy_next_return;}} else { goto L11536;}} L11536: { if ((3 == (3 & thing_590X))) { a_592X = -3 + thing_590X; if ((a_592X < (Soldspace_beginS))) { copy_next_return_value = next_589X; goto copy_next_return;} else { if ((a_592X < (Soldspace_endS))) { merged_arg1K0 = thing_590X; copy_object_return_tag = 9; goto copy_object; copy_object_return_9: value_591X = copy_object_return_value; *((long *) addr_628X) = value_591X; copy_next_return_value = next_589X; goto copy_next_return;} else { copy_next_return_value = next_589X; goto copy_next_return;}}} else { copy_next_return_value = next_589X; goto copy_next_return;}} copy_next_return: switch (copy_next_return_tag) { case 0: goto copy_next_return_0; case 1: goto copy_next_return_1; case 2: goto copy_next_return_2; case 3: goto copy_next_return_3; }} copy_object: { thing_626X = merged_arg1K0;{ h_594X = *((long *) (-7 + thing_626X)); if ((3 == (3 & h_594X))) { copy_object_return_value = h_594X; goto copy_object_return;} else { if ((1070 == h_594X)) { descriptor_595X = *((long *) (-3 + thing_626X)); if ((3 == (3 & descriptor_595X))) { a_593X = -3 + descriptor_595X; if ((a_593X < (Soldspace_beginS))) { goto L9586;} else { if ((a_593X < (Soldspace_endS))) { SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; v_596X = copy_weak_pointer(thing_626X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; copy_object_return_value = v_596X; goto copy_object_return;} else { goto L9586;}}} else { goto L9586;}} else { goto L9586;}}} L9586: { *((long *) (ShpS)) = h_594X; ShpS = (4 + (ShpS)); new_598X = 3 + (ShpS); *((long *) (-7 + thing_626X)) = new_598X; x1_599X = ShpS; arg1K0 = (-3 + thing_626X); goto L9600;} L9600: { o_597X = arg1K0; if (((ShpS) < (x1_599X + (-4 & (3 + ((long)(((unsigned long)h_594X)>>8))))))) { *((long *) (ShpS)) = (*((long *) o_597X)); ShpS = (4 + (ShpS)); arg1K0 = (4 + o_597X); goto L9600;} else { copy_object_return_value = new_598X; goto copy_object_return;}} copy_object_return: switch (copy_object_return_tag) { case 0: goto copy_object_return_0; case 1: goto copy_object_return_1; case 2: goto copy_object_return_2; case 3: goto copy_object_return_3; case 4: goto copy_object_return_4; case 5: goto copy_object_return_5; case 6: goto copy_object_return_6; case 7: goto copy_object_return_7; case 8: goto copy_object_return_8; case 9: goto copy_object_return_9; }} close_untraced_portsB: { { arg1K0 = 2; goto L13688;} L13734: { merged_arg1K0 = port_601X; close_port_return_tag = 1; goto close_port; close_port_return_1: fputs("Port closed: ", (Scurrent_output_portS)); string_605X = *((long *) (9 + port_601X)); fwrite((void *)(-3 + string_605X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + string_605X))))>>8))), (Scurrent_output_portS)); putc(10, (Scurrent_output_portS)); arg1K0 = 1; goto L13714;} L13719: { arg1K0 = (1 + i_600X); goto L13688;} L13714: { new_604X = arg1K0; *((Sopen_vm_portsS) + i_600X) = new_604X; goto L13719;} L13688: { i_600X = arg1K0; if ((i_600X == (Snumber_of_portsS))) { close_untraced_portsB_return_value = 0; goto close_untraced_portsB_return;} else { port_601X = *((Sopen_vm_portsS) + i_600X); if ((1 == port_601X)) { goto L13719;} else { header_602X = *((long *) (-7 + port_601X)); if ((3 == (3 & header_602X))) { arg1K0 = header_602X; goto L13714;} else { header_603X = *((long *) (-7 + (*((long *) (9 + port_601X))))); if ((3 == (3 & header_603X))) { goto L13734;} else { goto L13734;}}}}} close_untraced_portsB_return: switch (close_untraced_portsB_return_tag) { case 0: goto close_untraced_portsB_return_0; case 1: goto close_untraced_portsB_return_1; }} close_port: { vm_port_623X = merged_arg1K0;{ if (((*((long *) (1 + vm_port_623X))) < 0)) { goto close_port_return;} else { index_608X = (((*((long *) (1 + vm_port_623X))))>>2); if ((0 == index_608X)) { goto close_port_return;} else { if ((1 == index_608X)) { goto close_port_return;} else { mode_607X = (((*((long *) (-3 + vm_port_623X))))>>2); port_606X = *((Sopen_portsS) + ((((*((long *) (1 + vm_port_623X))))>>2))); if ((1 == mode_607X)) { fclose(port_606X); goto L11193;} else { if ((2 == mode_607X)) { fclose(port_606X); goto L11193;} else { TTerror("this shouldn't happen when closing a port", 0, 0, 0, 0); goto L11193;}}}}}} L11193: { *((long *) (-3 + vm_port_623X)) = 0; *((long *) (1 + vm_port_623X)) = -4; *((Sopen_vm_portsS) + index_608X) = 1; goto close_port_return;} close_port_return: switch (close_port_return_tag) { case 0: goto close_port_return_0; case 1: goto close_port_return_1; }} write_number: { x_621X = merged_arg1K0; port_622X = merged_arg2K1;{ if ((x_621X < 0)) { putc(45, port_622X); arg1K0 = (0 - x_621X); goto L29338;} else { arg1K0 = x_621X; goto L29338;}} L29338: { v_609X = arg1K0; SvalS = RSvalS; SstackS = RSstackS; Scode_pointerS = RScode_pointerS; SenvS = RSenvS; really_write_number(v_609X, port_622X); RSvalS = SvalS; RSstackS = SstackS; RScode_pointerS = Scode_pointerS; RSenvS = SenvS; putc(10, port_622X); goto write_number_return;} write_number_return: switch (write_number_return_tag) { case 0: goto write_number_return_0; case 1: goto write_number_return_1; case 2: goto write_number_return_2; case 3: goto write_number_return_3; case 4: goto write_number_return_4; }} stob_equalP: { stob1_619X = merged_arg1K0; stob2_620X = merged_arg1K1;{ z2_611X = *((long *) (-7 + stob2_620X)); z1_610X = *((long *) (-7 + stob1_619X)); if (((128 | z1_610X) == (128 | z2_611X))) { arg1K0 = 0; goto L8355;} else { stob_equalP_return_value = 0; goto stob_equalP_return;}} L8355: { i_612X = arg1K0; if ((i_612X < ((((3 + ((long)(((unsigned long)z1_610X)>>8))))>>2)))) { if (((*((long *) ((-3 + stob1_619X) + (((i_612X)<<2))))) == (*((long *) ((-3 + stob2_620X) + (((i_612X)<<2))))))) { arg1K0 = (1 + i_612X); goto L8355;} else { stob_equalP_return_value = 0; goto stob_equalP_return;}} else { stob_equalP_return_value = 1; goto stob_equalP_return;}} stob_equalP_return: switch (stob_equalP_return_tag) { case 0: goto stob_equalP_return_0; case 1: goto stob_equalP_return_1; }} extract_string: { string_617X = merged_arg1K0;{ z_613X = -1 + ((long)(((unsigned long)(*((long *) (-7 + string_617X))))>>8)); v_614X = (unsigned char *)calloc( 1, 1 + z_613X); arg1K0 = 0; goto L10873;} L10873: { i_615X = arg1K0; if ((i_615X < z_613X)) { *(v_614X + i_615X) = (((long)(*((unsigned char *) ((-3 + string_617X) + i_615X))))); arg1K0 = (1 + i_615X); goto L10873;} else { extract_string_return_value = v_614X; goto extract_string_return;}} extract_string_return: switch (extract_string_return_tag) { case 0: goto extract_string_return_0; case 1: goto extract_string_return_1; case 2: goto extract_string_return_2; }} } long enter_string(unsigned char *string_677X) { extern long ShpS; long arg1K0; long new_678X; long len_679X; long z_680X; long s_681X; long i_682X; {z_680X = strlen(string_677X); len_679X = 1 + z_680X; *((long *) (ShpS)) = (62 + (((len_679X)<<8))); ShpS = (4 + (ShpS)); new_678X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_679X))); if ((0 < len_679X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_678X; goto L11945;} else { arg1K0 = new_678X; goto L11945;}} L11945: { s_681X = arg1K0; arg1K0 = 0; goto L11947;} L11947: { i_682X = arg1K0; if ((i_682X < z_680X)) { *((unsigned char *) ((-3 + s_681X) + i_682X)) = ((unsigned char)((long)((*(string_677X + i_682X))))); arg1K0 = (1 + i_682X); goto L11947;} else { return(s_681X);}}} long copy_weak_pointer(long weak_683X) { extern long ShpS; extern long Sweak_pointer_limitS; extern long Sweak_pointer_hpS; unsigned char tempWW552_684X; long old_685X; long new_686X; {tempWW552_684X = -1 == (Sweak_pointer_hpS); if (tempWW552_684X) { goto L8005;} else { if (((Sweak_pointer_hpS) < (Sweak_pointer_limitS))) { goto L8010;} else { goto L8005;}}} L8005: { old_685X = Sweak_pointer_hpS; Sweak_pointer_hpS = (ShpS); ShpS = (1024 + (ShpS)); Sweak_pointer_limitS = (ShpS); *((long *) (Sweak_pointer_hpS)) = 261186; *((long *) (8 + (Sweak_pointer_hpS))) = old_685X; goto L8010;} L8010: { new_686X = 7 + (Sweak_pointer_hpS); *((long *) (4 + (Sweak_pointer_hpS))) = (*((long *) (-3 + weak_683X))); Sweak_pointer_hpS = (8 + (Sweak_pointer_hpS)); *((long *) (-7 + weak_683X)) = new_686X; return(new_686X);}} void really_write_number(long x_687X, FILE * port_688X) { extern void really_write_number(long, FILE *); long v_689X; long v_690X; {if ((x_687X < 10)) { goto L29300;} else { v_689X = x_687X / 10; really_write_number(v_689X, port_688X); goto L29300;}} L29300: { v_690X = x_687X % 10; putc(((48 + v_690X)), port_688X); return;}} long read_number(FILE * port_691X) { long arg1K0; unsigned char arg4K1; unsigned char arg4K0; unsigned char ch_692X; long r_693X; unsigned char ch_694X; long r_695X; unsigned char Kchar_696X; unsigned char ch_697X; unsigned char Kchar_698X; unsigned char ch_699X; {goto L4913;} L4942: { ch_692X = arg4K0; arg1K0 = 0; arg4K1 = ch_692X; goto L4944;} L4944: { r_693X = arg1K0; ch_694X = arg4K1; r_695X = (-48 + ((long)(ch_694X))) + (10 * r_693X); { int TTchar; PS_GETC(port_691X, TTchar); if (EOF == TTchar) { return(r_695X);} else { unsigned char Kchar_696X = TTchar; ch_697X = Kchar_696X; if ((((long)ch_697X) < 48)) { return(r_695X);} else { if ((57 < ((long)ch_697X))) { return(r_695X);} else { arg1K0 = r_695X; arg4K1 = Kchar_696X; goto L4944;}}}}} L4913: { { int TTchar; PS_GETC(port_691X, TTchar); if (EOF == TTchar) { arg4K0 = -1; goto L4942;} else { unsigned char Kchar_698X = TTchar; ch_699X = Kchar_698X; if ((((long)ch_699X) < 48)) { goto L4913;} else { if ((57 < ((long)ch_699X))) { goto L4913;} else { arg4K0 = Kchar_698X; goto L4942;}}}}}} long call_startup_procedure(long startup_proc_700X, unsigned char **startup_vector_701X, long startup_vector_length_702X) { extern long Sbottom_of_stackS; extern long SenvS; extern long Sinterrupt_templateS; extern long StemplateS; extern long Sdynamic_stateS; extern long Sexception_handlerS; extern long Sinterrupt_handlersS; extern long Senabled_interruptsS; extern long Spending_interruptsS; extern long *Sopen_vm_portsS; extern long Scode_pointerS; extern long Tinterpret(); extern long SnargsS; extern long SvalS; extern long SstackS; extern long Sstack_beginS; extern long Sstack_limitS; extern unsigned char Sexception_space_usedPS; extern long enter_string(unsigned char*); extern long ShpS; long arg1K0; long new_703X; long len_704X; long tem_705X; long new_706X; long v_707X; unsigned char option_708X; long vector_709X; long i_710X; unsigned char x_711X; long val_712X; {len_704X = ((startup_vector_length_702X)<<2); *((long *) (ShpS)) = (10 + (((len_704X)<<8))); ShpS = (4 + (ShpS)); new_703X = 3 + (ShpS); ShpS = ((ShpS) + (-4 & (3 + len_704X))); if ((0 < len_704X)) { *((long *) (-4 + (ShpS))) = 0; arg1K0 = new_703X; goto L15473;} else { arg1K0 = new_703X; goto L15473;}} L12652: { SenvS = 13; tem_705X = Sinterrupt_templateS; StemplateS = tem_705X; Scode_pointerS = (-3 + (*((long *) (-3 + tem_705X)))); SnargsS = 0; SvalS = 13; Sdynamic_stateS = 25; Sexception_handlerS = 25; Sinterrupt_handlersS = 25; Senabled_interruptsS = 0; Spending_interruptsS = 0; *((long *) (SstackS)) = vector_709X; SstackS = (-4 + (SstackS)); *((long *) (SstackS)) = (*((Sopen_vm_portsS) + 0)); SstackS = (-4 + (SstackS)); *((long *) (SstackS)) = (*((Sopen_vm_portsS) + 1)); SstackS = (-4 + (SstackS)); *((long *) (ShpS)) = 578; ShpS = (4 + (ShpS)); new_706X = 3 + (ShpS); ShpS = (4 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((unsigned char *) (-3 + new_706X)) = 23; *((unsigned char *) (-2 + new_706X)) = 3; Scode_pointerS = (-3 + new_706X); SvalS = startup_proc_700X; goto L15407;} L12697: { Sstack_limitS = (296 + (Sstack_beginS)); Sexception_space_usedPS = 0; goto L12652;} L15407: { option_708X = TTrun_machine((long)Tinterpret); if ((0 == ((long)option_708X))) { return((SvalS));} else { if ((1 == ((long)option_708X))) { v_707X = ((long(*)())(*((long *) (-3 + (*((long *) (1 + (SvalS))))))))((SnargsS), (4 + (SstackS))); SvalS = v_707X; SstackS = ((SstackS) - ((((-1 - (SnargsS)))<<2))); goto L15407;} else { TTerror("unkown VM return option", 1, ((long)option_708X), 0, 0); return(-1);}}} L15473: { vector_709X = arg1K0; arg1K0 = 0; goto L15475;} L15475: { i_710X = arg1K0; if ((i_710X < startup_vector_length_702X)) { val_712X = enter_string((*(startup_vector_701X + i_710X))); *((long *) ((-3 + vector_709X) + (((i_710X)<<2)))) = val_712X; arg1K0 = (1 + i_710X); goto L15475;} else { SstackS = (-11 + (Sbottom_of_stackS)); *((long *) (-3 + (Sbottom_of_stackS))) = 1; if ((Sexception_space_usedPS)) { x_711X = (Sstack_limitS) < (-296 + (SstackS)); if (x_711X) { goto L12697;} else { TTerror("no space on stack to reserve exception space", 0, 0, 0, 0); goto L12697;}} else { goto L12652;}}}} void initialize_vm(long memory_begin_713X, long memory_size_714X, long stack_begin_715X, long stack_size_716X) { extern long Soldspace_beginS; extern long Soldspace_endS; extern long Snewspace_beginS; extern long Snewspace_endS; extern long SlimitS; extern long Snumber_of_portsS; extern FILE * Scurrent_input_portS; extern FILE * Scurrent_output_portS; extern FILE * *Sopen_portsS; extern long enter_string(unsigned char*); extern long ShpS; extern long Sstack_beginS; extern long Sstack_limitS; extern long Sstack_endS; extern long SstackS; extern long SenvS; extern long ScontS; extern long Sbottom_of_stackS; extern long Sinterrupt_templateS; extern long *Sopen_vm_portsS; long arg1K0; unsigned char merged_arg0K1; unsigned char merged_arg0K0; int make_template_containing_ops_return_tag; long make_template_containing_ops_return_value; long semisize_717X; unsigned char tempWW560_718X; long i_719X; long v_720X; long cont_721X; long template_722X; long new_723X; long d_724X; long new_725X; long d_726X; long *v_727X; long length_728X; long new_729X; long new_730X; long c_731X; unsigned char op1_732X; unsigned char op2_733X; {semisize_717X = (((-2 & memory_size_714X))<<1); Snewspace_beginS = memory_begin_713X; Snewspace_endS = ((Snewspace_beginS) + semisize_717X); Soldspace_beginS = (Snewspace_endS); Soldspace_endS = ((Soldspace_beginS) + semisize_717X); ShpS = (Snewspace_beginS); SlimitS = (Snewspace_endS); Sopen_portsS = ((FILE **)malloc(sizeof(FILE *) * (Snumber_of_portsS))); Sopen_vm_portsS = ((long*)malloc(sizeof(long) * (Snumber_of_portsS))); tempWW560_718X = NULL == (Sopen_portsS); if (tempWW560_718X) { goto L12952;} else { if ((NULL == (Sopen_vm_portsS))) { goto L12952;} else { goto L12957;}}} L12952: { TTerror("out of memory, unable to continue", 0, 0, 0, 0); goto L12957;} L13064: { i_719X = arg1K0; if ((i_719X < length_728X)) { *(v_727X + i_719X) = 1; arg1K0 = (1 + i_719X); goto L13064;} else { *((Sopen_portsS) + 0) = (Scurrent_input_portS); *((Sopen_portsS) + 1) = (Scurrent_output_portS); d_726X = enter_string("so"); *((long *) (ShpS)) = 4118; ShpS = (4 + (ShpS)); new_725X = 3 + (ShpS); ShpS = (16 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_725X)) = 8; *((long *) (1 + new_725X)) = 4; *((long *) (5 + new_725X)) = 1; *((long *) (9 + new_725X)) = d_726X; d_724X = enter_string("si"); *((long *) (ShpS)) = 4118; ShpS = (4 + (ShpS)); new_723X = 3 + (ShpS); ShpS = (16 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_723X)) = 4; *((long *) (1 + new_723X)) = 0; *((long *) (5 + new_723X)) = 1; *((long *) (9 + new_723X)) = d_724X; *((Sopen_vm_portsS) + 0) = new_723X; *((Sopen_vm_portsS) + 1) = new_725X; Sstack_beginS = stack_begin_715X; Sstack_endS = (stack_begin_715X + (((stack_size_716X)<<2))); Sstack_limitS = (Sstack_beginS); SstackS = (-4 + (Sstack_endS)); ScontS = 1; SenvS = 17; merged_arg0K0 = 22; merged_arg0K1 = 28; make_template_containing_ops_return_tag = 0; goto make_template_containing_ops; make_template_containing_ops_return_0: template_722X = make_template_containing_ops_return_value; SstackS = (-20 + (SstackS)); *((long *) (4 + (SstackS))) = 4258; cont_721X = 11 + (SstackS); *((long *) (1 + cont_721X)) = 0; *((long *) (5 + cont_721X)) = template_722X; *((long *) (9 + cont_721X)) = (SenvS); *((long *) (-3 + cont_721X)) = (ScontS); ScontS = cont_721X; Sbottom_of_stackS = (ScontS); merged_arg0K0 = 31; merged_arg0K1 = 127; make_template_containing_ops_return_tag = 1; goto make_template_containing_ops; make_template_containing_ops_return_1: v_720X = make_template_containing_ops_return_value; Sinterrupt_templateS = v_720X; return;}} L12957: { v_727X = Sopen_vm_portsS; length_728X = Snumber_of_portsS; arg1K0 = 0; goto L13064;} make_template_containing_ops: { op1_732X = merged_arg0K0; op2_733X = merged_arg0K1;{ *((long *) (ShpS)) = 578; ShpS = (4 + (ShpS)); new_729X = 3 + (ShpS); ShpS = (4 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (ShpS)) = 2090; ShpS = (4 + (ShpS)); new_730X = 3 + (ShpS); ShpS = (8 + (ShpS)); *((long *) (-4 + (ShpS))) = 0; *((long *) (-3 + new_730X)) = new_729X; *((unsigned char *) (-3 + new_729X)) = ((unsigned char)((long)op1_732X)); *((unsigned char *) (-2 + new_729X)) = ((unsigned char)((long)op2_733X)); make_template_containing_ops_return_value = new_730X; goto make_template_containing_ops_return;} make_template_containing_ops_return: switch (make_template_containing_ops_return_tag) { case 0: goto make_template_containing_ops_return_0; case 1: goto make_template_containing_ops_return_1; }} } long required_init_space(unsigned char **startup_vector_734X, long startup_vector_length_735X) { long arg1K1; long arg1K0; long i_736X; long s_737X; {arg1K0 = 0; arg1K1 = 0; goto L5373;} L5373: { i_736X = arg1K0; s_737X = arg1K1; if ((i_736X < startup_vector_length_735X)) { arg1K0 = (1 + i_736X); arg1K1 = (1 + (s_737X + ((((4 + (strlen((*(startup_vector_734X + i_736X))))))>>2)))); goto L5373;} else { return((22 + s_737X));}}} void note_interruptB(unsigned char interrupt_738X) { extern long Spending_interruptsS; long x_739X; {PS_SHIFT_LEFT(1, ((long)interrupt_738X), x_739X) Spending_interruptsS = ((Spending_interruptsS) | x_739X); return;}} void do_gc() { extern long Sweak_pointer_hpS; extern long Sweak_pointer_limitS; extern long SlimitS; extern long ShpS; extern long Soldspace_beginS; extern long Soldspace_endS; extern long copy_weak_pointer(long); extern long Snewspace_beginS; long arg1K1; long arg1K0; long RShpS = ShpS; long value_740X; long scan_741X; long value_742X; long a_743X; long h_744X; long start_745X; long end_746X; long next_747X; long value_748X; long o_749X; long new_750X; long x1_751X; long v_752X; long descriptor_753X; long a_754X; long h_755X; long a_756X; long end_757X; long x1_758X; long addr_759X; long next_760X; long thing_761X; long start_762X; long end_763X; {arg1K0 = (Snewspace_beginS); goto L13830;} L7761: { arg1K0 = (8 + scan_741X); goto L7716;} L7756: { value_740X = arg1K0; *((long *) (4 + scan_741X)) = value_740X; goto L7761;} L7716: { scan_741X = arg1K0; if ((scan_741X < end_746X)) { *((long *) scan_741X) = 1070; value_742X = *((long *) (4 + scan_741X)); if ((3 == (3 & value_742X))) { a_743X = -3 + value_742X; if ((a_743X < (Soldspace_beginS))) { goto L7761;} else { if ((a_743X < (Soldspace_endS))) { if ((3 == (3 & value_742X))) { h_744X = *((long *) (-7 + value_742X)); if ((3 == (3 & h_744X))) { arg1K0 = h_744X; goto L7756;} else { arg1K0 = 1; goto L7756;}} else { goto L7761;}} else { goto L7761;}}} else { goto L7761;}} else { if ((-1 == next_747X)) { if ((end_757X < (Sweak_pointer_limitS))) { *((long *) end_757X) = (66 + ((((-4 & (-4 + ((Sweak_pointer_limitS) - end_757X))))<<8))); ShpS = RShpS; return;} else { ShpS = RShpS; return;}} else { arg1K0 = (-1024 + next_747X); arg1K1 = next_747X; goto L11112;}}} L11112: { start_745X = arg1K0; end_746X = arg1K1; next_747X = *((long *) (8 + start_745X)); arg1K0 = start_745X; goto L7716;} L31642: { value_748X = arg1K0; *((long *) addr_759X) = value_748X; arg1K0 = next_760X; goto L13896;} L31695: { o_749X = arg1K0; if (((RShpS) < (x1_751X + (-4 & (3 + ((long)(((unsigned long)h_755X)>>8))))))) { *((long *) (RShpS)) = (*((long *) o_749X)); RShpS = (4 + (RShpS)); arg1K0 = (4 + o_749X); goto L31695;} else { arg1K0 = new_750X; goto L31642;}} L31679: { *((long *) (RShpS)) = h_755X; RShpS = (4 + (RShpS)); new_750X = 3 + (RShpS); *((long *) (-7 + thing_761X)) = new_750X; x1_751X = RShpS; arg1K0 = (-3 + thing_761X); goto L31695;} L31634: { if ((3 == (3 & thing_761X))) { a_754X = -3 + thing_761X; if ((a_754X < (Soldspace_beginS))) { arg1K0 = next_760X; goto L13896;} else { if ((a_754X < (Soldspace_endS))) { h_755X = *((long *) (-7 + thing_761X)); if ((3 == (3 & h_755X))) { arg1K0 = h_755X; goto L31642;} else { if ((1070 == h_755X)) { descriptor_753X = *((long *) (-3 + thing_761X)); if ((3 == (3 & descriptor_753X))) { a_756X = -3 + descriptor_753X; if ((a_756X < (Soldspace_beginS))) { goto L31679;} else { if ((a_756X < (Soldspace_endS))) { ShpS = RShpS; v_752X = copy_weak_pointer(thing_761X); RShpS = ShpS; arg1K0 = v_752X; goto L31642;} else { goto L31679;}}} else { goto L31679;}} else { goto L31679;}}} else { arg1K0 = next_760X; goto L13896;}}} else { arg1K0 = next_760X; goto L13896;}} L13856: { if ((-1 == (Sweak_pointer_hpS))) { ShpS = RShpS; return;} else { x1_758X = Sweak_pointer_limitS; end_757X = Sweak_pointer_hpS; arg1K0 = (-1024 + x1_758X); arg1K1 = end_757X; goto L11112;}} L13896: { addr_759X = arg1K0; if ((addr_759X < end_763X)) { next_760X = 4 + addr_759X; thing_761X = *((long *) addr_759X); if ((2 == (3 & thing_761X))) { if (((31 & (((thing_761X)>>2))) < 15)) { goto L31634;} else { arg1K0 = (next_760X + (-4 & (3 + ((long)(((unsigned long)thing_761X)>>8))))); goto L13896;}} else { goto L31634;}} else { if (((RShpS) < (SlimitS))) { if ((end_763X < (RShpS))) { arg1K0 = end_763X; goto L13830;} else { goto L13856;}} else { TTerror("GC error: ran out of space in new heap", 0, 0, 0, 0); goto L13856;}}} L13830: { start_762X = arg1K0; end_763X = RShpS; arg1K0 = start_762X; goto L13896;}} long read_image(unsigned char *filename_764X, long startup_space_765X) { extern long read_number(FILE *); extern long Snewspace_endS; extern FILE * Scurrent_output_portS; extern long ShpS; long arg1K0; unsigned char arg3K0; FILE * port_766X; unsigned char reverseP_767X; long v_768X; long ptr_769X; long value_770X; unsigned char x_771X; unsigned char x_772X; long d_773X; long v_774X; long ptr_775X; long descriptor_776X; long result_777X; long old_level_778X; long old_bytes_per_cell_779X; long cells_780X; long old_begin_781X; long cells_782X; long old_hp_783X; long startup_proc_784X; unsigned char Kchar_785X; unsigned char Kchar_786X; long addr_787X; unsigned char x_788X; unsigned char x_789X; long start_790X; long new_limit_791X; long new_hp_792X; long delta_793X; {port_766X = ps_open(filename_764X, "rb"); if ((NULL == port_766X)) { TTerror("Can't open heap image file", 0, 0, 0, 0); goto L10206;} else { goto L10206;}} L10266: { reverseP_767X = arg3K0; fread((void *)(ShpS), sizeof(char), (old_hp_783X - old_begin_781X), port_766X); if (reverseP_767X) { fputs("Correcting byte order of resumed image.", (Scurrent_output_portS)); putc(10, (Scurrent_output_portS)); arg1K0 = start_790X; goto L8611;} else { goto L10276;}} L8637: { v_768X = arg1K0; arg1K0 = v_768X; goto L8611;} L8611: { ptr_769X = arg1K0; x_772X = *((unsigned char *) ptr_769X); *((unsigned char *) ptr_769X) = ((unsigned char)((long)(*((unsigned char *) (3 + ptr_769X))))); *((unsigned char *) (3 + ptr_769X)) = ((unsigned char)((long)x_772X)); x_771X = *((unsigned char *) (1 + ptr_769X)); *((unsigned char *) (1 + ptr_769X)) = ((unsigned char)((long)(*((unsigned char *) (2 + ptr_769X))))); *((unsigned char *) (2 + ptr_769X)) = ((unsigned char)((long)x_771X)); value_770X = *((long *) ptr_769X); if ((ptr_769X < new_hp_792X)) { if ((2 == (3 & value_770X))) { if (((31 & (((value_770X)>>2))) < 15)) { arg1K0 = (4 + ptr_769X); goto L8637;} else { arg1K0 = ((4 + ptr_769X) + (-4 & (3 + ((long)(((unsigned long)value_770X)>>8))))); goto L8637;}} else { arg1K0 = (4 + ptr_769X); goto L8637;}} else { goto L10276;}} L8736: { d_773X = arg1K0; *((long *) ptr_775X) = d_773X; if ((2 == (3 & d_773X))) { if (((31 & (((d_773X)>>2))) < 15)) { arg1K0 = (4 + ptr_775X); goto L8754;} else { arg1K0 = ((4 + ptr_775X) + (-4 & (3 + ((long)(((unsigned long)d_773X)>>8))))); goto L8754;}} else { arg1K0 = (4 + ptr_775X); goto L8754;}} L8754: { v_774X = arg1K0; arg1K0 = v_774X; goto L8726;} L8726: { ptr_775X = arg1K0; if ((ptr_775X < new_hp_792X)) { descriptor_776X = *((long *) ptr_775X); if ((3 == (3 & descriptor_776X))) { arg1K0 = (3 + ((-3 + descriptor_776X) + delta_793X)); goto L8736;} else { arg1K0 = descriptor_776X; goto L8736;}} else { goto L10286;}} L10456: { result_777X = arg1K0; fclose(port_766X); return(result_777X);} L10208: { old_level_778X = read_number(port_766X); old_bytes_per_cell_779X = read_number(port_766X); cells_780X = read_number(port_766X); old_begin_781X = ((cells_780X)<<2); cells_782X = read_number(port_766X); old_hp_783X = ((cells_782X)<<2); startup_proc_784X = read_number(port_766X); goto L10407;} L10432: { { int TTchar; PS_GETC(port_766X, TTchar); if (EOF == TTchar) { TTerror("end of file while looking for page break", 0, 0, 0, 0); goto L10208;} else { unsigned char Kchar_785X = TTchar; if ((12 == ((long)Kchar_785X))) { goto L10208;} else { goto L10432;}}}} L10229: { if ((15 == old_level_778X)) { goto L10239;} else { TTerror("format of image is incompatible with this version of system", 2, old_level_778X, 15, 0); goto L10239;}} L10407: { { int TTchar; PS_GETC(port_766X, TTchar); if (EOF == TTchar) { TTerror("end of file while looking for page break", 0, 0, 0, 0); goto L10229;} else { unsigned char Kchar_786X = TTchar; if ((12 == ((long)Kchar_786X))) { goto L10229;} else { goto L10407;}}}} L10286: { ShpS = new_hp_792X; if ((3 == (3 & startup_proc_784X))) { arg1K0 = (3 + ((-3 + startup_proc_784X) + delta_793X)); goto L10456;} else { arg1K0 = startup_proc_784X; goto L10456;}} L10276: { if ((0 == delta_793X)) { goto L10286;} else { arg1K0 = start_790X; goto L8726;}} L10263: { fread((void *)(ShpS), sizeof(char), 4, port_766X); if ((1 == (*((long *) (ShpS))))) { arg3K0 = 0; goto L10266;} else { addr_787X = ShpS; x_788X = *((unsigned char *) addr_787X); *((unsigned char *) addr_787X) = ((unsigned char)((long)(*((unsigned char *) (3 + addr_787X))))); *((unsigned char *) (3 + addr_787X)) = ((unsigned char)((long)x_788X)); x_789X = *((unsigned char *) (1 + addr_787X)); *((unsigned char *) (1 + addr_787X)) = ((unsigned char)((long)(*((unsigned char *) (2 + addr_787X))))); *((unsigned char *) (2 + addr_787X)) = ((unsigned char)((long)x_789X)); if ((1 == (*((long *) (ShpS))))) { arg3K0 = 1; goto L10266;} else { TTerror("unable to correct byte order", 1, (*((long *) (ShpS))), 0, 0); arg3K0 = 0; goto L10266;}}} L10249: { delta_793X = (ShpS) - old_begin_781X; new_hp_792X = old_hp_783X + delta_793X; new_limit_791X = Snewspace_endS; start_790X = ShpS; if (((startup_space_765X + new_hp_792X) < new_limit_791X)) { goto L10263;} else { TTerror("heap not big enough to restore this image", 2, new_hp_792X, new_limit_791X, 0); goto L10263;}} L10239: { if ((4 == old_bytes_per_cell_779X)) { goto L10249;} else { TTerror("incompatible bytes-per-cell", 2, old_bytes_per_cell_779X, 4, 0); goto L10249;}} L10206: { goto L10432;}} long check_image_header(unsigned char *filename_794X) { extern long read_number(FILE *); extern FILE * Scurrent_output_portS; long arg1K0; FILE * port_795X; FILE * out_796X; long result_797X; FILE * out_798X; long old_level_799X; long old_bytes_per_cell_800X; long cells_801X; long cells_802X; FILE * out_803X; unsigned char Kchar_804X; {port_795X = ps_open(filename_794X, "rb"); if ((NULL == port_795X)) { out_796X = Scurrent_output_portS; fputs("Can't open heap image file", out_796X); putc(10, out_796X); arg1K0 = -1; goto L6547;} else { goto L6503;}} L6547: { result_797X = arg1K0; fclose(port_795X); return(result_797X);} L6409: { old_level_799X = read_number(port_795X); old_bytes_per_cell_800X = read_number(port_795X); cells_801X = read_number(port_795X); cells_802X = read_number(port_795X); if ((15 == old_level_799X)) { if ((4 == old_bytes_per_cell_800X)) { arg1K0 = ((((cells_802X)<<2)) - (((cells_801X)<<2))); goto L6547;} else { out_798X = Scurrent_output_portS; fputs("incompatible bytes-per-cell in image", out_798X); putc(10, out_798X); arg1K0 = -1; goto L6547;}} else { out_803X = Scurrent_output_portS; fputs("format of image is incompatible with this version of system", out_803X); putc(10, out_803X); arg1K0 = -1; goto L6547;}} L6503: { { int TTchar; PS_GETC(port_795X, TTchar); if (EOF == TTchar) { TTerror("end of file while looking for page break", 0, 0, 0, 0); goto L6409;} else { unsigned char Kchar_804X = TTchar; if ((12 == ((long)Kchar_804X))) { goto L6409;} else { goto L6503;}}}}} void register_static_areas(unsigned char pure_count_805X, long *pure_areas_806X, long *pure_sizes_807X, unsigned char impure_count_808X, long *impure_areas_809X, long *impure_sizes_810X) { extern unsigned char Spure_area_countS; extern long *Spure_areasS; extern long *Spure_sizesS; extern unsigned char Simpure_area_countS; extern long *Simpure_areasS; extern long *Simpure_sizesS; {Spure_area_countS = pure_count_805X; Spure_areasS = pure_areas_806X; Spure_sizesS = pure_sizes_807X; Simpure_area_countS = impure_count_808X; Simpure_areasS = impure_areas_809X; Simpure_sizesS = impure_sizes_810X; return;}} scheme48_init() { Sminimum_recovered_spaceS = 0; Sexception_space_usedPS = 1; Snumber_of_portsS = 100; Sweak_pointer_limitS = 0; Sweak_pointer_hpS = -1; Ssaved_limitS = 0; Ssaved_hpS = 0; Sgc_countS = 0; Simpure_area_countS = 0; Spure_area_countS = 0; SlimitS = 0; ShpS = 0; Scurrent_output_portS = stdout; Scurrent_input_portS = stdin; }