#include #include "prescheme.h" #include "scheme48vm-prelude.h" static char add_more_channels(long); static void enqueue_channelB(long, long); static long close_channelB(long); static void push_continuationB(char *, long); static long enter_string(char*, long); static char HcleanerB2170(long); static void push_exception_continuationB(long, long); static long make_registered_channel(long, long, long, long, long*); static long channel_close_error(long, long, long); static void HtopD8911(void); static long Hlookup2112(long, long, long); static long Hlookup2093(long, long, long); static void HtopD8904(void); static long collect_saving_temps(long, long, long*); void s48_set_extension_valueB(long); void s48_note_event(void); void s48_set_os_signal(long, long); long s48_exported_bindings(void); char * s48_set_gc_roots_baseB(void); char s48_release_gc_roots_baseB(char *); void s48_disable_interruptsB(void); void s48_push_gc_rootsB(char *, long); void s48_register_gc_rootB(char *); void s48_stack_setB(long, long); long s48_stack_ref(long); void s48_push(long); long s48_resetup_external_exception(long, long); void s48_enable_interruptsB(void); char s48_pop_gc_rootsB(void); void s48_mark_traced_channels_closedB(void); long s48_set_channel_os_index(long, long); long s48_cleaned_imported_bindings(void); long s48_copy_symbol_table(void); void s48_setup_external_exception(long, long); void s48_close_channel(long); char s48_warn_about_undefined_imported_bindings(void); void s48_define_exported_binding(char*, long); long s48_add_channel(long, long, long); long s48_get_imported_binding(char*); long s48_allocate_stob(long, long); void s48_initialize_vm(char *, long); long s48_restart(long, long); long s48_call_startup_procedure(char**, long); static long Snumber_of_channelsS; static long *Svm_channelsS; static long Spending_channels_headS; static long Spending_channels_tailS; static char * Sstack_beginS; static char * Sstack_endS; static char * SstackS; static char * Sstack_limitS; static long ScontS; static long Sbottom_of_stackS; static char Sstack_warningPS; static long SenvS; static long StemplateS; static char * Scode_pointerS; static long SvalS; static long Sexception_handlersS; static long Sinterrupt_handlersS; static long Scurrent_threadS; static long Ssession_dataS; static long Sfinalizer_alistS; static long Sfinalize_theseS; static long Senabled_interruptsS; static long Spending_interruptsS; static long Sinterrupted_templateS; static long Sinterrupt_templateS; static long Sexception_templateS; static long Ssaved_pcS; static long Slosing_opcodeS; static long Sos_signal_typeS; static long Sos_signal_argumentS; static char Sexternal_exceptionPS; static long Sexternal_exception_nargsS; static long Simported_bindingsS; static long Sexported_bindingsS; static long Sthe_symbol_tableS; static char * Sexternal_root_stackS; static char * Sexternal_root_stack_baseS; static char * Spermanent_external_rootsS; static void (*Sgc_root_procS)(void); static void (*Spost_gc_cleanupS)(void); char s48_Spending_interruptPS; long s48_Sextension_valueS; long s48_Scallback_return_stack_blockS; char s48_Spending_eventsPS; static char add_more_channels(long index_5X) { long arg0K0; long i_11X; long i_10X; long *new_vm_channels_9X; long new_count_8X; long y_7X; long x_6X; { x_6X = 1 + index_5X; y_7X = 8 + (Snumber_of_channelsS); if ((x_6X < y_7X)) { arg0K0 = y_7X; goto L2377;} else { arg0K0 = x_6X; goto L2377;}} L2377: { new_count_8X = arg0K0; new_vm_channels_9X = (long*)malloc(sizeof(long) * new_count_8X); if ((NULL == new_vm_channels_9X)) { return 0;} else { arg0K0 = 0; goto L2389;}} L2389: { i_10X = arg0K0; if ((i_10X == (Snumber_of_channelsS))) { arg0K0 = (Snumber_of_channelsS); goto L2404;} else { *(new_vm_channels_9X + i_10X) = (*((Svm_channelsS) + i_10X)); arg0K0 = (1 + i_10X); goto L2389;}} L2404: { i_11X = arg0K0; if ((i_11X == new_count_8X)) { free((Svm_channelsS)); Svm_channelsS = new_vm_channels_9X; Snumber_of_channelsS = new_count_8X; return 1;} else { *(new_vm_channels_9X + i_11X) = 1; arg0K0 = (1 + i_11X); goto L2404;}} } static void enqueue_channelB(long index_12X, long status_13X) { char * addr_18X; long x_17X; char * addr_16X; long val_15X; long channel_14X; { channel_14X = *((Svm_channelsS) + index_12X); val_15X = ((status_13X)<<2); addr_16X = (((char *) (-3 + channel_14X))) + 16; S48_WRITE_BARRIER(channel_14X, addr_16X, val_15X); *((long *) addr_16X) = val_15X; if ((1 == (*((long *) ((((char *) (-3 + channel_14X))) + 12))))) { if ((1 == (Spending_channels_headS))) { Spending_channels_headS = channel_14X; Spending_channels_tailS = channel_14X; return;} else { x_17X = Spending_channels_tailS; addr_18X = (((char *) (-3 + x_17X))) + 12; S48_WRITE_BARRIER(x_17X, addr_18X, channel_14X); *((long *) addr_18X) = channel_14X; Spending_channels_tailS = channel_14X; return;}} else { return;}} } static long close_channelB(long channel_19X) { long arg0K0; char * addr_27X; long status_26X; long v_25X; long v_24X; long v_23X; long v_22X; long x_21X; long os_index_20X; { os_index_20X = (((*((long *) ((((char *) (-3 + channel_19X))) + 8))))>>2); x_21X = *((long *) ((((char *) (-3 + channel_19X))) + 16)); if ((5 == x_21X)) { v_22X = ps_abort_fd_op(os_index_20X); enqueue_channelB(os_index_20X, v_22X); goto L8008;} else { goto L8008;}} L8008: { v_23X = *((long *) (((char *) (-3 + channel_19X)))); if ((4 == v_23X)) { goto L8023;} else { if ((12 == (*((long *) (((char *) (-3 + channel_19X))))))) { goto L8023;} else { v_24X = ps_close_fd(os_index_20X); arg0K0 = v_24X; goto L8030;}}} L8023: { v_25X = ps_close_fd(os_index_20X); arg0K0 = v_25X; goto L8030;} L8030: { status_26X = arg0K0; *((Svm_channelsS) + os_index_20X) = 1; addr_27X = ((char *) (-3 + channel_19X)); S48_WRITE_BARRIER(channel_19X, addr_27X, 0); *((long *) addr_27X) = 0; return status_26X;} } static void push_continuationB(char * code_pointer_28X, long size_29X) { long cont_32X; long template_31X; long pc_30X; { pc_30X = (((code_pointer_28X - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2); template_31X = StemplateS; SstackS = ((SstackS) + -20); *((long *) ((SstackS) + 4)) = (128 | (4134 + (((size_29X)<<10)))); cont_32X = 3 + (((long) ((SstackS) + 8))); *((long *) ((((char *) (-3 + cont_32X))) + 4)) = pc_30X; *((long *) ((((char *) (-3 + cont_32X))) + 8)) = template_31X; *((long *) ((((char *) (-3 + cont_32X))) + 12)) = (SenvS); *((long *) (((char *) (-3 + cont_32X)))) = (ScontS); ScontS = cont_32X; return;} } static long enter_string(char *string_33X, long key_34X) { long arg0K0; long i_39X; long string_38X; char * addr_37X; long len_36X; long z_35X; { z_35X = strlen((char *) string_33X); len_36X = 1 + z_35X; addr_37X = ALLOCATE_SPACE(16, (4 + len_36X)); *((long *) addr_37X) = (66 + (((len_36X)<<8))); string_38X = 3 + (((long) (addr_37X + 4))); *((unsigned char *) ((((char *) (-3 + string_38X))) + z_35X)) = 0; arg0K0 = 0; goto L9538;} L9538: { i_39X = arg0K0; if ((i_39X < z_35X)) { *((unsigned char *) ((((char *) (-3 + string_38X))) + i_39X)) = ((*(string_33X + i_39X))); arg0K0 = (1 + i_39X); goto L9538;} else { return string_38X;}} } static char HcleanerB2170(long table_40X) { long arg0K1; long arg0K0; long v_51X; char * addr_50X; long new_foo_49X; char v_48X; char * addr_47X; long okay_46X; long foo_45X; long foo_44X; char temp_43X; long i_42X; long table_41X; { table_41X = s48_trace_value(table_40X); arg0K0 = 0; goto L9728;} L9728: { i_42X = arg0K0; temp_43X = 1024 == i_42X; if (temp_43X) { return temp_43X;} else { foo_44X = *((long *) ((((char *) (-3 + table_41X))) + (((i_42X)<<2)))); arg0K0 = foo_44X; arg0K1 = 1; goto L9748;}} L9748: { foo_45X = arg0K0; okay_46X = arg0K1; if ((1 == foo_45X)) { addr_47X = (((char *) (-3 + table_41X))) + (((i_42X)<<2)); S48_WRITE_BARRIER(table_41X, addr_47X, okay_46X); *((long *) addr_47X) = okay_46X; arg0K0 = (1 + i_42X); goto L9728;} else { v_48X = s48_extantP(foo_45X); if (v_48X) { new_foo_49X = s48_trace_value(foo_45X); addr_50X = (((char *) (-3 + new_foo_49X))) + 4; S48_WRITE_BARRIER(new_foo_49X, addr_50X, okay_46X); *((long *) addr_50X) = okay_46X; arg0K0 = new_foo_49X; goto L9753;} else { arg0K0 = okay_46X; goto L9753;}}} L9753: { v_51X = arg0K0; arg0K0 = (*((long *) ((((char *) (-3 + foo_45X))) + 4))); arg0K1 = v_51X; goto L9748;} } static void push_exception_continuationB(long exception_52X, long instruction_size_53X) { char * arg1K0; long arg0K1; long arg0K0; long v_58X; long i_57X; char * p_56X; long tem_55X; long opcode_54X; { opcode_54X = *((unsigned char *) (Scode_pointerS)); *((long *) (SstackS)) = (((instruction_size_53X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((exception_52X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (StemplateS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2)); SstackS = ((SstackS) + -4); tem_55X = Sexception_templateS; StemplateS = tem_55X; Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_55X)))))))); arg1K0 = ((SstackS) + 4); arg0K1 = 0; goto L9961;} L9961: { p_56X = arg1K0; i_57X = arg0K1; if ((2 == (3 & (*((long *) p_56X))))) { if ((22 == (*((long *) p_56X)))) { arg0K0 = (-1 + i_57X); goto L9902;} else { arg0K0 = i_57X; goto L9902;}} else { arg1K0 = (p_56X + 4); arg0K1 = (1 + i_57X); goto L9961;}} L9902: { v_58X = arg0K0; push_continuationB((Scode_pointerS), v_58X); *((long *) (SstackS)) = (((opcode_54X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((exception_52X)<<2)); SstackS = ((SstackS) + -4); return;} } static long make_registered_channel(long mode_59X, long id_60X, long os_index_61X, long key_62X, long *TT0) { long x_66X; char * addr_65X; char x_64X; char temp_63X; { temp_63X = os_index_61X < (Snumber_of_channelsS); if (temp_63X) { goto L10829;} else { x_64X = add_more_channels(os_index_61X); if (x_64X) { goto L10829;} else { *TT0 = 9; return 1;}}} L10829: { if ((1 == (*((Svm_channelsS) + os_index_61X)))) { addr_65X = ALLOCATE_SPACE(5, 24); *((long *) addr_65X) = 5142; x_66X = 3 + (((long) (addr_65X + 4))); *((long *) (((char *) (-3 + x_66X)))) = (((mode_59X)<<2)); *((long *) ((((char *) (-3 + x_66X))) + 4)) = id_60X; *((long *) ((((char *) (-3 + x_66X))) + 8)) = (((os_index_61X)<<2)); *((long *) ((((char *) (-3 + x_66X))) + 12)) = 1; *((long *) ((((char *) (-3 + x_66X))) + 16)) = 1; *((Svm_channelsS) + os_index_61X) = x_66X; *TT0 = 9; return x_66X;} else { *TT0 = 11; return 1;}} } static long channel_close_error(long status_67X, long index_68X, long id_69X) { long v_70X; { ps_write_string("Error: ", (stderr)); ps_write_string((ps_error_string(status_67X)), (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } ps_write_string(" while closing port ", (stderr)); if ((3 == (3 & id_69X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + id_69X))) + -4))))>>2))))) { ps_write_string((((char *)(((char *) (-3 + id_69X))))), (stderr)); goto L11475;} else { goto L11469;}} else { goto L11469;}} L11475: { PS_WRITE_CHAR(10, (stderr), v_70X) return v_70X;} L11469: { ps_write_integer((((index_68X)>>2)), (stderr)); goto L11475;} } static void HtopD8911(void) { char * arg1K0; long arg0K1; long arg0K0; long env_113X; long env_112X; long last_env_111X; long cont_110X; long env_109X; long v_108X; long env_107X; long p_106X; long arg_count_105X; long i_104X; char * p_103X; char * addr_102X; long val_101X; long unused_100X; char * a_99X; char x_98X; long pair_97X; long v_96X; long v_95X; long env_94X; long alist_93X; long x2_92X; char * cell_91X; long i_90X; long x2_89X; char * cell_88X; long v_87X; long v_86X; long v_85X; long v_84X; long v_83X; long v_82X; long v_81X; long v_80X; long v_79X; long v_78X; long v_77X; long v_76X; long v_75X; long v_74X; char * frame_73X; long length_72X; char * frame_71X; { arg1K0 = (Sexternal_root_stackS); goto L6267;} L6267: { frame_71X = arg1K0; if ((frame_71X == NULL)) { arg1K0 = (Spermanent_external_rootsS); goto L6293;} else { length_72X = *((long *) frame_71X); arg0K0 = 0; goto L6275;}} L6293: { frame_73X = arg1K0; if ((frame_73X == NULL)) { s48_initializing_gc_root(); v_74X = s48_trace_value((Simported_bindingsS)); Simported_bindingsS = v_74X; v_75X = s48_trace_value((Sexported_bindingsS)); Sexported_bindingsS = v_75X; Ssaved_pcS = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2)); v_76X = s48_trace_value((StemplateS)); StemplateS = v_76X; v_77X = s48_trace_value((SvalS)); SvalS = v_77X; v_78X = s48_trace_value((Scurrent_threadS)); Scurrent_threadS = v_78X; v_79X = s48_trace_value((Ssession_dataS)); Ssession_dataS = v_79X; v_80X = s48_trace_value((Sexception_handlersS)); Sexception_handlersS = v_80X; v_81X = s48_trace_value((Sexception_templateS)); Sexception_templateS = v_81X; v_82X = s48_trace_value((Sinterrupt_handlersS)); Sinterrupt_handlersS = v_82X; v_83X = s48_trace_value((Sinterrupt_templateS)); Sinterrupt_templateS = v_83X; v_84X = s48_trace_value((Sinterrupted_templateS)); Sinterrupted_templateS = v_84X; v_85X = s48_trace_value((Sfinalize_theseS)); Sfinalize_theseS = v_85X; v_86X = s48_trace_value((Sos_signal_typeS)); Sos_signal_typeS = v_86X; v_87X = s48_trace_value((Sos_signal_argumentS)); Sos_signal_argumentS = v_87X; arg0K0 = (Sfinalizer_alistS); goto L5301;} else { cell_88X = ((char *) (*((long *) (frame_73X + 4)))); x2_89X = s48_trace_value((*((long *) cell_88X))); *((long *) cell_88X) = x2_89X; arg1K0 = (((char *) (*((long *) frame_73X)))); goto L6293;}} L6275: { i_90X = arg0K0; if ((i_90X == length_72X)) { arg1K0 = (((char *) (*((long *) (frame_71X + 4))))); goto L6267;} else { cell_91X = ((char *) (*((long *) (frame_71X + (8 + (((i_90X)<<2))))))); x2_92X = s48_trace_value((*((long *) cell_91X))); *((long *) cell_91X) = x2_92X; arg0K0 = (1 + i_90X); goto L6275;}} L5301: { alist_93X = arg0K0; if ((25 == alist_93X)) { env_94X = s48_trace_value((SenvS)); SenvS = env_94X; v_95X = s48_trace_value((Spending_channels_headS)); Spending_channels_headS = v_95X; v_96X = s48_trace_value((Spending_channels_tailS)); Spending_channels_tailS = v_96X; if ((Sstack_warningPS)) { arg1K0 = (Sstack_beginS); goto L5895;} else { goto L5928;}} else { pair_97X = *((long *) (((char *) (-3 + alist_93X)))); x_98X = s48_extantP((*((long *) (((char *) (-3 + pair_97X)))))); if (x_98X) { goto L5326;} else { s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_97X)))))); goto L5326;}}} L5895: { a_99X = arg1K0; if ((252645135 == (*((long *) a_99X)))) { arg1K0 = (a_99X + 4); goto L5895;} else { unused_100X = (((a_99X - (Sstack_beginS)))>>2); if ((unused_100X < 30)) { { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } ps_write_string("[Alert: stack overconsumption (", (stderr)); ps_write_integer(unused_100X, (stderr)); ps_write_string("); please inform the Scheme 48 implementors]", (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } Sstack_warningPS = 0; goto L5928;} else { goto L5928;}}} L5928: { arg1K0 = ((SstackS) + 4); arg0K1 = 0; goto L5993;} L5326: { val_101X = s48_trace_value((*((long *) ((((char *) (-3 + pair_97X))) + 4)))); addr_102X = (((char *) (-3 + pair_97X))) + 4; S48_WRITE_BARRIER(pair_97X, addr_102X, val_101X); *((long *) addr_102X) = val_101X; arg0K0 = (*((long *) ((((char *) (-3 + alist_93X))) + 4))); goto L5301;} L5993: { p_103X = arg1K0; i_104X = arg0K1; if ((2 == (3 & (*((long *) p_103X))))) { if ((22 == (*((long *) p_103X)))) { arg0K0 = (-1 + i_104X); goto L5930;} else { arg0K0 = i_104X; goto L5930;}} else { arg1K0 = (p_103X + 4); arg0K1 = (1 + i_104X); goto L5993;}} L5930: { arg_count_105X = arg0K0; s48_trace_locationsB(((SstackS) + 4), ((SstackS) + (4 + (((arg_count_105X)<<2))))); p_106X = SenvS; if ((3 == (3 & p_106X))) { if ((p_106X < (((long) (Sstack_beginS))))) { goto L5946;} else { if (((((long) (Sstack_endS))) < p_106X)) { goto L5946;} else { env_107X = SenvS; arg0K0 = env_107X; goto L6106;}}} else { goto L5946;}} L5946: { v_108X = s48_trace_value((SenvS)); SenvS = v_108X; goto L5951;} L6106: { env_109X = arg0K0; if ((3 == (3 & env_109X))) { if ((env_109X < (((long) (Sstack_beginS))))) { goto L5951;} else { if (((((long) (Sstack_endS))) < env_109X)) { goto L5951;} else { s48_trace_stob_contentsB(env_109X); arg0K0 = (*((long *) (((char *) (-3 + env_109X))))); goto L6106;}}} else { goto L5951;}} L5951: { arg0K0 = (ScontS); arg0K1 = 0; goto L5956;} L5956: { cont_110X = arg0K0; last_env_111X = arg0K1; env_112X = *((long *) ((((char *) (-3 + cont_110X))) + 12)); s48_trace_stob_contentsB(cont_110X); if ((env_112X == last_env_111X)) { goto L5974;} else { arg0K0 = env_112X; goto L6061;}} L5974: { if ((cont_110X == (Sbottom_of_stackS))) { return;} else { arg0K0 = (*((long *) (((char *) (-3 + cont_110X))))); arg0K1 = env_112X; goto L5956;}} L6061: { env_113X = arg0K0; if ((3 == (3 & env_113X))) { if ((env_113X < (((long) (Sstack_beginS))))) { goto L5974;} else { if (((((long) (Sstack_endS))) < env_113X)) { goto L5974;} else { s48_trace_stob_contentsB(env_113X); arg0K0 = (*((long *) (((char *) (-3 + env_113X))))); goto L6061;}}} else { goto L5974;}} } static long Hlookup2112(long table_114X, long string_115X, long key_116X) { long arg0K1; long arg0K0; long len_127X; long s2_126X; char * addr_125X; long x_124X; char * addr_123X; long foo_122X; long bucket_121X; long index_120X; long h_119X; long i_118X; long n_117X; { n_117X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L13096;} L13096: { i_118X = arg0K0; h_119X = arg0K1; if ((i_118X < n_117X)) { arg0K0 = (1 + i_118X); arg0K1 = (h_119X + (((*((unsigned char *) ((((char *) (-3 + string_115X))) + i_118X)))))); goto L13096;} else { index_120X = 1023 & h_119X; bucket_121X = *((long *) ((((char *) (-3 + table_114X))) + (((index_120X)<<2)))); arg0K0 = bucket_121X; goto L13064;}} L13064: { foo_122X = arg0K0; if ((1 == foo_122X)) { addr_123X = ALLOCATE_SPACE(13, 20); *((long *) addr_123X) = 4150; x_124X = 3 + (((long) (addr_123X + 4))); *((long *) (((char *) (-3 + x_124X)))) = string_115X; *((long *) ((((char *) (-3 + x_124X))) + 4)) = 1; *((long *) ((((char *) (-3 + x_124X))) + 8)) = 13; *((long *) ((((char *) (-3 + x_124X))) + 12)) = bucket_121X; addr_125X = (((char *) (-3 + table_114X))) + (((index_120X)<<2)); S48_WRITE_BARRIER(table_114X, addr_125X, x_124X); *((long *) addr_125X) = x_124X; return x_124X;} else { s2_126X = *((long *) (((char *) (-3 + foo_122X)))); len_127X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_115X))) + -4))))>>8); if ((len_127X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_126X))) + -4))))>>8)))) { if (((!memcmp((void *)(((char *) (-3 + s2_126X))), (void *)(((char *) (-3 + string_115X))),len_127X)))) { return foo_122X;} else { goto L13080;}} else { goto L13080;}}} L13080: { arg0K0 = (*((long *) ((((char *) (-3 + foo_122X))) + 12))); goto L13064;} } static long Hlookup2093(long table_128X, long string_129X, long key_130X) { long arg0K1; long arg0K0; long len_141X; long s2_140X; char * addr_139X; long x_138X; char * addr_137X; long foo_136X; long bucket_135X; long index_134X; long h_133X; long i_132X; long n_131X; { n_131X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_129X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L13221;} L13221: { i_132X = arg0K0; h_133X = arg0K1; if ((i_132X < n_131X)) { arg0K0 = (1 + i_132X); arg0K1 = (h_133X + (((*((unsigned char *) ((((char *) (-3 + string_129X))) + i_132X)))))); goto L13221;} else { index_134X = 1023 & h_133X; bucket_135X = *((long *) ((((char *) (-3 + table_128X))) + (((index_134X)<<2)))); arg0K0 = bucket_135X; goto L13189;}} L13189: { foo_136X = arg0K0; if ((1 == foo_136X)) { addr_137X = ALLOCATE_SPACE(13, 20); *((long *) addr_137X) = 4150; x_138X = 3 + (((long) (addr_137X + 4))); *((long *) (((char *) (-3 + x_138X)))) = string_129X; *((long *) ((((char *) (-3 + x_138X))) + 4)) = 5; *((long *) ((((char *) (-3 + x_138X))) + 8)) = 13; *((long *) ((((char *) (-3 + x_138X))) + 12)) = bucket_135X; addr_139X = (((char *) (-3 + table_128X))) + (((index_134X)<<2)); S48_WRITE_BARRIER(table_128X, addr_139X, x_138X); *((long *) addr_139X) = x_138X; return x_138X;} else { s2_140X = *((long *) (((char *) (-3 + foo_136X)))); len_141X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_129X))) + -4))))>>8); if ((len_141X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_140X))) + -4))))>>8)))) { if (((!memcmp((void *)(((char *) (-3 + s2_140X))), (void *)(((char *) (-3 + string_129X))),len_141X)))) { return foo_136X;} else { goto L13205;}} else { goto L13205;}}} L13205: { arg0K0 = (*((long *) ((((char *) (-3 + foo_136X))) + 12))); goto L13189;} } static void HtopD8904(void) { long arg0K2; long arg0K1; long arg0K0; long status_168X; long id_167X; long new_166X; long id_165X; long header_164X; long channel_163X; long i_162X; char * addr_161X; long l_160X; long v_159X; char * addr_158X; char * addr_157X; char * addr_156X; char * addr_155X; long val_154X; char tracedP_153X; long next_152X; long thing_151X; long pair_150X; long alist_149X; long l2_148X; long goners_147X; long okay_146X; long alist_145X; long pc_144X; long tem_143X; long new_142X; { new_142X = s48_trace_value((Sthe_symbol_tableS)); HcleanerB2170(new_142X); Sthe_symbol_tableS = new_142X; tem_143X = StemplateS; pc_144X = Ssaved_pcS; StemplateS = tem_143X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_143X)))))))) + (((pc_144X)>>2))); arg0K0 = (Sfinalizer_alistS); arg0K1 = 25; arg0K2 = 25; goto L7734;} L7734: { alist_145X = arg0K0; okay_146X = arg0K1; goners_147X = arg0K2; if ((25 == alist_145X)) { Sfinalizer_alistS = okay_146X; l2_148X = Sfinalize_theseS; if ((25 == goners_147X)) { arg0K0 = l2_148X; goto L7742;} else { arg0K0 = goners_147X; goto L7795;}} else { alist_149X = s48_trace_value(alist_145X); pair_150X = s48_trace_value((*((long *) (((char *) (-3 + alist_149X)))))); thing_151X = *((long *) (((char *) (-3 + pair_150X)))); next_152X = *((long *) ((((char *) (-3 + alist_149X))) + 4)); tracedP_153X = s48_extantP(thing_151X); val_154X = s48_trace_value(thing_151X); addr_155X = ((char *) (-3 + pair_150X)); S48_WRITE_BARRIER(pair_150X, addr_155X, val_154X); *((long *) addr_155X) = val_154X; addr_156X = ((char *) (-3 + alist_149X)); S48_WRITE_BARRIER(alist_149X, addr_156X, pair_150X); *((long *) addr_156X) = pair_150X; if (tracedP_153X) { addr_157X = (((char *) (-3 + alist_149X))) + 4; S48_WRITE_BARRIER(alist_149X, addr_157X, okay_146X); *((long *) addr_157X) = okay_146X; arg0K0 = next_152X; arg0K1 = alist_149X; arg0K2 = goners_147X; goto L7734;} else { addr_158X = (((char *) (-3 + alist_149X))) + 4; S48_WRITE_BARRIER(alist_149X, addr_158X, goners_147X); *((long *) addr_158X) = goners_147X; arg0K0 = next_152X; arg0K1 = okay_146X; arg0K2 = alist_149X; goto L7734;}}} L7742: { v_159X = arg0K0; Sfinalize_theseS = v_159X; arg0K0 = 0; goto L12528;} L7795: { l_160X = arg0K0; if ((25 == (*((long *) ((((char *) (-3 + l_160X))) + 4))))) { addr_161X = (((char *) (-3 + l_160X))) + 4; S48_WRITE_BARRIER(l_160X, addr_161X, l2_148X); *((long *) addr_161X) = l2_148X; arg0K0 = goners_147X; goto L7742;} else { arg0K0 = (*((long *) ((((char *) (-3 + l_160X))) + 4))); goto L7795;}} L12528: { i_162X = arg0K0; if ((i_162X == (Snumber_of_channelsS))) { Spending_interruptsS = (4 | (Spending_interruptsS)); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; return;} else { return;}} else { s48_Spending_interruptPS = 1; return;}} else { channel_163X = *((Svm_channelsS) + i_162X); if ((1 == channel_163X)) { goto L12564;} else { header_164X = *((long *) ((((char *) (-3 + channel_163X))) + -4)); if ((3 == (3 & header_164X))) { arg0K0 = header_164X; goto L12557;} else { if ((0 == (*((long *) (((char *) (-3 + channel_163X))))))) { arg0K0 = 1; goto L12557;} else { id_165X = *((long *) ((((char *) (-3 + channel_163X))) + 4)); if ((0 == (3 & id_165X))) { arg0K0 = id_165X; goto L12240;} else { if ((3 == (3 & (*((long *) ((((char *) (-3 + id_165X))) + -4)))))) { arg0K0 = (*((long *) ((((char *) (-3 + id_165X))) + -4))); goto L12240;} else { arg0K0 = id_165X; goto L12240;}}}}}}} L12564: { arg0K0 = (1 + i_162X); goto L12528;} L12557: { new_166X = arg0K0; *((Svm_channelsS) + i_162X) = new_166X; goto L12564;} L12240: { id_167X = arg0K0; status_168X = close_channelB(channel_163X); if ((status_168X == NO_ERRORS)) { goto L12255;} else { channel_close_error(status_168X, (*((long *) ((((char *) (-3 + channel_163X))) + 8))), id_167X); goto L12255;}} L12255: { ps_write_string("Channel closed: ", (stderr)); if ((0 == (3 & id_167X))) { ps_write_integer((((id_167X)>>2)), (stderr)); goto L12273;} else { ps_write_string((((char *)(((char *) (-3 + id_167X))))), (stderr)); goto L12273;}} L12273: { ps_write_string(" ", (stderr)); ps_write_integer(((((*((long *) ((((char *) (-3 + channel_163X))) + 8))))>>2)), (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } arg0K0 = 1; goto L12557;} } static long collect_saving_temps(long value0_169X, long value1_170X, long *TT0) { long value0_172X; long value1_171X; { s48_begin_collection(); (*(Sgc_root_procS))(); value1_171X = s48_trace_value(value1_170X); value0_172X = s48_trace_value(value0_169X); s48_do_gc(); (*(Spost_gc_cleanupS))(); s48_end_collection(); *TT0 = value1_171X; return value0_172X;} } void s48_set_extension_valueB(long value_173X) { { s48_Sextension_valueS = value_173X; return;} } void s48_note_event(void) { { s48_Spending_eventsPS = 1; s48_Spending_interruptPS = 1; return;} } void s48_set_os_signal(long type_174X, long argument_175X) { { Sos_signal_typeS = type_174X; Sos_signal_argumentS = argument_175X; return;} } long s48_exported_bindings(void) { { return (Sexported_bindingsS);} } char * s48_set_gc_roots_baseB(void) { char * old_base_176X; { old_base_176X = Sexternal_root_stack_baseS; Sexternal_root_stack_baseS = (Sexternal_root_stackS); return old_base_176X;} } char s48_release_gc_roots_baseB(char * old_base_177X) { char okayP_178X; { okayP_178X = (Sexternal_root_stackS) == (Sexternal_root_stack_baseS); Sexternal_root_stack_baseS = old_base_177X; Sexternal_root_stackS = old_base_177X; return okayP_178X;} } void s48_disable_interruptsB(void) { { s48_Spending_interruptPS = 0; Senabled_interruptsS = 0; return;} } void s48_push_gc_rootsB(char * frame_179X, long n_180X) { { *((long *) frame_179X) = n_180X; *((long *) (frame_179X + 4)) = (((long) (Sexternal_root_stackS))); Sexternal_root_stackS = frame_179X; return;} } void s48_register_gc_rootB(char * loc_addr_181X) { char * frame_182X; { frame_182X = (char *)malloc(8); if ((frame_182X == NULL)) { ps_error("out of memory registering a global root", 0); goto L3187;} else { goto L3187;}} L3187: { *((long *) frame_182X) = (((long) (Spermanent_external_rootsS))); *((long *) (frame_182X + 4)) = (((long) loc_addr_181X)); Spermanent_external_rootsS = frame_182X; return;} } void s48_stack_setB(long x_183X, long value_184X) { { *((long *) ((SstackS) + (4 + (((x_183X)<<2))))) = value_184X; return;} } long s48_stack_ref(long i_185X) { { return (*((long *) ((SstackS) + (4 + (((i_185X)<<2))))));} } void s48_push(long x_186X) { { *((long *) (SstackS)) = x_186X; SstackS = ((SstackS) + -4); return;} } long s48_resetup_external_exception(long new_why_187X, long additional_nargs_188X) { long old_why_190X; long old_nargs_189X; { old_nargs_189X = Sexternal_exception_nargsS; old_why_190X = *((long *) ((SstackS) + (4 + (((old_nargs_189X)<<2))))); *((long *) ((SstackS) + (4 + (((old_nargs_189X)<<2))))) = (((new_why_187X)<<2)); Sexternal_exception_nargsS = (old_nargs_189X + additional_nargs_188X); return old_why_190X;} } void s48_enable_interruptsB(void) { { Senabled_interruptsS = -1; if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; return;} else { return;}} else { s48_Spending_interruptPS = 1; return;}} } char s48_pop_gc_rootsB(void) { { if (((Sexternal_root_stackS) == (Sexternal_root_stack_baseS))) { return 0;} else { Sexternal_root_stackS = (((char *) (*((long *) ((Sexternal_root_stackS) + 4))))); return 1;}} } void s48_mark_traced_channels_closedB(void) { long arg0K0; char * addr_196X; char * addr_195X; long descriptor_194X; long header_193X; long channel_192X; long i_191X; { arg0K0 = 0; goto L6344;} L6344: { i_191X = arg0K0; if ((i_191X == (Snumber_of_channelsS))) { return;} else { channel_192X = *((Svm_channelsS) + i_191X); if ((1 == channel_192X)) { goto L6404;} else { header_193X = *((long *) ((((char *) (-3 + channel_192X))) + -4)); if ((3 == (3 & header_193X))) { ps_write_string("Channel closed in dumped image: ", (stderr)); descriptor_194X = *((long *) ((((char *) (-3 + channel_192X))) + 4)); if ((0 == (3 & descriptor_194X))) { ps_write_integer(((((*((long *) ((((char *) (-3 + channel_192X))) + 4))))>>2)), (stderr)); goto L6390;} else { ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + channel_192X))) + 4)))))))), (stderr)); goto L6390;}} else { goto L6404;}}}} L6404: { arg0K0 = (1 + i_191X); goto L6344;} L6390: { { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } addr_195X = ((char *) (-3 + header_193X)); S48_WRITE_BARRIER(header_193X, addr_195X, 0); *((long *) addr_195X) = 0; addr_196X = (((char *) (-3 + header_193X))) + 8; S48_WRITE_BARRIER(header_193X, addr_196X, -4); *((long *) addr_196X) = -4; goto L6404;} } long s48_set_channel_os_index(long channel_197X, long os_index_198X) { char * addr_205X; long val_204X; long v_203X; long x_202X; long old_index_201X; char x_200X; char temp_199X; { temp_199X = os_index_198X < (Snumber_of_channelsS); if (temp_199X) { goto L7913;} else { x_200X = add_more_channels(os_index_198X); if (x_200X) { goto L7913;} else { return 36;}}} L7913: { if ((1 == (*((Svm_channelsS) + os_index_198X)))) { old_index_201X = (((*((long *) ((((char *) (-3 + channel_197X))) + 8))))>>2); x_202X = *((long *) ((((char *) (-3 + channel_197X))) + 16)); if ((5 == x_202X)) { v_203X = ps_abort_fd_op(old_index_201X); enqueue_channelB(old_index_201X, v_203X); goto L7899;} else { goto L7899;}} else { return 44;}} L7899: { *((Svm_channelsS) + old_index_201X) = 1; *((Svm_channelsS) + os_index_198X) = channel_197X; val_204X = ((os_index_198X)<<2); addr_205X = (((char *) (-3 + channel_197X))) + 8; S48_WRITE_BARRIER(channel_197X, addr_205X, val_204X); *((long *) addr_205X) = val_204X; return 5;} } long s48_cleaned_imported_bindings(void) { long arg0K1; long arg0K0; long v_219X; char * addr_218X; long entry_217X; char * addr_216X; long new_foo_215X; char v_214X; char * addr_213X; long okay_212X; long foo_211X; long i_210X; long foo_209X; long i_208X; long table_207X; long table_206X; { table_206X = s48_trace_value((Simported_bindingsS)); table_207X = s48_trace_value(table_206X); arg0K0 = 0; goto L8590;} L8590: { i_208X = arg0K0; if ((1024 == i_208X)) { arg0K0 = 0; goto L9679;} else { foo_209X = *((long *) ((((char *) (-3 + table_207X))) + (((i_208X)<<2)))); arg0K0 = foo_209X; arg0K1 = 1; goto L8610;}} L9679: { i_210X = arg0K0; if ((1024 == i_210X)) { return table_206X;} else { arg0K0 = (*((long *) ((((char *) (-3 + table_206X))) + (((i_210X)<<2))))); goto L9687;}} L8610: { foo_211X = arg0K0; okay_212X = arg0K1; if ((1 == foo_211X)) { addr_213X = (((char *) (-3 + table_207X))) + (((i_208X)<<2)); S48_WRITE_BARRIER(table_207X, addr_213X, okay_212X); *((long *) addr_213X) = okay_212X; arg0K0 = (1 + i_208X); goto L8590;} else { v_214X = s48_extantP(foo_211X); if (v_214X) { new_foo_215X = s48_trace_value(foo_211X); addr_216X = (((char *) (-3 + new_foo_215X))) + 12; S48_WRITE_BARRIER(new_foo_215X, addr_216X, okay_212X); *((long *) addr_216X) = okay_212X; arg0K0 = new_foo_215X; goto L8615;} else { arg0K0 = okay_212X; goto L8615;}}} L9687: { entry_217X = arg0K0; if ((1 == entry_217X)) { arg0K0 = (1 + i_210X); goto L9679;} else { addr_218X = (((char *) (-3 + entry_217X))) + 8; S48_WRITE_BARRIER(entry_217X, addr_218X, 529); *((long *) addr_218X) = 529; arg0K0 = (*((long *) ((((char *) (-3 + entry_217X))) + 12))); goto L9687;}} L8615: { v_219X = arg0K0; arg0K0 = (*((long *) ((((char *) (-3 + foo_211X))) + 12))); arg0K1 = v_219X; goto L8610;} } long s48_copy_symbol_table(void) { long new_220X; { new_220X = s48_trace_value((Sthe_symbol_tableS)); HcleanerB2170(new_220X); return new_220X;} } void s48_setup_external_exception(long why_221X, long nargs_222X) { { push_exception_continuationB(why_221X, 1); if ((10 < nargs_222X)) { ps_error("too many arguments from external exception", 0); goto L11031;} else { goto L11031;}} L11031: { Sexternal_exception_nargsS = nargs_222X; Sexternal_exceptionPS = 1; return;} } void s48_close_channel(long os_index_223X) { long obj_224X; { if ((os_index_223X < 0)) { return;} else { if ((os_index_223X < (Snumber_of_channelsS))) { obj_224X = *((Svm_channelsS) + os_index_223X); if ((3 == (3 & obj_224X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_224X))) + -4))))>>2))))) { close_channelB((*((Svm_channelsS) + os_index_223X))); return;} else { return;}} else { return;}} else { return;}}} } char s48_warn_about_undefined_imported_bindings(void) { long arg0K0; long name_230X; long entry_229X; char temp_228X; long i_227X; long table_226X; FILE * out_225X; { out_225X = stderr; table_226X = Simported_bindingsS; arg0K0 = 0; goto L11571;} L11571: { i_227X = arg0K0; temp_228X = 1024 == i_227X; if (temp_228X) { return temp_228X;} else { arg0K0 = (*((long *) ((((char *) (-3 + table_226X))) + (((i_227X)<<2))))); goto L11579;}} L11579: { entry_229X = arg0K0; if ((1 == entry_229X)) { arg0K0 = (1 + i_227X); goto L11571;} else { if ((17 == (255 & (*((long *) ((((char *) (-3 + entry_229X))) + 8)))))) { name_230X = *((long *) (((char *) (-3 + entry_229X)))); ps_write_string("undefined imported name ", out_225X); if ((3 == (3 & name_230X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_230X))) + -4))))>>2))))) { ps_write_string((((char *)(((char *) (-3 + name_230X))))), out_225X); goto L11559;} else { goto L11557;}} else { goto L11557;}} else { goto L11582;}}} L11559: { { long ignoreXX; PS_WRITE_CHAR(10, out_225X, ignoreXX) } goto L11582;} L11557: { ps_write_string("", out_225X); goto L11559;} L11582: { arg0K0 = (*((long *) ((((char *) (-3 + entry_229X))) + 12))); goto L11579;} } void s48_define_exported_binding(char *name_231X, long value_232X) { char arg2K0; long arg0K2; long arg0K1; long arg0K0; char * addr_245X; long x_244X; long name_243X; long value_242X; long key_241X; long temp_240X; long key_239X; char okayP_238X; char v_237X; long temp1_236X; long temp0_235X; char v_234X; long space_233X; { space_233X = 6 + ((((4 + (strlen((char *) name_231X))))>>2)); v_234X = AVAILABLEp(space_233X); if (v_234X) { arg2K0 = 1; arg0K1 = 0; arg0K2 = value_232X; goto L14351;} else { temp0_235X = collect_saving_temps(value_232X, 1, &temp1_236X); v_237X = AVAILABLEp(space_233X); if (v_237X) { arg2K0 = 1; arg0K1 = 0; arg0K2 = temp0_235X; goto L14351;} else { arg2K0 = 0; arg0K1 = 0; arg0K2 = temp0_235X; goto L14351;}}} L14351: { okayP_238X = arg2K0; key_239X = arg0K1; temp_240X = arg0K2; if (okayP_238X) { arg0K0 = key_239X; arg0K1 = temp_240X; goto L14332;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_239X; arg0K1 = temp_240X; goto L14332;}} L14332: { key_241X = arg0K0; value_242X = arg0K1; name_243X = enter_string(name_231X, key_241X); x_244X = Hlookup2093((Simported_bindingsS), name_243X, key_241X); addr_245X = (((char *) (-3 + x_244X))) + 8; S48_WRITE_BARRIER(x_244X, addr_245X, value_242X); *((long *) addr_245X) = value_242X; return;} } long s48_add_channel(long mode_246X, long id_247X, long os_index_248X) { char arg2K0; long arg0K1; long arg0K0; long status_256X; long channel_255X; long v_254X; long key_253X; char okayP_252X; char v_251X; long temp1_250X; char v_249X; { v_249X = AVAILABLEp(6); if (v_249X) { arg2K0 = 1; arg0K1 = 0; goto L14740;} else { collect_saving_temps(1, 1, &temp1_250X); v_251X = AVAILABLEp(6); if (v_251X) { arg2K0 = 1; arg0K1 = 0; goto L14740;} else { arg2K0 = 0; arg0K1 = 0; goto L14740;}}} L14740: { okayP_252X = arg2K0; key_253X = arg0K1; if (okayP_252X) { arg0K0 = key_253X; goto L14723;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_253X; goto L14723;}} L14723: { v_254X = arg0K0; channel_255X = make_registered_channel((((mode_246X)>>2)), id_247X, os_index_248X, v_254X, &status_256X); if ((3 == (3 & channel_255X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_255X))) + -4))))>>2))))) { return channel_255X;} else { goto L14734;}} else { goto L14734;}} L14734: { return (((status_256X)<<2));} } long s48_get_imported_binding(char *name_257X) { char arg2K0; long arg0K1; long arg0K0; long name_265X; long key_264X; long key_263X; char okayP_262X; char v_261X; long temp1_260X; char v_259X; long space_258X; { space_258X = 6 + ((((4 + (strlen((char *) name_257X))))>>2)); v_259X = AVAILABLEp(space_258X); if (v_259X) { arg2K0 = 1; arg0K1 = 0; goto L15429;} else { collect_saving_temps(1, 1, &temp1_260X); v_261X = AVAILABLEp(space_258X); if (v_261X) { arg2K0 = 1; arg0K1 = 0; goto L15429;} else { arg2K0 = 0; arg0K1 = 0; goto L15429;}}} L15429: { okayP_262X = arg2K0; key_263X = arg0K1; if (okayP_262X) { arg0K0 = key_263X; goto L15416;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_263X; goto L15416;}} L15416: { key_264X = arg0K0; name_265X = enter_string(name_257X, key_264X); return Hlookup2112((Sexported_bindingsS), name_265X, key_264X);} } long s48_allocate_stob(long type_266X, long size_267X) { char * addr_271X; char v_270X; long temp1_269X; char v_268X; { v_268X = AVAILABLEp(size_267X); if (v_268X) { goto L15724;} else { collect_saving_temps(1, 1, &temp1_269X); v_270X = AVAILABLEp(size_267X); if (v_270X) { goto L15724;} else { ps_error("Scheme48 heap overflow", 0); goto L15724;}}} L15724: { addr_271X = ALLOCATE_SPACE(type_266X, (4 + size_267X)); *((long *) addr_271X) = (2 + (((((((size_267X)<<6)) + type_266X))<<2))); return (3 + (((long) (addr_271X + 4))));} } void s48_initialize_vm(char * stack_begin_272X, long stack_size_273X) { char arg2K0; char * arg1K0; long arg0K2; long arg0K1; long arg0K0; char * addr_344X; long code_343X; long temp_342X; char * addr_341X; char * addr_340X; char * addr_339X; long code_338X; long temp_337X; char * addr_336X; char * addr_335X; char v_334X; long temp1_333X; char v_332X; long cont_331X; char * addr_330X; long code_329X; long temp_328X; char * addr_327X; char * addr_326X; char v_325X; long temp1_324X; char v_323X; char * a_322X; long size_321X; char * start_320X; char * stack_319X; long v_318X; char * addr_317X; long i_316X; char * addr_315X; char * addr_314X; long val_313X; long index_312X; long h_311X; long i_310X; long table_309X; char * addr_308X; long v_307X; char * addr_306X; long i_305X; long n_304X; long string_303X; long foo_302X; long table_301X; long i_300X; long table_299X; char * addr_298X; long exported_bindings_297X; long imported_bindings_296X; long n_295X; long symbols_294X; long temp1_293X; long temp0_292X; char okayP_291X; char * addr_290X; long maybe_289X; long v_288X; long maybe_287X; long i_286X; char v_285X; long temp1_284X; long temp0_283X; char v_282X; long imported_bindings_281X; long exported_bindings_280X; long table_279X; char * addr_278X; char v_277X; long temp1_276X; char v_275X; long symbol_table_274X; { symbol_table_274X = s48_initial_symbols(); if ((symbol_table_274X == 1)) { v_275X = AVAILABLEp(1025); if (v_275X) { goto L15455;} else { collect_saving_temps(1, 1, &temp1_276X); v_277X = AVAILABLEp(1025); if (v_277X) { goto L15455;} else { ps_error("Scheme48 heap overflow", 0); goto L15455;}}} else { Sthe_symbol_tableS = symbol_table_274X; goto L15847;}} L15455: { addr_278X = ALLOCATE_SPACE(2, 4100); *((long *) addr_278X) = 1048586; table_279X = 3 + (((long) (addr_278X + 4))); arg0K0 = 0; goto L15530;} L15847: { exported_bindings_280X = s48_initial_exported_bindings(); imported_bindings_281X = s48_initial_imported_bindings(); v_282X = AVAILABLEp(2050); if (v_282X) { arg2K0 = 1; arg0K1 = imported_bindings_281X; arg0K2 = exported_bindings_280X; goto L14433;} else { temp0_283X = collect_saving_temps(imported_bindings_281X, exported_bindings_280X, &temp1_284X); v_285X = AVAILABLEp(2050); if (v_285X) { arg2K0 = 1; arg0K1 = temp0_283X; arg0K2 = temp1_284X; goto L14433;} else { arg2K0 = 0; arg0K1 = temp0_283X; arg0K2 = temp1_284X; goto L14433;}}} L15530: { i_286X = arg0K0; if ((1024 == i_286X)) { Sthe_symbol_tableS = table_279X; maybe_287X = s48_find_all(1); if ((maybe_287X == 1)) { collect_saving_temps(0, 0, &v_288X); maybe_289X = s48_find_all(1); if ((maybe_289X == 1)) { ps_error("insufficient heap space to build symbol table", 0); arg0K0 = maybe_289X; goto L15484;} else { arg0K0 = maybe_289X; goto L15484;}} else { arg0K0 = maybe_287X; goto L15484;}} else { addr_290X = (((char *) (-3 + table_279X))) + (((i_286X)<<2)); S48_WRITE_BARRIER(table_279X, addr_290X, 1); *((long *) addr_290X) = 1; arg0K0 = (1 + i_286X); goto L15530;}} L14433: { okayP_291X = arg2K0; temp0_292X = arg0K1; temp1_293X = arg0K2; if (okayP_291X) { arg0K0 = temp0_292X; arg0K1 = temp1_293X; goto L14394;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = temp0_292X; arg0K1 = temp1_293X; goto L14394;}} L15484: { symbols_294X = arg0K0; n_295X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_294X))) + -4))))>>8))))>>2); arg0K0 = 0; goto L15551;} L14394: { imported_bindings_296X = arg0K0; exported_bindings_297X = arg0K1; if ((1 == imported_bindings_296X)) { addr_298X = ALLOCATE_SPACE(2, 4100); *((long *) addr_298X) = 1048586; table_299X = 3 + (((long) (addr_298X + 4))); arg0K0 = 0; goto L14495;} else { arg0K0 = imported_bindings_296X; goto L14409;}} L15551: { i_300X = arg0K0; if ((i_300X == n_295X)) { goto L15847;} else { table_301X = Sthe_symbol_tableS; foo_302X = *((long *) ((((char *) (-3 + symbols_294X))) + (((i_300X)<<2)))); string_303X = *((long *) (((char *) (-3 + foo_302X)))); n_304X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_303X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L13018;}} L14495: { i_305X = arg0K0; if ((1024 == i_305X)) { arg0K0 = table_299X; goto L14409;} else { addr_306X = (((char *) (-3 + table_299X))) + (((i_305X)<<2)); S48_WRITE_BARRIER(table_299X, addr_306X, 1); *((long *) addr_306X) = 1; arg0K0 = (1 + i_305X); goto L14495;}} L14409: { v_307X = arg0K0; Simported_bindingsS = v_307X; if ((1 == exported_bindings_297X)) { addr_308X = ALLOCATE_SPACE(2, 4100); *((long *) addr_308X) = 1048586; table_309X = 3 + (((long) (addr_308X + 4))); arg0K0 = 0; goto L14472;} else { arg0K0 = exported_bindings_297X; goto L14422;}} L13018: { i_310X = arg0K0; h_311X = arg0K1; if ((i_310X < n_304X)) { arg0K0 = (1 + i_310X); arg0K1 = (h_311X + (((*((unsigned char *) ((((char *) (-3 + string_303X))) + i_310X)))))); goto L13018;} else { index_312X = 1023 & h_311X; val_313X = *((long *) ((((char *) (-3 + table_301X))) + (((index_312X)<<2)))); addr_314X = (((char *) (-3 + foo_302X))) + 4; S48_WRITE_BARRIER(foo_302X, addr_314X, val_313X); *((long *) addr_314X) = val_313X; addr_315X = (((char *) (-3 + table_301X))) + (((index_312X)<<2)); S48_WRITE_BARRIER(table_301X, addr_315X, foo_302X); *((long *) addr_315X) = foo_302X; arg0K0 = (1 + i_300X); goto L15551;}} L14472: { i_316X = arg0K0; if ((1024 == i_316X)) { arg0K0 = table_309X; goto L14422;} else { addr_317X = (((char *) (-3 + table_309X))) + (((i_316X)<<2)); S48_WRITE_BARRIER(table_309X, addr_317X, 1); *((long *) addr_317X) = 1; arg0K0 = (1 + i_316X); goto L14472;}} L14422: { v_318X = arg0K0; Sexported_bindingsS = v_318X; if ((stack_size_273X < 8131)) { stack_319X = (char *)malloc(32524); if ((stack_319X == NULL)) { ps_error("out of memory, unable to continue", 0); arg1K0 = stack_319X; arg0K1 = 8131; goto L14941;} else { arg1K0 = stack_319X; arg0K1 = 8131; goto L14941;}} else { arg1K0 = stack_begin_272X; arg0K1 = stack_size_273X; goto L14941;}} L14941: { start_320X = arg1K0; size_321X = arg0K1; Sstack_beginS = start_320X; Sstack_endS = (start_320X + (((size_321X)<<2))); Sstack_limitS = ((Sstack_beginS) + 524); SstackS = ((Sstack_endS) + -4); ScontS = 1; SenvS = 17; arg1K0 = start_320X; goto L14973;} L14973: { a_322X = arg1K0; if ((a_322X == (Sstack_endS))) { v_323X = AVAILABLEp(5); if (v_323X) { goto L14990;} else { collect_saving_temps(1, 1, &temp1_324X); v_325X = AVAILABLEp(5); if (v_325X) { goto L14990;} else { ps_error("Scheme48 heap overflow", 0); goto L14990;}}} else { *((long *) a_322X) = 252645135; arg1K0 = (a_322X + 4); goto L14973;}} L14990: { addr_326X = ALLOCATE_SPACE(17, 6); *((long *) addr_326X) = 582; addr_327X = ALLOCATE_SPACE(11, 12); *((long *) addr_327X) = 2094; temp_328X = 3 + (((long) (addr_327X + 4))); code_329X = 3 + (((long) (addr_326X + 4))); addr_330X = ((char *) (-3 + temp_328X)); S48_WRITE_BARRIER(temp_328X, addr_330X, code_329X); *((long *) addr_330X) = code_329X; *((unsigned char *) (((char *) (-3 + code_329X)))) = 23; *((unsigned char *) ((((char *) (-3 + code_329X))) + 1)) = 31; SstackS = ((SstackS) + -20); *((long *) ((SstackS) + 4)) = 4262; cont_331X = 3 + (((long) ((SstackS) + 8))); *((long *) ((((char *) (-3 + cont_331X))) + 4)) = 0; *((long *) ((((char *) (-3 + cont_331X))) + 8)) = temp_328X; *((long *) ((((char *) (-3 + cont_331X))) + 12)) = (SenvS); *((long *) (((char *) (-3 + cont_331X)))) = (ScontS); ScontS = cont_331X; Sbottom_of_stackS = (ScontS); v_332X = AVAILABLEp(5); if (v_332X) { goto L15169;} else { collect_saving_temps(1, 1, &temp1_333X); v_334X = AVAILABLEp(5); if (v_334X) { goto L15169;} else { ps_error("Scheme48 heap overflow", 0); goto L15169;}}} L15169: { addr_335X = ALLOCATE_SPACE(17, 6); *((long *) addr_335X) = 582; addr_336X = ALLOCATE_SPACE(11, 12); *((long *) addr_336X) = 2094; temp_337X = 3 + (((long) (addr_336X + 4))); code_338X = 3 + (((long) (addr_335X + 4))); addr_339X = ((char *) (-3 + temp_337X)); S48_WRITE_BARRIER(temp_337X, addr_339X, code_338X); *((long *) addr_339X) = code_338X; *((unsigned char *) (((char *) (-3 + code_338X)))) = 34; *((unsigned char *) ((((char *) (-3 + code_338X))) + 1)) = 141; Sinterrupt_templateS = temp_337X; addr_340X = ALLOCATE_SPACE(17, 6); *((long *) addr_340X) = 582; addr_341X = ALLOCATE_SPACE(11, 12); *((long *) addr_341X) = 2094; temp_342X = 3 + (((long) (addr_341X + 4))); code_343X = 3 + (((long) (addr_340X + 4))); addr_344X = ((char *) (-3 + temp_342X)); S48_WRITE_BARRIER(temp_342X, addr_344X, code_343X); *((long *) addr_344X) = code_343X; *((unsigned char *) (((char *) (-3 + code_343X)))) = 138; *((unsigned char *) ((((char *) (-3 + code_343X))) + 1)) = 124; Sexception_templateS = temp_342X; return;} } long s48_restart(long proc_345X, long nargs_346X) { char * arg1K1; char * arg1K0; char *arg3K0; char arg2K3; char arg2K1; char arg2K2; char arg2K0; long arg0K3; long arg0K2; long arg0K1; long arg0K0; char *merged_arg3K0; long merged_arg0K3; long merged_arg0K2; long merged_arg0K1; long merged_arg0K0; int pop_continuationB_return_tag; int get_error_string_return_tag; long get_error_string0_return_value; int okay_argument_list_return_tag; char okay_argument_list0_return_value; long okay_argument_list1_return_value; int get_current_port_return_tag; long get_current_port0_return_value; int copy_continuation_from_heapB_return_tag; long copy_continuation_from_heapB0_return_value; int copy_listS_return_tag; long copy_listS0_return_value; int pop_args_GlistS_return_tag; long pop_args_GlistS0_return_value; int save_env_in_heap_return_tag; long save_env_in_heap0_return_value; int copy_env_return_tag; long copy_env0_return_value; int really_preserve_continuation_return_tag; long really_preserve_continuation0_return_value; int copy_stack_into_heap_return_tag; int push_list_return_tag; long push_list0_return_value; int rest_list_setup_return_tag; int check_events_return_tag; char check_events0_return_value; int loseD0_return_tag; long status_347X; long list_348X; long marker_349X; long cont_350X; long list_351X; long length_352X; long start_353X; long count_354X; long env_355X; long cont_356X; long key_357X; long reason_358X; long env_359X; long key_360X; long reason_361X; long key_362X; long list_363X; long count_364X; long wants_stack_args_365X; long stack_arg_count_366X; long list_args_367X; long list_arg_count_368X; char *message_369X; long pc_1296X; long tem_1295X; long cont_1294X; long i_1293X; long string_1292X; char * addr_1291X; long len_1290X; long len_1289X; long x_1288X; char *string_1287X; char move_slowP_1286X; long slow_1285X; long len_1284X; long fast_1283X; long v_1282X; char *v_1281X; long v_1280X; long v_1279X; long obj_1278X; long env_1277X; long thread_1276X; long v_1275X; long new_cont_1274X; char * top_1273X; char * addr_1272X; long x_1271X; char * addr_1270X; long a_1269X; long last_1268X; long l_1267X; long x_1266X; char * addr_1265X; long a_1264X; long list_1263X; long temp_1262X; char okayP_1261X; char v_1260X; long temp1_1259X; long temp0_1258X; char v_1257X; long space_1256X; long x_1255X; char * addr_1254X; long a_1253X; long count_1252X; long args_1251X; long start_1250X; long temp_1249X; char okayP_1248X; char v_1247X; long temp1_1246X; long temp0_1245X; char v_1244X; long space_1243X; long env_1242X; long cont_1241X; char * addr_1240X; long new_1239X; long p_1238X; long env_1237X; long top_1236X; char * addr_1235X; long new_1234X; char * data_addr_1233X; char * addr_1232X; long header_1231X; long new_1230X; char * data_addr_1229X; char * addr_1228X; long header_1227X; long p_1226X; long previous_1225X; long cont_1224X; long end_1223X; long v_1222X; long p_1221X; char * arg_1220X; char * loc_1219X; long stob_1218X; char * top_1217X; long arg_count_1216X; long i_1215X; char * p_1214X; long v_1213X; long l_1212X; long i_1211X; long key_1210X; char okayP_1209X; long list_1208X; char v_1207X; long temp1_1206X; char v_1205X; long space_1204X; long x_1203X; long v_1202X; long x_1201X; long v_1200X; long count_1199X; long x_1198X; long v_1197X; long status_1196X; long channel_1195X; long type_1194X; char v_1193X; long template_1192X; char not_firstP_1191X; long cont_1190X; char not_firstP_1189X; FILE * out_1188X; long current_template_1187X; long why_1186X; long x_1185X; long x_1184X; long x_1183X; char * addr_1182X; long status_1181X; char pendingP_1180X; char eofP_1179X; long got_1178X; long length_1177X; long v_1176X; long obj_1175X; long reason_1174X; long status_1173X; long v_1172X; long v_1171X; long key_1170X; char okayP_1169X; char v_1168X; char * addr_1167X; long value_1166X; long offset_1165X; long i_1164X; long count_1163X; long y_1162X; char * addr_1161X; long val_1160X; char * addr_1159X; long value_1158X; long len_1157X; long s2_1156X; long foo_1155X; long previous_foo_1154X; long val_1153X; long x_1152X; char * addr_1151X; long status_1150X; char pendingP_1149X; long got_1148X; long length_1147X; long count_1146X; long start_1145X; char waitP_1144X; long x_1143X; long status_1142X; long channel_1141X; long v_1140X; long v_1139X; long v_1138X; long reason_1137X; long channel_1136X; long index_1135X; long val_1134X; long final_stack_arg_count_1133X; char v_1132X; long temp1_1131X; char v_1130X; long space_1129X; long stack_arg_count_1128X; long stack_slots_1127X; char x_1126X; long channel_1125X; long obj_1124X; long arg_count_1123X; long count_1122X; long i_1121X; long env_1120X; long value_1119X; char *v_1118X; long y_1117X; long i_1116X; long l_1115X; long bucket_1114X; long index_1113X; long h_1112X; long i_1111X; long v_1110X; long v_1109X; long x_1108X; long status_1107X; long reason_1106X; long v_1105X; long val_1104X; long reason_1103X; long x_1102X; long obj_1101X; long v_1100X; long v_1099X; long len_1098X; long s2_1097X; char * addr_1096X; long x_1095X; char * addr_1094X; long foo_1093X; long rest_list_1092X; long i_1091X; long n_1090X; long args_1089X; long skip_1088X; long template_1087X; long stack_arg_count_1086X; long skip_1085X; long skip_1084X; long template_1083X; long stack_arg_count_1082X; long skip_1081X; char * addr_1080X; long next_1079X; long channel_1078X; long m_1077X; long i_1076X; long value_1075X; long back_1074X; long env_1073X; long offset_1072X; long i_1071X; long x_1070X; char * addr_1069X; long a_1068X; long env_1067X; long v_1066X; long p_1065X; long key_1064X; long string_1063X; char * addr_1062X; long len_1061X; long n_1060X; long table_1059X; long x_1058X; long arg2_1057X; long key_1056X; char temp_1055X; char minutesP_1054X; long status_1053X; long status_1052X; long undumpable_count_1051X; long undumpables_1050X; long status_1049X; long status_1048X; long status_1047X; long status_1046X; FILE * port_1045X; char x_1044X; long comment_string_1043X; long obj_1042X; long arg3_1041X; long arg2_1040X; long key_1039X; long x_1038X; char * addr_1037X; long channel_1036X; long res_1035X; long i_1034X; char * addr_1033X; char * addr_1032X; long val_1031X; long x_1030X; long status_1029X; char readyP_1028X; long channel_1027X; long obj_1026X; long key_1025X; char v_1024X; long channel_1023X; long count_1022X; long start_1021X; long obj_1020X; long arg4_1019X; long arg3_1018X; long arg2_1017X; long key_1016X; long arg5_1015X; long arg4_1014X; long arg3_1013X; long arg2_1012X; long key_1011X; long x_1010X; long status_1009X; long channel_1008X; long obj_1007X; long key_1006X; long mode_1005X; long arg2_1004X; long key_1003X; long bucket_1002X; long index_1001X; long h_1000X; long i_999X; long i_998X; long i_997X; char * addr_996X; long i_995X; long i_994X; long i_993X; long c_992X; long b_991X; long c_990X; long b_989X; char x_988X; long c_987X; long b_986X; long c_985X; long mid_c_984X; long v_983X; long v_982X; long lo_c_981X; long hi_b_980X; long hi_a_979X; long lo_b_978X; long lo_a_977X; long b_976X; long v_975X; long v_974X; long args_973X; long next_972X; long next_op_971X; long cont_970X; long index_969X; long length_968X; long wants_stack_args_967X; long skip_966X; long skip_965X; long stack_space_964X; long protocol_963X; long index_962X; long length_961X; long wants_stack_args_960X; long skip_959X; long skip_958X; long stack_space_957X; long protocol_956X; long n_955X; long tem_954X; long stack_arg_count_953X; long v_952X; long v_951X; long key_950X; long start_i_949X; long temp_948X; char okayP_947X; long key_946X; char okayP_945X; long obj_944X; long obj_943X; long type_942X; long thing_941X; long stuff_940X; char * addr_939X; long val_938X; long x_937X; long i_936X; long b_935X; long p_934X; long port_933X; long Kchar_932X; long x_931X; long i_930X; long b_929X; long p_928X; long p_927X; long port_926X; char * addr_925X; long val_924X; long x_923X; long i_922X; long b_921X; long p_920X; long p_919X; long port_918X; long list_917X; long head_916X; char move_slowP_915X; long slow_914X; long list_913X; long n_912X; long arg2_911X; long val_910X; long mseconds_909X; long seconds_908X; long option_907X; long key_906X; char okayP_905X; long result_904X; char * args_903X; long name_902X; long proc_901X; long rest_list_900X; long x_899X; long tem_898X; long pc_897X; long v_896X; long value_895X; long vector_894X; long type_893X; char firstP_892X; long v_891X; long vector_890X; char firstP_889X; long x_888X; char * addr_887X; long b_886X; long x_885X; char * addr_884X; long proc_883X; long stob_882X; long h_881X; long i_880X; long key_879X; char okayP_878X; long y_877X; long n_876X; char * addr_875X; long prev_874X; long ch_873X; long val_872X; long key_871X; char okayP_870X; long key_869X; char okayP_868X; long key_867X; char okayP_866X; long key_865X; char okayP_864X; long key_863X; char okayP_862X; long val_861X; char * addr_860X; char * addr_859X; long val_858X; long n_857X; long string_856X; long table_855X; long obj_854X; long string_853X; char * addr_852X; long len_851X; long vector_850X; char * addr_849X; long value_848X; char * addr_847X; long len_846X; long init_845X; char okayP_844X; long rest_list_843X; long stack_nargs_842X; long new_841X; char * addr_840X; long len_839X; long type_838X; long new_837X; char * addr_836X; long len_835X; long type_834X; long value_833X; long val_832X; long val_831X; long val_830X; long val_829X; long r_828X; long n_827X; long a_826X; long a_825X; long val_824X; long val_823X; long val_822X; long val_821X; long val_820X; long a_819X; long a_818X; long val_817X; long val_816X; long delta_815X; long delta_814X; long offset_813X; long key_812X; char okayP_811X; char v_810X; long tem_809X; long key_808X; char okayP_807X; long list_arg_count_806X; long list_args_805X; long stack_nargs_804X; long obj_803X; char * addr_802X; long list_args_801X; long follower_800X; long list_799X; long args_798X; long list_arg_count_797X; char okayP_796X; long stack_nargs_795X; long list_args_794X; long total_arg_count_793X; long code_792X; long obj_791X; long obj_790X; long list_arg_count_789X; long list_args_788X; long stack_arg_count_787X; long obj_786X; char * arg_785X; char * loc_784X; long args_783X; long v_782X; long v_781X; long v_780X; long list_arg_count_779X; long list_args_778X; long stack_arg_count_777X; long exception_776X; long code_775X; long stack_arg_count_774X; char v_773X; long key_772X; char okayP_771X; long key_770X; char okayP_769X; char * addr_768X; long value_767X; long v_766X; long new_env_765X; char * addr_764X; long len_763X; char v_762X; long temp1_761X; long temp0_760X; char v_759X; long env_758X; char v_757X; long temp1_756X; char v_755X; long space_754X; char * addr_753X; long value_752X; long index_751X; long i_750X; long env_749X; long i_748X; long env_747X; long i_746X; long env_745X; long obj_744X; long opcode_743X; long nargs_742X; FILE * out_741X; long x_740X; long v_739X; long v_738X; long v_737X; long v_736X; long v_735X; long v_734X; long v_733X; long count_732X; long to_index_731X; long from_index_730X; long arg5_729X; long arg4_728X; long arg3_727X; long arg2_726X; char * addr_725X; long len_724X; long value_723X; long index_722X; long arg4_721X; long arg3_720X; long arg2_719X; long len_718X; long index_717X; long arg3_716X; long arg2_715X; long list_714X; long thing_713X; char v_712X; long temp1_711X; char v_710X; long space_709X; long len_708X; long x_707X; long obj_706X; long arg2_705X; long x_704X; long arg2_703X; long status_702X; long value_701X; long key_700X; long arg2_699X; long mseconds_698X; long seconds_697X; long mseconds_696X; long seconds_695X; long x_694X; long other_693X; long option_692X; long arg2_691X; long x_690X; long arg2_689X; char v_688X; long temp1_687X; char v_686X; long rest_list_685X; long p_684X; long nargs_683X; long x_682X; long arg2_681X; long p_680X; long p_679X; long p_678X; long old_677X; long temp_676X; long obj_675X; long p_674X; long template_673X; long p_672X; long temp_671X; long obj_670X; long x_669X; long type_668X; long x_667X; long bytes_666X; long x_665X; long other_664X; long key_663X; long arg2_662X; char v_661X; long temp1_660X; char v_659X; long n_658X; long x_657X; long obj_656X; long v_655X; char v_654X; long temp1_653X; char v_652X; long x_651X; char v_650X; long temp1_649X; char v_648X; long space_647X; char * addr_646X; long next_645X; long channel_644X; long n_643X; char * addr_642X; long head_641X; long channel_640X; long obj_639X; char v_638X; long temp1_637X; char v_636X; char v_635X; long temp1_634X; char v_633X; char v_632X; long temp1_631X; char v_630X; char v_629X; long temp1_628X; char v_627X; char v_626X; long temp1_625X; char v_624X; long x_623X; long x_622X; long x_621X; long arg2_620X; long descriptor_619X; long x_618X; long obj_617X; char v_616X; long temp1_615X; char v_614X; long len_613X; char Kchar_612X; long index_611X; long arg3_610X; long arg2_609X; long len_608X; long index_607X; long arg2_606X; long obj_605X; char v_604X; long temp1_603X; char v_602X; long size_601X; char init_600X; long len_599X; long arg2_598X; long len_597X; long Kchar_596X; long index_595X; long arg3_594X; long arg2_593X; long len_592X; long index_591X; long arg2_590X; long obj_589X; char v_588X; long temp1_587X; char v_586X; long size_585X; long init_584X; long len_583X; long arg2_582X; char * addr_581X; long index_580X; long len_579X; long type_578X; long value_577X; long stob_576X; long arg2_575X; long index_574X; long len_573X; long type_572X; long index_571X; long stob_570X; char v_569X; long temp1_568X; long temp0_567X; char v_566X; long size_565X; long len_564X; long type_563X; long init_562X; long len_561X; char * addr_560X; long type_559X; long offset_558X; long value_557X; long stob_556X; long type_555X; long offset_554X; long stob_553X; char v_552X; long temp1_551X; char v_550X; long space_549X; long len_548X; char v_547X; long temp1_546X; char v_545X; long space_544X; long len_543X; long type_542X; long stob_541X; long type_540X; long x_539X; long x_538X; long x_537X; long x_536X; long arg2_535X; long x_534X; long arg2_533X; long x_532X; long x_531X; long result_530X; long x_529X; long x_528X; long count_527X; long value_526X; long y_525X; long x_524X; long x_523X; long arg2_522X; long x_521X; long arg2_520X; long x_519X; long arg2_518X; long x_517X; long x_516X; long arg2_515X; long x_514X; long arg2_513X; long x_512X; long arg2_511X; long n_510X; long n_509X; long x_508X; long x_507X; long x_506X; long x_505X; long x_504X; long x_503X; long x_502X; long x_501X; long x_500X; long x_499X; long x_498X; long x_497X; long x_496X; long x_495X; long a_494X; long y_493X; long x_492X; long b_491X; long a_490X; long x_489X; long arg2_488X; long x_487X; long arg2_486X; long x_485X; long arg2_484X; long x_483X; long arg2_482X; long x_481X; long arg2_480X; long x_479X; long arg2_478X; long b_477X; long a_476X; long x_475X; long arg2_474X; long z_473X; long y_472X; long x_471X; long b_470X; long a_469X; long x_468X; long arg2_467X; long z_466X; long y_465X; long x_464X; long x_463X; long x_462X; long x_461X; long n_460X; long n_459X; long n_458X; long n_457X; long x_456X; long x_455X; long arg2_454X; long rest_list_453X; long x_452X; long rest_list_451X; long stack_nargs_450X; long arg0_449X; long arg1_448X; long rest_list_447X; long arg0_446X; long stack_nargs_445X; long index_444X; long val_443X; long max_442X; long p_441X; char v_440X; long temp1_439X; char v_438X; long space_437X; long space_436X; long index_435X; long v_434X; char v_433X; long temp1_432X; char v_431X; long space_430X; long code_429X; long tem_428X; long stack_nargs_427X; long p_426X; long obj_425X; long consumer_424X; long cont_423X; long rest_list_422X; long proc_421X; long stack_nargs_420X; long args_419X; long length_418X; char okayP_417X; long list_args_416X; long stob_415X; char * top_of_args_414X; long nargs_413X; long obj_412X; long stack_arg_count_411X; char v_410X; long temp1_409X; char v_408X; long space_407X; long code_406X; long template_405X; long obj_404X; long stack_arg_count_403X; long cont_402X; char v_401X; long temp1_400X; char v_399X; long space_398X; char v_397X; long temp1_396X; char v_395X; long space_394X; long total_count_393X; long p_392X; long v_391X; char * addr_390X; long val_389X; long location_388X; long location_387X; long env_386X; long back_385X; long env_384X; long back_383X; long env_382X; long back_381X; long count_380X; char * code_pointer_379X; long code_378X; char * addr_377X; long proc_376X; long temp_375X; char okayP_374X; char v_373X; long temp1_372X; long temp0_371X; char v_370X; { v_370X = AVAILABLEp(2); if (v_370X) { arg2K0 = 1; arg0K1 = proc_345X; goto L19388;} else { temp0_371X = collect_saving_temps(proc_345X, 1, &temp1_372X); v_373X = AVAILABLEp(2); if (v_373X) { arg2K0 = 1; arg0K1 = temp0_371X; goto L19388;} else { arg2K0 = 0; arg0K1 = temp0_371X; goto L19388;}}} L19388: { okayP_374X = arg2K0; temp_375X = arg0K1; if (okayP_374X) { arg0K0 = temp_375X; goto L19359;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = temp_375X; goto L19359;}} L19359: { proc_376X = arg0K0; addr_377X = ALLOCATE_SPACE(17, 6); *((long *) addr_377X) = 582; code_378X = 3 + (((long) (addr_377X + 4))); *((unsigned char *) (((char *) (-3 + code_378X)))) = 24; *((unsigned char *) ((((char *) (-3 + code_378X))) + 1)) = nargs_346X; Scode_pointerS = (((char *) (-3 + code_378X))); SvalS = proc_376X; arg1K0 = (Scode_pointerS); goto L18451;} L18451: { code_pointer_379X = arg1K0; switch ((*((unsigned char *) code_pointer_379X))) { case 0 : case 146 : { push_exception_continuationB(15, 1); arg0K0 = 0; goto L16678;} break; case 1 : { count_380X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))); *((long *) (SstackS)) = (SenvS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (1034 + (((count_380X)<<10))); SstackS = ((SstackS) + -4); SenvS = (3 + (((long) ((SstackS) + 8)))); Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} break; case 2 : { SvalS = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))))); Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} break; case 3 : { SvalS = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))); Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} break; case 4 : { back_381X = *((unsigned char *) ((Scode_pointerS) + 1)); env_382X = SenvS; arg0K0 = env_382X; arg0K1 = back_381X; goto L23845;} break; case 5 : { SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 2); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 6 : { SvalS = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (SenvS))))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 2); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 7 : { SvalS = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SenvS)))))))))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 2); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 8 : { back_383X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))); env_384X = SenvS; arg0K0 = env_384X; arg0K1 = back_383X; goto L20260;} break; case 9 : { back_385X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))); env_386X = SenvS; arg0K0 = env_386X; arg0K1 = back_385X; goto L20198;} break; case 10 : { location_387X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))); SvalS = (*((long *) ((((char *) (-3 + location_387X))) + 4))); if ((17 == (255 & (SvalS)))) { push_exception_continuationB(1, 3); *((long *) (SstackS)) = location_387X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 11 : { location_388X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))); if ((273 == (*((long *) ((((char *) (-3 + location_388X))) + 4))))) { push_exception_continuationB(1, 3); *((long *) (SstackS)) = location_388X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { val_389X = SvalS; addr_390X = (((char *) (-3 + location_388X))) + 4; S48_WRITE_BARRIER(location_388X, addr_390X, val_389X); *((long *) addr_390X) = val_389X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 12 : { v_391X = *((unsigned char *) ((Scode_pointerS) + 3)); if ((0 == v_391X)) { p_392X = SenvS; if ((3 == (3 & p_392X))) { if ((p_392X < (((long) (Sstack_beginS))))) { arg0K0 = 0; goto L20977;} else { if (((((long) (Sstack_endS))) < p_392X)) { arg0K0 = 0; goto L20977;} else { arg0K0 = ((Sstack_endS) - (Sstack_beginS)); goto L20977;}}} else { arg0K0 = 0; goto L20977;}} else { arg0K0 = (SvalS); goto L20984;}} break; case 13 : { total_count_393X = *((unsigned char *) ((Scode_pointerS) + 2)); space_394X = 1 + total_count_393X; v_395X = AVAILABLEp(space_394X); if (v_395X) { goto L20779;} else { collect_saving_temps(1, 1, &temp1_396X); v_397X = AVAILABLEp(space_394X); if (v_397X) { goto L20779;} else { ps_error("Scheme48 heap overflow", 0); goto L20779;}}} break; case 14 : { *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 15 : { SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 3); arg0K0 = 0; goto L16678;} else { *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 16 : { *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); SvalS = (*((long *) ((((char *) (-3 + (SenvS)))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 3); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 17 : { SstackS = ((SstackS) + 4); SvalS = (*((long *) (SstackS))); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 18 : { SvalS = (*((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} break; case 19 : { *((long *) ((SstackS) + (4 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))))) = (SvalS); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} break; case 20 : { push_continuationB(((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))), (*((unsigned char *) ((Scode_pointerS) + 3)))); Scode_pointerS = ((Scode_pointerS) + 4); arg1K0 = (Scode_pointerS); goto L18451;} break; case 21 : { push_continuationB(((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))), (((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4))))); Scode_pointerS = ((Scode_pointerS) + 5); arg1K0 = (Scode_pointerS); goto L18451;} break; case 22 : { space_398X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_399X = AVAILABLEp(space_398X); if (v_399X) { arg2K0 = 1; arg0K1 = 0; goto L20705;} else { collect_saving_temps(1, 1, &temp1_400X); v_401X = AVAILABLEp(space_398X); if (v_401X) { arg2K0 = 1; arg0K1 = 0; goto L20705;} else { arg2K0 = 0; arg0K1 = 0; goto L20705;}}} break; case 23 : { cont_402X = *((long *) (((char *) (-3 + (Sbottom_of_stackS))))); if ((3 == (3 & cont_402X))) { if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_402X))) + -4))))>>2))))) { if ((3 == (3 & cont_402X))) { if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_402X))) + -4))))>>2))))) { merged_arg0K0 = cont_402X; copy_continuation_from_heapB_return_tag = 0; goto copy_continuation_from_heapB; copy_continuation_from_heapB_return_0: goto L19860;} else { goto L19895;}} else { goto L19895;}} else { goto L19861;}} else { goto L19861;}} break; case 24 : { stack_arg_count_403X = *((unsigned char *) ((Scode_pointerS) + 1)); obj_404X = SvalS; if ((3 == (3 & obj_404X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_404X))) + -4))))>>2))))) { template_405X = *((long *) (((char *) (-3 + (SvalS))))); code_406X = *((long *) (((char *) (-3 + template_405X)))); if ((stack_arg_count_403X == (*((unsigned char *) ((((char *) (-3 + code_406X))) + 1))))) { StemplateS = template_405X; SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4))); Scode_pointerS = ((((char *) (-3 + code_406X))) + 2); if (((SstackS) < (Sstack_limitS))) { space_407X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_408X = AVAILABLEp(space_407X); if (v_408X) { arg2K0 = 1; arg0K1 = 0; goto L19221;} else { collect_saving_temps(1, 1, &temp1_409X); v_410X = AVAILABLEp(space_407X); if (v_410X) { arg2K0 = 1; arg0K1 = 0; goto L19221;} else { arg2K0 = 0; arg0K1 = 0; goto L19221;}}} else { goto L19133;}} else { arg0K0 = stack_arg_count_403X; goto L16079;}} else { arg0K0 = 3; arg0K1 = stack_arg_count_403X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = stack_arg_count_403X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} break; case 25 : { stack_arg_count_411X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))); obj_412X = SvalS; if ((3 == (3 & obj_412X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_412X))) + -4))))>>2))))) { arg0K0 = stack_arg_count_411X; goto L16079;} else { arg0K0 = 3; arg0K1 = stack_arg_count_411X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = stack_arg_count_411X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} break; case 26 : { nargs_413X = *((unsigned char *) ((Scode_pointerS) + 1)); top_of_args_414X = SstackS; stob_415X = ScontS; arg1K0 = ((((char *) (-3 + stob_415X))) + -8); arg1K1 = (top_of_args_414X + (((nargs_413X)<<2))); goto L17641;} break; case 27 : { SstackS = ((SstackS) + 4); list_args_416X = *((long *) (SstackS)); merged_arg0K0 = list_args_416X; okay_argument_list_return_tag = 0; goto okay_argument_list; okay_argument_list_return_0: okayP_417X = okay_argument_list0_return_value; length_418X = okay_argument_list1_return_value; if (okayP_417X) { arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))); arg0K1 = list_args_416X; arg0K2 = length_418X; goto L17679;} else { *((long *) (SstackS)) = list_args_416X; SstackS = ((SstackS) + -4); merged_arg0K0 = 25; merged_arg0K1 = (1 + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))); pop_args_GlistS_return_tag = 0; goto pop_args_GlistS; pop_args_GlistS_return_0: args_419X = pop_args_GlistS0_return_value; push_exception_continuationB(5, 0); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = args_419X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 28 : { SstackS = ((SstackS) + 4); SstackS = ((SstackS) + 4); stack_nargs_420X = (((*((long *) (SstackS))))>>2); proc_421X = *((long *) ((SstackS) + (4 + (((stack_nargs_420X)<<2))))); *((long *) ((SstackS) + (4 + (((stack_nargs_420X)<<2))))) = 1; SstackS = ((SstackS) + 4); rest_list_422X = *((long *) (SstackS)); if ((25 == rest_list_422X)) { SstackS = ((SstackS) + 4); arg0K0 = (*((long *) (SstackS))); arg0K1 = (-2 + stack_nargs_420X); goto L11286;} else { if ((25 == (*((long *) ((((char *) (-3 + rest_list_422X))) + 4))))) { arg0K0 = (*((long *) (((char *) (-3 + rest_list_422X))))); arg0K1 = (-1 + stack_nargs_420X); goto L11286;} else { arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_422X))) + 4)))))) + 4))); arg0K1 = rest_list_422X; goto L11327;}}} break; case 29 : { SstackS = ((SstackS) + 4); cont_423X = *((long *) (SstackS)); if ((3 == (3 & cont_423X))) { if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_423X))) + -4))))>>2))))) { merged_arg0K0 = cont_423X; copy_continuation_from_heapB_return_tag = 1; goto copy_continuation_from_heapB; copy_continuation_from_heapB_return_1: goto L17584;} else { goto L17591;}} else { goto L17591;}} break; case 30 : { SstackS = ((SstackS) + 4); consumer_424X = *((long *) (SstackS)); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); SvalS = consumer_424X; obj_425X = SvalS; if ((3 == (3 & obj_425X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_425X))) + -4))))>>2))))) { arg0K0 = 1; goto L16079;} else { arg0K0 = 3; arg0K1 = 1; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = 1; arg0K2 = 25; arg0K3 = 0; goto L17174;}} break; case 31 : { pop_continuationB_return_tag = 0; goto pop_continuationB; pop_continuationB_return_0: arg1K0 = (Scode_pointerS); goto L18451;} break; case 32 : { arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))); arg0K1 = 25; arg0K2 = 0; goto L20440;} break; case 33 : { SstackS = ((SstackS) + 4); p_426X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); stack_nargs_427X = (((*((long *) (SstackS))))>>2); SstackS = ((SstackS) + 4); arg0K0 = stack_nargs_427X; arg0K1 = (*((long *) (SstackS))); arg0K2 = ((((p_426X)>>2)) - stack_nargs_427X); goto L20440;} break; case 34 : { Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 35 : { tem_428X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))); StemplateS = tem_428X; Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_428X)))))))); arg1K0 = (Scode_pointerS); goto L18451;} break; case 36 : { code_429X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))))))))); if ((0 == (*((unsigned char *) ((((char *) (-3 + code_429X))) + 1))))) { if (((SstackS) < (Sstack_limitS))) { space_430X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_431X = AVAILABLEp(space_430X); if (v_431X) { arg2K0 = 1; arg0K1 = 0; goto L18957;} else { collect_saving_temps(1, 1, &temp1_432X); v_433X = AVAILABLEp(space_430X); if (v_433X) { arg2K0 = 1; arg0K1 = 0; goto L18957;} else { arg2K0 = 0; arg0K1 = 0; goto L18957;}}} else { goto L18830;}} else { v_434X = *((unsigned char *) ((((char *) (-3 + code_429X))) + 1)); if ((66 == v_434X)) { if ((0 == (*((unsigned char *) ((((char *) (-3 + code_429X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_429X))) + -4))))>>8)))))))) { index_435X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_429X))) + -4))))>>8)); space_436X = ((((*((unsigned char *) ((((char *) (-3 + code_429X))) + index_435X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_429X))) + (1 + index_435X)))); if ((space_436X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L18830;} else { space_437X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_438X = AVAILABLEp(space_437X); if (v_438X) { arg2K0 = 1; arg0K1 = 0; goto L19013;} else { collect_saving_temps(1, 1, &temp1_439X); v_440X = AVAILABLEp(space_437X); if (v_440X) { arg2K0 = 1; arg0K1 = 0; goto L19013;} else { arg2K0 = 0; arg0K1 = 0; goto L19013;}}}} else { goto L18875;}} else { goto L18875;}}} break; case 37 : { if ((1 == (SvalS))) { Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))); arg1K0 = (Scode_pointerS); goto L18451;} else { Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} break; case 38 : { Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))); arg1K0 = (Scode_pointerS); goto L18451;} break; case 39 : { if ((0 == (3 & (SvalS)))) { p_441X = SvalS; max_442X = *((unsigned char *) ((Scode_pointerS) + 1)); val_443X = ((p_441X)>>2); if ((val_443X < 0)) { goto L18731;} else { if ((val_443X < max_442X)) { index_444X = 1 + (((val_443X)<<1)); arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_444X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_444X))))); goto L18733;} else { goto L18731;}}} else { push_exception_continuationB(5, 0); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 40 : { stack_nargs_445X = (((*((long *) ((SstackS) + 4))))>>2); if ((0 == stack_nargs_445X)) { arg0_446X = *((long *) ((SstackS) + 12)); rest_list_447X = *((long *) ((SstackS) + 8)); *((long *) (SstackS)) = arg0_446X; SstackS = ((SstackS) + -4); SvalS = (*((long *) (((char *) (-3 + rest_list_447X))))); goto L19763;} else { arg1_448X = *((long *) ((SstackS) + (4 + (((stack_nargs_445X)<<2))))); arg0_449X = *((long *) ((SstackS) + (8 + (((stack_nargs_445X)<<2))))); *((long *) ((SstackS) + (8 + (((stack_nargs_445X)<<2))))) = 1; *((long *) ((SstackS) + 4)) = (-4 + (((stack_nargs_445X)<<2))); *((long *) (SstackS)) = arg0_449X; SstackS = ((SstackS) + -4); SvalS = arg1_448X; goto L19763;}} break; case 41 : { stack_nargs_450X = (((*((long *) ((SstackS) + 4))))>>2); if ((stack_nargs_450X == 0)) { rest_list_451X = *((long *) ((SstackS) + 8)); if ((25 == (*((long *) ((((char *) (-3 + rest_list_451X))) + 4))))) { arg0K0 = 1; goto L18629;} else { *((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_451X))) + 4))); *((long *) ((SstackS) + 12)) = (SvalS); arg0K0 = -2; goto L18629;}} else { if ((stack_nargs_450X == 1)) { if ((25 == (*((long *) ((SstackS) + 8))))) { arg0K0 = 1; goto L18629;} else { *((long *) ((SstackS) + 4)) = 0; *((long *) ((SstackS) + 12)) = (SvalS); arg0K0 = -2; goto L18629;}} else { *((long *) ((SstackS) + (8 + (((stack_nargs_450X)<<2))))) = (SvalS); arg0K0 = -2; goto L18629;}}} break; case 42 : { if ((1 == (SvalS))) { Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { x_452X = (((*((long *) ((SstackS) + 4))))>>2); if ((x_452X == 0)) { rest_list_453X = *((long *) ((SstackS) + 8)); if ((25 == (*((long *) ((((char *) (-3 + rest_list_453X))) + 4))))) { arg0K0 = 1; goto L19654;} else { *((long *) ((SstackS) + 8)) = (*((long *) ((((char *) (-3 + rest_list_453X))) + 4))); *((long *) ((SstackS) + 12)) = (*((long *) (((char *) (-3 + rest_list_453X))))); arg0K0 = -2; goto L19654;}} else { if ((x_452X == 1)) { if ((25 == (*((long *) ((SstackS) + 8))))) { arg0K0 = 1; goto L19654;} else { *((long *) ((SstackS) + 4)) = 0; arg0K0 = -2; goto L19654;}} else { arg0K0 = -2; goto L19654;}}}} break; case 43 : { SstackS = ((SstackS) + 4); arg2_454X = *((long *) (SstackS)); x_455X = SvalS; if ((arg2_454X == x_455X)) { arg0K0 = 5; goto L38236;} else { arg0K0 = 1; goto L38236;}} break; case 44 : { x_456X = SvalS; if ((0 == (3 & x_456X))) { arg0K0 = 5; goto L38248;} else { if ((3 == (3 & x_456X))) { if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) { arg0K0 = 5; goto L38248;} else { goto L10634;}} else { goto L10634;}}} break; case 45 : { n_457X = SvalS; if ((0 == (3 & n_457X))) { goto L28412;} else { if ((3 == (3 & n_457X))) { if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_457X))) + -4))))>>2))))) { goto L28412;} else { goto L28413;}} else { goto L28413;}}} break; case 46 : { n_458X = SvalS; if ((0 == (3 & n_458X))) { goto L28569;} else { if ((3 == (3 & n_458X))) { if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) { goto L28569;} else { goto L28544;}} else { goto L28544;}}} break; case 47 : { n_459X = SvalS; if ((0 == (3 & n_459X))) { goto L28768;} else { if ((3 == (3 & n_459X))) { if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) { goto L28768;} else { goto L28743;}} else { goto L28743;}}} break; case 48 : { n_460X = SvalS; if ((0 == (3 & n_460X))) { goto L28967;} else { if ((3 == (3 & n_460X))) { if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) { goto L28967;} else { goto L28942;}} else { goto L28942;}}} break; case 49 : { x_461X = SvalS; if ((0 == (3 & x_461X))) { SvalS = 5; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_461X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 50 : { x_462X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_462X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 51 : { x_463X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_463X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 52 : { SstackS = ((SstackS) + 4); x_464X = *((long *) (SstackS)); y_465X = SvalS; if ((0 == (3 & (x_464X | y_465X)))) { z_466X = (((x_464X)>>2)) + (((y_465X)>>2)); if ((536870911 < z_466X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_464X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_465X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if ((z_466X < -536870912)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_464X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_465X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = (((z_466X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_464X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_465X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 53 : { SstackS = ((SstackS) + 4); arg2_467X = *((long *) (SstackS)); x_468X = SvalS; if ((0 == (3 & (arg2_467X | x_468X)))) { a_469X = ((arg2_467X)>>2); b_470X = ((x_468X)>>2); if ((a_469X < 0)) { arg0K0 = (0 - a_469X); goto L6787;} else { arg0K0 = a_469X; goto L6787;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 54 : { SstackS = ((SstackS) + 4); x_471X = *((long *) (SstackS)); y_472X = SvalS; if ((0 == (3 & (x_471X | y_472X)))) { z_473X = (((x_471X)>>2)) - (((y_472X)>>2)); if ((536870911 < z_473X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_471X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_472X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if ((z_473X < -536870912)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_471X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_472X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = (((z_473X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_471X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_472X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 55 : { SstackS = ((SstackS) + 4); arg2_474X = *((long *) (SstackS)); x_475X = SvalS; if ((0 == (3 & (arg2_474X | x_475X)))) { if ((0 == x_475X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_474X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_475X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { a_476X = ((arg2_474X)>>2); b_477X = ((x_475X)>>2); if ((a_476X < 0)) { arg0K0 = (0 - a_476X); goto L7068;} else { arg0K0 = a_476X; goto L7068;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_474X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_475X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 56 : { SstackS = ((SstackS) + 4); arg2_478X = *((long *) (SstackS)); x_479X = SvalS; if ((0 == (3 & (arg2_478X | x_479X)))) { if ((arg2_478X == x_479X)) { arg0K0 = 5; goto L31877;} else { arg0K0 = 1; goto L31877;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_478X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_479X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 57 : { SstackS = ((SstackS) + 4); arg2_480X = *((long *) (SstackS)); x_481X = SvalS; if ((0 == (3 & (arg2_480X | x_481X)))) { if ((arg2_480X < x_481X)) { arg0K0 = 5; goto L31955;} else { arg0K0 = 1; goto L31955;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_480X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_481X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 58 : { SstackS = ((SstackS) + 4); arg2_482X = *((long *) (SstackS)); x_483X = SvalS; if ((0 == (3 & (arg2_482X | x_483X)))) { if ((x_483X < arg2_482X)) { arg0K0 = 5; goto L32033;} else { arg0K0 = 1; goto L32033;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_482X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_483X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 59 : { SstackS = ((SstackS) + 4); arg2_484X = *((long *) (SstackS)); x_485X = SvalS; if ((0 == (3 & (arg2_484X | x_485X)))) { if ((x_485X < arg2_484X)) { arg0K0 = 1; goto L32111;} else { arg0K0 = 5; goto L32111;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_484X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_485X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 60 : { SstackS = ((SstackS) + 4); arg2_486X = *((long *) (SstackS)); x_487X = SvalS; if ((0 == (3 & (arg2_486X | x_487X)))) { if ((arg2_486X < x_487X)) { arg0K0 = 1; goto L32189;} else { arg0K0 = 5; goto L32189;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_486X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_487X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 61 : { SstackS = ((SstackS) + 4); arg2_488X = *((long *) (SstackS)); x_489X = SvalS; if ((0 == (3 & (arg2_488X | x_489X)))) { if ((0 == x_489X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_488X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_489X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { a_490X = ((arg2_488X)>>2); b_491X = ((x_489X)>>2); if ((a_490X < 0)) { arg0K0 = (0 - a_490X); goto L7245;} else { arg0K0 = a_490X; goto L7245;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_488X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_489X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 62 : { SstackS = ((SstackS) + 4); x_492X = *((long *) (SstackS)); y_493X = SvalS; if ((0 == (3 & (x_492X | y_493X)))) { if ((0 == y_493X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_492X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_493X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { a_494X = ((x_492X)>>2); if ((a_494X < 0)) { arg0K0 = (0 - a_494X); goto L25359;} else { arg0K0 = a_494X; goto L25359;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_492X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_493X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 63 : { x_495X = SvalS; if ((0 == (3 & x_495X))) { SvalS = x_495X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_495X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 64 : { x_496X = SvalS; if ((0 == (3 & x_496X))) { SvalS = x_496X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_496X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 65 : { x_497X = SvalS; if ((0 == (3 & x_497X))) { SvalS = 4; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_497X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 66 : { x_498X = SvalS; if ((0 == (3 & x_498X))) { SvalS = x_498X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_498X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 67 : { x_499X = SvalS; if ((0 == (3 & x_499X))) { SvalS = 0; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_499X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 68 : { x_500X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_500X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 69 : { x_501X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_501X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 70 : { x_502X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_502X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 71 : { x_503X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_503X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 72 : { x_504X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_504X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 73 : { x_505X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_505X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 74 : { x_506X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_506X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 75 : { x_507X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_507X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 76 : { x_508X = SvalS; if ((0 == (3 & x_508X))) { if ((x_508X < 0)) { goto L38505;} else { SvalS = 0; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} else { goto L38505;}} break; case 77 : { n_509X = SvalS; if ((0 == (3 & n_509X))) { n_510X = ((n_509X)>>2); if ((n_510X < 0)) { arg0K0 = (0 - n_510X); goto L25645;} else { arg0K0 = n_510X; goto L25645;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_509X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 78 : { SstackS = ((SstackS) + 4); arg2_511X = *((long *) (SstackS)); x_512X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_511X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_512X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} break; case 79 : { SstackS = ((SstackS) + 4); arg2_513X = *((long *) (SstackS)); x_514X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_513X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_514X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} break; case 80 : { SstackS = ((SstackS) + 4); arg2_515X = *((long *) (SstackS)); x_516X = SvalS; push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_515X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_516X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} break; case 81 : { x_517X = SvalS; if ((0 == (3 & x_517X))) { SvalS = (~ (3 | x_517X)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_517X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 82 : { SstackS = ((SstackS) + 4); arg2_518X = *((long *) (SstackS)); x_519X = SvalS; if ((0 == (3 & (arg2_518X | x_519X)))) { SvalS = (arg2_518X & x_519X); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_518X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_519X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 83 : { SstackS = ((SstackS) + 4); arg2_520X = *((long *) (SstackS)); x_521X = SvalS; if ((0 == (3 & (arg2_520X | x_521X)))) { SvalS = (arg2_520X | x_521X); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_520X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_521X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 84 : { SstackS = ((SstackS) + 4); arg2_522X = *((long *) (SstackS)); x_523X = SvalS; if ((0 == (3 & (arg2_522X | x_523X)))) { SvalS = (arg2_522X ^ x_523X); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_522X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_523X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 85 : { SstackS = ((SstackS) + 4); x_524X = *((long *) (SstackS)); y_525X = SvalS; if ((0 == (3 & (x_524X | y_525X)))) { value_526X = ((x_524X)>>2); count_527X = ((y_525X)>>2); if ((count_527X < 0)) { PS_SHIFT_RIGHT(value_526X, (0 - count_527X), x_528X) SvalS = (((x_528X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { PS_SHIFT_LEFT(value_526X, count_527X, x_529X) result_530X = (((((x_529X)<<2)))>>2); PS_SHIFT_RIGHT(result_530X, count_527X, x_531X) if ((value_526X == x_531X)) { if ((value_526X < 0)) { if ((result_530X < 0)) { goto L25924;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_524X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_525X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { if ((result_530X < 0)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_524X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_525X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { goto L25924;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_524X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_525X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_524X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = y_525X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 86 : { x_532X = SvalS; if ((9 == (255 & x_532X))) { arg0K0 = 5; goto L38593;} else { arg0K0 = 1; goto L38593;}} break; case 87 : { SstackS = ((SstackS) + 4); arg2_533X = *((long *) (SstackS)); if ((9 == (255 & arg2_533X))) { if ((9 == (255 & (SvalS)))) { x_534X = SvalS; if ((arg2_533X == x_534X)) { arg0K0 = 5; goto L28187;} else { arg0K0 = 1; goto L28187;}} else { goto L28160;}} else { goto L28160;}} break; case 88 : { SstackS = ((SstackS) + 4); arg2_535X = *((long *) (SstackS)); if ((9 == (255 & arg2_535X))) { if ((9 == (255 & (SvalS)))) { x_536X = SvalS; if ((arg2_535X < x_536X)) { arg0K0 = 5; goto L28097;} else { arg0K0 = 1; goto L28097;}} else { goto L28070;}} else { goto L28070;}} break; case 89 : { if ((9 == (255 & (SvalS)))) { SvalS = (((((((((SvalS))>>8)))))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 90 : { if ((0 == (3 & (SvalS)))) { x_537X = (((SvalS))>>2); if ((255 < x_537X)) { goto L32881;} else { if ((x_537X < 0)) { goto L32881;} else { SvalS = (9 + (((((x_537X)))<<8))); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 91 : { x_538X = SvalS; if ((21 == x_538X)) { arg0K0 = 5; goto L38622;} else { arg0K0 = 1; goto L38622;}} break; case 92 : { x_539X = SvalS; type_540X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((3 == (3 & x_539X))) { if (((31 & ((((*((long *) ((((char *) (-3 + x_539X))) + -4))))>>2))) == type_540X)) { arg0K0 = 5; goto L38636;} else { arg0K0 = 1; goto L38636;}} else { arg0K0 = 1; goto L38636;}} break; case 93 : { stob_541X = SvalS; type_542X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((3 == (3 & stob_541X))) { if (((31 & ((((*((long *) ((((char *) (-3 + stob_541X))) + -4))))>>2))) == type_542X)) { SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_541X))) + -4))))>>8)))); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L21242;}} else { goto L21242;}} break; case 94 : { len_543X = *((unsigned char *) ((Scode_pointerS) + 1)); space_544X = 4 + (((len_543X)<<2)); v_545X = AVAILABLEp(space_544X); if (v_545X) { goto L21314;} else { collect_saving_temps(1, 1, &temp1_546X); v_547X = AVAILABLEp(space_544X); if (v_547X) { goto L21314;} else { ps_error("Scheme48 heap overflow", 0); goto L21314;}}} break; case 95 : { SstackS = ((SstackS) + 4); len_548X = (((*((long *) (SstackS))))>>2); space_549X = 4 + (((len_548X)<<2)); v_550X = AVAILABLEp(space_549X); if (v_550X) { goto L21496;} else { collect_saving_temps(1, 1, &temp1_551X); v_552X = AVAILABLEp(space_549X); if (v_552X) { goto L21496;} else { ps_error("Scheme48 heap overflow", 0); goto L21496;}}} break; case 96 : { stob_553X = SvalS; offset_554X = *((unsigned char *) ((Scode_pointerS) + 2)); type_555X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((3 == (3 & stob_553X))) { if (((31 & ((((*((long *) ((((char *) (-3 + stob_553X))) + -4))))>>2))) == type_555X)) { SvalS = (*((long *) ((((char *) (-3 + stob_553X))) + (((offset_554X)<<2))))); Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L21706;}} else { goto L21706;}} break; case 97 : { SstackS = ((SstackS) + 4); stob_556X = *((long *) (SstackS)); value_557X = SvalS; offset_558X = *((unsigned char *) ((Scode_pointerS) + 2)); type_559X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((3 == (3 & stob_556X))) { if (((31 & ((((*((long *) ((((char *) (-3 + stob_556X))) + -4))))>>2))) == type_559X)) { if ((3 == (3 & stob_556X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_556X))) + -4)))))) { addr_560X = (((char *) (-3 + stob_556X))) + (((offset_558X)<<2)); S48_WRITE_BARRIER(stob_556X, addr_560X, value_557X); *((long *) addr_560X) = value_557X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L21809;}} else { goto L21809;}} else { goto L21809;}} else { goto L21809;}} break; case 98 : { SstackS = ((SstackS) + 4); len_561X = *((long *) (SstackS)); init_562X = SvalS; type_563X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == (3 & len_561X))) { len_564X = ((len_561X)>>2); size_565X = 1 + len_564X; if ((len_564X < 0)) { goto L21994;} else { if ((4194305 < size_565X)) { goto L21994;} else { v_566X = AVAILABLEp(size_565X); if (v_566X) { arg2K0 = 1; arg0K1 = init_562X; goto L22012;} else { temp0_567X = collect_saving_temps(init_562X, 1, &temp1_568X); v_569X = AVAILABLEp(size_565X); if (v_569X) { arg2K0 = 1; arg0K1 = temp0_567X; goto L22012;} else { arg2K0 = 0; arg0K1 = temp0_567X; goto L22012;}}}}} else { push_exception_continuationB(5, 2); *((long *) (SstackS)) = (((type_563X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = len_561X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = init_562X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;}} break; case 99 : { SstackS = ((SstackS) + 4); stob_570X = *((long *) (SstackS)); index_571X = SvalS; type_572X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == (3 & index_571X))) { if ((3 == (3 & stob_570X))) { if (((31 & ((((*((long *) ((((char *) (-3 + stob_570X))) + -4))))>>2))) == type_572X)) { len_573X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_570X))) + -4))))>>8))))>>2); index_574X = ((index_571X)>>2); if ((index_574X < 0)) { goto L22290;} else { if ((index_574X < len_573X)) { SvalS = (*((long *) ((((char *) (-3 + stob_570X))) + (-4 & index_571X)))); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L22290;}}} else { goto L22267;}} else { goto L22267;}} else { goto L22267;}} break; case 100 : { SstackS = ((SstackS) + 4); arg2_575X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); stob_576X = *((long *) (SstackS)); value_577X = SvalS; type_578X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == (3 & arg2_575X))) { if ((3 == (3 & stob_576X))) { if (((31 & ((((*((long *) ((((char *) (-3 + stob_576X))) + -4))))>>2))) == type_578X)) { if ((3 == (3 & stob_576X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_576X))) + -4)))))) { len_579X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_576X))) + -4))))>>8))))>>2); index_580X = ((arg2_575X)>>2); if ((index_580X < 0)) { goto L22530;} else { if ((index_580X < len_579X)) { addr_581X = (((char *) (-3 + stob_576X))) + (-4 & arg2_575X); S48_WRITE_BARRIER(stob_576X, addr_581X, value_577X); *((long *) addr_581X) = value_577X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L22530;}}} else { goto L22505;}} else { goto L22505;}} else { goto L22505;}} else { goto L22505;}} else { goto L22505;}} break; case 101 : { SstackS = ((SstackS) + 4); arg2_582X = *((long *) (SstackS)); if ((0 == (3 & (arg2_582X | (SvalS))))) { len_583X = ((arg2_582X)>>2); init_584X = (((SvalS))>>2); size_585X = 1 + ((((3 + len_583X))>>2)); if ((len_583X < 0)) { goto L26095;} else { if ((4194305 < size_585X)) { goto L26095;} else { v_586X = AVAILABLEp(size_585X); if (v_586X) { goto L26187;} else { collect_saving_temps(1, 1, &temp1_587X); v_588X = AVAILABLEp(size_585X); if (v_588X) { goto L26187;} else { push_exception_continuationB(8, 1); *((long *) (SstackS)) = (((len_583X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((init_584X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_582X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 102 : { obj_589X = SvalS; if ((3 == (3 & obj_589X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_589X))) + -4))))>>2))))) { SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L36448;}} else { goto L36448;}} break; case 103 : { SstackS = ((SstackS) + 4); arg2_590X = *((long *) (SstackS)); if ((3 == (3 & arg2_590X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_590X))) + -4))))>>2))))) { if ((0 == (3 & (SvalS)))) { index_591X = (((SvalS))>>2); len_592X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_590X))) + -4))))>>8); if ((index_591X < 0)) { goto L32987;} else { if ((index_591X < len_592X)) { SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_590X))) + index_591X))))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L32987;}}} else { goto L36024;}} else { goto L36024;}} else { goto L36024;}} break; case 104 : { SstackS = ((SstackS) + 4); arg2_593X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_594X = *((long *) (SstackS)); if ((3 == (3 & arg3_594X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_594X))) + -4))))>>2))))) { if ((0 == (3 & (arg2_593X | (SvalS))))) { index_595X = ((arg2_593X)>>2); Kchar_596X = (((SvalS))>>2); if ((3 == (3 & arg3_594X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_594X))) + -4)))))) { len_597X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_594X))) + -4))))>>8); if ((index_595X < 0)) { goto L29935;} else { if ((index_595X < len_597X)) { *((unsigned char *) ((((char *) (-3 + arg3_594X))) + index_595X)) = Kchar_596X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L29935;}}} else { goto L29914;}} else { goto L29914;}} else { goto L34436;}} else { goto L34436;}} else { goto L34436;}} break; case 105 : { SstackS = ((SstackS) + 4); arg2_598X = *((long *) (SstackS)); if ((0 == (3 & arg2_598X))) { if ((9 == (255 & (SvalS)))) { len_599X = ((arg2_598X)>>2); init_600X = ((((SvalS))>>8)); size_601X = 1 + ((((4 + len_599X))>>2)); if ((len_599X < 0)) { goto L26329;} else { if ((4194305 < size_601X)) { goto L26329;} else { v_602X = AVAILABLEp(size_601X); if (v_602X) { goto L26421;} else { collect_saving_temps(1, 1, &temp1_603X); v_604X = AVAILABLEp(size_601X); if (v_604X) { goto L26421;} else { push_exception_continuationB(8, 1); *((long *) (SstackS)) = (((len_599X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (9 + ((((init_600X))<<8))); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}}}} else { goto L33068;}} else { goto L33068;}} break; case 106 : { obj_605X = SvalS; if ((3 == (3 & obj_605X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_605X))) + -4))))>>2))))) { SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2))); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L36498;}} else { goto L36498;}} break; case 107 : { SstackS = ((SstackS) + 4); arg2_606X = *((long *) (SstackS)); if ((3 == (3 & arg2_606X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_606X))) + -4))))>>2))))) { if ((0 == (3 & (SvalS)))) { index_607X = (((SvalS))>>2); len_608X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_606X))) + -4))))>>8)); if ((index_607X < 0)) { goto L33131;} else { if ((index_607X < len_608X)) { SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + arg2_606X))) + index_607X))))))<<8))); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L33131;}}} else { goto L36120;}} else { goto L36120;}} else { goto L36120;}} break; case 108 : { SstackS = ((SstackS) + 4); arg2_609X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_610X = *((long *) (SstackS)); if ((3 == (3 & arg3_610X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_610X))) + -4))))>>2))))) { if ((0 == (3 & arg2_609X))) { if ((9 == (255 & (SvalS)))) { index_611X = ((arg2_609X)>>2); Kchar_612X = ((((SvalS))>>8)); if ((3 == (3 & arg3_610X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_610X))) + -4)))))) { len_613X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_610X))) + -4))))>>8)); if ((index_611X < 0)) { goto L30090;} else { if ((index_611X < len_613X)) { *((unsigned char *) ((((char *) (-3 + arg3_610X))) + index_611X)) = (Kchar_612X); SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L30090;}}} else { goto L30069;}} else { goto L30069;}} else { goto L34562;}} else { goto L34562;}} else { goto L34562;}} else { goto L34562;}} break; case 109 : { v_614X = AVAILABLEp(3); if (v_614X) { goto L24499;} else { collect_saving_temps(1, 1, &temp1_615X); v_616X = AVAILABLEp(3); if (v_616X) { goto L24499;} else { ps_error("Scheme48 heap overflow", 0); goto L24499;}}} break; case 110 : { obj_617X = SvalS; if ((3 == (3 & obj_617X))) { if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_617X))) + -4))))>>2))))) { x_618X = SvalS; descriptor_619X = *((long *) ((((char *) (-3 + x_618X))) + 4)); if ((17 == (255 & descriptor_619X))) { if ((529 == (*((long *) ((((char *) (-3 + x_618X))) + 4))))) { arg0K0 = 5; goto L34109;} else { arg0K0 = 1; goto L34109;}} else { arg0K0 = 5; goto L34109;}} else { goto L34090;}} else { goto L34090;}} break; case 111 : { SstackS = ((SstackS) + 4); arg2_620X = *((long *) (SstackS)); if ((3 == (3 & arg2_620X))) { if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_620X))) + -4))))>>2))))) { x_621X = SvalS; if ((1 == x_621X)) { goto L29677;} else { if ((5 == x_621X)) { goto L29677;} else { goto L29684;}}} else { goto L29684;}} else { goto L29684;}} break; case 112 : { x_622X = SvalS; if ((3 == (3 & x_622X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + x_622X))) + -4)))))) { arg0K0 = 1; goto L38708;} else { arg0K0 = 5; goto L38708;}} else { arg0K0 = 5; goto L38708;}} break; case 113 : { x_623X = SvalS; if ((3 == (3 & x_623X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + x_623X))) + -4)))))) { *((long *) ((((char *) (-3 + x_623X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_623X))) + -4)))); goto L33213;} else { goto L33213;}} else { goto L33213;}} break; case 114 : { v_624X = AVAILABLEp(72); if (v_624X) { arg2K0 = 1; arg0K1 = 0; goto L33264;} else { collect_saving_temps(1, 1, &temp1_625X); v_626X = AVAILABLEp(72); if (v_626X) { arg2K0 = 1; arg0K1 = 0; goto L33264;} else { arg2K0 = 0; arg0K1 = 0; goto L33264;}}} break; case 115 : { v_627X = AVAILABLEp(66); if (v_627X) { arg2K0 = 1; arg0K1 = 0; goto L34680;} else { collect_saving_temps(1, 1, &temp1_628X); v_629X = AVAILABLEp(66); if (v_629X) { arg2K0 = 1; arg0K1 = 0; goto L34680;} else { arg2K0 = 0; arg0K1 = 0; goto L34680;}}} break; case 116 : { v_630X = AVAILABLEp(66); if (v_630X) { arg2K0 = 1; arg0K1 = 0; goto L37552;} else { collect_saving_temps(1, 1, &temp1_631X); v_632X = AVAILABLEp(66); if (v_632X) { arg2K0 = 1; arg0K1 = 0; goto L37552;} else { arg2K0 = 0; arg0K1 = 0; goto L37552;}}} break; case 117 : { v_633X = AVAILABLEp(66); if (v_633X) { arg2K0 = 1; arg0K1 = 0; goto L37812;} else { collect_saving_temps(1, 1, &temp1_634X); v_635X = AVAILABLEp(66); if (v_635X) { arg2K0 = 1; arg0K1 = 0; goto L37812;} else { arg2K0 = 0; arg0K1 = 0; goto L37812;}}} break; case 118 : { v_636X = AVAILABLEp(66); if (v_636X) { arg2K0 = 1; arg0K1 = 0; goto L34165;} else { collect_saving_temps(1, 1, &temp1_637X); v_638X = AVAILABLEp(66); if (v_638X) { arg2K0 = 1; arg0K1 = 0; goto L34165;} else { arg2K0 = 0; arg0K1 = 0; goto L34165;}}} break; case 119 : { obj_639X = SvalS; if ((3 == (3 & obj_639X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_639X))) + -4))))>>2))))) { channel_640X = SvalS; head_641X = Spending_channels_headS; if ((1 == head_641X)) { addr_642X = (((char *) (-3 + channel_640X))) + 16; S48_WRITE_BARRIER(channel_640X, addr_642X, 1); *((long *) addr_642X) = 1; n_643X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_640X))) + 8))))>>2))); arg0K0 = (((n_643X)<<2)); goto L33335;} else { if ((channel_640X == head_641X)) { channel_644X = Spending_channels_headS; next_645X = *((long *) ((((char *) (-3 + channel_644X))) + 12)); Spending_channels_headS = next_645X; addr_646X = (((char *) (-3 + channel_644X))) + 12; S48_WRITE_BARRIER(channel_644X, addr_646X, 1); *((long *) addr_646X) = 1; if ((1 == next_645X)) { Spending_channels_tailS = 1; goto L8185;} else { goto L8185;}} else { arg0K0 = (*((long *) ((((char *) (-3 + head_641X))) + 12))); arg0K1 = head_641X; goto L8191;}}} else { goto L33318;}} else { goto L33318;}} break; case 120 : { space_647X = 3 * (Snumber_of_channelsS); v_648X = AVAILABLEp(space_647X); if (v_648X) { goto L14790;} else { collect_saving_temps(1, 1, &temp1_649X); v_650X = AVAILABLEp(space_647X); if (v_650X) { goto L14790;} else { ps_error("Scheme48 heap overflow", 0); goto L14790;}}} break; case 121 : { SvalS = 529; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 122 : { SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 123 : { x_651X = SvalS; push_exception_continuationB(16, 1); *((long *) (SstackS)) = x_651X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} break; case 124 : { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 125 : { SvalS = 21; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 126 : { v_652X = AVAILABLEp(66); if (v_652X) { arg2K0 = 1; arg0K1 = 0; goto L34781;} else { collect_saving_temps(1, 1, &temp1_653X); v_654X = AVAILABLEp(66); if (v_654X) { arg2K0 = 1; arg0K1 = 0; goto L34781;} else { arg2K0 = 0; arg0K1 = 0; goto L34781;}}} break; case 127 : { SvalS = 13; collect_saving_temps(0, 0, &v_655X); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 128 : { obj_656X = SvalS; if ((3 == (3 & obj_656X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_656X))) + -4))))>>2))))) { x_657X = SvalS; n_658X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_657X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L35613;} else { goto L35590;}} else { goto L35590;}} break; case 129 : { v_659X = AVAILABLEp(6); if (v_659X) { goto L38776;} else { collect_saving_temps(1, 1, &temp1_660X); v_661X = AVAILABLEp(6); if (v_661X) { goto L38776;} else { ps_error("Scheme48 heap overflow", 0); goto L38776;}}} break; case 130 : { SstackS = ((SstackS) + 4); arg2_662X = *((long *) (SstackS)); if ((0 == (3 & arg2_662X))) { key_663X = ((arg2_662X)>>2); other_664X = SvalS; if ((5 == key_663X)) { SvalS = (-4 & other_664X); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((0 == key_663X)) { x_665X = s48_available(); SvalS = (((x_665X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((1 == key_663X)) { bytes_666X = s48_heap_size(); SvalS = (-4 & (3 + bytes_666X)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((2 == key_663X)) { SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((3 == key_663X)) { x_667X = s48_gc_count(); SvalS = (((x_667X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((4 == key_663X)) { push_exception_continuationB(15, 1); *((long *) (SstackS)) = (((key_663X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = other_664X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { push_exception_continuationB(18, 1); *((long *) (SstackS)) = (((key_663X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = other_664X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}}}}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_662X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 131 : { if ((0 == (3 & (SvalS)))) { type_668X = (((SvalS))>>2); arg2K0 = 1; goto L33426;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 132 : { x_669X = SvalS; arg2K0 = 1; arg0K1 = x_669X; goto L38826;} break; case 133 : { SvalS = (Scurrent_threadS); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 134 : { Scurrent_threadS = (SvalS); SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 135 : { SvalS = (Ssession_dataS); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 136 : { Ssession_dataS = (SvalS); SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} break; case 137 : { obj_670X = SvalS; if ((3 == (3 & obj_670X))) { if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_670X))) + -4))))>>2))))) { if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 161)) { goto L20583;} else { temp_671X = Sexception_handlersS; Sexception_handlersS = (SvalS); SvalS = temp_671X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} else { goto L20583;}} else { goto L20583;}} break; case 138 : { SstackS = ((SstackS) + 4); p_672X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); template_673X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); SstackS = ((SstackS) + 4); p_674X = *((long *) (SstackS)); StemplateS = template_673X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_673X)))))))) + ((((((((((p_672X)>>2)) + (((p_674X)>>2))))<<2)))>>2))); arg1K0 = (Scode_pointerS); goto L18451;} break; case 139 : { obj_675X = SvalS; if ((3 == (3 & obj_675X))) { if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_675X))) + -4))))>>2))))) { if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) { goto L19507;} else { temp_676X = Sinterrupt_handlersS; Sinterrupt_handlersS = (SvalS); SvalS = temp_676X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} else { goto L19507;}} else { goto L19507;}} break; case 140 : { old_677X = Senabled_interruptsS; p_678X = SvalS; Senabled_interruptsS = (((p_678X)>>2)); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L38867;} else { goto L38867;}} else { s48_Spending_interruptPS = 1; goto L38867;}} break; case 141 : { SstackS = ((SstackS) + 4); p_679X = *((long *) (SstackS)); Senabled_interruptsS = (((p_679X)>>2)); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L18465;} else { goto L18465;}} else { s48_Spending_interruptPS = 1; goto L18465;}} break; case 142 : { if ((0 == (3 & (SvalS)))) { p_680X = SvalS; Spending_interruptsS = (-2 & (Spending_interruptsS)); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L37372;} else { goto L37372;}} else { s48_Spending_interruptPS = 1; goto L37372;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} break; case 143 : { SstackS = ((SstackS) + 4); arg2_681X = *((long *) (SstackS)); if ((0 == (3 & arg2_681X))) { x_682X = SvalS; if ((1 == x_682X)) { goto L34309;} else { if ((5 == x_682X)) { goto L34309;} else { goto L34314;}}} else { goto L34314;}} break; case 144 : { SstackS = ((SstackS) + 4); nargs_683X = (((*((long *) (SstackS))))>>2); SstackS = ((SstackS) + 4); p_684X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); rest_list_685X = *((long *) (SstackS)); if ((14 < nargs_683X)) { push_exception_continuationB(20, 1); *((long *) (SstackS)) = (*((long *) ((SstackS) + (-4 & p_684X)))); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = nargs_683X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { arg0K0 = rest_list_685X; goto L22802;}} break; case 145 : { v_686X = AVAILABLEp(5); if (v_686X) { arg2K0 = 1; arg0K1 = 0; goto L33535;} else { collect_saving_temps(1, 1, &temp1_687X); v_688X = AVAILABLEp(5); if (v_688X) { arg2K0 = 1; arg0K1 = 0; goto L33535;} else { arg2K0 = 0; arg0K1 = 0; goto L33535;}}} break; case 147 : { SstackS = ((SstackS) + 4); arg2_689X = *((long *) (SstackS)); if ((3 == (3 & arg2_689X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>2))))) { x_690X = SvalS; if ((1 == x_690X)) { goto L23926;} else { if ((5 == x_690X)) { goto L23926;} else { goto L23931;}}} else { goto L23931;}} else { goto L23931;}} break; case 148 : { SstackS = ((SstackS) + 4); arg2_691X = *((long *) (SstackS)); if ((0 == (3 & arg2_691X))) { option_692X = ((arg2_691X)>>2); other_693X = SvalS; if ((2 == option_692X)) { x_694X = CHEAP_TIME(); SvalS = (((x_694X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((0 == option_692X)) { seconds_695X = s48_run_time(&mseconds_696X); arg0K0 = option_692X; arg0K1 = seconds_695X; arg0K2 = mseconds_696X; goto L35524;} else { if ((1 == option_692X)) { seconds_697X = s48_real_time(&mseconds_698X); arg0K0 = option_692X; arg0K1 = seconds_697X; arg0K2 = mseconds_698X; goto L35524;} else { push_exception_continuationB(18, 1); *((long *) (SstackS)) = (((option_692X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = other_693X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_691X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 149 : { SstackS = ((SstackS) + 4); arg2_699X = *((long *) (SstackS)); if ((0 == (3 & arg2_699X))) { key_700X = ((arg2_699X)>>2); value_701X = SvalS; status_702X = s48_extended_vm(key_700X, value_701X); if ((0 == status_702X)) { SvalS = (s48_Sextension_valueS); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((1 == status_702X)) { push_exception_continuationB(23, 1); *((long *) (SstackS)) = (((key_700X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_701X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { push_exception_continuationB(24, 1); *((long *) (SstackS)) = (((key_700X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_701X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_699X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} break; case 150 : { SstackS = ((SstackS) + 4); arg2_703X = *((long *) (SstackS)); x_704X = SvalS; Senabled_interruptsS = -1; if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L38927;} else { goto L38927;}} else { s48_Spending_interruptPS = 1; goto L38927;}} break; case 151 : { SstackS = ((SstackS) + 4); arg2_705X = *((long *) (SstackS)); if ((3 == (3 & arg2_705X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_705X))) + -4))))>>2))))) { obj_706X = SvalS; if ((3 == (3 & obj_706X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_706X))) + -4))))>>2))))) { x_707X = SvalS; len_708X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_705X))) + -4))))>>8); if ((len_708X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_707X))) + -4))))>>8)))) { if (((!memcmp((void *)(((char *) (-3 + x_707X))), (void *)(((char *) (-3 + arg2_705X))),len_708X)))) { arg0K0 = 5; goto L27863;} else { arg0K0 = 1; goto L27863;}} else { arg0K0 = 1; goto L27863;}} else { goto L27830;}} else { goto L27830;}} else { goto L27830;}} else { goto L27830;}} break; case 152 : { space_709X = 1 + ((((4 + ((((SvalS))>>2))))>>2)); v_710X = AVAILABLEp(space_709X); if (v_710X) { goto L33744;} else { collect_saving_temps(1, 1, &temp1_711X); v_712X = AVAILABLEp(space_709X); if (v_712X) { goto L33744;} else { ps_error("Scheme48 heap overflow", 0); goto L33744;}}} break; case 153 : { SstackS = ((SstackS) + 4); thing_713X = *((long *) (SstackS)); list_714X = SvalS; arg0K0 = list_714X; arg0K1 = list_714X; arg2K2 = 1; goto L29332;} break; case 154 : { SstackS = ((SstackS) + 4); arg2_715X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_716X = *((long *) (SstackS)); if ((0 == (3 & (SvalS)))) { index_717X = (((SvalS))>>2); if ((3 == (3 & arg3_716X))) { if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg3_716X))) + -4))))>>2))))) { if ((arg2_715X == (*((long *) (((char *) (-3 + arg3_716X))))))) { len_718X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_716X))) + -4))))>>8))))>>2); if ((index_717X < 0)) { goto L27536;} else { if ((index_717X < len_718X)) { SvalS = (*((long *) ((((char *) (-3 + arg3_716X))) + (((index_717X)<<2))))); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L27536;}}} else { goto L27556;}} else { goto L27556;}} else { goto L27556;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_716X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_715X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;}} break; case 155 : { SstackS = ((SstackS) + 4); arg2_719X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_720X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg4_721X = *((long *) (SstackS)); if ((0 == (3 & arg2_719X))) { index_722X = ((arg2_719X)>>2); value_723X = SvalS; if ((3 == (3 & arg4_721X))) { if ((8 == (31 & ((((*((long *) ((((char *) (-3 + arg4_721X))) + -4))))>>2))))) { if ((arg3_720X == (*((long *) (((char *) (-3 + arg4_721X))))))) { if ((3 == (3 & arg4_721X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_721X))) + -4)))))) { len_724X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_721X))) + -4))))>>8))))>>2); if ((index_722X < 0)) { goto L30837;} else { if ((index_722X < len_724X)) { addr_725X = (((char *) (-3 + arg4_721X))) + (((index_722X)<<2)); S48_WRITE_BARRIER(arg4_721X, addr_725X, value_723X); *((long *) addr_725X) = value_723X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L30837;}}} else { goto L30859;}} else { goto L30859;}} else { goto L30859;}} else { goto L30859;}} else { goto L30859;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg4_721X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_720X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_719X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;}} break; case 156 : { SstackS = ((SstackS) + 4); arg2_726X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_727X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg4_728X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg5_729X = *((long *) (SstackS)); if ((0 == (3 & ((arg4_728X | arg2_726X) | (SvalS))))) { from_index_730X = ((arg4_728X)>>2); to_index_731X = ((arg2_726X)>>2); count_732X = (((SvalS))>>2); if ((3 == (3 & arg5_729X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) { goto L31088;} else { goto L31083;}} else { goto L31083;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg5_729X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg4_728X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_727X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_726X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;}} break; case 157 : { v_733X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == v_733X)) { arg0K0 = (SvalS); goto L23058;} else { merged_arg0K0 = 0; get_current_port_return_tag = 0; goto get_current_port; get_current_port_return_0: v_734X = get_current_port0_return_value; arg0K0 = v_734X; goto L23058;}} break; case 158 : { v_735X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == v_735X)) { arg0K0 = (SvalS); goto L23278;} else { merged_arg0K0 = 0; get_current_port_return_tag = 1; goto get_current_port; get_current_port_return_1: v_736X = get_current_port0_return_value; arg0K0 = v_736X; goto L23278;}} break; case 159 : { v_737X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == v_737X)) { v_738X = SvalS; SstackS = ((SstackS) + 4); arg0K0 = (*((long *) (SstackS))); arg0K1 = v_738X; goto L23491;} else { merged_arg0K0 = 4; get_current_port_return_tag = 2; goto get_current_port; get_current_port_return_2: v_739X = get_current_port0_return_value; arg0K0 = (SvalS); arg0K1 = v_739X; goto L23491;}} break; case 160 : { x_740X = SvalS; out_741X = stderr; arg0K0 = x_740X; goto L29585;} break; }} L16678: { nargs_742X = arg0K0; opcode_743X = (((*((long *) ((SstackS) + (8 + (((nargs_742X)<<2)))))))>>2); obj_744X = Sexception_handlersS; if ((3 == (3 & obj_744X))) { if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_744X))) + -4))))>>2))))) { goto L16737;} else { goto L16810;}} else { goto L16810;}} L23845: { env_745X = arg0K0; i_746X = arg0K1; if ((0 == i_746X)) { SvalS = (*((long *) ((((char *) (-3 + env_745X))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 3); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;}} else { arg0K0 = (*((long *) (((char *) (-3 + env_745X))))); arg0K1 = (-1 + i_746X); goto L23845;}} L20260: { env_747X = arg0K0; i_748X = arg0K1; if ((0 == i_748X)) { SvalS = (*((long *) ((((char *) (-3 + env_747X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2))))); if ((529 == (SvalS))) { push_exception_continuationB(0, 5); arg0K0 = 0; goto L16678;} else { Scode_pointerS = ((Scode_pointerS) + 5); arg1K0 = (Scode_pointerS); goto L18451;}} else { arg0K0 = (*((long *) (((char *) (-3 + env_747X))))); arg0K1 = (-1 + i_748X); goto L20260;}} L20198: { env_749X = arg0K0; i_750X = arg0K1; if ((0 == i_750X)) { index_751X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4))); value_752X = SvalS; addr_753X = (((char *) (-3 + env_749X))) + (((index_751X)<<2)); S48_WRITE_BARRIER(env_749X, addr_753X, value_752X); *((long *) addr_753X) = value_752X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 5); arg1K0 = (Scode_pointerS); goto L18451;} else { arg0K0 = (*((long *) (((char *) (-3 + env_749X))))); arg0K1 = (-1 + i_750X); goto L20198;}} L20977: { space_754X = arg0K0; v_755X = AVAILABLEp(space_754X); if (v_755X) { arg2K0 = 1; arg0K1 = 0; goto L21051;} else { collect_saving_temps(1, 1, &temp1_756X); v_757X = AVAILABLEp(space_754X); if (v_757X) { arg2K0 = 1; arg0K1 = 0; goto L21051;} else { arg2K0 = 0; arg0K1 = 0; goto L21051;}}} L20984: { env_758X = arg0K0; v_759X = AVAILABLEp(3); if (v_759X) { arg2K0 = 1; arg0K1 = env_758X; goto L21009;} else { temp0_760X = collect_saving_temps(env_758X, 1, &temp1_761X); v_762X = AVAILABLEp(3); if (v_762X) { arg2K0 = 1; arg0K1 = temp0_760X; goto L21009;} else { arg2K0 = 0; arg0K1 = temp0_760X; goto L21009;}}} L20779: { len_763X = ((total_count_393X)<<2); addr_764X = ALLOCATE_SPACE(2, (4 + len_763X)); *((long *) addr_764X) = (10 + (((len_763X)<<8))); new_env_765X = 3 + (((long) (addr_764X + 4))); v_766X = *((unsigned char *) ((Scode_pointerS) + 1)); if ((0 == v_766X)) { arg0K0 = 0; goto L20793;} else { value_767X = SvalS; addr_768X = ((char *) (-3 + new_env_765X)); S48_WRITE_BARRIER(new_env_765X, addr_768X, value_767X); *((long *) addr_768X) = value_767X; arg0K0 = 1; goto L20793;}} L20705: { okayP_769X = arg2K0; key_770X = arg0K1; if (okayP_769X) { arg0K0 = key_770X; goto L20693;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_770X; goto L20693;}} L19860: { Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L19895: { SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8); *((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_402X; ScontS = (Sbottom_of_stackS); goto L19860;} L19861: { if ((1 == cont_402X)) { if ((0 == (3 & (SvalS)))) { s48_Scallback_return_stack_blockS = 1; return ((((SvalS))>>2));} else { goto L19876;}} else { goto L19876;}} L19221: { okayP_771X = arg2K0; key_772X = arg0K1; if (okayP_771X) { arg0K0 = key_772X; goto L19176;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_772X; goto L19176;}} L19133: { if ((s48_Spending_interruptPS)) { if ((s48_Spending_eventsPS)) { s48_Spending_eventsPS = 0; check_events_return_tag = 0; goto check_events; check_events_return_0: v_773X = check_events0_return_value; if (v_773X) { arg0K0 = stack_arg_count_403X; goto L16907;} else { goto L19137;}} else { arg0K0 = stack_arg_count_403X; goto L16907;}} else { goto L19137;}} L16079: { stack_arg_count_774X = arg0K0; code_775X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS)))))))))); arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_775X))) + 1))); arg0K1 = 64; goto L16093;} L17174: { exception_776X = arg0K0; stack_arg_count_777X = arg0K1; list_args_778X = arg0K2; list_arg_count_779X = arg0K3; if (((StemplateS) == (SvalS))) { if ((0 < (Slosing_opcodeS))) { ps_error("wrong number of arguments to exception handler", 1, (Slosing_opcodeS)); return v_780X;} else { ps_error("wrong number of arguments to interrupt handler", 1, (0 - (Slosing_opcodeS))); return v_781X;}} else { merged_arg0K0 = list_args_778X; merged_arg0K1 = list_arg_count_779X; copy_listS_return_tag = 0; goto copy_listS; copy_listS_return_0: v_782X = copy_listS0_return_value; merged_arg0K0 = v_782X; merged_arg0K1 = stack_arg_count_777X; pop_args_GlistS_return_tag = 1; goto pop_args_GlistS; pop_args_GlistS_return_1: args_783X = pop_args_GlistS0_return_value; push_exception_continuationB(exception_776X, 0); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = args_783X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L17641: { loc_784X = arg1K0; arg_785X = arg1K1; if ((top_of_args_414X < arg_785X)) { *((long *) loc_784X) = (*((long *) arg_785X)); arg1K0 = (loc_784X + -4); arg1K1 = (arg_785X + -4); goto L17641;} else { SstackS = loc_784X; obj_786X = SvalS; if ((3 == (3 & obj_786X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_786X))) + -4))))>>2))))) { arg0K0 = nargs_413X; goto L16079;} else { arg0K0 = 3; arg0K1 = nargs_413X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = nargs_413X; arg0K2 = 25; arg0K3 = 0; goto L17174;}}} L17679: { stack_arg_count_787X = arg0K0; list_args_788X = arg0K1; list_arg_count_789X = arg0K2; if ((0 == list_arg_count_789X)) { obj_790X = SvalS; if ((3 == (3 & obj_790X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_790X))) + -4))))>>2))))) { arg0K0 = stack_arg_count_787X; goto L16079;} else { arg0K0 = 3; arg0K1 = stack_arg_count_787X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = stack_arg_count_787X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { obj_791X = SvalS; if ((3 == (3 & obj_791X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_791X))) + -4))))>>2))))) { code_792X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS)))))))))); total_arg_count_793X = stack_arg_count_787X + list_arg_count_789X; arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_792X))) + 1))); arg0K1 = 64; goto L16370;} else { arg0K0 = 3; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;}} else { arg0K0 = 3; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;}}} L11286: { list_args_794X = arg0K0; stack_nargs_795X = arg0K1; merged_arg0K0 = list_args_794X; okay_argument_list_return_tag = 1; goto okay_argument_list; okay_argument_list_return_1: okayP_796X = okay_argument_list0_return_value; list_arg_count_797X = okay_argument_list1_return_value; if (okayP_796X) { SvalS = proc_421X; arg0K0 = stack_nargs_795X; arg0K1 = list_args_794X; arg0K2 = list_arg_count_797X; goto L17679;} else { *((long *) (SstackS)) = list_args_794X; SstackS = ((SstackS) + -4); merged_arg0K0 = 25; merged_arg0K1 = (1 + stack_nargs_795X); pop_args_GlistS_return_tag = 2; goto pop_args_GlistS; pop_args_GlistS_return_2: args_798X = pop_args_GlistS0_return_value; SstackS = ((SstackS) + 4); push_exception_continuationB(5, 0); *((long *) (SstackS)) = proc_421X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = args_798X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L11327: { list_799X = arg0K0; follower_800X = arg0K1; if ((25 == list_799X)) { list_args_801X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_800X))) + 4))))))); addr_802X = (((char *) (-3 + follower_800X))) + 4; S48_WRITE_BARRIER(follower_800X, addr_802X, list_args_801X); *((long *) addr_802X) = list_args_801X; arg0K0 = rest_list_422X; arg0K1 = (-1 + stack_nargs_420X); goto L11286;} else { arg0K0 = (*((long *) ((((char *) (-3 + list_799X))) + 4))); arg0K1 = (*((long *) ((((char *) (-3 + follower_800X))) + 4))); goto L11327;}} L17584: { obj_803X = SvalS; if ((3 == (3 & obj_803X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_803X))) + -4))))>>2))))) { arg0K0 = 0; goto L16079;} else { arg0K0 = 3; arg0K1 = 0; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { arg0K0 = 3; arg0K1 = 0; arg0K2 = 25; arg0K3 = 0; goto L17174;}} L17591: { SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8); *((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = cont_423X; ScontS = (Sbottom_of_stackS); goto L17584;} L20440: { stack_nargs_804X = arg0K0; list_args_805X = arg0K1; list_arg_count_806X = arg0K2; if ((1 == stack_nargs_804X)) { SstackS = ((SstackS) + 4); SvalS = (*((long *) (SstackS))); pop_continuationB_return_tag = 1; goto pop_continuationB; pop_continuationB_return_1: arg1K0 = (Scode_pointerS); goto L18451;} else { if (((ScontS) == (Sbottom_of_stackS))) { arg0K0 = (*((long *) (((char *) (-3 + (Sbottom_of_stackS)))))); goto L20451;} else { arg0K0 = (ScontS); goto L20451;}}} L18957: { okayP_807X = arg2K0; key_808X = arg0K1; if (okayP_807X) { arg0K0 = key_808X; goto L18945;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_808X; goto L18945;}} L18830: { tem_809X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))); StemplateS = tem_809X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_809X)))))))) + 2); if ((s48_Spending_interruptPS)) { if ((s48_Spending_eventsPS)) { s48_Spending_eventsPS = 0; check_events_return_tag = 1; goto check_events; check_events_return_1: v_810X = check_events0_return_value; if (v_810X) { goto L18839;} else { goto L18842;}} else { goto L18839;}} else { goto L18842;}} L19013: { okayP_811X = arg2K0; key_812X = arg0K1; if (okayP_811X) { arg0K0 = key_812X; goto L19000;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_812X; goto L19000;}} L18875: { push_exception_continuationB(5, 4); *((long *) (SstackS)) = (*((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))))); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L18731: { arg0K0 = (2 + (((max_442X)<<1))); goto L18733;} L18733: { offset_813X = arg0K0; Scode_pointerS = ((Scode_pointerS) + offset_813X); arg1K0 = (Scode_pointerS); goto L18451;} L19763: { Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L18629: { delta_814X = arg0K0; Scode_pointerS = ((Scode_pointerS) + delta_814X); arg1K0 = (Scode_pointerS); goto L18451;} L19654: { delta_815X = arg0K0; Scode_pointerS = ((Scode_pointerS) + delta_815X); arg1K0 = (Scode_pointerS); goto L18451;} L38236: { val_816X = arg0K0; SvalS = val_816X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L38248: { val_817X = arg0K0; SvalS = val_817X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L10634: { if ((3 == (3 & x_456X))) { if ((7 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) { arg0K0 = 5; goto L38248;} else { goto L10640;}} else { goto L10640;}} L28412: { SvalS = 5; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28413: { if ((3 == (3 & n_457X))) { if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_457X))) + -4))))>>2))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_457X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { goto L28417;}} else { goto L28417;}} L28569: { SvalS = 5; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28544: { if ((3 == (3 & n_458X))) { if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) { goto L28569;} else { goto L28558;}} else { goto L28558;}} L28768: { SvalS = 5; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28743: { if ((3 == (3 & n_459X))) { if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) { goto L28768;} else { goto L28757;}} else { goto L28757;}} L28967: { SvalS = 5; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28942: { if ((3 == (3 & n_460X))) { if ((7 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) { goto L28967;} else { goto L28956;}} else { goto L28956;}} L6787: { a_818X = arg0K0; if ((b_470X < 0)) { arg0K0 = (0 - b_470X); goto L6791;} else { arg0K0 = b_470X; goto L6791;}} L7068: { a_819X = arg0K0; if ((b_477X < 0)) { arg0K0 = (0 - b_477X); goto L7072;} else { arg0K0 = b_477X; goto L7072;}} L31877: { val_820X = arg0K0; SvalS = val_820X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L31955: { val_821X = arg0K0; SvalS = val_821X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L32033: { val_822X = arg0K0; SvalS = val_822X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L32111: { val_823X = arg0K0; SvalS = val_823X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L32189: { val_824X = arg0K0; SvalS = val_824X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L7245: { a_825X = arg0K0; if ((b_491X < 0)) { arg0K0 = (0 - b_491X); goto L7249;} else { arg0K0 = b_491X; goto L7249;}} L25359: { a_826X = arg0K0; n_827X = ((y_493X)>>2); if ((n_827X < 0)) { arg0K0 = (0 - n_827X); goto L25361;} else { arg0K0 = n_827X; goto L25361;}} L38505: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = x_508X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L25645: { r_828X = arg0K0; if ((536870911 < r_828X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_509X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { SvalS = (((r_828X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L25924: { SvalS = (((result_530X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L38593: { val_829X = arg0K0; SvalS = val_829X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28187: { val_830X = arg0K0; SvalS = val_830X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28160: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_533X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L28097: { val_831X = arg0K0; SvalS = val_831X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28070: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_535X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L32881: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (((x_537X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L38622: { val_832X = arg0K0; SvalS = val_832X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L38636: { value_833X = arg0K0; SvalS = value_833X; Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} L21242: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = stob_541X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_542X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L21314: { type_834X = *((unsigned char *) ((Scode_pointerS) + 2)); len_835X = ((len_543X)<<2); addr_836X = ALLOCATE_SPACE(type_834X, (4 + len_835X)); *((long *) addr_836X) = (2 + (((((((len_835X)<<6)) + type_834X))<<2))); new_837X = 3 + (((long) (addr_836X + 4))); if ((len_543X < 1)) { goto L21349;} else { *((long *) ((((char *) (-3 + new_837X))) + (-4 + (((len_543X)<<2))))) = (SvalS); arg0K0 = (-2 + len_543X); goto L21333;}} L21496: { type_838X = *((unsigned char *) ((Scode_pointerS) + 1)); len_839X = ((len_548X)<<2); addr_840X = ALLOCATE_SPACE(type_838X, (4 + len_839X)); *((long *) addr_840X) = (2 + (((((((len_839X)<<6)) + type_838X))<<2))); new_841X = 3 + (((long) (addr_840X + 4))); SstackS = ((SstackS) + 4); stack_nargs_842X = (((*((long *) (SstackS))))>>2); SstackS = ((SstackS) + 4); rest_list_843X = *((long *) (SstackS)); arg0K0 = (-1 + stack_nargs_842X); goto L21518;} L21706: { push_exception_continuationB(5, 3); *((long *) (SstackS)) = stob_553X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_555X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((offset_554X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L21809: { push_exception_continuationB(5, 3); *((long *) (SstackS)) = stob_556X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_559X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((offset_558X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_557X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L21994: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = (((type_563X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((len_564X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = init_562X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L22012: { okayP_844X = arg2K0; init_845X = arg0K1; if (okayP_844X) { len_846X = ((len_564X)<<2); addr_847X = ALLOCATE_SPACE(type_563X, (4 + len_846X)); *((long *) addr_847X) = (2 + (((((((len_846X)<<6)) + type_563X))<<2))); value_848X = 3 + (((long) (addr_847X + 4))); arg0K0 = (-1 + len_564X); goto L22041;} else { push_exception_continuationB(8, 2); *((long *) (SstackS)) = (((type_563X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((len_564X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = init_845X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;}} L22290: { push_exception_continuationB(7, 2); *((long *) (SstackS)) = stob_570X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_572X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = index_571X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L22267: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = stob_570X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_572X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = index_571X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L22530: { push_exception_continuationB(7, 2); *((long *) (SstackS)) = stob_576X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_578X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_575X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_577X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L22505: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = stob_576X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((type_578X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_575X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_577X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L26095: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (((len_583X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((init_584X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L26187: { addr_849X = ALLOCATE_SPACE(17, (4 + len_583X)); *((long *) addr_849X) = (70 + (((len_583X)<<8))); vector_850X = 3 + (((long) (addr_849X + 4))); arg0K0 = (-1 + len_583X); goto L26136;} L36448: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L32987: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg2_590X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_591X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L36024: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_590X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L29935: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg3_594X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_595X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((Kchar_596X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L29914: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_594X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_595X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((Kchar_596X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L34436: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_594X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_593X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L26329: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (((len_599X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (9 + ((((init_600X))<<8))); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L26421: { len_851X = 1 + len_599X; addr_852X = ALLOCATE_SPACE(16, (4 + len_851X)); *((long *) addr_852X) = (66 + (((len_851X)<<8))); string_853X = 3 + (((long) (addr_852X + 4))); *((unsigned char *) ((((char *) (-3 + string_853X))) + len_599X)) = 0; arg0K0 = (-1 + len_599X); goto L26370;} L33068: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_598X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L36498: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L33131: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg2_606X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_607X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L36120: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_606X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L30090: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg3_610X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_611X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (9 + ((((Kchar_612X))<<8))); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L30069: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_610X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_611X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (9 + ((((Kchar_612X))<<8))); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L34562: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_610X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_609X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L24499: { obj_854X = SvalS; if ((3 == (3 & obj_854X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_854X))) + -4))))>>2))))) { table_855X = Sthe_symbol_tableS; string_856X = SvalS; n_857X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_856X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L13346;} else { goto L24509;}} else { goto L24509;}} L34109: { val_858X = arg0K0; SvalS = val_858X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L34090: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L29677: { if ((1 == (SvalS))) { addr_859X = (((char *) (-3 + arg2_620X))) + 4; S48_WRITE_BARRIER(arg2_620X, addr_859X, 273); *((long *) addr_859X) = 273; goto L29683;} else { if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_620X))) + 4)))))) { addr_860X = (((char *) (-3 + arg2_620X))) + 4; S48_WRITE_BARRIER(arg2_620X, addr_860X, 529); *((long *) addr_860X) = 529; goto L29683;} else { goto L29683;}}} L29684: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_620X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L38708: { val_861X = arg0K0; SvalS = val_861X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L33213: { SvalS = x_623X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L33264: { okayP_862X = arg2K0; key_863X = arg0K1; if (okayP_862X) { arg0K0 = key_863X; goto L33230;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_863X; goto L33230;}} L34680: { okayP_864X = arg2K0; key_865X = arg0K1; if (okayP_864X) { arg0K0 = key_865X; goto L34662;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_865X; goto L34662;}} L37552: { okayP_866X = arg2K0; key_867X = arg0K1; if (okayP_866X) { arg0K0 = key_867X; goto L37482;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_867X; goto L37482;}} L37812: { okayP_868X = arg2K0; key_869X = arg0K1; if (okayP_868X) { arg0K0 = key_869X; goto L37754;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_869X; goto L37754;}} L34165: { okayP_870X = arg2K0; key_871X = arg0K1; if (okayP_870X) { arg0K0 = key_871X; goto L34147;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_871X; goto L34147;}} L33335: { val_872X = arg0K0; SvalS = val_872X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L8185: { arg0K0 = (*((long *) ((((char *) (-3 + channel_640X))) + 16))); goto L33335;} L8191: { ch_873X = arg0K0; prev_874X = arg0K1; if ((1 == ch_873X)) { addr_875X = (((char *) (-3 + channel_640X))) + 16; S48_WRITE_BARRIER(channel_640X, addr_875X, 1); *((long *) addr_875X) = 1; n_876X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_640X))) + 8))))>>2))); arg0K0 = (((n_876X)<<2)); goto L33335;} else { if ((ch_873X == channel_640X)) { y_877X = Spending_channels_tailS; if ((ch_873X == y_877X)) { Spending_channels_tailS = prev_874X; goto L8215;} else { goto L8215;}} else { arg0K0 = (*((long *) ((((char *) (-3 + ch_873X))) + 12))); arg0K1 = ch_873X; goto L8191;}}} L33318: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L14790: { arg0K0 = (-1 + (Snumber_of_channelsS)); arg0K1 = 25; goto L14797;} L34781: { okayP_878X = arg2K0; key_879X = arg0K1; if (okayP_878X) { arg0K0 = key_879X; goto L34735;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_879X; goto L34735;}} L35613: { i_880X = arg0K0; h_881X = arg0K1; if ((i_880X < n_658X)) { arg0K0 = (1 + i_880X); arg0K1 = (h_881X + (((*((unsigned char *) ((((char *) (-3 + x_657X))) + i_880X)))))); goto L35613;} else { SvalS = (((h_881X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L35590: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L38776: { SstackS = ((SstackS) + 4); stob_882X = *((long *) (SstackS)); proc_883X = SvalS; if ((3 == (3 & stob_882X))) { if ((3 == (3 & proc_883X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_883X))) + -4))))>>2))))) { addr_884X = ALLOCATE_SPACE(0, 12); *((long *) addr_884X) = 2050; x_885X = 3 + (((long) (addr_884X + 4))); *((long *) (((char *) (-3 + x_885X)))) = stob_882X; *((long *) ((((char *) (-3 + x_885X))) + 4)) = proc_883X; b_886X = Sfinalizer_alistS; addr_887X = ALLOCATE_SPACE(0, 12); *((long *) addr_887X) = 2050; x_888X = 3 + (((long) (addr_887X + 4))); *((long *) (((char *) (-3 + x_888X)))) = x_885X; *((long *) ((((char *) (-3 + x_888X))) + 4)) = b_886X; Sfinalizer_alistS = x_888X; SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { goto L30696;}} else { goto L30696;}} else { goto L30696;}} L33426: { firstP_889X = arg2K0; vector_890X = s48_find_all(type_668X); if ((1 == vector_890X)) { if (firstP_889X) { collect_saving_temps(0, 0, &v_891X); arg2K0 = 0; goto L33426;} else { push_exception_continuationB(8, 1); *((long *) (SstackS)) = (((type_668X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} else { SvalS = vector_890X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L38826: { firstP_892X = arg2K0; type_893X = arg0K1; vector_894X = s48_find_all_records(type_893X); if ((1 == vector_894X)) { if (firstP_892X) { value_895X = collect_saving_temps(type_893X, 0, &v_896X); arg2K0 = 0; arg0K1 = value_895X; goto L38826;} else { push_exception_continuationB(8, 1); *((long *) (SstackS)) = type_893X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;}} else { SvalS = vector_894X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L20583: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L19507: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L38867: { SvalS = (((old_677X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L18465: { SstackS = ((SstackS) + 4); pc_897X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); tem_898X = *((long *) (SstackS)); StemplateS = tem_898X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_898X)))))))) + (((pc_897X)>>2))); SstackS = ((SstackS) + 4); SvalS = (*((long *) (SstackS))); arg1K0 = (Scode_pointerS); goto L18451;} L37372: { x_899X = s48_schedule_alarm_interrupt((((p_680X)>>2))); SvalS = (((x_899X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L34309: { if ((1 == (SvalS))) { arg2K0 = 0; goto L34313;} else { arg2K0 = 1; goto L34313;}} L34314: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_681X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L22802: { rest_list_900X = arg0K0; if ((25 == rest_list_900X)) { proc_901X = *((long *) ((SstackS) + (((nargs_683X)<<2)))); name_902X = *((long *) ((SstackS) + (-4 + (((nargs_683X)<<2))))); args_903X = (SstackS) + 4; *((long *) (SstackS)) = (10 + (((nargs_683X)<<10))); SstackS = ((SstackS) + -4); if ((3 == (3 & name_902X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_902X))) + -4))))>>2))))) { if ((3 == (3 & proc_901X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + proc_901X))) + -4))))>>2))))) { if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_901X))) + -4))))>>8)))) { result_904X = s48_external_call(proc_901X, name_902X, (-2 + nargs_683X), args_903X); if ((Sexternal_exceptionPS)) { Sexternal_exceptionPS = 0; arg0K0 = (Sexternal_exception_nargsS); goto L16678;} else { SvalS = result_904X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} else { goto L22862;}} else { goto L22862;}} else { goto L22862;}} else { goto L22862;}} else { goto L22862;}} else { *((long *) (SstackS)) = (*((long *) (((char *) (-3 + rest_list_900X))))); SstackS = ((SstackS) + -4); arg0K0 = (*((long *) ((((char *) (-3 + rest_list_900X))) + 4))); goto L22802;}} L33535: { okayP_905X = arg2K0; key_906X = arg0K1; if (okayP_905X) { arg0K0 = key_906X; goto L33501;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_906X; goto L33501;}} L23926: { if ((1 == (SvalS))) { arg0K0 = (Sexported_bindingsS); goto L23959;} else { arg0K0 = (Simported_bindingsS); goto L23959;}} L23931: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_689X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L35524: { option_907X = arg0K0; seconds_908X = arg0K1; mseconds_909X = arg0K2; if ((536869 < seconds_908X)) { push_exception_continuationB(6, 1); *((long *) (SstackS)) = (((option_907X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((seconds_908X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mseconds_909X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} else { SvalS = (((((1000 * seconds_908X) + mseconds_909X))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L38927: { s48_Scallback_return_stack_blockS = arg2_703X; return x_704X;} L27863: { val_910X = arg0K0; SvalS = val_910X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L27830: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_705X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L33744: { SstackS = ((SstackS) + 4); arg2_911X = *((long *) (SstackS)); if ((0 == (3 & (SvalS)))) { n_912X = (((SvalS))>>2); if ((3 == (3 & arg2_911X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_911X))) + -4))))>>2))))) { goto L27390;} else { goto L27342;}} else { goto L27342;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_911X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L29332: { list_913X = arg0K0; slow_914X = arg0K1; move_slowP_915X = arg2K2; if ((25 == list_913X)) { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if ((3 == (3 & list_913X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_913X))) + -4))))>>2))))) { head_916X = *((long *) (((char *) (-3 + list_913X)))); if ((3 == (3 & head_916X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_916X))) + -4))))>>2))))) { if (((*((long *) (((char *) (-3 + head_916X))))) == thing_713X)) { SvalS = head_916X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { list_917X = *((long *) ((((char *) (-3 + list_913X))) + 4)); if ((list_917X == slow_914X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = thing_713X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = list_714X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if (move_slowP_915X) { arg0K0 = list_917X; arg0K1 = (*((long *) ((((char *) (-3 + slow_914X))) + 4))); arg2K2 = 0; goto L29332;} else { arg0K0 = list_917X; arg0K1 = slow_914X; arg2K2 = 1; goto L29332;}}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = thing_713X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = list_714X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = thing_713X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = list_714X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = thing_713X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = list_714X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = thing_713X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = list_714X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} L27536: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg3_716X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_715X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_717X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L27556: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_716X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_715X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_717X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L30837: { push_exception_continuationB(7, 1); *((long *) (SstackS)) = arg4_721X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_720X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_722X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_723X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L30859: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg4_721X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_720X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((index_722X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = value_723X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L31088: { if ((3 == (3 & arg5_729X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) { goto L31101;} else { goto L31096;}} else { goto L31096;}} L31083: { if ((3 == (3 & arg5_729X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) { goto L31088;} else { goto L31155;}} else { goto L31155;}} L23058: { port_918X = arg0K0; if ((3 == (3 & port_918X))) { if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_918X))) + -4))))>>2))))) { if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_918X))) + 4))))>>2))))) { goto L23118;} else { p_919X = *((long *) ((((char *) (-3 + port_918X))) + 24)); p_920X = *((long *) ((((char *) (-3 + port_918X))) + 28)); b_921X = *((long *) ((((char *) (-3 + port_918X))) + 20)); i_922X = ((p_919X)>>2); x_923X = *((long *) ((((char *) (-3 + port_918X))) + 12)); if ((5 == x_923X)) { goto L23098;} else { if ((i_922X == (((p_920X)>>2)))) { goto L23098;} else { val_924X = 4 + (((i_922X)<<2)); addr_925X = (((char *) (-3 + port_918X))) + 24; S48_WRITE_BARRIER(port_918X, addr_925X, val_924X); *((long *) addr_925X) = val_924X; SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_921X))) + i_922X))))))<<8))); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}}}} else { goto L23118;}} else { goto L23118;}} L23278: { port_926X = arg0K0; if ((3 == (3 & port_926X))) { if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_926X))) + -4))))>>2))))) { if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_926X))) + 4))))>>2))))) { goto L23338;} else { p_927X = *((long *) ((((char *) (-3 + port_926X))) + 24)); p_928X = *((long *) ((((char *) (-3 + port_926X))) + 28)); b_929X = *((long *) ((((char *) (-3 + port_926X))) + 20)); i_930X = ((p_927X)>>2); x_931X = *((long *) ((((char *) (-3 + port_926X))) + 12)); if ((5 == x_931X)) { goto L23318;} else { if ((i_930X == (((p_928X)>>2)))) { goto L23318;} else { SvalS = (9 + ((((((*((unsigned char *) ((((char *) (-3 + b_929X))) + i_930X))))))<<8))); Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}}}} else { goto L23338;}} else { goto L23338;}} L23491: { Kchar_932X = arg0K0; port_933X = arg0K1; if ((9 == (255 & Kchar_932X))) { if ((3 == (3 & port_933X))) { if ((6 == (31 & ((((*((long *) ((((char *) (-3 + port_933X))) + -4))))>>2))))) { if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_933X))) + 4))))>>2))))) { goto L23552;} else { p_934X = *((long *) ((((char *) (-3 + port_933X))) + 24)); b_935X = *((long *) ((((char *) (-3 + port_933X))) + 20)); i_936X = ((p_934X)>>2); x_937X = *((long *) ((((char *) (-3 + port_933X))) + 12)); if ((5 == x_937X)) { goto L23534;} else { if ((i_936X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_935X))) + -4))))>>8)))) { goto L23534;} else { val_938X = 4 + (((i_936X)<<2)); addr_939X = (((char *) (-3 + port_933X))) + 24; S48_WRITE_BARRIER(port_933X, addr_939X, val_938X); *((long *) addr_939X) = val_938X; *((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_933X))) + 20)))))) + i_936X)) = (((((Kchar_932X)>>8)))); SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;}}}} else { goto L23552;}} else { goto L23552;}} else { goto L23552;}} L29585: { stuff_940X = arg0K0; if ((3 == (3 & stuff_940X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_940X))) + -4))))>>2))))) { thing_941X = *((long *) (((char *) (-3 + stuff_940X)))); if ((0 == (3 & thing_941X))) { ps_write_integer((((thing_941X)>>2)), out_741X); goto L29591;} else { if ((9 == (255 & thing_941X))) { ps_write_string("#\\", out_741X); { long ignoreXX; PS_WRITE_CHAR(((((thing_941X)>>8))), out_741X, ignoreXX) } goto L29591;} else { if ((3 == (3 & thing_941X))) { if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>8))))>>2)))) { type_942X = *((long *) (((char *) (-3 + thing_941X)))); if ((3 == (3 & type_942X))) { if ((8 == (31 & ((((*((long *) ((((char *) (-3 + type_942X))) + -4))))>>2))))) { if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_942X))) + -4))))>>8))))>>2)))) { obj_943X = *((long *) ((((char *) (-3 + type_942X))) + 8)); if ((3 == (3 & obj_943X))) { if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_943X))) + -4))))>>2))))) { ps_write_string("#{", out_741X); ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_941X)))))))) + 8))))))))))))), out_741X); { long ignoreXX; PS_WRITE_CHAR(125, out_741X, ignoreXX) } goto L29591;} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}} else { goto L11663;}}}} else { goto L29576;}} else { goto L29576;}} L16737: { SvalS = (*((long *) ((((char *) (-3 + (Sexception_handlersS)))) + (((opcode_743X)<<2))))); obj_944X = SvalS; if ((3 == (3 & obj_944X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_944X))) + -4))))>>2))))) { goto L16754;} else { goto L16824;}} else { goto L16824;}} L16810: { merged_arg3K0 = "exception-handlers is not a vector"; loseD0_return_tag = 0; goto loseD0; loseD0_return_0: goto L16737;} L21051: { okayP_945X = arg2K0; key_946X = arg0K1; if (okayP_945X) { arg0K0 = key_946X; goto L20979;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_946X; goto L20979;}} L21009: { okayP_947X = arg2K0; temp_948X = arg0K1; if (okayP_947X) { arg0K0 = temp_948X; goto L20990;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = temp_948X; goto L20990;}} L20793: { start_i_949X = arg0K0; arg0K0 = start_i_949X; arg0K1 = 2; arg0K2 = (SenvS); goto L20801;} L20693: { key_950X = arg0K0; if ((1 == (ScontS))) { arg0K0 = 1; goto L20697;} else { merged_arg0K0 = key_950X; merged_arg0K1 = 2; really_preserve_continuation_return_tag = 0; goto really_preserve_continuation; really_preserve_continuation_return_0: v_951X = really_preserve_continuation0_return_value; arg0K0 = v_951X; goto L20697;}} L19876: { SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8); *((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = 1; ScontS = (Sbottom_of_stackS); push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = cont_402X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L19176: { v_952X = arg0K0; merged_arg0K0 = v_952X; copy_stack_into_heap_return_tag = 0; goto copy_stack_into_heap; copy_stack_into_heap_return_0: if (((SstackS) < (Sstack_limitS))) { ps_error("Couldn't get default procedure space (how can this happen?)", 0); goto L19133;} else { goto L19133;}} L16907: { stack_arg_count_953X = arg0K0; *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (StemplateS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((((Scode_pointerS) - (((char *) (-3 + (*((long *) (((char *) (-3 + (StemplateS)))))))))))<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); tem_954X = Sinterrupt_templateS; StemplateS = tem_954X; Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_954X)))))))); push_continuationB((Scode_pointerS), (4 + stack_arg_count_953X)); n_955X = (Spending_interruptsS) & (Senabled_interruptsS); arg0K0 = 0; arg0K1 = 1; goto L17012;} L19137: { arg1K0 = (Scode_pointerS); goto L18451;} L16093: { protocol_956X = arg0K0; stack_space_957X = arg0K1; if ((68 == protocol_956X)) { if ((stack_arg_count_774X < 3)) { skip_958X = *((unsigned char *) ((((char *) (-3 + code_775X))) + (2 + stack_arg_count_774X))); if ((0 == skip_958X)) { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;} else { arg0K0 = skip_958X; arg0K1 = stack_arg_count_774X; goto L16097;}} else { skip_959X = *((unsigned char *) ((((char *) (-3 + code_775X))) + 5)); if ((0 == skip_959X)) { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;} else { arg0K0 = skip_959X; goto L16120;}}} else { if ((67 == protocol_956X)) { if ((stack_arg_count_774X < (*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))) { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;} else { arg0K0 = 3; goto L16120;}} else { if ((65 == protocol_956X)) { wants_stack_args_960X = ((((*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + 3))); if ((stack_arg_count_774X < wants_stack_args_960X)) { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;} else { merged_arg0K0 = wants_stack_args_960X; merged_arg0K1 = stack_arg_count_774X; merged_arg0K2 = 25; merged_arg0K3 = 0; rest_list_setup_return_tag = 0; goto rest_list_setup; rest_list_setup_return_0: arg0K0 = 4; arg0K1 = (1 + wants_stack_args_960X); goto L16097;}} else { if ((63 < protocol_956X)) { if ((64 == protocol_956X)) { if (((((((*((unsigned char *) ((((char *) (-3 + code_775X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + 3)))) == stack_arg_count_774X)) { arg0K0 = 4; arg0K1 = stack_arg_count_774X; goto L16097;} else { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;}} else { if ((66 == protocol_956X)) { length_961X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_775X))) + -4))))>>8); index_962X = -2 + length_961X; arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_775X))) + (-3 + length_961X)))); arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_775X))) + index_962X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_775X))) + (1 + index_962X))))); goto L16093;} else { ps_error("unknown protocol", 1, protocol_956X); arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;}}} else { if ((protocol_956X == stack_arg_count_774X)) { arg0K0 = 2; arg0K1 = stack_arg_count_774X; goto L16097;} else { arg0K0 = 4; arg0K1 = stack_arg_count_774X; arg0K2 = 25; arg0K3 = 0; goto L17174;}}}}}} L16370: { protocol_963X = arg0K0; stack_space_964X = arg0K1; if ((68 == protocol_963X)) { if ((total_arg_count_793X < 3)) { skip_965X = *((unsigned char *) ((((char *) (-3 + code_792X))) + (2 + total_arg_count_793X))); if ((0 == skip_965X)) { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;} else { merged_arg0K0 = list_args_788X; merged_arg0K1 = list_arg_count_789X; push_list_return_tag = 0; goto push_list; push_list_return_0: arg0K0 = skip_965X; arg0K1 = total_arg_count_793X; goto L16374;}} else { skip_966X = *((unsigned char *) ((((char *) (-3 + code_792X))) + 5)); if ((0 == skip_966X)) { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;} else { arg0K0 = skip_966X; goto L16399;}}} else { if ((67 == protocol_963X)) { if ((total_arg_count_793X < (*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))) { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;} else { arg0K0 = 3; goto L16399;}} else { if ((63 < protocol_963X)) { if ((65 == protocol_963X)) { wants_stack_args_967X = ((((*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + 3))); if ((total_arg_count_793X < wants_stack_args_967X)) { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;} else { merged_arg0K0 = wants_stack_args_967X; merged_arg0K1 = stack_arg_count_787X; merged_arg0K2 = list_args_788X; merged_arg0K3 = list_arg_count_789X; rest_list_setup_return_tag = 1; goto rest_list_setup; rest_list_setup_return_1: arg0K0 = 4; arg0K1 = (1 + wants_stack_args_967X); goto L16374;}} else { if ((64 == protocol_963X)) { if (((((((*((unsigned char *) ((((char *) (-3 + code_792X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + 3)))) == total_arg_count_793X)) { merged_arg0K0 = list_args_788X; merged_arg0K1 = list_arg_count_789X; push_list_return_tag = 1; goto push_list; push_list_return_1: arg0K0 = 4; arg0K1 = total_arg_count_793X; goto L16374;} else { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;}} else { if ((66 == protocol_963X)) { length_968X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_792X))) + -4))))>>8); index_969X = -2 + length_968X; arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_792X))) + (-3 + length_968X)))); arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_792X))) + index_969X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_792X))) + (1 + index_969X))))); goto L16370;} else { ps_error("unknown protocol", 1, protocol_963X); arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;}}}} else { if ((protocol_963X == total_arg_count_793X)) { merged_arg0K0 = list_args_788X; merged_arg0K1 = list_arg_count_789X; push_list_return_tag = 2; goto push_list; push_list_return_2: arg0K0 = 2; arg0K1 = total_arg_count_793X; goto L16374;} else { arg0K0 = 4; arg0K1 = stack_arg_count_787X; arg0K2 = list_args_788X; arg0K3 = list_arg_count_789X; goto L17174;}}}}} L20451: { cont_970X = arg0K0; if ((3 == (3 & cont_970X))) { if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_970X))) + -4))))>>2))))) { next_op_971X = *((unsigned char *) ((((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + cont_970X))) + 8))))))))))) + ((((*((long *) ((((char *) (-3 + cont_970X))) + 4))))>>2)))); if ((34 == next_op_971X)) { pop_continuationB_return_tag = 2; goto pop_continuationB; pop_continuationB_return_2: arg1K0 = (Scode_pointerS); goto L18451;} else { if ((30 == next_op_971X)) { next_972X = *((long *) (((char *) (-3 + (ScontS))))); if (((ScontS) == (Sbottom_of_stackS))) { *((long *) (((char *) (-3 + (ScontS))))) = (*((long *) (((char *) (-3 + next_972X))))); goto L19295;} else { ScontS = next_972X; goto L19295;}} else { merged_arg0K0 = list_args_805X; merged_arg0K1 = stack_nargs_804X; pop_args_GlistS_return_tag = 3; goto pop_args_GlistS; pop_args_GlistS_return_3: args_973X = pop_args_GlistS0_return_value; push_exception_continuationB(4, 0); *((long *) (SstackS)) = 1; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = args_973X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} else { goto L20457;}} else { goto L20457;}} L18945: { v_974X = arg0K0; merged_arg0K0 = v_974X; copy_stack_into_heap_return_tag = 1; goto copy_stack_into_heap; copy_stack_into_heap_return_1: if (((SstackS) < (Sstack_limitS))) { ps_error("Couldn't get default procedure space (how can this happen?)", 0); goto L18830;} else { goto L18830;}} L18839: { arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 3))); goto L16907;} L18842: { arg1K0 = (Scode_pointerS); goto L18451;} L19000: { v_975X = arg0K0; merged_arg0K0 = v_975X; copy_stack_into_heap_return_tag = 2; goto copy_stack_into_heap; copy_stack_into_heap_return_2: if ((space_436X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L18830;} else { ps_error("VM's stack is too small (how can this happen?)", 0); goto L18830;}} L10640: { if ((3 == (3 & x_456X))) { if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) { arg0K0 = 5; goto L38248;} else { goto L10646;}} else { goto L10646;}} L28417: { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28558: { if ((3 == (3 & n_458X))) { if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) { goto L28569;} else { goto L28570;}} else { goto L28570;}} L28757: { if ((3 == (3 & n_459X))) { if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) { goto L28768;} else { goto L28769;}} else { goto L28769;}} L28956: { if ((3 == (3 & n_460X))) { if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) { goto L28967;} else { goto L28968;}} else { goto L28968;}} L6791: { b_976X = arg0K0; lo_a_977X = 65535 & a_818X; lo_b_978X = 65535 & b_976X; hi_a_979X = 65535 & (((a_818X)>>16)); hi_b_980X = 65535 & (((b_976X)>>16)); lo_c_981X = SMALL_MULTIPLY(lo_a_977X, lo_b_978X); v_982X = SMALL_MULTIPLY(lo_b_978X, hi_a_979X); v_983X = SMALL_MULTIPLY(lo_a_977X, hi_b_980X); mid_c_984X = v_983X + v_982X; c_985X = lo_c_981X + (((mid_c_984X)<<16)); if ((0 < hi_a_979X)) { if ((0 < hi_b_980X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { goto L6833;}} else { goto L6833;}} L7072: { b_986X = arg0K0; c_987X = a_819X / b_986X; x_988X = 0 == (a_819X % b_986X); if (x_988X) { if ((a_476X < 0)) { if ((b_477X < 0)) { goto L7127;} else { goto L7126;}} else { if ((b_477X < 0)) { goto L7126;} else { goto L7127;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_474X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_475X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L7249: { b_989X = arg0K0; c_990X = a_825X / b_989X; if ((a_490X < 0)) { if ((b_491X < 0)) { goto L7295;} else { goto L7294;}} else { if ((b_491X < 0)) { goto L7294;} else { goto L7295;}}} L25361: { b_991X = arg0K0; c_992X = a_826X % b_991X; if ((a_494X < 0)) { arg0K0 = (0 - c_992X); goto L25365;} else { arg0K0 = c_992X; goto L25365;}} L21349: { SvalS = new_837X; Scode_pointerS = ((Scode_pointerS) + 3); arg1K0 = (Scode_pointerS); goto L18451;} L21333: { i_993X = arg0K0; if ((i_993X < 0)) { goto L21349;} else { SstackS = ((SstackS) + 4); *((long *) ((((char *) (-3 + new_837X))) + (((i_993X)<<2)))) = (*((long *) (SstackS))); arg0K0 = (-1 + i_993X); goto L21333;}} L21518: { i_994X = arg0K0; if ((i_994X < 0)) { arg0K0 = stack_nargs_842X; arg0K1 = rest_list_843X; goto L21536;} else { SstackS = ((SstackS) + 4); *((long *) ((((char *) (-3 + new_841X))) + (((i_994X)<<2)))) = (*((long *) (SstackS))); arg0K0 = (-1 + i_994X); goto L21518;}} L22041: { i_995X = arg0K0; if ((i_995X < 0)) { SvalS = value_848X; Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} else { addr_996X = (((char *) (-3 + value_848X))) + (((i_995X)<<2)); S48_WRITE_BARRIER(value_848X, addr_996X, init_845X); *((long *) addr_996X) = init_845X; arg0K0 = (-1 + i_995X); goto L22041;}} L26136: { i_997X = arg0K0; if ((i_997X < 0)) { SvalS = vector_850X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { *((unsigned char *) ((((char *) (-3 + vector_850X))) + i_997X)) = init_584X; arg0K0 = (-1 + i_997X); goto L26136;}} L26370: { i_998X = arg0K0; if ((i_998X < 0)) { SvalS = string_853X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { *((unsigned char *) ((((char *) (-3 + string_853X))) + i_998X)) = (init_600X); arg0K0 = (-1 + i_998X); goto L26370;}} L13346: { i_999X = arg0K0; h_1000X = arg0K1; if ((i_999X < n_857X)) { arg0K0 = (1 + i_999X); arg0K1 = (h_1000X + (((*((unsigned char *) ((((char *) (-3 + string_856X))) + i_999X)))))); goto L13346;} else { index_1001X = 1023 & h_1000X; bucket_1002X = *((long *) ((((char *) (-3 + table_855X))) + (((index_1001X)<<2)))); arg0K0 = bucket_1002X; goto L13314;}} L24509: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L29683: { SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L33230: { key_1003X = arg0K0; SstackS = ((SstackS) + 4); arg2_1004X = *((long *) (SstackS)); if ((0 == (3 & (SvalS)))) { mode_1005X = (((SvalS))>>2); if ((1 == mode_1005X)) { goto L26794;} else { if ((2 == mode_1005X)) { goto L26794;} else { if ((3 == mode_1005X)) { goto L26794;} else { if ((4 == mode_1005X)) { goto L26794;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L34662: { key_1006X = arg0K0; obj_1007X = SvalS; if ((3 == (3 & obj_1007X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1007X))) + -4))))>>2))))) { channel_1008X = SvalS; if ((0 == (*((long *) (((char *) (-3 + channel_1008X))))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = channel_1008X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { status_1009X = close_channelB(channel_1008X); if ((status_1009X == NO_ERRORS)) { SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(25, 1); *((long *) (SstackS)) = channel_1008X; SstackS = ((SstackS) + -4); merged_arg0K0 = status_1009X; merged_arg0K1 = key_1006X; get_error_string_return_tag = 0; goto get_error_string; get_error_string_return_0: x_1010X = get_error_string0_return_value; *((long *) (SstackS)) = x_1010X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} else { goto L34670;}} else { goto L34670;}} L37482: { key_1011X = arg0K0; SstackS = ((SstackS) + 4); arg2_1012X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_1013X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg4_1014X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg5_1015X = *((long *) (SstackS)); if ((0 == (3 & (arg4_1014X | arg3_1013X)))) { if ((1 == arg2_1012X)) { goto L37514;} else { if ((5 == arg2_1012X)) { goto L37514;} else { goto L37534;}}} else { goto L37534;}} L37754: { key_1016X = arg0K0; SstackS = ((SstackS) + 4); arg2_1017X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_1018X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg4_1019X = *((long *) (SstackS)); if ((0 == (3 & (arg3_1018X | arg2_1017X)))) { obj_1020X = SvalS; if ((3 == (3 & obj_1020X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1020X))) + -4))))>>2))))) { start_1021X = ((arg3_1018X)>>2); count_1022X = ((arg2_1017X)>>2); channel_1023X = SvalS; v_1024X = 8 == (*((long *) (((char *) (-3 + channel_1023X))))); if (v_1024X) { if ((3 == (3 & arg4_1019X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) { goto L37065;} else { goto L37057;}} else { goto L37057;}} else { arg0K0 = 5; goto L36948;}} else { goto L37796;}} else { goto L37796;}} else { goto L37796;}} L34147: { key_1025X = arg0K0; obj_1026X = SvalS; if ((3 == (3 & obj_1026X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1026X))) + -4))))>>2))))) { channel_1027X = SvalS; if ((0 == (*((long *) (((char *) (-3 + channel_1027X))))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = channel_1027X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { readyP_1028X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1027X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1027X)))))), &status_1029X); if ((status_1029X == NO_ERRORS)) { if (readyP_1028X) { arg0K0 = 5; goto L29269;} else { arg0K0 = 1; goto L29269;}} else { push_exception_continuationB(25, 1); *((long *) (SstackS)) = channel_1027X; SstackS = ((SstackS) + -4); merged_arg0K0 = status_1029X; merged_arg0K1 = key_1025X; get_error_string_return_tag = 1; goto get_error_string; get_error_string_return_1: x_1030X = get_error_string0_return_value; *((long *) (SstackS)) = x_1030X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} else { goto L34155;}} else { goto L34155;}} L8215: { val_1031X = *((long *) ((((char *) (-3 + ch_873X))) + 12)); addr_1032X = (((char *) (-3 + prev_874X))) + 12; S48_WRITE_BARRIER(prev_874X, addr_1032X, val_1031X); *((long *) addr_1032X) = val_1031X; addr_1033X = (((char *) (-3 + ch_873X))) + 12; S48_WRITE_BARRIER(ch_873X, addr_1033X, 1); *((long *) addr_1033X) = 1; arg0K0 = (*((long *) ((((char *) (-3 + ch_873X))) + 16))); goto L33335;} L14797: { i_1034X = arg0K0; res_1035X = arg0K1; if ((-1 == i_1034X)) { SvalS = res_1035X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { channel_1036X = *((Svm_channelsS) + i_1034X); if ((3 == (3 & channel_1036X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + channel_1036X))) + -4))))>>2))))) { addr_1037X = ALLOCATE_SPACE(0, 12); *((long *) addr_1037X) = 2050; x_1038X = 3 + (((long) (addr_1037X + 4))); *((long *) (((char *) (-3 + x_1038X)))) = channel_1036X; *((long *) ((((char *) (-3 + x_1038X))) + 4)) = res_1035X; arg0K0 = x_1038X; goto L14811;} else { arg0K0 = res_1035X; goto L14811;}} else { arg0K0 = res_1035X; goto L14811;}}} L34735: { key_1039X = arg0K0; SstackS = ((SstackS) + 4); arg2_1040X = *((long *) (SstackS)); SstackS = ((SstackS) + 4); arg3_1041X = *((long *) (SstackS)); if ((3 == (3 & arg3_1041X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1041X))) + -4))))>>2))))) { obj_1042X = SvalS; if ((3 == (3 & obj_1042X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1042X))) + -4))))>>2))))) { comment_string_1043X = SvalS; x_1044X = s48_image_writing_okayP(); if (x_1044X) { port_1045X = ps_open_output_file((((char *)(((char *) (-3 + arg3_1041X))))), &status_1046X); if ((status_1046X == NO_ERRORS)) { status_1047X = ps_write_string((((char *)(((char *) (-3 + comment_string_1043X))))), port_1045X); if ((status_1047X == NO_ERRORS)) { status_1048X = s48_write_image(arg2_1040X, port_1045X); if ((status_1048X == NO_ERRORS)) { status_1049X = ps_close(port_1045X); if ((status_1049X == NO_ERRORS)) { undumpables_1050X = s48_undumpable_records(&undumpable_count_1051X); if ((0 == undumpable_count_1051X)) { SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { push_exception_continuationB(26, 1); *((long *) (SstackS)) = arg3_1041X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1040X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = comment_string_1043X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = undumpables_1050X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((undumpable_count_1051X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;}} else { arg0K0 = 25; arg0K1 = status_1049X; goto L30317;}} else { status_1052X = ps_close(port_1045X); if ((status_1052X == NO_ERRORS)) { arg0K0 = 25; arg0K1 = status_1048X; goto L30317;} else { ps_write_string("Unable to close image file", (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } arg0K0 = 25; arg0K1 = status_1048X; goto L30317;}}} else { status_1053X = ps_close(port_1045X); if ((status_1053X == NO_ERRORS)) { arg0K0 = 25; arg0K1 = status_1047X; goto L30317;} else { ps_write_string("Unable to close image file", (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } arg0K0 = 25; arg0K1 = status_1047X; goto L30317;}}} else { arg0K0 = 10; arg0K1 = status_1046X; goto L30317;}} else { push_exception_continuationB(15, 1); *((long *) (SstackS)) = arg3_1041X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1040X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = comment_string_1043X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;}} else { goto L34767;}} else { goto L34767;}} else { goto L34767;}} else { goto L34767;}} L30696: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = stob_882X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = proc_883X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L34313: { minutesP_1054X = arg2K0; if ((s48_Spending_interruptPS)) { if ((s48_Spending_eventsPS)) { s48_Spending_eventsPS = 0; check_events_return_tag = 2; goto check_events; check_events_return_2: temp_1055X = check_events0_return_value; if (temp_1055X) { goto L34339;} else { goto L34344;}} else { goto L34339;}} else { goto L34344;}} L22862: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = proc_901X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = name_902X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L33501: { key_1056X = arg0K0; SstackS = ((SstackS) + 4); arg2_1057X = *((long *) (SstackS)); if ((3 == (3 & arg2_1057X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1057X))) + -4))))>>2))))) { x_1058X = SvalS; if ((1 == x_1058X)) { goto L33518;} else { if ((5 == x_1058X)) { goto L33518;} else { goto L33523;}}} else { goto L33523;}} else { goto L33523;}} L23959: { table_1059X = arg0K0; n_1060X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>8)); arg0K0 = 0; arg0K1 = 0; goto L12893;} L27390: { len_1061X = 1 + n_912X; addr_1062X = ALLOCATE_SPACE(16, (4 + len_1061X)); *((long *) addr_1062X) = (66 + (((len_1061X)<<8))); string_1063X = 3 + (((long) (addr_1062X + 4))); *((unsigned char *) ((((char *) (-3 + string_1063X))) + n_912X)) = 0; arg0K0 = arg2_911X; arg0K1 = (-1 + n_912X); goto L27367;} L27342: { if ((25 == arg2_911X)) { goto L27390;} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_911X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((n_912X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L31101: { if ((from_index_730X < 0)) { goto L31155;} else { if ((to_index_731X < 0)) { goto L31155;} else { if ((count_732X < 0)) { goto L31155;} else { if ((3 == (3 & arg5_729X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) { arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>8))); goto L31122;} else { goto L31118;}} else { goto L31118;}}}}} L31096: { if ((3 == (3 & arg5_729X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>2))))) { goto L31101;} else { goto L31155;}} else { goto L31155;}} L31155: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg5_729X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((from_index_730X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_727X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((to_index_731X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((count_732X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;} L23118: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = port_918X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L23098: { push_exception_continuationB(14, 2); *((long *) (SstackS)) = port_918X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L23338: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = port_926X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L23318: { push_exception_continuationB(14, 2); *((long *) (SstackS)) = port_926X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L23552: { push_exception_continuationB(5, 2); *((long *) (SstackS)) = Kchar_932X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = port_933X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L23534: { push_exception_continuationB(14, 2); *((long *) (SstackS)) = Kchar_932X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = port_933X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L29591: { arg0K0 = (*((long *) ((((char *) (-3 + stuff_940X))) + 4))); goto L29585;} L11663: { if ((3 == (3 & thing_941X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { arg3K0 = (((char *)(((char *) (-3 + thing_941X))))); goto L11705;} else { goto L11671;}} else { goto L11671;}} L29576: { { long ignoreXX; PS_WRITE_CHAR(10, out_741X, ignoreXX) } SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L16754: { StemplateS = (SvalS); Slosing_opcodeS = opcode_743X; arg0K0 = (2 + nargs_742X); goto L16079;} L16824: { merged_arg3K0 = "exception handler is not a closure"; loseD0_return_tag = 1; goto loseD0; loseD0_return_1: goto L16754;} L20979: { key_1064X = arg0K0; p_1065X = SenvS; if ((3 == (3 & p_1065X))) { if ((p_1065X < (((long) (Sstack_beginS))))) { goto L21074;} else { if (((((long) (Sstack_endS))) < p_1065X)) { goto L21074;} else { merged_arg0K0 = (SenvS); merged_arg0K1 = (ScontS); merged_arg0K2 = key_1064X; merged_arg0K3 = 0; save_env_in_heap_return_tag = 0; goto save_env_in_heap; save_env_in_heap_return_0: v_1066X = save_env_in_heap0_return_value; SenvS = v_1066X; goto L21074;}}} else { goto L21074;}} L20990: { env_1067X = arg0K0; a_1068X = *((long *) ((((char *) (-3 + (StemplateS)))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))); addr_1069X = ALLOCATE_SPACE(3, 12); *((long *) addr_1069X) = 2062; x_1070X = 3 + (((long) (addr_1069X + 4))); *((long *) (((char *) (-3 + x_1070X)))) = a_1068X; *((long *) ((((char *) (-3 + x_1070X))) + 4)) = env_1067X; if ((3 == (3 & x_1070X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1070X))) + -4)))))) { *((long *) ((((char *) (-3 + x_1070X))) + -4)) = (128 | (*((long *) ((((char *) (-3 + x_1070X))) + -4)))); arg0K0 = x_1070X; goto L20998;} else { arg0K0 = x_1070X; goto L20998;}} else { arg0K0 = x_1070X; goto L20998;}} L20801: { i_1071X = arg0K0; offset_1072X = arg0K1; env_1073X = arg0K2; if ((i_1071X == total_count_393X)) { SvalS = new_env_765X; Scode_pointerS = ((Scode_pointerS) + (1 + offset_1072X)); arg1K0 = (Scode_pointerS); goto L18451;} else { back_1074X = *((unsigned char *) ((Scode_pointerS) + (1 + offset_1072X))); arg0K0 = env_1073X; arg0K1 = back_1074X; goto L20897;}} L20697: { value_1075X = arg0K0; SvalS = value_1075X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L17012: { i_1076X = arg0K0; m_1077X = arg0K1; if ((0 == (n_955X & m_1077X))) { arg0K0 = (1 + i_1076X); arg0K1 = (((m_1077X)<<1)); goto L17012;} else { Spending_interruptsS = ((Spending_interruptsS) & (~ m_1077X)); if ((i_1076X == 0)) { *((long *) (SstackS)) = (Sinterrupted_templateS); SstackS = ((SstackS) + -4); Sinterrupted_templateS = 1; *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16931;} else { if ((i_1076X == 2)) { *((long *) (SstackS)) = (Sfinalize_theseS); SstackS = ((SstackS) + -4); Sfinalize_theseS = 25; *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16931;} else { if ((i_1076X == 3)) { channel_1078X = Spending_channels_headS; next_1079X = *((long *) ((((char *) (-3 + channel_1078X))) + 12)); Spending_channels_headS = next_1079X; addr_1080X = (((char *) (-3 + channel_1078X))) + 12; S48_WRITE_BARRIER(channel_1078X, addr_1080X, 1); *((long *) addr_1080X) = 1; if ((1 == next_1079X)) { Spending_channels_tailS = 1; arg0K0 = channel_1078X; goto L8376;} else { arg0K0 = channel_1078X; goto L8376;}} else { if ((i_1076X == 4)) { *((long *) (SstackS)) = (Sos_signal_typeS); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (Sos_signal_argumentS); SstackS = ((SstackS) + -4); Sos_signal_typeS = 1; Sos_signal_argumentS = 1; *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16931;} else { *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16931;}}}}}} L16097: { skip_1081X = arg0K0; stack_arg_count_1082X = arg0K1; template_1083X = *((long *) (((char *) (-3 + (SvalS))))); StemplateS = template_1083X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1083X)))))))) + skip_1081X); SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4))); arg0K0 = stack_space_957X; arg0K1 = stack_arg_count_1082X; goto L15987;} L16120: { skip_1084X = arg0K0; *((long *) (SstackS)) = 25; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((stack_arg_count_774X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((stack_arg_count_774X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = skip_1084X; arg0K1 = (3 + stack_arg_count_774X); goto L16097;} L16374: { skip_1085X = arg0K0; stack_arg_count_1086X = arg0K1; template_1087X = *((long *) (((char *) (-3 + (SvalS))))); StemplateS = template_1087X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + template_1087X)))))))) + skip_1085X); SenvS = (*((long *) ((((char *) (-3 + (SvalS)))) + 4))); arg0K0 = stack_space_964X; arg0K1 = stack_arg_count_1086X; goto L15987;} L16399: { skip_1088X = arg0K0; if ((total_arg_count_793X < 3)) { arg0K0 = total_arg_count_793X; goto L16407;} else { if ((2 < stack_arg_count_787X)) { arg0K0 = stack_arg_count_787X; goto L16407;} else { arg0K0 = 2; goto L16407;}}} L19295: { SvalS = (*((long *) ((((char *) (-3 + cont_970X))) + 16))); arg0K0 = stack_nargs_804X; arg0K1 = list_args_805X; arg0K2 = list_arg_count_806X; goto L17679;} L20457: { merged_arg0K0 = list_args_805X; merged_arg0K1 = stack_nargs_804X; pop_args_GlistS_return_tag = 4; goto pop_args_GlistS; pop_args_GlistS_return_4: args_1089X = pop_args_GlistS0_return_value; push_exception_continuationB(4, 0); *((long *) (SstackS)) = 1; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = args_1089X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L10646: { if ((3 == (3 & x_456X))) { if ((10 == (31 & ((((*((long *) ((((char *) (-3 + x_456X))) + -4))))>>2))))) { arg0K0 = 5; goto L38248;} else { arg0K0 = 1; goto L38248;}} else { arg0K0 = 1; goto L38248;}} L28570: { if ((3 == (3 & n_458X))) { if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_458X))) + -4))))>>2))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_458X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { goto L28574;}} else { goto L28574;}} L28769: { if ((3 == (3 & n_459X))) { if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_459X))) + -4))))>>2))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_459X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { goto L28773;}} else { goto L28773;}} L28968: { if ((3 == (3 & n_460X))) { if ((10 == (31 & ((((*((long *) ((((char *) (-3 + n_460X))) + -4))))>>2))))) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = n_460X; SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} else { goto L28972;}} else { goto L28972;}} L6833: { if ((536870911 < lo_c_981X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if ((lo_c_981X < 0)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if ((8192 < mid_c_984X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { if ((a_469X < 0)) { if ((b_470X < 0)) { goto L6860;} else { goto L6867;}} else { if ((b_470X < 0)) { goto L6867;} else { goto L6860;}}}}}} L7127: { if ((536870911 < c_987X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_474X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_475X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = (((c_987X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L7126: { SvalS = ((((0 - c_987X))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L7295: { if ((536870911 < c_990X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_488X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_489X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = (((c_990X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L7294: { SvalS = ((((0 - c_990X))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L25365: { n_1090X = arg0K0; SvalS = (((n_1090X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L21536: { i_1091X = arg0K0; rest_list_1092X = arg0K1; if ((25 == rest_list_1092X)) { SvalS = new_841X; Scode_pointerS = ((Scode_pointerS) + 2); arg1K0 = (Scode_pointerS); goto L18451;} else { *((long *) ((((char *) (-3 + new_841X))) + (((i_1091X)<<2)))) = (*((long *) (((char *) (-3 + rest_list_1092X))))); arg0K0 = (1 + i_1091X); arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1092X))) + 4))); goto L21536;}} L13314: { foo_1093X = arg0K0; if ((1 == foo_1093X)) { addr_1094X = ALLOCATE_SPACE(1, 12); *((long *) addr_1094X) = 2054; x_1095X = 3 + (((long) (addr_1094X + 4))); *((long *) (((char *) (-3 + x_1095X)))) = string_856X; *((long *) ((((char *) (-3 + x_1095X))) + 4)) = bucket_1002X; addr_1096X = (((char *) (-3 + table_855X))) + (((index_1001X)<<2)); S48_WRITE_BARRIER(table_855X, addr_1096X, x_1095X); *((long *) addr_1096X) = x_1095X; arg0K0 = x_1095X; goto L24550;} else { s2_1097X = *((long *) (((char *) (-3 + foo_1093X)))); len_1098X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_856X))) + -4))))>>8); if ((len_1098X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1097X))) + -4))))>>8)))) { if (((!memcmp((void *)(((char *) (-3 + s2_1097X))), (void *)(((char *) (-3 + string_856X))),len_1098X)))) { arg0K0 = foo_1093X; goto L24550;} else { goto L13330;}} else { goto L13330;}}} L26794: { if ((0 == (3 & arg2_1004X))) { if (((((arg2_1004X)>>2)) < 0)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { arg0K0 = (((arg2_1004X)>>2)); goto L26614;}} else { if ((3 == (3 & arg2_1004X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1004X))) + -4))))>>2))))) { if ((1 == mode_1005X)) { goto L26672;} else { if ((3 == mode_1005X)) { goto L26672;} else { v_1099X = ps_open_fd((((char *)(((char *) (-3 + arg2_1004X))))), 0, &v_1100X); arg0K0 = v_1099X; arg0K1 = v_1100X; goto L26685;}}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}}} L34670: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L37514: { obj_1101X = SvalS; if ((3 == (3 & obj_1101X))) { if ((5 == (31 & ((((*((long *) ((((char *) (-3 + obj_1101X))) + -4))))>>2))))) { x_1102X = SvalS; if ((1 == arg2_1012X)) { arg2K0 = 0; goto L37531;} else { arg2K0 = 1; goto L37531;}} else { goto L37534;}} else { goto L37534;}} L37534: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg5_1015X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg4_1014X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_1013X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1012X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;} L37065: { if ((3 == (3 & arg4_1019X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) { arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>8))); goto L37077;} else { goto L37073;}} else { goto L37073;}} L37057: { if ((3 == (3 & arg4_1019X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>2))))) { goto L37065;} else { arg0K0 = 5; goto L36948;}} else { arg0K0 = 5; goto L36948;}} L36948: { reason_1103X = arg0K0; push_exception_continuationB(reason_1103X, 1); *((long *) (SstackS)) = arg4_1019X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((start_1021X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((count_1022X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = channel_1023X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L37796: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg4_1019X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg3_1018X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1017X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L29269: { val_1104X = arg0K0; SvalS = val_1104X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L34155: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 1; goto L16678;} L14811: { v_1105X = arg0K0; arg0K0 = (-1 + i_1034X); arg0K1 = v_1105X; goto L14797;} L30317: { reason_1106X = arg0K0; status_1107X = arg0K1; push_exception_continuationB(reason_1106X, 1); *((long *) (SstackS)) = arg3_1041X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1040X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = comment_string_1043X; SstackS = ((SstackS) + -4); merged_arg0K0 = status_1107X; merged_arg0K1 = key_1039X; get_error_string_return_tag = 2; goto get_error_string; get_error_string_return_2: x_1108X = get_error_string0_return_value; *((long *) (SstackS)) = x_1108X; SstackS = ((SstackS) + -4); arg0K0 = 4; goto L16678;} L34767: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg3_1041X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = arg2_1040X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;} L34339: { SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L34344: { if ((0 == (Spending_interruptsS))) { s48_wait_for_event((((arg2_681X)>>2)), minutesP_1054X); goto L34339;} else { goto L34339;}} L33518: { if ((1 == (SvalS))) { v_1109X = Hlookup2112((Sexported_bindingsS), arg2_1057X, key_1056X); arg0K0 = v_1109X; goto L33575;} else { v_1110X = Hlookup2093((Simported_bindingsS), arg2_1057X, key_1056X); arg0K0 = v_1110X; goto L33575;}} L33523: { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_1057X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (SvalS); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} L12893: { i_1111X = arg0K0; h_1112X = arg0K1; if ((i_1111X < n_1060X)) { arg0K0 = (1 + i_1111X); arg0K1 = (h_1112X + (((*((unsigned char *) ((((char *) (-3 + arg2_689X))) + i_1111X)))))); goto L12893;} else { index_1113X = 1023 & h_1112X; bucket_1114X = *((long *) ((((char *) (-3 + table_1059X))) + (((index_1113X)<<2)))); arg0K0 = 1; arg0K1 = bucket_1114X; goto L12857;}} L27367: { l_1115X = arg0K0; i_1116X = arg0K1; if ((i_1116X < 0)) { SvalS = string_1063X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { *((unsigned char *) ((((char *) (-3 + string_1063X))) + i_1116X)) = ((((((*((long *) (((char *) (-3 + l_1115X))))))>>8)))); arg0K0 = (*((long *) ((((char *) (-3 + l_1115X))) + 4))); arg0K1 = (-1 + i_1116X); goto L27367;}} L31122: { y_1117X = arg0K0; if ((y_1117X < (from_index_730X + count_732X))) { goto L31155;} else { if ((3 == (3 & arg3_727X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>2))))) { arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>8))); goto L31137;} else { goto L31133;}} else { goto L31133;}}} L31118: { arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_729X))) + -4))))>>8)); goto L31122;} L11705: { v_1118X = arg3K0; ps_write_string(v_1118X, out_741X); goto L29591;} L11671: { if ((3 == (3 & thing_941X))) { if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_941X)))))))))); goto L11705;} else { goto L11679;}} else { goto L11679;}} L21074: { arg0K0 = (SenvS); goto L20984;} L20998: { value_1119X = arg0K0; SvalS = value_1119X; Scode_pointerS = ((Scode_pointerS) + 4); arg1K0 = (Scode_pointerS); goto L18451;} L20897: { env_1120X = arg0K0; i_1121X = arg0K1; if ((0 == i_1121X)) { count_1122X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1072X))); arg0K0 = count_1122X; arg0K1 = i_1071X; arg0K2 = (2 + offset_1072X); goto L20818;} else { arg0K0 = (*((long *) (((char *) (-3 + env_1120X))))); arg0K1 = (-1 + i_1121X); goto L20897;}} L16931: { arg_count_1123X = arg0K0; obj_1124X = Sinterrupt_handlersS; if ((3 == (3 & obj_1124X))) { if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1124X))) + -4))))>>2))))) { goto L16945;} else { goto L17025;}} else { goto L17025;}} L8376: { channel_1125X = arg0K0; x_1126X = 1 == (Spending_channels_headS); if (x_1126X) { goto L8390;} else { Spending_interruptsS = (8 | (Spending_interruptsS)); if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L8390;} else { goto L8390;}} else { s48_Spending_interruptPS = 1; goto L8390;}}} L15987: { stack_slots_1127X = arg0K0; stack_arg_count_1128X = arg0K1; if ((stack_slots_1127X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L15989;} else { space_1129X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_1130X = AVAILABLEp(space_1129X); if (v_1130X) { arg2K0 = 1; arg0K1 = 0; goto L16046;} else { collect_saving_temps(1, 1, &temp1_1131X); v_1132X = AVAILABLEp(space_1129X); if (v_1132X) { arg2K0 = 1; arg0K1 = 0; goto L16046;} else { arg2K0 = 0; arg0K1 = 0; goto L16046;}}}} L16407: { final_stack_arg_count_1133X = arg0K0; if ((stack_arg_count_787X < final_stack_arg_count_1133X)) { arg0K0 = final_stack_arg_count_1133X; goto L16411;} else { arg0K0 = stack_arg_count_787X; goto L16411;}} L28574: { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28773: { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L28972: { SvalS = 1; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L6860: { if ((536870911 < c_985X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = (((c_985X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L6867: { if ((536870912 < c_985X)) { push_exception_continuationB(5, 1); *((long *) (SstackS)) = arg2_467X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_468X; SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { SvalS = ((((0 - c_985X))<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L24550: { val_1134X = arg0K0; SvalS = val_1134X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L13330: { arg0K0 = (*((long *) ((((char *) (-3 + foo_1093X))) + 4))); goto L13314;} L26614: { index_1135X = arg0K0; channel_1136X = make_registered_channel(mode_1005X, arg2_1004X, index_1135X, key_1003X, &reason_1137X); if ((1 == channel_1136X)) { if ((3 == (3 & arg2_1004X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1004X))) + -4))))>>2))))) { if ((1 == mode_1005X)) { goto L26729;} else { if ((3 == mode_1005X)) { goto L26729;} else { v_1138X = ps_close_fd(index_1135X); arg0K0 = v_1138X; goto L26724;}}} else { push_exception_continuationB(reason_1137X, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { push_exception_continuationB(reason_1137X, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} else { SvalS = channel_1136X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L26672: { v_1139X = ps_open_fd((((char *)(((char *) (-3 + arg2_1004X))))), 1, &v_1140X); arg0K0 = v_1139X; arg0K1 = v_1140X; goto L26685;} L26685: { channel_1141X = arg0K0; status_1142X = arg0K1; if ((status_1142X == NO_ERRORS)) { arg0K0 = channel_1141X; goto L26614;} else { if ((status_1142X == ENOENT)) { push_exception_continuationB(10, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { push_exception_continuationB(25, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); merged_arg0K0 = status_1142X; merged_arg0K1 = key_1003X; get_error_string_return_tag = 3; goto get_error_string; get_error_string_return_3: x_1143X = get_error_string0_return_value; *((long *) (SstackS)) = x_1143X; SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16678;}}} L37531: { waitP_1144X = arg2K0; start_1145X = ((arg4_1014X)>>2); count_1146X = ((arg3_1013X)>>2); if ((4 == (*((long *) (((char *) (-3 + x_1102X))))))) { if ((3 == (3 & arg5_1015X))) { if ((0 == (128 & (*((long *) ((((char *) (-3 + arg5_1015X))) + -4)))))) { if ((3 == (3 & arg5_1015X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) { goto L36667;} else { goto L36659;}} else { goto L36659;}} else { arg0K0 = 5; goto L36550;}} else { arg0K0 = 5; goto L36550;}} else { arg0K0 = 5; goto L36550;}} L37077: { length_1147X = arg0K0; if ((length_1147X < (start_1021X + count_1022X))) { arg0K0 = 7; goto L36948;} else { got_1148X = ps_write_fd(((((*((long *) ((((char *) (-3 + channel_1023X))) + 8))))>>2)), ((((char *) (-3 + arg4_1019X))) + start_1021X), count_1022X, &pendingP_1149X, &status_1150X); if ((status_1150X == NO_ERRORS)) { if (pendingP_1149X) { addr_1151X = (((char *) (-3 + channel_1023X))) + 16; S48_WRITE_BARRIER(channel_1023X, addr_1151X, 5); *((long *) addr_1151X) = 5; s48_Spending_interruptPS = 0; Senabled_interruptsS = 0; arg0K0 = 13; goto L36948;} else { SvalS = (((got_1148X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} else { push_exception_continuationB(25, 1); *((long *) (SstackS)) = arg4_1019X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((start_1021X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((count_1022X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = channel_1023X; SstackS = ((SstackS) + -4); merged_arg0K0 = status_1150X; merged_arg0K1 = key_1016X; get_error_string_return_tag = 4; goto get_error_string; get_error_string_return_4: x_1152X = get_error_string0_return_value; *((long *) (SstackS)) = x_1152X; SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;}}} L37073: { arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1019X))) + -4))))>>8)); goto L37077;} L33575: { val_1153X = arg0K0; SvalS = val_1153X; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L12857: { previous_foo_1154X = arg0K0; foo_1155X = arg0K1; if ((1 == foo_1155X)) { goto L23961;} else { s2_1156X = *((long *) (((char *) (-3 + foo_1155X)))); len_1157X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>8); if ((len_1157X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1156X))) + -4))))>>8)))) { if (((!memcmp((void *)(((char *) (-3 + s2_1156X))), (void *)(((char *) (-3 + arg2_689X))),len_1157X)))) { if ((1 == previous_foo_1154X)) { value_1158X = *((long *) ((((char *) (-3 + foo_1155X))) + 12)); addr_1159X = (((char *) (-3 + table_1059X))) + (((index_1113X)<<2)); S48_WRITE_BARRIER(table_1059X, addr_1159X, value_1158X); *((long *) addr_1159X) = value_1158X; goto L23961;} else { val_1160X = *((long *) ((((char *) (-3 + foo_1155X))) + 12)); addr_1161X = (((char *) (-3 + previous_foo_1154X))) + 12; S48_WRITE_BARRIER(previous_foo_1154X, addr_1161X, val_1160X); *((long *) addr_1161X) = val_1160X; goto L23961;}} else { goto L12919;}} else { goto L12919;}}} L31137: { y_1162X = arg0K0; if ((y_1162X < (to_index_731X + count_732X))) { goto L31155;} else { memcpy((void *)((((char *) (-3 + arg3_727X))) + to_index_731X), (void *)((((char *) (-3 + arg5_729X))) + from_index_730X),count_732X); SvalS = 13; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}} L31133: { arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_727X))) + -4))))>>8)); goto L31137;} L11679: { if ((1 == thing_941X)) { goto L11682;} else { if ((5 == thing_941X)) { goto L11682;} else { if ((25 == thing_941X)) { arg3K0 = "()"; goto L11705;} else { if ((3 == (3 & thing_941X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { arg3K0 = "(...)"; goto L11705;} else { goto L11695;}} else { goto L11695;}}}}} L20818: { count_1163X = arg0K0; i_1164X = arg0K1; offset_1165X = arg0K2; if ((0 == count_1163X)) { arg0K0 = i_1164X; arg0K1 = offset_1165X; arg0K2 = env_1120X; goto L20801;} else { value_1166X = *((long *) ((((char *) (-3 + env_1120X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1165X)))))<<2)))); addr_1167X = (((char *) (-3 + new_env_765X))) + (((i_1164X)<<2)); S48_WRITE_BARRIER(new_env_765X, addr_1167X, value_1166X); *((long *) addr_1167X) = value_1166X; arg0K0 = (-1 + count_1163X); arg0K1 = (1 + i_1164X); arg0K2 = (1 + offset_1165X); goto L20818;}} L16945: { Senabled_interruptsS = 0; if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L16947;} else { goto L16947;}} else { s48_Spending_interruptPS = 1; goto L16947;}} L17025: { ps_error("interrupt handler is not a vector", 0); goto L16945;} L8390: { *((long *) (SstackS)) = channel_1125X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (*((long *) ((((char *) (-3 + channel_1125X))) + 16))); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = ((((Senabled_interruptsS))<<2)); SstackS = ((SstackS) + -4); arg0K0 = 3; goto L16931;} L15989: { if ((s48_Spending_interruptPS)) { if ((s48_Spending_eventsPS)) { s48_Spending_eventsPS = 0; check_events_return_tag = 3; goto check_events; check_events_return_3: v_1168X = check_events0_return_value; if (v_1168X) { arg0K0 = stack_arg_count_1128X; goto L16907;} else { goto L15993;}} else { arg0K0 = stack_arg_count_1128X; goto L16907;}} else { goto L15993;}} L16046: { okayP_1169X = arg2K0; key_1170X = arg0K1; if (okayP_1169X) { arg0K0 = key_1170X; goto L16000;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_1170X; goto L16000;}} L16411: { v_1171X = arg0K0; merged_arg0K0 = v_1171X; merged_arg0K1 = stack_arg_count_787X; merged_arg0K2 = list_args_788X; merged_arg0K3 = list_arg_count_789X; rest_list_setup_return_tag = 2; goto rest_list_setup; rest_list_setup_return_2: *((long *) (SstackS)) = (((final_stack_arg_count_1133X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((total_arg_count_793X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = skip_1088X; arg0K1 = (3 + final_stack_arg_count_1133X); goto L16374;} L26729: { v_1172X = ps_close_fd(index_1135X); arg0K0 = v_1172X; goto L26724;} L26724: { status_1173X = arg0K0; if ((status_1173X == NO_ERRORS)) { push_exception_continuationB(reason_1137X, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;} else { channel_close_error(status_1173X, index_1135X, arg2_1004X); push_exception_continuationB(reason_1137X, 1); *((long *) (SstackS)) = arg2_1004X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((mode_1005X)<<2)); SstackS = ((SstackS) + -4); arg0K0 = 2; goto L16678;}} L36667: { if ((3 == (3 & arg5_1015X))) { if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) { arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>8))); goto L36679;} else { goto L36675;}} else { goto L36675;}} L36659: { if ((3 == (3 & arg5_1015X))) { if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>2))))) { goto L36667;} else { arg0K0 = 5; goto L36550;}} else { arg0K0 = 5; goto L36550;}} L36550: { reason_1174X = arg0K0; push_exception_continuationB(reason_1174X, 1); *((long *) (SstackS)) = arg5_1015X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((start_1145X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((count_1146X)<<2)); SstackS = ((SstackS) + -4); if (waitP_1144X) { arg0K0 = 5; goto L36565;} else { arg0K0 = 1; goto L36565;}} L23961: { Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} L12919: { arg0K0 = foo_1155X; arg0K1 = (*((long *) ((((char *) (-3 + foo_1155X))) + 12))); goto L12857;} L11682: { if ((1 == thing_941X)) { arg3K0 = "#f"; goto L11705;} else { arg3K0 = "#t"; goto L11705;}} L11695: { if ((3 == (3 & thing_941X))) { if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { arg3K0 = "#(...)"; goto L11705;} else { goto L11699;}} else { goto L11699;}} L16947: { SvalS = (*((long *) ((((char *) (-3 + (Sinterrupt_handlersS)))) + (((i_1076X)<<2))))); obj_1175X = SvalS; if ((3 == (3 & obj_1175X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1175X))) + -4))))>>2))))) { goto L16964;} else { goto L17050;}} else { goto L17050;}} L15993: { arg1K0 = (Scode_pointerS); goto L18451;} L16000: { v_1176X = arg0K0; merged_arg0K0 = v_1176X; copy_stack_into_heap_return_tag = 3; goto copy_stack_into_heap; copy_stack_into_heap_return_3: if ((stack_slots_1127X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L15989;} else { ps_error("VM's stack is too small (how can this happen?)", 0); goto L15989;}} L36679: { length_1177X = arg0K0; if ((length_1177X < (start_1145X + count_1146X))) { arg0K0 = 7; goto L36550;} else { got_1178X = ps_read_fd(((((*((long *) ((((char *) (-3 + x_1102X))) + 8))))>>2)), ((((char *) (-3 + arg5_1015X))) + start_1145X), count_1146X, waitP_1144X, &eofP_1179X, &pendingP_1180X, &status_1181X); if ((status_1181X == NO_ERRORS)) { if (eofP_1179X) { SvalS = 21; Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;} else { if (pendingP_1180X) { addr_1182X = (((char *) (-3 + x_1102X))) + 16; S48_WRITE_BARRIER(x_1102X, addr_1182X, 5); *((long *) addr_1182X) = 5; s48_Spending_interruptPS = 0; Senabled_interruptsS = 0; arg0K0 = 13; goto L36550;} else { SvalS = (((got_1178X)<<2)); Scode_pointerS = ((Scode_pointerS) + 1); arg1K0 = (Scode_pointerS); goto L18451;}}} else { push_exception_continuationB(25, 1); *((long *) (SstackS)) = arg5_1015X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((start_1145X)<<2)); SstackS = ((SstackS) + -4); *((long *) (SstackS)) = (((count_1146X)<<2)); SstackS = ((SstackS) + -4); if (waitP_1144X) { arg0K0 = 5; goto L36602;} else { arg0K0 = 1; goto L36602;}}}} L36675: { arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1015X))) + -4))))>>8)); goto L36679;} L36565: { x_1183X = arg0K0; *((long *) (SstackS)) = x_1183X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_1102X; SstackS = ((SstackS) + -4); arg0K0 = 5; goto L16678;} L11699: { if ((3 == (3 & thing_941X))) { if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_941X))) + -4))))>>2))))) { arg3K0 = "#{procedure}"; goto L11705;} else { arg3K0 = "???"; goto L11705;}} else { arg3K0 = "???"; goto L11705;}} L16964: { StemplateS = (SvalS); Slosing_opcodeS = (0 - i_1076X); arg0K0 = arg_count_1123X; goto L16079;} L17050: { ps_error("interrupt handler is not a closure", 1, i_1076X); goto L16964;} L36602: { x_1184X = arg0K0; *((long *) (SstackS)) = x_1184X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_1102X; SstackS = ((SstackS) + -4); merged_arg0K0 = status_1181X; merged_arg0K1 = key_1011X; get_error_string_return_tag = 5; goto get_error_string; get_error_string_return_5: x_1185X = get_error_string0_return_value; *((long *) (SstackS)) = x_1185X; SstackS = ((SstackS) + -4); arg0K0 = 6; goto L16678;} loseD0: { message_369X = merged_arg3K0;{ why_1186X = (((*((long *) ((SstackS) + (4 + (((nargs_742X)<<2)))))))>>2); ps_write_string("Template UIDs: ", (stderr)); current_template_1187X = StemplateS; out_1188X = stderr; if ((0 == (3 & (*((long *) ((((char *) (-3 + current_template_1187X))) + 4)))))) { if ((current_template_1187X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) { arg2K0 = 0; goto L10530;} else { ps_write_integer(((((*((long *) ((((char *) (-3 + current_template_1187X))) + 4))))>>2)), out_1188X); arg2K0 = 1; goto L10530;}} else { arg2K0 = 0; goto L10530;}} L10530: { not_firstP_1189X = arg2K0; arg0K0 = (ScontS); arg2K1 = not_firstP_1189X; goto L10537;} L10537: { cont_1190X = arg0K0; not_firstP_1191X = arg2K1; if ((3 == (3 & cont_1190X))) { if ((9 == (31 & ((((*((long *) ((((char *) (-3 + cont_1190X))) + -4))))>>2))))) { template_1192X = *((long *) ((((char *) (-3 + cont_1190X))) + 8)); if ((0 == (3 & (*((long *) ((((char *) (-3 + template_1192X))) + 4)))))) { if ((template_1192X == (*((long *) ((((char *) (-3 + (Sbottom_of_stackS)))) + 8))))) { arg2K0 = not_firstP_1191X; goto L10546;} else { if (not_firstP_1191X) { ps_write_string(" <- ", out_1188X); goto L10585;} else { goto L10585;}}} else { arg2K0 = not_firstP_1191X; goto L10546;}} else { goto L16697;}} else { goto L16697;}} L10546: { v_1193X = arg2K0; arg0K0 = (*((long *) (((char *) (-3 + cont_1190X))))); arg2K1 = v_1193X; goto L10537;} L10585: { ps_write_integer(((((*((long *) ((((char *) (-3 + template_1192X))) + 4))))>>2)), out_1188X); arg2K0 = 1; goto L10546;} L16697: { { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } if ((why_1186X == 1)) { if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_742X)<<2))))))))))))) { ps_error(message_369X, 3, opcode_743X, why_1186X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (((nargs_742X)<<2)))))))))))>>2))); goto loseD0_return;} else { goto L16721;}} else { goto L16721;}} L16721: { ps_error(message_369X, 2, opcode_743X, why_1186X); goto loseD0_return;} loseD0_return: switch (loseD0_return_tag) { case 0: goto loseD0_return_0; default: goto loseD0_return_1; }} check_events: { { goto L40005;} L40005: { type_1194X = s48_get_next_event(&channel_1195X, &status_1196X); if ((type_1194X == ALARM_EVENT)) { if ((1 == (Sinterrupted_templateS))) { Sinterrupted_templateS = (StemplateS); arg0K0 = 1; goto L15882;} else { arg0K0 = 1; goto L15882;}} else { if ((type_1194X == KEYBOARD_INTERRUPT_EVENT)) { arg0K0 = 2; goto L15882;} else { if ((type_1194X == IO_COMPLETION_EVENT)) { enqueue_channelB(channel_1195X, status_1196X); arg0K0 = 8; goto L15882;} else { if ((type_1194X == OS_SIGNAL_EVENT)) { arg0K0 = 16; goto L15882;} else { if ((type_1194X == NO_EVENT)) { arg0K0 = 0; goto L15882;} else { if ((type_1194X == ERROR_EVENT)) { ps_write_string("OS error while getting event", (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } ps_write_string((ps_error_string(status_1196X)), (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } arg0K0 = 0; goto L15882;} else { ps_write_string("unknown type of event", (stderr)); { long ignoreXX; PS_WRITE_CHAR(10, (stderr), ignoreXX) } arg0K0 = 0; goto L15882;}}}}}}} L15882: { v_1197X = arg0K0; Spending_interruptsS = (v_1197X | (Spending_interruptsS)); if ((type_1194X == NO_EVENT)) { if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) { s48_Spending_interruptPS = 0; if ((s48_Spending_eventsPS)) { s48_Spending_interruptPS = 1; goto L15909;} else { goto L15909;}} else { s48_Spending_interruptPS = 1; goto L15909;}} else { goto L40005;}} L15909: { if ((s48_Spending_interruptPS)) { if ((s48_Spending_eventsPS)) { s48_Spending_eventsPS = 0; goto L40005;} else { check_events0_return_value = 1; goto check_events_return;}} else { check_events0_return_value = 0; goto check_events_return;}} check_events_return: switch (check_events_return_tag) { case 0: goto check_events_return_0; case 1: goto check_events_return_1; case 2: goto check_events_return_2; default: goto check_events_return_3; }} rest_list_setup: { wants_stack_args_365X = merged_arg0K0; stack_arg_count_366X = merged_arg0K1; list_args_367X = merged_arg0K2; list_arg_count_368X = merged_arg0K3;{ if ((stack_arg_count_366X == wants_stack_args_365X)) { merged_arg0K0 = list_args_367X; merged_arg0K1 = list_arg_count_368X; copy_listS_return_tag = 1; goto copy_listS; copy_listS_return_1: x_1198X = copy_listS0_return_value; *((long *) (SstackS)) = x_1198X; SstackS = ((SstackS) + -4); goto rest_list_setup_return;} else { if ((stack_arg_count_366X < wants_stack_args_365X)) { count_1199X = wants_stack_args_365X - stack_arg_count_366X; merged_arg0K0 = list_args_367X; merged_arg0K1 = count_1199X; push_list_return_tag = 3; goto push_list; push_list_return_3: v_1200X = push_list0_return_value; merged_arg0K0 = v_1200X; merged_arg0K1 = (list_arg_count_368X - count_1199X); copy_listS_return_tag = 2; goto copy_listS; copy_listS_return_2: x_1201X = copy_listS0_return_value; *((long *) (SstackS)) = x_1201X; SstackS = ((SstackS) + -4); goto rest_list_setup_return;} else { merged_arg0K0 = list_args_367X; merged_arg0K1 = list_arg_count_368X; copy_listS_return_tag = 3; goto copy_listS; copy_listS_return_3: v_1202X = copy_listS0_return_value; merged_arg0K0 = v_1202X; merged_arg0K1 = (stack_arg_count_366X - wants_stack_args_365X); pop_args_GlistS_return_tag = 5; goto pop_args_GlistS; pop_args_GlistS_return_5: x_1203X = pop_args_GlistS0_return_value; *((long *) (SstackS)) = x_1203X; SstackS = ((SstackS) + -4); goto rest_list_setup_return;}}} rest_list_setup_return: switch (rest_list_setup_return_tag) { case 0: goto rest_list_setup_return_0; case 1: goto rest_list_setup_return_1; default: goto rest_list_setup_return_2; }} push_list: { list_363X = merged_arg0K0; count_364X = merged_arg0K1;{ *((long *) (SstackS)) = list_363X; SstackS = ((SstackS) + -4); if ((count_364X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L15298;} else { space_1204X = 1 + (((((Sstack_endS) - (SstackS)))>>2)); v_1205X = AVAILABLEp(space_1204X); if (v_1205X) { arg2K0 = 1; arg0K1 = 0; goto L15382;} else { collect_saving_temps(1, 1, &temp1_1206X); v_1207X = AVAILABLEp(space_1204X); if (v_1207X) { arg2K0 = 1; arg0K1 = 0; goto L15382;} else { arg2K0 = 0; arg0K1 = 0; goto L15382;}}}} L15298: { SstackS = ((SstackS) + 4); list_1208X = *((long *) (SstackS)); arg0K0 = count_364X; arg0K1 = list_1208X; goto L15307;} L15382: { okayP_1209X = arg2K0; key_1210X = arg0K1; if (okayP_1209X) { arg0K0 = key_1210X; goto L15333;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_1210X; goto L15333;}} L15307: { i_1211X = arg0K0; l_1212X = arg0K1; if ((0 < i_1211X)) { *((long *) (SstackS)) = (*((long *) (((char *) (-3 + l_1212X))))); SstackS = ((SstackS) + -4); arg0K0 = (-1 + i_1211X); arg0K1 = (*((long *) ((((char *) (-3 + l_1212X))) + 4))); goto L15307;} else { push_list0_return_value = l_1212X; goto push_list_return;}} L15333: { v_1213X = arg0K0; merged_arg0K0 = v_1213X; copy_stack_into_heap_return_tag = 4; goto copy_stack_into_heap; copy_stack_into_heap_return_4: if ((count_364X < (64 + (((((SstackS) - (Sstack_limitS)))>>2))))) { goto L15298;} else { ps_error("VM's stack is too small (how can this happen?)", 0); goto L15298;}} push_list_return: switch (push_list_return_tag) { case 0: goto push_list_return_0; case 1: goto push_list_return_1; case 2: goto push_list_return_2; default: goto push_list_return_3; }} copy_stack_into_heap: { key_362X = merged_arg0K0;{ arg1K0 = ((SstackS) + 4); arg0K1 = 0; goto L13527;} L13527: { p_1214X = arg1K0; i_1215X = arg0K1; if ((2 == (3 & (*((long *) p_1214X))))) { if ((22 == (*((long *) p_1214X)))) { arg0K0 = (-1 + i_1215X); goto L13514;} else { arg0K0 = i_1215X; goto L13514;}} else { arg1K0 = (p_1214X + 4); arg0K1 = (1 + i_1215X); goto L13527;}} L13514: { arg_count_1216X = arg0K0; top_1217X = SstackS; if ((1 == (ScontS))) { goto L13519;} else { merged_arg0K0 = key_362X; merged_arg0K1 = 1; really_preserve_continuation_return_tag = 1; goto really_preserve_continuation; really_preserve_continuation_return_1: goto L13519;}} L13519: { stob_1218X = ScontS; arg1K0 = ((((char *) (-3 + stob_1218X))) + -8); arg1K1 = (top_1217X + (((arg_count_1216X)<<2))); goto L13552;} L13552: { loc_1219X = arg1K0; arg_1220X = arg1K1; if ((top_1217X < arg_1220X)) { *((long *) loc_1219X) = (*((long *) arg_1220X)); arg1K0 = (loc_1219X + -4); arg1K1 = (arg_1220X + -4); goto L13552;} else { SstackS = loc_1219X; goto copy_stack_into_heap_return;}} 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; default: goto copy_stack_into_heap_return_4; }} really_preserve_continuation: { key_360X = merged_arg0K0; reason_361X = merged_arg0K1;{ p_1221X = SenvS; if ((3 == (3 & p_1221X))) { if ((p_1221X < (((long) (Sstack_beginS))))) { goto L12703;} else { if (((((long) (Sstack_endS))) < p_1221X)) { goto L12703;} else { merged_arg0K0 = (SenvS); merged_arg0K1 = (ScontS); merged_arg0K2 = key_360X; merged_arg0K3 = reason_361X; save_env_in_heap_return_tag = 1; goto save_env_in_heap; save_env_in_heap_return_1: v_1222X = save_env_in_heap0_return_value; SenvS = v_1222X; goto L12703;}}} else { goto L12703;}} L12703: { end_1223X = *((long *) (((char *) (-3 + (Sbottom_of_stackS))))); arg0K0 = (ScontS); arg0K1 = (Sbottom_of_stackS); goto L12656;} L12656: { cont_1224X = arg0K0; previous_1225X = arg0K1; if ((cont_1224X == (Sbottom_of_stackS))) { *((long *) (((char *) (-3 + previous_1225X)))) = end_1223X; ScontS = (Sbottom_of_stackS); really_preserve_continuation0_return_value = (*((long *) (((char *) (-3 + (Sbottom_of_stackS)))))); goto really_preserve_continuation_return;} else { p_1226X = *((long *) ((((char *) (-3 + cont_1224X))) + 12)); if ((3 == (3 & p_1226X))) { if ((p_1226X < (((long) (Sstack_beginS))))) { goto L12674;} else { if (((((long) (Sstack_endS))) < p_1226X)) { goto L12674;} else { merged_arg0K0 = (*((long *) ((((char *) (-3 + cont_1224X))) + 12))); merged_arg0K1 = cont_1224X; merged_arg0K2 = key_360X; merged_arg0K3 = reason_361X; save_env_in_heap_return_tag = 2; goto save_env_in_heap; save_env_in_heap_return_2: goto L12674;}}} else { goto L12674;}}} L12674: { header_1227X = *((long *) ((((char *) (-3 + cont_1224X))) + -4)); addr_1228X = ALLOCATE_SPACE((31 & (((header_1227X)>>2))), (4 + ((long)(((unsigned long)header_1227X)>>8)))); data_addr_1229X = addr_1228X + 4; *((long *) addr_1228X) = header_1227X; memcpy((void *)data_addr_1229X, (void *)(((char *) (-3 + cont_1224X))),((long)(((unsigned long)header_1227X)>>8))); new_1230X = 3 + (((long) data_addr_1229X)); *((long *) (((char *) (-3 + previous_1225X)))) = new_1230X; arg0K0 = (*((long *) (((char *) (-3 + new_1230X))))); arg0K1 = new_1230X; goto L12656;} really_preserve_continuation_return: switch (really_preserve_continuation_return_tag) { case 0: goto really_preserve_continuation_return_0; default: goto really_preserve_continuation_return_1; }} copy_env: { env_359X = merged_arg0K0;{ header_1231X = *((long *) ((((char *) (-3 + env_359X))) + -4)); addr_1232X = ALLOCATE_SPACE((31 & (((header_1231X)>>2))), (4 + ((long)(((unsigned long)header_1231X)>>8)))); data_addr_1233X = addr_1232X + 4; *((long *) addr_1232X) = header_1231X; memcpy((void *)data_addr_1233X, (void *)(((char *) (-3 + env_359X))),((long)(((unsigned long)header_1231X)>>8))); new_1234X = 3 + (((long) data_addr_1233X)); addr_1235X = ((char *) (-3 + env_359X)); S48_WRITE_BARRIER(env_359X, addr_1235X, 22); *((long *) addr_1235X) = 22; *((long *) ((((char *) (-3 + env_359X))) + -4)) = new_1234X; copy_env0_return_value = new_1234X; goto copy_env_return;} copy_env_return: switch (copy_env_return_tag) { case 0: goto copy_env_return_0; default: goto copy_env_return_1; }} save_env_in_heap: { env_355X = merged_arg0K0; cont_356X = merged_arg0K1; key_357X = merged_arg0K2; reason_358X = merged_arg0K3;{ merged_arg0K0 = env_355X; merged_arg0K1 = key_357X; merged_arg0K2 = reason_358X; copy_env_return_tag = 0; goto copy_env; copy_env_return_0: top_1236X = copy_env0_return_value; arg0K0 = top_1236X; goto L11935;} L11935: { env_1237X = arg0K0; p_1238X = *((long *) (((char *) (-3 + env_1237X)))); if ((3 == (3 & p_1238X))) { if ((p_1238X < (((long) (Sstack_beginS))))) { goto L11954;} else { if (((((long) (Sstack_endS))) < p_1238X)) { goto L11954;} else { merged_arg0K0 = (*((long *) (((char *) (-3 + env_1237X))))); merged_arg0K1 = key_357X; merged_arg0K2 = reason_358X; copy_env_return_tag = 1; goto copy_env; copy_env_return_1: new_1239X = copy_env0_return_value; addr_1240X = ((char *) (-3 + env_1237X)); S48_WRITE_BARRIER(env_1237X, addr_1240X, new_1239X); *((long *) addr_1240X) = new_1239X; arg0K0 = new_1239X; goto L11935;}}} else { goto L11954;}} L11954: { arg0K0 = cont_356X; goto L11958;} L11958: { cont_1241X = arg0K0; env_1242X = *((long *) ((((char *) (-3 + cont_1241X))) + 12)); if ((3 == (3 & env_1242X))) { if ((3 == (3 & (*((long *) ((((char *) (-3 + env_1242X))) + -4)))))) { *((long *) ((((char *) (-3 + cont_1241X))) + 12)) = (*((long *) ((((char *) (-3 + env_1242X))) + -4))); arg0K0 = (*((long *) (((char *) (-3 + cont_1241X))))); goto L11958;} else { save_env_in_heap0_return_value = top_1236X; goto save_env_in_heap_return;}} else { save_env_in_heap0_return_value = top_1236X; goto save_env_in_heap_return;}} 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; default: goto save_env_in_heap_return_2; }} pop_args_GlistS: { start_353X = merged_arg0K0; count_354X = merged_arg0K1;{ space_1243X = 3 * count_354X; v_1244X = AVAILABLEp(space_1243X); if (v_1244X) { arg2K0 = 1; arg0K1 = start_353X; goto L14273;} else { temp0_1245X = collect_saving_temps(start_353X, 1, &temp1_1246X); v_1247X = AVAILABLEp(space_1243X); if (v_1247X) { arg2K0 = 1; arg0K1 = temp0_1245X; goto L14273;} else { arg2K0 = 0; arg0K1 = temp0_1245X; goto L14273;}}} L14273: { okayP_1248X = arg2K0; temp_1249X = arg0K1; if (okayP_1248X) { arg0K0 = temp_1249X; goto L14247;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = temp_1249X; goto L14247;}} L14247: { start_1250X = arg0K0; arg0K0 = start_1250X; arg0K1 = count_354X; goto L14256;} L14256: { args_1251X = arg0K0; count_1252X = arg0K1; if ((0 == count_1252X)) { pop_args_GlistS0_return_value = args_1251X; goto pop_args_GlistS_return;} else { SstackS = ((SstackS) + 4); a_1253X = *((long *) (SstackS)); addr_1254X = ALLOCATE_SPACE(0, 12); *((long *) addr_1254X) = 2050; x_1255X = 3 + (((long) (addr_1254X + 4))); *((long *) (((char *) (-3 + x_1255X)))) = a_1253X; *((long *) ((((char *) (-3 + x_1255X))) + 4)) = args_1251X; arg0K0 = x_1255X; arg0K1 = (-1 + count_1252X); goto L14256;}} pop_args_GlistS_return: switch (pop_args_GlistS_return_tag) { case 0: goto pop_args_GlistS_return_0; case 1: goto pop_args_GlistS_return_1; case 2: goto pop_args_GlistS_return_2; case 3: goto pop_args_GlistS_return_3; case 4: goto pop_args_GlistS_return_4; default: goto pop_args_GlistS_return_5; }} copy_listS: { list_351X = merged_arg0K0; length_352X = merged_arg0K1;{ if ((0 == length_352X)) { copy_listS0_return_value = 25; goto copy_listS_return;} else { space_1256X = 3 * length_352X; v_1257X = AVAILABLEp(space_1256X); if (v_1257X) { arg2K0 = 1; arg0K1 = list_351X; goto L14152;} else { temp0_1258X = collect_saving_temps(list_351X, 1, &temp1_1259X); v_1260X = AVAILABLEp(space_1256X); if (v_1260X) { arg2K0 = 1; arg0K1 = temp0_1258X; goto L14152;} else { arg2K0 = 0; arg0K1 = temp0_1258X; goto L14152;}}}} L14152: { okayP_1261X = arg2K0; temp_1262X = arg0K1; if (okayP_1261X) { arg0K0 = temp_1262X; goto L14110;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = temp_1262X; goto L14110;}} L14110: { list_1263X = arg0K0; a_1264X = *((long *) (((char *) (-3 + list_1263X)))); addr_1265X = ALLOCATE_SPACE(0, 12); *((long *) addr_1265X) = 2050; x_1266X = 3 + (((long) (addr_1265X + 4))); *((long *) (((char *) (-3 + x_1266X)))) = a_1264X; *((long *) ((((char *) (-3 + x_1266X))) + 4)) = 25; arg0K0 = (*((long *) ((((char *) (-3 + list_1263X))) + 4))); arg0K1 = x_1266X; goto L14125;} L14125: { l_1267X = arg0K0; last_1268X = arg0K1; if ((25 == l_1267X)) { copy_listS0_return_value = x_1266X; goto copy_listS_return;} else { a_1269X = *((long *) (((char *) (-3 + l_1267X)))); addr_1270X = ALLOCATE_SPACE(0, 12); *((long *) addr_1270X) = 2050; x_1271X = 3 + (((long) (addr_1270X + 4))); *((long *) (((char *) (-3 + x_1271X)))) = a_1269X; *((long *) ((((char *) (-3 + x_1271X))) + 4)) = 25; addr_1272X = (((char *) (-3 + last_1268X))) + 4; S48_WRITE_BARRIER(last_1268X, addr_1272X, x_1271X); *((long *) addr_1272X) = x_1271X; arg0K0 = (*((long *) ((((char *) (-3 + l_1267X))) + 4))); arg0K1 = x_1271X; goto L14125;}} copy_listS_return: switch (copy_listS_return_tag) { case 0: goto copy_listS_return_0; case 1: goto copy_listS_return_1; case 2: goto copy_listS_return_2; default: goto copy_listS_return_3; }} copy_continuation_from_heapB: { cont_350X = merged_arg0K0;{ top_1273X = (((char *) (-3 + (Sbottom_of_stackS)))) + (-8 - (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_350X))) + -4))))>>8))))); new_cont_1274X = 3 + (((long) (top_1273X + 4))); SstackS = (top_1273X + -4); ScontS = new_cont_1274X; v_1275X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_350X))) + -4))))>>8))))>>2); memcpy((void *)top_1273X, (void *)((((char *) (-3 + cont_350X))) + -4),(4 + (((v_1275X)<<2)))); *((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = (*((long *) (((char *) (-3 + new_cont_1274X))))); *((long *) (((char *) (-3 + new_cont_1274X)))) = (Sbottom_of_stackS); copy_continuation_from_heapB0_return_value = new_cont_1274X; goto copy_continuation_from_heapB_return;} copy_continuation_from_heapB_return: switch (copy_continuation_from_heapB_return_tag) { case 0: goto copy_continuation_from_heapB_return_0; default: goto copy_continuation_from_heapB_return_1; }} get_current_port: { marker_349X = merged_arg0K0;{ thread_1276X = Scurrent_threadS; if ((3 == (3 & thread_1276X))) { if ((8 == (31 & ((((*((long *) ((((char *) (-3 + thread_1276X))) + -4))))>>2))))) { if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_1276X))) + -4))))>>8))))>>2)))) { arg0K0 = (*((long *) ((((char *) (-3 + thread_1276X))) + 4))); goto L10226;} else { goto L10276;}} else { goto L10276;}} else { goto L10276;}} L10226: { env_1277X = arg0K0; if ((3 == (3 & env_1277X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_1277X))) + -4))))>>2))))) { obj_1278X = *((long *) (((char *) (-3 + env_1277X)))); if ((3 == (3 & obj_1278X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_1278X))) + -4))))>>2))))) { if ((marker_349X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_1277X)))))))))))) { get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_1277X)))))))) + 4))); goto get_current_port_return;} else { arg0K0 = (*((long *) ((((char *) (-3 + env_1277X))) + 4))); goto L10226;}} else { goto L10298;}} else { goto L10298;}} else { goto L10298;}} else { goto L10298;}} L10276: { ps_error("current thread is not a record", 0); get_current_port0_return_value = v_1279X; goto get_current_port_return;} L10298: { if ((25 == env_1277X)) { if (((((marker_349X)>>2)) == 1)) { arg3K0 = "dynamic environment doesn't have current-output-port"; goto L10252;} else { arg3K0 = "dynamic environment doesn't have current-input-port"; goto L10252;}} else { ps_error("dynamic environment is not a proper list", 0); get_current_port0_return_value = v_1280X; goto get_current_port_return;}} L10252: { v_1281X = arg3K0; ps_error(v_1281X, 0); get_current_port0_return_value = v_1282X; goto get_current_port_return;} get_current_port_return: switch (get_current_port_return_tag) { case 0: goto get_current_port_return_0; case 1: goto get_current_port_return_1; default: goto get_current_port_return_2; }} okay_argument_list: { list_348X = merged_arg0K0;{ arg0K0 = list_348X; arg0K1 = 0; arg0K2 = list_348X; arg2K3 = 0; goto L10093;} L10093: { fast_1283X = arg0K0; len_1284X = arg0K1; slow_1285X = arg0K2; move_slowP_1286X = arg2K3; if ((25 == fast_1283X)) { okay_argument_list0_return_value = 1; okay_argument_list1_return_value = len_1284X; goto okay_argument_list_return;} else { if ((3 == (3 & fast_1283X))) { if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_1283X))) + -4))))>>2))))) { if (move_slowP_1286X) { if ((fast_1283X == slow_1285X)) { okay_argument_list0_return_value = 0; okay_argument_list1_return_value = 0; goto okay_argument_list_return;} else { arg0K0 = (*((long *) ((((char *) (-3 + fast_1283X))) + 4))); arg0K1 = (1 + len_1284X); arg0K2 = (*((long *) ((((char *) (-3 + slow_1285X))) + 4))); arg2K3 = 0; goto L10093;}} else { arg0K0 = (*((long *) ((((char *) (-3 + fast_1283X))) + 4))); arg0K1 = (1 + len_1284X); arg0K2 = slow_1285X; arg2K3 = 1; goto L10093;}} else { okay_argument_list0_return_value = 0; okay_argument_list1_return_value = 0; goto okay_argument_list_return;}} else { okay_argument_list0_return_value = 0; okay_argument_list1_return_value = 0; goto okay_argument_list_return;}}} okay_argument_list_return: switch (okay_argument_list_return_tag) { case 0: goto okay_argument_list_return_0; default: goto okay_argument_list_return_1; }} get_error_string: { status_347X = merged_arg0K0;{ string_1287X = ps_error_string(status_347X); x_1288X = strlen((char *) string_1287X); if ((x_1288X < 256)) { arg0K0 = x_1288X; goto L9601;} else { arg0K0 = 256; goto L9601;}} L9601: { len_1289X = arg0K0; len_1290X = 1 + len_1289X; addr_1291X = ALLOCATE_SPACE(16, (4 + len_1290X)); *((long *) addr_1291X) = (66 + (((len_1290X)<<8))); string_1292X = 3 + (((long) (addr_1291X + 4))); *((unsigned char *) ((((char *) (-3 + string_1292X))) + len_1289X)) = 0; arg0K0 = 0; goto L9611;} L9611: { i_1293X = arg0K0; if ((i_1293X == len_1289X)) { get_error_string0_return_value = string_1292X; goto get_error_string_return;} else { *((unsigned char *) ((((char *) (-3 + string_1292X))) + i_1293X)) = ((*(string_1287X + i_1293X))); arg0K0 = (1 + i_1293X); goto L9611;}} get_error_string_return: switch (get_error_string_return_tag) { case 0: goto get_error_string_return_0; case 1: goto get_error_string_return_1; case 2: goto get_error_string_return_2; case 3: goto get_error_string_return_3; case 4: goto get_error_string_return_4; default: goto get_error_string_return_5; }} pop_continuationB: { { cont_1294X = ScontS; tem_1295X = *((long *) ((((char *) (-3 + cont_1294X))) + 8)); pc_1296X = *((long *) ((((char *) (-3 + cont_1294X))) + 4)); StemplateS = tem_1295X; Scode_pointerS = ((((char *) (-3 + (*((long *) (((char *) (-3 + tem_1295X)))))))) + (((pc_1296X)>>2))); SenvS = (*((long *) ((((char *) (-3 + cont_1294X))) + 12))); ScontS = (*((long *) (((char *) (-3 + cont_1294X))))); SstackS = ((((char *) (-3 + cont_1294X))) + 12); goto pop_continuationB_return;} pop_continuationB_return: switch (pop_continuationB_return_tag) { case 0: goto pop_continuationB_return_0; case 1: goto pop_continuationB_return_1; default: goto pop_continuationB_return_2; }} } long s48_call_startup_procedure(char **startup_vector_1297X, long startup_vector_length_1298X) { char arg2K0; long arg0K1; long arg0K0; long v_1347X; long x_1346X; long x_1345X; char * addr_1344X; long b_1343X; long channel_1342X; long x_1341X; char * addr_1340X; long b_1339X; long channel_1338X; long x_1337X; char * addr_1336X; long b_1335X; long channel_1334X; long key_1333X; long key_1332X; char okayP_1331X; char v_1330X; long temp1_1329X; char v_1328X; long space_1327X; long i_1326X; long length_1325X; long *v_1324X; long v_1323X; long v_1322X; long y_1321X; long x_1320X; long v_1319X; long x_1318X; long y_1317X; char * addr_1316X; long value_1315X; long x_1314X; long y_1313X; long i_1312X; long vector_1311X; char * addr_1310X; long len_1309X; long key_1308X; long key_1307X; char okayP_1306X; char v_1305X; long temp1_1304X; char v_1303X; long space_1302X; long size_1301X; long i_1300X; long tem_1299X; { SstackS = ((((char *) (-3 + (Sbottom_of_stackS)))) + -8); *((long *) (((char *) (-3 + (Sbottom_of_stackS))))) = 1; ScontS = (Sbottom_of_stackS); SenvS = 13; tem_1299X = Sinterrupt_templateS; StemplateS = tem_1299X; Scode_pointerS = (((char *) (-3 + (*((long *) (((char *) (-3 + tem_1299X)))))))); SvalS = 13; Scurrent_threadS = 25; Ssession_dataS = 25; Sexception_handlersS = 25; Sinterrupt_handlersS = 25; Senabled_interruptsS = 0; Sfinalizer_alistS = 25; Sfinalize_theseS = 25; Spending_interruptsS = 0; s48_Spending_interruptPS = 0; Sinterrupted_templateS = 1; arg0K0 = 0; arg0K1 = 0; goto L15616;} L15616: { i_1300X = arg0K0; size_1301X = arg0K1; if ((i_1300X == startup_vector_length_1298X)) { space_1302X = 1 + (size_1301X + startup_vector_length_1298X); v_1303X = AVAILABLEp(space_1302X); if (v_1303X) { arg2K0 = 1; arg0K1 = 0; goto L15653;} else { collect_saving_temps(1, 1, &temp1_1304X); v_1305X = AVAILABLEp(space_1302X); if (v_1305X) { arg2K0 = 1; arg0K1 = 0; goto L15653;} else { arg2K0 = 0; arg0K1 = 0; goto L15653;}}} else { arg0K0 = (1 + i_1300X); arg0K1 = (1 + (size_1301X + ((((4 + (strlen((char *) (*(startup_vector_1297X + i_1300X))))))>>2)))); goto L15616;}} L15653: { okayP_1306X = arg2K0; key_1307X = arg0K1; if (okayP_1306X) { arg0K0 = key_1307X; goto L15631;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_1307X; goto L15631;}} L15631: { key_1308X = arg0K0; len_1309X = ((startup_vector_length_1298X)<<2); addr_1310X = ALLOCATE_SPACE(2, (4 + len_1309X)); *((long *) addr_1310X) = (10 + (((len_1309X)<<8))); vector_1311X = 3 + (((long) (addr_1310X + 4))); arg0K0 = 0; goto L15689;} L15689: { i_1312X = arg0K0; if ((i_1312X == startup_vector_length_1298X)) { *((long *) (SstackS)) = vector_1311X; SstackS = ((SstackS) + -4); y_1313X = fileno((stderr)); x_1314X = fileno((stdout)); if ((x_1314X < y_1313X)) { arg0K0 = y_1313X; goto L14525;} else { arg0K0 = x_1314X; goto L14525;}} else { value_1315X = enter_string((*(startup_vector_1297X + i_1312X)), key_1308X); addr_1316X = (((char *) (-3 + vector_1311X))) + (((i_1312X)<<2)); S48_WRITE_BARRIER(vector_1311X, addr_1316X, value_1315X); *((long *) addr_1316X) = value_1315X; arg0K0 = (1 + i_1312X); goto L15689;}} L14525: { y_1317X = arg0K0; x_1318X = fileno((stdin)); if ((x_1318X < y_1317X)) { arg0K0 = y_1317X; goto L14527;} else { arg0K0 = x_1318X; goto L14527;}} L14527: { v_1319X = arg0K0; x_1320X = Snumber_of_channelsS; y_1321X = 1 + v_1319X; if ((x_1320X < y_1321X)) { arg0K0 = y_1321X; goto L14529;} else { arg0K0 = x_1320X; goto L14529;}} L14529: { v_1322X = arg0K0; Snumber_of_channelsS = v_1322X; v_1323X = fileno((stdin)); Svm_channelsS = ((long*)malloc(sizeof(long) * (Snumber_of_channelsS))); Spending_channels_headS = 1; Spending_channels_tailS = 1; if ((NULL == (Svm_channelsS))) { ps_error("out of memory, unable to continue", 0); goto L14551;} else { goto L14551;}} L14551: { v_1324X = Svm_channelsS; length_1325X = Snumber_of_channelsS; arg0K0 = 0; goto L14599;} L14599: { i_1326X = arg0K0; if ((i_1326X < length_1325X)) { *(v_1324X + i_1326X) = 1; arg0K0 = (1 + i_1326X); goto L14599;} else { space_1327X = 3 * (7 + ((((4 + (strlen((char *) "standard output"))))>>2))); v_1328X = AVAILABLEp(space_1327X); if (v_1328X) { arg2K0 = 1; arg0K1 = 0; goto L14613;} else { collect_saving_temps(1, 1, &temp1_1329X); v_1330X = AVAILABLEp(space_1327X); if (v_1330X) { arg2K0 = 1; arg0K1 = 0; goto L14613;} else { arg2K0 = 0; arg0K1 = 0; goto L14613;}}}} L14613: { okayP_1331X = arg2K0; key_1332X = arg0K1; if (okayP_1331X) { arg0K0 = key_1332X; goto L14557;} else { ps_error("Scheme48 heap overflow", 0); arg0K0 = key_1332X; goto L14557;}} L14557: { key_1333X = arg0K0; channel_1334X = fileno((stdin)); b_1335X = enter_string("standard input", key_1333X); addr_1336X = ALLOCATE_SPACE(5, 24); *((long *) addr_1336X) = 5142; x_1337X = 3 + (((long) (addr_1336X + 4))); *((long *) (((char *) (-3 + x_1337X)))) = 4; *((long *) ((((char *) (-3 + x_1337X))) + 4)) = b_1335X; *((long *) ((((char *) (-3 + x_1337X))) + 8)) = (((channel_1334X)<<2)); *((long *) ((((char *) (-3 + x_1337X))) + 12)) = 1; *((long *) ((((char *) (-3 + x_1337X))) + 16)) = 1; *((Svm_channelsS) + channel_1334X) = x_1337X; channel_1338X = fileno((stderr)); b_1339X = enter_string("standard error", key_1333X); addr_1340X = ALLOCATE_SPACE(5, 24); *((long *) addr_1340X) = 5142; x_1341X = 3 + (((long) (addr_1340X + 4))); *((long *) (((char *) (-3 + x_1341X)))) = 8; *((long *) ((((char *) (-3 + x_1341X))) + 4)) = b_1339X; *((long *) ((((char *) (-3 + x_1341X))) + 8)) = (((channel_1338X)<<2)); *((long *) ((((char *) (-3 + x_1341X))) + 12)) = 1; *((long *) ((((char *) (-3 + x_1341X))) + 16)) = 1; *((Svm_channelsS) + channel_1338X) = x_1341X; channel_1342X = fileno((stdout)); b_1343X = enter_string("standard output", key_1333X); addr_1344X = ALLOCATE_SPACE(5, 24); *((long *) addr_1344X) = 5142; x_1345X = 3 + (((long) (addr_1344X + 4))); *((long *) (((char *) (-3 + x_1345X)))) = 8; *((long *) ((((char *) (-3 + x_1345X))) + 4)) = b_1343X; *((long *) ((((char *) (-3 + x_1345X))) + 8)) = (((channel_1342X)<<2)); *((long *) ((((char *) (-3 + x_1345X))) + 12)) = 1; *((long *) ((((char *) (-3 + x_1345X))) + 16)) = 1; *((Svm_channelsS) + channel_1342X) = x_1345X; *((long *) (SstackS)) = x_1337X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_1345X; SstackS = ((SstackS) + -4); *((long *) (SstackS)) = x_1341X; SstackS = ((SstackS) + -4); x_1346X = s48_resumer_records(); *((long *) (SstackS)) = x_1346X; SstackS = ((SstackS) + -4); s48_initialization_completeB(); v_1347X = s48_startup_procedure(); return s48_restart(v_1347X, 5);} }void s48_init(void) { Snumber_of_channelsS = 100; Spending_channels_headS = 1; Spending_channels_tailS = 1; Sstack_warningPS = 1; Slosing_opcodeS = 0; Sos_signal_typeS = 1; Sos_signal_argumentS = 1; Sexternal_exceptionPS = 0; Sexternal_root_stackS = NULL; Sexternal_root_stack_baseS = NULL; Spermanent_external_rootsS = NULL; Sgc_root_procS = HtopD8911; Spost_gc_cleanupS = HtopD8904; s48_Scallback_return_stack_blockS = 1; s48_Spending_eventsPS = 0; }