#include <stdio.h>
#include "prescheme.h"
#include "scheme48vm-prelude.h"

static char add_more_channels(long);
static void push_exception_continuationB(char *, long, long, long, long);
static void enqueue_channelB(long, long, long);
static long close_channelB(long);
static long add_log_entryAgc(long, long, long, long, long, char);
static long enter_bignum(char *);
static long make_channel(long, long, long, long, long, long, long, long);
static long enter_stringAgc(char*);
static long current_code_vector(void);
static long channel_close_error(long, long, long);
static long really_preserve_continuation(long);
static long Hlookup2700(long, long, long);
static long Hlookup2681(long, long, long);
static void HtopD10312(void);
static void HtopD10323(void);
void s48_set_native_protocolB(long);
void s48_set_extension_valueB(long);
long s48_channel_count(void);
long *s48_channels(void);
char s48_os_signal_pending(void);
long s48_imported_bindings(void);
long s48_exported_bindings(void);
long s48_symbol_table(void);
char * s48_set_gc_roots_baseB(void);
char s48_release_gc_roots_baseB(char *);
void s48_reset_external_rootsB(void);
void s48_note_event(void);
void s48_reset_interruptsB(void);
void s48_disable_interruptsB(void);
void s48_add_os_signal(long);
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);
char s48_pop_gc_rootsB(void);
char * s48_shorten_bignum(char *, long);
long s48_allocate_bignum(long);
void s48_enable_interruptsB(void);
long s48_set_channel_os_index(long, long);
void s48_close_channel(long);
char s48_warn_about_undefined_imported_bindings(void);
void check_stack(void);
long s48_really_add_channel(long, long, long);
long s48_enter_integer(long);
void s48_setup_external_exception(long, long);
void s48_copy_stack_into_heap(void);
long s48_get_imported_binding(char*);
void s48_define_exported_binding(char*, long);
void s48_initialize_vm(char *, long);
void s48_post_gc_cleanup(void);
void s48_gc_root(void);
long s48_restart(long, long);
long s48_call_startup_procedure(char**, long);
static long Spending_interruptsS;
static long Snumber_of_channelsS;
static long *Svm_channelsS;
static long Spending_channels_headS;
static long Spending_channels_tailS;
static long Stemp0S;
static long Stemp1S;
static char * Sstack_beginS;
static char * Sstack_endS;
static char * Sreal_stack_limitS;
static char * Sbottom_of_stackS;
static long Sheap_continuationS;
static char Sstack_warningPS;
static long Soldspace_beginS;
static long Soldspace_endS;
static long Sexception_handlersS;
static long Sinterrupt_handlersS;
static char * Slast_code_pointer_resumedS;
static long Scurrent_threadS;
static long Ssession_dataS;
static long Sfinalizer_alistS;
static long Sfinalize_theseS;
static long Senabled_interruptsS;
static long Sinterrupted_templateS;
static long Sinterrupt_return_codeS;
static long Sexception_return_codeS;
static long Scall_with_values_return_codeS;
static long Ssaved_pcS;
static long *Sos_signal_ringS;
static long Sos_signal_ring_startS;
static long Sos_signal_ring_readyS;
static long Sos_signal_ring_endS;
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 long Sempty_logS;
static void (*Spost_gc_cleanupS)(void);
static void (*Sgc_root_procS)(void);
char * SstackS;
char * s48_Sstack_limitS;
char * ScontS;
char * Scode_pointerS;
long SvalS;
long Slast_code_calledS;
char s48_Spending_interruptPS;
long s48_Snative_protocolS;
long s48_Sextension_valueS;
long s48_Scallback_return_stack_blockS;
char s48_Spending_eventsPS;

static char add_more_channels(long index_4X)
{
  long arg0K0;
  long i_10X;
  long i_9X;
  long *new_vm_channels_8X;
  long new_count_7X;
  long y_6X;
  long x_5X;
 {  x_5X = 1 + index_4X;
  y_6X = 8 + (Snumber_of_channelsS);
  if ((x_5X < y_6X)) {
    arg0K0 = y_6X;
    goto L3012;}
  else {
    arg0K0 = x_5X;
    goto L3012;}}
 L3012: {
  new_count_7X = arg0K0;
  new_vm_channels_8X = (long*)malloc(sizeof(long) * new_count_7X);
  if ((NULL == new_vm_channels_8X)) {
    return 0;}
  else {
    arg0K0 = 0;
    goto L3024;}}
 L3024: {
  i_9X = arg0K0;
  if ((i_9X == (Snumber_of_channelsS))) {
    arg0K0 = (Snumber_of_channelsS);
    goto L3097;}
  else {
    *(new_vm_channels_8X + i_9X) = (*((Svm_channelsS) + i_9X));
    arg0K0 = (1 + i_9X);
    goto L3024;}}
 L3097: {
  i_10X = arg0K0;
  if ((i_10X == new_count_7X)) {
    free((Svm_channelsS));
    Svm_channelsS = new_vm_channels_8X;
    Snumber_of_channelsS = new_count_7X;
    return 1;}
  else {
    *(new_vm_channels_8X + i_10X) = 1;
    arg0K0 = (1 + i_10X);
    goto L3097;}}
}
static void push_exception_continuationB(char * code_pointer_11X, long pc_12X, long code_13X, long exception_14X, long inst_size_15X)
{
  long data_17X;
  long n_16X;
 {  SstackS = ((SstackS) + -20);
  n_16X = ((((ScontS) - (SstackS)))>>2);
  data_17X = 3 + (((long) (SstackS)));
  *((long *) (((char *) (-3 + data_17X)))) = (long) ((((n_16X)<<2)));
  *((long *) ((((char *) (-3 + data_17X))) + 4)) = (long) (pc_12X);
  *((long *) ((((char *) (-3 + data_17X))) + 8)) = (long) (code_13X);
  *((long *) ((((char *) (-3 + data_17X))) + 12)) = (long) (exception_14X);
  *((long *) ((((char *) (-3 + data_17X))) + 16)) = (long) (inst_size_15X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) code_pointer_11X)));
  ScontS = (SstackS);
  return;}
}
static void enqueue_channelB(long index_18X, long status_19X, long errorP_20X)
{
  char * addr_26X;
  long x_25X;
  char * addr_24X;
  char * addr_23X;
  long val_22X;
  long channel_21X;
 {  channel_21X = *((Svm_channelsS) + index_18X);
  val_22X = ((status_19X)<<2);
  addr_23X = (((char *) (-3 + channel_21X))) + 20;S48_WRITE_BARRIER(channel_21X, addr_23X, val_22X);
  *((long *) addr_23X) = (long) (val_22X);
  addr_24X = (((char *) (-3 + channel_21X))) + 24;S48_WRITE_BARRIER(channel_21X, addr_24X, errorP_20X);
  *((long *) addr_24X) = (long) (errorP_20X);
  if ((1 == (*((long *) ((((char *) (-3 + channel_21X))) + 16))))) {
    if ((channel_21X == (Spending_channels_headS))) {
      return;}
    else {
      if ((channel_21X == (Spending_channels_tailS))) {
        return;}
      else {
        if ((1 == (Spending_channels_headS))) {
          Spending_channels_headS = channel_21X;
          Spending_channels_tailS = channel_21X;
          return;}
        else {
          x_25X = Spending_channels_tailS;
          addr_26X = (((char *) (-3 + x_25X))) + 16;S48_WRITE_BARRIER(x_25X, addr_26X, channel_21X);
          *((long *) addr_26X) = (long) (channel_21X);
          Spending_channels_tailS = channel_21X;
          return;}}}}
  else {
    return;}}
}
static long close_channelB(long channel_27X)
{
  long arg0K0;
  char * addr_35X;
  long status_34X;
  long v_33X;
  long v_32X;
  long v_31X;
  long v_30X;
  long x_29X;
  long os_index_28X;
 {  os_index_28X = (((*((long *) ((((char *) (-3 + channel_27X))) + 8))))>>2);
  x_29X = *((long *) ((((char *) (-3 + channel_27X))) + 20));
  if ((5 == x_29X)) {
    v_30X = ps_abort_fd_op(os_index_28X);enqueue_channelB(os_index_28X, v_30X, 1);
    goto L11437;}
  else {
    goto L11437;}}
 L11437: {
  v_31X = *((long *) (((char *) (-3 + channel_27X))));
  if ((4 == v_31X)) {
    goto L11452;}
  else {
    if ((12 == (*((long *) (((char *) (-3 + channel_27X))))))) {
      goto L11452;}
    else {
      v_32X = ps_close_fd(os_index_28X);
      arg0K0 = v_32X;
      goto L11459;}}}
 L11452: {
  v_33X = ps_close_fd(os_index_28X);
  arg0K0 = v_33X;
  goto L11459;}
 L11459: {
  status_34X = arg0K0;
  *((Svm_channelsS) + os_index_28X) = 1;
  addr_35X = ((char *) (-3 + channel_27X));S48_WRITE_BARRIER(channel_27X, addr_35X, 0);
  *((long *) addr_35X) = (long) (0);
  return status_34X;}
}
static long add_log_entryAgc(long proposal_index_36X, long i_37X, long stob_38X, long index_39X, long value_40X, char verifyP_41X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char * addr_67X;
  long value_66X;
  long v_65X;
  long value_64X;
  char * addr_63X;
  long i_62X;
  long stob_61X;
  long proposal_60X;
  long new_59X;
  char * addr_58X;
  char * addr_57X;
  long value_56X;
  long v_55X;
  long vector_54X;
  char * addr_53X;
  char * addr_52X;
  char * addr_51X;
  long log_50X;
  long value_49X;
  long stob_48X;
  long proposal_47X;
  char * addr_46X;
  long len_45X;
  long new_size_44X;
  long log_size_43X;
  long proposal_42X;
 {  proposal_42X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  log_size_43X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + proposal_42X))) + (((proposal_index_36X)<<2)))))))) + -4))))>>8))))>>2);
  if ((i_37X == (-1 + log_size_43X))) {
    Stemp0S = stob_38X;
    Stemp1S = value_40X;
    if ((1 == log_size_43X)) {
      arg0K0 = 17;
      goto L9915;}
    else {
      arg0K0 = (-1 + (((log_size_43X)<<1)));
      goto L9915;}}
  else {
    arg0K0 = proposal_42X;
    arg0K1 = stob_38X;
    arg0K2 = value_40X;
    goto L13433;}}
 L9915: {
  new_size_44X = arg0K0;
  len_45X = ((new_size_44X)<<2);
  addr_46X = s48_allocate_tracedAgc((4 + len_45X));
  if ((addr_46X == NULL)) {
    arg0K0 = 1;
    goto L9961;}
  else {
    *((long *) addr_46X) = (long) ((10 + (((len_45X)<<8))));
    arg0K0 = (3 + (((long) (addr_46X + 4))));
    goto L9961;}}
 L13433: {
  proposal_47X = arg0K0;
  stob_48X = arg0K1;
  value_49X = arg0K2;
  log_50X = *((long *) ((((char *) (-3 + proposal_47X))) + (((proposal_index_36X)<<2))));
  addr_51X = (((char *) (-3 + log_50X))) + (((i_37X)<<2));S48_WRITE_BARRIER(log_50X, addr_51X, stob_48X);
  *((long *) addr_51X) = (long) (stob_48X);
  addr_52X = (((char *) (-3 + log_50X))) + (4 + (((i_37X)<<2)));S48_WRITE_BARRIER(log_50X, addr_52X, index_39X);
  *((long *) addr_52X) = (long) (index_39X);
  addr_53X = (((char *) (-3 + log_50X))) + (8 + (((i_37X)<<2)));S48_WRITE_BARRIER(log_50X, addr_53X, value_49X);
  *((long *) addr_53X) = (long) (value_49X);
  if (verifyP_41X) {
    arg0K0 = value_49X;
    goto L13454;}
  else {
    arg0K0 = 29;
    goto L13454;}}
 L9961: {
  vector_54X = arg0K0;
  if ((1 == vector_54X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_55X;
    goto L9919;}
  else {
    arg0K0 = vector_54X;
    goto L9919;}}
 L13454: {
  value_56X = arg0K0;
  addr_57X = (((char *) (-3 + log_50X))) + (12 + (((i_37X)<<2)));S48_WRITE_BARRIER(log_50X, addr_57X, value_56X);
  *((long *) addr_57X) = (long) (value_56X);
  addr_58X = (((char *) (-3 + log_50X))) + (16 + (((i_37X)<<2)));S48_WRITE_BARRIER(log_50X, addr_58X, 1);
  *((long *) addr_58X) = (long) (1);
  return value_49X;}
 L9919: {
  new_59X = arg0K0;
  proposal_60X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 < log_size_43X)) {
    stob_61X = *((long *) ((((char *) (-3 + proposal_60X))) + 4));
    memcpy((void *)(((char *) (-3 + new_59X))), (void *)(((char *) (-3 + stob_61X))),(-4 + (((log_size_43X)<<2))));
    goto L9939;}
  else {
    goto L9939;}}
 L9939: {
  arg0K0 = (4 + log_size_43X);
  goto L9943;}
 L9943: {
  i_62X = arg0K0;
  if ((i_62X == new_size_44X)) {
    addr_63X = (((char *) (-3 + proposal_60X))) + (((proposal_index_36X)<<2));S48_WRITE_BARRIER(proposal_60X, addr_63X, new_59X);
    *((long *) addr_63X) = (long) (new_59X);
    value_64X = Stemp0S;
    Stemp0S = 1;
    v_65X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
    value_66X = Stemp1S;
    Stemp1S = 1;
    arg0K0 = v_65X;
    arg0K1 = value_64X;
    arg0K2 = value_66X;
    goto L13433;}
  else {
    addr_67X = (((char *) (-3 + new_59X))) + (((i_62X)<<2));S48_WRITE_BARRIER(new_59X, addr_67X, 0);
    *((long *) addr_67X) = (long) (0);
    arg0K0 = (1 + i_62X);
    goto L9943;}}
}
static long enter_bignum(char * external_bignum_68X)
{
  long desc_69X;
 {  desc_69X = 3 + (((long) external_bignum_68X));
  if ((3 == (3 & desc_69X))) {
    if ((20 == (31 & ((((*((long *) ((((char *) (-3 + desc_69X))) + -4))))>>2))))) {
      goto L14184;}
    else {
      goto L14198;}}
  else {
    goto L14198;}}
 L14184: {
  if ((3 == (3 & desc_69X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + desc_69X))) + -4)))))) {
      *((long *) ((((char *) (-3 + desc_69X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + desc_69X))) + -4)))));
      return desc_69X;}
    else {
      return desc_69X;}}
  else {
    return desc_69X;}}
 L14198: {
  ps_error("not a bignum", 1, desc_69X);
  goto L14184;}
}
static long make_channel(long a_70X, long b_71X, long c_72X, long d_73X, long e_74X, long f_75X, long g_76X, long key_77X)
{
  long x_79X;
  char * addr_78X;
 {  addr_78X = s48_allocate_small(32);
  *((long *) addr_78X) = (long) (7194);
  x_79X = 3 + (((long) (addr_78X + 4)));
  *((long *) (((char *) (-3 + x_79X)))) = (long) (a_70X);
  *((long *) ((((char *) (-3 + x_79X))) + 4)) = (long) (b_71X);
  *((long *) ((((char *) (-3 + x_79X))) + 8)) = (long) (c_72X);
  *((long *) ((((char *) (-3 + x_79X))) + 12)) = (long) (d_73X);
  *((long *) ((((char *) (-3 + x_79X))) + 16)) = (long) (e_74X);
  *((long *) ((((char *) (-3 + x_79X))) + 20)) = (long) (f_75X);
  *((long *) ((((char *) (-3 + x_79X))) + 24)) = (long) (g_76X);
  return x_79X;}
}
static long enter_stringAgc(char *string_80X)
{
  long arg0K0;
  long i_85X;
  long string_84X;
  char * addr_83X;
  long len_82X;
  long z_81X;
 {  z_81X = strlen((char *) string_80X);s48_make_availableAgc((4 + (-4 & (4 + z_81X))));
  len_82X = 1 + z_81X;
  addr_83X = s48_allocate_small((4 + len_82X));
  *((long *) addr_83X) = (long) ((70 + (((len_82X)<<8))));
  string_84X = 3 + (((long) (addr_83X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_84X))) + z_81X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L15383;}
 L15383: {
  i_85X = arg0K0;
  if ((i_85X == z_81X)) {
    return string_84X;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_84X))) + i_85X)) = (unsigned char) ((((unsigned char) (*(string_80X + i_85X)))));
    arg0K0 = (1 + i_85X);
    goto L15383;}}
}
static long current_code_vector(void)
{
  long arg0K0;
  long x_98X;
  long v_97X;
  long x_96X;
  long header_95X;
  char * start_94X;
  char * code_pointer_93X;
  long code_92X;
  char * pointer_91X;
  char * code_pointer_90X;
  long header_89X;
  char * start_88X;
  long code_87X;
  char * code_pointer_86X;
 {  code_pointer_86X = Scode_pointerS;
  code_87X = Slast_code_calledS;
  start_88X = ((char *) (-3 + code_87X));
  if ((code_pointer_86X < start_88X)) {
    goto L16650;}
  else {
    header_89X = *((long *) ((((char *) (-3 + code_87X))) + -4));
    if ((3 == (3 & header_89X))) {
      arg0K0 = header_89X;
      goto L16671;}
    else {
      arg0K0 = code_87X;
      goto L16671;}}}
 L16650: {
  code_pointer_90X = Slast_code_pointer_resumedS;
  pointer_91X = code_pointer_90X + -5;
  code_92X = 3 + (((long) (code_pointer_90X + (0 - (((((*((unsigned char *) pointer_91X)))<<8)) + (*((unsigned char *) (pointer_91X + 1))))))));
  code_pointer_93X = Scode_pointerS;
  start_94X = ((char *) (-3 + code_92X));
  if ((code_pointer_93X < start_94X)) {
    goto L16658;}
  else {
    header_95X = *((long *) ((((char *) (-3 + code_92X))) + -4));
    if ((3 == (3 & header_95X))) {
      arg0K0 = header_95X;
      goto L16692;}
    else {
      arg0K0 = code_92X;
      goto L16692;}}}
 L16671: {
  x_96X = arg0K0;
  if ((code_pointer_86X < (start_88X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_96X))) + -4))))>>8))))) {
    return (Slast_code_calledS);}
  else {
    goto L16650;}}
 L16658: {
  ps_error("VM error: unable to locate current code vector", 0);
  return v_97X;}
 L16692: {
  x_98X = arg0K0;
  if ((code_pointer_93X < (start_94X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_98X))) + -4))))>>8))))) {
    return code_92X;}
  else {
    goto L16658;}}
}
static long channel_close_error(long status_99X, long index_100X, long id_101X)
{
  long v_102X;
 {  ps_write_string("Error: ", (stderr));
  ps_write_string((ps_error_string(status_99X)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  ps_write_string(" while closing port ", (stderr));
  if ((3 == (3 & id_101X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + id_101X))) + -4))))>>2))))) {
      ps_write_string((((char *)(((char *) (-3 + id_101X))))), (stderr));
      goto L17046;}
    else {
      goto L17040;}}
  else {
    goto L17040;}}
 L17046: {
  PS_WRITE_CHAR(10, (stderr), v_102X)
  return v_102X;}
 L17040: {
  ps_write_integer((((index_100X)>>2)), (stderr));
  goto L17046;}
}
static long really_preserve_continuation(long key_103X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  char * next_116X;
  long pc_115X;
  char * pointer_114X;
  char * pointer_113X;
  long new_112X;
  char * addr_111X;
  long len_110X;
  long size_109X;
  long size_108X;
  char * pointer_107X;
  long previous_106X;
  char * cont_105X;
  long temp_104X;
 {  if (((ScontS) == (Sbottom_of_stackS))) {
    goto L20532;}
  else {
    temp_104X = Sheap_continuationS;
    arg1K0 = (ScontS);
    arg0K1 = 1;
    goto L20502;}}
 L20532: {
  return (Sheap_continuationS);}
 L20502: {
  cont_105X = arg1K0;
  previous_106X = arg0K1;
  if ((cont_105X == (Sbottom_of_stackS))) {
    *((long *) ((((char *) (-3 + previous_106X))) + 8)) = (long) (temp_104X);
    ScontS = (Sbottom_of_stackS);
    goto L20532;}
  else {
    pointer_107X = (((char *) (*((long *) cont_105X)))) + -2;
    size_108X = ((((*((unsigned char *) pointer_107X)))<<8)) + (*((unsigned char *) (pointer_107X + 1)));
    if ((65535 == size_108X)) {
      arg0K0 = ((((*((long *) (cont_105X + 4))))>>2));
      goto L18702;}
    else {
      arg0K0 = size_108X;
      goto L18702;}}}
 L18702: {
  size_109X = arg0K0;
  len_110X = 12 + (((size_109X)<<2));
  addr_111X = s48_allocate_small((4 + len_110X));
  *((long *) addr_111X) = (long) ((42 + (((len_110X)<<8))));
  new_112X = 3 + (((long) (addr_111X + 4)));
  pointer_113X = ((char *) (*((long *) cont_105X)));
  pointer_114X = pointer_113X + -5;
  pc_115X = ((((*((unsigned char *) pointer_114X)))<<8)) + (*((unsigned char *) (pointer_114X + 1)));
  memcpy((void *)((((char *) (-3 + new_112X))) + 12), (void *)(cont_105X + 4),(((size_109X)<<2)));
  *((long *) (((char *) (-3 + new_112X)))) = (long) ((((pc_115X)<<2)));
  *((long *) ((((char *) (-3 + new_112X))) + 4)) = (long) ((3 + (((long) (pointer_113X + (0 - pc_115X))))));
  next_116X = cont_105X + (4 + (((size_109X)<<2)));
  if ((3 == (3 & previous_106X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + previous_106X))) + -4))))>>2))))) {
      *((long *) ((((char *) (-3 + previous_106X))) + 8)) = (long) (new_112X);
      arg1K0 = next_116X;
      arg0K1 = new_112X;
      goto L20502;}
    else {
      goto L20520;}}
  else {
    goto L20520;}}
 L20520: {
  Sheap_continuationS = new_112X;
  arg1K0 = next_116X;
  arg0K1 = new_112X;
  goto L20502;}
}
static long Hlookup2700(long table_117X, long string_118X, long key_119X)
{
  long arg0K1;
  long arg0K0;
  char * addr_134X;
  long value_133X;
  long link_132X;
  long x_131X;
  char * addr_130X;
  long next_129X;
  long len_128X;
  long s2_127X;
  long foo_126X;
  long bucket_125X;
  long link_124X;
  long index_123X;
  long h_122X;
  long i_121X;
  long n_120X;
 {  n_120X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_118X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L21447;}
 L21447: {
  i_121X = arg0K0;
  h_122X = arg0K1;
  if ((i_121X < n_120X)) {
    arg0K0 = (1 + i_121X);
    arg0K1 = (h_122X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_118X))) + i_121X))))))));
    goto L21447;}
  else {
    index_123X = 1023 & h_122X;
    link_124X = *((long *) ((((char *) (-3 + table_117X))) + (((index_123X)<<2))));
    if ((0 == (3 & link_124X))) {
      arg0K0 = (3 + (-4 & link_124X));
      goto L21403;}
    else {
      arg0K0 = link_124X;
      goto L21403;}}}
 L21403: {
  bucket_125X = arg0K0;
  arg0K0 = bucket_125X;
  goto L21409;}
 L21409: {
  foo_126X = arg0K0;
  if ((1 == foo_126X)) {
    if ((3 == (3 & bucket_125X))) {
      arg0K0 = (-4 & bucket_125X);
      goto L21414;}
    else {
      arg0K0 = bucket_125X;
      goto L21414;}}
  else {
    s2_127X = *((long *) (((char *) (-3 + foo_126X))));
    len_128X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_118X))) + -4))))>>8);
    if ((len_128X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_127X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_127X))), (void *)(((char *) (-3 + string_118X))),len_128X)))) {
        return foo_126X;}
      else {
        goto L21429;}}
    else {
      goto L21429;}}}
 L21414: {
  next_129X = arg0K0;
  addr_130X = s48_allocate_small(20);
  *((long *) addr_130X) = (long) (4154);
  x_131X = 3 + (((long) (addr_130X + 4)));
  *((long *) (((char *) (-3 + x_131X)))) = (long) (string_118X);
  *((long *) ((((char *) (-3 + x_131X))) + 4)) = (long) (1);
  *((long *) ((((char *) (-3 + x_131X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_131X))) + 12)) = (long) (next_129X);
  if ((3 == (3 & x_131X))) {
    arg0K0 = (-4 & x_131X);
    goto L21420;}
  else {
    arg0K0 = x_131X;
    goto L21420;}}
 L21429: {
  link_132X = *((long *) ((((char *) (-3 + foo_126X))) + 12));
  if ((0 == (3 & link_132X))) {
    arg0K0 = (3 + (-4 & link_132X));
    goto L21409;}
  else {
    arg0K0 = link_132X;
    goto L21409;}}
 L21420: {
  value_133X = arg0K0;
  addr_134X = (((char *) (-3 + table_117X))) + (((index_123X)<<2));S48_WRITE_BARRIER(table_117X, addr_134X, value_133X);
  *((long *) addr_134X) = (long) (value_133X);
  return x_131X;}
}
static long Hlookup2681(long table_135X, long string_136X, long key_137X)
{
  long arg0K1;
  long arg0K0;
  char * addr_152X;
  long value_151X;
  long link_150X;
  long x_149X;
  char * addr_148X;
  long next_147X;
  long len_146X;
  long s2_145X;
  long foo_144X;
  long bucket_143X;
  long link_142X;
  long index_141X;
  long h_140X;
  long i_139X;
  long n_138X;
 {  n_138X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_136X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L21599;}
 L21599: {
  i_139X = arg0K0;
  h_140X = arg0K1;
  if ((i_139X < n_138X)) {
    arg0K0 = (1 + i_139X);
    arg0K1 = (h_140X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_136X))) + i_139X))))))));
    goto L21599;}
  else {
    index_141X = 1023 & h_140X;
    link_142X = *((long *) ((((char *) (-3 + table_135X))) + (((index_141X)<<2))));
    if ((0 == (3 & link_142X))) {
      arg0K0 = (3 + (-4 & link_142X));
      goto L21555;}
    else {
      arg0K0 = link_142X;
      goto L21555;}}}
 L21555: {
  bucket_143X = arg0K0;
  arg0K0 = bucket_143X;
  goto L21561;}
 L21561: {
  foo_144X = arg0K0;
  if ((1 == foo_144X)) {
    if ((3 == (3 & bucket_143X))) {
      arg0K0 = (-4 & bucket_143X);
      goto L21566;}
    else {
      arg0K0 = bucket_143X;
      goto L21566;}}
  else {
    s2_145X = *((long *) (((char *) (-3 + foo_144X))));
    len_146X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_136X))) + -4))))>>8);
    if ((len_146X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_145X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_145X))), (void *)(((char *) (-3 + string_136X))),len_146X)))) {
        return foo_144X;}
      else {
        goto L21581;}}
    else {
      goto L21581;}}}
 L21566: {
  next_147X = arg0K0;
  addr_148X = s48_allocate_small(20);
  *((long *) addr_148X) = (long) (4154);
  x_149X = 3 + (((long) (addr_148X + 4)));
  *((long *) (((char *) (-3 + x_149X)))) = (long) (string_136X);
  *((long *) ((((char *) (-3 + x_149X))) + 4)) = (long) (5);
  *((long *) ((((char *) (-3 + x_149X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_149X))) + 12)) = (long) (next_147X);
  if ((3 == (3 & x_149X))) {
    arg0K0 = (-4 & x_149X);
    goto L21572;}
  else {
    arg0K0 = x_149X;
    goto L21572;}}
 L21581: {
  link_150X = *((long *) ((((char *) (-3 + foo_144X))) + 12));
  if ((0 == (3 & link_150X))) {
    arg0K0 = (3 + (-4 & link_150X));
    goto L21561;}
  else {
    arg0K0 = link_150X;
    goto L21561;}}
 L21572: {
  value_151X = arg0K0;
  addr_152X = (((char *) (-3 + table_135X))) + (((index_141X)<<2));S48_WRITE_BARRIER(table_135X, addr_152X, value_151X);
  *((long *) addr_152X) = (long) (value_151X);
  return x_149X;}
}
static void HtopD10312(void)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long id_191X;
  long new_190X;
  long id_189X;
  long status_188X;
  long v_187X;
  char v_186X;
  long channel_185X;
  long i_184X;
  char * addr_183X;
  long next_link_182X;
  long new_foo_181X;
  char v_180X;
  char * addr_179X;
  long foo_178X;
  char * addr_177X;
  long l_176X;
  long v_175X;
  long okay_link_174X;
  long foo_link_173X;
  char * addr_172X;
  char * addr_171X;
  char * addr_170X;
  char * addr_169X;
  long val_168X;
  char tracedP_167X;
  long next_166X;
  long thing_165X;
  long pair_164X;
  long alist_163X;
  long l2_162X;
  long goners_161X;
  long okay_160X;
  long alist_159X;
  long foo_link_158X;
  long v_157X;
  long pc_156X;
  long code_155X;
  long i_154X;
  long table_153X;
 {  table_153X = s48_trace_value((Sthe_symbol_tableS));
  arg0K0 = 0;
  goto L22555;}
 L22555: {
  i_154X = arg0K0;
  if ((1024 == i_154X)) {
    Sthe_symbol_tableS = table_153X;
    code_155X = Slast_code_calledS;
    pc_156X = Ssaved_pcS;
    Slast_code_calledS = code_155X;
    Scode_pointerS = ((((char *) (-3 + code_155X))) + pc_156X);
    Slast_code_pointer_resumedS = (Scode_pointerS);
    v_157X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_157X;
    arg0K1 = 25;
    arg0K2 = 25;
    goto L11051;}
  else {
    foo_link_158X = *((long *) ((((char *) (-3 + table_153X))) + (((i_154X)<<2))));
    arg0K0 = foo_link_158X;
    arg0K1 = 1;
    goto L14639;}}
 L11051: {
  alist_159X = arg0K0;
  okay_160X = arg0K1;
  goners_161X = arg0K2;
  if ((25 == alist_159X)) {SHARED_SETB((Sfinalizer_alistS), okay_160X);
    l2_162X = Sfinalize_theseS;
    if ((25 == goners_161X)) {
      arg0K0 = l2_162X;
      goto L11058;}
    else {
      arg0K0 = goners_161X;
      goto L11113;}}
  else {
    alist_163X = s48_trace_value(alist_159X);
    pair_164X = s48_trace_value((*((long *) (((char *) (-3 + alist_163X))))));
    thing_165X = *((long *) (((char *) (-3 + pair_164X))));
    next_166X = *((long *) ((((char *) (-3 + alist_163X))) + 4));
    tracedP_167X = s48_extantP(thing_165X);
    val_168X = s48_trace_value(thing_165X);
    addr_169X = ((char *) (-3 + pair_164X));S48_WRITE_BARRIER(pair_164X, addr_169X, val_168X);
    *((long *) addr_169X) = (long) (val_168X);
    addr_170X = ((char *) (-3 + alist_163X));S48_WRITE_BARRIER(alist_163X, addr_170X, pair_164X);
    *((long *) addr_170X) = (long) (pair_164X);
    if (tracedP_167X) {
      addr_171X = (((char *) (-3 + alist_163X))) + 4;S48_WRITE_BARRIER(alist_163X, addr_171X, okay_160X);
      *((long *) addr_171X) = (long) (okay_160X);
      arg0K0 = next_166X;
      arg0K1 = alist_163X;
      arg0K2 = goners_161X;
      goto L11051;}
    else {
      addr_172X = (((char *) (-3 + alist_163X))) + 4;S48_WRITE_BARRIER(alist_163X, addr_172X, goners_161X);
      *((long *) addr_172X) = (long) (goners_161X);
      arg0K0 = next_166X;
      arg0K1 = okay_160X;
      arg0K2 = alist_163X;
      goto L11051;}}}
 L14639: {
  foo_link_173X = arg0K0;
  okay_link_174X = arg0K1;
  if ((0 == (3 & foo_link_173X))) {
    arg0K0 = (3 + (-4 & foo_link_173X));
    goto L14641;}
  else {
    arg0K0 = foo_link_173X;
    goto L14641;}}
 L11058: {
  v_175X = arg0K0;
  Sfinalize_theseS = v_175X;
  arg0K0 = 0;
  goto L20996;}
 L11113: {
  l_176X = arg0K0;
  if ((25 == (*((long *) ((((char *) (-3 + l_176X))) + 4))))) {
    addr_177X = (((char *) (-3 + l_176X))) + 4;S48_WRITE_BARRIER(l_176X, addr_177X, l2_162X);
    *((long *) addr_177X) = (long) (l2_162X);
    arg0K0 = goners_161X;
    goto L11058;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_176X))) + 4)));
    goto L11113;}}
 L14641: {
  foo_178X = arg0K0;
  if ((1 == foo_178X)) {
    addr_179X = (((char *) (-3 + table_153X))) + (((i_154X)<<2));S48_WRITE_BARRIER(table_153X, addr_179X, okay_link_174X);
    *((long *) addr_179X) = (long) (okay_link_174X);
    arg0K0 = (1 + i_154X);
    goto L22555;}
  else {
    v_180X = s48_extantP(foo_178X);
    if (v_180X) {
      new_foo_181X = s48_trace_value(foo_178X);
      next_link_182X = *((long *) ((((char *) (-3 + new_foo_181X))) + 4));
      addr_183X = (((char *) (-3 + new_foo_181X))) + 4;S48_WRITE_BARRIER(new_foo_181X, addr_183X, okay_link_174X);
      *((long *) addr_183X) = (long) (okay_link_174X);
      if ((3 == (3 & new_foo_181X))) {
        arg0K0 = next_link_182X;
        arg0K1 = (-4 & new_foo_181X);
        goto L14639;}
      else {
        arg0K0 = next_link_182X;
        arg0K1 = new_foo_181X;
        goto L14639;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + foo_178X))) + 4)));
      arg0K1 = okay_link_174X;
      goto L14639;}}}
 L20996: {
  i_184X = arg0K0;
  if ((i_184X == (Snumber_of_channelsS))) {
    Spending_interruptsS = (4 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        return;}
      else {
        return;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      return;}}
  else {
    channel_185X = *((Svm_channelsS) + i_184X);
    if ((1 == channel_185X)) {
      goto L21030;}
    else {
      v_186X = s48_extantP(channel_185X);
      if (v_186X) {
        v_187X = s48_trace_value(channel_185X);
        arg0K0 = v_187X;
        goto L21023;}
      else {
        if ((0 == (*((long *) (((char *) (-3 + channel_185X))))))) {
          arg0K0 = 1;
          goto L21023;}
        else {
          status_188X = close_channelB(channel_185X);
          id_189X = *((long *) ((((char *) (-3 + channel_185X))) + 4));
          if ((status_188X == NO_ERRORS)) {
            goto L21054;}
          else {channel_close_error(status_188X, (*((long *) ((((char *) (-3 + channel_185X))) + 8))), id_189X);
            goto L21054;}}}}}}
 L21030: {
  arg0K0 = (1 + i_184X);
  goto L20996;}
 L21023: {
  new_190X = arg0K0;
  *((Svm_channelsS) + i_184X) = new_190X;
  goto L21030;}
 L21054: {
  if ((1 == (*((long *) ((((char *) (-3 + channel_185X))) + 12))))) {
    id_191X = *((long *) ((((char *) (-3 + channel_185X))) + 4));
    ps_write_string("Channel closed: ", (stderr));
    if ((0 == (3 & id_191X))) {
      ps_write_integer((((id_191X)>>2)), (stderr));
      goto L9189;}
    else {
      ps_write_string((((char *)(((char *) (-3 + id_191X))))), (stderr));
      goto L9189;}}
  else {
    arg0K0 = 1;
    goto L21023;}}
 L9189: {
  ps_write_string(" ", (stderr));
  ps_write_integer(((((*((long *) ((((char *) (-3 + channel_185X))) + 8))))>>2)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  arg0K0 = 1;
  goto L21023;}
}
static void HtopD10323(void)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K0;

  int Hentry_tracer859192_return_tag;
  long Hentry_tracer8591920_return_value;
  long foo_link_193X;
  char * addr_263X;
  long next_link_262X;
  long new_foo_261X;
  long foo_260X;
  long done_link_259X;
  long foo_link_258X;
  long v_257X;
  long size_256X;
  char * pointer_255X;
  long v_254X;
  long v_253X;
  long v_252X;
  long cells_251X;
  long size_250X;
  char * pointer_249X;
  char * contents_pointer_248X;
  long new_code_247X;
  long mask_size_246X;
  char * code_pointer_245X;
  long pc_244X;
  char * pointer_243X;
  char * pointer_242X;
  char * cont_241X;
  long unused_240X;
  char * a_239X;
  char * addr_238X;
  long val_237X;
  char * addr_236X;
  long val_235X;
  long channel_234X;
  long i_233X;
  char x_232X;
  long pair_231X;
  long v_230X;
  long v_229X;
  long alist_228X;
  char * addr_227X;
  long value_226X;
  long v_225X;
  long v_224X;
  long v_223X;
  long v_222X;
  long v_221X;
  long v_220X;
  long v_219X;
  long v_218X;
  long v_217X;
  long v_216X;
  long v_215X;
  long v_214X;
  long v_213X;
  long v_212X;
  long v_211X;
  long v_210X;
  long code_209X;
  long i_208X;
  char * addr_207X;
  long value_206X;
  long table_205X;
  long i_204X;
  long x2_203X;
  char * cell_202X;
  long i_201X;
  long x2_200X;
  char * cell_199X;
  long table_198X;
  char * frame_197X;
  long length_196X;
  char * frame_195X;
  long v_194X;
 {  v_194X = s48_trace_value((Sempty_logS));
  Sempty_logS = v_194X;
  arg1K0 = (Sexternal_root_stackS);
  goto L7846;}
 L7846: {
  frame_195X = arg1K0;
  if ((frame_195X == NULL)) {
    arg1K0 = (Spermanent_external_rootsS);
    goto L7872;}
  else {
    length_196X = *((long *) frame_195X);
    arg0K0 = 0;
    goto L7854;}}
 L7872: {
  frame_197X = arg1K0;
  if ((frame_197X == NULL)) {s48_initializing_gc_root();
    table_198X = s48_trace_value((Simported_bindingsS));
    arg0K0 = 0;
    goto L20309;}
  else {
    cell_199X = ((char *) (*((long *) (frame_197X + 4))));
    x2_200X = s48_trace_value((*((long *) cell_199X)));
    *((long *) cell_199X) = (long) (x2_200X);
    arg1K0 = (((char *) (*((long *) frame_197X))));
    goto L7872;}}
 L7854: {
  i_201X = arg0K0;
  if ((i_201X == length_196X)) {
    arg1K0 = (((char *) (*((long *) (frame_195X + 4)))));
    goto L7846;}
  else {
    cell_202X = ((char *) (*((long *) (frame_195X + (8 + (((i_201X)<<2)))))));
    x2_203X = s48_trace_value((*((long *) cell_202X)));
    *((long *) cell_202X) = (long) (x2_203X);
    arg0K0 = (1 + i_201X);
    goto L7854;}}
 L20309: {
  i_204X = arg0K0;
  if ((1024 == i_204X)) {
    Simported_bindingsS = table_198X;
    table_205X = s48_trace_value((Sexported_bindingsS));
    arg0K0 = 0;
    goto L20330;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_198X))) + (((i_204X)<<2)))));
    Hentry_tracer859192_return_tag = 0;
    goto Hentry_tracer859192;
   Hentry_tracer859192_return_0:
    value_206X = Hentry_tracer8591920_return_value;
    addr_207X = (((char *) (-3 + table_198X))) + (((i_204X)<<2));S48_WRITE_BARRIER(table_198X, addr_207X, value_206X);
    *((long *) addr_207X) = (long) (value_206X);
    arg0K0 = (1 + i_204X);
    goto L20309;}}
 L20330: {
  i_208X = arg0K0;
  if ((1024 == i_208X)) {
    Sexported_bindingsS = table_205X;
    code_209X = current_code_vector();
    Ssaved_pcS = ((Scode_pointerS) - (((char *) (-3 + code_209X))));
    v_210X = s48_trace_value(code_209X);
    Slast_code_calledS = v_210X;
    v_211X = s48_trace_value((SvalS));
    SvalS = v_211X;
    v_212X = s48_trace_value((Scurrent_threadS));
    Scurrent_threadS = v_212X;
    v_213X = s48_trace_value((Sinterrupt_return_codeS));
    Sinterrupt_return_codeS = v_213X;
    v_214X = s48_trace_value((Sexception_return_codeS));
    Sexception_return_codeS = v_214X;
    v_215X = s48_trace_value((Scall_with_values_return_codeS));
    Scall_with_values_return_codeS = v_215X;
    v_216X = s48_trace_value((Sinterrupted_templateS));
    Sinterrupted_templateS = v_216X;
    v_217X = SHARED_REF((Ssession_dataS));
    v_218X = s48_trace_value(v_217X);SHARED_SETB((Ssession_dataS), v_218X);
    v_219X = SHARED_REF((Sexception_handlersS));
    v_220X = s48_trace_value(v_219X);SHARED_SETB((Sexception_handlersS), v_220X);
    v_221X = SHARED_REF((Sinterrupt_handlersS));
    v_222X = s48_trace_value(v_221X);SHARED_SETB((Sinterrupt_handlersS), v_222X);
    v_223X = SHARED_REF((Sfinalize_theseS));
    v_224X = s48_trace_value(v_223X);SHARED_SETB((Sfinalize_theseS), v_224X);
    v_225X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_225X;
    goto L7912;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_205X))) + (((i_208X)<<2)))));
    Hentry_tracer859192_return_tag = 1;
    goto Hentry_tracer859192;
   Hentry_tracer859192_return_1:
    value_226X = Hentry_tracer8591920_return_value;
    addr_227X = (((char *) (-3 + table_205X))) + (((i_208X)<<2));S48_WRITE_BARRIER(table_205X, addr_227X, value_226X);
    *((long *) addr_227X) = (long) (value_226X);
    arg0K0 = (1 + i_208X);
    goto L20330;}}
 L7912: {
  alist_228X = arg0K0;
  if ((25 == alist_228X)) {
    v_229X = s48_trace_value((Spending_channels_headS));
    Spending_channels_headS = v_229X;
    v_230X = s48_trace_value((Spending_channels_tailS));
    Spending_channels_tailS = v_230X;
    arg0K0 = 0;
    goto L11183;}
  else {
    pair_231X = *((long *) (((char *) (-3 + alist_228X))));
    x_232X = s48_extantP((*((long *) (((char *) (-3 + pair_231X))))));
    if (x_232X) {
      goto L7937;}
    else {s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_231X))))));
      goto L7937;}}}
 L11183: {
  i_233X = arg0K0;
  if ((i_233X == (Snumber_of_channelsS))) {
    if ((Sstack_warningPS)) {
      arg1K0 = (Sstack_beginS);
      goto L5419;}
    else {
      goto L14885;}}
  else {
    channel_234X = *((Svm_channelsS) + i_233X);
    if ((1 == channel_234X)) {
      goto L11211;}
    else {
      if ((0 == (*((long *) (((char *) (-3 + channel_234X))))))) {
        goto L11211;}
      else {
        val_235X = s48_trace_value((*((long *) ((((char *) (-3 + channel_234X))) + 4))));
        addr_236X = (((char *) (-3 + channel_234X))) + 4;S48_WRITE_BARRIER(channel_234X, addr_236X, val_235X);
        *((long *) addr_236X) = (long) (val_235X);
        goto L11211;}}}}
 L7937: {
  val_237X = s48_trace_value((*((long *) ((((char *) (-3 + pair_231X))) + 4))));
  addr_238X = (((char *) (-3 + pair_231X))) + 4;S48_WRITE_BARRIER(pair_231X, addr_238X, val_237X);
  *((long *) addr_238X) = (long) (val_237X);
  arg0K0 = (*((long *) ((((char *) (-3 + alist_228X))) + 4)));
  goto L7912;}
 L5419: {
  a_239X = arg1K0;
  if ((252645135 == (*((long *) a_239X)))) {
    arg1K0 = (a_239X + 4);
    goto L5419;}
  else {
    unused_240X = (((a_239X - (Sstack_beginS)))>>2);
    if ((unused_240X < 30)) {
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      ps_write_string("[Alert: stack overconsumption (", (stderr));
      ps_write_integer(unused_240X, (stderr));
      ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      Sstack_warningPS = 0;
      goto L14885;}
    else {
      goto L14885;}}}
 L14885: {
s48_trace_locationsB((SstackS), ((SstackS) + (-4 & ((ScontS) - (SstackS)))));
  arg1K0 = (ScontS);
  goto L14895;}
 L11211: {
  arg0K0 = (1 + i_233X);
  goto L11183;}
 L14895: {
  cont_241X = arg1K0;
  pointer_242X = ((char *) (*((long *) cont_241X)));
  pointer_243X = pointer_242X + -5;
  pc_244X = ((((*((unsigned char *) pointer_243X)))<<8)) + (*((unsigned char *) (pointer_243X + 1)));
  code_pointer_245X = ((char *) (*((long *) cont_241X)));
  mask_size_246X = *((unsigned char *) (code_pointer_245X + -3));
  new_code_247X = s48_trace_value((3 + (((long) (pointer_242X + (0 - pc_244X))))));
  contents_pointer_248X = cont_241X + 4;
  *((long *) cont_241X) = (long) ((((long) ((((char *) (-3 + new_code_247X))) + pc_244X))));
  if ((0 == mask_size_246X)) {
    pointer_249X = (((char *) (*((long *) cont_241X)))) + -2;
    size_250X = ((((*((unsigned char *) pointer_249X)))<<8)) + (*((unsigned char *) (pointer_249X + 1)));
    if ((65535 == size_250X)) {
      arg0K0 = ((((*((long *) (cont_241X + 4))))>>2));
      goto L12460;}
    else {
      arg0K0 = size_250X;
      goto L12460;}}
  else {s48_trace_continuation_contentsB(contents_pointer_248X, code_pointer_245X, mask_size_246X);
    goto L14905;}}
 L12460: {
  cells_251X = arg0K0;s48_trace_locationsB(contents_pointer_248X, (contents_pointer_248X + (((cells_251X)<<2))));
  goto L14905;}
 L14905: {
  if ((cont_241X == (Sbottom_of_stackS))) {
    v_252X = s48_trace_value((Sheap_continuationS));
    Sheap_continuationS = v_252X;
    v_253X = s48_trace_value((Stemp0S));
    Stemp0S = v_253X;
    v_254X = s48_trace_value((Stemp1S));
    Stemp1S = v_254X;
    return;}
  else {
    pointer_255X = (((char *) (*((long *) cont_241X)))) + -2;
    size_256X = ((((*((unsigned char *) pointer_255X)))<<8)) + (*((unsigned char *) (pointer_255X + 1)));
    if ((65535 == size_256X)) {
      arg0K0 = ((((*((long *) (cont_241X + 4))))>>2));
      goto L14943;}
    else {
      arg0K0 = size_256X;
      goto L14943;}}}
 L14943: {
  v_257X = arg0K0;
  arg1K0 = (cont_241X + (4 + (((v_257X)<<2))));
  goto L14895;}
 Hentry_tracer859192: {
  foo_link_193X = merged_arg0K0;{
  arg0K0 = foo_link_193X;
  arg0K1 = 1;
  goto L14711;}
 L14711: {
  foo_link_258X = arg0K0;
  done_link_259X = arg0K1;
  if ((0 == (3 & foo_link_258X))) {
    arg0K0 = (3 + (-4 & foo_link_258X));
    goto L14713;}
  else {
    arg0K0 = foo_link_258X;
    goto L14713;}}
 L14713: {
  foo_260X = arg0K0;
  if ((1 == foo_260X)) {
    Hentry_tracer8591920_return_value = done_link_259X;
    goto Hentry_tracer859192_return;}
  else {
    new_foo_261X = s48_trace_value(foo_260X);
    next_link_262X = *((long *) ((((char *) (-3 + new_foo_261X))) + 12));
    addr_263X = (((char *) (-3 + new_foo_261X))) + 12;S48_WRITE_BARRIER(new_foo_261X, addr_263X, done_link_259X);
    *((long *) addr_263X) = (long) (done_link_259X);
    if ((3 == (3 & new_foo_261X))) {
      arg0K0 = next_link_262X;
      arg0K1 = (-4 & new_foo_261X);
      goto L14711;}
    else {
      arg0K0 = next_link_262X;
      arg0K1 = new_foo_261X;
      goto L14711;}}}
 Hentry_tracer859192_return:
  switch (Hentry_tracer859192_return_tag) {
  case 0: goto Hentry_tracer859192_return_0;
  default: goto Hentry_tracer859192_return_1;
  }}

}
void s48_set_native_protocolB(long protocol_264X)
{

 {  s48_Snative_protocolS = protocol_264X;
  return;}
}
void s48_set_extension_valueB(long value_265X)
{

 {  s48_Sextension_valueS = value_265X;
  return;}
}
long s48_channel_count(void)
{

 {  return (Snumber_of_channelsS);}
}
long *s48_channels(void)
{

 {  return (Svm_channelsS);}
}
char s48_os_signal_pending(void)
{
  long arg0K0;
  long v_266X;
 {  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_endS))) {
    return 0;}
  else {
    if ((31 == (Sos_signal_ring_readyS))) {
      arg0K0 = 0;
      goto L2956;}
    else {
      arg0K0 = (1 + (Sos_signal_ring_readyS));
      goto L2956;}}}
 L2956: {
  v_266X = arg0K0;
  Sos_signal_ring_readyS = v_266X;
  return 1;}
}
long s48_imported_bindings(void)
{

 {  return (Simported_bindingsS);}
}
long s48_exported_bindings(void)
{

 {  return (Sexported_bindingsS);}
}
long s48_symbol_table(void)
{

 {  return (Sthe_symbol_tableS);}
}
char * s48_set_gc_roots_baseB(void)
{
  char * old_base_267X;
 {  old_base_267X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = (Sexternal_root_stackS);
  return old_base_267X;}
}
char s48_release_gc_roots_baseB(char * old_base_268X)
{
  char * current_base_269X;
 {  current_base_269X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = old_base_268X;
  if (((Sexternal_root_stackS) == current_base_269X)) {
    return 1;}
  else {
    Sexternal_root_stackS = current_base_269X;
    return 0;}}
}
void s48_reset_external_rootsB(void)
{

 {  Sexternal_root_stackS = NULL;
  Sexternal_root_stack_baseS = NULL;
  Spermanent_external_rootsS = NULL;
  return;}
}
void s48_note_event(void)
{

 {  s48_Spending_eventsPS = 1;
  s48_Sstack_limitS = (((char *) -1));
  return;}
}
void s48_reset_interruptsB(void)
{

 {  Sos_signal_ring_startS = 0;
  Sos_signal_ring_readyS = 0;
  Sos_signal_ring_endS = 0;
  Senabled_interruptsS = 0;
  Spending_interruptsS = 0;
  s48_Spending_interruptPS = 0;
  return;}
}
void s48_disable_interruptsB(void)
{

 {  s48_Spending_interruptPS = 0;
  Senabled_interruptsS = 0;
  return;}
}
void s48_add_os_signal(long sig_270X)
{
  long arg0K0;
  long v_271X;
 {  if ((31 == (Sos_signal_ring_endS))) {
    arg0K0 = 0;
    goto L3844;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_endS));
    goto L3844;}}
 L3844: {
  v_271X = arg0K0;
  Sos_signal_ring_endS = v_271X;
  if (((Sos_signal_ring_startS) == (Sos_signal_ring_endS))) {
    ps_error("OS signal ring too small, report to Scheme 48 maintainers", 0);
    goto L3846;}
  else {
    goto L3846;}}
 L3846: {
  *(Sos_signal_ringS + (Sos_signal_ring_endS)) = sig_270X;
  return;}
}
void s48_push_gc_rootsB(char * frame_272X, long n_273X)
{

 {  *((long *) frame_272X) = (long) (n_273X);
  *((long *) (frame_272X + 4)) = (long) ((((long) (Sexternal_root_stackS))));
  Sexternal_root_stackS = frame_272X;
  return;}
}
void s48_register_gc_rootB(char * loc_addr_274X)
{
  char * frame_275X;
 {  frame_275X = (char *)malloc(8);
  if ((frame_275X == NULL)) {
    ps_error("out of memory registering a global root", 0);
    goto L4052;}
  else {
    goto L4052;}}
 L4052: {
  *((long *) frame_275X) = (long) ((((long) (Spermanent_external_rootsS))));
  *((long *) (frame_275X + 4)) = (long) ((((long) loc_addr_274X)));
  Spermanent_external_rootsS = frame_275X;
  return;}
}
void s48_stack_setB(long x_276X, long value_277X)
{

 {  *((long *) ((SstackS) + (((x_276X)<<2)))) = (long) (value_277X);
  return;}
}
long s48_stack_ref(long i_278X)
{

 {  return (*((long *) ((SstackS) + (((i_278X)<<2)))));}
}
void s48_push(long x_279X)
{

 {  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_279X);
  return;}
}
long s48_resetup_external_exception(long new_why_280X, long additional_nargs_281X)
{
  long old_why_283X;
  long old_nargs_282X;
 {  old_nargs_282X = Sexternal_exception_nargsS;
  old_why_283X = *((long *) ((SstackS) + (((old_nargs_282X)<<2))));
  *((long *) ((SstackS) + (((old_nargs_282X)<<2)))) = (long) ((((new_why_280X)<<2)));
  Sexternal_exception_nargsS = (old_nargs_282X + additional_nargs_281X);
  return old_why_283X;}
}
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;}}
}
char * s48_shorten_bignum(char * external_bignum_284X, long number_of_digits_285X)
{
  long waste_size_290X;
  long old_data_size_289X;
  long new_data_size_288X;
  long new_size_287X;
  long bignum_286X;
 {  bignum_286X = 3 + (((long) external_bignum_284X));
  new_size_287X = 4 + (-4 & (7 + (((number_of_digits_285X)<<2))));
  new_data_size_288X = -4 + new_size_287X;
  old_data_size_289X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + bignum_286X))) + -4))))>>8);
  waste_size_290X = old_data_size_289X - new_data_size_288X;
  if ((waste_size_290X < 0)) {
    ps_error("shorten bignum", 2, new_data_size_288X, old_data_size_289X);
    goto L7243;}
  else {
    goto L7243;}}
 L7243: {
  if ((waste_size_290X < 4)) {
    return external_bignum_284X;}
  else {
    *((long *) ((((char *) (-3 + bignum_286X))) + -4)) = (long) ((82 + (((new_data_size_288X)<<8))));
    *((long *) ((((char *) (((long) ((((char *) (-3 + bignum_286X))) + (-4 & (3 + new_size_287X))))))) + -4)) = (long) ((-942 + (((waste_size_290X)<<8))));
    return external_bignum_284X;}}
}
long s48_allocate_bignum(long size_291X)
{
  char * addr_292X;
 {  addr_292X = s48_allocate_small((4 + size_291X));
  *((long *) addr_292X) = (long) ((82 + (((size_291X)<<8))));
  return (3 + (((long) (addr_292X + 4))));}
}
void s48_enable_interruptsB(void)
{

 {  Senabled_interruptsS = -1;
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      return;}
    else {
      return;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    return;}}
}
long s48_set_channel_os_index(long channel_293X, long os_index_294X)
{
  char * addr_301X;
  long val_300X;
  long v_299X;
  long x_298X;
  long old_index_297X;
  char x_296X;
  char temp_295X;
 {  temp_295X = os_index_294X < (Snumber_of_channelsS);
  if (temp_295X) {
    goto L11342;}
  else {
    x_296X = add_more_channels(os_index_294X);
    if (x_296X) {
      goto L11342;}
    else {
      return 36;}}}
 L11342: {
  if ((1 == (*((Svm_channelsS) + os_index_294X)))) {
    old_index_297X = (((*((long *) ((((char *) (-3 + channel_293X))) + 8))))>>2);
    x_298X = *((long *) ((((char *) (-3 + channel_293X))) + 20));
    if ((5 == x_298X)) {
      v_299X = ps_abort_fd_op(old_index_297X);enqueue_channelB(old_index_297X, v_299X, 1);
      goto L11328;}
    else {
      goto L11328;}}
  else {
    return 44;}}
 L11328: {
  *((Svm_channelsS) + old_index_297X) = 1;
  *((Svm_channelsS) + os_index_294X) = channel_293X;
  val_300X = ((os_index_294X)<<2);
  addr_301X = (((char *) (-3 + channel_293X))) + 8;S48_WRITE_BARRIER(channel_293X, addr_301X, val_300X);
  *((long *) addr_301X) = (long) (val_300X);
  return 5;}
}
void s48_close_channel(long os_index_302X)
{
  long obj_303X;
 {  if ((os_index_302X < 0)) {
    return;}
  else {
    if ((os_index_302X < (Snumber_of_channelsS))) {
      obj_303X = *((Svm_channelsS) + os_index_302X);
      if ((3 == (3 & obj_303X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_303X))) + -4))))>>2))))) {close_channelB((*((Svm_channelsS) + os_index_302X)));
          return;}
        else {
          return;}}
      else {
        return;}}
    else {
      return;}}}
}
char s48_warn_about_undefined_imported_bindings(void)
{
  long arg0K0;
  long link_311X;
  long name_310X;
  long entry_309X;
  long link_308X;
  char temp_307X;
  long i_306X;
  long table_305X;
  FILE * out_304X;
 {  out_304X = stderr;
  table_305X = Simported_bindingsS;
  arg0K0 = 0;
  goto L17941;}
 L17941: {
  i_306X = arg0K0;
  temp_307X = 1024 == i_306X;
  if (temp_307X) {
    return temp_307X;}
  else {
    link_308X = *((long *) ((((char *) (-3 + table_305X))) + (((i_306X)<<2))));
    if ((0 == (3 & link_308X))) {
      arg0K0 = (3 + (-4 & link_308X));
      goto L17915;}
    else {
      arg0K0 = link_308X;
      goto L17915;}}}
 L17915: {
  entry_309X = arg0K0;
  if ((1 == entry_309X)) {
    arg0K0 = (1 + i_306X);
    goto L17941;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + entry_309X))) + 8)))))) {
      name_310X = *((long *) (((char *) (-3 + entry_309X))));
      ps_write_string("undefined imported name ", out_304X);
      if ((3 == (3 & name_310X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + name_310X))) + -4))))>>2))))) {
          ps_write_string((((char *)(((char *) (-3 + name_310X))))), out_304X);
          goto L20220;}
        else {
          goto L20218;}}
      else {
        goto L20218;}}
    else {
      goto L17922;}}}
 L20220: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_304X, ignoreXX) }
  goto L17922;}
 L20218: {
  ps_write_string("<invalid name>", out_304X);
  goto L20220;}
 L17922: {
  link_311X = *((long *) ((((char *) (-3 + entry_309X))) + 12));
  if ((0 == (3 & link_311X))) {
    arg0K0 = (3 + (-4 & link_311X));
    goto L17915;}
  else {
    arg0K0 = link_311X;
    goto L17915;}}
}
void check_stack(void)
{
  char * arg1K0;
  char * arg1K1;
  long arg0K0;
  long v_333X;
  long address_332X;
  long x_331X;
  char * ptr_330X;
  long mask_329X;
  long size_328X;
  char * pointer_327X;
  long address_326X;
  long x_325X;
  char * addr_324X;
  char * trace_ptr_323X;
  char * mask_ptr_322X;
  long v_321X;
  char * mask_pointer_320X;
  long size_319X;
  char * pointer_318X;
  char * contents_pointer_317X;
  long mask_size_316X;
  char * code_pointer_315X;
  char * cont_314X;
  char * v_313X;
  char * v_312X;
 {  v_312X = s48_oldspace_begin();
  Soldspace_beginS = (((long) v_312X));
  v_313X = s48_oldspace_end();
  Soldspace_endS = (((long) v_313X));
  arg1K0 = (ScontS);
  goto L20358;}
 L20358: {
  cont_314X = arg1K0;
  if ((cont_314X == (Sbottom_of_stackS))) {
    return;}
  else {
    code_pointer_315X = ((char *) (*((long *) cont_314X)));
    mask_size_316X = *((unsigned char *) (code_pointer_315X + -3));
    contents_pointer_317X = cont_314X + 4;
    if ((0 == mask_size_316X)) {
      pointer_318X = (((char *) (*((long *) cont_314X)))) + -2;
      size_319X = ((((*((unsigned char *) pointer_318X)))<<8)) + (*((unsigned char *) (pointer_318X + 1)));
      if ((65535 == size_319X)) {
        arg0K0 = ((((*((long *) (cont_314X + 4))))>>2));
        goto L14861;}
      else {
        arg0K0 = size_319X;
        goto L14861;}}
    else {
      mask_pointer_320X = code_pointer_315X + -5;
      arg1K0 = (mask_pointer_320X + (0 - mask_size_316X));
      arg1K1 = contents_pointer_317X;
      goto L5782;}}}
 L14861: {
  v_321X = arg0K0;
  arg1K0 = contents_pointer_317X;
  goto L5715;}
 L5782: {
  mask_ptr_322X = arg1K0;
  trace_ptr_323X = arg1K1;
  if ((mask_ptr_322X == mask_pointer_320X)) {
    goto L18160;}
  else {
    arg0K0 = (*((unsigned char *) mask_ptr_322X));
    arg1K1 = trace_ptr_323X;
    goto L5790;}}
 L5715: {
  addr_324X = arg1K0;
  if ((addr_324X < (cont_314X + (4 + (((v_321X)<<2)))))) {
    x_325X = *((long *) addr_324X);
    if ((2 == (3 & x_325X))) {
      goto L5735;}
    else {
      if ((3 == (3 & x_325X))) {
        address_326X = -3 + x_325X;
        if ((address_326X < (Soldspace_beginS))) {
          goto L5720;}
        else {
          if (((Soldspace_endS) < address_326X)) {
            goto L5720;}
          else {
            goto L5735;}}}
      else {
        goto L5720;}}}
  else {
    goto L18160;}}
 L18160: {
  pointer_327X = (((char *) (*((long *) cont_314X)))) + -2;
  size_328X = ((((*((unsigned char *) pointer_327X)))<<8)) + (*((unsigned char *) (pointer_327X + 1)));
  if ((65535 == size_328X)) {
    arg0K0 = ((((*((long *) (cont_314X + 4))))>>2));
    goto L18165;}
  else {
    arg0K0 = size_328X;
    goto L18165;}}
 L5790: {
  mask_329X = arg0K0;
  ptr_330X = arg1K1;
  if ((0 == mask_329X)) {
    arg1K0 = (mask_ptr_322X + 1);
    arg1K1 = (trace_ptr_323X + 32);
    goto L5782;}
  else {
    if ((1 == (1 & mask_329X))) {
      x_331X = *((long *) ptr_330X);
      if ((2 == (3 & x_331X))) {
        goto L5847;}
      else {
        if ((3 == (3 & x_331X))) {
          address_332X = -3 + x_331X;
          if ((address_332X < (Soldspace_beginS))) {
            goto L5806;}
          else {
            if (((Soldspace_endS) < address_332X)) {
              goto L5806;}
            else {
              goto L5847;}}}
        else {
          goto L5806;}}}
    else {
      goto L5806;}}}
 L5735: {
  ps_error("bad descriptor in stack", 1, x_325X);
  goto L5720;}
 L5720: {
  arg1K0 = (addr_324X + 4);
  goto L5715;}
 L18165: {
  v_333X = arg0K0;
  arg1K0 = (cont_314X + (4 + (((v_333X)<<2))));
  goto L20358;}
 L5847: {
  ps_error("bad descriptor in stack", 1, x_331X);
  goto L5806;}
 L5806: {
  arg0K0 = (((mask_329X)>>1));
  arg1K1 = (ptr_330X + 4);
  goto L5790;}
}
long s48_really_add_channel(long mode_334X, long id_335X, long os_index_336X)
{
  long arg0K1;
  long arg0K0;
  long status_341X;
  long channel_340X;
  long channel_339X;
  char x_338X;
  char temp_337X;
 {s48_make_availableAgc(32);
  temp_337X = os_index_336X < (Snumber_of_channelsS);
  if (temp_337X) {
    goto L20447;}
  else {
    x_338X = add_more_channels(os_index_336X);
    if (x_338X) {
      goto L20447;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L20421;}}}
 L20447: {
  if ((1 == (*((Svm_channelsS) + os_index_336X)))) {
    channel_339X = make_channel((-4 & mode_334X), id_335X, (((os_index_336X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + os_index_336X) = channel_339X;
    arg0K0 = channel_339X;
    arg0K1 = 9;
    goto L20421;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L20421;}}
 L20421: {
  channel_340X = arg0K0;
  status_341X = arg0K1;
  if ((3 == (3 & channel_340X))) {
    if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_340X))) + -4))))>>2))))) {
      return channel_340X;}
    else {
      goto L20429;}}
  else {
    goto L20429;}}
 L20429: {
  return (((status_341X)<<2));}
}
long s48_enter_integer(long x_342X)
{
  char * v_343X;
 {s48_make_availableAgc(16);
  if ((536870911 < x_342X)) {
    goto L20941;}
  else {
    if ((x_342X < -536870912)) {
      goto L20941;}
    else {
      return (((x_342X)<<2));}}}
 L20941: {
  v_343X = (char *) s48_long_to_bignum(x_342X);
  return enter_bignum(v_343X);}
}
void s48_setup_external_exception(long why_344X, long nargs_345X)
{
  long n_347X;
  long code_346X;
 {  code_346X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_346X)))))<<2)), code_346X, (((why_344X)<<2)), 4);
  n_347X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_347X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((why_344X)<<2)));
  if ((10 < nargs_345X)) {
    ps_error("too many arguments from external exception", 0);
    goto L21858;}
  else {
    goto L21858;}}
 L21858: {
  Sexternal_exception_nargsS = nargs_345X;
  Sexternal_exceptionPS = 1;
  return;}
}
void s48_copy_stack_into_heap(void)
{
  char * arg1K1;
  char * arg1K0;
  char * arg_351X;
  char * loc_350X;
  char * top_349X;
  long arg_count_348X;
 {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  arg_count_348X = ((((ScontS) - (SstackS)))>>2);
  top_349X = SstackS;
  if ((1 == (((long) (ScontS))))) {
    goto L21958;}
  else {really_preserve_continuation(0);
    goto L21958;}}
 L21958: {
  SstackS = (ScontS);
  arg1K0 = ((SstackS) + -4);
  arg1K1 = (top_349X + (-4 + (((arg_count_348X)<<2))));
  goto L21987;}
 L21987: {
  loc_350X = arg1K0;
  arg_351X = arg1K1;
  if ((arg_351X < top_349X)) {
    SstackS = ((SstackS) + (0 - (((arg_count_348X)<<2))));
    return;}
  else {
    *((long *) loc_350X) = (long) ((*((long *) arg_351X)));
    arg1K0 = (loc_350X + -4);
    arg1K1 = (arg_351X + -4);
    goto L21987;}}
}
long s48_get_imported_binding(char *name_352X)
{
  long value_354X;
  long value_353X;
 {  value_353X = enter_stringAgc(name_352X);
  Stemp0S = value_353X;s48_make_availableAgc(20);
  value_354X = Stemp0S;
  Stemp0S = 1;
  return Hlookup2700((Sexported_bindingsS), value_354X, 0);}
}
void s48_define_exported_binding(char *name_355X, long value_356X)
{
  char * addr_361X;
  long x_360X;
  long value_359X;
  long value_358X;
  long name_357X;
 {  Stemp0S = value_356X;
  name_357X = enter_stringAgc(name_355X);
  Stemp1S = name_357X;s48_make_availableAgc(20);
  value_358X = Stemp1S;
  Stemp1S = 1;
  value_359X = Stemp0S;
  Stemp0S = 1;
  x_360X = Hlookup2681((Simported_bindingsS), value_358X, 0);
  addr_361X = (((char *) (-3 + x_360X))) + 8;S48_WRITE_BARRIER(x_360X, addr_361X, value_359X);
  *((long *) addr_361X) = (long) (value_359X);
  return;}
}
void s48_initialize_vm(char * stack_begin_362X, long stack_size_363X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K3;
  long merged_arg0K2;
  long merged_arg0K1;
  long merged_arg0K0;

  int make_hash_tableAgc_return_tag;
  long make_hash_tableAgc0_return_value;
  int make_return_code_return_tag;
  long make_return_code0_return_value;
  long protocol_364X;
  long opcode_365X;
  long size_366X;
  char * addr_410X;
  long i_409X;
  long table_408X;
  long v_407X;
  long vector_406X;
  char * addr_405X;
  long code_404X;
  char * addr_403X;
  char * addr_402X;
  long x_401X;
  long v_400X;
  long v_399X;
  long vector_398X;
  char * addr_397X;
  long v_396X;
  long v_395X;
  long v_394X;
  long code_393X;
  char * a_392X;
  char * addr_391X;
  long value_390X;
  long size_389X;
  char * start_388X;
  char * addr_387X;
  long val_386X;
  long index_385X;
  long h_384X;
  long i_383X;
  char * stack_382X;
  long n_381X;
  long string_380X;
  long foo_379X;
  long table_378X;
  long i_377X;
  long v_376X;
  long v_375X;
  long exported_bindings_374X;
  long imported_bindings_373X;
  long n_372X;
  long symbols_371X;
  long maybe_370X;
  long maybe_369X;
  long v_368X;
  long symbol_table_367X;
 {  symbol_table_367X = s48_initial_symbols();
  if ((symbol_table_367X == 1)) {
    make_hash_tableAgc_return_tag = 0;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_0:
    v_368X = make_hash_tableAgc0_return_value;
    Sthe_symbol_tableS = v_368X;
    maybe_369X = s48_find_all(1);
    if ((maybe_369X == 1)) {s48_collect();
      maybe_370X = s48_find_all(1);
      if ((maybe_370X == 1)) {
        ps_error("insufficient heap space to build symbol table", 0);
        arg0K0 = maybe_370X;
        goto L22038;}
      else {
        arg0K0 = maybe_370X;
        goto L22038;}}
    else {
      arg0K0 = maybe_369X;
      goto L22038;}}
  else {
    Sthe_symbol_tableS = symbol_table_367X;
    goto L22692;}}
 L22038: {
  symbols_371X = arg0K0;
  n_372X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_371X))) + -4))))>>8))))>>2);
  arg0K0 = 0;
  goto L22059;}
 L22692: {
  imported_bindings_373X = s48_initial_imported_bindings();
  exported_bindings_374X = s48_initial_exported_bindings();
  if ((1 == imported_bindings_373X)) {
    make_hash_tableAgc_return_tag = 1;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_1:
    v_375X = make_hash_tableAgc0_return_value;
    Simported_bindingsS = v_375X;
    make_hash_tableAgc_return_tag = 2;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_2:
    v_376X = make_hash_tableAgc0_return_value;
    Sexported_bindingsS = v_376X;
    goto L22698;}
  else {
    Simported_bindingsS = imported_bindings_373X;
    Sexported_bindingsS = exported_bindings_374X;
    goto L22698;}}
 L22059: {
  i_377X = arg0K0;
  if ((i_377X == n_372X)) {
    goto L22692;}
  else {
    table_378X = Sthe_symbol_tableS;
    foo_379X = *((long *) ((((char *) (-3 + symbols_371X))) + (((i_377X)<<2))));
    string_380X = *((long *) (((char *) (-3 + foo_379X))));
    n_381X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_380X))) + -4))))>>8));
    arg0K0 = 0;
    arg0K1 = 0;
    goto L21358;}}
 L22698: {
  if ((stack_size_363X < 8128)) {
    stack_382X = (char *)malloc(32512);
    if ((stack_382X == NULL)) {
      ps_error("out of memory, unable to continue", 0);
      arg1K0 = stack_382X;
      arg0K1 = 8128;
      goto L15466;}
    else {
      arg1K0 = stack_382X;
      arg0K1 = 8128;
      goto L15466;}}
  else {
    arg1K0 = stack_begin_362X;
    arg0K1 = stack_size_363X;
    goto L15466;}}
 L21358: {
  i_383X = arg0K0;
  h_384X = arg0K1;
  if ((i_383X < n_381X)) {
    arg0K0 = (1 + i_383X);
    arg0K1 = (h_384X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_380X))) + i_383X))))))));
    goto L21358;}
  else {
    index_385X = 1023 & h_384X;
    val_386X = *((long *) ((((char *) (-3 + table_378X))) + (((index_385X)<<2))));
    addr_387X = (((char *) (-3 + foo_379X))) + 4;S48_WRITE_BARRIER(foo_379X, addr_387X, val_386X);
    *((long *) addr_387X) = (long) (val_386X);
    if ((3 == (3 & foo_379X))) {
      arg0K0 = (-4 & foo_379X);
      goto L21344;}
    else {
      arg0K0 = foo_379X;
      goto L21344;}}}
 L15466: {
  start_388X = arg1K0;
  size_389X = arg0K1;
  Sstack_beginS = start_388X;
  Sstack_endS = (start_388X + (((size_389X)<<2)));
  Sreal_stack_limitS = ((Sstack_beginS) + 512);
  s48_Sstack_limitS = (Sreal_stack_limitS);
  SstackS = (Sstack_endS);
  ScontS = (((char *) 1));
  arg1K0 = start_388X;
  goto L15496;}
 L21344: {
  value_390X = arg0K0;
  addr_391X = (((char *) (-3 + table_378X))) + (((index_385X)<<2));S48_WRITE_BARRIER(table_378X, addr_391X, value_390X);
  *((long *) addr_391X) = (long) (value_390X);
  arg0K0 = (1 + i_377X);
  goto L22059;}
 L15496: {
  a_392X = arg1K0;
  if ((a_392X == (Sstack_endS))) {s48_make_availableAgc(20);
    merged_arg0K0 = 71;
    merged_arg0K1 = 0;
    merged_arg0K2 = 0;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 0;
    goto make_return_code;
   make_return_code_return_0:
    code_393X = make_return_code0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    ScontS = (SstackS);
    *((long *) (ScontS)) = (long) ((((long) ((((char *) (-3 + code_393X))) + 11))));
    Sbottom_of_stackS = (ScontS);
    Sheap_continuationS = 1;s48_make_availableAgc(60);
    merged_arg0K0 = 66;
    merged_arg0K1 = 150;
    merged_arg0K2 = 65535;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 1;
    goto make_return_code;
   make_return_code_return_1:
    v_394X = make_return_code0_return_value;
    Sinterrupt_return_codeS = v_394X;
    merged_arg0K0 = 1;
    merged_arg0K1 = 147;
    merged_arg0K2 = 65535;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 2;
    goto make_return_code;
   make_return_code_return_2:
    v_395X = make_return_code0_return_value;
    Sexception_return_codeS = v_395X;
    merged_arg0K0 = 70;
    merged_arg0K1 = 0;
    merged_arg0K2 = 1;
    merged_arg0K3 = 0;
    make_return_code_return_tag = 3;
    goto make_return_code;
   make_return_code_return_3:
    v_396X = make_return_code0_return_value;
    Scall_with_values_return_codeS = v_396X;s48_make_availableAgc(32);s48_bignum_make_cached_constants();
    addr_397X = s48_allocate_tracedAgc(8);
    if ((addr_397X == NULL)) {
      arg0K0 = 1;
      goto L22762;}
    else {
      *((long *) addr_397X) = (long) (1034);
      arg0K0 = (3 + (((long) (addr_397X + 4))));
      goto L22762;}}
  else {
    *((long *) a_392X) = (long) (252645135);
    arg1K0 = (a_392X + 4);
    goto L15496;}}
 L22762: {
  vector_398X = arg0K0;
  if ((1 == vector_398X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_399X;
    goto L22749;}
  else {
    arg0K0 = vector_398X;
    goto L22749;}}
 L22749: {
  v_400X = arg0K0;
  Sempty_logS = v_400X;
  x_401X = Sempty_logS;
  addr_402X = ((char *) (-3 + x_401X));S48_WRITE_BARRIER(x_401X, addr_402X, 1);
  *((long *) addr_402X) = (long) (1);
  return;}
 make_return_code: {
  protocol_364X = merged_arg0K0;
  opcode_365X = merged_arg0K1;
  size_366X = merged_arg0K2;{
  addr_403X = s48_allocate_small(18);
  *((long *) addr_403X) = (long) (3658);
  code_404X = 3 + (((long) (addr_403X + 4)));
  *((unsigned char *) (((char *) (-3 + code_404X)))) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 1)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 2)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 3)) = (unsigned char) (23);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 4)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 5)) = (unsigned char) (8);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 6)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 7)) = (unsigned char) (11);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 8)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 9)) = (unsigned char) ((255 & (((size_366X)>>8))));
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 10)) = (unsigned char) ((255 & size_366X));
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 11)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 12)) = (unsigned char) (protocol_364X);
  *((unsigned char *) ((((char *) (-3 + code_404X))) + 13)) = (unsigned char) (opcode_365X);
  make_return_code0_return_value = code_404X;
  goto make_return_code_return;}
 make_return_code_return:
  switch (make_return_code_return_tag) {
  case 0: goto make_return_code_return_0;
  case 1: goto make_return_code_return_1;
  case 2: goto make_return_code_return_2;
  default: goto make_return_code_return_3;
  }}

 make_hash_tableAgc: {
{ addr_405X = s48_allocate_tracedAgc(4100);
  if ((addr_405X == NULL)) {
    arg0K0 = 1;
    goto L9825;}
  else {
    *((long *) addr_405X) = (long) (1048586);
    arg0K0 = (3 + (((long) (addr_405X + 4))));
    goto L9825;}}
 L9825: {
  vector_406X = arg0K0;
  if ((1 == vector_406X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_407X;
    goto L9813;}
  else {
    arg0K0 = vector_406X;
    goto L9813;}}
 L9813: {
  table_408X = arg0K0;
  arg0K0 = 0;
  goto L9848;}
 L9848: {
  i_409X = arg0K0;
  if ((1024 == i_409X)) {
    make_hash_tableAgc0_return_value = table_408X;
    goto make_hash_tableAgc_return;}
  else {
    addr_410X = (((char *) (-3 + table_408X))) + (((i_409X)<<2));S48_WRITE_BARRIER(table_408X, addr_410X, 1);
    *((long *) addr_410X) = (long) (1);
    arg0K0 = (1 + i_409X);
    goto L9848;}}
 make_hash_tableAgc_return:
  switch (make_hash_tableAgc_return_tag) {
  case 0: goto make_hash_tableAgc_return_0;
  case 1: goto make_hash_tableAgc_return_1;
  default: goto make_hash_tableAgc_return_2;
  }}

}
void s48_post_gc_cleanup(void)
{

 {  (Spost_gc_cleanupS)();
  return;}
}
void s48_gc_root(void)
{

 {  (Sgc_root_procS)();
  return;}
}
long s48_restart(long proc_411X, long nargs_412X)
{
  char *arg3K0;
  char arg2K3;
  char arg2K1;
  char arg2K0;
  char arg2K2;
  char * arg1K1;
  char * arg1K0;
  long arg0K4;
  long arg0K3;
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char *merged_arg3K0;
  FILE * merged_arg4K2;
  char merged_arg2K1;
  char * merged_arg1K0;
  long merged_arg0K3;
  long merged_arg0K2;
  long merged_arg0K1;
  long merged_arg0K0;

  int move_args_above_contB_return_tag;
  int push_native_interrupt_continuation_return_tag;
  int get_error_string_return_tag;
  long get_error_string0_return_value;
  int copy_continuation_from_heapB_return_tag;
  char * copy_continuation_from_heapB0_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 make_closure_return_tag;
  long make_closure0_return_value;
  int pending_interruptP_return_tag;
  char pending_interruptP0_return_value;
  int proposal_d_read_return_tag;
  long proposal_d_read0_return_value;
  int proposal_d_write_return_tag;
  int shift_space_return_tag;
  long shift_space0_return_value;
  int okay_copy_argsP_return_tag;
  char okay_copy_argsP0_return_value;
  int pop_continuationB_return_tag;
  int copy_listSAgc_return_tag;
  long copy_listSAgc0_return_value;
  int pop_args_GlistSAgc_return_tag;
  long pop_args_GlistSAgc0_return_value;
  int ensure_stack_spaceB_return_tag;
  char ensure_stack_spaceB0_return_value;
  int push_list_return_tag;
  long push_list0_return_value;
  int rest_list_setupAgc_return_tag;
  int find_template_return_tag;
  long find_template0_return_value;
  int maybe_write_template_return_tag;
  char maybe_write_template0_return_value;
  int loseD0_return_tag;
  long nargs_413X;
  long status_414X;
  long cont_415X;
  long stack_arg_count_416X;
  long list_417X;
  long marker_418X;
  long a_419X;
  long b_420X;
  long stob_421X;
  long index_422X;
  long stob_423X;
  long index_424X;
  long value_425X;
  long x_426X;
  long n_427X;
  long thing_428X;
  long index_429X;
  long count_430X;
  long list_431X;
  long length_432X;
  long start_433X;
  long count_434X;
  long need_435X;
  long list_436X;
  long count_437X;
  long wants_stack_args_438X;
  long stack_arg_count_439X;
  long list_args_440X;
  long list_arg_count_441X;
  char * start_442X;
  long count_443X;
  long code_vector_444X;
  long template_445X;
  char not_firstP_446X;
  FILE * out_447X;
  char *message_448X;
  char * arg_2121X;
  char * loc_2120X;
  char * top_of_args_2119X;
  long code_2118X;
  long n_2117X;
  char * addr_2116X;
  long x_2115X;
  long x_2114X;
  long i_2113X;
  long string_2112X;
  char * addr_2111X;
  long len_2110X;
  long len_2109X;
  long x_2108X;
  char *string_2107X;
  char * new_stack_2106X;
  char * new_cont_2105X;
  long stack_size_2104X;
  char move_slowP_2103X;
  long slow_2102X;
  long len_2101X;
  long fast_2100X;
  long v_2099X;
  char *v_2098X;
  long v_2097X;
  long v_2096X;
  long obj_2095X;
  long env_2094X;
  long thread_2093X;
  long x_2092X;
  char * addr_2091X;
  long interrupt_bit_2090X;
  long status_2089X;
  long channel_2088X;
  long type_2087X;
  long v_2086X;
  long next_stob_2085X;
  long i_2084X;
  long log_2083X;
  char * addr_2082X;
  long next_stob_2081X;
  long i_2080X;
  long log_2079X;
  long v_2078X;
  long v_2077X;
  long n_2076X;
  long extra_2075X;
  long x_size_2074X;
  long v_2073X;
  long v_2072X;
  long size_2071X;
  char * pointer_2070X;
  char * cont_2069X;
  char * addr_2068X;
  long x_2067X;
  char * addr_2066X;
  long a_2065X;
  long last_2064X;
  long l_2063X;
  long x_2062X;
  char * addr_2061X;
  long a_2060X;
  long value_2059X;
  long x_2058X;
  char * addr_2057X;
  long a_2056X;
  long count_2055X;
  long args_2054X;
  long value_2053X;
  char interruptP_2052X;
  long x_2051X;
  long l_2050X;
  long i_2049X;
  long list_2048X;
  char v_2047X;
  long x_2046X;
  long v_2045X;
  long x_2044X;
  long v_2043X;
  long count_2042X;
  long x_2041X;
  long next_2040X;
  long i_2039X;
  long obj_2038X;
  long obj_2037X;
  long name_2036X;
  long v_2035X;
  long why_2034X;
  long size_2033X;
  char * pointer_2032X;
  char v_2031X;
  long v_2030X;
  long v_2029X;
  char v_2028X;
  long v_2027X;
  char not_firstP_2026X;
  long cont_2025X;
  long size_2024X;
  char * pointer_2023X;
  long v_2022X;
  char * pointer_2021X;
  char * code_pointer_2020X;
  long cont_2019X;
  char not_firstP_2018X;
  char * cont_2017X;
  char not_firstP_2016X;
  long template_2015X;
  FILE * out_2014X;
  long current_code_2013X;
  long val_2012X;
  long val_2011X;
  long val_2010X;
  long val_2009X;
  long val_2008X;
  long val_2007X;
  long n_2006X;
  char v_2005X;
  char * external_bignum_2004X;
  char * y_2003X;
  long val_2002X;
  long n_2001X;
  char v_2000X;
  char * external_bignum_1999X;
  char * y_1998X;
  long val_1997X;
  long n_1996X;
  char v_1995X;
  char * external_bignum_1994X;
  char * y_1993X;
  long v_1992X;
  long n_1991X;
  char v_1990X;
  long v_1989X;
  long rem_1988X;
  long quot_1987X;
  char div_by_zeroP_1986X;
  long val_1985X;
  long n_1984X;
  char v_1983X;
  char * external_bignum_1982X;
  char * y_1981X;
  long val_1980X;
  long n_1979X;
  char v_1978X;
  char * external_bignum_1977X;
  char * y_1976X;
  long val_1975X;
  long n_1974X;
  char v_1973X;
  char * external_bignum_1972X;
  char * y_1971X;
  long link_1970X;
  long v_1969X;
  long v_1968X;
  long stob_1967X;
  long v_1966X;
  long stob_1965X;
  char * addr_1964X;
  long x_1963X;
  char * addr_1962X;
  char * addr_1961X;
  long value_1960X;
  char * addr_1959X;
  long value_1958X;
  long copies_1957X;
  char * v_1956X;
  long value_1955X;
  char * x_1954X;
  char * v_1953X;
  long value_1952X;
  char * x_1951X;
  char * v_1950X;
  long value_1949X;
  char * x_1948X;
  long val_1947X;
  long v_1946X;
  long n_1945X;
  char v_1944X;
  char * rem_1943X;
  char * quot_1942X;
  char div_by_zeroP_1941X;
  char * y_1940X;
  char * v_1939X;
  long value_1938X;
  char * x_1937X;
  char * v_1936X;
  long value_1935X;
  char * x_1934X;
  char * v_1933X;
  long value_1932X;
  char * x_1931X;
  char * addr_1930X;
  long val_1929X;
  char * addr_1928X;
  long value_1927X;
  long len_1926X;
  long s2_1925X;
  long foo_1924X;
  long previous_foo_1923X;
  long verify_1922X;
  long value_1921X;
  long copies_1920X;
  long stob_1919X;
  long i_1918X;
  long val_1917X;
  char * addr_1916X;
  long value_1915X;
  char * v_1914X;
  long value_1913X;
  long v_1912X;
  char * v_1911X;
  long value_1910X;
  long v_1909X;
  char * v_1908X;
  long value_1907X;
  long v_1906X;
  long val_1905X;
  long val_1904X;
  long n_1903X;
  char v_1902X;
  char * external_bignum_1901X;
  char * y_1900X;
  long val_1899X;
  long n_1898X;
  char v_1897X;
  char * external_bignum_1896X;
  char * y_1895X;
  char * v_1894X;
  long value_1893X;
  char * x_1892X;
  char * v_1891X;
  long value_1890X;
  long v_1889X;
  long val_1888X;
  long v_1887X;
  char * v_1886X;
  char * v_1885X;
  long value_1884X;
  long extra1_1883X;
  long length1_1882X;
  char * v_1881X;
  long value_1880X;
  long v_1879X;
  long bucket_1878X;
  char * addr_1877X;
  long verify_1876X;
  long value_1875X;
  long log_1874X;
  long stob_1873X;
  long i_1872X;
  long x_1871X;
  long x_1870X;
  char * addr_1869X;
  char * addr_1868X;
  long status_1867X;
  char pendingP_1866X;
  char eofP_1865X;
  long got_1864X;
  long y_1863X;
  long status_1862X;
  long v_1861X;
  long link_1860X;
  long val_1859X;
  long x_1858X;
  char * addr_1857X;
  long b_1856X;
  long val_1855X;
  long extra1_1854X;
  long length1_1853X;
  long extra1_1852X;
  long length1_1851X;
  long extra1_1850X;
  long length1_1849X;
  long n_1848X;
  char * v_1847X;
  long val_1846X;
  long n_1845X;
  char v_1844X;
  char * external_bignum_1843X;
  char * v_1842X;
  long v_1841X;
  long n_1840X;
  char v_1839X;
  char * external_bignum_1838X;
  char * v_1837X;
  long value_1836X;
  char * x_1835X;
  char * v_1834X;
  long value_1833X;
  char * x_1832X;
  char * v_1831X;
  long value_1830X;
  long extra1_1829X;
  long val_1828X;
  long v_1827X;
  char * v_1826X;
  long extra1_1825X;
  long length1_1824X;
  long val_1823X;
  long v_1822X;
  char * v_1821X;
  long x_1820X;
  long val_1819X;
  long v_1818X;
  char * v_1817X;
  long extra0_1816X;
  long length0_1815X;
  long extra1_1814X;
  long length1_1813X;
  char * addr_1812X;
  long value_1811X;
  long offset_1810X;
  long i_1809X;
  long count_1808X;
  char * addr_1807X;
  long value_1806X;
  long offset_1805X;
  long i_1804X;
  long count_1803X;
  long n_1802X;
  char *v_1801X;
  long link_1800X;
  long index_1799X;
  long h_1798X;
  long i_1797X;
  char * addr_1796X;
  char * addr_1795X;
  long value_1794X;
  char * addr_1793X;
  char * addr_1792X;
  char * addr_1791X;
  long value_1790X;
  char * addr_1789X;
  char * addr_1788X;
  long value_1787X;
  long proposal_1786X;
  long entry_1785X;
  long thing_1784X;
  long log_1783X;
  long copies_1782X;
  char * addr_1781X;
  long x_1780X;
  long val_1779X;
  long n_1778X;
  long code_1777X;
  long v_1776X;
  long reason_1775X;
  long channel_1774X;
  long channel_1773X;
  long len_1772X;
  long s2_1771X;
  long foo_1770X;
  long val_1769X;
  long v_1768X;
  long n_1767X;
  char v_1766X;
  char * external_bignum_1765X;
  char * x_1764X;
  long extra0_1763X;
  long length0_1762X;
  long extra0_1761X;
  long length0_1760X;
  long extra0_1759X;
  long length0_1758X;
  char * v_1757X;
  long value_1756X;
  long v_1755X;
  char * v_1754X;
  long value_1753X;
  long v_1752X;
  char * v_1751X;
  long v_1750X;
  char * x_1749X;
  long v_1748X;
  char * v_1747X;
  long n_1746X;
  char * v_1745X;
  long value_1744X;
  long extra1_1743X;
  char * v_1742X;
  long value_1741X;
  long extra1_1740X;
  long val_1739X;
  long val_1738X;
  long val_1737X;
  long val_1736X;
  long val_1735X;
  long extra0_1734X;
  long length0_1733X;
  long val_1732X;
  long v_1731X;
  char * v_1730X;
  long x_1729X;
  long val_1728X;
  long v_1727X;
  char * v_1726X;
  long extra0_1725X;
  long length0_1724X;
  long y_1723X;
  long x_1722X;
  long extra0_1721X;
  long length0_1720X;
  long x_1719X;
  long n_1718X;
  long code_1717X;
  long bytes_used_1716X;
  long count_1715X;
  long index_1714X;
  long env_1713X;
  long offset_1712X;
  long i_1711X;
  long bytes_used_1710X;
  long count_1709X;
  long env_1708X;
  long offset_1707X;
  long i_1706X;
  long v_1705X;
  long n_1704X;
  long x_1703X;
  long x_1702X;
  long obj_1701X;
  long n_1700X;
  long code_1699X;
  long n_1698X;
  long code_1697X;
  long n_1696X;
  long code_1695X;
  long n_1694X;
  long code_1693X;
  long i_1692X;
  long l_1691X;
  long n_1690X;
  long table_1689X;
  long val_1688X;
  long n_1687X;
  long code_1686X;
  char x_1685X;
  char minutesP_1684X;
  long v_1683X;
  long vector_1682X;
  char * addr_1681X;
  long x_1680X;
  long verify_1679X;
  long value_1678X;
  long copies_1677X;
  long stob_1676X;
  long i_1675X;
  char * addr_1674X;
  long v_1673X;
  char * addr_1672X;
  char * addr_1671X;
  long val_1670X;
  long x_1669X;
  char * addr_1668X;
  char * addr_1667X;
  long status_1666X;
  char pendingP_1665X;
  long got_1664X;
  long y_1663X;
  char v_1662X;
  long count_1661X;
  long start_1660X;
  char waitP_1659X;
  long x_1658X;
  long n_1657X;
  long code_1656X;
  long status_1655X;
  long channel_1654X;
  long v_1653X;
  long v_1652X;
  char x_1651X;
  char temp_1650X;
  long index_1649X;
  long bucket_1648X;
  long i_1647X;
  long i_1646X;
  char * addr_1645X;
  long i_1644X;
  long rest_list_1643X;
  long i_1642X;
  long v_1641X;
  long n_1640X;
  char v_1639X;
  char * external_bignum_1638X;
  char * x_1637X;
  long val_1636X;
  long v_1635X;
  char * v_1634X;
  char * v_1633X;
  long value_1632X;
  long needed_1631X;
  long y_1630X;
  long y_1629X;
  long x_1628X;
  long val_1627X;
  long v_1626X;
  char * v_1625X;
  long val_1624X;
  long v_1623X;
  char * v_1622X;
  long extra_1621X;
  long length_1620X;
  long count_1619X;
  long x_1618X;
  long extra_1617X;
  long length_1616X;
  char * v_1615X;
  long value_1614X;
  long extra_1613X;
  long length_1612X;
  long x_1611X;
  long c_1610X;
  long b_1609X;
  long extra0_1608X;
  long length0_1607X;
  long c_1606X;
  long b_1605X;
  long extra0_1604X;
  long length0_1603X;
  long n_1602X;
  long code_1601X;
  long val_1600X;
  long v_1599X;
  long v_1598X;
  long v_1597X;
  long n_1596X;
  long code_1595X;
  long val_1594X;
  long v_1593X;
  long v_1592X;
  long v_1591X;
  long n_1590X;
  long code_1589X;
  long val_1588X;
  long v_1587X;
  long v_1586X;
  long v_1585X;
  long n_1584X;
  long code_1583X;
  long val_1582X;
  long v_1581X;
  long v_1580X;
  long v_1579X;
  long n_1578X;
  long code_1577X;
  long val_1576X;
  char b_1575X;
  long result_1574X;
  char x_1573X;
  long c_1572X;
  long b_1571X;
  long n_1570X;
  long code_1569X;
  long c_1568X;
  long mid_c_1567X;
  long v_1566X;
  long v_1565X;
  long lo_c_1564X;
  long hi_b_1563X;
  long hi_a_1562X;
  long lo_b_1561X;
  long lo_a_1560X;
  long b_1559X;
  long n_1558X;
  long code_1557X;
  long n_1556X;
  long code_1555X;
  long x_1554X;
  long v_1553X;
  long cont_1552X;
  char * addr_1551X;
  long value_1550X;
  long offset_1549X;
  long i_1548X;
  long count_1547X;
  char * addr_1546X;
  long value_1545X;
  long offset_1544X;
  long i_1543X;
  long count_1542X;
  long sig_1541X;
  char x_1540X;
  long channel_1539X;
  long arg_count_1538X;
  char * arg_1537X;
  char * loc_1536X;
  long x_1535X;
  long l_1534X;
  long stack_nargs_1533X;
  long x_1532X;
  long v_1531X;
  long v_1530X;
  long v_1529X;
  long v_1528X;
  long obj_1527X;
  long type_1526X;
  long thing_1525X;
  long stuff_1524X;
  char * addr_1523X;
  long val_1522X;
  long n_1521X;
  long code_1520X;
  long i_1519X;
  long n_1518X;
  long code_1517X;
  long b_1516X;
  long port_1515X;
  long Kchar_1514X;
  long n_1513X;
  long code_1512X;
  long i_1511X;
  long p_1510X;
  long p_1509X;
  long n_1508X;
  long code_1507X;
  long b_1506X;
  long port_1505X;
  char * addr_1504X;
  long val_1503X;
  long n_1502X;
  long code_1501X;
  long i_1500X;
  long p_1499X;
  long p_1498X;
  long n_1497X;
  long code_1496X;
  long b_1495X;
  long port_1494X;
  long n_1493X;
  long code_1492X;
  char * addr_1491X;
  long n_1490X;
  long code_1489X;
  long n_1488X;
  long code_1487X;
  long value_1486X;
  long n_1485X;
  long code_1484X;
  long list_1483X;
  long head_1482X;
  char move_slowP_1481X;
  long slow_1480X;
  long list_1479X;
  long n_1478X;
  long code_1477X;
  long string_1476X;
  char * addr_1475X;
  long len_1474X;
  long x_1473X;
  long n_1472X;
  long code_1471X;
  long val_1470X;
  long n_1469X;
  long code_1468X;
  long mseconds_1467X;
  long seconds_1466X;
  long option_1465X;
  long x_1464X;
  long n_1463X;
  long code_1462X;
  long x_1461X;
  long n_1460X;
  long code_1459X;
  long v_1458X;
  long v_1457X;
  long x_1456X;
  long result_1455X;
  char * args_1454X;
  long proc_1453X;
  long name_1452X;
  long rest_list_1451X;
  long x_1450X;
  long n_1449X;
  long code_1448X;
  long x_1447X;
  long v_1446X;
  long code_1445X;
  long pc_1444X;
  char * addr_1443X;
  long x_1442X;
  long proposal_1441X;
  long x_1440X;
  long n_1439X;
  long code_1438X;
  long x_1437X;
  long n_1436X;
  long code_1435X;
  long n_1434X;
  long code_1433X;
  long value_1432X;
  long vector_1431X;
  long type_1430X;
  char firstP_1429X;
  long n_1428X;
  long code_1427X;
  long vector_1426X;
  char firstP_1425X;
  long n_1424X;
  long code_1423X;
  long x_1422X;
  long n_1421X;
  long code_1420X;
  long h_1419X;
  long i_1418X;
  long x_1417X;
  long n_1416X;
  long code_1415X;
  long x_1414X;
  long n_1413X;
  long code_1412X;
  long status_1411X;
  long reason_1410X;
  long x_1409X;
  long n_1408X;
  long code_1407X;
  long n_1406X;
  long code_1405X;
  char * addr_1404X;
  long next_stob_1403X;
  long i_1402X;
  long n_1401X;
  long code_1400X;
  long x_1399X;
  long n_1398X;
  long code_1397X;
  long v_1396X;
  long next_stob_1395X;
  long i_1394X;
  long value_1393X;
  long n_1392X;
  long code_1391X;
  char * addr_1390X;
  long count_1389X;
  long to_index_1388X;
  long from_index_1387X;
  long copies_1386X;
  long left_1385X;
  long n_1384X;
  long code_1383X;
  long n_1382X;
  long code_1381X;
  long value_1380X;
  long verify_1379X;
  long value_1378X;
  long log_1377X;
  long stob_1376X;
  long i_1375X;
  long n_1374X;
  long code_1373X;
  char * addr_1372X;
  long old_1371X;
  long x_1370X;
  char * addr_1369X;
  long channel_1368X;
  long res_1367X;
  long i_1366X;
  long x_1365X;
  long n_1364X;
  long code_1363X;
  long y_1362X;
  long n_1361X;
  char * addr_1360X;
  long prev_1359X;
  long ch_1358X;
  long x_1357X;
  long val_1356X;
  long x_1355X;
  long n_1354X;
  long code_1353X;
  long val_1352X;
  long x_1351X;
  long n_1350X;
  long code_1349X;
  long n_1348X;
  long code_1347X;
  long x_1346X;
  long n_1345X;
  long code_1344X;
  long x_1343X;
  long n_1342X;
  long code_1341X;
  long n_1340X;
  long code_1339X;
  long reason_1338X;
  long v_1337X;
  long v_1336X;
  long val_1335X;
  long x_1334X;
  long n_1333X;
  long code_1332X;
  char * addr_1331X;
  char * addr_1330X;
  long x_1329X;
  long n_1328X;
  long code_1327X;
  long val_1326X;
  long x_1325X;
  long n_1324X;
  long code_1323X;
  long link_1322X;
  long index_1321X;
  long h_1320X;
  long i_1319X;
  long x_1318X;
  long n_1317X;
  long code_1316X;
  long n_1315X;
  long code_1314X;
  long n_1313X;
  long code_1312X;
  long x_1311X;
  long n_1310X;
  long code_1309X;
  long n_1308X;
  long code_1307X;
  long x_1306X;
  long n_1305X;
  long code_1304X;
  long x_1303X;
  long n_1302X;
  long code_1301X;
  long n_1300X;
  long code_1299X;
  long vector_1298X;
  long n_1297X;
  long code_1296X;
  long x_1295X;
  long n_1294X;
  long code_1293X;
  long n_1292X;
  long code_1291X;
  long n_1290X;
  long code_1289X;
  long x_1288X;
  long n_1287X;
  long code_1286X;
  long n_1285X;
  long code_1284X;
  long x_1283X;
  long n_1282X;
  long code_1281X;
  long n_1280X;
  long code_1279X;
  long vector_1278X;
  long n_1277X;
  long code_1276X;
  long n_1275X;
  long code_1274X;
  char * addr_1273X;
  long n_1272X;
  long code_1271X;
  long n_1270X;
  long code_1269X;
  long value_1268X;
  long n_1267X;
  long code_1266X;
  long n_1265X;
  long code_1264X;
  long value_1263X;
  long x_1262X;
  long n_1261X;
  long code_1260X;
  long n_1259X;
  long code_1258X;
  char * addr_1257X;
  long n_1256X;
  long code_1255X;
  long value_1254X;
  long i_1253X;
  long value_1252X;
  long i_1251X;
  long n_1250X;
  long code_1249X;
  long value_1248X;
  long val_1247X;
  long n_1246X;
  long code_1245X;
  long x_1244X;
  long n_1243X;
  long code_1242X;
  long val_1241X;
  long x_1240X;
  long n_1239X;
  long code_1238X;
  long val_1237X;
  long val_1236X;
  char * v_1235X;
  long value_1234X;
  long needed_1233X;
  long y_1232X;
  long x_1231X;
  long result_1230X;
  long x_1229X;
  long x_1228X;
  long x_1227X;
  long count_1226X;
  long value_1225X;
  long n_1224X;
  long code_1223X;
  long val_1222X;
  long val_1221X;
  long n_1220X;
  long code_1219X;
  long n_1218X;
  long code_1217X;
  long n_1216X;
  long code_1215X;
  long n_1214X;
  long code_1213X;
  long x_1212X;
  long n_1211X;
  long code_1210X;
  long x_1209X;
  long n_1208X;
  long code_1207X;
  long x_1206X;
  long n_1205X;
  long code_1204X;
  long n_1203X;
  long code_1202X;
  long n_1201X;
  long code_1200X;
  long n_1199X;
  long code_1198X;
  long n_1197X;
  long code_1196X;
  long n_1195X;
  long a_1194X;
  long y_1193X;
  long x_1192X;
  long a_1191X;
  long y_1190X;
  long x_1189X;
  long val_1188X;
  long val_1187X;
  char b_1186X;
  long val_1185X;
  char b_1184X;
  long val_1183X;
  char b_1182X;
  long val_1181X;
  long Kdouble_1180X;
  char * addr_1179X;
  double value_1178X;
  long value_1177X;
  double x_1176X;
  long value_1175X;
  long a_1174X;
  long n_1173X;
  long code_1172X;
  long y_1171X;
  long x_1170X;
  long Kdouble_1169X;
  char * addr_1168X;
  double y_1167X;
  long value_1166X;
  double x_1165X;
  long value_1164X;
  long val_1163X;
  long v_1162X;
  char * v_1161X;
  long Kdouble_1160X;
  char * addr_1159X;
  double y_1158X;
  long value_1157X;
  double x_1156X;
  long value_1155X;
  long a_1154X;
  long Kdouble_1153X;
  char * addr_1152X;
  double y_1151X;
  long value_1150X;
  double x_1149X;
  long value_1148X;
  long val_1147X;
  long v_1146X;
  char * v_1145X;
  long n_1144X;
  long code_1143X;
  long x_1142X;
  long n_1141X;
  long code_1140X;
  long n_1139X;
  long val_1138X;
  long val_1137X;
  long delta_1136X;
  long delta_1135X;
  long offset_1134X;
  long index_1133X;
  long v_1132X;
  long x_1131X;
  long x_1130X;
  long x_1129X;
  long x_1128X;
  char * addr_1127X;
  long a_1126X;
  long wants_stack_args_1125X;
  long size_1124X;
  char * pointer_1123X;
  char * cont_1122X;
  long proc_1121X;
  long offset_1120X;
  long cont_1119X;
  long protocol_1118X;
  char * code_pointer_1117X;
  long obj_1116X;
  char * addr_1115X;
  long list_args_1114X;
  long follower_1113X;
  long list_1112X;
  long x_1111X;
  long n_1110X;
  long code_1109X;
  long args_1108X;
  long list_arg_count_1107X;
  char okayP_1106X;
  long stack_nargs_1105X;
  long list_args_1104X;
  long obj_1103X;
  long v_1102X;
  long protocol_1101X;
  long code_1100X;
  long template_1099X;
  long obj_1098X;
  long stack_arg_count_1097X;
  long value_1096X;
  char * addr_1095X;
  long value_1094X;
  long offset_1093X;
  long i_1092X;
  long count_1091X;
  long total_count_1090X;
  long offset_1089X;
  long i_1088X;
  long new_env_1087X;
  char * addr_1086X;
  long value_1085X;
  long offset_1084X;
  long i_1083X;
  long count_1082X;
  long total_count_1081X;
  long offset_1080X;
  long i_1079X;
  long new_env_1078X;
  long n_1077X;
  char v_1076X;
  char * addr_1075X;
  long next_1074X;
  long channel_1073X;
  long n_1072X;
  long x_1071X;
  long n_1070X;
  long x_1069X;
  long handlers_1068X;
  long m_1067X;
  long i_1066X;
  char * arg_top_1065X;
  long list_arg_count_1064X;
  long list_args_1063X;
  long stack_nargs_1062X;
  long bytes_used_1061X;
  long count_1060X;
  long v_1059X;
  char * arg_1058X;
  char * loc_1057X;
  long obj_1056X;
  long obj_1055X;
  long list_arg_count_1054X;
  long list_args_1053X;
  long stack_arg_count_1052X;
  long v_1051X;
  long v_1050X;
  long size_1049X;
  char * pointer_1048X;
  char * cont_1047X;
  long protocol_skip_1046X;
  long v_1045X;
  long bytes_used_1044X;
  long n_1043X;
  long code_1042X;
  long args_1041X;
  long list_args_1040X;
  long stack_nargs_1039X;
  long v_1038X;
  long v_1037X;
  long code_1036X;
  long n_1035X;
  char * addr_1034X;
  long x_1033X;
  long x_1032X;
  long pc_1031X;
  long code_1030X;
  long x_1029X;
  FILE * out_1028X;
  long x_1027X;
  long x_1026X;
  long n_1025X;
  long code_1024X;
  long val_1023X;
  long v_1022X;
  long v_1021X;
  long v_1020X;
  long v_1019X;
  long v_1018X;
  long v_1017X;
  long v_1016X;
  long x_1015X;
  long n_1014X;
  long code_1013X;
  long v_1012X;
  long len_1011X;
  long value_1010X;
  long index_1009X;
  long arg4_1008X;
  long arg3_1007X;
  long arg2_1006X;
  long x_1005X;
  long n_1004X;
  long code_1003X;
  long v_1002X;
  long v_1001X;
  long len_1000X;
  long index_999X;
  long arg3_998X;
  long arg2_997X;
  long n_996X;
  long code_995X;
  long list_994X;
  long arg2_993X;
  long x_992X;
  long n_991X;
  long code_990X;
  long n_989X;
  long arg2_988X;
  long len_987X;
  long x_986X;
  long obj_985X;
  long arg2_984X;
  long x_983X;
  long arg2_982X;
  long x_981X;
  long n_980X;
  long code_979X;
  long n_978X;
  long code_977X;
  long n_976X;
  long code_975X;
  long status_974X;
  long value_973X;
  long key_972X;
  long arg2_971X;
  long x_970X;
  long n_969X;
  long code_968X;
  long n_967X;
  long code_966X;
  long mseconds_965X;
  long seconds_964X;
  long mseconds_963X;
  long seconds_962X;
  long x_961X;
  long other_960X;
  long option_959X;
  long arg2_958X;
  long x_957X;
  long arg2_956X;
  long x_955X;
  long arg2_954X;
  long x_953X;
  long n_952X;
  long code_951X;
  long rest_list_950X;
  long p_949X;
  long nargs_948X;
  long p_947X;
  long x_946X;
  long arg2_945X;
  long x_944X;
  long n_943X;
  long code_942X;
  long p_941X;
  long p_940X;
  long x_939X;
  long p_938X;
  long old_937X;
  long temp_936X;
  long obj_935X;
  long n_934X;
  long code_933X;
  long opcode_932X;
  long pc_931X;
  long size_930X;
  long exception_929X;
  long code_928X;
  long data_927X;
  long temp_926X;
  long obj_925X;
  long val_924X;
  long type_923X;
  long x_922X;
  long n_921X;
  long code_920X;
  long type_919X;
  long x_918X;
  long n_917X;
  long code_916X;
  long n_915X;
  long code_914X;
  long n_913X;
  long code_912X;
  long x_911X;
  long bytes_910X;
  long x_909X;
  long other_908X;
  long key_907X;
  long arg2_906X;
  long x_905X;
  char * addr_904X;
  long b_903X;
  long x_902X;
  char * addr_901X;
  long proc_900X;
  long arg2_899X;
  long n_898X;
  long x_897X;
  long obj_896X;
  long status_895X;
  long status_894X;
  long status_893X;
  long status_892X;
  long status_891X;
  long status_890X;
  FILE * port_889X;
  long undumpables_888X;
  long obj_887X;
  long arg4_886X;
  long arg3_885X;
  long arg2_884X;
  long n_883X;
  long code_882X;
  long arg_881X;
  long log_880X;
  long index_879X;
  long x_878X;
  long len_877X;
  long byte_876X;
  long index_875X;
  long arg3_874X;
  long arg2_873X;
  long log_872X;
  long index_871X;
  long x_870X;
  long len_869X;
  long index_868X;
  long arg2_867X;
  long x_866X;
  long n_865X;
  long code_864X;
  char v_863X;
  char v_862X;
  long v_861X;
  long count_860X;
  long to_index_859X;
  long from_index_858X;
  long arg5_857X;
  long arg4_856X;
  long arg3_855X;
  long arg2_854X;
  long v_853X;
  long x_852X;
  long offset_851X;
  long type_850X;
  long stob_849X;
  long log_848X;
  long n_847X;
  long code_846X;
  long proposal_845X;
  long proposal_844X;
  char * addr_843X;
  long next_842X;
  long channel_841X;
  long n_840X;
  char * addr_839X;
  long head_838X;
  long channel_837X;
  long obj_836X;
  long x_835X;
  long n_834X;
  long code_833X;
  long status_832X;
  char readyP_831X;
  long n_830X;
  long code_829X;
  long channel_828X;
  long obj_827X;
  char v_826X;
  long count_825X;
  long start_824X;
  long arg4_823X;
  long arg3_822X;
  long arg2_821X;
  long x_820X;
  long arg5_819X;
  long arg4_818X;
  long arg3_817X;
  long arg2_816X;
  long x_815X;
  long n_814X;
  long code_813X;
  long status_812X;
  long n_811X;
  long code_810X;
  long channel_809X;
  long obj_808X;
  long x_807X;
  long n_806X;
  long code_805X;
  long close_silentlyP_804X;
  long mode_803X;
  long arg3_802X;
  long arg2_801X;
  long x_800X;
  long x_799X;
  long x_798X;
  long arg2_797X;
  long descriptor_796X;
  long x_795X;
  long obj_794X;
  long n_793X;
  long string_792X;
  long table_791X;
  long obj_790X;
  long len_789X;
  char Kchar_788X;
  long index_787X;
  long arg3_786X;
  long arg2_785X;
  long len_784X;
  long index_783X;
  long arg2_782X;
  long obj_781X;
  char * addr_780X;
  long len_779X;
  char init_778X;
  long len_777X;
  long arg2_776X;
  long len_775X;
  long Kchar_774X;
  long index_773X;
  long arg3_772X;
  long arg2_771X;
  long len_770X;
  long index_769X;
  long arg2_768X;
  long obj_767X;
  long x_766X;
  long n_765X;
  long code_764X;
  char * addr_763X;
  long init_762X;
  long len_761X;
  long arg2_760X;
  long v_759X;
  long index_758X;
  long len_757X;
  long type_756X;
  long value_755X;
  long arg3_754X;
  long arg2_753X;
  long v_752X;
  long v_751X;
  long index_750X;
  long len_749X;
  long type_748X;
  long index_747X;
  long arg2_746X;
  long n_745X;
  long code_744X;
  char * addr_743X;
  long len_742X;
  long len_741X;
  long type_740X;
  long init_739X;
  long arg2_738X;
  long v_737X;
  long offset_736X;
  long type_735X;
  long value_734X;
  long arg2_733X;
  long offset_732X;
  long type_731X;
  long stob_730X;
  long rest_list_729X;
  long stack_nargs_728X;
  long p_727X;
  long new_726X;
  char * addr_725X;
  long len_724X;
  long type_723X;
  long len_722X;
  long p_721X;
  long new_720X;
  char * addr_719X;
  long len_718X;
  long type_717X;
  long len_716X;
  long type_715X;
  long stob_714X;
  long type_713X;
  long x_712X;
  long x_711X;
  long x_710X;
  long n_709X;
  long code_708X;
  long x_707X;
  long x_706X;
  long n_705X;
  long code_704X;
  long x_703X;
  long arg2_702X;
  long x_701X;
  long arg2_700X;
  long x_699X;
  long v_698X;
  long n_697X;
  long code_696X;
  long v_695X;
  long y_694X;
  long arg2_693X;
  long y_692X;
  long arg2_691X;
  long y_690X;
  long arg2_689X;
  long y_688X;
  long arg2_687X;
  long x_686X;
  long x_685X;
  long x_684X;
  long arg2_683X;
  long arg2_682X;
  long arg2_681X;
  long x_680X;
  long v_679X;
  long x_678X;
  long n_677X;
  long n_676X;
  long n_675X;
  long n_674X;
  long n_673X;
  long a_672X;
  long y_671X;
  long arg2_670X;
  long b_669X;
  long a_668X;
  long y_667X;
  long arg2_666X;
  long y_665X;
  long arg2_664X;
  long y_663X;
  long arg2_662X;
  long y_661X;
  long arg2_660X;
  long y_659X;
  long arg2_658X;
  long y_657X;
  long arg2_656X;
  long b_655X;
  long a_654X;
  long y_653X;
  long arg2_652X;
  long x_651X;
  long y_650X;
  long arg2_649X;
  long b_648X;
  long a_647X;
  long y_646X;
  long arg2_645X;
  long x_644X;
  long y_643X;
  long arg2_642X;
  long n_641X;
  long n_640X;
  long x_639X;
  long x_638X;
  long arg2_637X;
  long rest_list_636X;
  long x_635X;
  long rest_list_634X;
  long stack_nargs_633X;
  long arg1_632X;
  long arg0_631X;
  long arg0_630X;
  long rest_list_629X;
  long stack_nargs_628X;
  long x_627X;
  long n_626X;
  long code_625X;
  long index_624X;
  long val_623X;
  long max_622X;
  long p_621X;
  char * code_pointer_620X;
  long return_pointer_offset_619X;
  long nargs_618X;
  long code_617X;
  long template_616X;
  long rest_list_615X;
  long stack_nargs_614X;
  long p_613X;
  long p_612X;
  long cont_611X;
  long v_610X;
  long rest_list_609X;
  long stack_nargs_608X;
  long p_607X;
  long p_606X;
  long x_605X;
  long n_604X;
  long code_603X;
  long args_602X;
  char * code_pointer_601X;
  long return_pointer_offset_600X;
  long length_599X;
  char okayP_598X;
  long stack_nargs_597X;
  long list_args_596X;
  char * code_pointer_595X;
  long return_pointer_offset_594X;
  long stack_arg_count_593X;
  char * code_pointer_592X;
  long stack_arg_count_591X;
  long v_590X;
  long x_589X;
  long x_588X;
  long x_587X;
  long x_586X;
  long value_585X;
  long x_584X;
  long template_583X;
  long new_env_582X;
  char * addr_581X;
  long len_580X;
  long closures_579X;
  long total_count_578X;
  long template_577X;
  long new_env_576X;
  char * addr_575X;
  long len_574X;
  long closures_573X;
  long total_count_572X;
  char * addr_571X;
  long val_570X;
  long x_569X;
  long n_568X;
  long code_567X;
  long location_566X;
  long index_565X;
  long template_564X;
  long n_563X;
  long code_562X;
  long location_561X;
  long index_560X;
  long template_559X;
  long x_558X;
  long x_557X;
  long n_556X;
  long n_555X;
  long code_554X;
  char * code_pointer_553X;
  long v_552X;
  long v_551X;
  long v_550X;
  long n_549X;
  char * arg_top_548X;
  long count_547X;
  long size_546X;
  char * pointer_545X;
  char * cont_544X;
  long offset_543X;
  long cont_542X;
  long v_541X;
  long v_540X;
  long protocol_539X;
  char * code_pointer_538X;
  long list_arg_count_537X;
  long list_args_536X;
  long stack_nargs_535X;
  long template_534X;
  long v_533X;
  long v_532X;
  char v_531X;
  char v_530X;
  char v_529X;
  long v_528X;
  long nargs_527X;
  long size_526X;
  char * pointer_525X;
  char * cont_524X;
  char v_523X;
  long obj_522X;
  long stack_arg_count_521X;
  long tag_520X;
  long final_stack_arg_count_519X;
  char interruptP_518X;
  long obj_517X;
  long x_516X;
  long x_515X;
  long envUtemplate_514X;
  long needed_stack_space_513X;
  long template_512X;
  long used_511X;
  long code_510X;
  long tag_509X;
  long skip_508X;
  long x_507X;
  long x_506X;
  long envUtemplate_505X;
  long template_504X;
  long used_503X;
  long envUtemp_offset_502X;
  long code_501X;
  long retval_500X;
  long handlers_499X;
  long opcode_498X;
  long nargs_497X;
  long v_496X;
  long v_495X;
  long template_494X;
  long v_493X;
  long template_492X;
  long v_491X;
  long v_490X;
  long v_489X;
  long index_488X;
  long length_487X;
  long v_486X;
  long v_485X;
  long template_484X;
  long v_483X;
  long template_482X;
  long v_481X;
  long v_480X;
  long v_479X;
  long template_478X;
  long v_477X;
  long v_476X;
  long v_475X;
  long wants_stack_args_474X;
  long v_473X;
  long v_472X;
  long v_471X;
  long v_470X;
  long skip_469X;
  char nativeP_468X;
  long stack_space_467X;
  long protocol_466X;
  long v_465X;
  long x_464X;
  long n_463X;
  long code_462X;
  long args_461X;
  long v_460X;
  long list_arg_count_459X;
  long list_args_458X;
  long stack_arg_count_457X;
  long exception_456X;
  long total_arg_count_455X;
  long code_454X;
  long handler_tag_453X;
  long list_arg_count_452X;
  long list_args_451X;
  long stack_arg_count_450X;
  long obj_449X;
 {  if ((3 == (3 & proc_411X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_411X))) + -4))))>>2))))) {
      SvalS = proc_411X;
      obj_449X = SvalS;
      if ((3 == (3 & obj_449X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_449X))) + -4))))>>2))))) {
          arg0K0 = nargs_412X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L32311;}
        else {
          arg0K0 = 3;
          arg0K1 = nargs_412X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L23303;}}
      else {
        arg0K0 = 3;
        arg0K1 = nargs_412X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L23303;}}
    else {
      goto L23479;}}
  else {
    goto L23479;}}
 L32311: {
  stack_arg_count_450X = arg0K0;
  list_args_451X = arg0K1;
  list_arg_count_452X = arg0K2;
  handler_tag_453X = arg0K3;
  code_454X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
  total_arg_count_455X = stack_arg_count_450X + list_arg_count_452X;
  arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_454X))) + 1)));
  arg0K1 = 64;
  arg2K2 = 0;
  goto L32337;}
 L23303: {
  exception_456X = arg0K0;
  stack_arg_count_457X = arg0K1;
  list_args_458X = arg0K2;
  list_arg_count_459X = arg0K3;
  merged_arg0K0 = list_args_458X;
  merged_arg0K1 = list_arg_count_459X;
  copy_listSAgc_return_tag = 0;
  goto copy_listSAgc;
 copy_listSAgc_return_0:
  v_460X = copy_listSAgc0_return_value;
  merged_arg0K0 = v_460X;
  merged_arg0K1 = stack_arg_count_457X;
  pop_args_GlistSAgc_return_tag = 0;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_0:
  args_461X = pop_args_GlistSAgc0_return_value;
  code_462X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_462X)))))<<2)), code_462X, (((exception_456X)<<2)), 0);
  n_463X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_463X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((exception_456X)<<2)));
  x_464X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_464X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_461X);
  arg0K0 = 2;
  goto L23869;}
 L23479: {
  ps_error("s48-restart called with non-procedure", 1, proc_411X);
  return v_465X;}
 L32337: {
  protocol_466X = arg0K0;
  stack_space_467X = arg0K1;
  nativeP_468X = arg2K2;
  if ((69 == protocol_466X)) {
    if ((total_arg_count_455X < 3)) {
      skip_469X = *((unsigned char *) ((((char *) (-3 + code_454X))) + (3 + total_arg_count_455X)));
      if ((0 == skip_469X)) {
        if ((-1 == handler_tag_453X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_450X;
          arg0K2 = list_args_451X;
          arg0K3 = list_arg_count_452X;
          goto L23303;}
        else {
          if ((handler_tag_453X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
            arg0K0 = v_470X;
            goto L53713;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
            arg0K0 = v_471X;
            goto L53713;}}}
      else {
        merged_arg0K0 = list_args_451X;
        merged_arg0K1 = list_arg_count_452X;
        push_list_return_tag = 0;
        goto push_list;
       push_list_return_0:
        arg0K0 = code_454X;
        arg0K1 = 6;
        arg0K2 = skip_469X;
        arg0K3 = (*((long *) (((char *) (-3 + (SvalS))))));
        goto L22889;}}
    else {
      if ((0 == (*((unsigned char *) ((((char *) (-3 + code_454X))) + 2))))) {
        if ((-1 == handler_tag_453X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_450X;
          arg0K2 = list_args_451X;
          arg0K3 = list_arg_count_452X;
          goto L23303;}
        else {
          if ((handler_tag_453X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
            arg0K0 = v_472X;
            goto L53713;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
            arg0K0 = v_473X;
            goto L53713;}}}
      else {
        arg0K0 = 6;
        goto L32380;}}}
  else {
    if ((63 < protocol_466X)) {
      if ((65 == protocol_466X)) {
        wants_stack_args_474X = ((((*((unsigned char *) ((((char *) (-3 + code_454X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_454X))) + 3)));
        if ((total_arg_count_455X < wants_stack_args_474X)) {
          if ((-1 == handler_tag_453X)) {
            arg0K0 = 4;
            arg0K1 = stack_arg_count_450X;
            arg0K2 = list_args_451X;
            arg0K3 = list_arg_count_452X;
            goto L23303;}
          else {
            if ((handler_tag_453X < 0)) {
              ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
              arg0K0 = v_475X;
              goto L53713;}
            else {
              ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
              arg0K0 = v_476X;
              goto L53713;}}}
        else {
          merged_arg0K0 = wants_stack_args_474X;
          merged_arg0K1 = stack_arg_count_450X;
          merged_arg0K2 = list_args_451X;
          merged_arg0K3 = list_arg_count_452X;
          rest_list_setupAgc_return_tag = 0;
          goto rest_list_setupAgc;
         rest_list_setupAgc_return_0:
          if (nativeP_468X) {
            v_477X = s48_call_native_procedure((SvalS), 4);
            arg0K0 = v_477X;
            goto L25656;}
          else {
            template_478X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_478X)))));
            arg0K1 = 4;
            arg0K2 = template_478X;
            arg0K3 = stack_space_467X;
            goto L25742;}}}
      else {
        if ((68 == protocol_466X)) {
          if ((total_arg_count_455X < (*((unsigned char *) ((((char *) (-3 + code_454X))) + 2))))) {
            if ((-1 == handler_tag_453X)) {
              arg0K0 = 4;
              arg0K1 = stack_arg_count_450X;
              arg0K2 = list_args_451X;
              arg0K3 = list_arg_count_452X;
              goto L23303;}
            else {
              if ((handler_tag_453X < 0)) {
                ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
                arg0K0 = v_479X;
                goto L53713;}
              else {
                ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
                arg0K0 = v_480X;
                goto L53713;}}}
          else {
            arg0K0 = 3;
            goto L32380;}}
        else {
          if ((127 < protocol_466X)) {
            arg0K0 = (127 & protocol_466X);
            arg0K1 = stack_space_467X;
            arg2K2 = 1;
            goto L32337;}
          else {
            if ((64 == protocol_466X)) {
              if (((((((*((unsigned char *) ((((char *) (-3 + code_454X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_454X))) + 3)))) == total_arg_count_455X)) {
                if ((0 == list_arg_count_452X)) {
                  if (nativeP_468X) {
                    v_481X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_481X;
                    goto L25656;}
                  else {
                    template_482X = *((long *) (((char *) (-3 + (SvalS)))));
                    arg0K0 = (*((long *) (((char *) (-3 + template_482X)))));
                    arg0K1 = 4;
                    arg0K2 = template_482X;
                    arg0K3 = stack_space_467X;
                    goto L25742;}}
                else {
                  merged_arg0K0 = list_args_451X;
                  merged_arg0K1 = list_arg_count_452X;
                  push_list_return_tag = 1;
                  goto push_list;
                 push_list_return_1:
                  if (nativeP_468X) {
                    v_483X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_483X;
                    goto L25656;}
                  else {
                    template_484X = *((long *) (((char *) (-3 + (SvalS)))));
                    arg0K0 = (*((long *) (((char *) (-3 + template_484X)))));
                    arg0K1 = 4;
                    arg0K2 = template_484X;
                    arg0K3 = stack_space_467X;
                    goto L25742;}}}
              else {
                if ((-1 == handler_tag_453X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_450X;
                  arg0K2 = list_args_451X;
                  arg0K3 = list_arg_count_452X;
                  goto L23303;}
                else {
                  if ((handler_tag_453X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
                    arg0K0 = v_485X;
                    goto L53713;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
                    arg0K0 = v_486X;
                    goto L53713;}}}}
            else {
              if ((67 == protocol_466X)) {
                length_487X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_454X))) + -4))))>>8);
                index_488X = -2 + length_487X;
                arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_454X))) + (-3 + length_487X))));
                arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_454X))) + index_488X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_454X))) + (1 + index_488X)))));
                arg2K2 = nativeP_468X;
                goto L32337;}
              else {
                ps_error("unknown protocol", 1, protocol_466X);
                if ((-1 == handler_tag_453X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_450X;
                  arg0K2 = list_args_451X;
                  arg0K3 = list_arg_count_452X;
                  goto L23303;}
                else {
                  if ((handler_tag_453X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
                    arg0K0 = v_489X;
                    goto L53713;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
                    arg0K0 = v_490X;
                    goto L53713;}}}}}}}}
    else {
      if ((protocol_466X == total_arg_count_455X)) {
        if ((0 == list_arg_count_452X)) {
          if (nativeP_468X) {
            v_491X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_491X;
            goto L25656;}
          else {
            template_492X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_492X)))));
            arg0K1 = 2;
            arg0K2 = template_492X;
            arg0K3 = stack_space_467X;
            goto L25742;}}
        else {
          merged_arg0K0 = list_args_451X;
          merged_arg0K1 = list_arg_count_452X;
          push_list_return_tag = 2;
          goto push_list;
         push_list_return_2:
          if (nativeP_468X) {
            v_493X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_493X;
            goto L25656;}
          else {
            template_494X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_494X)))));
            arg0K1 = 2;
            arg0K2 = template_494X;
            arg0K3 = stack_space_467X;
            goto L25742;}}}
      else {
        if ((-1 == handler_tag_453X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_450X;
          arg0K2 = list_args_451X;
          arg0K3 = list_arg_count_452X;
          goto L23303;}
        else {
          if ((handler_tag_453X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_453X));
            arg0K0 = v_495X;
            goto L53713;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_453X);
            arg0K0 = v_496X;
            goto L53713;}}}}}}
 L23869: {
  nargs_497X = arg0K0;
  opcode_498X = (((*((long *) ((SstackS) + (4 + (((nargs_497X)<<2)))))))>>2);
  handlers_499X = SHARED_REF((Sexception_handlersS));
  if ((3 == (3 & handlers_499X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_499X))) + -4))))>>2))))) {
      goto L23934;}
    else {
      goto L24017;}}
  else {
    goto L24017;}}
 L53713: {
  retval_500X = arg0K0;
  SstackS = (ScontS);
  return retval_500X;}
 L22889: {
  code_501X = arg0K0;
  envUtemp_offset_502X = arg0K1;
  used_503X = arg0K2;
  template_504X = arg0K3;
  envUtemplate_505X = *((unsigned char *) ((((char *) (-3 + code_501X))) + envUtemp_offset_502X));
  if ((3 == envUtemplate_505X)) {
    x_506X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_506X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_504X);
    goto L22893;}
  else {
    if ((1 == envUtemplate_505X)) {
      x_507X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_507X);
      goto L22893;}
    else {
      if ((2 == envUtemplate_505X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_504X);
        goto L22893;}
      else {
        goto L22893;}}}}
 L32380: {
  skip_508X = arg0K0;
  if ((total_arg_count_455X < 3)) {
    arg0K0 = total_arg_count_455X;
    goto L32388;}
  else {
    if ((2 < stack_arg_count_450X)) {
      arg0K0 = stack_arg_count_450X;
      goto L32388;}
    else {
      arg0K0 = 2;
      goto L32388;}}}
 L25656: {
  tag_509X = arg0K0;
  arg0K0 = tag_509X;
  goto L25660;}
 L25742: {
  code_510X = arg0K0;
  used_511X = arg0K1;
  template_512X = arg0K2;
  needed_stack_space_513X = arg0K3;
  envUtemplate_514X = *((unsigned char *) ((((char *) (-3 + code_510X))) + used_511X));
  if ((3 == envUtemplate_514X)) {
    x_515X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_515X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_512X);
    goto L25746;}
  else {
    if ((1 == envUtemplate_514X)) {
      x_516X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_516X);
      goto L25746;}
    else {
      if ((2 == envUtemplate_514X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_512X);
        goto L25746;}
      else {
        goto L25746;}}}}
 L23934: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_499X))) + (((opcode_498X)<<2)))));
  obj_517X = SvalS;
  if ((3 == (3 & obj_517X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_517X))) + -4))))>>2))))) {
      goto L23951;}
    else {
      goto L24031;}}
  else {
    goto L24031;}}
 L24017: {
  merged_arg3K0 = "exception-handlers is not a vector";
  loseD0_return_tag = 0;
  goto loseD0;
 loseD0_return_0:
  goto L23934;}
 L22893: {
  Slast_code_calledS = code_501X;
  Scode_pointerS = ((((char *) (-3 + code_501X))) + used_503X);
  if (((SstackS) < (s48_Sstack_limitS))) {
    interruptP_518X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if (((SstackS) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if (((SstackS) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        if (interruptP_518X) {
          goto L22900;}
        else {
          goto L22907;}}
      else {
        if (interruptP_518X) {
          goto L22900;}
        else {
          goto L22907;}}}
    else {
      if (interruptP_518X) {
        goto L22900;}
      else {
        goto L22907;}}}
  else {
    goto L22907;}}
 L32388: {
  final_stack_arg_count_519X = arg0K0;
  if ((stack_arg_count_450X < final_stack_arg_count_519X)) {
    arg0K0 = final_stack_arg_count_519X;
    goto L32392;}
  else {
    arg0K0 = stack_arg_count_450X;
    goto L32392;}}
 L25660: {
  tag_520X = arg0K0;
  if ((tag_520X == 0)) {
    arg0K0 = (s48_Snative_protocolS);
    arg0K1 = 25;
    arg0K2 = 0;
    goto L23041;}
  else {
    if ((tag_520X == 1)) {
      stack_arg_count_521X = s48_Snative_protocolS;
      obj_522X = SvalS;
      if ((3 == (3 & obj_522X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_522X))) + -4))))>>2))))) {
          arg0K0 = stack_arg_count_521X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L32311;}
        else {
          arg0K0 = 3;
          arg0K1 = stack_arg_count_521X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L23303;}}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_521X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L23303;}}
    else {
      if ((tag_520X == 2)) {
        pending_interruptP_return_tag = 0;
        goto pending_interruptP;
       pending_interruptP_return_0:
        v_523X = pending_interruptP0_return_value;
        if (v_523X) {
          push_native_interrupt_continuation_return_tag = 0;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_0:
          goto L23598;}
        else {
          SstackS = (ScontS);
          cont_524X = ScontS;
          pointer_525X = (((char *) (*((long *) cont_524X)))) + -2;
          size_526X = ((((*((unsigned char *) pointer_525X)))<<8)) + (*((unsigned char *) (pointer_525X + 1)));
          if ((65535 == size_526X)) {
            arg0K0 = ((((*((long *) (cont_524X + 4))))>>2));
            goto L25715;}
          else {
            arg0K0 = size_526X;
            goto L25715;}}}
      else {
        if ((tag_520X == 3)) {
          push_native_interrupt_continuation_return_tag = 1;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_1:
          nargs_527X = *((long *) (SstackS));
          SstackS = ((SstackS) + 4);
          ps_write_string("exception with ", (stderr));
          ps_write_integer(nargs_527X, (stderr));
          ps_write_string(" arguments", (stderr));
          arg0K0 = nargs_527X;
          goto L23869;}
        else {
          if ((tag_520X == 4)) {
            arg1K0 = (Scode_pointerS);
            goto L25161;}
          else {
            ps_error("unexpected native return value", 1, tag_520X);
            arg0K0 = v_528X;
            goto L53713;}}}}}}
 L25746: {
  Slast_code_calledS = code_510X;
  Scode_pointerS = ((((char *) (-3 + code_510X))) + (1 + used_511X));
  merged_arg0K0 = needed_stack_space_513X;
  ensure_stack_spaceB_return_tag = 0;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_0:
  v_529X = ensure_stack_spaceB0_return_value;
  if (v_529X) {
    pending_interruptP_return_tag = 1;
    goto pending_interruptP;
   pending_interruptP_return_1:
    v_530X = pending_interruptP0_return_value;
    if (v_530X) {
      goto L23775;}
    else {
      goto L25760;}}
  else {
    goto L25760;}}
 L23951: {
  arg0K0 = (2 + nargs_497X);
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = opcode_498X;
  goto L32311;}
 L24031: {
  merged_arg3K0 = "exception handler is not a closure";
  loseD0_return_tag = 1;
  goto loseD0;
 loseD0_return_1:
  goto L23951;}
 L22900: {
  pending_interruptP_return_tag = 2;
  goto pending_interruptP;
 pending_interruptP_return_2:
  v_531X = pending_interruptP0_return_value;
  if (v_531X) {
    goto L23775;}
  else {
    goto L22907;}}
 L22907: {
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L32392: {
  v_532X = arg0K0;
  merged_arg0K0 = v_532X;
  merged_arg0K1 = stack_arg_count_450X;
  merged_arg0K2 = list_args_451X;
  merged_arg0K3 = list_arg_count_452X;
  rest_list_setupAgc_return_tag = 1;
  goto rest_list_setupAgc;
 rest_list_setupAgc_return_1:
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((final_stack_arg_count_519X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((total_arg_count_455X)<<2)));
  if (nativeP_468X) {
    v_533X = s48_call_native_procedure((SvalS), skip_508X);
    arg0K0 = v_533X;
    goto L25656;}
  else {
    template_534X = *((long *) (((char *) (-3 + (SvalS)))));
    arg0K0 = (*((long *) (((char *) (-3 + template_534X)))));
    arg0K1 = skip_508X;
    arg0K2 = template_534X;
    arg0K3 = stack_space_467X;
    goto L25742;}}
 L23041: {
  stack_nargs_535X = arg0K0;
  list_args_536X = arg0K1;
  list_arg_count_537X = arg0K2;
  code_pointer_538X = ((char *) (*((long *) (ScontS))));
  protocol_539X = *((unsigned char *) (code_pointer_538X + 1));
  if ((1 == protocol_539X)) {
    if ((1 == (stack_nargs_535X + list_arg_count_537X))) {
      if ((1 == stack_nargs_535X)) {
        v_540X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_540X;
        goto L23130;}
      else {
        arg0K0 = (*((long *) (((char *) (-3 + list_args_536X)))));
        goto L23130;}}
    else {
      arg0K0 = stack_nargs_535X;
      arg0K1 = list_args_536X;
      goto L24250;}}
  else {
    if ((66 == protocol_539X)) {
      pop_continuationB_return_tag = 0;
      goto pop_continuationB;
     pop_continuationB_return_0:
      arg0K0 = 1;
      goto L25649;}
    else {
      if ((127 < protocol_539X)) {
        if ((129 == protocol_539X)) {
          if ((1 == (stack_nargs_535X + list_arg_count_537X))) {
            if ((1 == stack_nargs_535X)) {
              v_541X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              arg0K0 = v_541X;
              goto L32836;}
            else {
              arg0K0 = (*((long *) (((char *) (-3 + list_args_536X)))));
              goto L32836;}}
          else {
            arg0K0 = stack_nargs_535X;
            arg0K1 = list_args_536X;
            goto L24250;}}
        else {
          if ((194 == protocol_539X)) {
            arg0K0 = 2;
            goto L26808;}
          else {
            ps_error("unknown native return protocol", 1, protocol_539X);
            arg0K0 = stack_nargs_535X;
            arg0K1 = list_args_536X;
            goto L24250;}}}
      else {
        if ((71 == protocol_539X)) {
          cont_542X = Sheap_continuationS;
          if ((3 == (3 & cont_542X))) {
            if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_542X))) + -4))))>>2))))) {
              merged_arg0K0 = cont_542X;
              merged_arg0K1 = stack_nargs_535X;
              copy_continuation_from_heapB_return_tag = 0;
              goto copy_continuation_from_heapB;
             copy_continuation_from_heapB_return_0:
              arg0K0 = stack_nargs_535X;
              arg0K1 = list_args_536X;
              arg0K2 = list_arg_count_537X;
              goto L23041;}
            else {
              goto L23076;}}
          else {
            goto L23076;}}
        else {
          if ((70 == protocol_539X)) {
            SvalS = (*((long *) ((ScontS) + 4)));
            offset_543X = ((((*((unsigned char *) (code_pointer_538X + 2))))<<8)) + (*((unsigned char *) (code_pointer_538X + 3)));
            if ((0 == offset_543X)) {
              cont_544X = ScontS;
              pointer_545X = (((char *) (*((long *) cont_544X)))) + -2;
              size_546X = ((((*((unsigned char *) pointer_545X)))<<8)) + (*((unsigned char *) (pointer_545X + 1)));
              if ((65535 == size_546X)) {
                arg0K0 = ((((*((long *) (cont_544X + 4))))>>2));
                goto L23193;}
              else {
                arg0K0 = size_546X;
                goto L23193;}}
            else {
              ScontS = ((ScontS) + 4);
              *((long *) (ScontS)) = (long) ((((long) (code_pointer_538X + offset_543X))));
              merged_arg0K0 = stack_nargs_535X;
              move_args_above_contB_return_tag = 0;
              goto move_args_above_contB;
             move_args_above_contB_return_0:
              arg0K0 = stack_nargs_535X;
              arg0K1 = list_args_536X;
              arg0K2 = list_arg_count_537X;
              goto L47099;}}
          else {
            if ((63 < protocol_539X)) {
              if ((65 == protocol_539X)) {
                count_547X = ((((*((unsigned char *) (code_pointer_538X + 2))))<<8)) + (*((unsigned char *) (code_pointer_538X + 3)));
                if (((stack_nargs_535X + list_arg_count_537X) < count_547X)) {
                  arg0K0 = stack_nargs_535X;
                  arg0K1 = list_args_536X;
                  goto L24250;}
                else {
                  arg_top_548X = SstackS;
                  pop_continuationB_return_tag = 1;
                  goto pop_continuationB;
                 pop_continuationB_return_1:
                  arg1K0 = ((SstackS) + -4);
                  arg1K1 = (arg_top_548X + (-4 + (((stack_nargs_535X)<<2))));
                  goto L26683;}}
              else {
                if ((64 == protocol_539X)) {
                  arg0K0 = (((((*((unsigned char *) (code_pointer_538X + 2))))<<8)) + (*((unsigned char *) (code_pointer_538X + 3))));
                  arg0K1 = 3;
                  arg0K2 = stack_nargs_535X;
                  arg0K3 = list_args_536X;
                  arg0K4 = list_arg_count_537X;
                  goto L26549;}
                else {
                  ps_error("unknown protocol", 1, protocol_539X);
                  arg0K0 = stack_nargs_535X;
                  arg0K1 = list_args_536X;
                  goto L24250;}}}
            else {
              arg0K0 = protocol_539X;
              arg0K1 = 1;
              arg0K2 = stack_nargs_535X;
              arg0K3 = list_args_536X;
              arg0K4 = list_arg_count_537X;
              goto L26549;}}}}}}}
 L23598: {
  n_549X = (Spending_interruptsS) & (Senabled_interruptsS);
  arg0K0 = 0;
  arg0K1 = 1;
  goto L23651;}
 L25715: {
  v_550X = arg0K0;
  ScontS = (cont_524X + (4 + (((v_550X)<<2))));
  v_551X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_552X = s48_invoke_native_continuation((2 + (((long) (((char *) v_551X))))));
  arg0K0 = v_552X;
  goto L25660;}
 L25161: {
  code_pointer_553X = arg1K0;
  switch ((*((unsigned char *) code_pointer_553X))) {
    case 0 : 
    case 23 : 
    case 27 : 
    case 34 : {
      code_554X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_554X)))))<<2)), code_554X, 56, 4);
      n_555X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_555X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (56);
      n_556X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_556X)<<2)));
      arg0K0 = 1;
      goto L23869;}
      break;
    case 1 : {
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 2 : {
      x_557X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_557X);
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 3 : {
      x_558X = -512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_558X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 4 : {
      template_559X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_560X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_561X = *((long *) ((((char *) (-3 + template_559X))) + (((index_560X)<<2))));
      SvalS = (*((long *) ((((char *) (-3 + location_561X))) + 4)));
      if ((17 == (255 & (SvalS)))) {
        code_562X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_562X)))))<<2)), code_562X, 4, 20);
        n_563X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_563X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (4);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_561X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_559X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_560X)<<2)));
        arg0K0 = 3;
        goto L23869;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L25161;}}
      break;
    case 5 : {
      template_564X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_565X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_566X = *((long *) ((((char *) (-3 + template_564X))) + (((index_565X)<<2))));
      if ((273 == (*((long *) ((((char *) (-3 + location_566X))) + 4))))) {
        code_567X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_567X)))))<<2)), code_567X, 4, 20);
        n_568X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_568X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (4);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_566X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_564X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_565X)<<2)));
        x_569X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_569X);
        arg0K0 = 4;
        goto L23869;}
      else {
        val_570X = SvalS;
        addr_571X = (((char *) (-3 + location_566X))) + 4;S48_WRITE_BARRIER(location_566X, addr_571X, val_570X);
        *((long *) addr_571X) = (long) (val_570X);
        SvalS = 13;
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L25161;}}
      break;
    case 6 : {
      total_count_572X = *((unsigned char *) ((Scode_pointerS) + 1));
      closures_573X = *((unsigned char *) ((Scode_pointerS) + 2));s48_make_availableAgc((((((1 + total_count_572X) + (3 * closures_573X)))<<2)));
      len_574X = ((total_count_572X)<<2);
      addr_575X = s48_allocate_small((4 + len_574X));
      *((long *) addr_575X) = (long) ((10 + (((len_574X)<<8))));
      new_env_576X = 3 + (((long) (addr_575X + 4)));
      if ((0 == closures_573X)) {
        arg0K0 = new_env_576X;
        arg0K1 = 0;
        arg0K2 = 2;
        arg0K3 = total_count_572X;
        goto L8477;}
      else {
        template_577X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<2))));
        arg0K0 = closures_573X;
        arg0K1 = 0;
        arg0K2 = 3;
        goto L18458;}}
      break;
    case 7 : {
      total_count_578X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      closures_579X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));s48_make_availableAgc((((((1 + total_count_578X) + (3 * closures_579X)))<<2)));
      len_580X = ((total_count_578X)<<2);
      addr_581X = s48_allocate_small((4 + len_580X));
      *((long *) addr_581X) = (long) ((10 + (((len_580X)<<8))));
      new_env_582X = 3 + (((long) (addr_581X + 4)));
      if ((0 == closures_579X)) {
        arg0K0 = new_env_582X;
        arg0K1 = 0;
        arg0K2 = 4;
        arg0K3 = total_count_578X;
        goto L10998;}
      else {
        template_583X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
        arg0K0 = closures_579X;
        arg0K1 = 0;
        arg0K2 = 6;
        goto L18519;}}
      break;
    case 8 : {
      x_584X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_584X);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 9 : {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (1);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 10 : {
      value_585X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = value_585X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 11 : {
      SstackS = ((SstackS) + (0 - ((((0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))))<<2))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 12 : {
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 13 : {
      x_586X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_586X);
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 14 : {
      x_587X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_587X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 15 : {
      SvalS = (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 16 : {
      *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 17 : {
      *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 18 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 19 : {
      x_588X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_588X);
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 20 : {
      x_589X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_589X);
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 21 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 5);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 22 : {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
      if ((1 == (((long) (ScontS))))) {
        arg0K0 = 1;
        goto L50742;}
      else {
        v_590X = really_preserve_continuation(0);
        arg0K0 = v_590X;
        goto L50742;}}
      break;
    case 24 : {
      stack_arg_count_591X = *((unsigned char *) ((Scode_pointerS) + 3));
      code_pointer_592X = (Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      ScontS = ((SstackS) + (((stack_arg_count_591X)<<2)));
      *((long *) (ScontS)) = (long) ((((long) code_pointer_592X)));
      arg0K0 = stack_arg_count_591X;
      goto L32231;}
      break;
    case 25 : {
      merged_arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      move_args_above_contB_return_tag = 1;
      goto move_args_above_contB;
     move_args_above_contB_return_1:
      arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      goto L32231;}
      break;
    case 26 : {
      stack_arg_count_593X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      return_pointer_offset_594X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_594X)) {
        merged_arg0K0 = stack_arg_count_593X;
        move_args_above_contB_return_tag = 2;
        goto move_args_above_contB;
       move_args_above_contB_return_2:
        goto L23432;}
      else {
        code_pointer_595X = (Scode_pointerS) + return_pointer_offset_594X;
        ScontS = ((SstackS) + (((stack_arg_count_593X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_595X)));
        goto L23432;}}
      break;
    case 28 : {
      list_args_596X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_597X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      merged_arg0K0 = list_args_596X;
      okay_argument_list_return_tag = 0;
      goto okay_argument_list;
     okay_argument_list_return_0:
      okayP_598X = okay_argument_list0_return_value;
      length_599X = okay_argument_list1_return_value;
      if (okayP_598X) {
        return_pointer_offset_600X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
        if ((0 == return_pointer_offset_600X)) {
          merged_arg0K0 = stack_nargs_597X;
          move_args_above_contB_return_tag = 3;
          goto move_args_above_contB;
         move_args_above_contB_return_3:
          arg0K0 = stack_nargs_597X;
          arg0K1 = list_args_596X;
          arg0K2 = length_599X;
          goto L47099;}
        else {
          code_pointer_601X = (Scode_pointerS) + return_pointer_offset_600X;
          ScontS = ((SstackS) + (((stack_nargs_597X)<<2)));
          *((long *) (ScontS)) = (long) ((((long) code_pointer_601X)));
          arg0K0 = stack_nargs_597X;
          arg0K1 = list_args_596X;
          arg0K2 = length_599X;
          goto L47099;}}
      else {
        merged_arg0K0 = list_args_596X;
        merged_arg0K1 = stack_nargs_597X;
        pop_args_GlistSAgc_return_tag = 1;
        goto pop_args_GlistSAgc;
       pop_args_GlistSAgc_return_1:
        args_602X = pop_args_GlistSAgc0_return_value;
        code_603X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_603X)))))<<2)), code_603X, 20, 0);
        n_604X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_604X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_605X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_605X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (args_602X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 29 : {
      p_606X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_607X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_608X = ((p_607X)>>2);
      SvalS = (*((long *) ((SstackS) + (((stack_nargs_608X)<<2)))));
      merged_arg0K0 = (((p_606X)>>2));
      move_args_above_contB_return_tag = 4;
      goto move_args_above_contB;
     move_args_above_contB_return_4:
      rest_list_609X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((25 == rest_list_609X)) {
        v_610X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_610X;
        arg0K1 = (-2 + stack_nargs_608X);
        goto L16772;}
      else {
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_609X))) + 4))))) {
          arg0K0 = (*((long *) (((char *) (-3 + rest_list_609X)))));
          arg0K1 = (-1 + stack_nargs_608X);
          goto L16772;}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_609X))) + 4)))))) + 4)));
          arg0K1 = rest_list_609X;
          goto L16817;}}}
      break;
    case 30 : {
      cont_611X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & cont_611X))) {
        if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_611X))) + -4))))>>2))))) {
          merged_arg0K0 = cont_611X;
          merged_arg0K1 = 0;
          copy_continuation_from_heapB_return_tag = 1;
          goto copy_continuation_from_heapB;
         copy_continuation_from_heapB_return_1:
          goto L23390;}
        else {
          goto L23399;}}
      else {
        goto L23399;}}
      break;
    case 31 : {
      goto L49400;}
      break;
    case 32 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      arg0K1 = 25;
      arg0K2 = 0;
      goto L23041;}
      break;
    case 33 : {
      p_612X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_613X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_614X = ((p_613X)>>2);
      rest_list_615X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = stack_nargs_614X;
      arg0K1 = rest_list_615X;
      arg0K2 = ((((p_612X)>>2)) - stack_nargs_614X);
      goto L23041;}
      break;
    case 35 : {
      template_616X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
      code_617X = *((long *) (((char *) (-3 + template_616X))));
      nargs_618X = *((unsigned char *) ((Scode_pointerS) + 7));
      return_pointer_offset_619X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_619X)) {
        merged_arg0K0 = nargs_618X;
        move_args_above_contB_return_tag = 5;
        goto move_args_above_contB;
       move_args_above_contB_return_5:
        goto L26848;}
      else {
        code_pointer_620X = (Scode_pointerS) + return_pointer_offset_619X;
        ScontS = ((SstackS) + (((nargs_618X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_620X)));
        goto L26848;}}
      break;
    case 36 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 3);
        arg1K0 = (Scode_pointerS);
        goto L25161;}}
      break;
    case 37 : {
      Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 38 : {
      Scode_pointerS = ((Scode_pointerS) + (0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))));
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 39 : {
      if ((0 == (3 & (SvalS)))) {
        p_621X = SvalS;
        max_622X = *((unsigned char *) ((Scode_pointerS) + 1));
        val_623X = ((p_621X)>>2);
        if ((val_623X < 0)) {
          goto L25518;}
        else {
          if ((val_623X < max_622X)) {
            index_624X = 1 + (((val_623X)<<1));
            arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_624X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_624X)))));
            goto L25520;}
          else {
            goto L25518;}}}
      else {
        code_625X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_625X)))))<<2)), code_625X, 20, 0);
        n_626X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_626X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_627X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_627X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 40 : {
      stack_nargs_628X = (((*((long *) (SstackS))))>>2);
      if ((0 == stack_nargs_628X)) {
        rest_list_629X = *((long *) ((SstackS) + 4));
        arg0_630X = *((long *) ((SstackS) + 8));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_630X);
        SvalS = (*((long *) (((char *) (-3 + rest_list_629X)))));
        goto L26186;}
      else {
        arg0_631X = *((long *) ((SstackS) + (4 + (((stack_nargs_628X)<<2)))));
        arg1_632X = *((long *) ((SstackS) + (((stack_nargs_628X)<<2))));
        *((long *) ((SstackS) + (4 + (((stack_nargs_628X)<<2))))) = (long) (1);
        *((long *) (SstackS)) = (long) ((-4 + (((stack_nargs_628X)<<2))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_631X);
        SvalS = arg1_632X;
        goto L26186;}}
      break;
    case 41 : {
      stack_nargs_633X = (((*((long *) (SstackS))))>>2);
      if ((stack_nargs_633X == 0)) {
        rest_list_634X = *((long *) ((SstackS) + 4));
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_634X))) + 4))))) {
          arg0K0 = 1;
          goto L25416;}
        else {
          *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_634X))) + 4))));
          *((long *) ((SstackS) + 8)) = (long) ((SvalS));
          arg0K0 = -2;
          goto L25416;}}
      else {
        if ((stack_nargs_633X == 1)) {
          if ((25 == (*((long *) ((SstackS) + 4))))) {
            arg0K0 = 1;
            goto L25416;}
          else {
            *((long *) (SstackS)) = (long) (0);
            *((long *) ((SstackS) + 8)) = (long) ((SvalS));
            arg0K0 = -2;
            goto L25416;}}
        else {
          *((long *) ((SstackS) + (4 + (((stack_nargs_633X)<<2))))) = (long) ((SvalS));
          arg0K0 = -2;
          goto L25416;}}}
      break;
    case 42 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        x_635X = (((*((long *) (SstackS))))>>2);
        if ((x_635X == 0)) {
          rest_list_636X = *((long *) ((SstackS) + 4));
          if ((25 == (*((long *) ((((char *) (-3 + rest_list_636X))) + 4))))) {
            arg0K0 = 1;
            goto L26077;}
          else {
            *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_636X))) + 4))));
            *((long *) ((SstackS) + 8)) = (long) ((*((long *) (((char *) (-3 + rest_list_636X))))));
            arg0K0 = -2;
            goto L26077;}}
        else {
          if ((x_635X == 1)) {
            if ((25 == (*((long *) ((SstackS) + 4))))) {
              arg0K0 = 1;
              goto L26077;}
            else {
              *((long *) (SstackS)) = (long) (0);
              arg0K0 = -2;
              goto L26077;}}
          else {
            arg0K0 = -2;
            goto L26077;}}}}
      break;
    case 43 : {
      arg2_637X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_638X = SvalS;
      if ((arg2_637X == x_638X)) {
        arg0K0 = 5;
        goto L50799;}
      else {
        arg0K0 = 1;
        goto L50799;}}
      break;
    case 44 : {
      x_639X = SvalS;
      if ((0 == (3 & x_639X))) {
        arg0K0 = 5;
        goto L50811;}
      else {
        if ((3 == (3 & x_639X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_639X))) + -4))))>>2))))) {
            arg0K0 = 5;
            goto L50811;}
          else {
            goto L14510;}}
        else {
          goto L14510;}}}
      break;
    case 45 : {
      n_640X = SvalS;
      if ((0 == (3 & n_640X))) {
        goto L41596;}
      else {
        if ((3 == (3 & n_640X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_640X))) + -4))))>>2))))) {
            goto L41596;}
          else {
            goto L41597;}}
        else {
          goto L41597;}}}
      break;
    case 46 : {
      arg0K0 = (SvalS);
      goto L41723;}
      break;
    case 47 : {
      arg0K0 = (SvalS);
      goto L41723;}
      break;
    case 48 : {
      arg0K0 = (SvalS);
      goto L41723;}
      break;
    case 49 : {
      n_641X = SvalS;
      if ((0 == (3 & n_641X))) {
        goto L34366;}
      else {
        if ((3 == (3 & n_641X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_641X))) + -4))))>>2))))) {
            goto L34366;}
          else {
            goto L34367;}}
        else {
          goto L34367;}}}
      break;
    case 50 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 51 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 52 : {
      arg2_642X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_643X = SvalS;
      if ((0 == (3 & (arg2_642X | y_643X)))) {s48_make_availableAgc(16);
        x_644X = (((arg2_642X)>>2)) + (((y_643X)>>2));
        if ((536870911 < x_644X)) {
          goto L34508;}
        else {
          if ((x_644X < -536870912)) {
            goto L34508;}
          else {
            arg0K0 = (((x_644X)<<2));
            goto L34454;}}}
      else {
        if ((0 == (3 & arg2_642X))) {
          goto L34460;}
        else {
          if ((3 == (3 & arg2_642X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_642X))) + -4))))>>2))))) {
              goto L34460;}
            else {
              goto L34469;}}
          else {
            goto L34469;}}}}
      break;
    case 53 : {
      arg2_645X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_646X = SvalS;
      if ((0 == (3 & (arg2_645X | y_646X)))) {
        a_647X = ((arg2_645X)>>2);
        b_648X = ((y_646X)>>2);
        if ((a_647X < 0)) {
          arg0K0 = (0 - a_647X);
          goto L8643;}
        else {
          arg0K0 = a_647X;
          goto L8643;}}
      else {
        if ((0 == (3 & arg2_645X))) {
          goto L43631;}
        else {
          if ((3 == (3 & arg2_645X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_645X))) + -4))))>>2))))) {
              goto L43631;}
            else {
              goto L43640;}}
          else {
            goto L43640;}}}}
      break;
    case 54 : {
      arg2_649X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_650X = SvalS;
      if ((0 == (3 & (arg2_649X | y_650X)))) {s48_make_availableAgc(16);
        x_651X = (((arg2_649X)>>2)) - (((y_650X)>>2));
        if ((536870911 < x_651X)) {
          goto L34813;}
        else {
          if ((x_651X < -536870912)) {
            goto L34813;}
          else {
            arg0K0 = (((x_651X)<<2));
            goto L34759;}}}
      else {
        if ((0 == (3 & arg2_649X))) {
          goto L34765;}
        else {
          if ((3 == (3 & arg2_649X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_649X))) + -4))))>>2))))) {
              goto L34765;}
            else {
              goto L34774;}}
          else {
            goto L34774;}}}}
      break;
    case 55 : {
      arg2_652X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_653X = SvalS;
      if ((0 == y_653X)) {
        arg0K0 = arg2_652X;
        arg0K1 = y_653X;
        goto L24506;}
      else {
        if ((0 == (3 & (arg2_652X | y_653X)))) {
          if ((0 == y_653X)) {
            arg0K0 = arg2_652X;
            arg0K1 = y_653X;
            goto L24506;}
          else {
            a_654X = ((arg2_652X)>>2);
            b_655X = ((y_653X)>>2);
            if ((a_654X < 0)) {
              arg0K0 = (0 - a_654X);
              goto L8901;}
            else {
              arg0K0 = a_654X;
              goto L8901;}}}
        else {
          if ((0 == (3 & arg2_652X))) {
            goto L43874;}
          else {
            if ((3 == (3 & arg2_652X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_652X))) + -4))))>>2))))) {
                goto L43874;}
              else {
                goto L43907;}}
            else {
              goto L43907;}}}}}
      break;
    case 56 : {
      arg2_656X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_657X = SvalS;
      if ((0 == (3 & (arg2_656X | y_657X)))) {
        if ((arg2_656X == y_657X)) {
          arg0K0 = 5;
          goto L35060;}
        else {
          arg0K0 = 1;
          goto L35060;}}
      else {
        if ((0 == (3 & arg2_656X))) {
          goto L35066;}
        else {
          if ((3 == (3 & arg2_656X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_656X))) + -4))))>>2))))) {
              goto L35066;}
            else {
              goto L35077;}}
          else {
            goto L35077;}}}}
      break;
    case 57 : {
      arg2_658X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_659X = SvalS;
      if ((0 == (3 & (arg2_658X | y_659X)))) {
        if ((arg2_658X < y_659X)) {
          arg0K0 = 5;
          goto L35336;}
        else {
          arg0K0 = 1;
          goto L35336;}}
      else {
        if ((0 == (3 & arg2_658X))) {
          goto L35342;}
        else {
          if ((3 == (3 & arg2_658X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_658X))) + -4))))>>2))))) {
              goto L35342;}
            else {
              goto L35353;}}
          else {
            goto L35353;}}}}
      break;
    case 58 : {
      arg2_660X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_661X = SvalS;
      if ((0 == (3 & (arg2_660X | y_661X)))) {
        if ((y_661X < arg2_660X)) {
          arg0K0 = 5;
          goto L35675;}
        else {
          arg0K0 = 1;
          goto L35675;}}
      else {
        if ((0 == (3 & arg2_660X))) {
          goto L35681;}
        else {
          if ((3 == (3 & arg2_660X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_660X))) + -4))))>>2))))) {
              goto L35681;}
            else {
              goto L35692;}}
          else {
            goto L35692;}}}}
      break;
    case 59 : {
      arg2_662X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_663X = SvalS;
      if ((0 == (3 & (arg2_662X | y_663X)))) {
        if ((y_663X < arg2_662X)) {
          arg0K0 = 1;
          goto L36014;}
        else {
          arg0K0 = 5;
          goto L36014;}}
      else {
        if ((0 == (3 & arg2_662X))) {
          goto L36020;}
        else {
          if ((3 == (3 & arg2_662X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_662X))) + -4))))>>2))))) {
              goto L36020;}
            else {
              goto L36031;}}
          else {
            goto L36031;}}}}
      break;
    case 60 : {
      arg2_664X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_665X = SvalS;
      if ((0 == (3 & (arg2_664X | y_665X)))) {
        if ((arg2_664X < y_665X)) {
          arg0K0 = 1;
          goto L36324;}
        else {
          arg0K0 = 5;
          goto L36324;}}
      else {
        if ((0 == (3 & arg2_664X))) {
          goto L36330;}
        else {
          if ((3 == (3 & arg2_664X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_664X))) + -4))))>>2))))) {
              goto L36330;}
            else {
              goto L36341;}}
          else {
            goto L36341;}}}}
      break;
    case 61 : {
      arg2_666X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_667X = SvalS;
      if ((0 == y_667X)) {
        arg0K0 = arg2_666X;
        arg0K1 = y_667X;
        goto L24506;}
      else {
        if ((0 == (3 & (arg2_666X | y_667X)))) {
          if ((0 == y_667X)) {
            arg0K0 = arg2_666X;
            arg0K1 = y_667X;
            goto L19752;}
          else {
            a_668X = ((arg2_666X)>>2);
            b_669X = ((y_667X)>>2);
            if ((a_668X < 0)) {
              arg0K0 = (0 - a_668X);
              goto L9590;}
            else {
              arg0K0 = a_668X;
              goto L9590;}}}
        else {
          if ((0 == (3 & arg2_666X))) {
            goto L36646;}
          else {
            if ((3 == (3 & arg2_666X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_666X))) + -4))))>>2))))) {
                goto L36646;}
              else {
                arg0K0 = arg2_666X;
                arg0K1 = y_667X;
                goto L24506;}}
            else {
              arg0K0 = arg2_666X;
              arg0K1 = y_667X;
              goto L24506;}}}}}
      break;
    case 62 : {
      arg2_670X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_671X = SvalS;
      if ((0 == y_671X)) {
        arg0K0 = arg2_670X;
        arg0K1 = y_671X;
        goto L24506;}
      else {
        if ((0 == (3 & (arg2_670X | y_671X)))) {
          if ((0 == y_671X)) {
            arg0K0 = arg2_670X;
            arg0K1 = y_671X;
            goto L19843;}
          else {
            a_672X = ((arg2_670X)>>2);
            if ((a_672X < 0)) {
              arg0K0 = (0 - a_672X);
              goto L36826;}
            else {
              arg0K0 = a_672X;
              goto L36826;}}}
        else {
          if ((0 == (3 & arg2_670X))) {
            goto L36800;}
          else {
            if ((3 == (3 & arg2_670X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_670X))) + -4))))>>2))))) {
                goto L36800;}
              else {
                arg0K0 = arg2_670X;
                arg0K1 = y_671X;
                goto L24506;}}
            else {
              arg0K0 = arg2_670X;
              arg0K1 = y_671X;
              goto L24506;}}}}}
      break;
    case 63 : {
      n_673X = SvalS;
      if ((0 == (3 & n_673X))) {
        goto L36965;}
      else {
        if ((3 == (3 & n_673X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_673X))) + -4))))>>2))))) {
            goto L36965;}
          else {
            goto L36966;}}
        else {
          goto L36966;}}}
      break;
    case 64 : {
      n_674X = SvalS;
      if ((0 == (3 & n_674X))) {
        goto L37036;}
      else {
        if ((3 == (3 & n_674X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_674X))) + -4))))>>2))))) {
            goto L37036;}
          else {
            goto L37037;}}
        else {
          goto L37037;}}}
      break;
    case 65 : {
      n_675X = SvalS;
      if ((0 == (3 & n_675X))) {
        goto L37107;}
      else {
        if ((3 == (3 & n_675X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_675X))) + -4))))>>2))))) {
            goto L37107;}
          else {
            goto L37110;}}
        else {
          goto L37110;}}}
      break;
    case 66 : {
      n_676X = SvalS;
      if ((0 == (3 & n_676X))) {
        goto L37183;}
      else {
        if ((3 == (3 & n_676X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_676X))) + -4))))>>2))))) {
            goto L37183;}
          else {
            goto L37184;}}
        else {
          goto L37184;}}}
      break;
    case 67 : {
      n_677X = SvalS;
      if ((0 == (3 & n_677X))) {
        goto L37254;}
      else {
        if ((3 == (3 & n_677X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_677X))) + -4))))>>2))))) {
            goto L37254;}
          else {
            goto L37257;}}
        else {
          goto L37257;}}}
      break;
    case 68 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 69 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 70 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 71 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 72 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 73 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 74 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 75 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 76 : {
      x_678X = SvalS;
      if ((0 == (3 & x_678X))) {
        if ((x_678X < 0)) {
          arg0K0 = x_678X;
          goto L24475;}
        else {
          goto L50917;}}
      else {
        v_679X = s48_bignum_test((((char *) (-3 + x_678X))));
        if ((-1 == v_679X)) {
          arg0K0 = x_678X;
          goto L24475;}
        else {
          goto L50917;}}}
      break;
    case 77 : {
      x_680X = SvalS;
      if ((0 == (3 & x_680X))) {
        goto L24385;}
      else {
        if ((3 == (3 & x_680X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_680X))) + -4))))>>2))))) {
            goto L24385;}
          else {
            goto L24388;}}
        else {
          goto L24388;}}}
      break;
    case 78 : {
      arg0K0 = (SvalS);
      goto L24475;}
      break;
    case 79 : {
      arg2_681X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_681X;
      arg0K1 = (SvalS);
      goto L24506;}
      break;
    case 80 : {
      arg2_682X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_682X;
      arg0K1 = (SvalS);
      goto L24506;}
      break;
    case 81 : {
      arg2_683X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = arg2_683X;
      arg0K1 = (SvalS);
      goto L24506;}
      break;
    case 82 : {
      x_684X = SvalS;
      if ((0 == (3 & x_684X))) {
        SvalS = (~ (3 | x_684X));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        if ((0 == (3 & x_684X))) {
          goto L37417;}
        else {
          if ((3 == (3 & x_684X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_684X))) + -4))))>>2))))) {
              goto L37417;}
            else {
              goto L37420;}}
          else {
            goto L37420;}}}}
      break;
    case 83 : {
      x_685X = SvalS;
      if ((0 == (3 & x_685X))) {
        x_686X = ((x_685X)>>2);
        if ((x_686X < 0)) {
          arg0K0 = (~ x_686X);
          goto L37524;}
        else {
          arg0K0 = x_686X;
          goto L37524;}}
      else {
        if ((0 == (3 & x_685X))) {
          goto L37507;}
        else {
          if ((3 == (3 & x_685X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_685X))) + -4))))>>2))))) {
              goto L37507;}
            else {
              goto L37510;}}
          else {
            goto L37510;}}}}
      break;
    case 84 : {
      arg2_687X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_688X = SvalS;
      if ((0 == (3 & (arg2_687X | y_688X)))) {
        SvalS = (arg2_687X & y_688X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        if ((0 == (3 & arg2_687X))) {
          goto L37625;}
        else {
          if ((3 == (3 & arg2_687X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_687X))) + -4))))>>2))))) {
              goto L37625;}
            else {
              goto L37634;}}
          else {
            goto L37634;}}}}
      break;
    case 85 : {
      arg2_689X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_690X = SvalS;
      if ((0 == (3 & (arg2_689X | y_690X)))) {
        SvalS = (arg2_689X | y_690X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        if ((0 == (3 & arg2_689X))) {
          goto L37804;}
        else {
          if ((3 == (3 & arg2_689X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>2))))) {
              goto L37804;}
            else {
              goto L37813;}}
          else {
            goto L37813;}}}}
      break;
    case 86 : {
      arg2_691X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_692X = SvalS;
      if ((0 == (3 & (arg2_691X | y_692X)))) {
        SvalS = (arg2_691X ^ y_692X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        if ((0 == (3 & arg2_691X))) {
          goto L37983;}
        else {
          if ((3 == (3 & arg2_691X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_691X))) + -4))))>>2))))) {
              goto L37983;}
            else {
              goto L37992;}}
          else {
            goto L37992;}}}}
      break;
    case 87 : {
      arg2_693X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_694X = SvalS;
      if ((3 == (3 & y_694X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_694X))) + -4))))>>2))))) {
          v_695X = s48_bignum_test((((char *) (-3 + y_694X))));
          if ((1 == v_695X)) {
            code_696X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_696X)))))<<2)), code_696X, 24, 4);
            n_697X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_697X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (24);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_693X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_694X);
            arg0K0 = 2;
            goto L23869;}
          else {
            if ((0 == (3 & arg2_693X))) {
              if ((arg2_693X < 0)) {
                arg0K0 = -4;
                goto L34098;}
              else {
                arg0K0 = 0;
                goto L34098;}}
            else {
              if ((3 == (3 & arg2_693X))) {
                if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_693X))) + -4))))>>2))))) {
                  v_698X = s48_bignum_test((((char *) (-3 + arg2_693X))));
                  if ((1 == v_698X)) {
                    arg0K0 = 0;
                    goto L34114;}
                  else {
                    arg0K0 = -4;
                    goto L34114;}}
                else {
                  goto L34115;}}
              else {
                goto L34115;}}}}
        else {
          goto L44156;}}
      else {
        goto L44156;}}
      break;
    case 88 : {
      x_699X = SvalS;
      if ((9 == (255 & x_699X))) {
        arg0K0 = 5;
        goto L50978;}
      else {
        arg0K0 = 1;
        goto L50978;}}
      break;
    case 89 : {
      arg2_700X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_700X))) {
        if ((9 == (255 & (SvalS)))) {
          x_701X = SvalS;
          if ((arg2_700X == x_701X)) {
            arg0K0 = 5;
            goto L41365;}
          else {
            arg0K0 = 1;
            goto L41365;}}
        else {
          goto L41336;}}
      else {
        goto L41336;}}
      break;
    case 90 : {
      arg2_702X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_702X))) {
        if ((9 == (255 & (SvalS)))) {
          x_703X = SvalS;
          if ((arg2_702X < x_703X)) {
            arg0K0 = 5;
            goto L41257;}
          else {
            arg0K0 = 1;
            goto L41257;}}
        else {
          goto L41228;}}
      else {
        goto L41228;}}
      break;
    case 91 : {
      if ((9 == (255 & (SvalS)))) {
        SvalS = ((((((unsigned char) (((char) ((((SvalS))>>8)))))))<<2));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        code_704X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_704X)))))<<2)), code_704X, 20, 4);
        n_705X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_705X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_706X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_706X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 92 : {
      if ((0 == (3 & (SvalS)))) {
        x_707X = (((SvalS))>>2);
        if ((255 < x_707X)) {
          goto L38153;}
        else {
          if ((x_707X < 0)) {
            goto L38153;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) x_707X)))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L25161;}}}
      else {
        code_708X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_708X)))))<<2)), code_708X, 20, 4);
        n_709X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_709X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_710X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_710X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 93 : {
      x_711X = SvalS;
      if ((21 == x_711X)) {
        arg0K0 = 5;
        goto L50998;}
      else {
        arg0K0 = 1;
        goto L50998;}}
      break;
    case 94 : {
      x_712X = SvalS;
      type_713X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & x_712X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + x_712X))) + -4))))>>2))) == type_713X)) {
          arg0K0 = 5;
          goto L51012;}
        else {
          arg0K0 = 1;
          goto L51012;}}
      else {
        arg0K0 = 1;
        goto L51012;}}
      break;
    case 95 : {
      stob_714X = SvalS;
      type_715X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_714X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_714X))) + -4))))>>2))) == type_715X)) {
          SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_714X))) + -4))))>>8))));
          Scode_pointerS = ((Scode_pointerS) + 2);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L27650;}}
      else {
        goto L27650;}}
      break;
    case 96 : {
      len_716X = *((unsigned char *) ((Scode_pointerS) + 1));s48_make_availableAgc((4 + (((len_716X)<<2))));
      type_717X = *((unsigned char *) ((Scode_pointerS) + 2));
      len_718X = ((len_716X)<<2);
      addr_719X = s48_allocate_small((4 + len_718X));
      *((long *) addr_719X) = (long) ((2 + (((((((len_718X)<<6)) + type_717X))<<2))));
      new_720X = 3 + (((long) (addr_719X + 4)));
      if ((len_716X < 1)) {
        goto L27771;}
      else {
        *((long *) ((((char *) (-3 + new_720X))) + (-4 + (((len_716X)<<2))))) = (long) ((SvalS));
        arg0K0 = (-2 + len_716X);
        goto L27755;}}
      break;
    case 97 : {
      p_721X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      len_722X = ((p_721X)>>2);s48_make_availableAgc((4 + (((len_722X)<<2))));
      type_723X = *((unsigned char *) ((Scode_pointerS) + 1));
      len_724X = ((len_722X)<<2);
      addr_725X = s48_allocate_small((4 + len_724X));
      *((long *) addr_725X) = (long) ((2 + (((((((len_724X)<<6)) + type_723X))<<2))));
      new_726X = 3 + (((long) (addr_725X + 4)));
      p_727X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_728X = ((p_727X)>>2);
      rest_list_729X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = (-1 + stack_nargs_728X);
      goto L27889;}
      break;
    case 98 : {
      stob_730X = SvalS;
      type_731X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_732X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_730X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_730X))) + -4))))>>2))) == type_731X)) {
          SvalS = (*((long *) ((((char *) (-3 + stob_730X))) + (((offset_732X)<<2)))));
          Scode_pointerS = ((Scode_pointerS) + 3);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L28057;}}
      else {
        goto L28057;}}
      break;
    case 99 : {
      arg2_733X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_734X = SvalS;
      type_735X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_736X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & arg2_733X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + arg2_733X))) + -4))))>>2))) == type_735X)) {
          if ((3 == (3 & arg2_733X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg2_733X))) + -4)))))) {
              v_737X = *((unsigned char *) ((Scode_pointerS) + 3));
              if ((0 == v_737X)) {
                goto L28190;}
              else {
                if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                  goto L28190;}
                else {
                  merged_arg0K0 = arg2_733X;
                  merged_arg0K1 = (((offset_736X)<<2));
                  merged_arg0K2 = value_734X;
                  proposal_d_write_return_tag = 0;
                  goto proposal_d_write;
                 proposal_d_write_return_0:
                  goto L28199;}}}
            else {
              goto L28200;}}
          else {
            goto L28200;}}
        else {
          goto L28200;}}
      else {
        goto L28200;}}
      break;
    case 100 : {
      arg2_738X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      init_739X = SvalS;
      type_740X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_738X))) {
        len_741X = ((arg2_738X)>>2);
        if ((len_741X < 0)) {
          goto L28433;}
        else {
          if ((4194304 < len_741X)) {
            goto L28433;}
          else {
            Stemp0S = init_739X;
            len_742X = ((len_741X)<<2);
            addr_743X = s48_allocate_tracedAgc((4 + len_742X));
            if ((addr_743X == NULL)) {
              arg0K0 = 1;
              goto L28450;}
            else {
              *((long *) addr_743X) = (long) ((2 + (((((((len_742X)<<6)) + type_740X))<<2))));
              arg0K0 = (3 + (((long) (addr_743X + 4))));
              goto L28450;}}}}
      else {
        code_744X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_744X)))))<<2)), code_744X, 20, 8);
        n_745X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_745X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((type_740X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_738X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (init_739X);
        arg0K0 = 3;
        goto L23869;}}
      break;
    case 101 : {
      arg2_746X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      index_747X = SvalS;
      type_748X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & index_747X))) {
        if ((3 == (3 & arg2_746X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg2_746X))) + -4))))>>2))) == type_748X)) {
            len_749X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_746X))) + -4))))>>8))))>>2);
            index_750X = ((index_747X)>>2);
            if ((index_750X < 0)) {
              goto L28771;}
            else {
              if ((index_750X < len_749X)) {
                v_751X = *((unsigned char *) ((Scode_pointerS) + 2));
                if ((0 == v_751X)) {
                  goto L28761;}
                else {
                  if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                    goto L28761;}
                  else {
                    merged_arg0K0 = arg2_746X;
                    merged_arg0K1 = index_747X;
                    proposal_d_read_return_tag = 0;
                    goto proposal_d_read;
                   proposal_d_read_return_0:
                    v_752X = proposal_d_read0_return_value;
                    arg0K0 = v_752X;
                    goto L28770;}}}
              else {
                goto L28771;}}}
          else {
            goto L28726;}}
        else {
          goto L28726;}}
      else {
        goto L28726;}}
      break;
    case 102 : {
      arg2_753X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_754X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_755X = SvalS;
      type_756X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_753X))) {
        if ((3 == (3 & arg3_754X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg3_754X))) + -4))))>>2))) == type_756X)) {
            if ((3 == (3 & arg3_754X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_754X))) + -4)))))) {
                len_757X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_754X))) + -4))))>>8))))>>2);
                index_758X = ((arg2_753X)>>2);
                if ((index_758X < 0)) {
                  goto L29090;}
                else {
                  if ((index_758X < len_757X)) {
                    v_759X = *((unsigned char *) ((Scode_pointerS) + 2));
                    if ((0 == v_759X)) {
                      goto L29080;}
                    else {
                      if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                        goto L29080;}
                      else {
                        merged_arg0K0 = arg3_754X;
                        merged_arg0K1 = arg2_753X;
                        merged_arg0K2 = value_755X;
                        proposal_d_write_return_tag = 1;
                        goto proposal_d_write;
                       proposal_d_write_return_1:
                        goto L29089;}}}
                  else {
                    goto L29090;}}}
              else {
                goto L29043;}}
            else {
              goto L29043;}}
          else {
            goto L29043;}}
        else {
          goto L29043;}}
      else {
        goto L29043;}}
      break;
    case 103 : {
      arg2_760X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (arg2_760X | (SvalS))))) {
        len_761X = ((arg2_760X)>>2);
        init_762X = (((SvalS))>>2);
        if ((len_761X < 0)) {
          goto L38236;}
        else {
          if ((4194304 < ((((3 + len_761X))>>2)))) {
            goto L38236;}
          else {
            addr_763X = s48_allocate_untracedAgc((4 + len_761X));
            if ((addr_763X == NULL)) {
              arg0K0 = 1;
              goto L38249;}
            else {
              *((long *) addr_763X) = (long) ((74 + (((len_761X)<<8))));
              arg0K0 = (3 + (((long) (addr_763X + 4))));
              goto L38249;}}}}
      else {
        code_764X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_764X)))))<<2)), code_764X, 20, 4);
        n_765X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_765X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_760X);
        x_766X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_766X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 104 : {
      obj_767X = SvalS;
      if ((3 == (3 & obj_767X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + obj_767X))) + -4))))>>2))))) {
          SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L50070;}}
      else {
        goto L50070;}}
      break;
    case 105 : {
      arg2_768X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_768X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_768X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_769X = (((SvalS))>>2);
            len_770X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_768X))) + -4))))>>8);
            if ((index_769X < 0)) {
              goto L45655;}
            else {
              if ((index_769X < len_770X)) {
                SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_768X))) + index_769X))))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L25161;}
              else {
                goto L45655;}}}
          else {
            goto L49124;}}
        else {
          goto L49124;}}
      else {
        goto L49124;}}
      break;
    case 106 : {
      arg2_771X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_772X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_772X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_772X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_771X | (SvalS))))) {
            index_773X = ((arg2_771X)>>2);
            Kchar_774X = (((SvalS))>>2);
            if ((3 == (3 & arg3_772X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_772X))) + -4)))))) {
                len_775X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_772X))) + -4))))>>8);
                if ((index_773X < 0)) {
                  goto L42725;}
                else {
                  if ((index_773X < len_775X)) {
                    *((unsigned char *) ((((char *) (-3 + arg3_772X))) + index_773X)) = (unsigned char) (Kchar_774X);
                    SvalS = 13;
                    Scode_pointerS = ((Scode_pointerS) + 1);
                    arg1K0 = (Scode_pointerS);
                    goto L25161;}
                  else {
                    goto L42725;}}}
              else {
                goto L42704;}}
            else {
              goto L42704;}}
          else {
            goto L47672;}}
        else {
          goto L47672;}}
      else {
        goto L47672;}}
      break;
    case 107 : {
      arg2_776X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_776X))) {
        if ((9 == (255 & (SvalS)))) {
          len_777X = ((arg2_776X)>>2);
          init_778X = ((char) ((((SvalS))>>8)));
          if ((len_777X < 0)) {
            goto L38448;}
          else {
            if ((4194304 < ((((4 + len_777X))>>2)))) {
              goto L38448;}
            else {
              len_779X = 1 + len_777X;
              addr_780X = s48_allocate_untracedAgc((4 + len_779X));
              if ((addr_780X == NULL)) {
                arg0K0 = 1;
                goto L38461;}
              else {
                *((long *) addr_780X) = (long) ((70 + (((len_779X)<<8))));
                arg0K0 = (3 + (((long) (addr_780X + 4))));
                goto L38461;}}}}
        else {
          goto L45752;}}
      else {
        goto L45752;}}
      break;
    case 108 : {
      obj_781X = SvalS;
      if ((3 == (3 & obj_781X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_781X))) + -4))))>>2))))) {
          SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L50136;}}
      else {
        goto L50136;}}
      break;
    case 109 : {
      arg2_782X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_782X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_782X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_783X = (((SvalS))>>2);
            len_784X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_782X))) + -4))))>>8));
            if ((index_783X < 0)) {
              goto L45833;}
            else {
              if ((index_783X < len_784X)) {
                SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_782X))) + index_783X))))))))<<8)));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L25161;}
              else {
                goto L45833;}}}
          else {
            goto L49238;}}
        else {
          goto L49238;}}
      else {
        goto L49238;}}
      break;
    case 110 : {
      arg2_785X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_786X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_786X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_786X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_785X))) {
            if ((9 == (255 & (SvalS)))) {
              index_787X = ((arg2_785X)>>2);
              Kchar_788X = ((char) ((((SvalS))>>8)));
              if ((3 == (3 & arg3_786X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_786X))) + -4)))))) {
                  len_789X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_786X))) + -4))))>>8));
                  if ((index_787X < 0)) {
                    goto L42912;}
                  else {
                    if ((index_787X < len_789X)) {
                      *((unsigned char *) ((((char *) (-3 + arg3_786X))) + index_787X)) = (unsigned char) ((((unsigned char) Kchar_788X)));
                      SvalS = 13;
                      Scode_pointerS = ((Scode_pointerS) + 1);
                      arg1K0 = (Scode_pointerS);
                      goto L25161;}
                    else {
                      goto L42912;}}}
                else {
                  goto L42891;}}
              else {
                goto L42891;}}
            else {
              goto L47818;}}
          else {
            goto L47818;}}
        else {
          goto L47818;}}
      else {
        goto L47818;}}
      break;
    case 111 : {s48_make_availableAgc(12);
      obj_790X = SvalS;
      if ((3 == (3 & obj_790X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_790X))) + -4))))>>2))))) {
          table_791X = Sthe_symbol_tableS;
          string_792X = SvalS;
          n_793X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_792X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L21751;}
        else {
          goto L34292;}}
      else {
        goto L34292;}}
      break;
    case 112 : {
      obj_794X = SvalS;
      if ((3 == (3 & obj_794X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_794X))) + -4))))>>2))))) {
          x_795X = SvalS;
          descriptor_796X = *((long *) ((((char *) (-3 + x_795X))) + 4));
          if ((17 == (255 & descriptor_796X))) {
            if ((529 == (*((long *) ((((char *) (-3 + x_795X))) + 4))))) {
              arg0K0 = 5;
              goto L47302;}
            else {
              arg0K0 = 1;
              goto L47302;}}
          else {
            arg0K0 = 5;
            goto L47302;}}
        else {
          goto L47283;}}
      else {
        goto L47283;}}
      break;
    case 113 : {
      arg2_797X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_797X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_797X))) + -4))))>>2))))) {
          x_798X = SvalS;
          if ((1 == x_798X)) {
            goto L42466;}
          else {
            if ((5 == x_798X)) {
              goto L42466;}
            else {
              goto L42473;}}}
        else {
          goto L42473;}}
      else {
        goto L42473;}}
      break;
    case 114 : {
      x_799X = SvalS;
      if ((3 == (3 & x_799X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_799X))) + -4)))))) {
          arg0K0 = 1;
          goto L51079;}
        else {
          arg0K0 = 5;
          goto L51079;}}
      else {
        arg0K0 = 5;
        goto L51079;}}
      break;
    case 115 : {
      x_800X = SvalS;
      if ((3 == (3 & x_800X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_800X))) + -4)))))) {
          *((long *) ((((char *) (-3 + x_800X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_800X))) + -4)))));
          goto L45931;}
        else {
          goto L45931;}}
      else {
        goto L45931;}}
      break;
    case 116 : {s48_make_availableAgc(552);
      arg2_801X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_802X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_801X))) {
        mode_803X = ((arg2_801X)>>2);
        close_silentlyP_804X = SvalS;
        if ((1 == mode_803X)) {
          goto L38928;}
        else {
          if ((2 == mode_803X)) {
            goto L38928;}
          else {
            if ((3 == mode_803X)) {
              goto L38928;}
            else {
              if ((4 == mode_803X)) {
                goto L38928;}
              else {
                arg0K0 = 5;
                goto L38678;}}}}}
      else {
        code_805X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_805X)))))<<2)), code_805X, 20, 4);
        n_806X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_806X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_802X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_801X);
        x_807X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_807X);
        arg0K0 = 3;
        goto L23869;}}
      break;
    case 117 : {s48_make_availableAgc(520);
      obj_808X = SvalS;
      if ((3 == (3 & obj_808X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_808X))) + -4))))>>2))))) {
          channel_809X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_809X))))))) {
            code_810X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_810X)))))<<2)), code_810X, 20, 4);
            n_811X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_811X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (20);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_809X);
            arg0K0 = 1;
            goto L23869;}
          else {
            status_812X = close_channelB(channel_809X);
            if ((status_812X == NO_ERRORS)) {
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L25161;}
            else {
              code_813X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_813X)))))<<2)), code_813X, 96, 4);
              n_814X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_814X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (96);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_809X);
              merged_arg0K0 = status_812X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 0;
              goto get_error_string;
             get_error_string_return_0:
              x_815X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_815X);
              arg0K0 = 2;
              goto L23869;}}}
        else {
          goto L47946;}}
      else {
        goto L47946;}}
      break;
    case 118 : {s48_make_availableAgc(8);
      arg2_816X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_817X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_818X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_819X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_819X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg5_819X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg3_817X | arg2_816X)))) {
            x_820X = SvalS;
            if ((1 == x_820X)) {
              goto L46118;}
            else {
              if ((5 == x_820X)) {
                goto L46118;}
              else {
                goto L46129;}}}
          else {
            goto L46129;}}
        else {
          goto L46129;}}
      else {
        goto L46129;}}
      break;
    case 119 : {s48_make_availableAgc(8);
      arg2_821X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_822X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_823X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_823X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg4_823X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_821X | (SvalS))))) {
            start_824X = ((arg2_821X)>>2);
            count_825X = (((SvalS))>>2);
            v_826X = 8 == (*((long *) (((char *) (-3 + arg4_823X)))));
            if (v_826X) {
              if ((3 == (3 & arg3_822X))) {
                if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_822X))) + -4))))>>2))))) {
                  goto L39473;}
                else {
                  goto L39641;}}
              else {
                goto L39641;}}
            else {
              goto L39515;}}
          else {
            goto L46348;}}
        else {
          goto L46348;}}
      else {
        goto L46348;}}
      break;
    case 120 : {s48_make_availableAgc(520);
      obj_827X = SvalS;
      if ((3 == (3 & obj_827X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_827X))) + -4))))>>2))))) {
          channel_828X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_828X))))))) {
            code_829X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_829X)))))<<2)), code_829X, 20, 4);
            n_830X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_830X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (20);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_828X);
            arg0K0 = 1;
            goto L23869;}
          else {
            readyP_831X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_828X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_828X)))))), &status_832X);
            if ((status_832X == NO_ERRORS)) {
              if (readyP_831X) {
                arg0K0 = 5;
                goto L42064;}
              else {
                arg0K0 = 1;
                goto L42064;}}
            else {
              code_833X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_833X)))))<<2)), code_833X, 96, 4);
              n_834X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_834X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (96);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_828X);
              merged_arg0K0 = status_832X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 1;
              goto get_error_string;
             get_error_string_return_1:
              x_835X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_835X);
              arg0K0 = 2;
              goto L23869;}}}
        else {
          goto L47364;}}
      else {
        goto L47364;}}
      break;
    case 121 : {
      obj_836X = SvalS;
      if ((3 == (3 & obj_836X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_836X))) + -4))))>>2))))) {
          channel_837X = SvalS;
          head_838X = Spending_channels_headS;
          if ((1 == head_838X)) {
            addr_839X = (((char *) (-3 + channel_837X))) + 20;S48_WRITE_BARRIER(channel_837X, addr_839X, 1);
            *((long *) addr_839X) = (long) (1);
            n_840X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_837X))) + 8))))>>2)));
            arg0K0 = (((n_840X)<<2));
            goto L46512;}
          else {
            if ((channel_837X == head_838X)) {
              channel_841X = Spending_channels_headS;
              next_842X = *((long *) ((((char *) (-3 + channel_841X))) + 16));
              Spending_channels_headS = next_842X;
              addr_843X = (((char *) (-3 + channel_841X))) + 16;S48_WRITE_BARRIER(channel_841X, addr_843X, 1);
              *((long *) addr_843X) = (long) (1);
              if ((1 == next_842X)) {
                Spending_channels_tailS = 1;
                goto L11604;}
              else {
                goto L11604;}}
            else {
              arg0K0 = (*((long *) ((((char *) (-3 + head_838X))) + 16)));
              arg0K1 = head_838X;
              goto L11622;}}}
        else {
          goto L46495;}}
      else {
        goto L46495;}}
      break;
    case 122 : {s48_make_availableAgc(((((3 * (Snumber_of_channelsS)))<<2)));
      arg0K0 = (-1 + (Snumber_of_channelsS));
      arg0K1 = 25;
      goto L18188;}
      break;
    case 123 : {
      SvalS = (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)));
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 124 : {
      proposal_844X = SvalS;
      if ((1 == proposal_844X)) {
        goto L39774;}
      else {
        if ((3 == (3 & proposal_844X))) {
          if ((2 == (31 & ((((*((long *) ((((char *) (-3 + proposal_844X))) + -4))))>>2))))) {
            if ((4 == ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proposal_844X))) + -4))))>>8))))>>2)))) {
              if ((1 == (*((long *) (((char *) (-3 + proposal_844X))))))) {
                goto L39774;}
              else {
                goto L39805;}}
            else {
              goto L39805;}}
          else {
            goto L39805;}}
        else {
          goto L39805;}}}
      break;
    case 125 : {
      proposal_845X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
      if ((1 == proposal_845X)) {
        code_846X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_846X)))))<<2)), code_846X, 104, 4);
        n_847X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_847X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (104);
        arg0K0 = 0;
        goto L23869;}
      else {GET_PROPOSAL_LOCK();
        log_848X = *((long *) ((((char *) (-3 + proposal_845X))) + 4));
        arg0K0 = 0;
        goto L10377;}}
      break;
    case 126 : {
      stob_849X = SvalS;
      type_850X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_851X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_849X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_849X))) + -4))))>>2))) == type_850X)) {
          x_852X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
          if ((1 == x_852X)) {
            arg0K0 = (*((long *) ((((char *) (-3 + stob_849X))) + (((offset_851X)<<2)))));
            goto L29420;}
          else {
            merged_arg0K0 = stob_849X;
            merged_arg0K1 = (((offset_851X)<<2));
            proposal_d_read_return_tag = 1;
            goto proposal_d_read;
           proposal_d_read_return_1:
            v_853X = proposal_d_read0_return_value;
            arg0K0 = v_853X;
            goto L29420;}}
        else {
          goto L29421;}}
      else {
        goto L29421;}}
      break;
    case 127 : {
      arg2_854X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_855X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_856X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_857X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & ((arg4_856X | arg2_854X) | (SvalS))))) {
        from_index_858X = ((arg4_856X)>>2);
        to_index_859X = ((arg2_854X)>>2);
        count_860X = (((SvalS))>>2);
        v_861X = *((unsigned char *) ((Scode_pointerS) + 1));
        merged_arg0K0 = arg5_857X;
        merged_arg0K1 = from_index_858X;
        merged_arg0K2 = count_860X;
        okay_copy_argsP_return_tag = 0;
        goto okay_copy_argsP;
       okay_copy_argsP_return_0:
        v_862X = okay_copy_argsP0_return_value;
        if (v_862X) {
          merged_arg0K0 = arg3_855X;
          merged_arg0K1 = to_index_859X;
          merged_arg0K2 = count_860X;
          okay_copy_argsP_return_tag = 1;
          goto okay_copy_argsP;
         okay_copy_argsP_return_1:
          v_863X = okay_copy_argsP0_return_value;
          if (v_863X) {
            if ((3 == (3 & arg3_855X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_855X))) + -4)))))) {
                if ((count_860X < 0)) {
                  goto L29530;}
                else {
                  if ((0 == v_861X)) {
                    goto L29590;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L29590;}
                    else {
                      arg0K0 = 4096;
                      arg0K1 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 12)));
                      goto L29694;}}}}
              else {
                goto L29530;}}
            else {
              goto L29530;}}
          else {
            goto L29530;}}
        else {
          goto L29530;}}
      else {
        code_864X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_864X)))))<<2)), code_864X, 20, 4);
        n_865X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_865X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg5_857X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_856X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_855X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_854X);
        x_866X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_866X);
        arg0K0 = 5;
        goto L23869;}}
      break;
    case 128 : {
      arg2_867X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_867X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_867X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_868X = (((SvalS))>>2);
            len_869X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_867X))) + -4))))>>8);
            if ((index_868X < 0)) {
              goto L29903;}
            else {
              if ((index_868X < len_869X)) {
                x_870X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                if ((1 == x_870X)) {
                  arg0K0 = ((((*((unsigned char *) ((((char *) (-3 + arg2_867X))) + index_868X))))<<2));
                  goto L29902;}
                else {
                  index_871X = ((index_868X)<<2);
                  log_872X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                  arg0K0 = 0;
                  goto L15786;}}
              else {
                goto L29903;}}}
          else {
            goto L33486;}}
        else {
          goto L33486;}}
      else {
        goto L33486;}}
      break;
    case 129 : {
      arg2_873X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_874X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_874X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_874X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_873X))) {
            index_875X = ((arg2_873X)>>2);
            byte_876X = SvalS;
            if ((3 == (3 & arg3_874X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_874X))) + -4)))))) {
                if ((0 == (3 & byte_876X))) {
                  len_877X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_874X))) + -4))))>>8);
                  if ((index_875X < 0)) {
                    goto L30045;}
                  else {
                    if ((index_875X < len_877X)) {
                      x_878X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                      if ((1 == x_878X)) {
                        *((unsigned char *) ((((char *) (-3 + arg3_874X))) + index_875X)) = (unsigned char) ((((byte_876X)>>2)));
                        goto L30044;}
                      else {
                        index_879X = ((index_875X)<<2);
                        log_880X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                        arg0K0 = 0;
                        goto L15962;}}
                    else {
                      goto L30045;}}}
                else {
                  goto L30010;}}
              else {
                goto L30010;}}
            else {
              goto L30010;}}
          else {
            goto L33607;}}
        else {
          goto L33607;}}
      else {
        goto L33607;}}
      break;
    case 130 : {
      SvalS = 529;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 131 : {
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 132 : {
      arg_881X = SvalS;
      code_882X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_882X)))))<<2)), code_882X, 60, 4);
      n_883X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_883X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (60);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg_881X);
      arg0K0 = 1;
      goto L23869;}
      break;
    case 133 : {
      SvalS = 1;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 134 : {
      SvalS = 21;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 135 : {s48_make_availableAgc(520);
      arg2_884X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_885X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_886X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_886X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_886X))) + -4))))>>2))))) {
          if ((3 == (3 & arg2_884X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_884X))) + -4))))>>2))))) {
              obj_887X = SvalS;
              if ((3 == (3 & obj_887X))) {
                if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_887X))) + -4))))>>2))))) {
                  undumpables_888X = SvalS;
                  port_889X = ps_open_output_file((((char *)(((char *) (-3 + arg4_886X))))), &status_890X);
                  if ((status_890X == NO_ERRORS)) {
                    status_891X = ps_write_string((((char *)(((char *) (-3 + arg2_884X))))), port_889X);
                    if ((status_891X == NO_ERRORS)) {
                      status_892X = s48_write_image(arg3_885X, undumpables_888X, port_889X);
                      if ((status_892X == NO_ERRORS)) {
                        status_893X = ps_close(port_889X);
                        if ((status_893X == NO_ERRORS)) {
                          SvalS = 13;
                          Scode_pointerS = ((Scode_pointerS) + 1);
                          arg1K0 = (Scode_pointerS);
                          goto L25161;}
                        else {
                          arg0K0 = 24;
                          arg0K1 = status_893X;
                          goto L43204;}}
                      else {
                        status_894X = ps_close(port_889X);
                        if ((status_894X == NO_ERRORS)) {
                          arg0K0 = 24;
                          arg0K1 = status_892X;
                          goto L43204;}
                        else {
                          ps_write_string("Unable to close image file", (stderr));
                          { long ignoreXX;
                          PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                          arg0K0 = 24;
                          arg0K1 = status_892X;
                          goto L43204;}}}
                    else {
                      status_895X = ps_close(port_889X);
                      if ((status_895X == NO_ERRORS)) {
                        arg0K0 = 24;
                        arg0K1 = status_891X;
                        goto L43204;}
                      else {
                        ps_write_string("Unable to close image file", (stderr));
                        { long ignoreXX;
                        PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                        arg0K0 = 24;
                        arg0K1 = status_891X;
                        goto L43204;}}}
                  else {
                    arg0K0 = 10;
                    arg0K1 = status_890X;
                    goto L43204;}}
                else {
                  goto L48051;}}
              else {
                goto L48051;}}
            else {
              goto L48051;}}
          else {
            goto L48051;}}
        else {
          goto L48051;}}
      else {
        goto L48051;}}
      break;
    case 136 : {
      SvalS = 13;s48_collect();
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 137 : {
      obj_896X = SvalS;
      if ((3 == (3 & obj_896X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_896X))) + -4))))>>2))))) {
          x_897X = SvalS;
          n_898X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_897X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L48804;}
        else {
          goto L48781;}}
      else {
        goto L48781;}}
      break;
    case 138 : {s48_make_availableAgc(24);
      arg2_899X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      proc_900X = SvalS;
      if ((3 == (3 & arg2_899X))) {
        if ((3 == (3 & proc_900X))) {
          if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_900X))) + -4))))>>2))))) {GET_PROPOSAL_LOCK();
            addr_901X = s48_allocate_small(12);
            *((long *) addr_901X) = (long) (2050);
            x_902X = 3 + (((long) (addr_901X + 4)));
            *((long *) (((char *) (-3 + x_902X)))) = (long) (arg2_899X);
            *((long *) ((((char *) (-3 + x_902X))) + 4)) = (long) (proc_900X);
            b_903X = SHARED_REF((Sfinalizer_alistS));
            addr_904X = s48_allocate_small(12);
            *((long *) addr_904X) = (long) (2050);
            x_905X = 3 + (((long) (addr_904X + 4)));
            *((long *) (((char *) (-3 + x_905X)))) = (long) (x_902X);
            *((long *) ((((char *) (-3 + x_905X))) + 4)) = (long) (b_903X);SHARED_SETB((Sfinalizer_alistS), x_905X);RELEASE_PROPOSAL_LOCK();
            SvalS = 13;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L25161;}
          else {
            goto L43495;}}
        else {
          goto L43495;}}
      else {
        goto L43495;}}
      break;
    case 139 : {
      arg2_906X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_906X))) {
        key_907X = ((arg2_906X)>>2);
        other_908X = SvalS;
        if ((5 == key_907X)) {
          SvalS = (-4 & other_908X);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          if ((0 == key_907X)) {
            x_909X = s48_available();
            SvalS = (((x_909X)<<2));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L25161;}
          else {
            if ((1 == key_907X)) {
              bytes_910X = s48_heap_size();
              SvalS = (-4 & (3 + bytes_910X));
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L25161;}
            else {
              if ((2 == key_907X)) {
                SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L25161;}
              else {
                if ((3 == key_907X)) {
                  x_911X = s48_gc_count();
                  SvalS = (((x_911X)<<2));
                  Scode_pointerS = ((Scode_pointerS) + 1);
                  arg1K0 = (Scode_pointerS);
                  goto L25161;}
                else {
                  if ((4 == key_907X)) {
                    code_912X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_912X)))))<<2)), code_912X, 56, 4);
                    n_913X = *((unsigned char *) (Scode_pointerS));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((n_913X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (56);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_907X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_908X);
                    arg0K0 = 2;
                    goto L23869;}
                  else {
                    code_914X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_914X)))))<<2)), code_914X, 68, 4);
                    n_915X = *((unsigned char *) (Scode_pointerS));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((n_915X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (68);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_907X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_908X);
                    arg0K0 = 2;
                    goto L23869;}}}}}}}
      else {
        code_916X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_916X)))))<<2)), code_916X, 20, 4);
        n_917X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_917X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_906X);
        x_918X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_918X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 140 : {
      if ((0 == (3 & (SvalS)))) {
        type_919X = (((SvalS))>>2);
        arg2K0 = 1;
        goto L40238;}
      else {
        code_920X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_920X)))))<<2)), code_920X, 20, 4);
        n_921X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_921X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_922X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_922X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 141 : {
      type_923X = SvalS;
      arg2K0 = 1;
      arg0K1 = type_923X;
      goto L40326;}
      break;
    case 142 : {
      SvalS = (Scurrent_threadS);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 143 : {
      Scurrent_threadS = (SvalS);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 144 : {
      val_924X = SHARED_REF((Ssession_dataS));
      SvalS = val_924X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 145 : {SHARED_SETB((Ssession_dataS), (SvalS));
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L25161;}
      break;
    case 146 : {
      obj_925X = SvalS;
      if ((3 == (3 & obj_925X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_925X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 170)) {
            goto L26982;}
          else {
            temp_926X = SHARED_REF((Sexception_handlersS));SHARED_SETB((Sexception_handlersS), (SvalS));
            SvalS = temp_926X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L25161;}}
        else {
          goto L26982;}}
      else {
        goto L26982;}}
      break;
    case 147 : {
      data_927X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_928X = *((long *) ((((char *) (-3 + data_927X))) + 8));
      exception_929X = *((long *) ((((char *) (-3 + data_927X))) + 12));
      size_930X = *((long *) ((((char *) (-3 + data_927X))) + 16));
      pc_931X = (((*((long *) ((((char *) (-3 + data_927X))) + 4))))>>2);
      opcode_932X = *((unsigned char *) ((((char *) (-3 + code_928X))) + pc_931X));
      if ((opcode_932X < 43)) {
        if ((4 == opcode_932X)) {
          goto L25275;}
        else {
          Slast_code_calledS = code_928X;
          Scode_pointerS = ((((char *) (-3 + code_928X))) + pc_931X);
          code_933X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_933X)))))<<2)), code_933X, 112, 4);
          n_934X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_934X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (112);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_929X);
          arg0K0 = 1;
          goto L23869;}}
      else {
        goto L25275;}}
      break;
    case 148 : {
      obj_935X = SvalS;
      if ((3 == (3 & obj_935X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_935X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
            goto L25913;}
          else {
            temp_936X = SHARED_REF((Sinterrupt_handlersS));SHARED_SETB((Sinterrupt_handlersS), (SvalS));
            SvalS = temp_936X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L25161;}}
        else {
          goto L25913;}}
      else {
        goto L25913;}}
      break;
    case 149 : {
      old_937X = Senabled_interruptsS;
      p_938X = SvalS;
      Senabled_interruptsS = (((p_938X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L51192;}
        else {
          goto L51192;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L51192;}}
      break;
    case 150 : {
      x_939X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_940X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      Senabled_interruptsS = (((p_940X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L9275;}
        else {
          goto L9275;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L9275;}}
      break;
    case 151 : {
      if ((0 == (3 & (SvalS)))) {
        p_941X = SvalS;
        Spending_interruptsS = (-2 & (Spending_interruptsS));
        if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
          s48_Sstack_limitS = (Sreal_stack_limitS);
          if ((s48_Spending_eventsPS)) {
            s48_Sstack_limitS = (((char *) -1));
            goto L50305;}
          else {
            goto L50305;}}
        else {
          s48_Sstack_limitS = (((char *) -1));
          goto L50305;}}
      else {
        code_942X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_942X)))))<<2)), code_942X, 20, 4);
        n_943X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_943X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_944X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_944X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 152 : {
      arg2_945X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_945X))) {
        x_946X = SvalS;
        if ((1 == x_946X)) {
          goto L47535;}
        else {
          if ((5 == x_946X)) {
            goto L47535;}
          else {
            goto L47540;}}}
      else {
        goto L47540;}}
      break;
    case 153 : {
      p_947X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      nargs_948X = ((p_947X)>>2);
      p_949X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      rest_list_950X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((14 < nargs_948X)) {
        code_951X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_951X)))))<<2)), code_951X, 76, 4);
        n_952X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_952X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (76);
        x_953X = *((long *) ((SstackS) + (-4 + (-4 & p_949X))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_953X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (nargs_948X);
        arg0K0 = 2;
        goto L23869;}
      else {
        arg0K0 = rest_list_950X;
        goto L30276;}}
      break;
    case 154 : {s48_make_availableAgc(20);
      arg2_954X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_954X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_954X))) + -4))))>>2))))) {
          x_955X = SvalS;
          if ((1 == x_955X)) {
            goto L46705;}
          else {
            if ((5 == x_955X)) {
              goto L46705;}
            else {
              goto L46710;}}}
        else {
          goto L46710;}}
      else {
        goto L46710;}}
      break;
    case 155 : {
      arg2_956X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_956X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_956X))) + -4))))>>2))))) {
          x_957X = SvalS;
          if ((1 == x_957X)) {
            goto L32092;}
          else {
            if ((5 == x_957X)) {
              goto L32092;}
            else {
              goto L32097;}}}
        else {
          goto L32097;}}
      else {
        goto L32097;}}
      break;
    case 156 : {
      arg2_958X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_958X))) {
        option_959X = ((arg2_958X)>>2);
        other_960X = SvalS;
        if ((2 == option_959X)) {
          x_961X = CHEAP_TIME();
          SvalS = (((x_961X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          if ((0 == option_959X)) {
            seconds_962X = s48_run_time(&mseconds_963X);
            arg0K0 = option_959X;
            arg0K1 = seconds_962X;
            arg0K2 = mseconds_963X;
            goto L48699;}
          else {
            if ((1 == option_959X)) {
              seconds_964X = s48_real_time(&mseconds_965X);
              arg0K0 = option_959X;
              arg0K1 = seconds_964X;
              arg0K2 = mseconds_965X;
              goto L48699;}
            else {
              code_966X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_966X)))))<<2)), code_966X, 68, 4);
              n_967X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_967X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (68);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((option_959X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (other_960X);
              arg0K0 = 2;
              goto L23869;}}}}
      else {
        code_968X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_968X)))))<<2)), code_968X, 20, 4);
        n_969X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_969X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_958X);
        x_970X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_970X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 157 : {
      arg2_971X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_971X))) {
        key_972X = ((arg2_971X)>>2);
        value_973X = SvalS;
        status_974X = s48_extended_vm(key_972X, value_973X);
        if ((0 == status_974X)) {
          SvalS = (s48_Sextension_valueS);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          if ((1 == status_974X)) {
            code_975X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_975X)))))<<2)), code_975X, 88, 4);
            n_976X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_976X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (88);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_972X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_973X);
            arg0K0 = 2;
            goto L23869;}
          else {
            code_977X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_977X)))))<<2)), code_977X, 92, 4);
            n_978X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_978X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (92);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_972X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_973X);
            arg0K0 = 2;
            goto L23869;}}}
      else {
        code_979X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_979X)))))<<2)), code_979X, 20, 4);
        n_980X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_980X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_971X);
        x_981X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_981X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 158 : {
      arg2_982X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_983X = SvalS;
      Senabled_interruptsS = -1;
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L51226;}
        else {
          goto L51226;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L51226;}}
      break;
    case 159 : {
      arg2_984X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_984X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_984X))) + -4))))>>2))))) {
          obj_985X = SvalS;
          if ((3 == (3 & obj_985X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_985X))) + -4))))>>2))))) {
              x_986X = SvalS;
              len_987X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_984X))) + -4))))>>8);
              if ((len_987X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_986X))) + -4))))>>8)))) {
                if (((!memcmp((void *)(((char *) (-3 + x_986X))), (void *)(((char *) (-3 + arg2_984X))),len_987X)))) {
                  arg0K0 = 5;
                  goto L41005;}
                else {
                  arg0K0 = 1;
                  goto L41005;}}
              else {
                arg0K0 = 1;
                goto L41005;}}
            else {
              goto L40970;}}
          else {
            goto L40970;}}
        else {
          goto L40970;}}
      else {
        goto L40970;}}
      break;
    case 160 : {s48_make_availableAgc((4 + (-4 & (4 + ((((SvalS))>>2))))));
      arg2_988X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        n_989X = (((SvalS))>>2);
        if ((3 == (3 & arg2_988X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_988X))) + -4))))>>2))))) {
            goto L40616;}
          else {
            goto L40568;}}
        else {
          goto L40568;}}
      else {
        code_990X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_990X)))))<<2)), code_990X, 20, 4);
        n_991X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_991X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_988X);
        x_992X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_992X);
        arg0K0 = 2;
        goto L23869;}}
      break;
    case 161 : {
      arg2_993X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      list_994X = SvalS;
      arg0K0 = list_994X;
      arg0K1 = list_994X;
      arg2K2 = 1;
      goto L42143;}
      break;
    case 162 : {
      if ((529 == (SvalS))) {
        code_995X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_995X)))))<<2)), code_995X, 0, 4);
        n_996X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_996X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (0);
        arg0K0 = 0;
        goto L23869;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}}
      break;
    case 163 : {
      arg2_997X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_998X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        index_999X = (((SvalS))>>2);
        if ((3 == (3 & arg3_998X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg3_998X))) + -4))))>>2))))) {
            if ((arg2_997X == (*((long *) (((char *) (-3 + arg3_998X))))))) {
              len_1000X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_998X))) + -4))))>>8))))>>2);
              if ((index_999X < 0)) {
                goto L30650;}
              else {
                if ((index_999X < len_1000X)) {
                  v_1001X = *((unsigned char *) ((Scode_pointerS) + 1));
                  if ((0 == v_1001X)) {
                    goto L30640;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L30640;}
                    else {
                      merged_arg0K0 = arg3_998X;
                      merged_arg0K1 = (((index_999X)<<2));
                      proposal_d_read_return_tag = 2;
                      goto proposal_d_read;
                     proposal_d_read_return_2:
                      v_1002X = proposal_d_read0_return_value;
                      arg0K0 = v_1002X;
                      goto L30649;}}}
                else {
                  goto L30650;}}}
            else {
              goto L30670;}}
          else {
            goto L30670;}}
        else {
          goto L30670;}}
      else {
        code_1003X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1003X)))))<<2)), code_1003X, 20, 4);
        n_1004X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1004X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_998X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_997X);
        x_1005X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1005X);
        arg0K0 = 3;
        goto L23869;}}
      break;
    case 164 : {
      arg2_1006X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1007X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1008X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1006X))) {
        index_1009X = ((arg2_1006X)>>2);
        value_1010X = SvalS;
        if ((3 == (3 & arg4_1008X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1008X))) + -4))))>>2))))) {
            if ((arg3_1007X == (*((long *) (((char *) (-3 + arg4_1008X))))))) {
              if ((3 == (3 & arg4_1008X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1008X))) + -4)))))) {
                  len_1011X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1008X))) + -4))))>>8))))>>2);
                  if ((index_1009X < 0)) {
                    goto L30940;}
                  else {
                    if ((index_1009X < len_1011X)) {
                      v_1012X = *((unsigned char *) ((Scode_pointerS) + 1));
                      if ((0 == v_1012X)) {
                        goto L30930;}
                      else {
                        if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                          goto L30930;}
                        else {
                          merged_arg0K0 = arg4_1008X;
                          merged_arg0K1 = (((index_1009X)<<2));
                          merged_arg0K2 = value_1010X;
                          proposal_d_write_return_tag = 2;
                          goto proposal_d_write;
                         proposal_d_write_return_2:
                          goto L30939;}}}
                    else {
                      goto L30940;}}}
                else {
                  goto L30962;}}
              else {
                goto L30962;}}
            else {
              goto L30962;}}
          else {
            goto L30962;}}
        else {
          goto L30962;}}
      else {
        code_1013X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1013X)))))<<2)), code_1013X, 20, 4);
        n_1014X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1014X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1008X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1007X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1006X);
        x_1015X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1015X);
        arg0K0 = 4;
        goto L23869;}}
      break;
    case 165 : {
      v_1016X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1016X)) {
        arg0K0 = (SvalS);
        goto L31251;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 0;
        goto get_current_port;
       get_current_port_return_0:
        v_1017X = get_current_port0_return_value;
        arg0K0 = v_1017X;
        goto L31251;}}
      break;
    case 166 : {
      v_1018X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1018X)) {
        arg0K0 = (SvalS);
        goto L31501;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 1;
        goto get_current_port;
       get_current_port_return_1:
        v_1019X = get_current_port0_return_value;
        arg0K0 = v_1019X;
        goto L31501;}}
      break;
    case 167 : {
      v_1020X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1020X)) {
        v_1021X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1021X;
        arg0K1 = (SvalS);
        goto L31744;}
      else {
        merged_arg0K0 = 4;
        get_current_port_return_tag = 2;
        goto get_current_port;
       get_current_port_return_2:
        v_1022X = get_current_port0_return_value;
        arg0K0 = (SvalS);
        arg0K1 = v_1022X;
        goto L31744;}}
      break;
    case 168 : {s48_make_availableAgc(520);
      if ((0 == (3 & (SvalS)))) {
        merged_arg0K0 = ((((SvalS))>>2));
        merged_arg0K1 = 0;
        get_error_string_return_tag = 2;
        goto get_error_string;
       get_error_string_return_2:
        val_1023X = get_error_string0_return_value;
        SvalS = val_1023X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        code_1024X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1024X)))))<<2)), code_1024X, 20, 4);
        n_1025X = *((unsigned char *) (Scode_pointerS));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1025X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (20);
        x_1026X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1026X);
        arg0K0 = 1;
        goto L23869;}}
      break;
    case 169 : {
      x_1027X = SvalS;
      out_1028X = stderr;
      arg0K0 = x_1027X;
      goto L42373;}
      break;
  }}
 L23775: {
  x_1029X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1029X);
  code_1030X = current_code_vector();
  pc_1031X = (Scode_pointerS) - (((char *) (-3 + code_1030X)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (code_1030X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((pc_1031X)<<2)));
  x_1032X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1032X);
  x_1033X = Scurrent_threadS;
  addr_1034X = (((char *) (-3 + x_1033X))) + 12;S48_WRITE_BARRIER(x_1033X, addr_1034X, 1);
  *((long *) addr_1034X) = (long) (1);
  n_1035X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1035X)<<2)));
  code_1036X = Sinterrupt_return_codeS;
  v_1037X = ((((ScontS) - (SstackS)))>>2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((4 + (((v_1037X)<<2))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1036X))) + 11))));
  ScontS = (SstackS);
  goto L23598;}
 L25760: {
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L23130: {
  v_1038X = arg0K0;
  SvalS = v_1038X;
  pop_continuationB_return_tag = 2;
  goto pop_continuationB;
 pop_continuationB_return_2:
  arg0K0 = 1;
  goto L25649;}
 L24250: {
  stack_nargs_1039X = arg0K0;
  list_args_1040X = arg0K1;
  merged_arg0K0 = list_args_1040X;
  merged_arg0K1 = stack_nargs_1039X;
  pop_args_GlistSAgc_return_tag = 2;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_2:
  args_1041X = pop_args_GlistSAgc0_return_value;
  code_1042X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1042X)))))<<2)), code_1042X, 16, 0);
  n_1043X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1043X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (16);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_1041X);
  arg0K0 = 2;
  goto L23869;}
 L25649: {
  bytes_used_1044X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1044X));
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L32836: {
  v_1045X = arg0K0;
  SvalS = v_1045X;
  arg0K0 = 2;
  goto L26808;}
 L26808: {
  protocol_skip_1046X = arg0K0;
  SstackS = (ScontS);
  cont_1047X = ScontS;
  pointer_1048X = (((char *) (*((long *) cont_1047X)))) + -2;
  size_1049X = ((((*((unsigned char *) pointer_1048X)))<<8)) + (*((unsigned char *) (pointer_1048X + 1)));
  if ((65535 == size_1049X)) {
    arg0K0 = ((((*((long *) (cont_1047X + 4))))>>2));
    goto L26819;}
  else {
    arg0K0 = size_1049X;
    goto L26819;}}
 L23076: {
  if ((1 == (stack_nargs_535X + list_arg_count_537X))) {
    if ((1 == stack_nargs_535X)) {
      v_1050X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = v_1050X;
      goto L23154;}
    else {
      arg0K0 = (*((long *) (((char *) (-3 + list_args_536X)))));
      goto L23154;}}
  else {
    arg0K0 = stack_nargs_535X;
    arg0K1 = list_args_536X;
    goto L24250;}}
 L23193: {
  v_1051X = arg0K0;
  ScontS = (cont_544X + (4 + (((v_1051X)<<2))));
  merged_arg0K0 = stack_nargs_535X;
  move_args_above_contB_return_tag = 6;
  goto move_args_above_contB;
 move_args_above_contB_return_6:
  arg0K0 = stack_nargs_535X;
  arg0K1 = list_args_536X;
  arg0K2 = list_arg_count_537X;
  goto L47099;}
 L47099: {
  stack_arg_count_1052X = arg0K0;
  list_args_1053X = arg0K1;
  list_arg_count_1054X = arg0K2;
  if ((0 == list_arg_count_1054X)) {
    obj_1055X = SvalS;
    if ((3 == (3 & obj_1055X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1055X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1052X;
        arg0K1 = 25;
        arg0K2 = 0;
        arg0K3 = -1;
        goto L32311;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1052X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L23303;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1052X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L23303;}}
  else {
    obj_1056X = SvalS;
    if ((3 == (3 & obj_1056X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1056X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1052X;
        arg0K1 = list_args_1053X;
        arg0K2 = list_arg_count_1054X;
        arg0K3 = -1;
        goto L32311;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1052X;
        arg0K2 = list_args_1053X;
        arg0K3 = list_arg_count_1054X;
        goto L23303;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1052X;
      arg0K2 = list_args_1053X;
      arg0K3 = list_arg_count_1054X;
      goto L23303;}}}
 L26683: {
  loc_1057X = arg1K0;
  arg_1058X = arg1K1;
  if ((arg_1058X < arg_top_548X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_535X)<<2))));
    if ((count_547X < stack_nargs_535X)) {
      merged_arg0K0 = list_args_536X;
      merged_arg0K1 = (stack_nargs_535X - count_547X);
      pop_args_GlistSAgc_return_tag = 3;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_3:
      v_1059X = pop_args_GlistSAgc0_return_value;
      arg0K0 = v_1059X;
      goto L26662;}
    else {
      arg0K0 = stack_nargs_535X;
      arg0K1 = list_args_536X;
      goto L26644;}}
  else {
    *((long *) loc_1057X) = (long) ((*((long *) arg_1058X)));
    arg1K0 = (loc_1057X + -4);
    arg1K1 = (arg_1058X + -4);
    goto L26683;}}
 L26549: {
  count_1060X = arg0K0;
  bytes_used_1061X = arg0K1;
  stack_nargs_1062X = arg0K2;
  list_args_1063X = arg0K3;
  list_arg_count_1064X = arg0K4;
  if ((count_1060X == (stack_nargs_1062X + list_arg_count_1064X))) {
    arg_top_1065X = SstackS;
    pop_continuationB_return_tag = 3;
    goto pop_continuationB;
   pop_continuationB_return_3:
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (arg_top_1065X + (-4 + (((stack_nargs_1062X)<<2))));
    goto L26581;}
  else {
    arg0K0 = stack_nargs_1062X;
    arg0K1 = list_args_1063X;
    goto L24250;}}
 L23651: {
  i_1066X = arg0K0;
  m_1067X = arg0K1;
  if ((0 == (n_549X & m_1067X))) {
    arg0K0 = (1 + i_1066X);
    arg0K1 = (((m_1067X)<<1));
    goto L23651;}
  else {
    Spending_interruptsS = ((Spending_interruptsS) & (~ m_1067X));
    handlers_1068X = SHARED_REF((Sinterrupt_handlersS));
    if ((i_1066X == 0)) {
      x_1069X = Sinterrupted_templateS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1069X);
      Sinterrupted_templateS = 1;
      n_1070X = Senabled_interruptsS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1070X)<<2)));
      arg0K0 = 2;
      goto L23608;}
    else {
      if ((i_1066X == 2)) {
        x_1071X = Sfinalize_theseS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1071X);
        Sfinalize_theseS = 25;
        n_1072X = Senabled_interruptsS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1072X)<<2)));
        arg0K0 = 2;
        goto L23608;}
      else {
        if ((i_1066X == 3)) {
          channel_1073X = Spending_channels_headS;
          next_1074X = *((long *) ((((char *) (-3 + channel_1073X))) + 16));
          Spending_channels_headS = next_1074X;
          addr_1075X = (((char *) (-3 + channel_1073X))) + 16;S48_WRITE_BARRIER(channel_1073X, addr_1075X, 1);
          *((long *) addr_1075X) = (long) (1);
          if ((1 == next_1074X)) {
            Spending_channels_tailS = 1;
            arg0K0 = channel_1073X;
            goto L11821;}
          else {
            arg0K0 = channel_1073X;
            goto L11821;}}
        else {
          if ((i_1066X == 4)) {
            v_1076X = (Sos_signal_ring_startS) == (Sos_signal_ring_endS);
            if (v_1076X) {
              ps_error("This cannot happen: OS signal ring empty", 0);
              goto L12005;}
            else {
              goto L12005;}}
          else {
            n_1077X = Senabled_interruptsS;
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1077X)<<2)));
            arg0K0 = 1;
            goto L23608;}}}}}}
 L8477: {
  new_env_1078X = arg0K0;
  i_1079X = arg0K1;
  offset_1080X = arg0K2;
  total_count_1081X = arg0K3;
  arg0K0 = (*((unsigned char *) ((Scode_pointerS) + (1 + offset_1080X))));
  arg0K1 = i_1079X;
  arg0K2 = (1 + offset_1080X);
  goto L8483;}
 L18458: {
  count_1082X = arg0K0;
  i_1083X = arg0K1;
  offset_1084X = arg0K2;
  if ((0 == count_1082X)) {
    arg0K0 = new_env_576X;
    arg0K1 = i_1083X;
    arg0K2 = offset_1084X;
    arg0K3 = total_count_572X;
    goto L8477;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_577X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1084X)))))<<2)))));
    merged_arg0K1 = new_env_576X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 0;
    goto make_closure;
   make_closure_return_0:
    value_1085X = make_closure0_return_value;
    addr_1086X = (((char *) (-3 + new_env_576X))) + (((i_1083X)<<2));S48_WRITE_BARRIER(new_env_576X, addr_1086X, value_1085X);
    *((long *) addr_1086X) = (long) (value_1085X);
    arg0K0 = (-1 + count_1082X);
    arg0K1 = (1 + i_1083X);
    arg0K2 = (1 + offset_1084X);
    goto L18458;}}
 L10998: {
  new_env_1087X = arg0K0;
  i_1088X = arg0K1;
  offset_1089X = arg0K2;
  total_count_1090X = arg0K3;
  arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1089X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1089X)))));
  arg0K1 = i_1088X;
  arg0K2 = (2 + offset_1089X);
  goto L11004;}
 L18519: {
  count_1091X = arg0K0;
  i_1092X = arg0K1;
  offset_1093X = arg0K2;
  if ((0 == count_1091X)) {
    arg0K0 = new_env_582X;
    arg0K1 = i_1092X;
    arg0K2 = offset_1093X;
    arg0K3 = total_count_578X;
    goto L10998;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_583X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1093X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1093X))))))<<2)))));
    merged_arg0K1 = new_env_582X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 1;
    goto make_closure;
   make_closure_return_1:
    value_1094X = make_closure0_return_value;
    addr_1095X = (((char *) (-3 + new_env_582X))) + (((i_1092X)<<2));S48_WRITE_BARRIER(new_env_582X, addr_1095X, value_1094X);
    *((long *) addr_1095X) = (long) (value_1094X);
    arg0K0 = (-1 + count_1091X);
    arg0K1 = (1 + i_1092X);
    arg0K2 = (2 + offset_1093X);
    goto L18519;}}
 L50742: {
  value_1096X = arg0K0;
  SvalS = value_1096X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L32231: {
  stack_arg_count_1097X = arg0K0;
  obj_1098X = SvalS;
  if ((3 == (3 & obj_1098X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1098X))) + -4))))>>2))))) {
      template_1099X = *((long *) (((char *) (-3 + (SvalS)))));
      code_1100X = *((long *) (((char *) (-3 + template_1099X))));
      protocol_1101X = *((unsigned char *) ((((char *) (-3 + code_1100X))) + 1));
      if ((protocol_1101X == stack_arg_count_1097X)) {
        arg0K0 = code_1100X;
        arg0K1 = 2;
        arg0K2 = 3;
        arg0K3 = template_1099X;
        goto L22889;}
      else {
        if (((127 & protocol_1101X) == stack_arg_count_1097X)) {
          v_1102X = s48_call_native_procedure((SvalS), 2);
          arg0K0 = v_1102X;
          goto L25656;}
        else {
          arg0K0 = stack_arg_count_1097X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L32311;}}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1097X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L23303;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_1097X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L23303;}}
 L23432: {
  obj_1103X = SvalS;
  if ((3 == (3 & obj_1103X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1103X))) + -4))))>>2))))) {
      arg0K0 = stack_arg_count_593X;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L32311;}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_593X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L23303;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_593X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L23303;}}
 L16772: {
  list_args_1104X = arg0K0;
  stack_nargs_1105X = arg0K1;
  merged_arg0K0 = list_args_1104X;
  okay_argument_list_return_tag = 1;
  goto okay_argument_list;
 okay_argument_list_return_1:
  okayP_1106X = okay_argument_list0_return_value;
  list_arg_count_1107X = okay_argument_list1_return_value;
  if (okayP_1106X) {
    arg0K0 = stack_nargs_1105X;
    arg0K1 = list_args_1104X;
    arg0K2 = list_arg_count_1107X;
    goto L47099;}
  else {
    merged_arg0K0 = list_args_1104X;
    merged_arg0K1 = stack_nargs_1105X;
    pop_args_GlistSAgc_return_tag = 4;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_4:
    args_1108X = pop_args_GlistSAgc0_return_value;
    code_1109X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1109X)))))<<2)), code_1109X, 20, 0);
    n_1110X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1110X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (20);
    x_1111X = SvalS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1111X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1108X);
    arg0K0 = 2;
    goto L23869;}}
 L16817: {
  list_1112X = arg0K0;
  follower_1113X = arg0K1;
  if ((25 == list_1112X)) {
    list_args_1114X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_1113X))) + 4)))))));
    addr_1115X = (((char *) (-3 + follower_1113X))) + 4;S48_WRITE_BARRIER(follower_1113X, addr_1115X, list_args_1114X);
    *((long *) addr_1115X) = (long) (list_args_1114X);
    arg0K0 = rest_list_609X;
    arg0K1 = (-1 + stack_nargs_608X);
    goto L16772;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + list_1112X))) + 4)));
    arg0K1 = (*((long *) ((((char *) (-3 + follower_1113X))) + 4)));
    goto L16817;}}
 L23390: {
  obj_1116X = SvalS;
  if ((3 == (3 & obj_1116X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1116X))) + -4))))>>2))))) {
      arg0K0 = 0;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L32311;}
    else {
      arg0K0 = 3;
      arg0K1 = 0;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L23303;}}
  else {
    arg0K0 = 3;
    arg0K1 = 0;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L23303;}}
 L23399: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = cont_611X;
  ScontS = (Sbottom_of_stackS);
  goto L23390;}
 L49400: {
  code_pointer_1117X = ((char *) (*((long *) (ScontS))));
  protocol_1118X = *((unsigned char *) (code_pointer_1117X + 1));
  if ((1 == protocol_1118X)) {
    goto L49417;}
  else {
    if ((66 == protocol_1118X)) {
      goto L49417;}
    else {
      if ((129 == protocol_1118X)) {
        arg0K0 = 2;
        goto L26808;}
      else {
        if ((194 == protocol_1118X)) {
          arg0K0 = 2;
          goto L26808;}
        else {
          if ((71 == protocol_1118X)) {
            cont_1119X = Sheap_continuationS;
            if ((3 == (3 & cont_1119X))) {
              if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1119X))) + -4))))>>2))))) {
                merged_arg0K0 = cont_1119X;
                merged_arg0K1 = 0;
                copy_continuation_from_heapB_return_tag = 2;
                goto copy_continuation_from_heapB;
               copy_continuation_from_heapB_return_2:
                goto L49400;}
              else {
                arg0K0 = cont_1119X;
                goto L24151;}}
            else {
              arg0K0 = cont_1119X;
              goto L24151;}}
          else {
            if ((70 == protocol_1118X)) {
              offset_1120X = ((((*((unsigned char *) (code_pointer_1117X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1117X + 3)));
              proc_1121X = *((long *) ((ScontS) + 4));
              if ((0 == offset_1120X)) {
                cont_1122X = ScontS;
                pointer_1123X = (((char *) (*((long *) cont_1122X)))) + -2;
                size_1124X = ((((*((unsigned char *) pointer_1123X)))<<8)) + (*((unsigned char *) (pointer_1123X + 1)));
                if ((65535 == size_1124X)) {
                  arg0K0 = ((((*((long *) (cont_1122X + 4))))>>2));
                  goto L49561;}
                else {
                  arg0K0 = size_1124X;
                  goto L49561;}}
              else {
                ScontS = ((ScontS) + 4);
                *((long *) (ScontS)) = (long) ((((long) (code_pointer_1117X + offset_1120X))));
                SstackS = (ScontS);
                goto L49466;}}
            else {
              if ((65 == protocol_1118X)) {
                wants_stack_args_1125X = ((((*((unsigned char *) (code_pointer_1117X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1117X + 3)));
                if ((0 == wants_stack_args_1125X)) {
                  pop_continuationB_return_tag = 4;
                  goto pop_continuationB;
                 pop_continuationB_return_4:s48_make_availableAgc(12);
                  a_1126X = SvalS;
                  addr_1127X = s48_allocate_small(12);
                  *((long *) addr_1127X) = (long) (2050);
                  x_1128X = 3 + (((long) (addr_1127X + 4)));
                  *((long *) (((char *) (-3 + x_1128X)))) = (long) (a_1126X);
                  *((long *) ((((char *) (-3 + x_1128X))) + 4)) = (long) (25);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (x_1128X);
                  Scode_pointerS = ((Scode_pointerS) + 4);
                  arg1K0 = (Scode_pointerS);
                  goto L25161;}
                else {
                  if ((1 == wants_stack_args_1125X)) {
                    pop_continuationB_return_tag = 5;
                    goto pop_continuationB;
                   pop_continuationB_return_5:
                    x_1129X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1129X);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (25);
                    Scode_pointerS = ((Scode_pointerS) + 4);
                    arg1K0 = (Scode_pointerS);
                    goto L25161;}
                  else {
                    x_1130X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1130X);
                    arg0K0 = 1;
                    arg0K1 = 25;
                    goto L24250;}}}
              else {
                x_1131X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1131X);
                arg0K0 = 1;
                arg0K1 = 25;
                goto L24250;}}}}}}}}
 L26848: {
  if ((nargs_618X == (*((unsigned char *) ((((char *) (-3 + code_617X))) + 1))))) {
    arg0K0 = code_617X;
    arg0K1 = 2;
    arg0K2 = 3;
    arg0K3 = template_616X;
    goto L22889;}
  else {
    v_1132X = *((unsigned char *) ((((char *) (-3 + code_617X))) + 1));
    if ((67 == v_1132X)) {
      if ((nargs_618X == (*((unsigned char *) ((((char *) (-3 + code_617X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_617X))) + -4))))>>8)))))))) {
        index_1133X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_617X))) + -4))))>>8));
        arg0K0 = code_617X;
        arg0K1 = 2;
        arg0K2 = template_616X;
        arg0K3 = (((((*((unsigned char *) ((((char *) (-3 + code_617X))) + index_1133X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_617X))) + (1 + index_1133X)))));
        goto L25742;}
      else {
        goto L26870;}}
    else {
      goto L26870;}}}
 L25518: {
  arg0K0 = (2 + (((max_622X)<<1)));
  goto L25520;}
 L25520: {
  offset_1134X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + offset_1134X);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L26186: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L25416: {
  delta_1135X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1135X);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L26077: {
  delta_1136X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1136X);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L50799: {
  val_1137X = arg0K0;
  SvalS = val_1137X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L50811: {
  val_1138X = arg0K0;
  SvalS = val_1138X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L14510: {
  if ((3 == (3 & x_639X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + x_639X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50811;}
    else {
      goto L14516;}}
  else {
    goto L14516;}}
 L41596: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41597: {
  if ((3 == (3 & n_640X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_640X))) + -4))))>>2))))) {
      arg0K0 = n_640X;
      goto L24475;}
    else {
      goto L41605;}}
  else {
    goto L41605;}}
 L41723: {
  n_1139X = arg0K0;
  if ((0 == (3 & n_1139X))) {
    goto L41756;}
  else {
    if ((3 == (3 & n_1139X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_1139X))) + -4))))>>2))))) {
        goto L41756;}
      else {
        goto L41739;}}
    else {
      goto L41739;}}}
 L34366: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34367: {
  code_1140X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1140X)))))<<2)), code_1140X, 20, 4);
  n_1141X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1141X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_641X);
  arg0K0 = 1;
  goto L23869;}
 L24475: {
  x_1142X = arg0K0;
  code_1143X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1143X)))))<<2)), code_1143X, 20, 4);
  n_1144X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1144X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1142X);
  arg0K0 = 1;
  goto L23869;}
 L34508: {
  v_1145X = (char *) s48_long_to_bignum(x_644X);
  v_1146X = enter_bignum(v_1145X);
  arg0K0 = v_1146X;
  goto L34454;}
 L34454: {
  val_1147X = arg0K0;
  SvalS = val_1147X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34460: {
  if ((0 == (3 & y_643X))) {
    goto L34466;}
  else {
    if ((3 == (3 & y_643X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_643X))) + -4))))>>2))))) {
        goto L34466;}
      else {
        goto L34469;}}
    else {
      goto L34469;}}}
 L34469: {
  if ((3 == (3 & arg2_642X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_642X))) + -4))))>>2))))) {
      if ((3 == (3 & y_643X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_643X))) + -4))))>>2))))) {
          Stemp0S = arg2_642X;
          Stemp1S = y_643X;s48_make_availableAgc(12);
          value_1148X = Stemp0S;
          Stemp0S = 1;
          x_1149X = *((double *) (((char *) (-3 + value_1148X))));
          value_1150X = Stemp1S;
          Stemp1S = 1;
          y_1151X = *((double *) (((char *) (-3 + value_1150X))));
          addr_1152X = s48_allocate_small(12);
          *((long *) addr_1152X) = (long) (2126);
          Kdouble_1153X = 3 + (((long) (addr_1152X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1153X)))) = (double) ((x_1149X + y_1151X));
          SvalS = Kdouble_1153X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L34483;}}
      else {
        goto L34483;}}
    else {
      goto L34483;}}
  else {
    goto L34483;}}
 L8643: {
  a_1154X = arg0K0;
  if ((b_648X < 0)) {
    arg0K0 = (0 - b_648X);
    goto L8647;}
  else {
    arg0K0 = b_648X;
    goto L8647;}}
 L43631: {
  if ((0 == (3 & y_646X))) {
    goto L43637;}
  else {
    if ((3 == (3 & y_646X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_646X))) + -4))))>>2))))) {
        goto L43637;}
      else {
        goto L43640;}}
    else {
      goto L43640;}}}
 L43640: {
  if ((3 == (3 & arg2_645X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_645X))) + -4))))>>2))))) {
      if ((3 == (3 & y_646X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_646X))) + -4))))>>2))))) {
          Stemp0S = arg2_645X;
          Stemp1S = y_646X;s48_make_availableAgc(12);
          value_1155X = Stemp0S;
          Stemp0S = 1;
          x_1156X = *((double *) (((char *) (-3 + value_1155X))));
          value_1157X = Stemp1S;
          Stemp1S = 1;
          y_1158X = *((double *) (((char *) (-3 + value_1157X))));
          addr_1159X = s48_allocate_small(12);
          *((long *) addr_1159X) = (long) (2126);
          Kdouble_1160X = 3 + (((long) (addr_1159X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1160X)))) = (double) ((x_1156X * y_1158X));
          SvalS = Kdouble_1160X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          arg0K0 = arg2_645X;
          arg0K1 = y_646X;
          goto L24506;}}
      else {
        arg0K0 = arg2_645X;
        arg0K1 = y_646X;
        goto L24506;}}
    else {
      arg0K0 = arg2_645X;
      arg0K1 = y_646X;
      goto L24506;}}
  else {
    arg0K0 = arg2_645X;
    arg0K1 = y_646X;
    goto L24506;}}
 L34813: {
  v_1161X = (char *) s48_long_to_bignum(x_651X);
  v_1162X = enter_bignum(v_1161X);
  arg0K0 = v_1162X;
  goto L34759;}
 L34759: {
  val_1163X = arg0K0;
  SvalS = val_1163X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34765: {
  if ((0 == (3 & y_650X))) {
    goto L34771;}
  else {
    if ((3 == (3 & y_650X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_650X))) + -4))))>>2))))) {
        goto L34771;}
      else {
        goto L34774;}}
    else {
      goto L34774;}}}
 L34774: {
  if ((3 == (3 & arg2_649X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_649X))) + -4))))>>2))))) {
      if ((3 == (3 & y_650X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_650X))) + -4))))>>2))))) {
          Stemp0S = arg2_649X;
          Stemp1S = y_650X;s48_make_availableAgc(12);
          value_1164X = Stemp0S;
          Stemp0S = 1;
          x_1165X = *((double *) (((char *) (-3 + value_1164X))));
          value_1166X = Stemp1S;
          Stemp1S = 1;
          y_1167X = *((double *) (((char *) (-3 + value_1166X))));
          addr_1168X = s48_allocate_small(12);
          *((long *) addr_1168X) = (long) (2126);
          Kdouble_1169X = 3 + (((long) (addr_1168X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1169X)))) = (double) ((x_1165X - y_1167X));
          SvalS = Kdouble_1169X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L25161;}
        else {
          goto L34788;}}
      else {
        goto L34788;}}
    else {
      goto L34788;}}
  else {
    goto L34788;}}
 L24506: {
  x_1170X = arg0K0;
  y_1171X = arg0K1;
  code_1172X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1172X)))))<<2)), code_1172X, 20, 4);
  n_1173X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1173X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1170X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1171X);
  arg0K0 = 2;
  goto L23869;}
 L8901: {
  a_1174X = arg0K0;
  if ((b_655X < 0)) {
    arg0K0 = (0 - b_655X);
    goto L8905;}
  else {
    arg0K0 = b_655X;
    goto L8905;}}
 L43874: {
  if ((0 == (3 & y_653X))) {
    goto L43880;}
  else {
    if ((3 == (3 & y_653X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_653X))) + -4))))>>2))))) {
        goto L43880;}
      else {
        goto L43907;}}
    else {
      goto L43907;}}}
 L43907: {
  if ((3 == (3 & arg2_652X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_652X))) + -4))))>>2))))) {
      if ((3 == (3 & y_653X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_653X))) + -4))))>>2))))) {
          if ((0. == (*((double *) (((char *) (-3 + y_653X))))))) {
            arg0K0 = 1;
            goto L43920;}
          else {
            Stemp0S = arg2_652X;
            Stemp1S = y_653X;s48_make_availableAgc(12);
            value_1175X = Stemp0S;
            Stemp0S = 1;
            x_1176X = *((double *) (((char *) (-3 + value_1175X))));
            value_1177X = Stemp1S;
            Stemp1S = 1;
            value_1178X = x_1176X / (*((double *) (((char *) (-3 + value_1177X)))));
            addr_1179X = s48_allocate_small(12);
            *((long *) addr_1179X) = (long) (2126);
            Kdouble_1180X = 3 + (((long) (addr_1179X + 4)));
            *((double *) (((char *) (-3 + Kdouble_1180X)))) = (double) (value_1178X);
            arg0K0 = Kdouble_1180X;
            goto L43920;}}
        else {
          arg0K0 = arg2_652X;
          arg0K1 = y_653X;
          goto L24506;}}
      else {
        arg0K0 = arg2_652X;
        arg0K1 = y_653X;
        goto L24506;}}
    else {
      arg0K0 = arg2_652X;
      arg0K1 = y_653X;
      goto L24506;}}
  else {
    arg0K0 = arg2_652X;
    arg0K1 = y_653X;
    goto L24506;}}
 L35060: {
  val_1181X = arg0K0;
  SvalS = val_1181X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35066: {
  if ((0 == (3 & y_657X))) {
    goto L35072;}
  else {
    if ((3 == (3 & y_657X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_657X))) + -4))))>>2))))) {
        goto L35072;}
      else {
        goto L35077;}}
    else {
      goto L35077;}}}
 L35077: {
  if ((3 == (3 & arg2_656X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_656X))) + -4))))>>2))))) {
      if ((3 == (3 & y_657X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_657X))) + -4))))>>2))))) {
          b_1182X = (*((double *) (((char *) (-3 + arg2_656X))))) == (*((double *) (((char *) (-3 + y_657X)))));
          if (b_1182X) {
            arg0K0 = 5;
            goto L35092;}
          else {
            arg0K0 = 1;
            goto L35092;}}
        else {
          goto L35093;}}
      else {
        goto L35093;}}
    else {
      goto L35093;}}
  else {
    goto L35093;}}
 L35336: {
  val_1183X = arg0K0;
  SvalS = val_1183X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35342: {
  if ((0 == (3 & y_659X))) {
    goto L35348;}
  else {
    if ((3 == (3 & y_659X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_659X))) + -4))))>>2))))) {
        goto L35348;}
      else {
        goto L35353;}}
    else {
      goto L35353;}}}
 L35353: {
  if ((3 == (3 & arg2_658X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_658X))) + -4))))>>2))))) {
      if ((3 == (3 & y_659X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_659X))) + -4))))>>2))))) {
          b_1184X = (*((double *) (((char *) (-3 + arg2_658X))))) < (*((double *) (((char *) (-3 + y_659X)))));
          if (b_1184X) {
            arg0K0 = 5;
            goto L35368;}
          else {
            arg0K0 = 1;
            goto L35368;}}
        else {
          goto L35369;}}
      else {
        goto L35369;}}
    else {
      goto L35369;}}
  else {
    goto L35369;}}
 L35675: {
  val_1185X = arg0K0;
  SvalS = val_1185X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35681: {
  if ((0 == (3 & y_661X))) {
    goto L35687;}
  else {
    if ((3 == (3 & y_661X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_661X))) + -4))))>>2))))) {
        goto L35687;}
      else {
        goto L35692;}}
    else {
      goto L35692;}}}
 L35692: {
  if ((3 == (3 & arg2_660X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_660X))) + -4))))>>2))))) {
      if ((3 == (3 & y_661X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_661X))) + -4))))>>2))))) {
          b_1186X = (*((double *) (((char *) (-3 + y_661X))))) < (*((double *) (((char *) (-3 + arg2_660X)))));
          if (b_1186X) {
            arg0K0 = 5;
            goto L35707;}
          else {
            arg0K0 = 1;
            goto L35707;}}
        else {
          goto L35708;}}
      else {
        goto L35708;}}
    else {
      goto L35708;}}
  else {
    goto L35708;}}
 L36014: {
  val_1187X = arg0K0;
  SvalS = val_1187X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36020: {
  if ((0 == (3 & y_663X))) {
    goto L36026;}
  else {
    if ((3 == (3 & y_663X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_663X))) + -4))))>>2))))) {
        goto L36026;}
      else {
        goto L36031;}}
    else {
      goto L36031;}}}
 L36031: {
  if ((3 == (3 & arg2_662X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_662X))) + -4))))>>2))))) {
      if ((3 == (3 & y_663X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_663X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + y_663X))))) < (*((double *) (((char *) (-3 + arg2_662X))))))) {
            arg0K0 = 1;
            goto L36046;}
          else {
            arg0K0 = 5;
            goto L36046;}}
        else {
          goto L36047;}}
      else {
        goto L36047;}}
    else {
      goto L36047;}}
  else {
    goto L36047;}}
 L36324: {
  val_1188X = arg0K0;
  SvalS = val_1188X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36330: {
  if ((0 == (3 & y_665X))) {
    goto L36336;}
  else {
    if ((3 == (3 & y_665X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_665X))) + -4))))>>2))))) {
        goto L36336;}
      else {
        goto L36341;}}
    else {
      goto L36341;}}}
 L36341: {
  if ((3 == (3 & arg2_664X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_664X))) + -4))))>>2))))) {
      if ((3 == (3 & y_665X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_665X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + arg2_664X))))) < (*((double *) (((char *) (-3 + y_665X))))))) {
            arg0K0 = 1;
            goto L36356;}
          else {
            arg0K0 = 5;
            goto L36356;}}
        else {
          goto L36357;}}
      else {
        goto L36357;}}
    else {
      goto L36357;}}
  else {
    goto L36357;}}
 L19752: {
  x_1189X = arg0K0;
  y_1190X = arg0K1;
  if ((0 == (3 & x_1189X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19782;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1189X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19782;}}
 L9590: {
  a_1191X = arg0K0;
  if ((b_669X < 0)) {
    arg0K0 = (0 - b_669X);
    goto L9594;}
  else {
    arg0K0 = b_669X;
    goto L9594;}}
 L36646: {
  if ((0 == (3 & y_667X))) {
    goto L36652;}
  else {
    if ((3 == (3 & y_667X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_667X))) + -4))))>>2))))) {
        goto L36652;}
      else {
        arg0K0 = arg2_666X;
        arg0K1 = y_667X;
        goto L24506;}}
    else {
      arg0K0 = arg2_666X;
      arg0K1 = y_667X;
      goto L24506;}}}
 L19843: {
  x_1192X = arg0K0;
  y_1193X = arg0K1;
  if ((0 == (3 & x_1192X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19873;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1192X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19873;}}
 L36826: {
  a_1194X = arg0K0;
  n_1195X = ((y_671X)>>2);
  if ((n_1195X < 0)) {
    arg0K0 = (0 - n_1195X);
    goto L36828;}
  else {
    arg0K0 = n_1195X;
    goto L36828;}}
 L36800: {
  if ((0 == (3 & y_671X))) {
    goto L36806;}
  else {
    if ((3 == (3 & y_671X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_671X))) + -4))))>>2))))) {
        goto L36806;}
      else {
        arg0K0 = arg2_670X;
        arg0K1 = y_671X;
        goto L24506;}}
    else {
      arg0K0 = arg2_670X;
      arg0K1 = y_671X;
      goto L24506;}}}
 L36965: {
  SvalS = n_673X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36966: {
  code_1196X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1196X)))))<<2)), code_1196X, 20, 4);
  n_1197X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1197X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_673X);
  arg0K0 = 1;
  goto L23869;}
 L37036: {
  SvalS = n_674X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37037: {
  code_1198X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1198X)))))<<2)), code_1198X, 20, 4);
  n_1199X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1199X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_674X);
  arg0K0 = 1;
  goto L23869;}
 L37107: {
  SvalS = 4;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37110: {
  code_1200X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1200X)))))<<2)), code_1200X, 20, 4);
  n_1201X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1201X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_675X);
  arg0K0 = 1;
  goto L23869;}
 L37183: {
  SvalS = n_676X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37184: {
  code_1202X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1202X)))))<<2)), code_1202X, 20, 4);
  n_1203X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1203X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_676X);
  arg0K0 = 1;
  goto L23869;}
 L37254: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37257: {
  code_1204X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1204X)))))<<2)), code_1204X, 20, 4);
  n_1205X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1205X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_677X);
  arg0K0 = 1;
  goto L23869;}
 L50917: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L24385: {
  x_1206X = SvalS;
  if ((0 == (3 & x_1206X))) {
    if ((x_1206X < 0)) {
      arg0K0 = (0 - x_1206X);
      goto L24411;}
    else {
      arg0K0 = x_1206X;
      goto L24411;}}
  else {
    if ((0 == (3 & x_1206X))) {
      arg0K0 = 1;
      arg0K1 = 3;
      goto L19360;}
    else {
      arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1206X))) + -4))))>>8))))>>2)));
      arg0K1 = 0;
      goto L19360;}}}
 L24388: {
  code_1207X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1207X)))))<<2)), code_1207X, 20, 4);
  n_1208X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1208X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1209X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1209X);
  arg0K0 = 1;
  goto L23869;}
 L37417: {
  if ((0 == (3 & x_684X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19485;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_684X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19485;}}
 L37420: {
  code_1210X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1210X)))))<<2)), code_1210X, 20, 4);
  n_1211X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1211X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_684X);
  arg0K0 = 1;
  goto L23869;}
 L37524: {
  x_1212X = arg0K0;
  arg0K0 = x_1212X;
  arg0K1 = 0;
  goto L37530;}
 L37507: {
  if ((0 == (3 & x_685X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L18901;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_685X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L18901;}}
 L37510: {
  code_1213X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1213X)))))<<2)), code_1213X, 20, 4);
  n_1214X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1214X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_685X);
  arg0K0 = 1;
  goto L23869;}
 L37625: {
  if ((0 == (3 & y_688X))) {
    goto L37631;}
  else {
    if ((3 == (3 & y_688X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_688X))) + -4))))>>2))))) {
        goto L37631;}
      else {
        goto L37634;}}
    else {
      goto L37634;}}}
 L37634: {
  code_1215X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1215X)))))<<2)), code_1215X, 20, 4);
  n_1216X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1216X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_687X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_688X);
  arg0K0 = 2;
  goto L23869;}
 L37804: {
  if ((0 == (3 & y_690X))) {
    goto L37810;}
  else {
    if ((3 == (3 & y_690X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_690X))) + -4))))>>2))))) {
        goto L37810;}
      else {
        goto L37813;}}
    else {
      goto L37813;}}}
 L37813: {
  code_1217X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1217X)))))<<2)), code_1217X, 20, 4);
  n_1218X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1218X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_689X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_690X);
  arg0K0 = 2;
  goto L23869;}
 L37983: {
  if ((0 == (3 & y_692X))) {
    goto L37989;}
  else {
    if ((3 == (3 & y_692X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_692X))) + -4))))>>2))))) {
        goto L37989;}
      else {
        goto L37992;}}
    else {
      goto L37992;}}}
 L37992: {
  code_1219X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1219X)))))<<2)), code_1219X, 20, 4);
  n_1220X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1220X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_691X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_692X);
  arg0K0 = 2;
  goto L23869;}
 L34098: {
  val_1221X = arg0K0;
  SvalS = val_1221X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34114: {
  val_1222X = arg0K0;
  SvalS = val_1222X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34115: {
  code_1223X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1223X)))))<<2)), code_1223X, 24, 4);
  n_1224X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1224X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (24);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_693X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_694X);
  arg0K0 = 2;
  goto L23869;}
 L44156: {
  if ((0 == (3 & y_694X))) {
    if ((0 == (3 & arg2_693X))) {
      value_1225X = ((arg2_693X)>>2);
      count_1226X = ((y_694X)>>2);
      if ((count_1226X < 0)) {
        PS_SHIFT_RIGHT(value_1225X, (0 - count_1226X), x_1227X)
        x_1228X = x_1227X;s48_make_availableAgc(16);
        if ((536870911 < x_1228X)) {
          goto L44264;}
        else {
          if ((x_1228X < -536870912)) {
            goto L44264;}
          else {
            arg0K0 = (((x_1228X)<<2));
            goto L44259;}}}
      else {
        PS_SHIFT_LEFT(value_1225X, count_1226X, x_1229X)
        result_1230X = x_1229X;
        PS_SHIFT_RIGHT(result_1230X, count_1226X, x_1231X)
        if ((value_1225X == x_1231X)) {
          if ((value_1225X < 0)) {
            if ((result_1230X < 0)) {s48_make_availableAgc(16);
              if ((536870911 < result_1230X)) {
                goto L44286;}
              else {
                if ((result_1230X < -536870912)) {
                  goto L44286;}
                else {
                  arg0K0 = (((result_1230X)<<2));
                  goto L44281;}}}
            else {
              arg0K0 = arg2_693X;
              arg0K1 = y_694X;
              goto L44169;}}
          else {
            if ((result_1230X < 0)) {
              arg0K0 = arg2_693X;
              arg0K1 = y_694X;
              goto L44169;}
            else {s48_make_availableAgc(16);
              if ((536870911 < result_1230X)) {
                goto L44308;}
              else {
                if ((result_1230X < -536870912)) {
                  goto L44308;}
                else {
                  arg0K0 = (((result_1230X)<<2));
                  goto L44303;}}}}}
        else {
          arg0K0 = arg2_693X;
          arg0K1 = y_694X;
          goto L44169;}}}
    else {
      if ((3 == (3 & arg2_693X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_693X))) + -4))))>>2))))) {
          y_1232X = ((y_694X)>>2);
          merged_arg0K0 = arg2_693X;
          merged_arg0K1 = y_1232X;
          shift_space_return_tag = 0;
          goto shift_space;
         shift_space_return_0:
          needed_1233X = shift_space0_return_value;
          Stemp0S = arg2_693X;s48_make_availableAgc((((needed_1233X)<<2)));
          value_1234X = Stemp0S;
          Stemp0S = 1;
          if ((0 == (3 & value_1234X))) {
            v_1235X = (char *) s48_long_to_bignum((((value_1234X)>>2)));
            arg1K0 = v_1235X;
            goto L44339;}
          else {
            arg1K0 = (((char *) (-3 + value_1234X)));
            goto L44339;}}
        else {
          arg0K0 = arg2_693X;
          arg0K1 = y_694X;
          goto L24506;}}
      else {
        arg0K0 = arg2_693X;
        arg0K1 = y_694X;
        goto L24506;}}}
  else {
    arg0K0 = arg2_693X;
    arg0K1 = y_694X;
    goto L24506;}}
 L50978: {
  val_1236X = arg0K0;
  SvalS = val_1236X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41365: {
  val_1237X = arg0K0;
  SvalS = val_1237X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41336: {
  code_1238X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1238X)))))<<2)), code_1238X, 20, 4);
  n_1239X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1239X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_700X);
  x_1240X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1240X);
  arg0K0 = 2;
  goto L23869;}
 L41257: {
  val_1241X = arg0K0;
  SvalS = val_1241X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41228: {
  code_1242X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1242X)))))<<2)), code_1242X, 20, 4);
  n_1243X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1243X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_702X);
  x_1244X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1244X);
  arg0K0 = 2;
  goto L23869;}
 L38153: {
  code_1245X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1245X)))))<<2)), code_1245X, 20, 4);
  n_1246X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1246X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((x_707X)<<2)));
  arg0K0 = 1;
  goto L23869;}
 L50998: {
  val_1247X = arg0K0;
  SvalS = val_1247X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L51012: {
  value_1248X = arg0K0;
  SvalS = value_1248X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L27650: {
  code_1249X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1249X)))))<<2)), code_1249X, 20, 8);
  n_1250X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1250X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_714X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_715X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L27771: {
  SvalS = new_720X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L27755: {
  i_1251X = arg0K0;
  if ((i_1251X < 0)) {
    goto L27771;}
  else {
    value_1252X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_720X))) + (((i_1251X)<<2)))) = (long) (value_1252X);
    arg0K0 = (-1 + i_1251X);
    goto L27755;}}
 L27889: {
  i_1253X = arg0K0;
  if ((i_1253X < 0)) {
    arg0K0 = stack_nargs_728X;
    arg0K1 = rest_list_729X;
    goto L28031;}
  else {
    value_1254X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_726X))) + (((i_1253X)<<2)))) = (long) (value_1254X);
    arg0K0 = (-1 + i_1253X);
    goto L27889;}}
 L28057: {
  code_1255X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1255X)))))<<2)), code_1255X, 20, 12);
  n_1256X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1256X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_730X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_731X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_732X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L28190: {
  addr_1257X = (((char *) (-3 + arg2_733X))) + (((offset_736X)<<2));S48_WRITE_BARRIER(arg2_733X, addr_1257X, value_734X);
  *((long *) addr_1257X) = (long) (value_734X);
  goto L28199;}
 L28199: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L28200: {
  code_1258X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1258X)))))<<2)), code_1258X, 20, 16);
  n_1259X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1259X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_733X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_735X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_736X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_734X);
  arg0K0 = 4;
  goto L23869;}
 L28433: {
  code_1260X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1260X)))))<<2)), code_1260X, 20, 8);
  n_1261X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1261X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_740X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_741X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (init_739X);
  arg0K0 = 3;
  goto L23869;}
 L28450: {
  x_1262X = arg0K0;
  value_1263X = Stemp0S;
  Stemp0S = 1;
  if ((1 == x_1262X)) {
    code_1264X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1264X)))))<<2)), code_1264X, 32, 8);
    n_1265X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1265X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((type_740X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_741X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (value_1263X);
    arg0K0 = 3;
    goto L23869;}
  else {
    arg0K0 = (-1 + len_741X);
    goto L28476;}}
 L28771: {
  code_1266X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1266X)))))<<2)), code_1266X, 28, 12);
  n_1267X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1267X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_746X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_748X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_747X);
  arg0K0 = 3;
  goto L23869;}
 L28761: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg2_746X))) + (-4 & index_747X))));
  goto L28770;}
 L28770: {
  value_1268X = arg0K0;
  SvalS = value_1268X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L28726: {
  code_1269X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1269X)))))<<2)), code_1269X, 20, 12);
  n_1270X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1270X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_746X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_748X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_747X);
  arg0K0 = 3;
  goto L23869;}
 L29090: {
  code_1271X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1271X)))))<<2)), code_1271X, 28, 12);
  n_1272X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1272X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_754X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_756X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_753X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_755X);
  arg0K0 = 4;
  goto L23869;}
 L29080: {
  addr_1273X = (((char *) (-3 + arg3_754X))) + (-4 & arg2_753X);S48_WRITE_BARRIER(arg3_754X, addr_1273X, value_755X);
  *((long *) addr_1273X) = (long) (value_755X);
  goto L29089;}
 L29089: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L29043: {
  code_1274X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1274X)))))<<2)), code_1274X, 20, 12);
  n_1275X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1275X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_754X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_756X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_753X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_755X);
  arg0K0 = 4;
  goto L23869;}
 L38236: {
  code_1276X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1276X)))))<<2)), code_1276X, 20, 4);
  n_1277X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1277X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_761X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((init_762X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L38249: {
  vector_1278X = arg0K0;
  if ((1 == vector_1278X)) {
    code_1279X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1279X)))))<<2)), code_1279X, 32, 4);
    n_1280X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1280X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_761X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((init_762X)<<2)));
    arg0K0 = 2;
    goto L23869;}
  else {
    arg0K0 = (-1 + len_761X);
    goto L38271;}}
 L50070: {
  code_1281X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1281X)))))<<2)), code_1281X, 20, 4);
  n_1282X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1282X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1283X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1283X);
  arg0K0 = 1;
  goto L23869;}
 L45655: {
  code_1284X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1284X)))))<<2)), code_1284X, 28, 4);
  n_1285X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1285X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_768X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_769X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L49124: {
  code_1286X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1286X)))))<<2)), code_1286X, 20, 4);
  n_1287X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1287X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_768X);
  x_1288X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1288X);
  arg0K0 = 2;
  goto L23869;}
 L42725: {
  code_1289X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1289X)))))<<2)), code_1289X, 28, 4);
  n_1290X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1290X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_772X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_773X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_774X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L42704: {
  code_1291X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1291X)))))<<2)), code_1291X, 20, 4);
  n_1292X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1292X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_772X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_773X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_774X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L47672: {
  code_1293X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1293X)))))<<2)), code_1293X, 20, 4);
  n_1294X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1294X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_772X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_771X);
  x_1295X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1295X);
  arg0K0 = 3;
  goto L23869;}
 L38448: {
  code_1296X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1296X)))))<<2)), code_1296X, 20, 4);
  n_1297X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1297X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_777X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_778X)))<<8))));
  arg0K0 = 2;
  goto L23869;}
 L38461: {
  vector_1298X = arg0K0;
  if ((1 == vector_1298X)) {
    code_1299X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1299X)))))<<2)), code_1299X, 32, 4);
    n_1300X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1300X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (32);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_777X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_778X)))<<8))));
    arg0K0 = 2;
    goto L23869;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1298X))) + len_777X)) = (unsigned char) (0);
    arg0K0 = (-1 + len_777X);
    goto L38483;}}
 L45752: {
  code_1301X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1301X)))))<<2)), code_1301X, 20, 4);
  n_1302X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1302X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_776X);
  x_1303X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1303X);
  arg0K0 = 2;
  goto L23869;}
 L50136: {
  code_1304X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1304X)))))<<2)), code_1304X, 20, 4);
  n_1305X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1305X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1306X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1306X);
  arg0K0 = 1;
  goto L23869;}
 L45833: {
  code_1307X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1307X)))))<<2)), code_1307X, 28, 4);
  n_1308X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1308X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_782X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_783X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L49238: {
  code_1309X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1309X)))))<<2)), code_1309X, 20, 4);
  n_1310X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1310X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_782X);
  x_1311X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1311X);
  arg0K0 = 2;
  goto L23869;}
 L42912: {
  code_1312X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1312X)))))<<2)), code_1312X, 28, 4);
  n_1313X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1313X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_786X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_787X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_788X)))<<8))));
  arg0K0 = 3;
  goto L23869;}
 L42891: {
  code_1314X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1314X)))))<<2)), code_1314X, 20, 4);
  n_1315X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1315X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_786X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_787X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_788X)))<<8))));
  arg0K0 = 3;
  goto L23869;}
 L47818: {
  code_1316X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1316X)))))<<2)), code_1316X, 20, 4);
  n_1317X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1317X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_786X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_785X);
  x_1318X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1318X);
  arg0K0 = 3;
  goto L23869;}
 L21751: {
  i_1319X = arg0K0;
  h_1320X = arg0K1;
  if ((i_1319X < n_793X)) {
    arg0K0 = (1 + i_1319X);
    arg0K1 = (h_1320X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_792X))) + i_1319X))))))));
    goto L21751;}
  else {
    index_1321X = 1023 & h_1320X;
    link_1322X = *((long *) ((((char *) (-3 + table_791X))) + (((index_1321X)<<2))));
    if ((0 == (3 & link_1322X))) {
      arg0K0 = (3 + (-4 & link_1322X));
      goto L21707;}
    else {
      arg0K0 = link_1322X;
      goto L21707;}}}
 L34292: {
  code_1323X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1323X)))))<<2)), code_1323X, 20, 4);
  n_1324X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1324X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1325X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1325X);
  arg0K0 = 1;
  goto L23869;}
 L47302: {
  val_1326X = arg0K0;
  SvalS = val_1326X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L47283: {
  code_1327X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1327X)))))<<2)), code_1327X, 20, 4);
  n_1328X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1328X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1329X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1329X);
  arg0K0 = 1;
  goto L23869;}
 L42466: {
  if ((1 == (SvalS))) {
    addr_1330X = (((char *) (-3 + arg2_797X))) + 4;S48_WRITE_BARRIER(arg2_797X, addr_1330X, 273);
    *((long *) addr_1330X) = (long) (273);
    goto L42472;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_797X))) + 4)))))) {
      addr_1331X = (((char *) (-3 + arg2_797X))) + 4;S48_WRITE_BARRIER(arg2_797X, addr_1331X, 529);
      *((long *) addr_1331X) = (long) (529);
      goto L42472;}
    else {
      goto L42472;}}}
 L42473: {
  code_1332X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1332X)))))<<2)), code_1332X, 20, 4);
  n_1333X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1333X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_797X);
  x_1334X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1334X);
  arg0K0 = 2;
  goto L23869;}
 L51079: {
  val_1335X = arg0K0;
  SvalS = val_1335X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L45931: {
  SvalS = x_800X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L38928: {
  if ((0 == (3 & arg3_802X))) {
    if (((((arg3_802X)>>2)) < 0)) {
      arg0K0 = 5;
      goto L38678;}
    else {
      arg0K0 = (((arg3_802X)>>2));
      goto L38708;}}
  else {
    if ((3 == (3 & arg3_802X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_802X))) + -4))))>>2))))) {
        if ((1 == mode_803X)) {
          goto L38766;}
        else {
          if ((3 == mode_803X)) {
            goto L38766;}
          else {
            v_1336X = ps_open_fd((((char *)(((char *) (-3 + arg3_802X))))), 0, &v_1337X);
            arg0K0 = v_1336X;
            arg0K1 = v_1337X;
            goto L38779;}}}
      else {
        arg0K0 = 5;
        goto L38678;}}
    else {
      arg0K0 = 5;
      goto L38678;}}}
 L38678: {
  reason_1338X = arg0K0;
  code_1339X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1339X)))))<<2)), code_1339X, (((reason_1338X)<<2)), 4);
  n_1340X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1340X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((reason_1338X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_802X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((mode_803X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L47946: {
  code_1341X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1341X)))))<<2)), code_1341X, 20, 4);
  n_1342X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1342X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1343X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1343X);
  arg0K0 = 1;
  goto L23869;}
 L46118: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L46128;}
  else {
    arg2K0 = 1;
    goto L46128;}}
 L46129: {
  code_1344X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1344X)))))<<2)), code_1344X, 20, 4);
  n_1345X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1345X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_819X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_818X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_817X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_816X);
  x_1346X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1346X);
  arg0K0 = 5;
  goto L23869;}
 L39473: {
  if ((3 == (3 & arg3_822X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_822X))) + -4))))>>2))))) {
      arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_822X))) + -4))))>>8)));
      goto L39475;}
    else {
      goto L39655;}}
  else {
    goto L39655;}}
 L39641: {
  if ((3 == (3 & arg3_822X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_822X))) + -4))))>>2))))) {
      goto L39473;}
    else {
      goto L39515;}}
  else {
    goto L39515;}}
 L39515: {
  code_1347X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1347X)))))<<2)), code_1347X, 20, 4);
  n_1348X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1348X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_823X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_822X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_824X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_825X)<<2)));
  arg0K0 = 4;
  goto L23869;}
 L46348: {
  code_1349X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1349X)))))<<2)), code_1349X, 20, 4);
  n_1350X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1350X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_823X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_822X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_821X);
  x_1351X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1351X);
  arg0K0 = 4;
  goto L23869;}
 L42064: {
  val_1352X = arg0K0;
  SvalS = val_1352X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L47364: {
  code_1353X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1353X)))))<<2)), code_1353X, 20, 4);
  n_1354X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1354X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1355X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1355X);
  arg0K0 = 1;
  goto L23869;}
 L46512: {
  val_1356X = arg0K0;
  SvalS = val_1356X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L11604: {
  x_1357X = Spending_channels_headS;
  if ((1 == x_1357X)) {
    Spending_interruptsS = (-9 & (Spending_interruptsS));
    goto L11616;}
  else {
    goto L11616;}}
 L11622: {
  ch_1358X = arg0K0;
  prev_1359X = arg0K1;
  if ((1 == ch_1358X)) {
    addr_1360X = (((char *) (-3 + channel_837X))) + 20;S48_WRITE_BARRIER(channel_837X, addr_1360X, 1);
    *((long *) addr_1360X) = (long) (1);
    n_1361X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_837X))) + 8))))>>2)));
    arg0K0 = (((n_1361X)<<2));
    goto L46512;}
  else {
    if ((ch_1358X == channel_837X)) {
      y_1362X = Spending_channels_tailS;
      if ((ch_1358X == y_1362X)) {
        Spending_channels_tailS = prev_1359X;
        goto L11646;}
      else {
        goto L11646;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + ch_1358X))) + 16)));
      arg0K1 = ch_1358X;
      goto L11622;}}}
 L46495: {
  code_1363X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1363X)))))<<2)), code_1363X, 20, 4);
  n_1364X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1364X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1365X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1365X);
  arg0K0 = 1;
  goto L23869;}
 L18188: {
  i_1366X = arg0K0;
  res_1367X = arg0K1;
  if ((-1 == i_1366X)) {
    SvalS = res_1367X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    channel_1368X = *((Svm_channelsS) + i_1366X);
    if ((3 == (3 & channel_1368X))) {
      if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_1368X))) + -4))))>>2))))) {
        addr_1369X = s48_allocate_small(12);
        *((long *) addr_1369X) = (long) (2050);
        x_1370X = 3 + (((long) (addr_1369X + 4)));
        *((long *) (((char *) (-3 + x_1370X)))) = (long) (channel_1368X);
        *((long *) ((((char *) (-3 + x_1370X))) + 4)) = (long) (res_1367X);
        arg0K0 = x_1370X;
        goto L18202;}
      else {
        arg0K0 = res_1367X;
        goto L18202;}}
    else {
      arg0K0 = res_1367X;
      goto L18202;}}}
 L39774: {
  old_1371X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 == old_1371X)) {
    goto L39790;}
  else {
    addr_1372X = ((char *) (-3 + old_1371X));S48_WRITE_BARRIER(old_1371X, addr_1372X, 1);
    *((long *) addr_1372X) = (long) (1);
    goto L39790;}}
 L39805: {
  code_1373X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1373X)))))<<2)), code_1373X, 20, 4);
  n_1374X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1374X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proposal_844X);
  arg0K0 = 1;
  goto L23869;}
 L10377: {
  i_1375X = arg0K0;
  stob_1376X = *((long *) ((((char *) (-3 + log_848X))) + (((i_1375X)<<2))));
  if ((1 == stob_1376X)) {
    log_1377X = *((long *) ((((char *) (-3 + proposal_845X))) + 8));
    arg0K0 = 0;
    goto L10615;}
  else {
    value_1378X = *((long *) ((((char *) (-3 + log_848X))) + (8 + (((i_1375X)<<2)))));
    verify_1379X = *((long *) ((((char *) (-3 + log_848X))) + (12 + (((i_1375X)<<2)))));
    if ((29 == verify_1379X)) {
      if ((3 == (3 & stob_1376X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1376X))) + -4)))))) {
          goto L10429;}
        else {
          goto L40052;}}
      else {
        goto L40052;}}
    else {
      if ((verify_1379X == (*((long *) ((((char *) (-3 + stob_1376X))) + (-4 & (*((long *) ((((char *) (-3 + log_848X))) + (4 + (((i_1375X)<<2)))))))))))) {
        if ((verify_1379X == value_1378X)) {
          goto L10429;}
        else {
          if ((3 == (3 & stob_1376X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1376X))) + -4)))))) {
              goto L10429;}
            else {
              goto L40052;}}
          else {
            goto L40052;}}}
      else {
        goto L40052;}}}}
 L29420: {
  value_1380X = arg0K0;
  SvalS = value_1380X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L29421: {
  code_1381X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1381X)))))<<2)), code_1381X, 20, 12);
  n_1382X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1382X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_849X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_850X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_851X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L29530: {
  code_1383X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1383X)))))<<2)), code_1383X, 20, 8);
  n_1384X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1384X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_857X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((from_index_858X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_855X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((to_index_859X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_860X)<<2)));
  arg0K0 = 5;
  goto L23869;}
 L29590: {
  memcpy((void *)((((char *) (-3 + arg3_855X))) + to_index_859X), (void *)((((char *) (-3 + arg5_857X))) + from_index_858X),count_860X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L29694: {
  left_1385X = arg0K0;
  copies_1386X = arg0K1;
  if ((1 == copies_1386X)) {
    if ((left_1385X < count_860X)) {
      goto L29530;}
    else {
      from_index_1387X = ((from_index_858X)<<2);
      to_index_1388X = ((to_index_859X)<<2);
      count_1389X = ((count_860X)<<2);
      Stemp0S = arg5_857X;
      Stemp1S = arg3_855X;
      addr_1390X = s48_allocate_tracedAgc(28);
      if ((addr_1390X == NULL)) {
        arg0K0 = 1;
        goto L10084;}
      else {
        *((long *) addr_1390X) = (long) (6154);
        arg0K0 = (3 + (((long) (addr_1390X + 4))));
        goto L10084;}}}
  else {
    arg0K0 = (left_1385X - ((((*((long *) ((((char *) (-3 + copies_1386X))) + 16))))>>2)));
    arg0K1 = (*((long *) ((((char *) (-3 + copies_1386X))) + 20)));
    goto L29694;}}
 L29903: {
  code_1391X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1391X)))))<<2)), code_1391X, 28, 4);
  n_1392X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1392X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_867X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_868X)<<2)));
  arg0K0 = 2;
  goto L23869;}
 L29902: {
  value_1393X = arg0K0;
  SvalS = value_1393X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L15786: {
  i_1394X = arg0K0;
  next_stob_1395X = *((long *) ((((char *) (-3 + log_872X))) + (((i_1394X)<<2))));
  if ((1 == next_stob_1395X)) {
    v_1396X = add_log_entryAgc(2, i_1394X, arg2_867X, index_871X, ((((*((unsigned char *) ((((char *) (-3 + arg2_867X))) + (((index_871X)>>2))))))<<2)), 1);
    arg0K0 = v_1396X;
    goto L29902;}
  else {
    if ((arg2_867X == next_stob_1395X)) {
      if ((index_871X == (*((long *) ((((char *) (-3 + log_872X))) + (4 + (((i_1394X)<<2)))))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + log_872X))) + (8 + (((i_1394X)<<2))))));
        goto L29902;}
      else {
        goto L15808;}}
    else {
      goto L15808;}}}
 L33486: {
  code_1397X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1397X)))))<<2)), code_1397X, 20, 4);
  n_1398X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1398X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_867X);
  x_1399X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1399X);
  arg0K0 = 2;
  goto L23869;}
 L30045: {
  code_1400X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1400X)))))<<2)), code_1400X, 28, 4);
  n_1401X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1401X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_874X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_875X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_876X);
  arg0K0 = 3;
  goto L23869;}
 L30044: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L15962: {
  i_1402X = arg0K0;
  next_stob_1403X = *((long *) ((((char *) (-3 + log_880X))) + (((i_1402X)<<2))));
  if ((1 == next_stob_1403X)) {add_log_entryAgc(2, i_1402X, arg3_874X, index_879X, byte_876X, 0);
    goto L30044;}
  else {
    if ((arg3_874X == next_stob_1403X)) {
      if ((index_879X == (*((long *) ((((char *) (-3 + log_880X))) + (4 + (((i_1402X)<<2)))))))) {
        addr_1404X = (((char *) (-3 + log_880X))) + (8 + (((i_1402X)<<2)));S48_WRITE_BARRIER(log_880X, addr_1404X, byte_876X);
        *((long *) addr_1404X) = (long) (byte_876X);
        goto L30044;}
      else {
        goto L15982;}}
    else {
      goto L15982;}}}
 L30010: {
  code_1405X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1405X)))))<<2)), code_1405X, 20, 4);
  n_1406X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1406X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_874X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_875X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_876X);
  arg0K0 = 3;
  goto L23869;}
 L33607: {
  code_1407X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1407X)))))<<2)), code_1407X, 20, 4);
  n_1408X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1408X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_874X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_873X);
  x_1409X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1409X);
  arg0K0 = 3;
  goto L23869;}
 L43204: {
  reason_1410X = arg0K0;
  status_1411X = arg0K1;
  code_1412X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1412X)))))<<2)), code_1412X, (((reason_1410X)<<2)), 4);
  n_1413X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1413X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((reason_1410X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_886X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_885X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_884X);
  merged_arg0K0 = status_1411X;
  merged_arg0K1 = 0;
  get_error_string_return_tag = 3;
  goto get_error_string;
 get_error_string_return_3:
  x_1414X = get_error_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1414X);
  arg0K0 = 4;
  goto L23869;}
 L48051: {
  code_1415X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1415X)))))<<2)), code_1415X, 20, 4);
  n_1416X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1416X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_886X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_885X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_884X);
  x_1417X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1417X);
  arg0K0 = 4;
  goto L23869;}
 L48804: {
  i_1418X = arg0K0;
  h_1419X = arg0K1;
  if ((i_1418X < n_898X)) {
    arg0K0 = (1 + i_1418X);
    arg0K1 = (h_1419X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + x_897X))) + i_1418X))))))));
    goto L48804;}
  else {
    SvalS = (((h_1419X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L48781: {
  code_1420X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1420X)))))<<2)), code_1420X, 20, 4);
  n_1421X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1421X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1422X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1422X);
  arg0K0 = 1;
  goto L23869;}
 L43495: {
  code_1423X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1423X)))))<<2)), code_1423X, 20, 4);
  n_1424X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1424X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_899X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_900X);
  arg0K0 = 2;
  goto L23869;}
 L40238: {
  firstP_1425X = arg2K0;
  vector_1426X = s48_find_all(type_919X);
  if ((1 == vector_1426X)) {
    if (firstP_1425X) {s48_collect();
      arg2K0 = 0;
      goto L40238;}
    else {
      code_1427X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1427X)))))<<2)), code_1427X, 32, 4);
      n_1428X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1428X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (32);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((type_919X)<<2)));
      arg0K0 = 1;
      goto L23869;}}
  else {
    SvalS = vector_1426X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L40326: {
  firstP_1429X = arg2K0;
  type_1430X = arg0K1;
  vector_1431X = s48_find_all_records(type_1430X);
  if ((1 == vector_1431X)) {
    if (firstP_1429X) {
      Stemp0S = type_1430X;s48_collect();
      value_1432X = Stemp0S;
      Stemp0S = 1;
      arg2K0 = 0;
      arg0K1 = value_1432X;
      goto L40326;}
    else {
      code_1433X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1433X)))))<<2)), code_1433X, 32, 4);
      n_1434X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1434X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (32);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (type_1430X);
      arg0K0 = 1;
      goto L23869;}}
  else {
    SvalS = vector_1431X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L26982: {
  code_1435X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1435X)))))<<2)), code_1435X, 20, 4);
  n_1436X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1436X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1437X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1437X);
  arg0K0 = 1;
  goto L23869;}
 L25275: {
  Slast_code_calledS = code_928X;
  Scode_pointerS = ((((char *) (-3 + code_928X))) + (pc_931X + (((size_930X)>>2))));
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L25913: {
  code_1438X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1438X)))))<<2)), code_1438X, 20, 4);
  n_1439X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1439X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1440X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1440X);
  arg0K0 = 1;
  goto L23869;}
 L51192: {
  SvalS = (((old_937X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L9275: {
  proposal_1441X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  x_1442X = Scurrent_threadS;
  addr_1443X = (((char *) (-3 + x_1442X))) + 12;S48_WRITE_BARRIER(x_1442X, addr_1443X, proposal_1441X);
  *((long *) addr_1443X) = (long) (proposal_1441X);
  if ((12 == x_939X)) {
    arg0K0 = 0;
    arg0K1 = 25;
    arg0K2 = 0;
    goto L23041;}
  else {
    pc_1444X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    code_1445X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    Slast_code_calledS = code_1445X;
    Scode_pointerS = ((((char *) (-3 + code_1445X))) + (((pc_1444X)>>2)));
    v_1446X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = v_1446X;
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L50305: {
  x_1447X = s48_schedule_alarm_interrupt((((p_941X)>>2)));
  SvalS = (((x_1447X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L47535: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L47539;}
  else {
    arg2K0 = 1;
    goto L47539;}}
 L47540: {
  code_1448X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1448X)))))<<2)), code_1448X, 20, 4);
  n_1449X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1449X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_945X);
  x_1450X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1450X);
  arg0K0 = 2;
  goto L23869;}
 L30276: {
  rest_list_1451X = arg0K0;
  if ((25 == rest_list_1451X)) {
    name_1452X = *((long *) ((SstackS) + (-8 + (((nargs_948X)<<2)))));
    proc_1453X = *((long *) ((SstackS) + (-4 + (((nargs_948X)<<2)))));
    args_1454X = SstackS;
    if ((3 == (3 & name_1452X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + name_1452X))) + -4))))>>2))))) {
        if ((3 == (3 & proc_1453X))) {
          if ((18 == (31 & ((((*((long *) ((((char *) (-3 + proc_1453X))) + -4))))>>2))))) {
            if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_1453X))) + -4))))>>8)))) {
              SstackS = (ScontS);
              result_1455X = s48_external_call(proc_1453X, name_1452X, (-2 + nargs_948X), args_1454X);
              if ((Sexternal_exceptionPS)) {
                Sexternal_exceptionPS = 0;
                arg0K0 = (Sexternal_exception_nargsS);
                goto L23869;}
              else {
                SvalS = result_1455X;
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L25161;}}
            else {
              goto L30564;}}
          else {
            goto L30564;}}
        else {
          goto L30564;}}
      else {
        goto L30564;}}
    else {
      goto L30564;}}
  else {
    x_1456X = *((long *) (((char *) (-3 + rest_list_1451X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1456X);
    arg0K0 = (*((long *) ((((char *) (-3 + rest_list_1451X))) + 4)));
    goto L30276;}}
 L46705: {
  if ((1 == (SvalS))) {
    v_1457X = Hlookup2700((Sexported_bindingsS), arg2_954X, 0);
    arg0K0 = v_1457X;
    goto L46746;}
  else {
    v_1458X = Hlookup2681((Simported_bindingsS), arg2_954X, 0);
    arg0K0 = v_1458X;
    goto L46746;}}
 L46710: {
  code_1459X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1459X)))))<<2)), code_1459X, 20, 4);
  n_1460X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1460X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_954X);
  x_1461X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1461X);
  arg0K0 = 2;
  goto L23869;}
 L32092: {
  if ((1 == (SvalS))) {
    arg0K0 = (Sexported_bindingsS);
    goto L32127;}
  else {
    arg0K0 = (Simported_bindingsS);
    goto L32127;}}
 L32097: {
  code_1462X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1462X)))))<<2)), code_1462X, 20, 4);
  n_1463X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1463X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_956X);
  x_1464X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1464X);
  arg0K0 = 2;
  goto L23869;}
 L48699: {
  option_1465X = arg0K0;
  seconds_1466X = arg0K1;
  mseconds_1467X = arg0K2;
  if ((536869 < seconds_1466X)) {
    code_1468X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1468X)))))<<2)), code_1468X, 24, 4);
    n_1469X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1469X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (24);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((option_1465X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((seconds_1466X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mseconds_1467X)<<2)));
    arg0K0 = 3;
    goto L23869;}
  else {
    SvalS = (((((1000 * seconds_1466X) + mseconds_1467X))<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L51226: {
  s48_Scallback_return_stack_blockS = arg2_982X;
  arg0K0 = x_983X;
  goto L53713;}
 L41005: {
  val_1470X = arg0K0;
  SvalS = val_1470X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L40970: {
  code_1471X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1471X)))))<<2)), code_1471X, 20, 4);
  n_1472X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1472X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_984X);
  x_1473X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1473X);
  arg0K0 = 2;
  goto L23869;}
 L40616: {
  len_1474X = 1 + n_989X;
  addr_1475X = s48_allocate_small((4 + len_1474X));
  *((long *) addr_1475X) = (long) ((70 + (((len_1474X)<<8))));
  string_1476X = 3 + (((long) (addr_1475X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_1476X))) + n_989X)) = (unsigned char) (0);
  arg0K0 = arg2_988X;
  arg0K1 = (-1 + n_989X);
  goto L40593;}
 L40568: {
  if ((25 == arg2_988X)) {
    goto L40616;}
  else {
    code_1477X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1477X)))))<<2)), code_1477X, 20, 4);
    n_1478X = *((unsigned char *) (Scode_pointerS));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1478X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (20);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_988X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_989X)<<2)));
    arg0K0 = 2;
    goto L23869;}}
 L42143: {
  list_1479X = arg0K0;
  slow_1480X = arg0K1;
  move_slowP_1481X = arg2K2;
  if ((25 == list_1479X)) {
    SvalS = 1;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    if ((3 == (3 & list_1479X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_1479X))) + -4))))>>2))))) {
        head_1482X = *((long *) (((char *) (-3 + list_1479X))));
        if ((3 == (3 & head_1482X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_1482X))) + -4))))>>2))))) {
            if (((*((long *) (((char *) (-3 + head_1482X))))) == arg2_993X)) {
              SvalS = head_1482X;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L25161;}
            else {
              list_1483X = *((long *) ((((char *) (-3 + list_1479X))) + 4));
              if ((list_1483X == slow_1480X)) {
                goto L42129;}
              else {
                if (move_slowP_1481X) {
                  arg0K0 = list_1483X;
                  arg0K1 = (*((long *) ((((char *) (-3 + slow_1480X))) + 4)));
                  arg2K2 = 0;
                  goto L42143;}
                else {
                  arg0K0 = list_1483X;
                  arg0K1 = slow_1480X;
                  arg2K2 = 1;
                  goto L42143;}}}}
          else {
            goto L42129;}}
        else {
          goto L42129;}}
      else {
        goto L42129;}}
    else {
      goto L42129;}}}
 L30650: {
  code_1484X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1484X)))))<<2)), code_1484X, 28, 8);
  n_1485X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1485X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_998X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_997X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_999X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L30640: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg3_998X))) + (((index_999X)<<2)))));
  goto L30649;}
 L30649: {
  value_1486X = arg0K0;
  SvalS = value_1486X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L30670: {
  code_1487X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1487X)))))<<2)), code_1487X, 20, 8);
  n_1488X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1488X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_998X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_997X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_999X)<<2)));
  arg0K0 = 3;
  goto L23869;}
 L30940: {
  code_1489X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1489X)))))<<2)), code_1489X, 28, 8);
  n_1490X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1490X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (28);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1008X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1007X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1009X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1010X);
  arg0K0 = 4;
  goto L23869;}
 L30930: {
  addr_1491X = (((char *) (-3 + arg4_1008X))) + (((index_1009X)<<2));S48_WRITE_BARRIER(arg4_1008X, addr_1491X, value_1010X);
  *((long *) addr_1491X) = (long) (value_1010X);
  goto L30939;}
 L30939: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L30962: {
  code_1492X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1492X)))))<<2)), code_1492X, 20, 8);
  n_1493X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1493X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1008X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1007X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1009X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1010X);
  arg0K0 = 4;
  goto L23869;}
 L31251: {
  port_1494X = arg0K0;
  if ((3 == (3 & port_1494X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1494X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1494X))) + 4))))>>2))))) {
        goto L31308;}
      else {
        b_1495X = *((long *) ((((char *) (-3 + port_1494X))) + 16));
        if ((1 == b_1495X)) {
          code_1496X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1496X)))))<<2)), code_1496X, 52, 8);
          n_1497X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_1497X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (52);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1494X);
          arg0K0 = 1;
          goto L23869;}
        else {
          p_1498X = *((long *) ((((char *) (-3 + port_1494X))) + 20));
          p_1499X = *((long *) ((((char *) (-3 + port_1494X))) + 24));
          i_1500X = ((p_1498X)>>2);
          if ((i_1500X == (((p_1499X)>>2)))) {
            code_1501X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1501X)))))<<2)), code_1501X, 52, 8);
            n_1502X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1502X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1494X);
            arg0K0 = 1;
            goto L23869;}
          else {
            val_1503X = 4 + (((i_1500X)<<2));
            addr_1504X = (((char *) (-3 + port_1494X))) + 20;S48_WRITE_BARRIER(port_1494X, addr_1504X, val_1503X);
            *((long *) addr_1504X) = (long) (val_1503X);
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1495X))) + i_1500X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L25161;}}}}
    else {
      goto L31308;}}
  else {
    goto L31308;}}
 L31501: {
  port_1505X = arg0K0;
  if ((3 == (3 & port_1505X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1505X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1505X))) + 4))))>>2))))) {
        goto L31558;}
      else {
        b_1506X = *((long *) ((((char *) (-3 + port_1505X))) + 16));
        if ((1 == b_1506X)) {
          code_1507X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1507X)))))<<2)), code_1507X, 52, 8);
          n_1508X = *((unsigned char *) (Scode_pointerS));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_1508X)<<2)));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (52);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1505X);
          arg0K0 = 1;
          goto L23869;}
        else {
          p_1509X = *((long *) ((((char *) (-3 + port_1505X))) + 20));
          p_1510X = *((long *) ((((char *) (-3 + port_1505X))) + 24));
          i_1511X = ((p_1509X)>>2);
          if ((i_1511X == (((p_1510X)>>2)))) {
            code_1512X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1512X)))))<<2)), code_1512X, 52, 8);
            n_1513X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1513X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1505X);
            arg0K0 = 1;
            goto L23869;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1506X))) + i_1511X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L25161;}}}}
    else {
      goto L31558;}}
  else {
    goto L31558;}}
 L31744: {
  Kchar_1514X = arg0K0;
  port_1515X = arg0K1;
  if ((9 == (255 & Kchar_1514X))) {
    if ((3 == (3 & port_1515X))) {
      if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1515X))) + -4))))>>2))))) {
        if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1515X))) + 4))))>>2))))) {
          goto L31804;}
        else {
          b_1516X = *((long *) ((((char *) (-3 + port_1515X))) + 16));
          if ((1 == b_1516X)) {
            code_1517X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1517X)))))<<2)), code_1517X, 52, 8);
            n_1518X = *((unsigned char *) (Scode_pointerS));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1518X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (52);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (Kchar_1514X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1515X);
            arg0K0 = 2;
            goto L23869;}
          else {
            i_1519X = (((*((long *) ((((char *) (-3 + port_1515X))) + 20))))>>2);
            if ((i_1519X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1516X))) + -4))))>>8)))) {
              code_1520X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1520X)))))<<2)), code_1520X, 52, 8);
              n_1521X = *((unsigned char *) (Scode_pointerS));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_1521X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (52);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (Kchar_1514X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (port_1515X);
              arg0K0 = 2;
              goto L23869;}
            else {
              val_1522X = 4 + (((i_1519X)<<2));
              addr_1523X = (((char *) (-3 + port_1515X))) + 20;S48_WRITE_BARRIER(port_1515X, addr_1523X, val_1522X);
              *((long *) addr_1523X) = (long) (val_1522X);
              *((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_1515X))) + 16)))))) + i_1519X)) = (unsigned char) ((((unsigned char) (((char) (((Kchar_1514X)>>8)))))));
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 2);
              arg1K0 = (Scode_pointerS);
              goto L25161;}}}}
      else {
        goto L31804;}}
    else {
      goto L31804;}}
  else {
    goto L31804;}}
 L42373: {
  stuff_1524X = arg0K0;
  if ((3 == (3 & stuff_1524X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_1524X))) + -4))))>>2))))) {
      thing_1525X = *((long *) (((char *) (-3 + stuff_1524X))));
      if ((0 == (3 & thing_1525X))) {
        ps_write_integer((((thing_1525X)>>2)), out_1028X);
        goto L42379;}
      else {
        if ((9 == (255 & thing_1525X))) {
          ps_write_string("#\\", out_1028X);
          { long ignoreXX;
          PS_WRITE_CHAR((((char) (((thing_1525X)>>8)))), out_1028X, ignoreXX) }
          goto L42379;}
        else {
          if ((3 == (3 & thing_1525X))) {
            if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
              if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>8))))>>2)))) {
                type_1526X = *((long *) (((char *) (-3 + thing_1525X))));
                if ((3 == (3 & type_1526X))) {
                  if ((9 == (31 & ((((*((long *) ((((char *) (-3 + type_1526X))) + -4))))>>2))))) {
                    if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_1526X))) + -4))))>>8))))>>2)))) {
                      obj_1527X = *((long *) ((((char *) (-3 + type_1526X))) + 8));
                      if ((3 == (3 & obj_1527X))) {
                        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1527X))) + -4))))>>2))))) {
                          ps_write_string("#{", out_1028X);
                          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_1525X)))))))) + 8))))))))))))), out_1028X);
                          { long ignoreXX;
                          PS_WRITE_CHAR(125, out_1028X, ignoreXX) }
                          goto L42379;}
                        else {
                          goto L17465;}}
                      else {
                        goto L17465;}}
                    else {
                      goto L17465;}}
                  else {
                    goto L17465;}}
                else {
                  goto L17465;}}
              else {
                goto L17465;}}
            else {
              goto L17465;}}
          else {
            goto L17465;}}}}
    else {
      goto L42364;}}
  else {
    goto L42364;}}
 L26819: {
  v_1528X = arg0K0;
  ScontS = (cont_1047X + (4 + (((v_1528X)<<2))));
  v_1529X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_1530X = s48_invoke_native_continuation(((((long) (((char *) v_1529X)))) + protocol_skip_1046X));
  arg0K0 = v_1530X;
  goto L25656;}
 L23154: {
  v_1531X = arg0K0;
  SvalS = v_1531X;
  arg0K0 = cont_542X;
  goto L24151;}
 L26662: {
  x_1532X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1532X);
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L26644: {
  stack_nargs_1533X = arg0K0;
  l_1534X = arg0K1;
  if ((count_547X == stack_nargs_1533X)) {
    arg0K0 = l_1534X;
    goto L26662;}
  else {
    x_1535X = *((long *) (((char *) (-3 + l_1534X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1535X);
    arg0K0 = (1 + stack_nargs_1533X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_1534X))) + 4)));
    goto L26644;}}
 L26581: {
  loc_1536X = arg1K0;
  arg_1537X = arg1K1;
  if ((arg_1537X < arg_top_1065X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_1062X)<<2))));
    if ((0 == list_arg_count_1064X)) {
      goto L26568;}
    else {
      merged_arg0K0 = list_args_1063X;
      merged_arg0K1 = list_arg_count_1064X;
      push_list_return_tag = 3;
      goto push_list;
     push_list_return_3:
      goto L26568;}}
  else {
    *((long *) loc_1536X) = (long) ((*((long *) arg_1537X)));
    arg1K0 = (loc_1536X + -4);
    arg1K1 = (arg_1537X + -4);
    goto L26581;}}
 L23608: {
  arg_count_1538X = arg0K0;
  if ((3 == (3 & handlers_1068X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_1068X))) + -4))))>>2))))) {
      goto L23622;}
    else {
      goto L23664;}}
  else {
    goto L23664;}}
 L11821: {
  channel_1539X = arg0K0;
  x_1540X = 1 == (Spending_channels_headS);
  if (x_1540X) {
    goto L11835;}
  else {
    Spending_interruptsS = (8 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        goto L11835;}
      else {
        goto L11835;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L11835;}}}
 L12005: {
  sig_1541X = *(Sos_signal_ringS + (Sos_signal_ring_startS));
  if ((31 == (Sos_signal_ring_startS))) {
    arg0K0 = 0;
    goto L12009;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_startS));
    goto L12009;}}
 L8483: {
  count_1542X = arg0K0;
  i_1543X = arg0K1;
  offset_1544X = arg0K2;
  if ((0 == count_1542X)) {
    if ((i_1543X < total_count_1081X)) {
      arg0K0 = i_1543X;
      arg0K1 = offset_1544X;
      goto L7079;}
    else {
      arg0K0 = offset_1544X;
      goto L53747;}}
  else {
    value_1545X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1544X)))))<<2))));
    addr_1546X = (((char *) (-3 + new_env_1078X))) + (((i_1543X)<<2));S48_WRITE_BARRIER(new_env_1078X, addr_1546X, value_1545X);
    *((long *) addr_1546X) = (long) (value_1545X);
    arg0K0 = (-1 + count_1542X);
    arg0K1 = (1 + i_1543X);
    arg0K2 = (1 + offset_1544X);
    goto L8483;}}
 L11004: {
  count_1547X = arg0K0;
  i_1548X = arg0K1;
  offset_1549X = arg0K2;
  if ((0 == count_1547X)) {
    if ((i_1548X < total_count_1090X)) {
      arg0K0 = i_1548X;
      arg0K1 = offset_1549X;
      goto L7772;}
    else {
      arg0K0 = offset_1549X;
      goto L53737;}}
  else {
    value_1550X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1549X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1549X))))))<<2))));
    addr_1551X = (((char *) (-3 + new_env_1087X))) + (((i_1548X)<<2));S48_WRITE_BARRIER(new_env_1087X, addr_1551X, value_1550X);
    *((long *) addr_1551X) = (long) (value_1550X);
    arg0K0 = (-1 + count_1547X);
    arg0K1 = (1 + i_1548X);
    arg0K2 = (2 + offset_1549X);
    goto L11004;}}
 L49417: {
  pop_continuationB_return_tag = 6;
  goto pop_continuationB;
 pop_continuationB_return_6:
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L24151: {
  cont_1552X = arg0K0;
  if ((1 == cont_1552X)) {
    if ((0 == (3 & (SvalS)))) {
      s48_Scallback_return_stack_blockS = 1;
      arg0K0 = ((((SvalS))>>2));
      goto L53713;}
    else {
      goto L24166;}}
  else {
    goto L24166;}}
 L49561: {
  v_1553X = arg0K0;
  ScontS = (cont_1122X + (4 + (((v_1553X)<<2))));
  merged_arg0K0 = 0;
  move_args_above_contB_return_tag = 7;
  goto move_args_above_contB;
 move_args_above_contB_return_7:
  goto L49466;}
 L49466: {
  x_1554X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1554X);
  SvalS = proc_1121X;
  arg0K0 = 1;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L47099;}
 L26870: {
  code_1555X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1555X)))))<<2)), code_1555X, 20, 32);
  n_1556X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1556X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (template_616X);
  arg0K0 = 1;
  goto L23869;}
 L14516: {
  if ((3 == (3 & x_639X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_639X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50811;}
    else {
      goto L14522;}}
  else {
    goto L14522;}}
 L41605: {
  if ((3 == (3 & n_640X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_640X))) + -4))))>>2))))) {
      arg0K0 = n_640X;
      goto L24475;}
    else {
      goto L41611;}}
  else {
    goto L41611;}}
 L41756: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41739: {
  if ((3 == (3 & n_1139X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + n_1139X))) + -4))))>>2))))) {
      goto L41756;}
    else {
      goto L41747;}}
  else {
    goto L41747;}}
 L34466: {
  if ((0 == (3 & arg2_642X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16609;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_642X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16609;}}
 L34483: {
  code_1557X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1557X)))))<<2)), code_1557X, 20, 4);
  n_1558X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1558X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_642X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_643X);
  arg0K0 = 2;
  goto L23869;}
 L8647: {
  b_1559X = arg0K0;
  lo_a_1560X = 65535 & a_1154X;
  lo_b_1561X = 65535 & b_1559X;
  hi_a_1562X = 65535 & (((a_1154X)>>16));
  hi_b_1563X = 65535 & (((b_1559X)>>16));
  lo_c_1564X = SMALL_MULTIPLY(lo_a_1560X, lo_b_1561X);
  v_1565X = SMALL_MULTIPLY(lo_a_1560X, hi_b_1563X);
  v_1566X = SMALL_MULTIPLY(lo_b_1561X, hi_a_1562X);
  mid_c_1567X = v_1565X + v_1566X;
  c_1568X = lo_c_1564X + (((mid_c_1567X)<<16));
  if ((0 < hi_a_1562X)) {
    if ((0 < hi_b_1563X)) {
      arg0K0 = arg2_645X;
      arg0K1 = y_646X;
      goto L19152;}
    else {
      goto L8689;}}
  else {
    goto L8689;}}
 L43637: {
  arg0K0 = arg2_645X;
  arg0K1 = y_646X;
  goto L19152;}
 L34771: {
  if ((0 == (3 & arg2_649X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16566;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_649X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16566;}}
 L34788: {
  code_1569X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1569X)))))<<2)), code_1569X, 20, 4);
  n_1570X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1570X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_649X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_650X);
  arg0K0 = 2;
  goto L23869;}
 L8905: {
  b_1571X = arg0K0;
  c_1572X = a_1174X / b_1571X;
  x_1573X = 0 == (a_1174X % b_1571X);
  if (x_1573X) {
    if ((a_654X < 0)) {
      if ((b_655X < 0)) {s48_make_availableAgc(16);
        if ((536870911 < c_1572X)) {
          goto L52032;}
        else {
          if ((c_1572X < -536870912)) {
            goto L52032;}
          else {
            arg0K0 = (((c_1572X)<<2));
            goto L52027;}}}
      else {
        goto L8951;}}
    else {
      if ((b_655X < 0)) {
        goto L8951;}
      else {s48_make_availableAgc(16);
        if ((536870911 < c_1572X)) {
          goto L52054;}
        else {
          if ((c_1572X < -536870912)) {
            goto L52054;}
          else {
            arg0K0 = (((c_1572X)<<2));
            goto L52049;}}}}}
  else {
    arg0K0 = arg2_652X;
    arg0K1 = y_653X;
    goto L24506;}}
 L43880: {
  if ((0 == (3 & arg2_652X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16134;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_652X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16134;}}
 L43920: {
  result_1574X = arg0K0;
  if ((1 == result_1574X)) {
    arg0K0 = arg2_652X;
    arg0K1 = y_653X;
    goto L24506;}
  else {
    SvalS = result_1574X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L35072: {
  if ((0 == (3 & (arg2_656X | y_657X)))) {
    if ((arg2_656X == y_657X)) {
      arg0K0 = 5;
      goto L35076;}
    else {
      arg0K0 = 1;
      goto L35076;}}
  else {
    if ((3 == (3 & arg2_656X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_656X))) + -4))))>>2))))) {
        if ((3 == (3 & y_657X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_657X))) + -4))))>>2))))) {
            b_1575X = s48_bignum_equal_p((((char *) (-3 + arg2_656X))), (((char *) (-3 + y_657X))));
            if (b_1575X) {
              arg0K0 = 5;
              goto L35076;}
            else {
              arg0K0 = 1;
              goto L35076;}}
          else {
            arg0K0 = 1;
            goto L35076;}}
        else {
          arg0K0 = 1;
          goto L35076;}}
      else {
        arg0K0 = 1;
        goto L35076;}}
    else {
      arg0K0 = 1;
      goto L35076;}}}
 L35092: {
  val_1576X = arg0K0;
  SvalS = val_1576X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35093: {
  code_1577X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1577X)))))<<2)), code_1577X, 20, 4);
  n_1578X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1578X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_656X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_657X);
  arg0K0 = 2;
  goto L23869;}
 L35348: {
  if ((0 == (3 & arg2_658X))) {
    if ((0 == (3 & y_659X))) {
      if ((arg2_658X < y_659X)) {
        arg0K0 = 5;
        goto L35352;}
      else {
        arg0K0 = 1;
        goto L35352;}}
    else {
      v_1579X = s48_bignum_test((((char *) (-3 + y_659X))));
      if ((1 == v_1579X)) {
        arg0K0 = 5;
        goto L35352;}
      else {
        arg0K0 = 1;
        goto L35352;}}}
  else {
    if ((0 == (3 & y_659X))) {
      v_1580X = s48_bignum_test((((char *) (-3 + arg2_658X))));
      if ((1 == v_1580X)) {
        arg0K0 = 1;
        goto L35352;}
      else {
        arg0K0 = 5;
        goto L35352;}}
    else {
      v_1581X = s48_bignum_compare((((char *) (-3 + arg2_658X))), (((char *) (-3 + y_659X))));
      if ((-1 == v_1581X)) {
        arg0K0 = 5;
        goto L35352;}
      else {
        arg0K0 = 1;
        goto L35352;}}}}
 L35368: {
  val_1582X = arg0K0;
  SvalS = val_1582X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35369: {
  code_1583X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1583X)))))<<2)), code_1583X, 20, 4);
  n_1584X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1584X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_658X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_659X);
  arg0K0 = 2;
  goto L23869;}
 L35687: {
  if ((0 == (3 & y_661X))) {
    if ((0 == (3 & arg2_660X))) {
      if ((y_661X < arg2_660X)) {
        arg0K0 = 5;
        goto L35691;}
      else {
        arg0K0 = 1;
        goto L35691;}}
    else {
      v_1585X = s48_bignum_test((((char *) (-3 + arg2_660X))));
      if ((1 == v_1585X)) {
        arg0K0 = 5;
        goto L35691;}
      else {
        arg0K0 = 1;
        goto L35691;}}}
  else {
    if ((0 == (3 & arg2_660X))) {
      v_1586X = s48_bignum_test((((char *) (-3 + y_661X))));
      if ((1 == v_1586X)) {
        arg0K0 = 1;
        goto L35691;}
      else {
        arg0K0 = 5;
        goto L35691;}}
    else {
      v_1587X = s48_bignum_compare((((char *) (-3 + y_661X))), (((char *) (-3 + arg2_660X))));
      if ((-1 == v_1587X)) {
        arg0K0 = 5;
        goto L35691;}
      else {
        arg0K0 = 1;
        goto L35691;}}}}
 L35707: {
  val_1588X = arg0K0;
  SvalS = val_1588X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35708: {
  code_1589X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1589X)))))<<2)), code_1589X, 20, 4);
  n_1590X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1590X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_660X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_661X);
  arg0K0 = 2;
  goto L23869;}
 L36026: {
  if ((0 == (3 & y_663X))) {
    if ((0 == (3 & arg2_662X))) {
      if ((y_663X < arg2_662X)) {
        arg0K0 = 1;
        goto L36030;}
      else {
        arg0K0 = 5;
        goto L36030;}}
    else {
      v_1591X = s48_bignum_test((((char *) (-3 + arg2_662X))));
      if ((1 == v_1591X)) {
        arg0K0 = 1;
        goto L36030;}
      else {
        arg0K0 = 5;
        goto L36030;}}}
  else {
    if ((0 == (3 & arg2_662X))) {
      v_1592X = s48_bignum_test((((char *) (-3 + y_663X))));
      if ((1 == v_1592X)) {
        arg0K0 = 5;
        goto L36030;}
      else {
        arg0K0 = 1;
        goto L36030;}}
    else {
      v_1593X = s48_bignum_compare((((char *) (-3 + y_663X))), (((char *) (-3 + arg2_662X))));
      if ((-1 == v_1593X)) {
        arg0K0 = 1;
        goto L36030;}
      else {
        arg0K0 = 5;
        goto L36030;}}}}
 L36046: {
  val_1594X = arg0K0;
  SvalS = val_1594X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36047: {
  code_1595X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1595X)))))<<2)), code_1595X, 20, 4);
  n_1596X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1596X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_662X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_663X);
  arg0K0 = 2;
  goto L23869;}
 L36336: {
  if ((0 == (3 & arg2_664X))) {
    if ((0 == (3 & y_665X))) {
      if ((arg2_664X < y_665X)) {
        arg0K0 = 1;
        goto L36340;}
      else {
        arg0K0 = 5;
        goto L36340;}}
    else {
      v_1597X = s48_bignum_test((((char *) (-3 + y_665X))));
      if ((1 == v_1597X)) {
        arg0K0 = 1;
        goto L36340;}
      else {
        arg0K0 = 5;
        goto L36340;}}}
  else {
    if ((0 == (3 & y_665X))) {
      v_1598X = s48_bignum_test((((char *) (-3 + arg2_664X))));
      if ((1 == v_1598X)) {
        arg0K0 = 5;
        goto L36340;}
      else {
        arg0K0 = 1;
        goto L36340;}}
    else {
      v_1599X = s48_bignum_compare((((char *) (-3 + arg2_664X))), (((char *) (-3 + y_665X))));
      if ((-1 == v_1599X)) {
        arg0K0 = 1;
        goto L36340;}
      else {
        arg0K0 = 5;
        goto L36340;}}}}
 L36356: {
  val_1600X = arg0K0;
  SvalS = val_1600X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36357: {
  code_1601X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1601X)))))<<2)), code_1601X, 20, 4);
  n_1602X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1602X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_664X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_665X);
  arg0K0 = 2;
  goto L23869;}
 L19782: {
  length0_1603X = arg0K0;
  extra0_1604X = arg0K1;
  if ((0 == (3 & y_1190X))) {
    arg0K0 = 3;
    goto L19784;}
  else {
    arg0K0 = 0;
    goto L19784;}}
 L9594: {
  b_1605X = arg0K0;
  c_1606X = a_1191X / b_1605X;
  if ((a_668X < 0)) {
    if ((b_669X < 0)) {
      goto L9640;}
    else {
      goto L9639;}}
  else {
    if ((b_669X < 0)) {
      goto L9639;}
    else {
      goto L9640;}}}
 L36652: {
  arg0K0 = arg2_666X;
  arg0K1 = y_667X;
  goto L19752;}
 L19873: {
  length0_1607X = arg0K0;
  extra0_1608X = arg0K1;
  if ((0 == (3 & y_1193X))) {
    arg0K0 = 3;
    goto L19875;}
  else {
    arg0K0 = 0;
    goto L19875;}}
 L36828: {
  b_1609X = arg0K0;
  c_1610X = a_1194X % b_1609X;
  if ((a_672X < 0)) {
    arg0K0 = (0 - c_1610X);
    goto L36832;}
  else {
    arg0K0 = c_1610X;
    goto L36832;}}
 L36806: {
  arg0K0 = arg2_670X;
  arg0K1 = y_671X;
  goto L19843;}
 L24411: {
  x_1611X = arg0K0;s48_make_availableAgc(16);
  if ((536870911 < x_1611X)) {
    goto L24414;}
  else {
    if ((x_1611X < -536870912)) {
      goto L24414;}
    else {
      arg0K0 = (((x_1611X)<<2));
      goto L53713;}}}
 L19360: {
  length_1612X = arg0K0;
  extra_1613X = arg0K1;
  Stemp0S = x_1206X;s48_make_availableAgc(((((length_1612X + extra_1613X))<<2)));
  value_1614X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1614X))) {
    v_1615X = (char *) s48_long_to_bignum((((value_1614X)>>2)));
    arg1K0 = v_1615X;
    goto L19352;}
  else {
    arg1K0 = (((char *) (-3 + value_1614X)));
    goto L19352;}}
 L19485: {
  length_1616X = arg0K0;
  extra_1617X = arg0K1;
  if ((length_1616X < 1)) {
    arg0K0 = 1;
    goto L19487;}
  else {
    arg0K0 = length_1616X;
    goto L19487;}}
 L37530: {
  x_1618X = arg0K0;
  count_1619X = arg0K1;
  if ((0 == x_1618X)) {
    SvalS = (((count_1619X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    arg0K0 = (((x_1618X)>>1));
    arg0K1 = (count_1619X + (1 & x_1618X));
    goto L37530;}}
 L18901: {
  length_1620X = arg0K0;
  extra_1621X = arg0K1;
  if ((length_1620X < 1)) {
    arg0K0 = 1;
    goto L18903;}
  else {
    arg0K0 = length_1620X;
    goto L18903;}}
 L37631: {
  if ((0 == (3 & arg2_687X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16348;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_687X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16348;}}
 L37810: {
  if ((0 == (3 & arg2_689X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16305;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_689X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16305;}}
 L37989: {
  if ((0 == (3 & arg2_691X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16262;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_691X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16262;}}
 L44264: {
  v_1622X = (char *) s48_long_to_bignum(x_1228X);
  v_1623X = enter_bignum(v_1622X);
  arg0K0 = v_1623X;
  goto L44259;}
 L44259: {
  val_1624X = arg0K0;
  SvalS = val_1624X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L44286: {
  v_1625X = (char *) s48_long_to_bignum(result_1230X);
  v_1626X = enter_bignum(v_1625X);
  arg0K0 = v_1626X;
  goto L44281;}
 L44281: {
  val_1627X = arg0K0;
  SvalS = val_1627X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L44169: {
  x_1628X = arg0K0;
  y_1629X = arg0K1;
  y_1630X = ((y_1629X)>>2);
  merged_arg0K0 = x_1628X;
  merged_arg0K1 = y_1630X;
  shift_space_return_tag = 1;
  goto shift_space;
 shift_space_return_1:
  needed_1631X = shift_space0_return_value;
  Stemp0S = x_1628X;s48_make_availableAgc((((needed_1631X)<<2)));
  value_1632X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1632X))) {
    v_1633X = (char *) s48_long_to_bignum((((value_1632X)>>2)));
    arg1K0 = v_1633X;
    goto L44231;}
  else {
    arg1K0 = (((char *) (-3 + value_1632X)));
    goto L44231;}}
 L44308: {
  v_1634X = (char *) s48_long_to_bignum(result_1230X);
  v_1635X = enter_bignum(v_1634X);
  arg0K0 = v_1635X;
  goto L44303;}
 L44303: {
  val_1636X = arg0K0;
  SvalS = val_1636X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L44339: {
  x_1637X = arg1K0;
  external_bignum_1638X = (char *) s48_bignum_arithmetic_shift(x_1637X, y_1232X);
  v_1639X = s48_bignum_fits_in_word_p(external_bignum_1638X, 30, 1);
  if (v_1639X) {
    n_1640X = s48_bignum_to_long(external_bignum_1638X);
    arg0K0 = (((n_1640X)<<2));
    goto L44177;}
  else {
    v_1641X = enter_bignum(external_bignum_1638X);
    arg0K0 = v_1641X;
    goto L44177;}}
 L28031: {
  i_1642X = arg0K0;
  rest_list_1643X = arg0K1;
  if ((25 == rest_list_1643X)) {
    SvalS = new_726X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    *((long *) ((((char *) (-3 + new_726X))) + (((i_1642X)<<2)))) = (long) ((*((long *) (((char *) (-3 + rest_list_1643X))))));
    arg0K0 = (1 + i_1642X);
    arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1643X))) + 4)));
    goto L28031;}}
 L28476: {
  i_1644X = arg0K0;
  if ((i_1644X < 0)) {
    SvalS = x_1262X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    addr_1645X = (((char *) (-3 + x_1262X))) + (((i_1644X)<<2));S48_WRITE_BARRIER(x_1262X, addr_1645X, value_1263X);
    *((long *) addr_1645X) = (long) (value_1263X);
    arg0K0 = (-1 + i_1644X);
    goto L28476;}}
 L38271: {
  i_1646X = arg0K0;
  if ((i_1646X < 0)) {
    SvalS = vector_1278X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1278X))) + i_1646X)) = (unsigned char) (init_762X);
    arg0K0 = (-1 + i_1646X);
    goto L38271;}}
 L38483: {
  i_1647X = arg0K0;
  if ((i_1647X < 0)) {
    SvalS = vector_1298X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1298X))) + i_1647X)) = (unsigned char) ((((unsigned char) init_778X)));
    arg0K0 = (-1 + i_1647X);
    goto L38483;}}
 L21707: {
  bucket_1648X = arg0K0;
  arg0K0 = bucket_1648X;
  goto L21713;}
 L42472: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L38708: {
  index_1649X = arg0K0;
  temp_1650X = index_1649X < (Snumber_of_channelsS);
  if (temp_1650X) {
    goto L38829;}
  else {
    x_1651X = add_more_channels(index_1649X);
    if (x_1651X) {
      goto L38829;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L38712;}}}
 L38766: {
  v_1652X = ps_open_fd((((char *)(((char *) (-3 + arg3_802X))))), 1, &v_1653X);
  arg0K0 = v_1652X;
  arg0K1 = v_1653X;
  goto L38779;}
 L38779: {
  channel_1654X = arg0K0;
  status_1655X = arg0K1;
  if ((status_1655X == NO_ERRORS)) {
    arg0K0 = channel_1654X;
    goto L38708;}
  else {
    if ((status_1655X == ENOENT)) {
      arg0K0 = 10;
      goto L38678;}
    else {
      code_1656X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1656X)))))<<2)), code_1656X, 96, 4);
      n_1657X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1657X)<<2)));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (96);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_802X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_803X)<<2)));
      merged_arg0K0 = status_1655X;
      merged_arg0K1 = 0;
      get_error_string_return_tag = 4;
      goto get_error_string;
     get_error_string_return_4:
      x_1658X = get_error_string0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1658X);
      arg0K0 = 3;
      goto L23869;}}}
 L46128: {
  waitP_1659X = arg2K0;
  start_1660X = ((arg3_817X)>>2);
  count_1661X = ((arg2_816X)>>2);
  v_1662X = 4 == (*((long *) (((char *) (-3 + arg5_819X)))));
  if (v_1662X) {
    if ((3 == (3 & arg4_818X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_818X))) + -4))))>>2))))) {
        goto L39118;}
      else {
        goto L39311;}}
    else {
      goto L39311;}}
  else {
    goto L39170;}}
 L39475: {
  y_1663X = arg0K0;
  if ((y_1663X < (start_824X + count_825X))) {
    goto L39515;}
  else {
    got_1664X = ps_write_fd(((((*((long *) ((((char *) (-3 + arg4_823X))) + 8))))>>2)), ((((char *) (-3 + arg3_822X))) + start_824X), count_825X, &pendingP_1665X, &status_1666X);
    if ((status_1666X == NO_ERRORS)) {
      if (pendingP_1665X) {
        addr_1667X = (((char *) (-3 + arg4_823X))) + 20;S48_WRITE_BARRIER(arg4_823X, addr_1667X, 5);
        *((long *) addr_1667X) = (long) (5);
        arg0K0 = 1;
        goto L39514;}
      else {
        arg0K0 = (((got_1664X)<<2));
        goto L39514;}}
    else {
      addr_1668X = s48_allocate_small(8);
      *((long *) addr_1668X) = (long) (1046);
      x_1669X = 3 + (((long) (addr_1668X + 4)));
      *((long *) (((char *) (-3 + x_1669X)))) = (long) ((((status_1666X)<<2)));
      arg0K0 = x_1669X;
      goto L39514;}}}
 L39655: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_822X))) + -4))))>>8));
  goto L39475;}
 L11616: {
  arg0K0 = (*((long *) ((((char *) (-3 + channel_837X))) + 20)));
  goto L46512;}
 L11646: {
  val_1670X = *((long *) ((((char *) (-3 + ch_1358X))) + 16));
  addr_1671X = (((char *) (-3 + prev_1359X))) + 16;S48_WRITE_BARRIER(prev_1359X, addr_1671X, val_1670X);
  *((long *) addr_1671X) = (long) (val_1670X);
  addr_1672X = (((char *) (-3 + ch_1358X))) + 16;S48_WRITE_BARRIER(ch_1358X, addr_1672X, 1);
  *((long *) addr_1672X) = (long) (1);
  arg0K0 = (*((long *) ((((char *) (-3 + ch_1358X))) + 20)));
  goto L46512;}
 L18202: {
  v_1673X = arg0K0;
  arg0K0 = (-1 + i_1366X);
  arg0K1 = v_1673X;
  goto L18188;}
 L39790: {
  if ((1 == proposal_844X)) {
    goto L39802;}
  else {
    addr_1674X = ((char *) (-3 + proposal_844X));S48_WRITE_BARRIER(proposal_844X, addr_1674X, 5);
    *((long *) addr_1674X) = (long) (5);
    goto L39802;}}
 L10615: {
  i_1675X = arg0K0;
  stob_1676X = *((long *) ((((char *) (-3 + log_1377X))) + (((i_1675X)<<2))));
  if ((1 == stob_1676X)) {
    copies_1677X = *((long *) ((((char *) (-3 + proposal_845X))) + 12));
    arg0K0 = copies_1677X;
    goto L40168;}
  else {
    value_1678X = *((long *) ((((char *) (-3 + log_1377X))) + (8 + (((i_1675X)<<2)))));
    verify_1679X = *((long *) ((((char *) (-3 + log_1377X))) + (12 + (((i_1675X)<<2)))));
    if ((29 == verify_1679X)) {
      if ((3 == (3 & stob_1676X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1676X))) + -4)))))) {
          goto L10667;}
        else {
          goto L40052;}}
      else {
        goto L40052;}}
    else {
      if ((verify_1679X == ((((*((unsigned char *) ((((char *) (-3 + stob_1676X))) + ((((*((long *) ((((char *) (-3 + log_1377X))) + (4 + (((i_1675X)<<2)))))))>>2))))))<<2)))) {
        if ((verify_1679X == value_1678X)) {
          goto L10667;}
        else {
          if ((3 == (3 & stob_1676X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1676X))) + -4)))))) {
              goto L10667;}
            else {
              goto L40052;}}
          else {
            goto L40052;}}}
      else {
        goto L40052;}}}}
 L10429: {
  arg0K0 = (4 + i_1375X);
  goto L10377;}
 L40052: {
RELEASE_PROPOSAL_LOCK();
  x_1680X = Scurrent_threadS;
  addr_1681X = (((char *) (-3 + x_1680X))) + 12;S48_WRITE_BARRIER(x_1680X, addr_1681X, 1);
  *((long *) addr_1681X) = (long) (1);
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L10084: {
  vector_1682X = arg0K0;
  if ((1 == vector_1682X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_1683X;
    goto L10047;}
  else {
    arg0K0 = vector_1682X;
    goto L10047;}}
 L15808: {
  arg0K0 = (4 + i_1394X);
  goto L15786;}
 L15982: {
  arg0K0 = (4 + i_1402X);
  goto L15962;}
 L47539: {
  minutesP_1684X = arg2K0;
  pending_interruptP_return_tag = 3;
  goto pending_interruptP;
 pending_interruptP_return_3:
  x_1685X = pending_interruptP0_return_value;
  if (x_1685X) {
    goto L47569;}
  else {
    if ((0 == (Spending_interruptsS))) {s48_wait_for_event((((arg2_945X)>>2)), minutesP_1684X);
      goto L47569;}
    else {
      goto L47569;}}}
 L30564: {
  code_1686X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1686X)))))<<2)), code_1686X, 20, 4);
  n_1687X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1687X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1453X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (name_1452X);
  arg0K0 = 2;
  goto L23869;}
 L46746: {
  val_1688X = arg0K0;
  SvalS = val_1688X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L32127: {
  table_1689X = arg0K0;
  n_1690X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_956X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L21220;}
 L40593: {
  l_1691X = arg0K0;
  i_1692X = arg0K1;
  if ((i_1692X < 0)) {
    SvalS = string_1476X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_1476X))) + i_1692X)) = (unsigned char) ((((unsigned char) (((char) ((((*((long *) (((char *) (-3 + l_1691X))))))>>8)))))));
    arg0K0 = (*((long *) ((((char *) (-3 + l_1691X))) + 4)));
    arg0K1 = (-1 + i_1692X);
    goto L40593;}}
 L42129: {
  code_1693X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1693X)))))<<2)), code_1693X, 20, 4);
  n_1694X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1694X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_993X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_994X);
  arg0K0 = 2;
  goto L23869;}
 L31308: {
  code_1695X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1695X)))))<<2)), code_1695X, 20, 8);
  n_1696X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1696X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1494X);
  arg0K0 = 1;
  goto L23869;}
 L31558: {
  code_1697X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1697X)))))<<2)), code_1697X, 20, 8);
  n_1698X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1698X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1505X);
  arg0K0 = 1;
  goto L23869;}
 L31804: {
  code_1699X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1699X)))))<<2)), code_1699X, 20, 8);
  n_1700X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1700X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (Kchar_1514X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1515X);
  arg0K0 = 2;
  goto L23869;}
 L42379: {
  arg0K0 = (*((long *) ((((char *) (-3 + stuff_1524X))) + 4)));
  goto L42373;}
 L17465: {
  if ((3 == (3 & thing_1525X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + thing_1525X)))));
      goto L17523;}
    else {
      goto L17473;}}
  else {
    goto L17473;}}
 L42364: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_1028X, ignoreXX) }
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L26568: {
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1061X));
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L23622: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_1068X))) + (((i_1066X)<<2)))));
  obj_1701X = SvalS;
  if ((3 == (3 & obj_1701X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1701X))) + -4))))>>2))))) {
      goto L23639;}
    else {
      goto L23678;}}
  else {
    goto L23678;}}
 L23664: {
  ps_error("interrupt handler is not a vector", 0);
  goto L23622;}
 L11835: {
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (channel_1539X);
  x_1702X = *((long *) ((((char *) (-3 + channel_1539X))) + 24));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1702X);
  x_1703X = *((long *) ((((char *) (-3 + channel_1539X))) + 20));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1703X);
  n_1704X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1704X)<<2)));
  arg0K0 = 4;
  goto L23608;}
 L12009: {
  v_1705X = arg0K0;
  Sos_signal_ring_startS = v_1705X;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((sig_1541X)<<2)));
  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_startS))) {
    goto L11867;}
  else {
    Spending_interruptsS = (16 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        goto L11867;}
      else {
        goto L11867;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L11867;}}}
 L7079: {
  i_1706X = arg0K0;
  offset_1707X = arg0K1;
  if ((i_1706X == total_count_1081X)) {
    arg0K0 = offset_1707X;
    goto L53747;}
  else {
    env_1708X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1707X)))))<<2))));
    count_1709X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1707X)));
    arg0K0 = count_1709X;
    arg0K1 = i_1706X;
    arg0K2 = (2 + offset_1707X);
    goto L7096;}}
 L53747: {
  bytes_used_1710X = arg0K0;
  SvalS = new_env_576X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1710X));
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L7772: {
  i_1711X = arg0K0;
  offset_1712X = arg0K1;
  if ((i_1711X == total_count_1090X)) {
    arg0K0 = offset_1712X;
    goto L53737;}
  else {
    env_1713X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1712X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1712X))))))<<2))));
    index_1714X = 2 + offset_1712X;
    count_1715X = ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1714X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1714X))));
    arg0K0 = count_1715X;
    arg0K1 = i_1711X;
    arg0K2 = (4 + offset_1712X);
    goto L7789;}}
 L53737: {
  bytes_used_1716X = arg0K0;
  SvalS = new_env_582X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1716X));
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L24166: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_1717X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1717X)))))<<2)), code_1717X, 20, 0);
  n_1718X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1718X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  x_1719X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1719X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (cont_1552X);
  arg0K0 = 2;
  goto L23869;}
 L14522: {
  if ((3 == (3 & x_639X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + x_639X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50811;}
    else {
      arg0K0 = 1;
      goto L50811;}}
  else {
    arg0K0 = 1;
    goto L50811;}}
 L41611: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L41747: {
  if ((3 == (3 & n_1139X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1139X))) + -4))))>>2))))) {
      goto L41756;}
    else {
      goto L41757;}}
  else {
    goto L41757;}}
 L16609: {
  length0_1720X = arg0K0;
  extra0_1721X = arg0K1;
  if ((0 == (3 & y_643X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16617;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_643X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16617;}}
 L19152: {
  x_1722X = arg0K0;
  y_1723X = arg0K1;
  if ((0 == (3 & x_1722X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16529;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1722X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16529;}}
 L8689: {
  if ((536870911 < lo_c_1564X)) {
    arg0K0 = arg2_645X;
    arg0K1 = y_646X;
    goto L19152;}
  else {
    if ((lo_c_1564X < 0)) {
      arg0K0 = arg2_645X;
      arg0K1 = y_646X;
      goto L19152;}
    else {
      if ((8192 < mid_c_1567X)) {
        arg0K0 = arg2_645X;
        arg0K1 = y_646X;
        goto L19152;}
      else {
        if ((a_647X < 0)) {
          if ((b_648X < 0)) {s48_make_availableAgc(16);
            if ((536870911 < c_1568X)) {
              goto L51941;}
            else {
              if ((c_1568X < -536870912)) {
                goto L51941;}
              else {
                arg0K0 = (((c_1568X)<<2));
                goto L51936;}}}
          else {
            goto L8717;}}
        else {
          if ((b_648X < 0)) {
            goto L8717;}
          else {s48_make_availableAgc(16);
            if ((536870911 < c_1568X)) {
              goto L51963;}
            else {
              if ((c_1568X < -536870912)) {
                goto L51963;}
              else {
                arg0K0 = (((c_1568X)<<2));
                goto L51958;}}}}}}}}
 L16566: {
  length0_1724X = arg0K0;
  extra0_1725X = arg0K1;
  if ((0 == (3 & y_650X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16574;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_650X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16574;}}
 L52032: {
  v_1726X = (char *) s48_long_to_bignum(c_1572X);
  v_1727X = enter_bignum(v_1726X);
  arg0K0 = v_1727X;
  goto L52027;}
 L52027: {
  val_1728X = arg0K0;
  SvalS = val_1728X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L8951: {
  x_1729X = 0 - c_1572X;s48_make_availableAgc(16);
  if ((536870911 < x_1729X)) {
    goto L52010;}
  else {
    if ((x_1729X < -536870912)) {
      goto L52010;}
    else {
      arg0K0 = (((x_1729X)<<2));
      goto L52005;}}}
 L52054: {
  v_1730X = (char *) s48_long_to_bignum(c_1572X);
  v_1731X = enter_bignum(v_1730X);
  arg0K0 = v_1731X;
  goto L52049;}
 L52049: {
  val_1732X = arg0K0;
  SvalS = val_1732X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16134: {
  length0_1733X = arg0K0;
  extra0_1734X = arg0K1;
  if ((0 == (3 & y_653X))) {
    arg0K0 = 3;
    goto L16142;}
  else {
    arg0K0 = 0;
    goto L16142;}}
 L35076: {
  val_1735X = arg0K0;
  SvalS = val_1735X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35352: {
  val_1736X = arg0K0;
  SvalS = val_1736X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L35691: {
  val_1737X = arg0K0;
  SvalS = val_1737X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36030: {
  val_1738X = arg0K0;
  SvalS = val_1738X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L36340: {
  val_1739X = arg0K0;
  SvalS = val_1739X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L19784: {
  extra1_1740X = arg0K0;
  Stemp0S = x_1189X;
  Stemp1S = y_1190X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1603X)<<2))))>>1)))) + extra0_1604X) + extra1_1740X))<<2)));
  value_1741X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1741X))) {
    v_1742X = (char *) s48_long_to_bignum((((value_1741X)>>2)));
    arg1K0 = v_1742X;
    goto L19766;}
  else {
    arg1K0 = (((char *) (-3 + value_1741X)));
    goto L19766;}}
 L9640: {
  if ((536870911 < c_1606X)) {
    arg0K0 = arg2_666X;
    arg0K1 = y_667X;
    goto L19752;}
  else {
    SvalS = (((c_1606X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L9639: {
  SvalS = ((((0 - c_1606X))<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L19875: {
  extra1_1743X = arg0K0;
  Stemp0S = x_1192X;
  Stemp1S = y_1193X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1607X)<<2))))>>1)))) + extra0_1608X) + extra1_1743X))<<2)));
  value_1744X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1744X))) {
    v_1745X = (char *) s48_long_to_bignum((((value_1744X)>>2)));
    arg1K0 = v_1745X;
    goto L19857;}
  else {
    arg1K0 = (((char *) (-3 + value_1744X)));
    goto L19857;}}
 L36832: {
  n_1746X = arg0K0;
  SvalS = (((n_1746X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L24414: {
  v_1747X = (char *) s48_long_to_bignum(x_1611X);
  v_1748X = enter_bignum(v_1747X);
  arg0K0 = v_1748X;
  goto L53713;}
 L19352: {
  x_1749X = arg1K0;
  v_1750X = s48_bignum_test(x_1749X);
  if ((-1 == v_1750X)) {
    v_1751X = (char *) s48_bignum_negate(x_1749X);
    arg1K0 = v_1751X;
    goto L19354;}
  else {
    arg1K0 = x_1749X;
    goto L19354;}}
 L19487: {
  v_1752X = arg0K0;
  Stemp0S = x_684X;s48_make_availableAgc((((((1 + ((((11 + (((v_1752X)<<2))))>>2))) + extra_1617X))<<2)));
  value_1753X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1753X))) {
    v_1754X = (char *) s48_long_to_bignum((((value_1753X)>>2)));
    arg1K0 = v_1754X;
    goto L19477;}
  else {
    arg1K0 = (((char *) (-3 + value_1753X)));
    goto L19477;}}
 L18903: {
  v_1755X = arg0K0;
  Stemp0S = x_685X;s48_make_availableAgc((((((1 + ((((11 + (((v_1755X)<<2))))>>2))) + extra_1621X))<<2)));
  value_1756X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1756X))) {
    v_1757X = (char *) s48_long_to_bignum((((value_1756X)>>2)));
    arg1K0 = v_1757X;
    goto L18893;}
  else {
    arg1K0 = (((char *) (-3 + value_1756X)));
    goto L18893;}}
 L16348: {
  length0_1758X = arg0K0;
  extra0_1759X = arg0K1;
  if ((0 == (3 & y_688X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16356;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_688X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16356;}}
 L16305: {
  length0_1760X = arg0K0;
  extra0_1761X = arg0K1;
  if ((0 == (3 & y_690X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16313;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_690X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16313;}}
 L16262: {
  length0_1762X = arg0K0;
  extra0_1763X = arg0K1;
  if ((0 == (3 & y_692X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16270;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_692X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16270;}}
 L44231: {
  x_1764X = arg1K0;
  external_bignum_1765X = (char *) s48_bignum_arithmetic_shift(x_1764X, y_1630X);
  v_1766X = s48_bignum_fits_in_word_p(external_bignum_1765X, 30, 1);
  if (v_1766X) {
    n_1767X = s48_bignum_to_long(external_bignum_1765X);
    arg0K0 = (((n_1767X)<<2));
    goto L44171;}
  else {
    v_1768X = enter_bignum(external_bignum_1765X);
    arg0K0 = v_1768X;
    goto L44171;}}
 L44177: {
  val_1769X = arg0K0;
  SvalS = val_1769X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L21713: {
  foo_1770X = arg0K0;
  if ((1 == foo_1770X)) {
    if ((3 == (3 & bucket_1648X))) {
      arg0K0 = (-4 & bucket_1648X);
      goto L21718;}
    else {
      arg0K0 = bucket_1648X;
      goto L21718;}}
  else {
    s2_1771X = *((long *) (((char *) (-3 + foo_1770X))));
    len_1772X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_792X))) + -4))))>>8);
    if ((len_1772X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1771X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1771X))), (void *)(((char *) (-3 + string_792X))),len_1772X)))) {
        arg0K0 = foo_1770X;
        goto L34315;}
      else {
        goto L21733;}}
    else {
      goto L21733;}}}
 L38829: {
  if ((1 == (*((Svm_channelsS) + index_1649X)))) {
    channel_1773X = make_channel((((mode_803X)<<2)), arg3_802X, (((index_1649X)<<2)), close_silentlyP_804X, 1, 1, 1, 0);
    *((Svm_channelsS) + index_1649X) = channel_1773X;
    arg0K0 = channel_1773X;
    arg0K1 = 9;
    goto L38712;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L38712;}}
 L38712: {
  channel_1774X = arg0K0;
  reason_1775X = arg0K1;
  if ((1 == channel_1774X)) {
    if ((3 == (3 & arg3_802X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_802X))) + -4))))>>2))))) {
        if ((1 == mode_803X)) {
          goto L38863;}
        else {
          if ((3 == mode_803X)) {
            goto L38863;}
          else {
            v_1776X = ps_close_fd(index_1649X);
            arg0K0 = v_1776X;
            goto L38858;}}}
      else {
        arg0K0 = reason_1775X;
        goto L38678;}}
    else {
      arg0K0 = reason_1775X;
      goto L38678;}}
  else {
    SvalS = channel_1774X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}}
 L39118: {
  if ((3 == (3 & arg4_818X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_818X))) + -4)))))) {
      if ((3 == (3 & arg4_818X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_818X))) + -4))))>>2))))) {
          arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_818X))) + -4))))>>8)));
          goto L39125;}
        else {
          goto L39337;}}
      else {
        goto L39337;}}
    else {
      goto L39170;}}
  else {
    goto L39170;}}
 L39311: {
  if ((3 == (3 & arg4_818X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg4_818X))) + -4))))>>2))))) {
      goto L39118;}
    else {
      goto L39170;}}
  else {
    goto L39170;}}
 L39170: {
  code_1777X = current_code_vector();push_exception_continuationB(((((char *) (-3 + (Sexception_return_codeS)))) + 11), (((((Scode_pointerS) - (((char *) (-3 + code_1777X)))))<<2)), code_1777X, 20, 4);
  n_1778X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1778X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (20);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_819X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_818X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1660X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1661X)<<2)));
  if (waitP_1659X) {
    arg0K0 = 5;
    goto L39186;}
  else {
    arg0K0 = 1;
    goto L39186;}}
 L39514: {
  val_1779X = arg0K0;
  SvalS = val_1779X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L39802: {
  x_1780X = Scurrent_threadS;
  addr_1781X = (((char *) (-3 + x_1780X))) + 12;S48_WRITE_BARRIER(x_1780X, addr_1781X, proposal_844X);
  *((long *) addr_1781X) = (long) (proposal_844X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L40168: {
  copies_1782X = arg0K0;
  if ((1 == copies_1782X)) {
    log_1783X = *((long *) ((((char *) (-3 + proposal_845X))) + 4));
    arg0K0 = 0;
    goto L9419;}
  else {
    thing_1784X = *((long *) ((((char *) (-3 + copies_1782X))) + 8));
    if ((3 == (3 & thing_1784X))) {
      if ((0 == (128 & (*((long *) ((((char *) (-3 + thing_1784X))) + -4)))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + copies_1782X))) + 20)));
        goto L40168;}
      else {
        goto L40052;}}
    else {
      goto L40052;}}}
 L10667: {
  arg0K0 = (4 + i_1675X);
  goto L10615;}
 L10047: {
  entry_1785X = arg0K0;
  proposal_1786X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  value_1787X = Stemp0S;
  Stemp0S = 1;
  addr_1788X = ((char *) (-3 + entry_1785X));S48_WRITE_BARRIER(entry_1785X, addr_1788X, value_1787X);
  *((long *) addr_1788X) = (long) (value_1787X);
  addr_1789X = (((char *) (-3 + entry_1785X))) + 4;S48_WRITE_BARRIER(entry_1785X, addr_1789X, from_index_1387X);
  *((long *) addr_1789X) = (long) (from_index_1387X);
  value_1790X = Stemp1S;
  Stemp1S = 1;
  addr_1791X = (((char *) (-3 + entry_1785X))) + 8;S48_WRITE_BARRIER(entry_1785X, addr_1791X, value_1790X);
  *((long *) addr_1791X) = (long) (value_1790X);
  addr_1792X = (((char *) (-3 + entry_1785X))) + 12;S48_WRITE_BARRIER(entry_1785X, addr_1792X, to_index_1388X);
  *((long *) addr_1792X) = (long) (to_index_1388X);
  addr_1793X = (((char *) (-3 + entry_1785X))) + 16;S48_WRITE_BARRIER(entry_1785X, addr_1793X, count_1389X);
  *((long *) addr_1793X) = (long) (count_1389X);
  value_1794X = *((long *) ((((char *) (-3 + proposal_1786X))) + 12));
  addr_1795X = (((char *) (-3 + entry_1785X))) + 20;S48_WRITE_BARRIER(entry_1785X, addr_1795X, value_1794X);
  *((long *) addr_1795X) = (long) (value_1794X);
  addr_1796X = (((char *) (-3 + proposal_1786X))) + 12;S48_WRITE_BARRIER(proposal_1786X, addr_1796X, entry_1785X);
  *((long *) addr_1796X) = (long) (entry_1785X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L47569: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L21220: {
  i_1797X = arg0K0;
  h_1798X = arg0K1;
  if ((i_1797X < n_1690X)) {
    arg0K0 = (1 + i_1797X);
    arg0K1 = (h_1798X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_956X))) + i_1797X))))))));
    goto L21220;}
  else {
    index_1799X = 1023 & h_1798X;
    link_1800X = *((long *) ((((char *) (-3 + table_1689X))) + (((index_1799X)<<2))));
    if ((0 == (3 & link_1800X))) {
      arg0K0 = (3 + (-4 & link_1800X));
      goto L21175;}
    else {
      arg0K0 = link_1800X;
      goto L21175;}}}
 L17523: {
  v_1801X = arg3K0;
  ps_write_string(v_1801X, out_1028X);
  goto L42379;}
 L17473: {
  if ((3 == (3 & thing_1525X))) {
    if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_1525X))))))))));
      goto L17523;}
    else {
      goto L17481;}}
  else {
    goto L17481;}}
 L23639: {
  Senabled_interruptsS = 0;
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      goto L23641;}
    else {
      goto L23641;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    goto L23641;}}
 L23678: {
  ps_error("interrupt handler is not a closure", 1, i_1066X);
  goto L23639;}
 L11867: {
  n_1802X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1802X)<<2)));
  arg0K0 = 2;
  goto L23608;}
 L7096: {
  count_1803X = arg0K0;
  i_1804X = arg0K1;
  offset_1805X = arg0K2;
  if ((0 == count_1803X)) {
    arg0K0 = i_1804X;
    arg0K1 = offset_1805X;
    goto L7079;}
  else {
    value_1806X = *((long *) ((((char *) (-3 + env_1708X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1805X)))))<<2))));
    addr_1807X = (((char *) (-3 + new_env_1078X))) + (((i_1804X)<<2));S48_WRITE_BARRIER(new_env_1078X, addr_1807X, value_1806X);
    *((long *) addr_1807X) = (long) (value_1806X);
    arg0K0 = (-1 + count_1803X);
    arg0K1 = (1 + i_1804X);
    arg0K2 = (1 + offset_1805X);
    goto L7096;}}
 L7789: {
  count_1808X = arg0K0;
  i_1809X = arg0K1;
  offset_1810X = arg0K2;
  if ((0 == count_1808X)) {
    arg0K0 = i_1809X;
    arg0K1 = offset_1810X;
    goto L7772;}
  else {
    value_1811X = *((long *) ((((char *) (-3 + env_1713X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1810X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1810X))))))<<2))));
    addr_1812X = (((char *) (-3 + new_env_1087X))) + (((i_1809X)<<2));S48_WRITE_BARRIER(new_env_1087X, addr_1812X, value_1811X);
    *((long *) addr_1812X) = (long) (value_1811X);
    arg0K0 = (-1 + count_1808X);
    arg0K1 = (1 + i_1809X);
    arg0K2 = (2 + offset_1810X);
    goto L7789;}}
 L41757: {
  if ((3 == (3 & n_1139X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1139X))) + -4))))>>2))))) {
      arg0K0 = n_1139X;
      goto L24475;}
    else {
      goto L41761;}}
  else {
    goto L41761;}}
 L16617: {
  length1_1813X = arg0K0;
  extra1_1814X = arg0K1;
  if ((length0_1720X < length1_1813X)) {
    arg0K0 = length1_1813X;
    goto L16639;}
  else {
    arg0K0 = length0_1720X;
    goto L16639;}}
 L16529: {
  length0_1815X = arg0K0;
  extra0_1816X = arg0K1;
  if ((0 == (3 & y_1723X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16537;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_1723X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16537;}}
 L51941: {
  v_1817X = (char *) s48_long_to_bignum(c_1568X);
  v_1818X = enter_bignum(v_1817X);
  arg0K0 = v_1818X;
  goto L51936;}
 L51936: {
  val_1819X = arg0K0;
  SvalS = val_1819X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L8717: {
  x_1820X = 0 - c_1568X;s48_make_availableAgc(16);
  if ((536870911 < x_1820X)) {
    goto L51919;}
  else {
    if ((x_1820X < -536870912)) {
      goto L51919;}
    else {
      arg0K0 = (((x_1820X)<<2));
      goto L51914;}}}
 L51963: {
  v_1821X = (char *) s48_long_to_bignum(c_1568X);
  v_1822X = enter_bignum(v_1821X);
  arg0K0 = v_1822X;
  goto L51958;}
 L51958: {
  val_1823X = arg0K0;
  SvalS = val_1823X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16574: {
  length1_1824X = arg0K0;
  extra1_1825X = arg0K1;
  if ((length0_1724X < length1_1824X)) {
    arg0K0 = length1_1824X;
    goto L16596;}
  else {
    arg0K0 = length0_1724X;
    goto L16596;}}
 L52010: {
  v_1826X = (char *) s48_long_to_bignum(x_1729X);
  v_1827X = enter_bignum(v_1826X);
  arg0K0 = v_1827X;
  goto L52005;}
 L52005: {
  val_1828X = arg0K0;
  SvalS = val_1828X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16142: {
  extra1_1829X = arg0K0;
  Stemp0S = arg2_652X;
  Stemp1S = y_653X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1733X)<<2))))>>1)))) + extra0_1734X) + extra1_1829X))<<2)));
  value_1830X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1830X))) {
    v_1831X = (char *) s48_long_to_bignum((((value_1830X)>>2)));
    arg1K0 = v_1831X;
    goto L19242;}
  else {
    arg1K0 = (((char *) (-3 + value_1830X)));
    goto L19242;}}
 L19766: {
  x_1832X = arg1K0;
  value_1833X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1833X))) {
    v_1834X = (char *) s48_long_to_bignum((((value_1833X)>>2)));
    arg1K0 = v_1834X;
    goto L19770;}
  else {
    arg1K0 = (((char *) (-3 + value_1833X)));
    goto L19770;}}
 L19857: {
  x_1835X = arg1K0;
  value_1836X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1836X))) {
    v_1837X = (char *) s48_long_to_bignum((((value_1836X)>>2)));
    arg1K0 = v_1837X;
    goto L19861;}
  else {
    arg1K0 = (((char *) (-3 + value_1836X)));
    goto L19861;}}
 L19354: {
  external_bignum_1838X = arg1K0;
  v_1839X = s48_bignum_fits_in_word_p(external_bignum_1838X, 30, 1);
  if (v_1839X) {
    n_1840X = s48_bignum_to_long(external_bignum_1838X);
    arg0K0 = (((n_1840X)<<2));
    goto L53713;}
  else {
    v_1841X = enter_bignum(external_bignum_1838X);
    arg0K0 = v_1841X;
    goto L53713;}}
 L19477: {
  v_1842X = arg1K0;
  external_bignum_1843X = (char *) s48_bignum_bitwise_not(v_1842X);
  v_1844X = s48_bignum_fits_in_word_p(external_bignum_1843X, 30, 1);
  if (v_1844X) {
    n_1845X = s48_bignum_to_long(external_bignum_1843X);
    arg0K0 = (((n_1845X)<<2));
    goto L37419;}
  else {
    val_1846X = enter_bignum(external_bignum_1843X);
    arg0K0 = val_1846X;
    goto L37419;}}
 L18893: {
  v_1847X = arg1K0;
  n_1848X = s48_bignum_bit_count(v_1847X);
  SvalS = (((n_1848X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16356: {
  length1_1849X = arg0K0;
  extra1_1850X = arg0K1;
  if ((length0_1758X < length1_1849X)) {
    arg0K0 = length1_1849X;
    goto L16378;}
  else {
    arg0K0 = length0_1758X;
    goto L16378;}}
 L16313: {
  length1_1851X = arg0K0;
  extra1_1852X = arg0K1;
  if ((length0_1760X < length1_1851X)) {
    arg0K0 = length1_1851X;
    goto L16335;}
  else {
    arg0K0 = length0_1760X;
    goto L16335;}}
 L16270: {
  length1_1853X = arg0K0;
  extra1_1854X = arg0K1;
  if ((length0_1762X < length1_1853X)) {
    arg0K0 = length1_1853X;
    goto L16292;}
  else {
    arg0K0 = length0_1762X;
    goto L16292;}}
 L44171: {
  val_1855X = arg0K0;
  SvalS = val_1855X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L21718: {
  b_1856X = arg0K0;
  addr_1857X = s48_allocate_small(12);
  *((long *) addr_1857X) = (long) (2054);
  x_1858X = 3 + (((long) (addr_1857X + 4)));
  *((long *) (((char *) (-3 + x_1858X)))) = (long) (string_792X);
  *((long *) ((((char *) (-3 + x_1858X))) + 4)) = (long) (b_1856X);
  if ((3 == (3 & x_1858X))) {
    arg0K0 = (-4 & x_1858X);
    goto L21724;}
  else {
    arg0K0 = x_1858X;
    goto L21724;}}
 L34315: {
  val_1859X = arg0K0;
  SvalS = val_1859X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L21733: {
  link_1860X = *((long *) ((((char *) (-3 + foo_1770X))) + 4));
  if ((0 == (3 & link_1860X))) {
    arg0K0 = (3 + (-4 & link_1860X));
    goto L21713;}
  else {
    arg0K0 = link_1860X;
    goto L21713;}}
 L38863: {
  v_1861X = ps_close_fd(index_1649X);
  arg0K0 = v_1861X;
  goto L38858;}
 L38858: {
  status_1862X = arg0K0;
  if ((status_1862X == NO_ERRORS)) {
    arg0K0 = reason_1775X;
    goto L38678;}
  else {channel_close_error(status_1862X, index_1649X, arg3_802X);
    arg0K0 = reason_1775X;
    goto L38678;}}
 L39125: {
  y_1863X = arg0K0;
  if ((y_1863X < (start_1660X + count_1661X))) {
    goto L39170;}
  else {
    got_1864X = ps_read_fd(((((*((long *) ((((char *) (-3 + arg5_819X))) + 8))))>>2)), ((((char *) (-3 + arg4_818X))) + start_1660X), count_1661X, waitP_1659X, &eofP_1865X, &pendingP_1866X, &status_1867X);
    if ((status_1867X == NO_ERRORS)) {
      if (eofP_1865X) {
        arg0K0 = 21;
        goto L39169;}
      else {
        if (pendingP_1866X) {
          addr_1868X = (((char *) (-3 + arg5_819X))) + 20;S48_WRITE_BARRIER(arg5_819X, addr_1868X, 5);
          *((long *) addr_1868X) = (long) (5);
          arg0K0 = 1;
          goto L39169;}
        else {
          arg0K0 = (((got_1864X)<<2));
          goto L39169;}}}
    else {
      addr_1869X = s48_allocate_small(8);
      *((long *) addr_1869X) = (long) (1046);
      x_1870X = 3 + (((long) (addr_1869X + 4)));
      *((long *) (((char *) (-3 + x_1870X)))) = (long) ((((status_1867X)<<2)));
      arg0K0 = x_1870X;
      goto L39169;}}}
 L39337: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_818X))) + -4))))>>8));
  goto L39125;}
 L39186: {
  x_1871X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1871X);
  arg0K0 = 5;
  goto L23869;}
 L9419: {
  i_1872X = arg0K0;
  stob_1873X = *((long *) ((((char *) (-3 + log_1783X))) + (((i_1872X)<<2))));
  if ((1 == stob_1873X)) {
    log_1874X = *((long *) ((((char *) (-3 + proposal_845X))) + 8));
    arg0K0 = 0;
    goto L12641;}
  else {
    value_1875X = *((long *) ((((char *) (-3 + log_1783X))) + (8 + (((i_1872X)<<2)))));
    verify_1876X = *((long *) ((((char *) (-3 + log_1783X))) + (12 + (((i_1872X)<<2)))));
    if ((verify_1876X == value_1875X)) {
      goto L9451;}
    else {
      addr_1877X = (((char *) (-3 + stob_1873X))) + (-4 & (*((long *) ((((char *) (-3 + log_1783X))) + (4 + (((i_1872X)<<2)))))));S48_WRITE_BARRIER(stob_1873X, addr_1877X, value_1875X);
      *((long *) addr_1877X) = (long) (value_1875X);
      goto L9451;}}}
 L21175: {
  bucket_1878X = arg0K0;
  arg0K0 = 1;
  arg0K1 = bucket_1878X;
  goto L21182;}
 L17481: {
  if ((1 == thing_1525X)) {
    goto L17484;}
  else {
    if ((5 == thing_1525X)) {
      goto L17484;}
    else {
      if ((25 == thing_1525X)) {
        arg3K0 = "()";
        goto L17523;}
      else {
        if ((3 == (3 & thing_1525X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
            arg3K0 = "(...)";
            goto L17523;}
          else {
            goto L17497;}}
        else {
          goto L17497;}}}}}
 L23641: {
  arg0K0 = arg_count_1538X;
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = (-2 - i_1066X);
  goto L32311;}
 L41761: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16639: {
  v_1879X = arg0K0;
  Stemp0S = arg2_642X;
  Stemp1S = y_643X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1879X)<<2))))>>2))) + extra0_1721X) + extra1_1814X))<<2)));
  value_1880X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1880X))) {
    v_1881X = (char *) s48_long_to_bignum((((value_1880X)>>2)));
    arg1K0 = v_1881X;
    goto L19018;}
  else {
    arg1K0 = (((char *) (-3 + value_1880X)));
    goto L19018;}}
 L16537: {
  length1_1882X = arg0K0;
  extra1_1883X = arg0K1;
  Stemp0S = x_1722X;
  Stemp1S = y_1723X;s48_make_availableAgc(((((((1 + ((((7 + ((((length0_1815X + length1_1882X))<<2))))>>2))) + extra0_1816X) + extra1_1883X))<<2)));
  value_1884X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1884X))) {
    v_1885X = (char *) s48_long_to_bignum((((value_1884X)>>2)));
    arg1K0 = v_1885X;
    goto L19166;}
  else {
    arg1K0 = (((char *) (-3 + value_1884X)));
    goto L19166;}}
 L51919: {
  v_1886X = (char *) s48_long_to_bignum(x_1820X);
  v_1887X = enter_bignum(v_1886X);
  arg0K0 = v_1887X;
  goto L51914;}
 L51914: {
  val_1888X = arg0K0;
  SvalS = val_1888X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16596: {
  v_1889X = arg0K0;
  Stemp0S = arg2_649X;
  Stemp1S = y_650X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1889X)<<2))))>>2))) + extra0_1725X) + extra1_1825X))<<2)));
  value_1890X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1890X))) {
    v_1891X = (char *) s48_long_to_bignum((((value_1890X)>>2)));
    arg1K0 = v_1891X;
    goto L19092;}
  else {
    arg1K0 = (((char *) (-3 + value_1890X)));
    goto L19092;}}
 L19242: {
  x_1892X = arg1K0;
  value_1893X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1893X))) {
    v_1894X = (char *) s48_long_to_bignum((((value_1893X)>>2)));
    arg1K0 = v_1894X;
    goto L19246;}
  else {
    arg1K0 = (((char *) (-3 + value_1893X)));
    goto L19246;}}
 L19770: {
  y_1895X = arg1K0;
  external_bignum_1896X = (char *)s48_bignum_quotient(x_1832X, y_1895X);
  v_1897X = s48_bignum_fits_in_word_p(external_bignum_1896X, 30, 1);
  if (v_1897X) {
    n_1898X = s48_bignum_to_long(external_bignum_1896X);
    arg0K0 = (((n_1898X)<<2));
    goto L53727;}
  else {
    val_1899X = enter_bignum(external_bignum_1896X);
    arg0K0 = val_1899X;
    goto L53727;}}
 L19861: {
  y_1900X = arg1K0;
  external_bignum_1901X = (char *)s48_bignum_remainder(x_1835X, y_1900X);
  v_1902X = s48_bignum_fits_in_word_p(external_bignum_1901X, 30, 1);
  if (v_1902X) {
    n_1903X = s48_bignum_to_long(external_bignum_1901X);
    arg0K0 = (((n_1903X)<<2));
    goto L53727;}
  else {
    val_1904X = enter_bignum(external_bignum_1901X);
    arg0K0 = val_1904X;
    goto L53727;}}
 L37419: {
  val_1905X = arg0K0;
  SvalS = val_1905X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L16378: {
  v_1906X = arg0K0;
  Stemp0S = arg2_687X;
  Stemp1S = y_688X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1906X)<<2))))>>2))) + extra0_1759X) + extra1_1850X))<<2)));
  value_1907X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1907X))) {
    v_1908X = (char *) s48_long_to_bignum((((value_1907X)>>2)));
    arg1K0 = v_1908X;
    goto L19544;}
  else {
    arg1K0 = (((char *) (-3 + value_1907X)));
    goto L19544;}}
 L16335: {
  v_1909X = arg0K0;
  Stemp0S = arg2_689X;
  Stemp1S = y_690X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1909X)<<2))))>>2))) + extra0_1761X) + extra1_1852X))<<2)));
  value_1910X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1910X))) {
    v_1911X = (char *) s48_long_to_bignum((((value_1910X)>>2)));
    arg1K0 = v_1911X;
    goto L19618;}
  else {
    arg1K0 = (((char *) (-3 + value_1910X)));
    goto L19618;}}
 L16292: {
  v_1912X = arg0K0;
  Stemp0S = arg2_691X;
  Stemp1S = y_692X;s48_make_availableAgc(((((((1 + ((((11 + (((v_1912X)<<2))))>>2))) + extra0_1763X) + extra1_1854X))<<2)));
  value_1913X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1913X))) {
    v_1914X = (char *) s48_long_to_bignum((((value_1913X)>>2)));
    arg1K0 = v_1914X;
    goto L19692;}
  else {
    arg1K0 = (((char *) (-3 + value_1913X)));
    goto L19692;}}
 L21724: {
  value_1915X = arg0K0;
  addr_1916X = (((char *) (-3 + table_791X))) + (((index_1321X)<<2));S48_WRITE_BARRIER(table_791X, addr_1916X, value_1915X);
  *((long *) addr_1916X) = (long) (value_1915X);
  arg0K0 = x_1858X;
  goto L34315;}
 L39169: {
  val_1917X = arg0K0;
  SvalS = val_1917X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L12641: {
  i_1918X = arg0K0;
  stob_1919X = *((long *) ((((char *) (-3 + log_1874X))) + (((i_1918X)<<2))));
  if ((1 == stob_1919X)) {
    copies_1920X = *((long *) ((((char *) (-3 + proposal_845X))) + 12));
    arg0K0 = copies_1920X;
    goto L12556;}
  else {
    value_1921X = *((long *) ((((char *) (-3 + log_1874X))) + (8 + (((i_1918X)<<2)))));
    verify_1922X = *((long *) ((((char *) (-3 + log_1874X))) + (12 + (((i_1918X)<<2)))));
    if ((verify_1922X == value_1921X)) {
      goto L12673;}
    else {
      *((unsigned char *) ((((char *) (-3 + stob_1919X))) + ((((*((long *) ((((char *) (-3 + log_1874X))) + (4 + (((i_1918X)<<2)))))))>>2)))) = (unsigned char) ((((value_1921X)>>2)));
      goto L12673;}}}
 L9451: {
  arg0K0 = (4 + i_1872X);
  goto L9419;}
 L21182: {
  previous_foo_1923X = arg0K0;
  foo_1924X = arg0K1;
  if ((1 == foo_1924X)) {
    goto L32129;}
  else {
    s2_1925X = *((long *) (((char *) (-3 + foo_1924X))));
    len_1926X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_956X))) + -4))))>>8);
    if ((len_1926X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1925X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1925X))), (void *)(((char *) (-3 + arg2_956X))),len_1926X)))) {
        if ((1 == previous_foo_1923X)) {
          value_1927X = *((long *) ((((char *) (-3 + foo_1924X))) + 12));
          addr_1928X = (((char *) (-3 + table_1689X))) + (((index_1799X)<<2));S48_WRITE_BARRIER(table_1689X, addr_1928X, value_1927X);
          *((long *) addr_1928X) = (long) (value_1927X);
          goto L32129;}
        else {
          val_1929X = *((long *) ((((char *) (-3 + foo_1924X))) + 12));
          addr_1930X = (((char *) (-3 + previous_foo_1923X))) + 12;S48_WRITE_BARRIER(previous_foo_1923X, addr_1930X, val_1929X);
          *((long *) addr_1930X) = (long) (val_1929X);
          goto L32129;}}
      else {
        goto L21250;}}
    else {
      goto L21250;}}}
 L17484: {
  if ((1 == thing_1525X)) {
    arg3K0 = "#f";
    goto L17523;}
  else {
    arg3K0 = "#t";
    goto L17523;}}
 L17497: {
  if ((3 == (3 & thing_1525X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#(...)";
      goto L17523;}
    else {
      goto L17501;}}
  else {
    goto L17501;}}
 L19018: {
  x_1931X = arg1K0;
  value_1932X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1932X))) {
    v_1933X = (char *) s48_long_to_bignum((((value_1932X)>>2)));
    arg1K0 = v_1933X;
    goto L19022;}
  else {
    arg1K0 = (((char *) (-3 + value_1932X)));
    goto L19022;}}
 L19166: {
  x_1934X = arg1K0;
  value_1935X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1935X))) {
    v_1936X = (char *) s48_long_to_bignum((((value_1935X)>>2)));
    arg1K0 = v_1936X;
    goto L19170;}
  else {
    arg1K0 = (((char *) (-3 + value_1935X)));
    goto L19170;}}
 L19092: {
  x_1937X = arg1K0;
  value_1938X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1938X))) {
    v_1939X = (char *) s48_long_to_bignum((((value_1938X)>>2)));
    arg1K0 = v_1939X;
    goto L19096;}
  else {
    arg1K0 = (((char *) (-3 + value_1938X)));
    goto L19096;}}
 L19246: {
  y_1940X = arg1K0;
  div_by_zeroP_1941X = s48_bignum_divide(x_1892X, y_1940X, &quot_1942X, &rem_1943X);
  if (div_by_zeroP_1941X) {
    arg2K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L43885;}
  else {
    v_1944X = s48_bignum_fits_in_word_p(quot_1942X, 30, 1);
    if (v_1944X) {
      n_1945X = s48_bignum_to_long(quot_1942X);
      arg0K0 = (((n_1945X)<<2));
      goto L19267;}
    else {
      v_1946X = enter_bignum(quot_1942X);
      arg0K0 = v_1946X;
      goto L19267;}}}
 L53727: {
  val_1947X = arg0K0;
  SvalS = val_1947X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L19544: {
  x_1948X = arg1K0;
  value_1949X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1949X))) {
    v_1950X = (char *) s48_long_to_bignum((((value_1949X)>>2)));
    arg1K0 = v_1950X;
    goto L19548;}
  else {
    arg1K0 = (((char *) (-3 + value_1949X)));
    goto L19548;}}
 L19618: {
  x_1951X = arg1K0;
  value_1952X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1952X))) {
    v_1953X = (char *) s48_long_to_bignum((((value_1952X)>>2)));
    arg1K0 = v_1953X;
    goto L19622;}
  else {
    arg1K0 = (((char *) (-3 + value_1952X)));
    goto L19622;}}
 L19692: {
  x_1954X = arg1K0;
  value_1955X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1955X))) {
    v_1956X = (char *) s48_long_to_bignum((((value_1955X)>>2)));
    arg1K0 = v_1956X;
    goto L19696;}
  else {
    arg1K0 = (((char *) (-3 + value_1955X)));
    goto L19696;}}
 L12556: {
  copies_1957X = arg0K0;
  if ((1 == copies_1957X)) {
    value_1958X = Sempty_logS;
    addr_1959X = (((char *) (-3 + proposal_845X))) + 4;S48_WRITE_BARRIER(proposal_845X, addr_1959X, value_1958X);
    *((long *) addr_1959X) = (long) (value_1958X);
    value_1960X = Sempty_logS;
    addr_1961X = (((char *) (-3 + proposal_845X))) + 8;S48_WRITE_BARRIER(proposal_845X, addr_1961X, value_1960X);
    *((long *) addr_1961X) = (long) (value_1960X);
    addr_1962X = (((char *) (-3 + proposal_845X))) + 12;S48_WRITE_BARRIER(proposal_845X, addr_1962X, 1);
    *((long *) addr_1962X) = (long) (1);RELEASE_PROPOSAL_LOCK();
    x_1963X = Scurrent_threadS;
    addr_1964X = (((char *) (-3 + x_1963X))) + 12;S48_WRITE_BARRIER(x_1963X, addr_1964X, 1);
    *((long *) addr_1964X) = (long) (1);
    SvalS = 5;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L25161;}
  else {
    stob_1965X = *((long *) ((((char *) (-3 + copies_1957X))) + 8));
    v_1966X = (((*((long *) ((((char *) (-3 + copies_1957X))) + 12))))>>2);
    stob_1967X = *((long *) (((char *) (-3 + copies_1957X))));
    v_1968X = (((*((long *) ((((char *) (-3 + copies_1957X))) + 4))))>>2);
    v_1969X = (((*((long *) ((((char *) (-3 + copies_1957X))) + 16))))>>2);
    memcpy((void *)((((char *) (-3 + stob_1965X))) + v_1966X), (void *)((((char *) (-3 + stob_1967X))) + v_1968X),v_1969X);
    arg0K0 = (*((long *) ((((char *) (-3 + copies_1957X))) + 20)));
    goto L12556;}}
 L12673: {
  arg0K0 = (4 + i_1918X);
  goto L12641;}
 L32129: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L21250: {
  link_1970X = *((long *) ((((char *) (-3 + foo_1924X))) + 12));
  if ((0 == (3 & link_1970X))) {
    arg0K0 = foo_1924X;
    arg0K1 = (3 + (-4 & link_1970X));
    goto L21182;}
  else {
    arg0K0 = foo_1924X;
    arg0K1 = link_1970X;
    goto L21182;}}
 L17501: {
  if ((3 == (3 & thing_1525X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#{procedure}";
      goto L17523;}
    else {
      goto L17505;}}
  else {
    goto L17505;}}
 L19022: {
  y_1971X = arg1K0;
  external_bignum_1972X = (char *)s48_bignum_add(x_1931X, y_1971X);
  v_1973X = s48_bignum_fits_in_word_p(external_bignum_1972X, 30, 1);
  if (v_1973X) {
    n_1974X = s48_bignum_to_long(external_bignum_1972X);
    arg0K0 = (((n_1974X)<<2));
    goto L34468;}
  else {
    val_1975X = enter_bignum(external_bignum_1972X);
    arg0K0 = val_1975X;
    goto L34468;}}
 L19170: {
  y_1976X = arg1K0;
  external_bignum_1977X = (char *)s48_bignum_multiply(x_1934X, y_1976X);
  v_1978X = s48_bignum_fits_in_word_p(external_bignum_1977X, 30, 1);
  if (v_1978X) {
    n_1979X = s48_bignum_to_long(external_bignum_1977X);
    arg0K0 = (((n_1979X)<<2));
    goto L53727;}
  else {
    val_1980X = enter_bignum(external_bignum_1977X);
    arg0K0 = val_1980X;
    goto L53727;}}
 L19096: {
  y_1981X = arg1K0;
  external_bignum_1982X = (char *)s48_bignum_subtract(x_1937X, y_1981X);
  v_1983X = s48_bignum_fits_in_word_p(external_bignum_1982X, 30, 1);
  if (v_1983X) {
    n_1984X = s48_bignum_to_long(external_bignum_1982X);
    arg0K0 = (((n_1984X)<<2));
    goto L34773;}
  else {
    val_1985X = enter_bignum(external_bignum_1982X);
    arg0K0 = val_1985X;
    goto L34773;}}
 L43885: {
  div_by_zeroP_1986X = arg2K0;
  quot_1987X = arg0K1;
  rem_1988X = arg0K2;
  if (div_by_zeroP_1986X) {
    arg0K0 = arg2_652X;
    arg0K1 = y_653X;
    goto L24506;}
  else {
    if ((0 == (3 & rem_1988X))) {
      if ((0 == rem_1988X)) {
        SvalS = quot_1987X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L25161;}
      else {
        arg0K0 = arg2_652X;
        arg0K1 = y_653X;
        goto L24506;}}
    else {
      arg0K0 = arg2_652X;
      arg0K1 = y_653X;
      goto L24506;}}}
 L19267: {
  v_1989X = arg0K0;
  v_1990X = s48_bignum_fits_in_word_p(rem_1943X, 30, 1);
  if (v_1990X) {
    n_1991X = s48_bignum_to_long(rem_1943X);
    arg2K0 = 0;
    arg0K1 = v_1989X;
    arg0K2 = (((n_1991X)<<2));
    goto L43885;}
  else {
    v_1992X = enter_bignum(rem_1943X);
    arg2K0 = 0;
    arg0K1 = v_1989X;
    arg0K2 = v_1992X;
    goto L43885;}}
 L19548: {
  y_1993X = arg1K0;
  external_bignum_1994X = (char *) s48_bignum_bitwise_and(x_1948X, y_1993X);
  v_1995X = s48_bignum_fits_in_word_p(external_bignum_1994X, 30, 1);
  if (v_1995X) {
    n_1996X = s48_bignum_to_long(external_bignum_1994X);
    arg0K0 = (((n_1996X)<<2));
    goto L37633;}
  else {
    val_1997X = enter_bignum(external_bignum_1994X);
    arg0K0 = val_1997X;
    goto L37633;}}
 L19622: {
  y_1998X = arg1K0;
  external_bignum_1999X = (char *) s48_bignum_bitwise_ior(x_1951X, y_1998X);
  v_2000X = s48_bignum_fits_in_word_p(external_bignum_1999X, 30, 1);
  if (v_2000X) {
    n_2001X = s48_bignum_to_long(external_bignum_1999X);
    arg0K0 = (((n_2001X)<<2));
    goto L37812;}
  else {
    val_2002X = enter_bignum(external_bignum_1999X);
    arg0K0 = val_2002X;
    goto L37812;}}
 L19696: {
  y_2003X = arg1K0;
  external_bignum_2004X = (char *) s48_bignum_bitwise_xor(x_1954X, y_2003X);
  v_2005X = s48_bignum_fits_in_word_p(external_bignum_2004X, 30, 1);
  if (v_2005X) {
    n_2006X = s48_bignum_to_long(external_bignum_2004X);
    arg0K0 = (((n_2006X)<<2));
    goto L37991;}
  else {
    val_2007X = enter_bignum(external_bignum_2004X);
    arg0K0 = val_2007X;
    goto L37991;}}
 L17505: {
  if ((3 == (3 & thing_1525X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#{template}";
      goto L17523;}
    else {
      goto L17509;}}
  else {
    goto L17509;}}
 L34468: {
  val_2008X = arg0K0;
  SvalS = val_2008X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L34773: {
  val_2009X = arg0K0;
  SvalS = val_2009X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37633: {
  val_2010X = arg0K0;
  SvalS = val_2010X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37812: {
  val_2011X = arg0K0;
  SvalS = val_2011X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L37991: {
  val_2012X = arg0K0;
  SvalS = val_2012X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L25161;}
 L17509: {
  if ((3 == (3 & thing_1525X))) {
    if ((4 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#{location}";
      goto L17523;}
    else {
      goto L17513;}}
  else {
    goto L17513;}}
 L17513: {
  if ((3 == (3 & thing_1525X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#{code-vector}";
      goto L17523;}
    else {
      goto L17517;}}
  else {
    goto L17517;}}
 L17517: {
  if ((3 == (3 & thing_1525X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + thing_1525X))) + -4))))>>2))))) {
      arg3K0 = "#{continuation}";
      goto L17523;}
    else {
      arg3K0 = "???";
      goto L17523;}}
  else {
    arg3K0 = "???";
    goto L17523;}}
 loseD0: {
  message_448X = merged_arg3K0;{
  ps_write_string("Template UIDs: ", (stderr));
  current_code_2013X = current_code_vector();
  out_2014X = stderr;
  merged_arg1K0 = (SstackS);
  merged_arg0K1 = (((((ScontS) - (SstackS)))>>2));
  merged_arg0K2 = current_code_2013X;
  find_template_return_tag = 0;
  goto find_template;
 find_template_return_0:
  template_2015X = find_template0_return_value;
  merged_arg0K0 = template_2015X;
  merged_arg2K1 = 0;
  merged_arg4K2 = out_2014X;
  maybe_write_template_return_tag = 0;
  goto maybe_write_template;
 maybe_write_template_return_0:
  not_firstP_2016X = maybe_write_template0_return_value;
  arg1K0 = (ScontS);
  arg2K1 = not_firstP_2016X;
  goto L21116;}
 L21116: {
  cont_2017X = arg1K0;
  not_firstP_2018X = arg2K1;
  if ((cont_2017X == (Sbottom_of_stackS))) {
    cont_2019X = Sheap_continuationS;
    arg0K0 = cont_2019X;
    arg2K1 = not_firstP_2018X;
    goto L20073;}
  else {
    code_pointer_2020X = ((char *) (*((long *) cont_2017X)));
    pointer_2021X = code_pointer_2020X + -5;
    v_2022X = 3 + (((long) (code_pointer_2020X + (0 - (((((*((unsigned char *) pointer_2021X)))<<8)) + (*((unsigned char *) (pointer_2021X + 1))))))));
    pointer_2023X = (((char *) (*((long *) cont_2017X)))) + -2;
    size_2024X = ((((*((unsigned char *) pointer_2023X)))<<8)) + (*((unsigned char *) (pointer_2023X + 1)));
    if ((65535 == size_2024X)) {
      arg0K0 = ((((*((long *) (cont_2017X + 4))))>>2));
      goto L16874;}
    else {
      arg0K0 = size_2024X;
      goto L16874;}}}
 L20073: {
  cont_2025X = arg0K0;
  not_firstP_2026X = arg2K1;
  if ((3 == (3 & cont_2025X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_2025X))) + -4))))>>2))))) {
      merged_arg1K0 = (((char *) (-3 + cont_2025X)));
      merged_arg0K1 = ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_2025X))) + -4))))>>8))))>>2));
      merged_arg0K2 = (*((long *) ((((char *) (-3 + cont_2025X))) + 4)));
      find_template_return_tag = 1;
      goto find_template;
     find_template_return_1:
      v_2027X = find_template0_return_value;
      merged_arg0K0 = v_2027X;
      merged_arg2K1 = not_firstP_2026X;
      merged_arg4K2 = out_2014X;
      maybe_write_template_return_tag = 1;
      goto maybe_write_template;
     maybe_write_template_return_1:
      v_2028X = maybe_write_template0_return_value;
      arg0K0 = (*((long *) ((((char *) (-3 + cont_2025X))) + 8)));
      arg2K1 = v_2028X;
      goto L20073;}
    else {
      goto L23967;}}
  else {
    goto L23967;}}
 L16874: {
  v_2029X = arg0K0;
  merged_arg1K0 = (cont_2017X + 4);
  merged_arg0K1 = v_2029X;
  merged_arg0K2 = v_2022X;
  find_template_return_tag = 2;
  goto find_template;
 find_template_return_2:
  v_2030X = find_template0_return_value;
  merged_arg0K0 = v_2030X;
  merged_arg2K1 = not_firstP_2018X;
  merged_arg4K2 = out_2014X;
  maybe_write_template_return_tag = 2;
  goto maybe_write_template;
 maybe_write_template_return_2:
  v_2031X = maybe_write_template0_return_value;
  pointer_2032X = (((char *) (*((long *) cont_2017X)))) + -2;
  size_2033X = ((((*((unsigned char *) pointer_2032X)))<<8)) + (*((unsigned char *) (pointer_2032X + 1)));
  if ((65535 == size_2033X)) {
    arg0K0 = ((((*((long *) (cont_2017X + 4))))>>2));
    goto L21134;}
  else {
    arg0K0 = size_2033X;
    goto L21134;}}
 L23967: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  why_2034X = (((*((long *) ((SstackS) + (((nargs_497X)<<2))))))>>2);
  if ((why_2034X == 1)) {
    if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_497X)<<2)))))))))))))) {
      ps_error(message_448X, 3, opcode_498X, why_2034X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_497X)<<2))))))))))))>>2)));
      goto loseD0_return;}
    else {
      goto L23914;}}
  else {
    goto L23914;}}
 L21134: {
  v_2035X = arg0K0;
  arg1K0 = (cont_2017X + (4 + (((v_2035X)<<2))));
  arg2K1 = v_2031X;
  goto L21116;}
 L23914: {
  ps_error(message_448X, 2, opcode_498X, why_2034X);
  goto loseD0_return;}
 loseD0_return:
  switch (loseD0_return_tag) {
  case 0: goto loseD0_return_0;
  default: goto loseD0_return_1;
  }}

 maybe_write_template: {
  template_445X = merged_arg0K0;
  not_firstP_446X = merged_arg2K1;
  out_447X = merged_arg4K2;{
  if (not_firstP_446X) {
    ps_write_string(" <- ", out_447X);
    goto L17113;}
  else {
    goto L17113;}}
 L17113: {
  if ((3 == (3 & template_445X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + template_445X))) + -4))))>>2))))) {
      name_2036X = *((long *) ((((char *) (-3 + template_445X))) + 8));
      if ((0 == (3 & name_2036X))) {
        ps_write_integer((((name_2036X)>>2)), out_447X);
        maybe_write_template0_return_value = 1;
        goto maybe_write_template_return;}
      else {
        if ((3 == (3 & name_2036X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2036X))) + -4))))>>2))))) {
            obj_2037X = *((long *) ((((char *) (-3 + name_2036X))) + 8));
            if ((3 == (3 & obj_2037X))) {
              if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_2037X))) + -4))))>>2))))) {
                ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + name_2036X))) + 8)))))))), out_447X);
                maybe_write_template0_return_value = 1;
                goto maybe_write_template_return;}
              else {
                goto L17148;}}
            else {
              goto L17148;}}
          else {
            goto L17148;}}
        else {
          goto L17148;}}}
    else {
      goto L17171;}}
  else {
    goto L17171;}}
 L17148: {
  if ((3 == (3 & name_2036X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2036X))) + -4))))>>2))))) {
      obj_2038X = *((long *) ((((char *) (-3 + name_2036X))) + 8));
      if ((3 == (3 & obj_2038X))) {
        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_2038X))) + -4))))>>2))))) {
          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + name_2036X))) + 8))))))))))))), out_447X);
          maybe_write_template0_return_value = 1;
          goto maybe_write_template_return;}
        else {
          goto L17168;}}
      else {
        goto L17168;}}
    else {
      goto L17168;}}
  else {
    goto L17168;}}
 L17171: {
  ps_write_string(" ?? ", out_447X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 L17168: {
  ps_write_string("?", out_447X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 maybe_write_template_return:
  switch (maybe_write_template_return_tag) {
  case 0: goto maybe_write_template_return_0;
  case 1: goto maybe_write_template_return_1;
  default: goto maybe_write_template_return_2;
  }}

 find_template: {
  start_442X = merged_arg1K0;
  count_443X = merged_arg0K1;
  code_vector_444X = merged_arg0K2;{
  arg0K0 = 0;
  goto L14413;}
 L14413: {
  i_2039X = arg0K0;
  if ((i_2039X == count_443X)) {
    find_template0_return_value = 1;
    goto find_template_return;}
  else {
    next_2040X = *((long *) (start_442X + (((i_2039X)<<2))));
    if ((3 == (3 & next_2040X))) {
      if ((12 == (31 & ((((*((long *) ((((char *) (-3 + next_2040X))) + -4))))>>2))))) {
        if (((*((long *) (((char *) (-3 + next_2040X))))) == code_vector_444X)) {
          find_template0_return_value = next_2040X;
          goto find_template_return;}
        else {
          goto L14435;}}
      else {
        goto L14435;}}
    else {
      goto L14435;}}}
 L14435: {
  arg0K0 = (1 + i_2039X);
  goto L14413;}
 find_template_return:
  switch (find_template_return_tag) {
  case 0: goto find_template_return_0;
  case 1: goto find_template_return_1;
  default: goto find_template_return_2;
  }}

 rest_list_setupAgc: {
  wants_stack_args_438X = merged_arg0K0;
  stack_arg_count_439X = merged_arg0K1;
  list_args_440X = merged_arg0K2;
  list_arg_count_441X = merged_arg0K3;{
  if ((stack_arg_count_439X == wants_stack_args_438X)) {
    merged_arg0K0 = list_args_440X;
    merged_arg0K1 = list_arg_count_441X;
    copy_listSAgc_return_tag = 1;
    goto copy_listSAgc;
   copy_listSAgc_return_1:
    x_2041X = copy_listSAgc0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2041X);
    goto rest_list_setupAgc_return;}
  else {
    if ((stack_arg_count_439X < wants_stack_args_438X)) {
      count_2042X = wants_stack_args_438X - stack_arg_count_439X;
      merged_arg0K0 = list_args_440X;
      merged_arg0K1 = count_2042X;
      push_list_return_tag = 4;
      goto push_list;
     push_list_return_4:
      v_2043X = push_list0_return_value;
      merged_arg0K0 = v_2043X;
      merged_arg0K1 = (list_arg_count_441X - count_2042X);
      copy_listSAgc_return_tag = 2;
      goto copy_listSAgc;
     copy_listSAgc_return_2:
      x_2044X = copy_listSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2044X);
      goto rest_list_setupAgc_return;}
    else {
      merged_arg0K0 = list_args_440X;
      merged_arg0K1 = list_arg_count_441X;
      copy_listSAgc_return_tag = 3;
      goto copy_listSAgc;
     copy_listSAgc_return_3:
      v_2045X = copy_listSAgc0_return_value;
      merged_arg0K0 = v_2045X;
      merged_arg0K1 = (stack_arg_count_439X - wants_stack_args_438X);
      pop_args_GlistSAgc_return_tag = 5;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_5:
      x_2046X = pop_args_GlistSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2046X);
      goto rest_list_setupAgc_return;}}}
 rest_list_setupAgc_return:
  switch (rest_list_setupAgc_return_tag) {
  case 0: goto rest_list_setupAgc_return_0;
  default: goto rest_list_setupAgc_return_1;
  }}

 push_list: {
  list_436X = merged_arg0K0;
  count_437X = merged_arg0K1;{
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_436X);
  merged_arg0K0 = count_437X;
  ensure_stack_spaceB_return_tag = 1;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_1:
  v_2047X = ensure_stack_spaceB0_return_value;
  if (v_2047X) {
    s48_Sstack_limitS = (((char *) -1));
    goto L22588;}
  else {
    goto L22588;}}
 L22588: {
  list_2048X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  arg0K0 = count_437X;
  arg0K1 = list_2048X;
  goto L22597;}
 L22597: {
  i_2049X = arg0K0;
  l_2050X = arg0K1;
  if ((0 < i_2049X)) {
    x_2051X = *((long *) (((char *) (-3 + l_2050X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2051X);
    arg0K0 = (-1 + i_2049X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_2050X))) + 4)));
    goto L22597;}
  else {
    push_list0_return_value = l_2050X;
    goto push_list_return;}}
 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;
  case 3: goto push_list_return_3;
  default: goto push_list_return_4;
  }}

 ensure_stack_spaceB: {
  need_435X = merged_arg0K0;{
  if ((((SstackS) + (256 - (((need_435X)<<2)))) < (s48_Sstack_limitS))) {
    interruptP_2052X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((((SstackS) + (256 - (((need_435X)<<2)))) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if ((((SstackS) + (256 - (((need_435X)<<2)))) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        ensure_stack_spaceB0_return_value = interruptP_2052X;
        goto ensure_stack_spaceB_return;}
      else {
        ensure_stack_spaceB0_return_value = interruptP_2052X;
        goto ensure_stack_spaceB_return;}}
    else {
      ensure_stack_spaceB0_return_value = interruptP_2052X;
      goto ensure_stack_spaceB_return;}}
  else {
    ensure_stack_spaceB0_return_value = 0;
    goto ensure_stack_spaceB_return;}}
 ensure_stack_spaceB_return:
  switch (ensure_stack_spaceB_return_tag) {
  case 0: goto ensure_stack_spaceB_return_0;
  default: goto ensure_stack_spaceB_return_1;
  }}

 pop_args_GlistSAgc: {
  start_433X = merged_arg0K0;
  count_434X = merged_arg0K1;{
  Stemp0S = start_433X;s48_make_availableAgc(((((3 * count_434X))<<2)));
  value_2053X = Stemp0S;
  Stemp0S = 1;
  arg0K0 = value_2053X;
  arg0K1 = count_434X;
  goto L18391;}
 L18391: {
  args_2054X = arg0K0;
  count_2055X = arg0K1;
  if ((0 == count_2055X)) {
    pop_args_GlistSAgc0_return_value = args_2054X;
    goto pop_args_GlistSAgc_return;}
  else {
    a_2056X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    addr_2057X = s48_allocate_small(12);
    *((long *) addr_2057X) = (long) (2050);
    x_2058X = 3 + (((long) (addr_2057X + 4)));
    *((long *) (((char *) (-3 + x_2058X)))) = (long) (a_2056X);
    *((long *) ((((char *) (-3 + x_2058X))) + 4)) = (long) (args_2054X);
    arg0K0 = x_2058X;
    arg0K1 = (-1 + count_2055X);
    goto L18391;}}
 pop_args_GlistSAgc_return:
  switch (pop_args_GlistSAgc_return_tag) {
  case 0: goto pop_args_GlistSAgc_return_0;
  case 1: goto pop_args_GlistSAgc_return_1;
  case 2: goto pop_args_GlistSAgc_return_2;
  case 3: goto pop_args_GlistSAgc_return_3;
  case 4: goto pop_args_GlistSAgc_return_4;
  default: goto pop_args_GlistSAgc_return_5;
  }}

 copy_listSAgc: {
  list_431X = merged_arg0K0;
  length_432X = merged_arg0K1;{
  if ((0 == length_432X)) {
    copy_listSAgc0_return_value = 25;
    goto copy_listSAgc_return;}
  else {
    Stemp0S = list_431X;s48_make_availableAgc(((((3 * length_432X))<<2)));
    value_2059X = Stemp0S;
    Stemp0S = 1;
    a_2060X = *((long *) (((char *) (-3 + value_2059X))));
    addr_2061X = s48_allocate_small(12);
    *((long *) addr_2061X) = (long) (2050);
    x_2062X = 3 + (((long) (addr_2061X + 4)));
    *((long *) (((char *) (-3 + x_2062X)))) = (long) (a_2060X);
    *((long *) ((((char *) (-3 + x_2062X))) + 4)) = (long) (25);
    arg0K0 = (*((long *) ((((char *) (-3 + value_2059X))) + 4)));
    arg0K1 = x_2062X;
    goto L18279;}}
 L18279: {
  l_2063X = arg0K0;
  last_2064X = arg0K1;
  if ((25 == l_2063X)) {
    copy_listSAgc0_return_value = x_2062X;
    goto copy_listSAgc_return;}
  else {
    a_2065X = *((long *) (((char *) (-3 + l_2063X))));
    addr_2066X = s48_allocate_small(12);
    *((long *) addr_2066X) = (long) (2050);
    x_2067X = 3 + (((long) (addr_2066X + 4)));
    *((long *) (((char *) (-3 + x_2067X)))) = (long) (a_2065X);
    *((long *) ((((char *) (-3 + x_2067X))) + 4)) = (long) (25);
    addr_2068X = (((char *) (-3 + last_2064X))) + 4;S48_WRITE_BARRIER(last_2064X, addr_2068X, x_2067X);
    *((long *) addr_2068X) = (long) (x_2067X);
    arg0K0 = (*((long *) ((((char *) (-3 + l_2063X))) + 4)));
    arg0K1 = x_2067X;
    goto L18279;}}
 copy_listSAgc_return:
  switch (copy_listSAgc_return_tag) {
  case 0: goto copy_listSAgc_return_0;
  case 1: goto copy_listSAgc_return_1;
  case 2: goto copy_listSAgc_return_2;
  default: goto copy_listSAgc_return_3;
  }}

 pop_continuationB: {
{ SstackS = (ScontS);
  cont_2069X = ScontS;
  pointer_2070X = (((char *) (*((long *) cont_2069X)))) + -2;
  size_2071X = ((((*((unsigned char *) pointer_2070X)))<<8)) + (*((unsigned char *) (pointer_2070X + 1)));
  if ((65535 == size_2071X)) {
    arg0K0 = ((((*((long *) (cont_2069X + 4))))>>2));
    goto L18123;}
  else {
    arg0K0 = size_2071X;
    goto L18123;}}
 L18123: {
  v_2072X = arg0K0;
  ScontS = (cont_2069X + (4 + (((v_2072X)<<2))));
  v_2073X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  Scode_pointerS = (((char *) v_2073X));
  Slast_code_pointer_resumedS = (Scode_pointerS);
  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;
  case 2: goto pop_continuationB_return_2;
  case 3: goto pop_continuationB_return_3;
  case 4: goto pop_continuationB_return_4;
  case 5: goto pop_continuationB_return_5;
  default: goto pop_continuationB_return_6;
  }}

 okay_copy_argsP: {
  thing_428X = merged_arg0K0;
  index_429X = merged_arg0K1;
  count_430X = merged_arg0K2;{
  if ((index_429X < 0)) {
    okay_copy_argsP0_return_value = 0;
    goto okay_copy_argsP_return;}
  else {
    if ((3 == (3 & thing_428X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_428X))) + -4))))>>2))))) {
        if (((-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_428X))) + -4))))>>8))) < (index_429X + count_430X))) {
          okay_copy_argsP0_return_value = 0;
          goto okay_copy_argsP_return;}
        else {
          okay_copy_argsP0_return_value = 1;
          goto okay_copy_argsP_return;}}
      else {
        goto L17812;}}
    else {
      goto L17812;}}}
 L17812: {
  if ((3 == (3 & thing_428X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_428X))) + -4))))>>2))))) {
      if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_428X))) + -4))))>>8)) < (index_429X + count_430X))) {
        okay_copy_argsP0_return_value = 0;
        goto okay_copy_argsP_return;}
      else {
        okay_copy_argsP0_return_value = 1;
        goto okay_copy_argsP_return;}}
    else {
      okay_copy_argsP0_return_value = 0;
      goto okay_copy_argsP_return;}}
  else {
    okay_copy_argsP0_return_value = 0;
    goto okay_copy_argsP_return;}}
 okay_copy_argsP_return:
  switch (okay_copy_argsP_return_tag) {
  case 0: goto okay_copy_argsP_return_0;
  default: goto okay_copy_argsP_return_1;
  }}

 shift_space: {
  x_426X = merged_arg0K0;
  n_427X = merged_arg0K1;{
  if ((0 == (3 & x_426X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16167;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_426X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16167;}}
 L16167: {
  x_size_2074X = arg0K0;
  extra_2075X = arg0K1;
  if ((n_427X < 0)) {
    if ((x_size_2074X < 1)) {
      arg0K0 = 1;
      goto L16209;}
    else {
      arg0K0 = x_size_2074X;
      goto L16209;}}
  else {
    n_2076X = n_427X / 30;
    arg0K0 = (3 + (((((7 + (((x_size_2074X)<<2))))>>2)) + ((((7 + (((n_2076X)<<2))))>>2))));
    goto L16187;}}
 L16209: {
  v_2077X = arg0K0;
  arg0K0 = (4 + ((-2 & ((((11 + (((v_2077X)<<2))))>>1))) + ((((7 + (((x_size_2074X)<<2))))>>2))));
  goto L16187;}
 L16187: {
  v_2078X = arg0K0;
  shift_space0_return_value = (extra_2075X + v_2078X);
  goto shift_space_return;}
 shift_space_return:
  switch (shift_space_return_tag) {
  case 0: goto shift_space_return_0;
  default: goto shift_space_return_1;
  }}

 proposal_d_write: {
  stob_423X = merged_arg0K0;
  index_424X = merged_arg0K1;
  value_425X = merged_arg0K2;{
  log_2079X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L15875;}
 L15875: {
  i_2080X = arg0K0;
  next_stob_2081X = *((long *) ((((char *) (-3 + log_2079X))) + (((i_2080X)<<2))));
  if ((1 == next_stob_2081X)) {add_log_entryAgc(1, i_2080X, stob_423X, index_424X, value_425X, 0);
    goto proposal_d_write_return;}
  else {
    if ((stob_423X == next_stob_2081X)) {
      if ((index_424X == (*((long *) ((((char *) (-3 + log_2079X))) + (4 + (((i_2080X)<<2)))))))) {
        addr_2082X = (((char *) (-3 + log_2079X))) + (8 + (((i_2080X)<<2)));S48_WRITE_BARRIER(log_2079X, addr_2082X, value_425X);
        *((long *) addr_2082X) = (long) (value_425X);
        goto proposal_d_write_return;}
      else {
        goto L15895;}}
    else {
      goto L15895;}}}
 L15895: {
  arg0K0 = (4 + i_2080X);
  goto L15875;}
 proposal_d_write_return:
  switch (proposal_d_write_return_tag) {
  case 0: goto proposal_d_write_return_0;
  case 1: goto proposal_d_write_return_1;
  default: goto proposal_d_write_return_2;
  }}

 proposal_d_read: {
  stob_421X = merged_arg0K0;
  index_422X = merged_arg0K1;{
  log_2083X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L15698;}
 L15698: {
  i_2084X = arg0K0;
  next_stob_2085X = *((long *) ((((char *) (-3 + log_2083X))) + (((i_2084X)<<2))));
  if ((1 == next_stob_2085X)) {
    v_2086X = add_log_entryAgc(1, i_2084X, stob_421X, index_422X, (*((long *) ((((char *) (-3 + stob_421X))) + (-4 & index_422X)))), 1);
    proposal_d_read0_return_value = v_2086X;
    goto proposal_d_read_return;}
  else {
    if ((stob_421X == next_stob_2085X)) {
      if ((index_422X == (*((long *) ((((char *) (-3 + log_2083X))) + (4 + (((i_2084X)<<2)))))))) {
        proposal_d_read0_return_value = (*((long *) ((((char *) (-3 + log_2083X))) + (8 + (((i_2084X)<<2))))));
        goto proposal_d_read_return;}
      else {
        goto L15720;}}
    else {
      goto L15720;}}}
 L15720: {
  arg0K0 = (4 + i_2084X);
  goto L15698;}
 proposal_d_read_return:
  switch (proposal_d_read_return_tag) {
  case 0: goto proposal_d_read_return_0;
  case 1: goto proposal_d_read_return_1;
  default: goto proposal_d_read_return_2;
  }}

 pending_interruptP: {
{ if ((s48_Spending_eventsPS)) {
    s48_Spending_eventsPS = 0;
    goto L15669;}
  else {
    goto L15655;}}
 L15669: {
  type_2087X = s48_get_next_event(&channel_2088X, &status_2089X);
  if ((type_2087X == ALARM_EVENT)) {
    arg0K0 = 1;
    goto L15675;}
  else {
    if ((type_2087X == KEYBOARD_INTERRUPT_EVENT)) {
      arg0K0 = 2;
      goto L15675;}
    else {
      if ((type_2087X == IO_COMPLETION_EVENT)) {enqueue_channelB(channel_2088X, status_2089X, 1);
        arg0K0 = 8;
        goto L15675;}
      else {
        if ((type_2087X == IO_ERROR_EVENT)) {enqueue_channelB(channel_2088X, status_2089X, 5);
          arg0K0 = 8;
          goto L15675;}
        else {
          if ((type_2087X == OS_SIGNAL_EVENT)) {
            arg0K0 = 16;
            goto L15675;}
          else {
            if ((type_2087X == NO_EVENT)) {
              arg0K0 = 0;
              goto L15675;}
            else {
              if ((type_2087X == 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_2089X)), (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L15675;}
              else {
                ps_write_string("unknown type of event", (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L15675;}}}}}}}}
 L15655: {
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      pending_interruptP0_return_value = 0;
      goto pending_interruptP_return;}
    else {
      pending_interruptP0_return_value = 0;
      goto pending_interruptP_return;}}
  else {
    pending_interruptP0_return_value = 1;
    goto pending_interruptP_return;}}
 L15675: {
  interrupt_bit_2090X = arg0K0;
  Spending_interruptsS = ((Spending_interruptsS) | interrupt_bit_2090X);
  if ((type_2087X == NO_EVENT)) {
    goto L15655;}
  else {
    goto L15669;}}
 pending_interruptP_return:
  switch (pending_interruptP_return_tag) {
  case 0: goto pending_interruptP_return_0;
  case 1: goto pending_interruptP_return_1;
  case 2: goto pending_interruptP_return_2;
  default: goto pending_interruptP_return_3;
  }}

 make_closure: {
  a_419X = merged_arg0K0;
  b_420X = merged_arg0K1;{
  addr_2091X = s48_allocate_small(12);
  *((long *) addr_2091X) = (long) (2062);
  x_2092X = 3 + (((long) (addr_2091X + 4)));
  *((long *) (((char *) (-3 + x_2092X)))) = (long) (a_419X);
  *((long *) ((((char *) (-3 + x_2092X))) + 4)) = (long) (b_420X);
  if ((3 == (3 & x_2092X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + x_2092X))) + -4)))))) {
      *((long *) ((((char *) (-3 + x_2092X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_2092X))) + -4)))));
      make_closure0_return_value = x_2092X;
      goto make_closure_return;}
    else {
      make_closure0_return_value = x_2092X;
      goto make_closure_return;}}
  else {
    make_closure0_return_value = x_2092X;
    goto make_closure_return;}}
 make_closure_return:
  switch (make_closure_return_tag) {
  case 0: goto make_closure_return_0;
  default: goto make_closure_return_1;
  }}

 get_current_port: {
  marker_418X = merged_arg0K0;{
  thread_2093X = Scurrent_threadS;
  if ((3 == (3 & thread_2093X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thread_2093X))) + -4))))>>2))))) {
      if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_2093X))) + -4))))>>8))))>>2)))) {
        arg0K0 = (*((long *) ((((char *) (-3 + thread_2093X))) + 4)));
        goto L13867;}
      else {
        goto L13917;}}
    else {
      goto L13917;}}
  else {
    goto L13917;}}
 L13867: {
  env_2094X = arg0K0;
  if ((3 == (3 & env_2094X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_2094X))) + -4))))>>2))))) {
      obj_2095X = *((long *) (((char *) (-3 + env_2094X))));
      if ((3 == (3 & obj_2095X))) {
        if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_2095X))) + -4))))>>2))))) {
          if ((marker_418X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_2094X)))))))))))) {
            get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_2094X)))))))) + 4)));
            goto get_current_port_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + env_2094X))) + 4)));
            goto L13867;}}
        else {
          goto L13939;}}
      else {
        goto L13939;}}
    else {
      goto L13939;}}
  else {
    goto L13939;}}
 L13917: {
  ps_error("current thread is not a record", 0);
  get_current_port0_return_value = v_2096X;
  goto get_current_port_return;}
 L13939: {
  if ((25 == env_2094X)) {
    if (((((marker_418X)>>2)) == 1)) {
      arg3K0 = "dynamic environment doesn't have current-output-port";
      goto L13893;}
    else {
      arg3K0 = "dynamic environment doesn't have current-input-port";
      goto L13893;}}
  else {
    ps_error("dynamic environment is not a proper list", 0);
    get_current_port0_return_value = v_2097X;
    goto get_current_port_return;}}
 L13893: {
  v_2098X = arg3K0;
  ps_error(v_2098X, 0);
  get_current_port0_return_value = v_2099X;
  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_417X = merged_arg0K0;{
  arg0K0 = list_417X;
  arg0K1 = 0;
  arg0K2 = list_417X;
  arg2K3 = 0;
  goto L13734;}
 L13734: {
  fast_2100X = arg0K0;
  len_2101X = arg0K1;
  slow_2102X = arg0K2;
  move_slowP_2103X = arg2K3;
  if ((25 == fast_2100X)) {
    okay_argument_list0_return_value = 1;
    okay_argument_list1_return_value = len_2101X;
    goto okay_argument_list_return;}
  else {
    if ((3 == (3 & fast_2100X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_2100X))) + -4))))>>2))))) {
        if (move_slowP_2103X) {
          if ((fast_2100X == slow_2102X)) {
            okay_argument_list0_return_value = 0;
            okay_argument_list1_return_value = 0;
            goto okay_argument_list_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + fast_2100X))) + 4)));
            arg0K1 = (1 + len_2101X);
            arg0K2 = (*((long *) ((((char *) (-3 + slow_2102X))) + 4)));
            arg2K3 = 0;
            goto L13734;}}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + fast_2100X))) + 4)));
          arg0K1 = (1 + len_2101X);
          arg0K2 = slow_2102X;
          arg2K3 = 1;
          goto L13734;}}
      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;
  }}

 copy_continuation_from_heapB: {
  cont_415X = merged_arg0K0;
  stack_arg_count_416X = merged_arg0K1;{
  stack_size_2104X = -2 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_415X))) + -4))))>>8))))>>2));
  new_cont_2105X = (Sbottom_of_stackS) + (0 - (((stack_size_2104X)<<2)));
  if ((0 == stack_arg_count_416X)) {
    SstackS = new_cont_2105X;
    goto L13563;}
  else {
    new_stack_2106X = new_cont_2105X + (0 - (((stack_arg_count_416X)<<2)));
    if ((new_stack_2106X < (SstackS))) {
      memcpy((void *)new_stack_2106X, (void *)(SstackS),(((stack_arg_count_416X)<<2)));
      SstackS = new_stack_2106X;
      goto L13563;}
    else {
      goto L13563;}}}
 L13563: {
  ScontS = new_cont_2105X;
  memcpy((void *)(new_cont_2105X + 4), (void *)((((char *) (-3 + cont_415X))) + 12),(-4 + (((stack_size_2104X)<<2))));
  *((long *) new_cont_2105X) = (long) ((((long) ((((char *) (-3 + (*((long *) ((((char *) (-3 + cont_415X))) + 4)))))) + ((((*((long *) (((char *) (-3 + cont_415X))))))>>2))))));
  Sheap_continuationS = (*((long *) ((((char *) (-3 + cont_415X))) + 8)));
  copy_continuation_from_heapB0_return_value = new_cont_2105X;
  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;
  case 1: goto copy_continuation_from_heapB_return_1;
  default: goto copy_continuation_from_heapB_return_2;
  }}

 get_error_string: {
  status_414X = merged_arg0K0;{
  string_2107X = ps_error_string(status_414X);
  x_2108X = strlen((char *) string_2107X);
  if ((x_2108X < 512)) {
    arg0K0 = x_2108X;
    goto L12856;}
  else {
    arg0K0 = 512;
    goto L12856;}}
 L12856: {
  len_2109X = arg0K0;
  len_2110X = 1 + len_2109X;
  addr_2111X = s48_allocate_small((4 + len_2110X));
  *((long *) addr_2111X) = (long) ((70 + (((len_2110X)<<8))));
  string_2112X = 3 + (((long) (addr_2111X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_2112X))) + len_2109X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L12866;}
 L12866: {
  i_2113X = arg0K0;
  if ((i_2113X == len_2109X)) {
    get_error_string0_return_value = string_2112X;
    goto get_error_string_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_2112X))) + i_2113X)) = (unsigned char) ((((unsigned char) (*(string_2107X + i_2113X)))));
    arg0K0 = (1 + i_2113X);
    goto L12866;}}
 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;
  default: goto get_error_string_return_4;
  }}

 push_native_interrupt_continuation: {
{ x_2114X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2114X);
  x_2115X = Scurrent_threadS;
  addr_2116X = (((char *) (-3 + x_2115X))) + 12;S48_WRITE_BARRIER(x_2115X, addr_2116X, 1);
  *((long *) addr_2116X) = (long) (1);
  n_2117X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_2117X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (12);
  code_2118X = Sinterrupt_return_codeS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_2118X))) + 11))));
  ScontS = (SstackS);
  goto push_native_interrupt_continuation_return;}
 push_native_interrupt_continuation_return:
  switch (push_native_interrupt_continuation_return_tag) {
  case 0: goto push_native_interrupt_continuation_return_0;
  default: goto push_native_interrupt_continuation_return_1;
  }}

 move_args_above_contB: {
  nargs_413X = merged_arg0K0;{
  top_of_args_2119X = SstackS;
  if (((ScontS) == (top_of_args_2119X + (((nargs_413X)<<2))))) {
    goto move_args_above_contB_return;}
  else {
    SstackS = (ScontS);
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (top_of_args_2119X + (-4 + (((nargs_413X)<<2))));
    goto L5641;}}
 L5641: {
  loc_2120X = arg1K0;
  arg_2121X = arg1K1;
  if ((arg_2121X < top_of_args_2119X)) {
    SstackS = ((SstackS) + (0 - (((nargs_413X)<<2))));
    goto move_args_above_contB_return;}
  else {
    *((long *) loc_2120X) = (long) ((*((long *) arg_2121X)));
    arg1K0 = (loc_2120X + -4);
    arg1K1 = (arg_2121X + -4);
    goto L5641;}}
 move_args_above_contB_return:
  switch (move_args_above_contB_return_tag) {
  case 0: goto move_args_above_contB_return_0;
  case 1: goto move_args_above_contB_return_1;
  case 2: goto move_args_above_contB_return_2;
  case 3: goto move_args_above_contB_return_3;
  case 4: goto move_args_above_contB_return_4;
  case 5: goto move_args_above_contB_return_5;
  case 6: goto move_args_above_contB_return_6;
  default: goto move_args_above_contB_return_7;
  }}

}
long s48_call_startup_procedure(char **startup_vector_2122X, long startup_vector_length_2123X)
{
  long arg0K0;
  long merged_arg0K1;
  char *merged_arg3K0;

  int enter_string_return_tag;
  long enter_string0_return_value;
  char *string_2124X;
  long i_2161X;
  long string_2160X;
  char * addr_2159X;
  long len_2158X;
  long len_2157X;
  long v_2156X;
  long x_2155X;
  long vm_channel_2154X;
  long v_2153X;
  long channel_2152X;
  long vm_channel_2151X;
  long v_2150X;
  long channel_2149X;
  long vm_channel_2148X;
  long v_2147X;
  long channel_2146X;
  long i_2145X;
  long length_2144X;
  long *v_2143X;
  long v_2142X;
  long v_2141X;
  long y_2140X;
  long x_2139X;
  long v_2138X;
  long x_2137X;
  long y_2136X;
  char * addr_2135X;
  long value_2134X;
  long y_2133X;
  long x_2132X;
  long i_2131X;
  long vector_2130X;
  long v_2129X;
  long vector_2128X;
  char * addr_2127X;
  long len_2126X;
  long code_2125X;
 {  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_2125X = Sinterrupt_return_codeS;
  Slast_code_calledS = code_2125X;
  Scode_pointerS = (((char *) (-3 + code_2125X)));
  Slast_code_pointer_resumedS = (Scode_pointerS);
  SvalS = 13;
  Scurrent_threadS = 25;SHARED_SETB((Ssession_dataS), 25);SHARED_SETB((Sexception_handlersS), 25);SHARED_SETB((Sinterrupt_handlersS), 25);
  Senabled_interruptsS = 0;SHARED_SETB((Sfinalizer_alistS), 25);
  Sfinalize_theseS = 25;
  Spending_interruptsS = 0;
  s48_Spending_interruptPS = 0;
  Sos_signal_ring_startS = 0;
  Sos_signal_ring_readyS = 0;
  Sos_signal_ring_endS = 0;
  Sinterrupted_templateS = 1;
  len_2126X = ((startup_vector_length_2123X)<<2);
  addr_2127X = s48_allocate_tracedAgc((4 + len_2126X));
  if ((addr_2127X == NULL)) {
    arg0K0 = 1;
    goto L18835;}
  else {
    *((long *) addr_2127X) = (long) ((10 + (((len_2126X)<<8))));
    arg0K0 = (3 + (((long) (addr_2127X + 4))));
    goto L18835;}}
 L18835: {
  vector_2128X = arg0K0;
  if ((1 == vector_2128X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = v_2129X;
    goto L18821;}
  else {
    arg0K0 = vector_2128X;
    goto L18821;}}
 L18821: {
  vector_2130X = arg0K0;
  arg0K0 = 0;
  goto L18858;}
 L18858: {
  i_2131X = arg0K0;
  if ((i_2131X == startup_vector_length_2123X)) {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vector_2130X);
    x_2132X = fileno((stdout));
    y_2133X = fileno((stderr));
    if ((x_2132X < y_2133X)) {
      arg0K0 = y_2133X;
      goto L20618;}
    else {
      arg0K0 = x_2132X;
      goto L20618;}}
  else {
    value_2134X = enter_stringAgc((*(startup_vector_2122X + i_2131X)));
    addr_2135X = (((char *) (-3 + vector_2130X))) + (((i_2131X)<<2));S48_WRITE_BARRIER(vector_2130X, addr_2135X, value_2134X);
    *((long *) addr_2135X) = (long) (value_2134X);
    arg0K0 = (1 + i_2131X);
    goto L18858;}}
 L20618: {
  y_2136X = arg0K0;
  x_2137X = fileno((stdin));
  if ((x_2137X < y_2136X)) {
    arg0K0 = y_2136X;
    goto L20620;}
  else {
    arg0K0 = x_2137X;
    goto L20620;}}
 L20620: {
  v_2138X = arg0K0;
  x_2139X = Snumber_of_channelsS;
  y_2140X = 1 + v_2138X;
  if ((x_2139X < y_2140X)) {
    arg0K0 = y_2140X;
    goto L20622;}
  else {
    arg0K0 = x_2139X;
    goto L20622;}}
 L20622: {
  v_2141X = arg0K0;
  Snumber_of_channelsS = v_2141X;
  v_2142X = 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 L20644;}
  else {
    goto L20644;}}
 L20644: {
  v_2143X = Svm_channelsS;
  length_2144X = Snumber_of_channelsS;
  arg0K0 = 0;
  goto L20692;}
 L20692: {
  i_2145X = arg0K0;
  if ((i_2145X < length_2144X)) {
    *(v_2143X + i_2145X) = 1;
    arg0K0 = (1 + i_2145X);
    goto L20692;}
  else {s48_make_availableAgc(((((3 * (9 + ((((4 + (strlen((char *) "standard output"))))>>2)))))<<2)));
    channel_2146X = fileno((stdout));
    merged_arg3K0 = "standard output";
    merged_arg0K1 = 0;
    enter_string_return_tag = 0;
    goto enter_string;
   enter_string_return_0:
    v_2147X = enter_string0_return_value;
    vm_channel_2148X = make_channel(8, v_2147X, (((channel_2146X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2146X) = vm_channel_2148X;
    channel_2149X = fileno((stdin));
    merged_arg3K0 = "standard input";
    merged_arg0K1 = 0;
    enter_string_return_tag = 1;
    goto enter_string;
   enter_string_return_1:
    v_2150X = enter_string0_return_value;
    vm_channel_2151X = make_channel(4, v_2150X, (((channel_2149X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2149X) = vm_channel_2151X;
    channel_2152X = fileno((stderr));
    merged_arg3K0 = "standard error";
    merged_arg0K1 = 0;
    enter_string_return_tag = 2;
    goto enter_string;
   enter_string_return_2:
    v_2153X = enter_string0_return_value;
    vm_channel_2154X = make_channel(8, v_2153X, (((channel_2152X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2152X) = vm_channel_2154X;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2151X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2148X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2154X);
    x_2155X = s48_resumer_records();
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2155X);s48_initialization_completeB();
    v_2156X = s48_startup_procedure();
    return s48_restart(v_2156X, 5);}}
 enter_string: {
  string_2124X = merged_arg3K0;{
  len_2157X = strlen((char *) string_2124X);
  len_2158X = 1 + len_2157X;
  addr_2159X = s48_allocate_small((4 + len_2158X));
  *((long *) addr_2159X) = (long) ((70 + (((len_2158X)<<8))));
  string_2160X = 3 + (((long) (addr_2159X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_2160X))) + len_2157X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L15338;}
 L15338: {
  i_2161X = arg0K0;
  if ((i_2161X == len_2157X)) {
    enter_string0_return_value = string_2160X;
    goto enter_string_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_2160X))) + i_2161X)) = (unsigned char) ((((unsigned char) (*(string_2124X + i_2161X)))));
    arg0K0 = (1 + i_2161X);
    goto L15338;}}
 enter_string_return:
  switch (enter_string_return_tag) {
  case 0: goto enter_string_return_0;
  case 1: goto enter_string_return_1;
  default: goto enter_string_return_2;
  }}

}void
s48_init(void)
{
Snumber_of_channelsS = 100;
Spending_channels_headS = 1;
Spending_channels_tailS = 1;
Stemp0S = 1;
Stemp1S = 1;
Sstack_warningPS = 1;
Sos_signal_ringS = malloc(32 * sizeof(long));
Sos_signal_ringS[0] = 0;
Sos_signal_ringS[1] = 0;
Sos_signal_ringS[2] = 0;
Sos_signal_ringS[3] = 0;
Sos_signal_ringS[4] = 0;
Sos_signal_ringS[5] = 0;
Sos_signal_ringS[6] = 0;
Sos_signal_ringS[7] = 0;
Sos_signal_ringS[8] = 0;
Sos_signal_ringS[9] = 0;
Sos_signal_ringS[10] = 0;
Sos_signal_ringS[11] = 0;
Sos_signal_ringS[12] = 0;
Sos_signal_ringS[13] = 0;
Sos_signal_ringS[14] = 0;
Sos_signal_ringS[15] = 0;
Sos_signal_ringS[16] = 0;
Sos_signal_ringS[17] = 0;
Sos_signal_ringS[18] = 0;
Sos_signal_ringS[19] = 0;
Sos_signal_ringS[20] = 0;
Sos_signal_ringS[21] = 0;
Sos_signal_ringS[22] = 0;
Sos_signal_ringS[23] = 0;
Sos_signal_ringS[24] = 0;
Sos_signal_ringS[25] = 0;
Sos_signal_ringS[26] = 0;
Sos_signal_ringS[27] = 0;
Sos_signal_ringS[28] = 0;
Sos_signal_ringS[29] = 0;
Sos_signal_ringS[30] = 0;
Sos_signal_ringS[31] = 0;
Sos_signal_ring_startS = 0;
Sos_signal_ring_readyS = 0;
Sos_signal_ring_endS = 0;
Sexternal_exceptionPS = 0;
Simported_bindingsS = 1;
Sexported_bindingsS = 1;
Sexternal_root_stackS = NULL;
Sexternal_root_stack_baseS = NULL;
Spermanent_external_rootsS = NULL;
Spost_gc_cleanupS = HtopD10312;
Sgc_root_procS = HtopD10323;
s48_Scallback_return_stack_blockS = 1;
s48_Spending_eventsPS = 0;
}
