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

static char add_more_channels(long);
static char integerLE(long, long);
static char integerGE(long, long);
static char shared_binding_undefinedP(long);
static void enqueue_channelB(long, long, long);
static long close_channelB(long);
static long make_blank_return_code(long, long, long, long);
static long add_log_entryAgc(long, long, long, long, long, char);
static long enter_bignum(char *);
static char integerE(long, long);
static long make_channel(long, long, long, long, long, long, long, long);
static long enter_stringAgc(char*);
static long current_code_vector(void);
static void channel_close_error(long, long, long);
static long integer_bit_count(long);
static long integer_add(long, long);
static long integer_subtract(long, long);
static long integer_multiply(long, long);
static long integer_bitwise_not(long);
static long integer_bitwise_and(long, long);
static long integer_bitwise_ior(long, long);
static long integer_bitwise_xor(long, long);
static char for_each_imported_binding(char(*)(long));
static long really_preserve_continuation(long);
static void push_exception_setupB(long, long);
static long Hlookup2710(long, long, long);
static long Hlookup2691(long, long, long);
static void HtopD10402(void);
static void HtopD10413(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);
char * 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);
void s48_unregister_gc_rootB(char *);
char * s48_shorten_bignum(char *, long);
long s48_allocate_bignum(long);
void s48_enable_interruptsB(void);
long s48_set_channel_os_index(long, long);
long s48_integer_or_floanum_L(long, long);
long s48_integer_or_floanum_G(long, long);
long s48_integer_or_floanum_LE(long, long);
long s48_integer_or_floanum_GE(long, long);
long s48_make_blank_return_code(long, long, long);
long s48_integer_or_floanum_E(long, long);
void s48_close_channel(long);
void check_stack(void);
long s48_really_add_channel(long, long, long);
long s48_integer_bit_count(long);
long s48_enter_integer(long);
long s48_integer_or_floanum_add(long, long);
long s48_integer_or_floanum_sub(long, long);
long s48_integer_or_floanum_mul(long, long);
long s48_integer_bitwise_not(long);
long s48_integer_bitwise_and(long, long);
long s48_integer_bitwise_ior(long, long);
long s48_integer_bitwise_xor(long, 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 Snative_exception_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 Snative_exception_contS;
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 L3065;}
  else {
    arg0K0 = x_5X;
    goto L3065;}}
 L3065: {
  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 L3077;}}
 L3077: {
  i_9X = arg0K0;
  if ((i_9X == (Snumber_of_channelsS))) {
    arg0K0 = (Snumber_of_channelsS);
    goto L3150;}
  else {
    *(new_vm_channels_8X + i_9X) = (*((Svm_channelsS) + i_9X));
    arg0K0 = (1 + i_9X);
    goto L3077;}}
 L3150: {
  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 L3150;}}
}
static char integerLE(long x_11X, long y_12X)
{
  long v_15X;
  long v_14X;
  long v_13X;
 {  if ((0 == (3 & y_12X))) {
    if ((0 == (3 & x_11X))) {
      if ((y_12X < x_11X)) {
        return 0;}
      else {
        return 1;}}
    else {
      v_13X = s48_bignum_test((((char *) (-3 + x_11X))));
      if ((1 == v_13X)) {
        return 0;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & x_11X))) {
      v_14X = s48_bignum_test((((char *) (-3 + y_12X))));
      if ((1 == v_14X)) {
        return 1;}
      else {
        return 0;}}
    else {
      v_15X = s48_bignum_compare((((char *) (-3 + y_12X))), (((char *) (-3 + x_11X))));
      if ((-1 == v_15X)) {
        return 0;}
      else {
        return 1;}}}}
}
static char integerGE(long x_16X, long y_17X)
{
  long v_20X;
  long v_19X;
  long v_18X;
 {  if ((0 == (3 & x_16X))) {
    if ((0 == (3 & y_17X))) {
      if ((x_16X < y_17X)) {
        return 0;}
      else {
        return 1;}}
    else {
      v_18X = s48_bignum_test((((char *) (-3 + y_17X))));
      if ((1 == v_18X)) {
        return 0;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & y_17X))) {
      v_19X = s48_bignum_test((((char *) (-3 + x_16X))));
      if ((1 == v_19X)) {
        return 1;}
      else {
        return 0;}}
    else {
      v_20X = s48_bignum_compare((((char *) (-3 + x_16X))), (((char *) (-3 + y_17X))));
      if ((-1 == v_20X)) {
        return 0;}
      else {
        return 1;}}}}
}
static char shared_binding_undefinedP(long binding_21X)
{

 {  return (17 == (255 & (*((long *) ((((char *) (-3 + binding_21X))) + 8)))));}
}
static void enqueue_channelB(long index_22X, long status_23X, long errorP_24X)
{
  char * addr_30X;
  long x_29X;
  char * addr_28X;
  char * addr_27X;
  long val_26X;
  long channel_25X;
 {  channel_25X = *((Svm_channelsS) + index_22X);
  val_26X = ((status_23X)<<2);
  addr_27X = (((char *) (-3 + channel_25X))) + 20;S48_WRITE_BARRIER(channel_25X, addr_27X, val_26X);
  *((long *) addr_27X) = (long) (val_26X);
  addr_28X = (((char *) (-3 + channel_25X))) + 24;S48_WRITE_BARRIER(channel_25X, addr_28X, errorP_24X);
  *((long *) addr_28X) = (long) (errorP_24X);
  if ((1 == (*((long *) ((((char *) (-3 + channel_25X))) + 16))))) {
    if ((channel_25X == (Spending_channels_headS))) {
      return;}
    else {
      if ((channel_25X == (Spending_channels_tailS))) {
        return;}
      else {
        if ((1 == (Spending_channels_headS))) {
          Spending_channels_headS = channel_25X;
          Spending_channels_tailS = channel_25X;
          return;}
        else {
          x_29X = Spending_channels_tailS;
          addr_30X = (((char *) (-3 + x_29X))) + 16;S48_WRITE_BARRIER(x_29X, addr_30X, channel_25X);
          *((long *) addr_30X) = (long) (channel_25X);
          Spending_channels_tailS = channel_25X;
          return;}}}}
  else {
    return;}}
}
static long close_channelB(long channel_31X)
{
  long arg0K0;
  char * addr_39X;
  long status_38X;
  long v_37X;
  long v_36X;
  long v_35X;
  long v_34X;
  long x_33X;
  long os_index_32X;
 {  os_index_32X = (((*((long *) ((((char *) (-3 + channel_31X))) + 8))))>>2);
  x_33X = *((long *) ((((char *) (-3 + channel_31X))) + 20));
  if ((5 == x_33X)) {
    v_34X = ps_abort_fd_op(os_index_32X);enqueue_channelB(os_index_32X, v_34X, 1);
    goto L11818;}
  else {
    goto L11818;}}
 L11818: {
  v_35X = *((long *) (((char *) (-3 + channel_31X))));
  if ((4 == v_35X)) {
    goto L11833;}
  else {
    if ((12 == (*((long *) (((char *) (-3 + channel_31X))))))) {
      goto L11833;}
    else {
      v_36X = ps_close_fd(os_index_32X);
      arg0K0 = v_36X;
      goto L11840;}}}
 L11833: {
  v_37X = ps_close_fd(os_index_32X);
  arg0K0 = v_37X;
  goto L11840;}
 L11840: {
  status_38X = arg0K0;
  *((Svm_channelsS) + os_index_32X) = 1;
  addr_39X = ((char *) (-3 + channel_31X));S48_WRITE_BARRIER(channel_31X, addr_39X, 0);
  *((long *) addr_39X) = (long) (0);
  return status_38X;}
}
static long make_blank_return_code(long protocol_40X, long frame_size_41X, long opcode_count_42X, long key_43X)
{
  long code_46X;
  char * addr_45X;
  long length_44X;
 {  length_44X = 13 + opcode_count_42X;
  addr_45X = s48_allocate_small((4 + length_44X));
  *((long *) addr_45X) = (long) ((74 + (((length_44X)<<8))));
  code_46X = 3 + (((long) (addr_45X + 4)));
  *((unsigned char *) (((char *) (-3 + code_46X)))) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 1)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 2)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 3)) = (unsigned char) (26);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 4)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 5)) = (unsigned char) (8);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 6)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 7)) = (unsigned char) (11);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 8)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 9)) = (unsigned char) ((255 & (((frame_size_41X)>>8))));
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 10)) = (unsigned char) ((255 & frame_size_41X));
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 11)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_46X))) + 12)) = (unsigned char) (protocol_40X);
  return code_46X;}
}
static long add_log_entryAgc(long proposal_index_47X, long i_48X, long stob_49X, long index_50X, long value_51X, char verifyP_52X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char * addr_77X;
  long value_76X;
  long v_75X;
  long value_74X;
  char * addr_73X;
  long i_72X;
  long stob_71X;
  long proposal_70X;
  long new_69X;
  char * addr_68X;
  char * addr_67X;
  long value_66X;
  long vector_65X;
  char * addr_64X;
  char * addr_63X;
  char * addr_62X;
  long log_61X;
  long value_60X;
  long stob_59X;
  long proposal_58X;
  char * addr_57X;
  long len_56X;
  long new_size_55X;
  long log_size_54X;
  long proposal_53X;
 {  proposal_53X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  log_size_54X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + proposal_53X))) + (((proposal_index_47X)<<2)))))))) + -4))))>>8))))>>2);
  if ((i_48X == (-1 + log_size_54X))) {
    Stemp0S = stob_49X;
    Stemp1S = value_51X;
    if ((1 == log_size_54X)) {
      arg0K0 = 17;
      goto L10296;}
    else {
      arg0K0 = (-1 + (((log_size_54X)<<1)));
      goto L10296;}}
  else {
    arg0K0 = proposal_53X;
    arg0K1 = stob_49X;
    arg0K2 = value_51X;
    goto L13810;}}
 L10296: {
  new_size_55X = arg0K0;
  len_56X = ((new_size_55X)<<2);
  addr_57X = s48_allocate_tracedAgc((4 + len_56X));
  if ((addr_57X == NULL)) {
    arg0K0 = 1;
    goto L10342;}
  else {
    *((long *) addr_57X) = (long) ((10 + (((len_56X)<<8))));
    arg0K0 = (3 + (((long) (addr_57X + 4))));
    goto L10342;}}
 L13810: {
  proposal_58X = arg0K0;
  stob_59X = arg0K1;
  value_60X = arg0K2;
  log_61X = *((long *) ((((char *) (-3 + proposal_58X))) + (((proposal_index_47X)<<2))));
  addr_62X = (((char *) (-3 + log_61X))) + (((i_48X)<<2));S48_WRITE_BARRIER(log_61X, addr_62X, stob_59X);
  *((long *) addr_62X) = (long) (stob_59X);
  addr_63X = (((char *) (-3 + log_61X))) + (4 + (((i_48X)<<2)));S48_WRITE_BARRIER(log_61X, addr_63X, index_50X);
  *((long *) addr_63X) = (long) (index_50X);
  addr_64X = (((char *) (-3 + log_61X))) + (8 + (((i_48X)<<2)));S48_WRITE_BARRIER(log_61X, addr_64X, value_60X);
  *((long *) addr_64X) = (long) (value_60X);
  if (verifyP_52X) {
    arg0K0 = value_60X;
    goto L13831;}
  else {
    arg0K0 = 29;
    goto L13831;}}
 L10342: {
  vector_65X = arg0K0;
  if ((1 == vector_65X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_65X;
    goto L10300;}
  else {
    arg0K0 = vector_65X;
    goto L10300;}}
 L13831: {
  value_66X = arg0K0;
  addr_67X = (((char *) (-3 + log_61X))) + (12 + (((i_48X)<<2)));S48_WRITE_BARRIER(log_61X, addr_67X, value_66X);
  *((long *) addr_67X) = (long) (value_66X);
  addr_68X = (((char *) (-3 + log_61X))) + (16 + (((i_48X)<<2)));S48_WRITE_BARRIER(log_61X, addr_68X, 1);
  *((long *) addr_68X) = (long) (1);
  return value_60X;}
 L10300: {
  new_69X = arg0K0;
  proposal_70X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 < log_size_54X)) {
    stob_71X = *((long *) ((((char *) (-3 + proposal_70X))) + 4));
    memcpy((void *)(((char *) (-3 + new_69X))), (void *)(((char *) (-3 + stob_71X))),(-4 + (((log_size_54X)<<2))));
    goto L10320;}
  else {
    goto L10320;}}
 L10320: {
  arg0K0 = (4 + log_size_54X);
  goto L10324;}
 L10324: {
  i_72X = arg0K0;
  if ((i_72X == new_size_55X)) {
    addr_73X = (((char *) (-3 + proposal_70X))) + (((proposal_index_47X)<<2));S48_WRITE_BARRIER(proposal_70X, addr_73X, new_69X);
    *((long *) addr_73X) = (long) (new_69X);
    value_74X = Stemp0S;
    Stemp0S = 1;
    v_75X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
    value_76X = Stemp1S;
    Stemp1S = 1;
    arg0K0 = v_75X;
    arg0K1 = value_74X;
    arg0K2 = value_76X;
    goto L13810;}
  else {
    addr_77X = (((char *) (-3 + new_69X))) + (((i_72X)<<2));S48_WRITE_BARRIER(new_69X, addr_77X, 0);
    *((long *) addr_77X) = (long) (0);
    arg0K0 = (1 + i_72X);
    goto L10324;}}
}
static long enter_bignum(char * external_bignum_78X)
{
  long desc_79X;
 {  desc_79X = 3 + (((long) external_bignum_78X));
  if ((3 == (3 & desc_79X))) {
    if ((20 == (31 & ((((*((long *) ((((char *) (-3 + desc_79X))) + -4))))>>2))))) {
      goto L14561;}
    else {
      goto L14575;}}
  else {
    goto L14575;}}
 L14561: {
  if ((3 == (3 & desc_79X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + desc_79X))) + -4)))))) {
      *((long *) ((((char *) (-3 + desc_79X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + desc_79X))) + -4)))));
      return desc_79X;}
    else {
      return desc_79X;}}
  else {
    return desc_79X;}}
 L14575: {
  ps_error("not a bignum", 1, desc_79X);
  goto L14561;}
}
static char integerE(long x_80X, long y_81X)
{

 {  if ((0 == (3 & (x_80X | y_81X)))) {
    return (x_80X == y_81X);}
  else {
    if ((3 == (3 & x_80X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_80X))) + -4))))>>2))))) {
        if ((3 == (3 & y_81X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_81X))) + -4))))>>2))))) {
            return s48_bignum_equal_p((((char *) (-3 + x_80X))), (((char *) (-3 + y_81X))));}
          else {
            return 0;}}
        else {
          return 0;}}
      else {
        return 0;}}
    else {
      return 0;}}}
}
static long make_channel(long a_82X, long b_83X, long c_84X, long d_85X, long e_86X, long f_87X, long g_88X, long key_89X)
{
  long x_91X;
  char * addr_90X;
 {  addr_90X = s48_allocate_small(32);
  *((long *) addr_90X) = (long) (7194);
  x_91X = 3 + (((long) (addr_90X + 4)));
  *((long *) (((char *) (-3 + x_91X)))) = (long) (a_82X);
  *((long *) ((((char *) (-3 + x_91X))) + 4)) = (long) (b_83X);
  *((long *) ((((char *) (-3 + x_91X))) + 8)) = (long) (c_84X);
  *((long *) ((((char *) (-3 + x_91X))) + 12)) = (long) (d_85X);
  *((long *) ((((char *) (-3 + x_91X))) + 16)) = (long) (e_86X);
  *((long *) ((((char *) (-3 + x_91X))) + 20)) = (long) (f_87X);
  *((long *) ((((char *) (-3 + x_91X))) + 24)) = (long) (g_88X);
  return x_91X;}
}
static long enter_stringAgc(char *string_92X)
{
  long arg0K0;
  long i_97X;
  long string_96X;
  char * addr_95X;
  long len_94X;
  long z_93X;
 {  z_93X = strlen((char *) string_92X);s48_make_availableAgc((4 + (-4 & (4 + z_93X))));
  len_94X = 1 + z_93X;
  addr_95X = s48_allocate_small((4 + len_94X));
  *((long *) addr_95X) = (long) ((70 + (((len_94X)<<8))));
  string_96X = 3 + (((long) (addr_95X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_96X))) + z_93X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L16159;}
 L16159: {
  i_97X = arg0K0;
  if ((i_97X == z_93X)) {
    return string_96X;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_96X))) + i_97X)) = (unsigned char) ((((unsigned char) (*(string_92X + i_97X)))));
    arg0K0 = (1 + i_97X);
    goto L16159;}}
}
static long current_code_vector(void)
{
  long arg0K0;
  long x_110X;
  long v_109X;
  long x_108X;
  long header_107X;
  char * start_106X;
  char * code_pointer_105X;
  long code_104X;
  char * pointer_103X;
  char * code_pointer_102X;
  long header_101X;
  char * start_100X;
  long code_99X;
  char * code_pointer_98X;
 {  code_pointer_98X = Scode_pointerS;
  code_99X = Slast_code_calledS;
  start_100X = ((char *) (-3 + code_99X));
  if ((code_pointer_98X < start_100X)) {
    goto L17263;}
  else {
    header_101X = *((long *) ((((char *) (-3 + code_99X))) + -4));
    if ((3 == (3 & header_101X))) {
      arg0K0 = header_101X;
      goto L17284;}
    else {
      arg0K0 = code_99X;
      goto L17284;}}}
 L17263: {
  code_pointer_102X = Slast_code_pointer_resumedS;
  pointer_103X = code_pointer_102X + -5;
  code_104X = 3 + (((long) (code_pointer_102X + (0 - (((((*((unsigned char *) pointer_103X)))<<8)) + (*((unsigned char *) (pointer_103X + 1))))))));
  code_pointer_105X = Scode_pointerS;
  start_106X = ((char *) (-3 + code_104X));
  if ((code_pointer_105X < start_106X)) {
    goto L17271;}
  else {
    header_107X = *((long *) ((((char *) (-3 + code_104X))) + -4));
    if ((3 == (3 & header_107X))) {
      arg0K0 = header_107X;
      goto L17305;}
    else {
      arg0K0 = code_104X;
      goto L17305;}}}
 L17284: {
  x_108X = arg0K0;
  if ((code_pointer_98X < (start_100X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_108X))) + -4))))>>8))))) {
    return (Slast_code_calledS);}
  else {
    goto L17263;}}
 L17271: {
  ps_error("VM error: unable to locate current code vector", 0);
  return v_109X;}
 L17305: {
  x_110X = arg0K0;
  if ((code_pointer_105X < (start_106X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_110X))) + -4))))>>8))))) {
    return code_104X;}
  else {
    goto L17271;}}
}
static void channel_close_error(long status_111X, long index_112X, long id_113X)
{

 {  ps_write_string("Error: ", (stderr));
  ps_write_string((ps_error_string(status_111X)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  ps_write_string(" while closing port ", (stderr));
  if ((3 == (3 & id_113X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + id_113X))) + -4))))>>2))))) {
      ps_write_string((((char *)(((char *) (-3 + id_113X))))), (stderr));
      goto L17699;}
    else {
      goto L17693;}}
  else {
    goto L17693;}}
 L17699: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  return;}
 L17693: {
  ps_write_integer((((index_112X)>>2)), (stderr));
  goto L17699;}
}
static long integer_bit_count(long x_114X)
{
  long arg0K1;
  long arg0K0;
  char * arg1K0;
  long n_121X;
  char * v_120X;
  char * v_119X;
  long value_118X;
  long v_117X;
  long extra_116X;
  long length_115X;
 {  if ((0 == (3 & x_114X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L19836;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_114X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L19836;}}
 L19836: {
  length_115X = arg0K0;
  extra_116X = arg0K1;
  if ((length_115X < 1)) {
    arg0K0 = 1;
    goto L19838;}
  else {
    arg0K0 = length_115X;
    goto L19838;}}
 L19838: {
  v_117X = arg0K0;
  Stemp0S = x_114X;s48_make_availableAgc((((((1 + ((((11 + (((v_117X)<<2))))>>2))) + extra_116X))<<2)));
  value_118X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_118X))) {
    v_119X = (char *) s48_long_to_bignum((((value_118X)>>2)));
    arg1K0 = v_119X;
    goto L19828;}
  else {
    arg1K0 = (((char *) (-3 + value_118X)));
    goto L19828;}}
 L19828: {
  v_120X = arg1K0;
  n_121X = s48_bignum_bit_count(v_120X);
  return (((n_121X)<<2));}
}
static long integer_add(long x_122X, long y_123X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_137X;
  char v_136X;
  char * external_bignum_135X;
  char * y_134X;
  char * v_133X;
  long value_132X;
  char * x_131X;
  char * v_130X;
  long value_129X;
  long v_128X;
  long extra1_127X;
  long length1_126X;
  long extra0_125X;
  long length0_124X;
 {  if ((0 == (3 & x_122X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17222;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_122X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17222;}}
 L17222: {
  length0_124X = arg0K0;
  extra0_125X = arg0K1;
  if ((0 == (3 & y_123X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17230;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_123X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17230;}}
 L17230: {
  length1_126X = arg0K0;
  extra1_127X = arg0K1;
  if ((length0_124X < length1_126X)) {
    arg0K0 = length1_126X;
    goto L17252;}
  else {
    arg0K0 = length0_124X;
    goto L17252;}}
 L17252: {
  v_128X = arg0K0;
  Stemp0S = x_122X;
  Stemp1S = y_123X;s48_make_availableAgc(((((((1 + ((((11 + (((v_128X)<<2))))>>2))) + extra0_125X) + extra1_127X))<<2)));
  value_129X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_129X))) {
    v_130X = (char *) s48_long_to_bignum((((value_129X)>>2)));
    arg1K0 = v_130X;
    goto L19953;}
  else {
    arg1K0 = (((char *) (-3 + value_129X)));
    goto L19953;}}
 L19953: {
  x_131X = arg1K0;
  value_132X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_132X))) {
    v_133X = (char *) s48_long_to_bignum((((value_132X)>>2)));
    arg1K0 = v_133X;
    goto L19957;}
  else {
    arg1K0 = (((char *) (-3 + value_132X)));
    goto L19957;}}
 L19957: {
  y_134X = arg1K0;
  external_bignum_135X = (char *)s48_bignum_add(x_131X, y_134X);
  v_136X = s48_bignum_fits_in_word_p(external_bignum_135X, 30, 1);
  if (v_136X) {
    n_137X = s48_bignum_to_long(external_bignum_135X);
    return (((n_137X)<<2));}
  else {
    return enter_bignum(external_bignum_135X);}}
}
static long integer_subtract(long x_138X, long y_139X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_153X;
  char v_152X;
  char * external_bignum_151X;
  char * y_150X;
  char * v_149X;
  long value_148X;
  char * x_147X;
  char * v_146X;
  long value_145X;
  long v_144X;
  long extra1_143X;
  long length1_142X;
  long extra0_141X;
  long length0_140X;
 {  if ((0 == (3 & x_138X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17179;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_138X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17179;}}
 L17179: {
  length0_140X = arg0K0;
  extra0_141X = arg0K1;
  if ((0 == (3 & y_139X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17187;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_139X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17187;}}
 L17187: {
  length1_142X = arg0K0;
  extra1_143X = arg0K1;
  if ((length0_140X < length1_142X)) {
    arg0K0 = length1_142X;
    goto L17209;}
  else {
    arg0K0 = length0_140X;
    goto L17209;}}
 L17209: {
  v_144X = arg0K0;
  Stemp0S = x_138X;
  Stemp1S = y_139X;s48_make_availableAgc(((((((1 + ((((11 + (((v_144X)<<2))))>>2))) + extra0_141X) + extra1_143X))<<2)));
  value_145X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_145X))) {
    v_146X = (char *) s48_long_to_bignum((((value_145X)>>2)));
    arg1K0 = v_146X;
    goto L20027;}
  else {
    arg1K0 = (((char *) (-3 + value_145X)));
    goto L20027;}}
 L20027: {
  x_147X = arg1K0;
  value_148X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_148X))) {
    v_149X = (char *) s48_long_to_bignum((((value_148X)>>2)));
    arg1K0 = v_149X;
    goto L20031;}
  else {
    arg1K0 = (((char *) (-3 + value_148X)));
    goto L20031;}}
 L20031: {
  y_150X = arg1K0;
  external_bignum_151X = (char *)s48_bignum_subtract(x_147X, y_150X);
  v_152X = s48_bignum_fits_in_word_p(external_bignum_151X, 30, 1);
  if (v_152X) {
    n_153X = s48_bignum_to_long(external_bignum_151X);
    return (((n_153X)<<2));}
  else {
    return enter_bignum(external_bignum_151X);}}
}
static long integer_multiply(long x_154X, long y_155X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_168X;
  char v_167X;
  char * external_bignum_166X;
  char * y_165X;
  char * v_164X;
  long value_163X;
  char * x_162X;
  char * v_161X;
  long value_160X;
  long extra1_159X;
  long length1_158X;
  long extra0_157X;
  long length0_156X;
 {  if ((0 == (3 & x_154X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17142;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_154X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17142;}}
 L17142: {
  length0_156X = arg0K0;
  extra0_157X = arg0K1;
  if ((0 == (3 & y_155X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L17150;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_155X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L17150;}}
 L17150: {
  length1_158X = arg0K0;
  extra1_159X = arg0K1;
  Stemp0S = x_154X;
  Stemp1S = y_155X;s48_make_availableAgc(((((((1 + ((((7 + ((((length0_156X + length1_158X))<<2))))>>2))) + extra0_157X) + extra1_159X))<<2)));
  value_160X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_160X))) {
    v_161X = (char *) s48_long_to_bignum((((value_160X)>>2)));
    arg1K0 = v_161X;
    goto L20101;}
  else {
    arg1K0 = (((char *) (-3 + value_160X)));
    goto L20101;}}
 L20101: {
  x_162X = arg1K0;
  value_163X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_163X))) {
    v_164X = (char *) s48_long_to_bignum((((value_163X)>>2)));
    arg1K0 = v_164X;
    goto L20105;}
  else {
    arg1K0 = (((char *) (-3 + value_163X)));
    goto L20105;}}
 L20105: {
  y_165X = arg1K0;
  external_bignum_166X = (char *)s48_bignum_multiply(x_162X, y_165X);
  v_167X = s48_bignum_fits_in_word_p(external_bignum_166X, 30, 1);
  if (v_167X) {
    n_168X = s48_bignum_to_long(external_bignum_166X);
    return (((n_168X)<<2));}
  else {
    return enter_bignum(external_bignum_166X);}}
}
static long integer_bitwise_not(long x_169X)
{
  long arg0K1;
  long arg0K0;
  char * arg1K0;
  long n_178X;
  char v_177X;
  char * external_bignum_176X;
  char * v_175X;
  char * v_174X;
  long value_173X;
  long v_172X;
  long extra_171X;
  long length_170X;
 {  if ((0 == (3 & x_169X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20474;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_169X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20474;}}
 L20474: {
  length_170X = arg0K0;
  extra_171X = arg0K1;
  if ((length_170X < 1)) {
    arg0K0 = 1;
    goto L20476;}
  else {
    arg0K0 = length_170X;
    goto L20476;}}
 L20476: {
  v_172X = arg0K0;
  Stemp0S = x_169X;s48_make_availableAgc((((((1 + ((((11 + (((v_172X)<<2))))>>2))) + extra_171X))<<2)));
  value_173X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_173X))) {
    v_174X = (char *) s48_long_to_bignum((((value_173X)>>2)));
    arg1K0 = v_174X;
    goto L20466;}
  else {
    arg1K0 = (((char *) (-3 + value_173X)));
    goto L20466;}}
 L20466: {
  v_175X = arg1K0;
  external_bignum_176X = (char *) s48_bignum_bitwise_not(v_175X);
  v_177X = s48_bignum_fits_in_word_p(external_bignum_176X, 30, 1);
  if (v_177X) {
    n_178X = s48_bignum_to_long(external_bignum_176X);
    return (((n_178X)<<2));}
  else {
    return enter_bignum(external_bignum_176X);}}
}
static long integer_bitwise_and(long x_179X, long y_180X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_194X;
  char v_193X;
  char * external_bignum_192X;
  char * y_191X;
  char * v_190X;
  long value_189X;
  char * x_188X;
  char * v_187X;
  long value_186X;
  long v_185X;
  long extra1_184X;
  long length1_183X;
  long extra0_182X;
  long length0_181X;
 {  if ((0 == (3 & x_179X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16961;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_179X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16961;}}
 L16961: {
  length0_181X = arg0K0;
  extra0_182X = arg0K1;
  if ((0 == (3 & y_180X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16969;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_180X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16969;}}
 L16969: {
  length1_183X = arg0K0;
  extra1_184X = arg0K1;
  if ((length0_181X < length1_183X)) {
    arg0K0 = length1_183X;
    goto L16991;}
  else {
    arg0K0 = length0_181X;
    goto L16991;}}
 L16991: {
  v_185X = arg0K0;
  Stemp0S = x_179X;
  Stemp1S = y_180X;s48_make_availableAgc(((((((1 + ((((11 + (((v_185X)<<2))))>>2))) + extra0_182X) + extra1_184X))<<2)));
  value_186X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_186X))) {
    v_187X = (char *) s48_long_to_bignum((((value_186X)>>2)));
    arg1K0 = v_187X;
    goto L20533;}
  else {
    arg1K0 = (((char *) (-3 + value_186X)));
    goto L20533;}}
 L20533: {
  x_188X = arg1K0;
  value_189X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_189X))) {
    v_190X = (char *) s48_long_to_bignum((((value_189X)>>2)));
    arg1K0 = v_190X;
    goto L20537;}
  else {
    arg1K0 = (((char *) (-3 + value_189X)));
    goto L20537;}}
 L20537: {
  y_191X = arg1K0;
  external_bignum_192X = (char *) s48_bignum_bitwise_and(x_188X, y_191X);
  v_193X = s48_bignum_fits_in_word_p(external_bignum_192X, 30, 1);
  if (v_193X) {
    n_194X = s48_bignum_to_long(external_bignum_192X);
    return (((n_194X)<<2));}
  else {
    return enter_bignum(external_bignum_192X);}}
}
static long integer_bitwise_ior(long x_195X, long y_196X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_210X;
  char v_209X;
  char * external_bignum_208X;
  char * y_207X;
  char * v_206X;
  long value_205X;
  char * x_204X;
  char * v_203X;
  long value_202X;
  long v_201X;
  long extra1_200X;
  long length1_199X;
  long extra0_198X;
  long length0_197X;
 {  if ((0 == (3 & x_195X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16918;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_195X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16918;}}
 L16918: {
  length0_197X = arg0K0;
  extra0_198X = arg0K1;
  if ((0 == (3 & y_196X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16926;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_196X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16926;}}
 L16926: {
  length1_199X = arg0K0;
  extra1_200X = arg0K1;
  if ((length0_197X < length1_199X)) {
    arg0K0 = length1_199X;
    goto L16948;}
  else {
    arg0K0 = length0_197X;
    goto L16948;}}
 L16948: {
  v_201X = arg0K0;
  Stemp0S = x_195X;
  Stemp1S = y_196X;s48_make_availableAgc(((((((1 + ((((11 + (((v_201X)<<2))))>>2))) + extra0_198X) + extra1_200X))<<2)));
  value_202X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_202X))) {
    v_203X = (char *) s48_long_to_bignum((((value_202X)>>2)));
    arg1K0 = v_203X;
    goto L20607;}
  else {
    arg1K0 = (((char *) (-3 + value_202X)));
    goto L20607;}}
 L20607: {
  x_204X = arg1K0;
  value_205X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_205X))) {
    v_206X = (char *) s48_long_to_bignum((((value_205X)>>2)));
    arg1K0 = v_206X;
    goto L20611;}
  else {
    arg1K0 = (((char *) (-3 + value_205X)));
    goto L20611;}}
 L20611: {
  y_207X = arg1K0;
  external_bignum_208X = (char *) s48_bignum_bitwise_ior(x_204X, y_207X);
  v_209X = s48_bignum_fits_in_word_p(external_bignum_208X, 30, 1);
  if (v_209X) {
    n_210X = s48_bignum_to_long(external_bignum_208X);
    return (((n_210X)<<2));}
  else {
    return enter_bignum(external_bignum_208X);}}
}
static long integer_bitwise_xor(long x_211X, long y_212X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long n_226X;
  char v_225X;
  char * external_bignum_224X;
  char * y_223X;
  char * v_222X;
  long value_221X;
  char * x_220X;
  char * v_219X;
  long value_218X;
  long v_217X;
  long extra1_216X;
  long length1_215X;
  long extra0_214X;
  long length0_213X;
 {  if ((0 == (3 & x_211X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16875;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_211X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16875;}}
 L16875: {
  length0_213X = arg0K0;
  extra0_214X = arg0K1;
  if ((0 == (3 & y_212X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16883;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_212X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16883;}}
 L16883: {
  length1_215X = arg0K0;
  extra1_216X = arg0K1;
  if ((length0_213X < length1_215X)) {
    arg0K0 = length1_215X;
    goto L16905;}
  else {
    arg0K0 = length0_213X;
    goto L16905;}}
 L16905: {
  v_217X = arg0K0;
  Stemp0S = x_211X;
  Stemp1S = y_212X;s48_make_availableAgc(((((((1 + ((((11 + (((v_217X)<<2))))>>2))) + extra0_214X) + extra1_216X))<<2)));
  value_218X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_218X))) {
    v_219X = (char *) s48_long_to_bignum((((value_218X)>>2)));
    arg1K0 = v_219X;
    goto L20681;}
  else {
    arg1K0 = (((char *) (-3 + value_218X)));
    goto L20681;}}
 L20681: {
  x_220X = arg1K0;
  value_221X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_221X))) {
    v_222X = (char *) s48_long_to_bignum((((value_221X)>>2)));
    arg1K0 = v_222X;
    goto L20685;}
  else {
    arg1K0 = (((char *) (-3 + value_221X)));
    goto L20685;}}
 L20685: {
  y_223X = arg1K0;
  external_bignum_224X = (char *) s48_bignum_bitwise_xor(x_220X, y_223X);
  v_225X = s48_bignum_fits_in_word_p(external_bignum_224X, 30, 1);
  if (v_225X) {
    n_226X = s48_bignum_to_long(external_bignum_224X);
    return (((n_226X)<<2));}
  else {
    return enter_bignum(external_bignum_224X);}}
}
static char for_each_imported_binding(char (*proc_227X)(long))
{
  long arg0K0;
  long link_234X;
  char x_233X;
  long entry_232X;
  long link_231X;
  char temp_230X;
  long i_229X;
  long table_228X;
 {  table_228X = Simported_bindingsS;
  arg0K0 = 0;
  goto L18600;}
 L18600: {
  i_229X = arg0K0;
  temp_230X = 1024 == i_229X;
  if (temp_230X) {
    return temp_230X;}
  else {
    link_231X = *((long *) ((((char *) (-3 + table_228X))) + (((i_229X)<<2))));
    if ((0 == (3 & link_231X))) {
      arg0K0 = (3 + (-4 & link_231X));
      goto L18572;}
    else {
      arg0K0 = link_231X;
      goto L18572;}}}
 L18572: {
  entry_232X = arg0K0;
  if ((1 == entry_232X)) {
    arg0K0 = (1 + i_229X);
    goto L18600;}
  else {
    x_233X = (*proc_227X)(entry_232X);
    if (x_233X) {
      link_234X = *((long *) ((((char *) (-3 + entry_232X))) + 12));
      if ((0 == (3 & link_234X))) {
        arg0K0 = (3 + (-4 & link_234X));
        goto L18572;}
      else {
        arg0K0 = link_234X;
        goto L18572;}}
    else {
      return 1;}}}
}
static long really_preserve_continuation(long key_235X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  char * next_248X;
  long pc_247X;
  char * pointer_246X;
  char * pointer_245X;
  long new_244X;
  char * addr_243X;
  long len_242X;
  long size_241X;
  long size_240X;
  char * pointer_239X;
  long previous_238X;
  char * cont_237X;
  long temp_236X;
 {  if (((ScontS) == (Sbottom_of_stackS))) {
    goto L21455;}
  else {
    temp_236X = Sheap_continuationS;
    arg1K0 = (ScontS);
    arg0K1 = 1;
    goto L21425;}}
 L21455: {
  return (Sheap_continuationS);}
 L21425: {
  cont_237X = arg1K0;
  previous_238X = arg0K1;
  if ((cont_237X == (Sbottom_of_stackS))) {
    *((long *) ((((char *) (-3 + previous_238X))) + 8)) = (long) (temp_236X);
    ScontS = (Sbottom_of_stackS);
    goto L21455;}
  else {
    pointer_239X = (((char *) (*((long *) cont_237X)))) + -2;
    size_240X = ((((*((unsigned char *) pointer_239X)))<<8)) + (*((unsigned char *) (pointer_239X + 1)));
    if ((65535 == size_240X)) {
      arg0K0 = ((((*((long *) (cont_237X + 4))))>>2));
      goto L19374;}
    else {
      arg0K0 = size_240X;
      goto L19374;}}}
 L19374: {
  size_241X = arg0K0;
  len_242X = 12 + (((size_241X)<<2));
  addr_243X = s48_allocate_small((4 + len_242X));
  *((long *) addr_243X) = (long) ((42 + (((len_242X)<<8))));
  new_244X = 3 + (((long) (addr_243X + 4)));
  pointer_245X = ((char *) (*((long *) cont_237X)));
  pointer_246X = pointer_245X + -5;
  pc_247X = ((((*((unsigned char *) pointer_246X)))<<8)) + (*((unsigned char *) (pointer_246X + 1)));
  memcpy((void *)((((char *) (-3 + new_244X))) + 12), (void *)(cont_237X + 4),(((size_241X)<<2)));
  *((long *) (((char *) (-3 + new_244X)))) = (long) ((((pc_247X)<<2)));
  *((long *) ((((char *) (-3 + new_244X))) + 4)) = (long) ((3 + (((long) (pointer_245X + (0 - pc_247X))))));
  next_248X = cont_237X + (4 + (((size_241X)<<2)));
  if ((3 == (3 & previous_238X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + previous_238X))) + -4))))>>2))))) {
      *((long *) ((((char *) (-3 + previous_238X))) + 8)) = (long) (new_244X);
      arg1K0 = next_248X;
      arg0K1 = new_244X;
      goto L21425;}
    else {
      goto L21443;}}
  else {
    goto L21443;}}
 L21443: {
  Sheap_continuationS = new_244X;
  arg1K0 = next_248X;
  arg0K1 = new_244X;
  goto L21425;}
}
static void push_exception_setupB(long exception_249X, long instruction_size_250X)
{
  long n_262X;
  long data_261X;
  long n_260X;
  long code_259X;
  long pc_258X;
  char * code_pointer_257X;
  long x_256X;
  long data_255X;
  long n_254X;
  long pc_253X;
  char * code_pointer_252X;
  long code_251X;
 {  if ((0 == (Snative_exception_contS))) {
    code_251X = current_code_vector();
    code_pointer_252X = (((char *) (-3 + (Sexception_return_codeS)))) + 11;
    pc_253X = ((((Scode_pointerS) - (((char *) (-3 + code_251X)))))<<2);
    SstackS = ((SstackS) + -20);
    n_254X = ((((ScontS) - (SstackS)))>>2);
    data_255X = 3 + (((long) (SstackS)));
    *((long *) (((char *) (-3 + data_255X)))) = (long) ((((n_254X)<<2)));
    *((long *) ((((char *) (-3 + data_255X))) + 4)) = (long) (pc_253X);
    *((long *) ((((char *) (-3 + data_255X))) + 8)) = (long) (code_251X);
    *((long *) ((((char *) (-3 + data_255X))) + 12)) = (long) ((((exception_249X)<<2)));
    *((long *) ((((char *) (-3 + data_255X))) + 16)) = (long) ((((instruction_size_250X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((long) code_pointer_252X)));
    ScontS = (SstackS);
    goto L21742;}
  else {
    x_256X = Snative_exception_contS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_256X);
    ScontS = (SstackS);
    ps_write_string("handling exception for nc ", (stderr));
    ps_write_integer((Snative_exception_contS), (stderr));
    code_pointer_257X = (((char *) (-3 + (Snative_exception_return_codeS)))) + 11;
    pc_258X = (((*((unsigned char *) (Scode_pointerS))))<<2);
    code_259X = Snative_exception_contS;
    SstackS = ((SstackS) + -20);
    n_260X = ((((ScontS) - (SstackS)))>>2);
    data_261X = 3 + (((long) (SstackS)));
    *((long *) (((char *) (-3 + data_261X)))) = (long) ((((n_260X)<<2)));
    *((long *) ((((char *) (-3 + data_261X))) + 4)) = (long) (pc_258X);
    *((long *) ((((char *) (-3 + data_261X))) + 8)) = (long) (code_259X);
    *((long *) ((((char *) (-3 + data_261X))) + 12)) = (long) ((((exception_249X)<<2)));
    *((long *) ((((char *) (-3 + data_261X))) + 16)) = (long) (0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((long) code_pointer_257X)));
    ScontS = (SstackS);
    Snative_exception_contS = 0;
    goto L21742;}}
 L21742: {
  n_262X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_262X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((exception_249X)<<2)));
  return;}
}
static long Hlookup2710(long table_263X, long string_264X, long key_265X)
{
  long arg0K1;
  long arg0K0;
  char * addr_280X;
  long value_279X;
  long link_278X;
  long x_277X;
  char * addr_276X;
  long next_275X;
  long len_274X;
  long s2_273X;
  long foo_272X;
  long bucket_271X;
  long link_270X;
  long index_269X;
  long h_268X;
  long i_267X;
  long n_266X;
 {  n_266X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_264X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L22586;}
 L22586: {
  i_267X = arg0K0;
  h_268X = arg0K1;
  if ((i_267X < n_266X)) {
    arg0K0 = (1 + i_267X);
    arg0K1 = (h_268X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_264X))) + i_267X))))))));
    goto L22586;}
  else {
    index_269X = 1023 & h_268X;
    link_270X = *((long *) ((((char *) (-3 + table_263X))) + (((index_269X)<<2))));
    if ((0 == (3 & link_270X))) {
      arg0K0 = (3 + (-4 & link_270X));
      goto L22542;}
    else {
      arg0K0 = link_270X;
      goto L22542;}}}
 L22542: {
  bucket_271X = arg0K0;
  arg0K0 = bucket_271X;
  goto L22548;}
 L22548: {
  foo_272X = arg0K0;
  if ((1 == foo_272X)) {
    if ((3 == (3 & bucket_271X))) {
      arg0K0 = (-4 & bucket_271X);
      goto L22553;}
    else {
      arg0K0 = bucket_271X;
      goto L22553;}}
  else {
    s2_273X = *((long *) (((char *) (-3 + foo_272X))));
    len_274X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_264X))) + -4))))>>8);
    if ((len_274X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_273X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_273X))), (void *)(((char *) (-3 + string_264X))),len_274X)))) {
        return foo_272X;}
      else {
        goto L22568;}}
    else {
      goto L22568;}}}
 L22553: {
  next_275X = arg0K0;
  addr_276X = s48_allocate_small(20);
  *((long *) addr_276X) = (long) (4154);
  x_277X = 3 + (((long) (addr_276X + 4)));
  *((long *) (((char *) (-3 + x_277X)))) = (long) (string_264X);
  *((long *) ((((char *) (-3 + x_277X))) + 4)) = (long) (1);
  *((long *) ((((char *) (-3 + x_277X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_277X))) + 12)) = (long) (next_275X);
  if ((3 == (3 & x_277X))) {
    arg0K0 = (-4 & x_277X);
    goto L22559;}
  else {
    arg0K0 = x_277X;
    goto L22559;}}
 L22568: {
  link_278X = *((long *) ((((char *) (-3 + foo_272X))) + 12));
  if ((0 == (3 & link_278X))) {
    arg0K0 = (3 + (-4 & link_278X));
    goto L22548;}
  else {
    arg0K0 = link_278X;
    goto L22548;}}
 L22559: {
  value_279X = arg0K0;
  addr_280X = (((char *) (-3 + table_263X))) + (((index_269X)<<2));S48_WRITE_BARRIER(table_263X, addr_280X, value_279X);
  *((long *) addr_280X) = (long) (value_279X);
  return x_277X;}
}
static long Hlookup2691(long table_281X, long string_282X, long key_283X)
{
  long arg0K1;
  long arg0K0;
  char * addr_298X;
  long value_297X;
  long link_296X;
  long x_295X;
  char * addr_294X;
  long next_293X;
  long len_292X;
  long s2_291X;
  long foo_290X;
  long bucket_289X;
  long link_288X;
  long index_287X;
  long h_286X;
  long i_285X;
  long n_284X;
 {  n_284X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_282X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L22738;}
 L22738: {
  i_285X = arg0K0;
  h_286X = arg0K1;
  if ((i_285X < n_284X)) {
    arg0K0 = (1 + i_285X);
    arg0K1 = (h_286X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_282X))) + i_285X))))))));
    goto L22738;}
  else {
    index_287X = 1023 & h_286X;
    link_288X = *((long *) ((((char *) (-3 + table_281X))) + (((index_287X)<<2))));
    if ((0 == (3 & link_288X))) {
      arg0K0 = (3 + (-4 & link_288X));
      goto L22694;}
    else {
      arg0K0 = link_288X;
      goto L22694;}}}
 L22694: {
  bucket_289X = arg0K0;
  arg0K0 = bucket_289X;
  goto L22700;}
 L22700: {
  foo_290X = arg0K0;
  if ((1 == foo_290X)) {
    if ((3 == (3 & bucket_289X))) {
      arg0K0 = (-4 & bucket_289X);
      goto L22705;}
    else {
      arg0K0 = bucket_289X;
      goto L22705;}}
  else {
    s2_291X = *((long *) (((char *) (-3 + foo_290X))));
    len_292X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_282X))) + -4))))>>8);
    if ((len_292X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_291X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_291X))), (void *)(((char *) (-3 + string_282X))),len_292X)))) {
        return foo_290X;}
      else {
        goto L22720;}}
    else {
      goto L22720;}}}
 L22705: {
  next_293X = arg0K0;
  addr_294X = s48_allocate_small(20);
  *((long *) addr_294X) = (long) (4154);
  x_295X = 3 + (((long) (addr_294X + 4)));
  *((long *) (((char *) (-3 + x_295X)))) = (long) (string_282X);
  *((long *) ((((char *) (-3 + x_295X))) + 4)) = (long) (5);
  *((long *) ((((char *) (-3 + x_295X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_295X))) + 12)) = (long) (next_293X);
  if ((3 == (3 & x_295X))) {
    arg0K0 = (-4 & x_295X);
    goto L22711;}
  else {
    arg0K0 = x_295X;
    goto L22711;}}
 L22720: {
  link_296X = *((long *) ((((char *) (-3 + foo_290X))) + 12));
  if ((0 == (3 & link_296X))) {
    arg0K0 = (3 + (-4 & link_296X));
    goto L22700;}
  else {
    arg0K0 = link_296X;
    goto L22700;}}
 L22711: {
  value_297X = arg0K0;
  addr_298X = (((char *) (-3 + table_281X))) + (((index_287X)<<2));S48_WRITE_BARRIER(table_281X, addr_298X, value_297X);
  *((long *) addr_298X) = (long) (value_297X);
  return x_295X;}
}
static void HtopD10402(void)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long id_337X;
  long new_336X;
  long id_335X;
  long status_334X;
  long v_333X;
  char v_332X;
  long channel_331X;
  long i_330X;
  char * addr_329X;
  long next_link_328X;
  long new_foo_327X;
  char v_326X;
  char * addr_325X;
  long foo_324X;
  char * addr_323X;
  long l_322X;
  long v_321X;
  long okay_link_320X;
  long foo_link_319X;
  char * addr_318X;
  char * addr_317X;
  char * addr_316X;
  char * addr_315X;
  long val_314X;
  char tracedP_313X;
  long next_312X;
  long thing_311X;
  long pair_310X;
  long alist_309X;
  long l2_308X;
  long goners_307X;
  long okay_306X;
  long alist_305X;
  long foo_link_304X;
  long v_303X;
  long pc_302X;
  long code_301X;
  long i_300X;
  long table_299X;
 {  table_299X = s48_trace_value((Sthe_symbol_tableS));
  arg0K0 = 0;
  goto L23678;}
 L23678: {
  i_300X = arg0K0;
  if ((1024 == i_300X)) {
    Sthe_symbol_tableS = table_299X;
    code_301X = Slast_code_calledS;
    pc_302X = Ssaved_pcS;
    Slast_code_calledS = code_301X;
    Scode_pointerS = ((((char *) (-3 + code_301X))) + pc_302X);
    Slast_code_pointer_resumedS = (Scode_pointerS);
    v_303X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_303X;
    arg0K1 = 25;
    arg0K2 = 25;
    goto L11432;}
  else {
    foo_link_304X = *((long *) ((((char *) (-3 + table_299X))) + (((i_300X)<<2))));
    arg0K0 = foo_link_304X;
    arg0K1 = 1;
    goto L15428;}}
 L11432: {
  alist_305X = arg0K0;
  okay_306X = arg0K1;
  goners_307X = arg0K2;
  if ((25 == alist_305X)) {SHARED_SETB((Sfinalizer_alistS), okay_306X);
    l2_308X = Sfinalize_theseS;
    if ((25 == goners_307X)) {
      arg0K0 = l2_308X;
      goto L11439;}
    else {
      arg0K0 = goners_307X;
      goto L11494;}}
  else {
    alist_309X = s48_trace_value(alist_305X);
    pair_310X = s48_trace_value((*((long *) (((char *) (-3 + alist_309X))))));
    thing_311X = *((long *) (((char *) (-3 + pair_310X))));
    next_312X = *((long *) ((((char *) (-3 + alist_309X))) + 4));
    tracedP_313X = s48_extantP(thing_311X);
    val_314X = s48_trace_value(thing_311X);
    addr_315X = ((char *) (-3 + pair_310X));S48_WRITE_BARRIER(pair_310X, addr_315X, val_314X);
    *((long *) addr_315X) = (long) (val_314X);
    addr_316X = ((char *) (-3 + alist_309X));S48_WRITE_BARRIER(alist_309X, addr_316X, pair_310X);
    *((long *) addr_316X) = (long) (pair_310X);
    if (tracedP_313X) {
      addr_317X = (((char *) (-3 + alist_309X))) + 4;S48_WRITE_BARRIER(alist_309X, addr_317X, okay_306X);
      *((long *) addr_317X) = (long) (okay_306X);
      arg0K0 = next_312X;
      arg0K1 = alist_309X;
      arg0K2 = goners_307X;
      goto L11432;}
    else {
      addr_318X = (((char *) (-3 + alist_309X))) + 4;S48_WRITE_BARRIER(alist_309X, addr_318X, goners_307X);
      *((long *) addr_318X) = (long) (goners_307X);
      arg0K0 = next_312X;
      arg0K1 = okay_306X;
      arg0K2 = alist_309X;
      goto L11432;}}}
 L15428: {
  foo_link_319X = arg0K0;
  okay_link_320X = arg0K1;
  if ((0 == (3 & foo_link_319X))) {
    arg0K0 = (3 + (-4 & foo_link_319X));
    goto L15430;}
  else {
    arg0K0 = foo_link_319X;
    goto L15430;}}
 L11439: {
  v_321X = arg0K0;
  Sfinalize_theseS = v_321X;
  arg0K0 = 0;
  goto L22135;}
 L11494: {
  l_322X = arg0K0;
  if ((25 == (*((long *) ((((char *) (-3 + l_322X))) + 4))))) {
    addr_323X = (((char *) (-3 + l_322X))) + 4;S48_WRITE_BARRIER(l_322X, addr_323X, l2_308X);
    *((long *) addr_323X) = (long) (l2_308X);
    arg0K0 = goners_307X;
    goto L11439;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_322X))) + 4)));
    goto L11494;}}
 L15430: {
  foo_324X = arg0K0;
  if ((1 == foo_324X)) {
    addr_325X = (((char *) (-3 + table_299X))) + (((i_300X)<<2));S48_WRITE_BARRIER(table_299X, addr_325X, okay_link_320X);
    *((long *) addr_325X) = (long) (okay_link_320X);
    arg0K0 = (1 + i_300X);
    goto L23678;}
  else {
    v_326X = s48_extantP(foo_324X);
    if (v_326X) {
      new_foo_327X = s48_trace_value(foo_324X);
      next_link_328X = *((long *) ((((char *) (-3 + new_foo_327X))) + 4));
      addr_329X = (((char *) (-3 + new_foo_327X))) + 4;S48_WRITE_BARRIER(new_foo_327X, addr_329X, okay_link_320X);
      *((long *) addr_329X) = (long) (okay_link_320X);
      if ((3 == (3 & new_foo_327X))) {
        arg0K0 = next_link_328X;
        arg0K1 = (-4 & new_foo_327X);
        goto L15428;}
      else {
        arg0K0 = next_link_328X;
        arg0K1 = new_foo_327X;
        goto L15428;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + foo_324X))) + 4)));
      arg0K1 = okay_link_320X;
      goto L15428;}}}
 L22135: {
  i_330X = arg0K0;
  if ((i_330X == (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_331X = *((Svm_channelsS) + i_330X);
    if ((1 == channel_331X)) {
      goto L22169;}
    else {
      v_332X = s48_extantP(channel_331X);
      if (v_332X) {
        v_333X = s48_trace_value(channel_331X);
        arg0K0 = v_333X;
        goto L22162;}
      else {
        if ((0 == (*((long *) (((char *) (-3 + channel_331X))))))) {
          arg0K0 = 1;
          goto L22162;}
        else {
          status_334X = close_channelB(channel_331X);
          id_335X = *((long *) ((((char *) (-3 + channel_331X))) + 4));
          if ((status_334X == NO_ERRORS)) {
            goto L22193;}
          else {channel_close_error(status_334X, (*((long *) ((((char *) (-3 + channel_331X))) + 8))), id_335X);
            goto L22193;}}}}}}
 L22169: {
  arg0K0 = (1 + i_330X);
  goto L22135;}
 L22162: {
  new_336X = arg0K0;
  *((Svm_channelsS) + i_330X) = new_336X;
  goto L22169;}
 L22193: {
  if ((1 == (*((long *) ((((char *) (-3 + channel_331X))) + 12))))) {
    id_337X = *((long *) ((((char *) (-3 + channel_331X))) + 4));
    ps_write_string("Channel closed: ", (stderr));
    if ((0 == (3 & id_337X))) {
      ps_write_integer((((id_337X)>>2)), (stderr));
      goto L9568;}
    else {
      ps_write_string((((char *)(((char *) (-3 + id_337X))))), (stderr));
      goto L9568;}}
  else {
    arg0K0 = 1;
    goto L22162;}}
 L9568: {
  ps_write_string(" ", (stderr));
  ps_write_integer(((((*((long *) ((((char *) (-3 + channel_331X))) + 8))))>>2)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  arg0K0 = 1;
  goto L22162;}
}
static void HtopD10413(void)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K0;

  int Hentry_tracer863338_return_tag;
  long Hentry_tracer8633380_return_value;
  long foo_link_339X;
  char * addr_410X;
  long next_link_409X;
  long new_foo_408X;
  long foo_407X;
  long done_link_406X;
  long foo_link_405X;
  long v_404X;
  long size_403X;
  char * pointer_402X;
  long v_401X;
  long v_400X;
  long v_399X;
  long cells_398X;
  long size_397X;
  char * pointer_396X;
  char * contents_pointer_395X;
  long new_code_394X;
  long mask_size_393X;
  char * code_pointer_392X;
  long pc_391X;
  char * pointer_390X;
  char * pointer_389X;
  char * cont_388X;
  long unused_387X;
  char * a_386X;
  char * addr_385X;
  long val_384X;
  char * addr_383X;
  long val_382X;
  long channel_381X;
  long i_380X;
  char x_379X;
  long pair_378X;
  long v_377X;
  long v_376X;
  long alist_375X;
  char * addr_374X;
  long value_373X;
  long v_372X;
  long v_371X;
  long v_370X;
  long v_369X;
  long v_368X;
  long v_367X;
  long v_366X;
  long v_365X;
  long v_364X;
  long v_363X;
  long v_362X;
  long v_361X;
  long v_360X;
  long v_359X;
  long v_358X;
  long v_357X;
  long v_356X;
  long code_355X;
  long i_354X;
  char * addr_353X;
  long value_352X;
  long table_351X;
  long i_350X;
  long x2_349X;
  char * cell_348X;
  long i_347X;
  long x2_346X;
  char * cell_345X;
  long table_344X;
  char * frame_343X;
  long length_342X;
  char * frame_341X;
  long v_340X;
 {  v_340X = s48_trace_value((Sempty_logS));
  Sempty_logS = v_340X;
  arg1K0 = (Sexternal_root_stackS);
  goto L8214;}
 L8214: {
  frame_341X = arg1K0;
  if ((frame_341X == NULL)) {
    arg1K0 = (Spermanent_external_rootsS);
    goto L8240;}
  else {
    length_342X = *((long *) frame_341X);
    arg0K0 = 0;
    goto L8222;}}
 L8240: {
  frame_343X = arg1K0;
  if ((frame_343X == NULL)) {s48_initializing_gc_root();
    table_344X = s48_trace_value((Simported_bindingsS));
    arg0K0 = 0;
    goto L21232;}
  else {
    cell_345X = ((char *) (*((long *) (frame_343X + 8))));
    x2_346X = s48_trace_value((*((long *) cell_345X)));
    *((long *) cell_345X) = (long) (x2_346X);
    arg1K0 = (((char *) (*((long *) frame_343X))));
    goto L8240;}}
 L8222: {
  i_347X = arg0K0;
  if ((i_347X == length_342X)) {
    arg1K0 = (((char *) (*((long *) (frame_341X + 4)))));
    goto L8214;}
  else {
    cell_348X = ((char *) (*((long *) (frame_341X + (8 + (((i_347X)<<2)))))));
    x2_349X = s48_trace_value((*((long *) cell_348X)));
    *((long *) cell_348X) = (long) (x2_349X);
    arg0K0 = (1 + i_347X);
    goto L8222;}}
 L21232: {
  i_350X = arg0K0;
  if ((1024 == i_350X)) {
    Simported_bindingsS = table_344X;
    table_351X = s48_trace_value((Sexported_bindingsS));
    arg0K0 = 0;
    goto L21253;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_344X))) + (((i_350X)<<2)))));
    Hentry_tracer863338_return_tag = 0;
    goto Hentry_tracer863338;
   Hentry_tracer863338_return_0:
    value_352X = Hentry_tracer8633380_return_value;
    addr_353X = (((char *) (-3 + table_344X))) + (((i_350X)<<2));S48_WRITE_BARRIER(table_344X, addr_353X, value_352X);
    *((long *) addr_353X) = (long) (value_352X);
    arg0K0 = (1 + i_350X);
    goto L21232;}}
 L21253: {
  i_354X = arg0K0;
  if ((1024 == i_354X)) {
    Sexported_bindingsS = table_351X;
    code_355X = current_code_vector();
    Ssaved_pcS = ((Scode_pointerS) - (((char *) (-3 + code_355X))));
    v_356X = s48_trace_value(code_355X);
    Slast_code_calledS = v_356X;
    v_357X = s48_trace_value((SvalS));
    SvalS = v_357X;
    v_358X = s48_trace_value((Scurrent_threadS));
    Scurrent_threadS = v_358X;
    v_359X = s48_trace_value((Sinterrupt_return_codeS));
    Sinterrupt_return_codeS = v_359X;
    v_360X = s48_trace_value((Sexception_return_codeS));
    Sexception_return_codeS = v_360X;
    v_361X = s48_trace_value((Snative_exception_return_codeS));
    Snative_exception_return_codeS = v_361X;
    v_362X = s48_trace_value((Scall_with_values_return_codeS));
    Scall_with_values_return_codeS = v_362X;
    v_363X = s48_trace_value((Sinterrupted_templateS));
    Sinterrupted_templateS = v_363X;
    v_364X = SHARED_REF((Ssession_dataS));
    v_365X = s48_trace_value(v_364X);SHARED_SETB((Ssession_dataS), v_365X);
    v_366X = SHARED_REF((Sexception_handlersS));
    v_367X = s48_trace_value(v_366X);SHARED_SETB((Sexception_handlersS), v_367X);
    v_368X = SHARED_REF((Sinterrupt_handlersS));
    v_369X = s48_trace_value(v_368X);SHARED_SETB((Sinterrupt_handlersS), v_369X);
    v_370X = SHARED_REF((Sfinalize_theseS));
    v_371X = s48_trace_value(v_370X);SHARED_SETB((Sfinalize_theseS), v_371X);
    v_372X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_372X;
    goto L8280;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_351X))) + (((i_354X)<<2)))));
    Hentry_tracer863338_return_tag = 1;
    goto Hentry_tracer863338;
   Hentry_tracer863338_return_1:
    value_373X = Hentry_tracer8633380_return_value;
    addr_374X = (((char *) (-3 + table_351X))) + (((i_354X)<<2));S48_WRITE_BARRIER(table_351X, addr_374X, value_373X);
    *((long *) addr_374X) = (long) (value_373X);
    arg0K0 = (1 + i_354X);
    goto L21253;}}
 L8280: {
  alist_375X = arg0K0;
  if ((25 == alist_375X)) {
    v_376X = s48_trace_value((Spending_channels_headS));
    Spending_channels_headS = v_376X;
    v_377X = s48_trace_value((Spending_channels_tailS));
    Spending_channels_tailS = v_377X;
    arg0K0 = 0;
    goto L11564;}
  else {
    pair_378X = *((long *) (((char *) (-3 + alist_375X))));
    x_379X = s48_extantP((*((long *) (((char *) (-3 + pair_378X))))));
    if (x_379X) {
      goto L8305;}
    else {s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_378X))))));
      goto L8305;}}}
 L11564: {
  i_380X = arg0K0;
  if ((i_380X == (Snumber_of_channelsS))) {
    if ((Sstack_warningPS)) {
      arg1K0 = (Sstack_beginS);
      goto L5606;}
    else {
      goto L15661;}}
  else {
    channel_381X = *((Svm_channelsS) + i_380X);
    if ((1 == channel_381X)) {
      goto L11592;}
    else {
      if ((0 == (*((long *) (((char *) (-3 + channel_381X))))))) {
        goto L11592;}
      else {
        val_382X = s48_trace_value((*((long *) ((((char *) (-3 + channel_381X))) + 4))));
        addr_383X = (((char *) (-3 + channel_381X))) + 4;S48_WRITE_BARRIER(channel_381X, addr_383X, val_382X);
        *((long *) addr_383X) = (long) (val_382X);
        goto L11592;}}}}
 L8305: {
  val_384X = s48_trace_value((*((long *) ((((char *) (-3 + pair_378X))) + 4))));
  addr_385X = (((char *) (-3 + pair_378X))) + 4;S48_WRITE_BARRIER(pair_378X, addr_385X, val_384X);
  *((long *) addr_385X) = (long) (val_384X);
  arg0K0 = (*((long *) ((((char *) (-3 + alist_375X))) + 4)));
  goto L8280;}
 L5606: {
  a_386X = arg1K0;
  if ((252645135 == (*((long *) a_386X)))) {
    arg1K0 = (a_386X + 4);
    goto L5606;}
  else {
    unused_387X = (((a_386X - (Sstack_beginS)))>>2);
    if ((unused_387X < 30)) {
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      ps_write_string("[Alert: stack overconsumption (", (stderr));
      ps_write_integer(unused_387X, (stderr));
      ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      Sstack_warningPS = 0;
      goto L15661;}
    else {
      goto L15661;}}}
 L15661: {
s48_trace_locationsB((SstackS), ((SstackS) + (-4 & ((ScontS) - (SstackS)))));
  arg1K0 = (ScontS);
  goto L15671;}
 L11592: {
  arg0K0 = (1 + i_380X);
  goto L11564;}
 L15671: {
  cont_388X = arg1K0;
  pointer_389X = ((char *) (*((long *) cont_388X)));
  pointer_390X = pointer_389X + -5;
  pc_391X = ((((*((unsigned char *) pointer_390X)))<<8)) + (*((unsigned char *) (pointer_390X + 1)));
  code_pointer_392X = ((char *) (*((long *) cont_388X)));
  mask_size_393X = *((unsigned char *) (code_pointer_392X + -3));
  new_code_394X = s48_trace_value((3 + (((long) (pointer_389X + (0 - pc_391X))))));
  contents_pointer_395X = cont_388X + 4;
  *((long *) cont_388X) = (long) ((((long) ((((char *) (-3 + new_code_394X))) + pc_391X))));
  if ((0 == mask_size_393X)) {
    pointer_396X = (((char *) (*((long *) cont_388X)))) + -2;
    size_397X = ((((*((unsigned char *) pointer_396X)))<<8)) + (*((unsigned char *) (pointer_396X + 1)));
    if ((65535 == size_397X)) {
      arg0K0 = ((((*((long *) (cont_388X + 4))))>>2));
      goto L12841;}
    else {
      arg0K0 = size_397X;
      goto L12841;}}
  else {s48_trace_continuation_contentsB(contents_pointer_395X, code_pointer_392X, mask_size_393X);
    goto L15681;}}
 L12841: {
  cells_398X = arg0K0;s48_trace_locationsB(contents_pointer_395X, (contents_pointer_395X + (((cells_398X)<<2))));
  goto L15681;}
 L15681: {
  if ((cont_388X == (Sbottom_of_stackS))) {
    v_399X = s48_trace_value((Sheap_continuationS));
    Sheap_continuationS = v_399X;
    v_400X = s48_trace_value((Stemp0S));
    Stemp0S = v_400X;
    v_401X = s48_trace_value((Stemp1S));
    Stemp1S = v_401X;
    return;}
  else {
    pointer_402X = (((char *) (*((long *) cont_388X)))) + -2;
    size_403X = ((((*((unsigned char *) pointer_402X)))<<8)) + (*((unsigned char *) (pointer_402X + 1)));
    if ((65535 == size_403X)) {
      arg0K0 = ((((*((long *) (cont_388X + 4))))>>2));
      goto L15719;}
    else {
      arg0K0 = size_403X;
      goto L15719;}}}
 L15719: {
  v_404X = arg0K0;
  arg1K0 = (cont_388X + (4 + (((v_404X)<<2))));
  goto L15671;}
 Hentry_tracer863338: {
  foo_link_339X = merged_arg0K0;{
  arg0K0 = foo_link_339X;
  arg0K1 = 1;
  goto L15500;}
 L15500: {
  foo_link_405X = arg0K0;
  done_link_406X = arg0K1;
  if ((0 == (3 & foo_link_405X))) {
    arg0K0 = (3 + (-4 & foo_link_405X));
    goto L15502;}
  else {
    arg0K0 = foo_link_405X;
    goto L15502;}}
 L15502: {
  foo_407X = arg0K0;
  if ((1 == foo_407X)) {
    Hentry_tracer8633380_return_value = done_link_406X;
    goto Hentry_tracer863338_return;}
  else {
    new_foo_408X = s48_trace_value(foo_407X);
    next_link_409X = *((long *) ((((char *) (-3 + new_foo_408X))) + 12));
    addr_410X = (((char *) (-3 + new_foo_408X))) + 12;S48_WRITE_BARRIER(new_foo_408X, addr_410X, done_link_406X);
    *((long *) addr_410X) = (long) (done_link_406X);
    if ((3 == (3 & new_foo_408X))) {
      arg0K0 = next_link_409X;
      arg0K1 = (-4 & new_foo_408X);
      goto L15500;}
    else {
      arg0K0 = next_link_409X;
      arg0K1 = new_foo_408X;
      goto L15500;}}}
 Hentry_tracer863338_return:
  switch (Hentry_tracer863338_return_tag) {
  case 0: goto Hentry_tracer863338_return_0;
  default: goto Hentry_tracer863338_return_1;
  }}

}
void s48_set_native_protocolB(long protocol_411X)
{

 {  s48_Snative_protocolS = protocol_411X;
  return;}
}
void s48_set_extension_valueB(long value_412X)
{

 {  s48_Sextension_valueS = value_412X;
  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_413X;
 {  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_endS))) {
    return 0;}
  else {
    if ((31 == (Sos_signal_ring_readyS))) {
      arg0K0 = 0;
      goto L3009;}
    else {
      arg0K0 = (1 + (Sos_signal_ring_readyS));
      goto L3009;}}}
 L3009: {
  v_413X = arg0K0;
  Sos_signal_ring_readyS = v_413X;
  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_414X;
 {  old_base_414X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = (Sexternal_root_stackS);
  return old_base_414X;}
}
char s48_release_gc_roots_baseB(char * old_base_415X)
{
  char * current_base_416X;
 {  current_base_416X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = old_base_415X;
  if (((Sexternal_root_stackS) == current_base_416X)) {
    return 1;}
  else {
    Sexternal_root_stackS = current_base_416X;
    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_417X)
{
  long arg0K0;
  long v_418X;
 {  if ((31 == (Sos_signal_ring_endS))) {
    arg0K0 = 0;
    goto L3953;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_endS));
    goto L3953;}}
 L3953: {
  v_418X = arg0K0;
  Sos_signal_ring_endS = v_418X;
  if (((Sos_signal_ring_startS) == (Sos_signal_ring_endS))) {
    ps_error("OS signal ring too small, report to Scheme 48 maintainers", 0);
    goto L3955;}
  else {
    goto L3955;}}
 L3955: {
  *(Sos_signal_ringS + (Sos_signal_ring_endS)) = sig_417X;
  return;}
}
void s48_push_gc_rootsB(char * frame_419X, long n_420X)
{

 {  *((long *) frame_419X) = (long) (n_420X);
  *((long *) (frame_419X + 4)) = (long) ((((long) (Sexternal_root_stackS))));
  Sexternal_root_stackS = frame_419X;
  return;}
}
char * s48_register_gc_rootB(char * loc_addr_421X)
{
  char * x_423X;
  char * frame_422X;
 {  frame_422X = (char *)malloc(12);
  if ((frame_422X == NULL)) {
    ps_error("out of memory registering a global root", 0);
    goto L4161;}
  else {
    goto L4161;}}
 L4161: {
  *((long *) frame_422X) = (long) ((((long) (Spermanent_external_rootsS))));
  *((long *) (frame_422X + 4)) = (long) ((((long) NULL)));
  x_423X = Spermanent_external_rootsS;
  if ((x_423X == NULL)) {
    goto L4181;}
  else {
    *((long *) ((Spermanent_external_rootsS) + 4)) = (long) ((((long) frame_422X)));
    goto L4181;}}
 L4181: {
  *((long *) (frame_422X + 8)) = (long) ((((long) loc_addr_421X)));
  Spermanent_external_rootsS = frame_422X;
  return frame_422X;}
}
void s48_stack_setB(long x_424X, long value_425X)
{

 {  *((long *) ((SstackS) + (((x_424X)<<2)))) = (long) (value_425X);
  return;}
}
long s48_stack_ref(long i_426X)
{

 {  return (*((long *) ((SstackS) + (((i_426X)<<2)))));}
}
void s48_push(long x_427X)
{

 {  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_427X);
  return;}
}
long s48_resetup_external_exception(long new_why_428X, long additional_nargs_429X)
{
  long old_why_431X;
  long old_nargs_430X;
 {  old_nargs_430X = Sexternal_exception_nargsS;
  old_why_431X = *((long *) ((SstackS) + (((old_nargs_430X)<<2))));
  *((long *) ((SstackS) + (((old_nargs_430X)<<2)))) = (long) ((((new_why_428X)<<2)));
  Sexternal_exception_nargsS = (old_nargs_430X + additional_nargs_429X);
  return old_why_431X;}
}
char s48_pop_gc_rootsB(void)
{

 {  if (((Sexternal_root_stackS) == (Sexternal_root_stack_baseS))) {
    return 0;}
  else {
    Sexternal_root_stackS = (((char *) (*((long *) ((Sexternal_root_stackS) + 4)))));
    return 1;}}
}
void s48_unregister_gc_rootB(char * frame_432X)
{
  char * previous_434X;
  char * next_433X;
 {  if ((frame_432X == (Spermanent_external_rootsS))) {
    Spermanent_external_rootsS = (((char *) (*((long *) frame_432X))));
    goto L7021;}
  else {
    next_433X = ((char *) (*((long *) frame_432X)));
    previous_434X = ((char *) (*((long *) (frame_432X + 4))));
    *((long *) previous_434X) = (long) ((((long) next_433X)));
    if ((next_433X == NULL)) {
      goto L7021;}
    else {
      *((long *) (next_433X + 4)) = (long) ((((long) previous_434X)));
      goto L7021;}}}
 L7021: {
  return;}
}
char * s48_shorten_bignum(char * external_bignum_435X, long number_of_digits_436X)
{
  long waste_size_441X;
  long old_data_size_440X;
  long new_data_size_439X;
  long new_size_438X;
  long bignum_437X;
 {  bignum_437X = 3 + (((long) external_bignum_435X));
  new_size_438X = 4 + (-4 & (7 + (((number_of_digits_436X)<<2))));
  new_data_size_439X = -4 + new_size_438X;
  old_data_size_440X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + bignum_437X))) + -4))))>>8);
  waste_size_441X = old_data_size_440X - new_data_size_439X;
  if ((waste_size_441X < 0)) {
    ps_error("shorten bignum", 2, new_data_size_439X, old_data_size_440X);
    goto L7520;}
  else {
    goto L7520;}}
 L7520: {
  if ((waste_size_441X < 4)) {
    return external_bignum_435X;}
  else {
    *((long *) ((((char *) (-3 + bignum_437X))) + -4)) = (long) ((82 + (((new_data_size_439X)<<8))));
    *((long *) ((((char *) (((long) ((((char *) (-3 + bignum_437X))) + (-4 & (3 + new_size_438X))))))) + -4)) = (long) ((-942 + (((waste_size_441X)<<8))));
    return external_bignum_435X;}}
}
long s48_allocate_bignum(long size_442X)
{
  char * addr_443X;
 {  addr_443X = s48_allocate_small((4 + size_442X));
  *((long *) addr_443X) = (long) ((82 + (((size_442X)<<8))));
  return (3 + (((long) (addr_443X + 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_444X, long os_index_445X)
{
  char * addr_452X;
  long val_451X;
  long v_450X;
  long x_449X;
  long old_index_448X;
  char x_447X;
  char temp_446X;
 {  temp_446X = os_index_445X < (Snumber_of_channelsS);
  if (temp_446X) {
    goto L11723;}
  else {
    x_447X = add_more_channels(os_index_445X);
    if (x_447X) {
      goto L11723;}
    else {
      return 36;}}}
 L11723: {
  if ((1 == (*((Svm_channelsS) + os_index_445X)))) {
    old_index_448X = (((*((long *) ((((char *) (-3 + channel_444X))) + 8))))>>2);
    x_449X = *((long *) ((((char *) (-3 + channel_444X))) + 20));
    if ((5 == x_449X)) {
      v_450X = ps_abort_fd_op(old_index_448X);enqueue_channelB(old_index_448X, v_450X, 1);
      goto L11709;}
    else {
      goto L11709;}}
  else {
    return 44;}}
 L11709: {
  *((Svm_channelsS) + old_index_448X) = 1;
  *((Svm_channelsS) + os_index_445X) = channel_444X;
  val_451X = ((os_index_445X)<<2);
  addr_452X = (((char *) (-3 + channel_444X))) + 8;S48_WRITE_BARRIER(channel_444X, addr_452X, val_451X);
  *((long *) addr_452X) = (long) (val_451X);
  return 5;}
}
long s48_integer_or_floanum_L(long x_453X, long y_454X)
{
  long v_457X;
  long v_456X;
  long v_455X;
 {  if ((3 == (3 & x_453X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_453X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + x_453X))))) < (*((double *) (((char *) (-3 + y_454X))))))) {
        return 5;}
      else {
        return 1;}}
    else {
      goto L14884;}}
  else {
    goto L14884;}}
 L14884: {
  if ((0 == (3 & x_453X))) {
    if ((0 == (3 & y_454X))) {
      if ((x_453X < y_454X)) {
        return 5;}
      else {
        return 1;}}
    else {
      v_455X = s48_bignum_test((((char *) (-3 + y_454X))));
      if ((1 == v_455X)) {
        return 5;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & y_454X))) {
      v_456X = s48_bignum_test((((char *) (-3 + x_453X))));
      if ((1 == v_456X)) {
        return 1;}
      else {
        return 5;}}
    else {
      v_457X = s48_bignum_compare((((char *) (-3 + x_453X))), (((char *) (-3 + y_454X))));
      if ((-1 == v_457X)) {
        return 5;}
      else {
        return 1;}}}}
}
long s48_integer_or_floanum_G(long x_458X, long y_459X)
{
  long v_462X;
  long v_461X;
  long v_460X;
 {  if ((3 == (3 & x_458X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_458X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + y_459X))))) < (*((double *) (((char *) (-3 + x_458X))))))) {
        return 5;}
      else {
        return 1;}}
    else {
      goto L15013;}}
  else {
    goto L15013;}}
 L15013: {
  if ((0 == (3 & y_459X))) {
    if ((0 == (3 & x_458X))) {
      if ((y_459X < x_458X)) {
        return 5;}
      else {
        return 1;}}
    else {
      v_460X = s48_bignum_test((((char *) (-3 + x_458X))));
      if ((1 == v_460X)) {
        return 5;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & x_458X))) {
      v_461X = s48_bignum_test((((char *) (-3 + y_459X))));
      if ((1 == v_461X)) {
        return 1;}
      else {
        return 5;}}
    else {
      v_462X = s48_bignum_compare((((char *) (-3 + y_459X))), (((char *) (-3 + x_458X))));
      if ((-1 == v_462X)) {
        return 5;}
      else {
        return 1;}}}}
}
long s48_integer_or_floanum_LE(long x_463X, long y_464X)
{
  char b_465X;
 {  if ((3 == (3 & x_463X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_463X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + y_464X))))) < (*((double *) (((char *) (-3 + x_463X))))))) {
        return 1;}
      else {
        return 5;}}
    else {
      goto L15142;}}
  else {
    goto L15142;}}
 L15142: {
  b_465X = integerLE(x_463X, y_464X);
  if (b_465X) {
    return 5;}
  else {
    return 1;}}
}
long s48_integer_or_floanum_GE(long x_466X, long y_467X)
{
  char b_468X;
 {  if ((3 == (3 & x_466X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_466X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + x_466X))))) < (*((double *) (((char *) (-3 + y_467X))))))) {
        return 1;}
      else {
        return 5;}}
    else {
      goto L15219;}}
  else {
    goto L15219;}}
 L15219: {
  b_468X = integerGE(x_466X, y_467X);
  if (b_468X) {
    return 5;}
  else {
    return 1;}}
}
long s48_make_blank_return_code(long protocol_469X, long frame_size_470X, long opcode_count_471X)
{

 {s48_make_availableAgc((4 + (-4 & (16 + opcode_count_471X))));
  return make_blank_return_code(protocol_469X, frame_size_470X, opcode_count_471X, 0);}
}
long s48_integer_or_floanum_E(long x_472X, long y_473X)
{
  char arg2K0;
  char v_475X;
  char b_474X;
 {  if ((3 == (3 & x_472X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_472X))) + -4))))>>2))))) {
      arg2K0 = ((*((double *) (((char *) (-3 + x_472X))))) == (*((double *) (((char *) (-3 + y_473X))))));
      goto L17496;}
    else {
      goto L17492;}}
  else {
    goto L17492;}}
 L17496: {
  b_474X = arg2K0;
  if (b_474X) {
    return 5;}
  else {
    return 1;}}
 L17492: {
  v_475X = integerE(x_472X, y_473X);
  arg2K0 = v_475X;
  goto L17496;}
}
void s48_close_channel(long os_index_476X)
{
  long obj_477X;
 {  if ((os_index_476X < 0)) {
    return;}
  else {
    if ((os_index_476X < (Snumber_of_channelsS))) {
      obj_477X = *((Svm_channelsS) + os_index_476X);
      if ((3 == (3 & obj_477X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_477X))) + -4))))>>2))))) {close_channelB((*((Svm_channelsS) + os_index_476X)));
          return;}
        else {
          return;}}
      else {
        return;}}
    else {
      return;}}}
}
void check_stack(void)
{
  char * arg1K0;
  char * arg1K1;
  long arg0K0;
  long v_499X;
  long address_498X;
  long x_497X;
  char * ptr_496X;
  long mask_495X;
  long size_494X;
  char * pointer_493X;
  long address_492X;
  long x_491X;
  char * addr_490X;
  char * trace_ptr_489X;
  char * mask_ptr_488X;
  long v_487X;
  char * mask_pointer_486X;
  long size_485X;
  char * pointer_484X;
  char * contents_pointer_483X;
  long mask_size_482X;
  char * code_pointer_481X;
  char * cont_480X;
  char * v_479X;
  char * v_478X;
 {  v_478X = s48_oldspace_begin();
  Soldspace_beginS = (((long) v_478X));
  v_479X = s48_oldspace_end();
  Soldspace_endS = (((long) v_479X));
  arg1K0 = (ScontS);
  goto L21281;}
 L21281: {
  cont_480X = arg1K0;
  if ((cont_480X == (Sbottom_of_stackS))) {
    return;}
  else {
    code_pointer_481X = ((char *) (*((long *) cont_480X)));
    mask_size_482X = *((unsigned char *) (code_pointer_481X + -3));
    contents_pointer_483X = cont_480X + 4;
    if ((0 == mask_size_482X)) {
      pointer_484X = (((char *) (*((long *) cont_480X)))) + -2;
      size_485X = ((((*((unsigned char *) pointer_484X)))<<8)) + (*((unsigned char *) (pointer_484X + 1)));
      if ((65535 == size_485X)) {
        arg0K0 = ((((*((long *) (cont_480X + 4))))>>2));
        goto L15642;}
      else {
        arg0K0 = size_485X;
        goto L15642;}}
    else {
      mask_pointer_486X = code_pointer_481X + -5;
      arg1K0 = (mask_pointer_486X + (0 - mask_size_482X));
      arg1K1 = contents_pointer_483X;
      goto L5968;}}}
 L15642: {
  v_487X = arg0K0;
  arg1K0 = contents_pointer_483X;
  goto L5909;}
 L5968: {
  mask_ptr_488X = arg1K0;
  trace_ptr_489X = arg1K1;
  if ((mask_ptr_488X == mask_pointer_486X)) {
    goto L18832;}
  else {
    arg0K0 = (*((unsigned char *) mask_ptr_488X));
    arg1K1 = trace_ptr_489X;
    goto L5976;}}
 L5909: {
  addr_490X = arg1K0;
  if ((addr_490X < (cont_480X + (4 + (((v_487X)<<2)))))) {
    x_491X = *((long *) addr_490X);
    if ((2 == (3 & x_491X))) {
      goto L5927;}
    else {
      if ((3 == (3 & x_491X))) {
        address_492X = -3 + x_491X;
        if ((address_492X < (Soldspace_beginS))) {
          goto L5914;}
        else {
          if (((Soldspace_endS) < address_492X)) {
            goto L5914;}
          else {
            goto L5927;}}}
      else {
        goto L5914;}}}
  else {
    goto L18832;}}
 L18832: {
  pointer_493X = (((char *) (*((long *) cont_480X)))) + -2;
  size_494X = ((((*((unsigned char *) pointer_493X)))<<8)) + (*((unsigned char *) (pointer_493X + 1)));
  if ((65535 == size_494X)) {
    arg0K0 = ((((*((long *) (cont_480X + 4))))>>2));
    goto L18837;}
  else {
    arg0K0 = size_494X;
    goto L18837;}}
 L5976: {
  mask_495X = arg0K0;
  ptr_496X = arg1K1;
  if ((0 == mask_495X)) {
    arg1K0 = (mask_ptr_488X + 1);
    arg1K1 = (trace_ptr_489X + 32);
    goto L5968;}
  else {
    if ((1 == (1 & mask_495X))) {
      x_497X = *((long *) ptr_496X);
      if ((2 == (3 & x_497X))) {
        goto L6033;}
      else {
        if ((3 == (3 & x_497X))) {
          address_498X = -3 + x_497X;
          if ((address_498X < (Soldspace_beginS))) {
            goto L5992;}
          else {
            if (((Soldspace_endS) < address_498X)) {
              goto L5992;}
            else {
              goto L6033;}}}
        else {
          goto L5992;}}}
    else {
      goto L5992;}}}
 L5927: {
  ps_error("bad descriptor in stack", 1, x_491X);
  goto L5914;}
 L5914: {
  arg1K0 = (addr_490X + 4);
  goto L5909;}
 L18837: {
  v_499X = arg0K0;
  arg1K0 = (cont_480X + (4 + (((v_499X)<<2))));
  goto L21281;}
 L6033: {
  ps_error("bad descriptor in stack", 1, x_497X);
  goto L5992;}
 L5992: {
  arg0K0 = (((mask_495X)>>1));
  arg1K1 = (ptr_496X + 4);
  goto L5976;}
}
long s48_really_add_channel(long mode_500X, long id_501X, long os_index_502X)
{
  long arg0K1;
  long arg0K0;
  long status_507X;
  long channel_506X;
  long channel_505X;
  char x_504X;
  char temp_503X;
 {s48_make_availableAgc(32);
  temp_503X = os_index_502X < (Snumber_of_channelsS);
  if (temp_503X) {
    goto L21370;}
  else {
    x_504X = add_more_channels(os_index_502X);
    if (x_504X) {
      goto L21370;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L21344;}}}
 L21370: {
  if ((1 == (*((Svm_channelsS) + os_index_502X)))) {
    channel_505X = make_channel((-4 & mode_500X), id_501X, (((os_index_502X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + os_index_502X) = channel_505X;
    arg0K0 = channel_505X;
    arg0K1 = 9;
    goto L21344;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L21344;}}
 L21344: {
  channel_506X = arg0K0;
  status_507X = arg0K1;
  if ((3 == (3 & channel_506X))) {
    if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_506X))) + -4))))>>2))))) {
      return channel_506X;}
    else {
      goto L21352;}}
  else {
    goto L21352;}}
 L21352: {
  return (((status_507X)<<2));}
}
long s48_integer_bit_count(long x_508X)
{

 {  return integer_bit_count(x_508X);}
}
long s48_enter_integer(long x_509X)
{
  char * v_510X;
 {s48_make_availableAgc(16);
  if ((536870911 < x_509X)) {
    goto L21925;}
  else {
    if ((x_509X < -536870912)) {
      goto L21925;}
    else {
      return (((x_509X)<<2));}}}
 L21925: {
  v_510X = (char *) s48_long_to_bignum(x_509X);
  return enter_bignum(v_510X);}
}
long s48_integer_or_floanum_add(long x_511X, long y_512X)
{
  long Kdouble_518X;
  char * addr_517X;
  double y_516X;
  long value_515X;
  double x_514X;
  long value_513X;
 {  if ((3 == (3 & x_511X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_511X))) + -4))))>>2))))) {
      Stemp0S = x_511X;
      Stemp1S = y_512X;s48_make_availableAgc(12);
      value_513X = Stemp0S;
      Stemp0S = 1;
      x_514X = *((double *) (((char *) (-3 + value_513X))));
      value_515X = Stemp1S;
      Stemp1S = 1;
      y_516X = *((double *) (((char *) (-3 + value_515X))));
      addr_517X = s48_allocate_small(12);
      *((long *) addr_517X) = (long) (2126);
      Kdouble_518X = 3 + (((long) (addr_517X + 4)));
      *((double *) (((char *) (-3 + Kdouble_518X)))) = (double) ((x_514X + y_516X));
      return Kdouble_518X;}
    else {
      return integer_add(x_511X, y_512X);}}
  else {
    return integer_add(x_511X, y_512X);}}
}
long s48_integer_or_floanum_sub(long x_519X, long y_520X)
{
  long Kdouble_526X;
  char * addr_525X;
  double y_524X;
  long value_523X;
  double x_522X;
  long value_521X;
 {  if ((3 == (3 & x_519X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_519X))) + -4))))>>2))))) {
      Stemp0S = x_519X;
      Stemp1S = y_520X;s48_make_availableAgc(12);
      value_521X = Stemp0S;
      Stemp0S = 1;
      x_522X = *((double *) (((char *) (-3 + value_521X))));
      value_523X = Stemp1S;
      Stemp1S = 1;
      y_524X = *((double *) (((char *) (-3 + value_523X))));
      addr_525X = s48_allocate_small(12);
      *((long *) addr_525X) = (long) (2126);
      Kdouble_526X = 3 + (((long) (addr_525X + 4)));
      *((double *) (((char *) (-3 + Kdouble_526X)))) = (double) ((x_522X - y_524X));
      return Kdouble_526X;}
    else {
      return integer_subtract(x_519X, y_520X);}}
  else {
    return integer_subtract(x_519X, y_520X);}}
}
long s48_integer_or_floanum_mul(long x_527X, long y_528X)
{
  long Kdouble_534X;
  char * addr_533X;
  double y_532X;
  long value_531X;
  double x_530X;
  long value_529X;
 {  if ((3 == (3 & x_527X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_527X))) + -4))))>>2))))) {
      Stemp0S = x_527X;
      Stemp1S = y_528X;s48_make_availableAgc(12);
      value_529X = Stemp0S;
      Stemp0S = 1;
      x_530X = *((double *) (((char *) (-3 + value_529X))));
      value_531X = Stemp1S;
      Stemp1S = 1;
      y_532X = *((double *) (((char *) (-3 + value_531X))));
      addr_533X = s48_allocate_small(12);
      *((long *) addr_533X) = (long) (2126);
      Kdouble_534X = 3 + (((long) (addr_533X + 4)));
      *((double *) (((char *) (-3 + Kdouble_534X)))) = (double) ((x_530X * y_532X));
      return Kdouble_534X;}
    else {
      return integer_multiply(x_527X, y_528X);}}
  else {
    return integer_multiply(x_527X, y_528X);}}
}
long s48_integer_bitwise_not(long x_535X)
{

 {  return integer_bitwise_not(x_535X);}
}
long s48_integer_bitwise_and(long x_536X, long y_537X)
{

 {  return integer_bitwise_and(x_536X, y_537X);}
}
long s48_integer_bitwise_ior(long x_538X, long y_539X)
{

 {  return integer_bitwise_ior(x_538X, y_539X);}
}
long s48_integer_bitwise_xor(long x_540X, long y_541X)
{

 {  return integer_bitwise_xor(x_540X, y_541X);}
}
void s48_setup_external_exception(long why_542X, long nargs_543X)
{

 {push_exception_setupB(why_542X, 1);
  if ((10 < nargs_543X)) {
    ps_error("too many arguments from external exception", 0);
    goto L22997;}
  else {
    goto L22997;}}
 L22997: {
  Sexternal_exception_nargsS = nargs_543X;
  Sexternal_exceptionPS = 1;
  return;}
}
void s48_copy_stack_into_heap(void)
{
  char * arg1K1;
  char * arg1K0;
  char * arg_547X;
  char * loc_546X;
  char * top_545X;
  long arg_count_544X;
 {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  arg_count_544X = ((((ScontS) - (SstackS)))>>2);
  top_545X = SstackS;
  if ((1 == (((long) (ScontS))))) {
    goto L23081;}
  else {really_preserve_continuation(0);
    goto L23081;}}
 L23081: {
  SstackS = (ScontS);
  arg1K0 = ((SstackS) + -4);
  arg1K1 = (top_545X + (-4 + (((arg_count_544X)<<2))));
  goto L23110;}
 L23110: {
  loc_546X = arg1K0;
  arg_547X = arg1K1;
  if ((arg_547X < top_545X)) {
    SstackS = ((SstackS) + (0 - (((arg_count_544X)<<2))));
    return;}
  else {
    *((long *) loc_546X) = (long) ((*((long *) arg_547X)));
    arg1K0 = (loc_546X + -4);
    arg1K1 = (arg_547X + -4);
    goto L23110;}}
}
long s48_get_imported_binding(char *name_548X)
{
  long value_550X;
  long value_549X;
 {  value_549X = enter_stringAgc(name_548X);
  Stemp0S = value_549X;s48_make_availableAgc(20);
  value_550X = Stemp0S;
  Stemp0S = 1;
  return Hlookup2710((Sexported_bindingsS), value_550X, 0);}
}
void s48_define_exported_binding(char *name_551X, long value_552X)
{
  char * addr_557X;
  long x_556X;
  long value_555X;
  long value_554X;
  long name_553X;
 {  Stemp0S = value_552X;
  name_553X = enter_stringAgc(name_551X);
  Stemp1S = name_553X;s48_make_availableAgc(20);
  value_554X = Stemp1S;
  Stemp1S = 1;
  value_555X = Stemp0S;
  Stemp0S = 1;
  x_556X = Hlookup2691((Simported_bindingsS), value_554X, 0);
  addr_557X = (((char *) (-3 + x_556X))) + 8;S48_WRITE_BARRIER(x_556X, addr_557X, value_555X);
  *((long *) addr_557X) = (long) (value_555X);
  return;}
}
void s48_initialize_vm(char * stack_begin_558X, long stack_size_559X)
{
  char * arg1K0;
  long arg0K1;
  long arg0K0;

  int make_hash_tableAgc_return_tag;
  long make_hash_tableAgc0_return_value;
  char * addr_600X;
  long i_599X;
  long table_598X;
  long vector_597X;
  char * addr_596X;
  char * addr_595X;
  long x_594X;
  long v_593X;
  long vector_592X;
  char * addr_591X;
  long blank_return_code_590X;
  long blank_return_code_589X;
  long blank_return_code_588X;
  long blank_return_code_587X;
  long blank_return_code_586X;
  char * a_585X;
  char * addr_584X;
  long value_583X;
  long size_582X;
  char * start_581X;
  char * addr_580X;
  long val_579X;
  long index_578X;
  long h_577X;
  long i_576X;
  char * stack_575X;
  long n_574X;
  long string_573X;
  long foo_572X;
  long table_571X;
  long i_570X;
  long v_569X;
  long v_568X;
  long exported_bindings_567X;
  long imported_bindings_566X;
  long n_565X;
  long symbols_564X;
  long maybe_563X;
  long maybe_562X;
  long v_561X;
  long symbol_table_560X;
 {  symbol_table_560X = s48_initial_symbols();
  if ((symbol_table_560X == 1)) {
    make_hash_tableAgc_return_tag = 0;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_0:
    v_561X = make_hash_tableAgc0_return_value;
    Sthe_symbol_tableS = v_561X;
    maybe_562X = s48_find_all(1);
    if ((maybe_562X == 1)) {s48_collect();
      maybe_563X = s48_find_all(1);
      if ((maybe_563X == 1)) {
        ps_error("insufficient heap space to build symbol table", 0);
        arg0K0 = maybe_563X;
        goto L23161;}
      else {
        arg0K0 = maybe_563X;
        goto L23161;}}
    else {
      arg0K0 = maybe_562X;
      goto L23161;}}
  else {
    Sthe_symbol_tableS = symbol_table_560X;
    goto L23815;}}
 L23161: {
  symbols_564X = arg0K0;
  n_565X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_564X))) + -4))))>>8))))>>2);
  arg0K0 = 0;
  goto L23182;}
 L23815: {
  imported_bindings_566X = s48_initial_imported_bindings();
  exported_bindings_567X = s48_initial_exported_bindings();
  if ((1 == imported_bindings_566X)) {
    make_hash_tableAgc_return_tag = 1;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_1:
    v_568X = make_hash_tableAgc0_return_value;
    Simported_bindingsS = v_568X;
    make_hash_tableAgc_return_tag = 2;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_2:
    v_569X = make_hash_tableAgc0_return_value;
    Sexported_bindingsS = v_569X;
    goto L23821;}
  else {
    Simported_bindingsS = imported_bindings_566X;
    Sexported_bindingsS = exported_bindings_567X;
    goto L23821;}}
 L23182: {
  i_570X = arg0K0;
  if ((i_570X == n_565X)) {
    goto L23815;}
  else {
    table_571X = Sthe_symbol_tableS;
    foo_572X = *((long *) ((((char *) (-3 + symbols_564X))) + (((i_570X)<<2))));
    string_573X = *((long *) (((char *) (-3 + foo_572X))));
    n_574X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_573X))) + -4))))>>8));
    arg0K0 = 0;
    arg0K1 = 0;
    goto L22497;}}
 L23821: {
  if ((stack_size_559X < 8128)) {
    stack_575X = (char *)malloc(32512);
    if ((stack_575X == NULL)) {
      ps_error("out of memory, unable to continue", 0);
      arg1K0 = stack_575X;
      arg0K1 = 8128;
      goto L19579;}
    else {
      arg1K0 = stack_575X;
      arg0K1 = 8128;
      goto L19579;}}
  else {
    arg1K0 = stack_begin_558X;
    arg0K1 = stack_size_559X;
    goto L19579;}}
 L22497: {
  i_576X = arg0K0;
  h_577X = arg0K1;
  if ((i_576X < n_574X)) {
    arg0K0 = (1 + i_576X);
    arg0K1 = (h_577X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_573X))) + i_576X))))))));
    goto L22497;}
  else {
    index_578X = 1023 & h_577X;
    val_579X = *((long *) ((((char *) (-3 + table_571X))) + (((index_578X)<<2))));
    addr_580X = (((char *) (-3 + foo_572X))) + 4;S48_WRITE_BARRIER(foo_572X, addr_580X, val_579X);
    *((long *) addr_580X) = (long) (val_579X);
    if ((3 == (3 & foo_572X))) {
      arg0K0 = (-4 & foo_572X);
      goto L22483;}
    else {
      arg0K0 = foo_572X;
      goto L22483;}}}
 L19579: {
  start_581X = arg1K0;
  size_582X = arg0K1;
  Sstack_beginS = start_581X;
  Sstack_endS = (start_581X + (((size_582X)<<2)));
  Sreal_stack_limitS = ((Sstack_beginS) + 512);
  s48_Sstack_limitS = (Sreal_stack_limitS);
  SstackS = (Sstack_endS);
  ScontS = (((char *) 1));
  arg1K0 = start_581X;
  goto L19609;}
 L22483: {
  value_583X = arg0K0;
  addr_584X = (((char *) (-3 + table_571X))) + (((index_578X)<<2));S48_WRITE_BARRIER(table_571X, addr_584X, value_583X);
  *((long *) addr_584X) = (long) (value_583X);
  arg0K0 = (1 + i_570X);
  goto L23182;}
 L19609: {
  a_585X = arg1K0;
  if ((a_585X == (Sstack_endS))) {s48_make_availableAgc(20);
    blank_return_code_586X = make_blank_return_code(71, 0, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_586X))) + 13)) = (unsigned char) (0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    ScontS = (SstackS);
    *((long *) (ScontS)) = (long) ((((long) ((((char *) (-3 + blank_return_code_586X))) + 11))));
    Sbottom_of_stackS = (ScontS);
    Sheap_continuationS = 1;s48_make_availableAgc(80);
    blank_return_code_587X = make_blank_return_code(66, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_587X))) + 13)) = (unsigned char) (154);
    Sinterrupt_return_codeS = blank_return_code_587X;
    blank_return_code_588X = make_blank_return_code(1, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_588X))) + 13)) = (unsigned char) (150);
    Sexception_return_codeS = blank_return_code_588X;
    blank_return_code_589X = make_blank_return_code(1, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_589X))) + 13)) = (unsigned char) (151);
    Snative_exception_return_codeS = blank_return_code_589X;
    blank_return_code_590X = make_blank_return_code(70, 1, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_590X))) + 13)) = (unsigned char) (0);
    Scall_with_values_return_codeS = blank_return_code_590X;s48_make_availableAgc(32);s48_bignum_make_cached_constants();
    addr_591X = s48_allocate_tracedAgc(8);
    if ((addr_591X == NULL)) {
      arg0K0 = 1;
      goto L23896;}
    else {
      *((long *) addr_591X) = (long) (1034);
      arg0K0 = (3 + (((long) (addr_591X + 4))));
      goto L23896;}}
  else {
    *((long *) a_585X) = (long) (252645135);
    arg1K0 = (a_585X + 4);
    goto L19609;}}
 L23896: {
  vector_592X = arg0K0;
  if ((1 == vector_592X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_592X;
    goto L23883;}
  else {
    arg0K0 = vector_592X;
    goto L23883;}}
 L23883: {
  v_593X = arg0K0;
  Sempty_logS = v_593X;
  x_594X = Sempty_logS;
  addr_595X = ((char *) (-3 + x_594X));S48_WRITE_BARRIER(x_594X, addr_595X, 1);
  *((long *) addr_595X) = (long) (1);
  return;}
 make_hash_tableAgc: {
{ addr_596X = s48_allocate_tracedAgc(4100);
  if ((addr_596X == NULL)) {
    arg0K0 = 1;
    goto L10206;}
  else {
    *((long *) addr_596X) = (long) (1048586);
    arg0K0 = (3 + (((long) (addr_596X + 4))));
    goto L10206;}}
 L10206: {
  vector_597X = arg0K0;
  if ((1 == vector_597X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_597X;
    goto L10194;}
  else {
    arg0K0 = vector_597X;
    goto L10194;}}
 L10194: {
  table_598X = arg0K0;
  arg0K0 = 0;
  goto L10229;}
 L10229: {
  i_599X = arg0K0;
  if ((1024 == i_599X)) {
    make_hash_tableAgc0_return_value = table_598X;
    goto make_hash_tableAgc_return;}
  else {
    addr_600X = (((char *) (-3 + table_598X))) + (((i_599X)<<2));S48_WRITE_BARRIER(table_598X, addr_600X, 1);
    *((long *) addr_600X) = (long) (1);
    arg0K0 = (1 + i_599X);
    goto L10229;}}
 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_601X, long nargs_602X)
{
  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_603X;
  long status_604X;
  long cont_605X;
  long stack_arg_count_606X;
  long list_607X;
  long marker_608X;
  long a_609X;
  long b_610X;
  long stob_611X;
  long index_612X;
  long stob_613X;
  long index_614X;
  long value_615X;
  long x_616X;
  long n_617X;
  long thing_618X;
  long index_619X;
  long count_620X;
  long list_621X;
  long length_622X;
  long start_623X;
  long count_624X;
  long need_625X;
  long list_626X;
  long count_627X;
  long wants_stack_args_628X;
  long stack_arg_count_629X;
  long list_args_630X;
  long list_arg_count_631X;
  char * start_632X;
  long count_633X;
  long code_vector_634X;
  long template_635X;
  char not_firstP_636X;
  FILE * out_637X;
  char *message_638X;
  char * arg_1977X;
  char * loc_1976X;
  char * top_of_args_1975X;
  long code_1974X;
  long n_1973X;
  char * addr_1972X;
  long x_1971X;
  long x_1970X;
  long i_1969X;
  long string_1968X;
  char * addr_1967X;
  long len_1966X;
  long len_1965X;
  long x_1964X;
  char *string_1963X;
  char * new_stack_1962X;
  char * new_cont_1961X;
  long stack_size_1960X;
  char move_slowP_1959X;
  long slow_1958X;
  long len_1957X;
  long fast_1956X;
  char *v_1955X;
  long v_1954X;
  long obj_1953X;
  long env_1952X;
  long thread_1951X;
  long x_1950X;
  char * addr_1949X;
  long interrupt_bit_1948X;
  long status_1947X;
  long channel_1946X;
  long type_1945X;
  long v_1944X;
  long next_stob_1943X;
  long i_1942X;
  long log_1941X;
  char * addr_1940X;
  long next_stob_1939X;
  long i_1938X;
  long log_1937X;
  long v_1936X;
  long v_1935X;
  long n_1934X;
  long extra_1933X;
  long x_size_1932X;
  long v_1931X;
  long v_1930X;
  long size_1929X;
  char * pointer_1928X;
  char * cont_1927X;
  char * addr_1926X;
  long x_1925X;
  char * addr_1924X;
  long a_1923X;
  long last_1922X;
  long l_1921X;
  long x_1920X;
  char * addr_1919X;
  long a_1918X;
  long value_1917X;
  long x_1916X;
  char * addr_1915X;
  long a_1914X;
  long count_1913X;
  long args_1912X;
  long value_1911X;
  char interruptP_1910X;
  long x_1909X;
  long l_1908X;
  long i_1907X;
  long list_1906X;
  char v_1905X;
  long x_1904X;
  long v_1903X;
  long x_1902X;
  long v_1901X;
  long count_1900X;
  long x_1899X;
  long next_1898X;
  long i_1897X;
  long obj_1896X;
  long obj_1895X;
  long name_1894X;
  long v_1893X;
  long why_1892X;
  long size_1891X;
  char * pointer_1890X;
  char v_1889X;
  long v_1888X;
  long v_1887X;
  char v_1886X;
  long v_1885X;
  char not_firstP_1884X;
  long cont_1883X;
  long size_1882X;
  char * pointer_1881X;
  long v_1880X;
  char * pointer_1879X;
  char * code_pointer_1878X;
  long cont_1877X;
  char not_firstP_1876X;
  char * cont_1875X;
  char not_firstP_1874X;
  long template_1873X;
  FILE * out_1872X;
  long current_code_1871X;
  long v_1870X;
  long n_1869X;
  char v_1868X;
  long v_1867X;
  long v_1866X;
  long n_1865X;
  char v_1864X;
  long v_1863X;
  long y_1862X;
  long x_1861X;
  long rem_1860X;
  long quot_1859X;
  char div_by_zeroP_1858X;
  long v_1857X;
  long n_1856X;
  char v_1855X;
  long v_1854X;
  long v_1853X;
  long n_1852X;
  char v_1851X;
  long v_1850X;
  long link_1849X;
  long v_1848X;
  long v_1847X;
  long stob_1846X;
  long v_1845X;
  long stob_1844X;
  char * addr_1843X;
  long x_1842X;
  char * addr_1841X;
  char * addr_1840X;
  long value_1839X;
  char * addr_1838X;
  long value_1837X;
  long copies_1836X;
  long val_1835X;
  long v_1834X;
  long n_1833X;
  char v_1832X;
  long v_1831X;
  long n_1830X;
  char v_1829X;
  char * rem_1828X;
  char * quot_1827X;
  char div_by_zeroP_1826X;
  char * y_1825X;
  char * addr_1824X;
  long val_1823X;
  char * addr_1822X;
  long value_1821X;
  long len_1820X;
  long s2_1819X;
  long foo_1818X;
  long previous_foo_1817X;
  long verify_1816X;
  long value_1815X;
  long copies_1814X;
  long stob_1813X;
  long i_1812X;
  long val_1811X;
  char * addr_1810X;
  long value_1809X;
  long val_1808X;
  long val_1807X;
  long n_1806X;
  char v_1805X;
  char * external_bignum_1804X;
  char * y_1803X;
  long val_1802X;
  long n_1801X;
  char v_1800X;
  char * external_bignum_1799X;
  char * y_1798X;
  char * v_1797X;
  long value_1796X;
  char * x_1795X;
  long val_1794X;
  long v_1793X;
  char * v_1792X;
  long bucket_1791X;
  char * addr_1790X;
  long verify_1789X;
  long value_1788X;
  long log_1787X;
  long stob_1786X;
  long i_1785X;
  long x_1784X;
  long x_1783X;
  char * addr_1782X;
  char * addr_1781X;
  long status_1780X;
  char pendingP_1779X;
  char eofP_1778X;
  long got_1777X;
  long y_1776X;
  long status_1775X;
  long v_1774X;
  long link_1773X;
  long val_1772X;
  long x_1771X;
  char * addr_1770X;
  long b_1769X;
  long val_1768X;
  long val_1767X;
  long n_1766X;
  char v_1765X;
  char * external_bignum_1764X;
  char * v_1763X;
  long value_1762X;
  char * x_1761X;
  char * v_1760X;
  long value_1759X;
  char * x_1758X;
  char * v_1757X;
  long value_1756X;
  long extra1_1755X;
  long val_1754X;
  long v_1753X;
  char * v_1752X;
  long val_1751X;
  long v_1750X;
  char * v_1749X;
  long x_1748X;
  long val_1747X;
  long v_1746X;
  char * v_1745X;
  char * addr_1744X;
  long value_1743X;
  long offset_1742X;
  long i_1741X;
  long count_1740X;
  char * addr_1739X;
  long value_1738X;
  long offset_1737X;
  long i_1736X;
  long count_1735X;
  long n_1734X;
  char *v_1733X;
  long link_1732X;
  long index_1731X;
  long h_1730X;
  long i_1729X;
  char * addr_1728X;
  char * addr_1727X;
  long value_1726X;
  char * addr_1725X;
  char * addr_1724X;
  char * addr_1723X;
  long value_1722X;
  char * addr_1721X;
  char * addr_1720X;
  long value_1719X;
  long proposal_1718X;
  long entry_1717X;
  long thing_1716X;
  long log_1715X;
  long copies_1714X;
  char * addr_1713X;
  long x_1712X;
  long val_1711X;
  long v_1710X;
  long reason_1709X;
  long channel_1708X;
  long channel_1707X;
  long len_1706X;
  long s2_1705X;
  long foo_1704X;
  long val_1703X;
  long v_1702X;
  long n_1701X;
  char v_1700X;
  char * external_bignum_1699X;
  char * x_1698X;
  char * v_1697X;
  long v_1696X;
  char * x_1695X;
  long val_1694X;
  long v_1693X;
  char * v_1692X;
  long n_1691X;
  char * v_1690X;
  long value_1689X;
  long extra1_1688X;
  char * v_1687X;
  long value_1686X;
  long extra1_1685X;
  long val_1684X;
  long val_1683X;
  long val_1682X;
  long val_1681X;
  long val_1680X;
  long extra0_1679X;
  long length0_1678X;
  long val_1677X;
  long v_1676X;
  char * v_1675X;
  long x_1674X;
  long val_1673X;
  long v_1672X;
  char * v_1671X;
  long val_1670X;
  long val_1669X;
  long val_1668X;
  long x_1667X;
  long bytes_used_1666X;
  long count_1665X;
  long index_1664X;
  long env_1663X;
  long offset_1662X;
  long i_1661X;
  long bytes_used_1660X;
  long count_1659X;
  long env_1658X;
  long offset_1657X;
  long i_1656X;
  long v_1655X;
  long n_1654X;
  long x_1653X;
  long x_1652X;
  long obj_1651X;
  long i_1650X;
  long l_1649X;
  long n_1648X;
  long table_1647X;
  long val_1646X;
  char x_1645X;
  char minutesP_1644X;
  long vector_1643X;
  char * addr_1642X;
  long x_1641X;
  long verify_1640X;
  long value_1639X;
  long copies_1638X;
  long stob_1637X;
  long i_1636X;
  char * addr_1635X;
  long v_1634X;
  char * addr_1633X;
  char * addr_1632X;
  long val_1631X;
  long x_1630X;
  char * addr_1629X;
  char * addr_1628X;
  long status_1627X;
  char pendingP_1626X;
  long got_1625X;
  long y_1624X;
  char v_1623X;
  long count_1622X;
  long start_1621X;
  char waitP_1620X;
  long status_1619X;
  long channel_1618X;
  long v_1617X;
  long v_1616X;
  char x_1615X;
  char temp_1614X;
  long index_1613X;
  long bucket_1612X;
  long i_1611X;
  long i_1610X;
  char * addr_1609X;
  long i_1608X;
  long rest_list_1607X;
  long i_1606X;
  long v_1605X;
  long n_1604X;
  char v_1603X;
  char * external_bignum_1602X;
  char * x_1601X;
  long val_1600X;
  long v_1599X;
  char * v_1598X;
  char * v_1597X;
  long value_1596X;
  long needed_1595X;
  long y_1594X;
  long y_1593X;
  long x_1592X;
  long val_1591X;
  long v_1590X;
  char * v_1589X;
  long val_1588X;
  long v_1587X;
  char * v_1586X;
  long val_1585X;
  long val_1584X;
  long val_1583X;
  long count_1582X;
  long x_1581X;
  char * v_1580X;
  long value_1579X;
  long extra_1578X;
  long length_1577X;
  long x_1576X;
  long c_1575X;
  long b_1574X;
  long extra0_1573X;
  long length0_1572X;
  long c_1571X;
  long b_1570X;
  long extra0_1569X;
  long length0_1568X;
  long val_1567X;
  char b_1566X;
  long val_1565X;
  char b_1564X;
  long val_1563X;
  long v_1562X;
  long v_1561X;
  long v_1560X;
  long val_1559X;
  long v_1558X;
  long v_1557X;
  long v_1556X;
  long val_1555X;
  char b_1554X;
  long result_1553X;
  char x_1552X;
  long c_1551X;
  long b_1550X;
  long val_1549X;
  long val_1548X;
  long val_1547X;
  long c_1546X;
  long mid_c_1545X;
  long v_1544X;
  long v_1543X;
  long lo_c_1542X;
  long hi_b_1541X;
  long hi_a_1540X;
  long lo_b_1539X;
  long lo_a_1538X;
  long b_1537X;
  long val_1536X;
  long x_1535X;
  long v_1534X;
  long cont_1533X;
  char * addr_1532X;
  long value_1531X;
  long offset_1530X;
  long i_1529X;
  long count_1528X;
  char * addr_1527X;
  long value_1526X;
  long offset_1525X;
  long i_1524X;
  long count_1523X;
  long sig_1522X;
  char x_1521X;
  long channel_1520X;
  long arg_count_1519X;
  char * arg_1518X;
  char * loc_1517X;
  long x_1516X;
  long l_1515X;
  long stack_nargs_1514X;
  long x_1513X;
  long v_1512X;
  long v_1511X;
  long v_1510X;
  long v_1509X;
  long obj_1508X;
  long type_1507X;
  long thing_1506X;
  long stuff_1505X;
  char * addr_1504X;
  long val_1503X;
  long i_1502X;
  long b_1501X;
  long port_1500X;
  long Kchar_1499X;
  long i_1498X;
  long p_1497X;
  long p_1496X;
  long b_1495X;
  long port_1494X;
  char * addr_1493X;
  long val_1492X;
  long i_1491X;
  long p_1490X;
  long p_1489X;
  long b_1488X;
  long port_1487X;
  char * addr_1486X;
  long value_1485X;
  long list_1484X;
  long head_1483X;
  char move_slowP_1482X;
  long slow_1481X;
  long list_1480X;
  long string_1479X;
  char * addr_1478X;
  long len_1477X;
  long x_1476X;
  long val_1475X;
  long mseconds_1474X;
  long seconds_1473X;
  long option_1472X;
  long vector_1471X;
  char firstP_1470X;
  long x_1469X;
  long x_1468X;
  long v_1467X;
  long v_1466X;
  long x_1465X;
  long result_1464X;
  char * args_1463X;
  long proc_1462X;
  long name_1461X;
  long rest_list_1460X;
  long x_1459X;
  long x_1458X;
  long v_1457X;
  long code_1456X;
  long pc_1455X;
  char * addr_1454X;
  long x_1453X;
  long proposal_1452X;
  long x_1451X;
  long x_1450X;
  long value_1449X;
  long vector_1448X;
  long type_1447X;
  char firstP_1446X;
  long vector_1445X;
  char firstP_1444X;
  long x_1443X;
  long h_1442X;
  long i_1441X;
  long x_1440X;
  long x_1439X;
  long status_1438X;
  long reason_1437X;
  long x_1436X;
  char * addr_1435X;
  long next_stob_1434X;
  long i_1433X;
  long x_1432X;
  long v_1431X;
  long next_stob_1430X;
  long i_1429X;
  long value_1428X;
  char * addr_1427X;
  long count_1426X;
  long to_index_1425X;
  long from_index_1424X;
  long copies_1423X;
  long left_1422X;
  long value_1421X;
  long verify_1420X;
  long value_1419X;
  long log_1418X;
  long stob_1417X;
  long i_1416X;
  char * addr_1415X;
  long old_1414X;
  long x_1413X;
  char * addr_1412X;
  long channel_1411X;
  long res_1410X;
  long i_1409X;
  long x_1408X;
  long y_1407X;
  long n_1406X;
  char * addr_1405X;
  long prev_1404X;
  long ch_1403X;
  long x_1402X;
  long val_1401X;
  long x_1400X;
  long val_1399X;
  long x_1398X;
  long x_1397X;
  long x_1396X;
  long v_1395X;
  long v_1394X;
  long val_1393X;
  long x_1392X;
  char * addr_1391X;
  char * addr_1390X;
  long x_1389X;
  long val_1388X;
  long x_1387X;
  long link_1386X;
  long index_1385X;
  long h_1384X;
  long i_1383X;
  long x_1382X;
  long x_1381X;
  long x_1380X;
  long x_1379X;
  long vector_1378X;
  long x_1377X;
  long x_1376X;
  long x_1375X;
  long vector_1374X;
  char * addr_1373X;
  long value_1372X;
  long value_1371X;
  long x_1370X;
  char * addr_1369X;
  long value_1368X;
  long i_1367X;
  long value_1366X;
  long i_1365X;
  long value_1364X;
  long val_1363X;
  long x_1362X;
  long val_1361X;
  long x_1360X;
  long val_1359X;
  long val_1358X;
  char * v_1357X;
  long value_1356X;
  long needed_1355X;
  long y_1354X;
  long x_1353X;
  long result_1352X;
  long x_1351X;
  long x_1350X;
  long x_1349X;
  long count_1348X;
  long value_1347X;
  long val_1346X;
  long val_1345X;
  long val_1344X;
  long x_1343X;
  long val_1342X;
  long x_1341X;
  long n_1340X;
  long x_1339X;
  long x_1338X;
  long v_1337X;
  long x_1336X;
  long n_1335X;
  long a_1334X;
  long y_1333X;
  long x_1332X;
  long a_1331X;
  long y_1330X;
  long x_1329X;
  long val_1328X;
  long val_1327X;
  char b_1326X;
  long val_1325X;
  char b_1324X;
  long val_1323X;
  char b_1322X;
  long val_1321X;
  long Kdouble_1320X;
  char * addr_1319X;
  double value_1318X;
  long value_1317X;
  double x_1316X;
  long value_1315X;
  long a_1314X;
  long Kdouble_1313X;
  char * addr_1312X;
  double y_1311X;
  long value_1310X;
  double x_1309X;
  long value_1308X;
  long val_1307X;
  long v_1306X;
  char * v_1305X;
  long Kdouble_1304X;
  char * addr_1303X;
  double y_1302X;
  long value_1301X;
  double x_1300X;
  long value_1299X;
  long a_1298X;
  long Kdouble_1297X;
  char * addr_1296X;
  double y_1295X;
  long value_1294X;
  double x_1293X;
  long value_1292X;
  long val_1291X;
  long v_1290X;
  char * v_1289X;
  long n_1288X;
  long val_1287X;
  long val_1286X;
  long delta_1285X;
  long delta_1284X;
  long offset_1283X;
  long index_1282X;
  long v_1281X;
  long args_1280X;
  long x_1279X;
  long args_1278X;
  long x_1277X;
  long x_1276X;
  long x_1275X;
  char * addr_1274X;
  long a_1273X;
  long wants_stack_args_1272X;
  long size_1271X;
  char * pointer_1270X;
  char * cont_1269X;
  long proc_1268X;
  long offset_1267X;
  long cont_1266X;
  long protocol_1265X;
  char * code_pointer_1264X;
  long obj_1263X;
  char * addr_1262X;
  long list_args_1261X;
  long follower_1260X;
  long list_1259X;
  long x_1258X;
  long args_1257X;
  long list_arg_count_1256X;
  char okayP_1255X;
  long stack_nargs_1254X;
  long list_args_1253X;
  long obj_1252X;
  long v_1251X;
  long protocol_1250X;
  long code_1249X;
  long template_1248X;
  long obj_1247X;
  long stack_arg_count_1246X;
  long value_1245X;
  long index_1244X;
  long value_1243X;
  long index_1242X;
  long value_1241X;
  long move_1240X;
  long index_1239X;
  long value_1238X;
  long move_1237X;
  long n_1236X;
  char * addr_1235X;
  long value_1234X;
  long offset_1233X;
  long i_1232X;
  long count_1231X;
  long total_count_1230X;
  long offset_1229X;
  long i_1228X;
  long new_env_1227X;
  char * addr_1226X;
  long value_1225X;
  long offset_1224X;
  long i_1223X;
  long count_1222X;
  long total_count_1221X;
  long offset_1220X;
  long i_1219X;
  long new_env_1218X;
  long n_1217X;
  char v_1216X;
  char * addr_1215X;
  long next_1214X;
  long channel_1213X;
  long n_1212X;
  long x_1211X;
  long n_1210X;
  long x_1209X;
  long handlers_1208X;
  long m_1207X;
  long i_1206X;
  long args_1205X;
  char * arg_top_1204X;
  long list_arg_count_1203X;
  long list_args_1202X;
  long stack_nargs_1201X;
  long bytes_used_1200X;
  long count_1199X;
  long v_1198X;
  char * arg_1197X;
  char * loc_1196X;
  long obj_1195X;
  long obj_1194X;
  long list_arg_count_1193X;
  long list_args_1192X;
  long stack_arg_count_1191X;
  long v_1190X;
  long v_1189X;
  long size_1188X;
  char * pointer_1187X;
  char * cont_1186X;
  long protocol_skip_1185X;
  long v_1184X;
  long bytes_used_1183X;
  long args_1182X;
  long list_args_1181X;
  long stack_nargs_1180X;
  long v_1179X;
  long v_1178X;
  long code_1177X;
  long n_1176X;
  char * addr_1175X;
  long x_1174X;
  long x_1173X;
  long pc_1172X;
  long code_1171X;
  long x_1170X;
  FILE * out_1169X;
  long x_1168X;
  long x_1167X;
  long val_1166X;
  long v_1165X;
  long v_1164X;
  long v_1163X;
  long v_1162X;
  long v_1161X;
  long v_1160X;
  long v_1159X;
  long x_1158X;
  long v_1157X;
  long len_1156X;
  long value_1155X;
  long index_1154X;
  long arg4_1153X;
  long arg3_1152X;
  long arg2_1151X;
  long x_1150X;
  long v_1149X;
  long v_1148X;
  long len_1147X;
  long index_1146X;
  long arg3_1145X;
  long arg2_1144X;
  long list_1143X;
  long arg2_1142X;
  long x_1141X;
  long n_1140X;
  long arg2_1139X;
  long len_1138X;
  long x_1137X;
  long obj_1136X;
  long arg2_1135X;
  long x_1134X;
  long arg2_1133X;
  long x_1132X;
  long status_1131X;
  long value_1130X;
  long key_1129X;
  long arg2_1128X;
  long x_1127X;
  long mseconds_1126X;
  long seconds_1125X;
  long mseconds_1124X;
  long seconds_1123X;
  long x_1122X;
  long other_1121X;
  long option_1120X;
  long arg2_1119X;
  long x_1118X;
  long arg2_1117X;
  long x_1116X;
  long arg2_1115X;
  long x_1114X;
  long rest_list_1113X;
  long p_1112X;
  long nargs_1111X;
  long p_1110X;
  long x_1109X;
  long arg2_1108X;
  long x_1107X;
  long p_1106X;
  long p_1105X;
  long x_1104X;
  long p_1103X;
  long old_1102X;
  long temp_1101X;
  long obj_1100X;
  long opcode_1099X;
  long exception_1098X;
  long code_1097X;
  long data_1096X;
  long opcode_1095X;
  long pc_1094X;
  long size_1093X;
  long exception_1092X;
  long code_1091X;
  long data_1090X;
  long temp_1089X;
  long obj_1088X;
  long val_1087X;
  long x_1086X;
  long x_1085X;
  long type_1084X;
  long x_1083X;
  long x_1082X;
  long bytes_1081X;
  long x_1080X;
  long other_1079X;
  long key_1078X;
  long arg2_1077X;
  long x_1076X;
  char * addr_1075X;
  long b_1074X;
  long x_1073X;
  char * addr_1072X;
  long proc_1071X;
  long arg2_1070X;
  long n_1069X;
  long x_1068X;
  long obj_1067X;
  long status_1066X;
  long status_1065X;
  long status_1064X;
  long status_1063X;
  long status_1062X;
  long status_1061X;
  FILE * port_1060X;
  long undumpables_1059X;
  long obj_1058X;
  long arg4_1057X;
  long arg3_1056X;
  long arg2_1055X;
  long x_1054X;
  long log_1053X;
  long index_1052X;
  long x_1051X;
  long len_1050X;
  long byte_1049X;
  long index_1048X;
  long arg3_1047X;
  long arg2_1046X;
  long log_1045X;
  long index_1044X;
  long x_1043X;
  long len_1042X;
  long index_1041X;
  long arg2_1040X;
  long x_1039X;
  char v_1038X;
  char v_1037X;
  long v_1036X;
  long count_1035X;
  long to_index_1034X;
  long from_index_1033X;
  long arg5_1032X;
  long arg4_1031X;
  long arg3_1030X;
  long arg2_1029X;
  long v_1028X;
  long x_1027X;
  long offset_1026X;
  long type_1025X;
  long stob_1024X;
  long log_1023X;
  long proposal_1022X;
  long proposal_1021X;
  char * addr_1020X;
  long next_1019X;
  long channel_1018X;
  long n_1017X;
  char * addr_1016X;
  long head_1015X;
  long channel_1014X;
  long obj_1013X;
  long x_1012X;
  long status_1011X;
  char readyP_1010X;
  long channel_1009X;
  long obj_1008X;
  char v_1007X;
  long count_1006X;
  long start_1005X;
  long arg4_1004X;
  long arg3_1003X;
  long arg2_1002X;
  long x_1001X;
  long arg5_1000X;
  long arg4_999X;
  long arg3_998X;
  long arg2_997X;
  long x_996X;
  long status_995X;
  long channel_994X;
  long obj_993X;
  long x_992X;
  long close_silentlyP_991X;
  long mode_990X;
  long arg3_989X;
  long arg2_988X;
  long x_987X;
  long x_986X;
  long x_985X;
  long arg2_984X;
  long descriptor_983X;
  long x_982X;
  long obj_981X;
  long n_980X;
  long string_979X;
  long table_978X;
  long obj_977X;
  long len_976X;
  char Kchar_975X;
  long index_974X;
  long arg3_973X;
  long arg2_972X;
  long len_971X;
  long index_970X;
  long arg2_969X;
  long obj_968X;
  char * addr_967X;
  long len_966X;
  char init_965X;
  long len_964X;
  long arg2_963X;
  long len_962X;
  long Kchar_961X;
  long index_960X;
  long arg3_959X;
  long arg2_958X;
  long len_957X;
  long index_956X;
  long arg2_955X;
  long obj_954X;
  long x_953X;
  char * addr_952X;
  long init_951X;
  long len_950X;
  long arg2_949X;
  long v_948X;
  long index_947X;
  long len_946X;
  long type_945X;
  long value_944X;
  long arg3_943X;
  long arg2_942X;
  long v_941X;
  long v_940X;
  long index_939X;
  long len_938X;
  long type_937X;
  long index_936X;
  long arg2_935X;
  char * addr_934X;
  long len_933X;
  long len_932X;
  long type_931X;
  long init_930X;
  long arg2_929X;
  long v_928X;
  long offset_927X;
  long type_926X;
  long value_925X;
  long arg2_924X;
  long offset_923X;
  long type_922X;
  long stob_921X;
  long rest_list_920X;
  long stack_nargs_919X;
  long p_918X;
  long new_917X;
  char * addr_916X;
  long len_915X;
  long type_914X;
  long len_913X;
  long p_912X;
  long new_911X;
  char * addr_910X;
  long len_909X;
  long type_908X;
  long len_907X;
  long type_906X;
  long stob_905X;
  long type_904X;
  long x_903X;
  long x_902X;
  long x_901X;
  long x_900X;
  long x_899X;
  long x_898X;
  long arg2_897X;
  long x_896X;
  long arg2_895X;
  long x_894X;
  long v_893X;
  long v_892X;
  long y_891X;
  long arg2_890X;
  long y_889X;
  long arg2_888X;
  long y_887X;
  long arg2_886X;
  long y_885X;
  long arg2_884X;
  long x_883X;
  long x_882X;
  long x_881X;
  long x_880X;
  long arg2_879X;
  long x_878X;
  long arg2_877X;
  long x_876X;
  long arg2_875X;
  long x_874X;
  long x_873X;
  long x_872X;
  long x_871X;
  long x_870X;
  long x_869X;
  long x_868X;
  long x_867X;
  long x_866X;
  long x_865X;
  long x_864X;
  long n_863X;
  long n_862X;
  long n_861X;
  long n_860X;
  long n_859X;
  long a_858X;
  long y_857X;
  long arg2_856X;
  long b_855X;
  long a_854X;
  long y_853X;
  long arg2_852X;
  long y_851X;
  long arg2_850X;
  long y_849X;
  long arg2_848X;
  long y_847X;
  long arg2_846X;
  long y_845X;
  long arg2_844X;
  long y_843X;
  long arg2_842X;
  long b_841X;
  long a_840X;
  long y_839X;
  long arg2_838X;
  long x_837X;
  long y_836X;
  long arg2_835X;
  long b_834X;
  long a_833X;
  long y_832X;
  long arg2_831X;
  long x_830X;
  long y_829X;
  long arg2_828X;
  long x_827X;
  long x_826X;
  long n_825X;
  long n_824X;
  long x_823X;
  long x_822X;
  long arg2_821X;
  long rest_list_820X;
  long x_819X;
  long rest_list_818X;
  long stack_nargs_817X;
  long arg1_816X;
  long arg0_815X;
  long arg0_814X;
  long rest_list_813X;
  long stack_nargs_812X;
  long x_811X;
  long index_810X;
  long val_809X;
  long max_808X;
  long p_807X;
  char * code_pointer_806X;
  long return_pointer_offset_805X;
  long nargs_804X;
  long code_803X;
  long template_802X;
  long rest_list_801X;
  long stack_nargs_800X;
  long p_799X;
  long p_798X;
  long cont_797X;
  long v_796X;
  long rest_list_795X;
  long stack_nargs_794X;
  long p_793X;
  long x_792X;
  long args_791X;
  char * code_pointer_790X;
  long return_pointer_offset_789X;
  long length_788X;
  char okayP_787X;
  long stack_nargs_786X;
  long list_args_785X;
  char * code_pointer_784X;
  long return_pointer_offset_783X;
  long stack_arg_count_782X;
  char * code_pointer_781X;
  long stack_arg_count_780X;
  long v_779X;
  long n_moves_778X;
  long x_777X;
  long n_moves_776X;
  long x_775X;
  long x_774X;
  long x_773X;
  long x_772X;
  long x_771X;
  long value_770X;
  long x_769X;
  long template_768X;
  long new_env_767X;
  char * addr_766X;
  long len_765X;
  long closures_764X;
  long total_count_763X;
  long template_762X;
  long new_env_761X;
  char * addr_760X;
  long len_759X;
  long closures_758X;
  long total_count_757X;
  char * addr_756X;
  long val_755X;
  long x_754X;
  long location_753X;
  long index_752X;
  long template_751X;
  long location_750X;
  long index_749X;
  long template_748X;
  long x_747X;
  long x_746X;
  long n_745X;
  char * code_pointer_744X;
  long v_743X;
  long v_742X;
  long v_741X;
  long n_740X;
  char * arg_top_739X;
  long args_738X;
  long count_737X;
  long size_736X;
  char * pointer_735X;
  char * cont_734X;
  long offset_733X;
  long cont_732X;
  long args_731X;
  long args_730X;
  long v_729X;
  long v_728X;
  long protocol_727X;
  char * code_pointer_726X;
  long list_arg_count_725X;
  long list_args_724X;
  long stack_nargs_723X;
  long template_722X;
  long v_721X;
  long v_720X;
  char v_719X;
  char v_718X;
  char v_717X;
  long v_716X;
  long nargs_715X;
  long size_714X;
  char * pointer_713X;
  char * cont_712X;
  char v_711X;
  long obj_710X;
  long stack_arg_count_709X;
  long tag_708X;
  long final_stack_arg_count_707X;
  char interruptP_706X;
  long obj_705X;
  long x_704X;
  long x_703X;
  long envUtemplate_702X;
  long needed_stack_space_701X;
  long template_700X;
  long used_699X;
  long code_698X;
  long tag_697X;
  long skip_696X;
  long x_695X;
  long x_694X;
  long envUtemplate_693X;
  long template_692X;
  long used_691X;
  long envUtemp_offset_690X;
  long code_689X;
  long retval_688X;
  long handlers_687X;
  long opcode_686X;
  long nargs_685X;
  long v_684X;
  long v_683X;
  long template_682X;
  long v_681X;
  long template_680X;
  long v_679X;
  long v_678X;
  long v_677X;
  long index_676X;
  long length_675X;
  long v_674X;
  long v_673X;
  long template_672X;
  long v_671X;
  long template_670X;
  long v_669X;
  long v_668X;
  long v_667X;
  long template_666X;
  long v_665X;
  long v_664X;
  long v_663X;
  long wants_stack_args_662X;
  long v_661X;
  long v_660X;
  long v_659X;
  long v_658X;
  long skip_657X;
  char nativeP_656X;
  long stack_space_655X;
  long protocol_654X;
  long v_653X;
  long x_652X;
  long args_651X;
  long v_650X;
  long list_arg_count_649X;
  long list_args_648X;
  long stack_arg_count_647X;
  long exception_646X;
  long total_arg_count_645X;
  long code_644X;
  long handler_tag_643X;
  long list_arg_count_642X;
  long list_args_641X;
  long stack_arg_count_640X;
  long obj_639X;
 {  if ((3 == (3 & proc_601X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_601X))) + -4))))>>2))))) {
      SvalS = proc_601X;
      obj_639X = SvalS;
      if ((3 == (3 & obj_639X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_639X))) + -4))))>>2))))) {
          arg0K0 = nargs_602X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L33102;}
        else {
          arg0K0 = 3;
          arg0K1 = nargs_602X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L24437;}}
      else {
        arg0K0 = 3;
        arg0K1 = nargs_602X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L24437;}}
    else {
      goto L24597;}}
  else {
    goto L24597;}}
 L33102: {
  stack_arg_count_640X = arg0K0;
  list_args_641X = arg0K1;
  list_arg_count_642X = arg0K2;
  handler_tag_643X = arg0K3;
  code_644X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
  total_arg_count_645X = stack_arg_count_640X + list_arg_count_642X;
  arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_644X))) + 1)));
  arg0K1 = 64;
  arg2K2 = 0;
  goto L33128;}
 L24437: {
  exception_646X = arg0K0;
  stack_arg_count_647X = arg0K1;
  list_args_648X = arg0K2;
  list_arg_count_649X = arg0K3;
  merged_arg0K0 = list_args_648X;
  merged_arg0K1 = list_arg_count_649X;
  copy_listSAgc_return_tag = 0;
  goto copy_listSAgc;
 copy_listSAgc_return_0:
  v_650X = copy_listSAgc0_return_value;
  merged_arg0K0 = v_650X;
  merged_arg0K1 = stack_arg_count_647X;
  pop_args_GlistSAgc_return_tag = 0;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_0:
  args_651X = pop_args_GlistSAgc0_return_value;push_exception_setupB(exception_646X, 0);
  x_652X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_652X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_651X);
  arg0K0 = 2;
  goto L24987;}
 L24597: {
  ps_error("s48-restart called with non-procedure", 1, proc_601X);
  return v_653X;}
 L33128: {
  protocol_654X = arg0K0;
  stack_space_655X = arg0K1;
  nativeP_656X = arg2K2;
  if ((69 == protocol_654X)) {
    if ((total_arg_count_645X < 3)) {
      skip_657X = *((unsigned char *) ((((char *) (-3 + code_644X))) + (3 + total_arg_count_645X)));
      if ((0 == skip_657X)) {
        if ((-1 == handler_tag_643X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_640X;
          arg0K2 = list_args_641X;
          arg0K3 = list_arg_count_642X;
          goto L24437;}
        else {
          if ((handler_tag_643X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
            arg0K0 = v_658X;
            goto L53613;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
            arg0K0 = v_659X;
            goto L53613;}}}
      else {
        merged_arg0K0 = list_args_641X;
        merged_arg0K1 = list_arg_count_642X;
        push_list_return_tag = 0;
        goto push_list;
       push_list_return_0:
        arg0K0 = code_644X;
        arg0K1 = 6;
        arg0K2 = skip_657X;
        arg0K3 = (*((long *) (((char *) (-3 + (SvalS))))));
        goto L24023;}}
    else {
      if ((0 == (*((unsigned char *) ((((char *) (-3 + code_644X))) + 2))))) {
        if ((-1 == handler_tag_643X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_640X;
          arg0K2 = list_args_641X;
          arg0K3 = list_arg_count_642X;
          goto L24437;}
        else {
          if ((handler_tag_643X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
            arg0K0 = v_660X;
            goto L53613;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
            arg0K0 = v_661X;
            goto L53613;}}}
      else {
        arg0K0 = 6;
        goto L33171;}}}
  else {
    if ((63 < protocol_654X)) {
      if ((65 == protocol_654X)) {
        wants_stack_args_662X = ((((*((unsigned char *) ((((char *) (-3 + code_644X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_644X))) + 3)));
        if ((total_arg_count_645X < wants_stack_args_662X)) {
          if ((-1 == handler_tag_643X)) {
            arg0K0 = 4;
            arg0K1 = stack_arg_count_640X;
            arg0K2 = list_args_641X;
            arg0K3 = list_arg_count_642X;
            goto L24437;}
          else {
            if ((handler_tag_643X < 0)) {
              ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
              arg0K0 = v_663X;
              goto L53613;}
            else {
              ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
              arg0K0 = v_664X;
              goto L53613;}}}
        else {
          merged_arg0K0 = wants_stack_args_662X;
          merged_arg0K1 = stack_arg_count_640X;
          merged_arg0K2 = list_args_641X;
          merged_arg0K3 = list_arg_count_642X;
          rest_list_setupAgc_return_tag = 0;
          goto rest_list_setupAgc;
         rest_list_setupAgc_return_0:
          if (nativeP_656X) {
            v_665X = s48_call_native_procedure((SvalS), 4);
            arg0K0 = v_665X;
            goto L26812;}
          else {
            template_666X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_666X)))));
            arg0K1 = 4;
            arg0K2 = template_666X;
            arg0K3 = stack_space_655X;
            goto L26898;}}}
      else {
        if ((68 == protocol_654X)) {
          if ((total_arg_count_645X < (*((unsigned char *) ((((char *) (-3 + code_644X))) + 2))))) {
            if ((-1 == handler_tag_643X)) {
              arg0K0 = 4;
              arg0K1 = stack_arg_count_640X;
              arg0K2 = list_args_641X;
              arg0K3 = list_arg_count_642X;
              goto L24437;}
            else {
              if ((handler_tag_643X < 0)) {
                ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
                arg0K0 = v_667X;
                goto L53613;}
              else {
                ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
                arg0K0 = v_668X;
                goto L53613;}}}
          else {
            arg0K0 = 3;
            goto L33171;}}
        else {
          if ((127 < protocol_654X)) {
            arg0K0 = (127 & protocol_654X);
            arg0K1 = stack_space_655X;
            arg2K2 = 1;
            goto L33128;}
          else {
            if ((64 == protocol_654X)) {
              if (((((((*((unsigned char *) ((((char *) (-3 + code_644X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_644X))) + 3)))) == total_arg_count_645X)) {
                if ((0 == list_arg_count_642X)) {
                  if (nativeP_656X) {
                    v_669X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_669X;
                    goto L26812;}
                  else {
                    template_670X = *((long *) (((char *) (-3 + (SvalS)))));
                    arg0K0 = (*((long *) (((char *) (-3 + template_670X)))));
                    arg0K1 = 4;
                    arg0K2 = template_670X;
                    arg0K3 = stack_space_655X;
                    goto L26898;}}
                else {
                  merged_arg0K0 = list_args_641X;
                  merged_arg0K1 = list_arg_count_642X;
                  push_list_return_tag = 1;
                  goto push_list;
                 push_list_return_1:
                  if (nativeP_656X) {
                    v_671X = s48_call_native_procedure((SvalS), 4);
                    arg0K0 = v_671X;
                    goto L26812;}
                  else {
                    template_672X = *((long *) (((char *) (-3 + (SvalS)))));
                    arg0K0 = (*((long *) (((char *) (-3 + template_672X)))));
                    arg0K1 = 4;
                    arg0K2 = template_672X;
                    arg0K3 = stack_space_655X;
                    goto L26898;}}}
              else {
                if ((-1 == handler_tag_643X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_640X;
                  arg0K2 = list_args_641X;
                  arg0K3 = list_arg_count_642X;
                  goto L24437;}
                else {
                  if ((handler_tag_643X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
                    arg0K0 = v_673X;
                    goto L53613;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
                    arg0K0 = v_674X;
                    goto L53613;}}}}
            else {
              if ((67 == protocol_654X)) {
                length_675X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_644X))) + -4))))>>8);
                index_676X = -2 + length_675X;
                arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_644X))) + (-3 + length_675X))));
                arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_644X))) + index_676X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_644X))) + (1 + index_676X)))));
                arg2K2 = nativeP_656X;
                goto L33128;}
              else {
                ps_error("unknown protocol", 1, protocol_654X);
                if ((-1 == handler_tag_643X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_640X;
                  arg0K2 = list_args_641X;
                  arg0K3 = list_arg_count_642X;
                  goto L24437;}
                else {
                  if ((handler_tag_643X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
                    arg0K0 = v_677X;
                    goto L53613;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
                    arg0K0 = v_678X;
                    goto L53613;}}}}}}}}
    else {
      if ((protocol_654X == total_arg_count_645X)) {
        if ((0 == list_arg_count_642X)) {
          if (nativeP_656X) {
            v_679X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_679X;
            goto L26812;}
          else {
            template_680X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_680X)))));
            arg0K1 = 2;
            arg0K2 = template_680X;
            arg0K3 = stack_space_655X;
            goto L26898;}}
        else {
          merged_arg0K0 = list_args_641X;
          merged_arg0K1 = list_arg_count_642X;
          push_list_return_tag = 2;
          goto push_list;
         push_list_return_2:
          if (nativeP_656X) {
            v_681X = s48_call_native_procedure((SvalS), 2);
            arg0K0 = v_681X;
            goto L26812;}
          else {
            template_682X = *((long *) (((char *) (-3 + (SvalS)))));
            arg0K0 = (*((long *) (((char *) (-3 + template_682X)))));
            arg0K1 = 2;
            arg0K2 = template_682X;
            arg0K3 = stack_space_655X;
            goto L26898;}}}
      else {
        if ((-1 == handler_tag_643X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_640X;
          arg0K2 = list_args_641X;
          arg0K3 = list_arg_count_642X;
          goto L24437;}
        else {
          if ((handler_tag_643X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_643X));
            arg0K0 = v_683X;
            goto L53613;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_643X);
            arg0K0 = v_684X;
            goto L53613;}}}}}}
 L24987: {
  nargs_685X = arg0K0;
  opcode_686X = (((*((long *) ((SstackS) + (4 + (((nargs_685X)<<2)))))))>>2);
  handlers_687X = SHARED_REF((Sexception_handlersS));
  if ((3 == (3 & handlers_687X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_687X))) + -4))))>>2))))) {
      goto L25052;}
    else {
      goto L25135;}}
  else {
    goto L25135;}}
 L53613: {
  retval_688X = arg0K0;
  SstackS = (ScontS);
  return retval_688X;}
 L24023: {
  code_689X = arg0K0;
  envUtemp_offset_690X = arg0K1;
  used_691X = arg0K2;
  template_692X = arg0K3;
  envUtemplate_693X = *((unsigned char *) ((((char *) (-3 + code_689X))) + envUtemp_offset_690X));
  if ((3 == envUtemplate_693X)) {
    x_694X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_694X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_692X);
    goto L24027;}
  else {
    if ((1 == envUtemplate_693X)) {
      x_695X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_695X);
      goto L24027;}
    else {
      if ((2 == envUtemplate_693X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_692X);
        goto L24027;}
      else {
        goto L24027;}}}}
 L33171: {
  skip_696X = arg0K0;
  if ((total_arg_count_645X < 3)) {
    arg0K0 = total_arg_count_645X;
    goto L33179;}
  else {
    if ((2 < stack_arg_count_640X)) {
      arg0K0 = stack_arg_count_640X;
      goto L33179;}
    else {
      arg0K0 = 2;
      goto L33179;}}}
 L26812: {
  tag_697X = arg0K0;
  arg0K0 = tag_697X;
  goto L26816;}
 L26898: {
  code_698X = arg0K0;
  used_699X = arg0K1;
  template_700X = arg0K2;
  needed_stack_space_701X = arg0K3;
  envUtemplate_702X = *((unsigned char *) ((((char *) (-3 + code_698X))) + used_699X));
  if ((3 == envUtemplate_702X)) {
    x_703X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_703X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_700X);
    goto L26902;}
  else {
    if ((1 == envUtemplate_702X)) {
      x_704X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_704X);
      goto L26902;}
    else {
      if ((2 == envUtemplate_702X)) {
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_700X);
        goto L26902;}
      else {
        goto L26902;}}}}
 L25052: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_687X))) + (((opcode_686X)<<2)))));
  obj_705X = SvalS;
  if ((3 == (3 & obj_705X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_705X))) + -4))))>>2))))) {
      goto L25069;}
    else {
      goto L25149;}}
  else {
    goto L25149;}}
 L25135: {
  merged_arg3K0 = "exception-handlers is not a vector";
  loseD0_return_tag = 0;
  goto loseD0;
 loseD0_return_0:
  goto L25052;}
 L24027: {
  Slast_code_calledS = code_689X;
  Scode_pointerS = ((((char *) (-3 + code_689X))) + used_691X);
  if (((SstackS) < (s48_Sstack_limitS))) {
    interruptP_706X = (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_706X) {
          goto L24034;}
        else {
          goto L24041;}}
      else {
        if (interruptP_706X) {
          goto L24034;}
        else {
          goto L24041;}}}
    else {
      if (interruptP_706X) {
        goto L24034;}
      else {
        goto L24041;}}}
  else {
    goto L24041;}}
 L33179: {
  final_stack_arg_count_707X = arg0K0;
  if ((stack_arg_count_640X < final_stack_arg_count_707X)) {
    arg0K0 = final_stack_arg_count_707X;
    goto L33183;}
  else {
    arg0K0 = stack_arg_count_640X;
    goto L33183;}}
 L26816: {
  tag_708X = arg0K0;
  if ((tag_708X == 0)) {
    arg0K0 = (s48_Snative_protocolS);
    arg0K1 = 25;
    arg0K2 = 0;
    goto L24175;}
  else {
    if ((tag_708X == 1)) {
      stack_arg_count_709X = s48_Snative_protocolS;
      obj_710X = SvalS;
      if ((3 == (3 & obj_710X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_710X))) + -4))))>>2))))) {
          arg0K0 = stack_arg_count_709X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L33102;}
        else {
          arg0K0 = 3;
          arg0K1 = stack_arg_count_709X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L24437;}}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_709X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L24437;}}
    else {
      if ((tag_708X == 2)) {
        pending_interruptP_return_tag = 0;
        goto pending_interruptP;
       pending_interruptP_return_0:
        v_711X = pending_interruptP0_return_value;
        if (v_711X) {
          push_native_interrupt_continuation_return_tag = 0;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_0:
          goto L24716;}
        else {
          SstackS = (ScontS);
          cont_712X = ScontS;
          pointer_713X = (((char *) (*((long *) cont_712X)))) + -2;
          size_714X = ((((*((unsigned char *) pointer_713X)))<<8)) + (*((unsigned char *) (pointer_713X + 1)));
          if ((65535 == size_714X)) {
            arg0K0 = ((((*((long *) (cont_712X + 4))))>>2));
            goto L26871;}
          else {
            arg0K0 = size_714X;
            goto L26871;}}}
      else {
        if ((tag_708X == 3)) {
          push_native_interrupt_continuation_return_tag = 1;
          goto push_native_interrupt_continuation;
         push_native_interrupt_continuation_return_1:
          nargs_715X = *((long *) (SstackS));
          SstackS = ((SstackS) + 4);
          ps_write_string("exception with ", (stderr));
          ps_write_integer(nargs_715X, (stderr));
          ps_write_string(" arguments", (stderr));
          arg0K0 = nargs_715X;
          goto L24987;}
        else {
          if ((tag_708X == 4)) {
            arg1K0 = (Scode_pointerS);
            goto L26349;}
          else {
            ps_error("unexpected native return value", 1, tag_708X);
            arg0K0 = v_716X;
            goto L53613;}}}}}}
 L26902: {
  Slast_code_calledS = code_698X;
  Scode_pointerS = ((((char *) (-3 + code_698X))) + (1 + used_699X));
  merged_arg0K0 = needed_stack_space_701X;
  ensure_stack_spaceB_return_tag = 0;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_0:
  v_717X = ensure_stack_spaceB0_return_value;
  if (v_717X) {
    pending_interruptP_return_tag = 1;
    goto pending_interruptP;
   pending_interruptP_return_1:
    v_718X = pending_interruptP0_return_value;
    if (v_718X) {
      goto L24893;}
    else {
      goto L26916;}}
  else {
    goto L26916;}}
 L25069: {
  arg0K0 = (2 + nargs_685X);
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = opcode_686X;
  goto L33102;}
 L25149: {
  merged_arg3K0 = "exception handler is not a closure";
  loseD0_return_tag = 1;
  goto loseD0;
 loseD0_return_1:
  goto L25069;}
 L24034: {
  pending_interruptP_return_tag = 2;
  goto pending_interruptP;
 pending_interruptP_return_2:
  v_719X = pending_interruptP0_return_value;
  if (v_719X) {
    goto L24893;}
  else {
    goto L24041;}}
 L24041: {
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L33183: {
  v_720X = arg0K0;
  merged_arg0K0 = v_720X;
  merged_arg0K1 = stack_arg_count_640X;
  merged_arg0K2 = list_args_641X;
  merged_arg0K3 = list_arg_count_642X;
  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_707X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((total_arg_count_645X)<<2)));
  if (nativeP_656X) {
    v_721X = s48_call_native_procedure((SvalS), skip_696X);
    arg0K0 = v_721X;
    goto L26812;}
  else {
    template_722X = *((long *) (((char *) (-3 + (SvalS)))));
    arg0K0 = (*((long *) (((char *) (-3 + template_722X)))));
    arg0K1 = skip_696X;
    arg0K2 = template_722X;
    arg0K3 = stack_space_655X;
    goto L26898;}}
 L24175: {
  stack_nargs_723X = arg0K0;
  list_args_724X = arg0K1;
  list_arg_count_725X = arg0K2;
  code_pointer_726X = ((char *) (*((long *) (ScontS))));
  protocol_727X = *((unsigned char *) (code_pointer_726X + 1));
  if ((1 == protocol_727X)) {
    if ((1 == (stack_nargs_723X + list_arg_count_725X))) {
      if ((1 == stack_nargs_723X)) {
        v_728X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_728X;
        goto L24264;}
      else {
        arg0K0 = (*((long *) (((char *) (-3 + list_args_724X)))));
        goto L24264;}}
    else {
      arg0K0 = stack_nargs_723X;
      arg0K1 = list_args_724X;
      goto L25416;}}
  else {
    if ((66 == protocol_727X)) {
      pop_continuationB_return_tag = 0;
      goto pop_continuationB;
     pop_continuationB_return_0:
      arg0K0 = 1;
      goto L26805;}
    else {
      if ((127 < protocol_727X)) {
        if ((129 == protocol_727X)) {
          if ((1 == (stack_nargs_723X + list_arg_count_725X))) {
            if ((1 == stack_nargs_723X)) {
              v_729X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              arg0K0 = v_729X;
              goto L33627;}
            else {
              arg0K0 = (*((long *) (((char *) (-3 + list_args_724X)))));
              goto L33627;}}
          else {
            merged_arg0K0 = list_args_724X;
            merged_arg0K1 = stack_nargs_723X;
            pop_args_GlistSAgc_return_tag = 1;
            goto pop_args_GlistSAgc;
           pop_args_GlistSAgc_return_1:
            args_730X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (args_730X);
            arg0K0 = 2;
            goto L24987;}}
        else {
          if ((194 == protocol_727X)) {
            arg0K0 = 2;
            goto L27987;}
          else {
            ps_error("unknown native return protocol", 1, protocol_727X);
            merged_arg0K0 = list_args_724X;
            merged_arg0K1 = stack_nargs_723X;
            pop_args_GlistSAgc_return_tag = 2;
            goto pop_args_GlistSAgc;
           pop_args_GlistSAgc_return_2:
            args_731X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (args_731X);
            arg0K0 = 2;
            goto L24987;}}}
      else {
        if ((71 == protocol_727X)) {
          cont_732X = Sheap_continuationS;
          if ((3 == (3 & cont_732X))) {
            if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_732X))) + -4))))>>2))))) {
              merged_arg0K0 = cont_732X;
              merged_arg0K1 = stack_nargs_723X;
              copy_continuation_from_heapB_return_tag = 0;
              goto copy_continuation_from_heapB;
             copy_continuation_from_heapB_return_0:
              arg0K0 = stack_nargs_723X;
              arg0K1 = list_args_724X;
              arg0K2 = list_arg_count_725X;
              goto L24175;}
            else {
              goto L24210;}}
          else {
            goto L24210;}}
        else {
          if ((70 == protocol_727X)) {
            SvalS = (*((long *) ((ScontS) + 4)));
            offset_733X = ((((*((unsigned char *) (code_pointer_726X + 2))))<<8)) + (*((unsigned char *) (code_pointer_726X + 3)));
            if ((0 == offset_733X)) {
              cont_734X = ScontS;
              pointer_735X = (((char *) (*((long *) cont_734X)))) + -2;
              size_736X = ((((*((unsigned char *) pointer_735X)))<<8)) + (*((unsigned char *) (pointer_735X + 1)));
              if ((65535 == size_736X)) {
                arg0K0 = ((((*((long *) (cont_734X + 4))))>>2));
                goto L24327;}
              else {
                arg0K0 = size_736X;
                goto L24327;}}
            else {
              ScontS = ((ScontS) + 4);
              *((long *) (ScontS)) = (long) ((((long) (code_pointer_726X + offset_733X))));
              merged_arg0K0 = stack_nargs_723X;
              move_args_above_contB_return_tag = 0;
              goto move_args_above_contB;
             move_args_above_contB_return_0:
              arg0K0 = stack_nargs_723X;
              arg0K1 = list_args_724X;
              arg0K2 = list_arg_count_725X;
              goto L47010;}}
          else {
            if ((63 < protocol_727X)) {
              if ((65 == protocol_727X)) {
                count_737X = ((((*((unsigned char *) (code_pointer_726X + 2))))<<8)) + (*((unsigned char *) (code_pointer_726X + 3)));
                if (((stack_nargs_723X + list_arg_count_725X) < count_737X)) {
                  merged_arg0K0 = list_args_724X;
                  merged_arg0K1 = stack_nargs_723X;
                  pop_args_GlistSAgc_return_tag = 3;
                  goto pop_args_GlistSAgc;
                 pop_args_GlistSAgc_return_3:
                  args_738X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (1);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (args_738X);
                  arg0K0 = 2;
                  goto L24987;}
                else {
                  arg_top_739X = SstackS;
                  pop_continuationB_return_tag = 1;
                  goto pop_continuationB;
                 pop_continuationB_return_1:
                  arg1K0 = ((SstackS) + -4);
                  arg1K1 = (arg_top_739X + (-4 + (((stack_nargs_723X)<<2))));
                  goto L27848;}}
              else {
                if ((64 == protocol_727X)) {
                  arg0K0 = (((((*((unsigned char *) (code_pointer_726X + 2))))<<8)) + (*((unsigned char *) (code_pointer_726X + 3))));
                  arg0K1 = 3;
                  arg0K2 = stack_nargs_723X;
                  arg0K3 = list_args_724X;
                  arg0K4 = list_arg_count_725X;
                  goto L27700;}
                else {
                  ps_error("unknown protocol", 1, protocol_727X);
                  arg0K0 = stack_nargs_723X;
                  arg0K1 = list_args_724X;
                  goto L25416;}}}
            else {
              arg0K0 = protocol_727X;
              arg0K1 = 1;
              arg0K2 = stack_nargs_723X;
              arg0K3 = list_args_724X;
              arg0K4 = list_arg_count_725X;
              goto L27700;}}}}}}}
 L24716: {
  n_740X = (Spending_interruptsS) & (Senabled_interruptsS);
  arg0K0 = 0;
  arg0K1 = 1;
  goto L24769;}
 L26871: {
  v_741X = arg0K0;
  ScontS = (cont_712X + (4 + (((v_741X)<<2))));
  v_742X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_743X = s48_invoke_native_continuation((2 + (((long) (((char *) v_742X))))));
  arg0K0 = v_743X;
  goto L26816;}
 L26349: {
  code_pointer_744X = arg1K0;
  switch ((*((unsigned char *) code_pointer_744X))) {
    case 0 : 
    case 26 : 
    case 30 : 
    case 37 : {push_exception_setupB(14, 1);
      n_745X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_745X)<<2)));
      arg0K0 = 1;
      goto L24987;}
      break;
    case 1 : {
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 2 : {
      x_746X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_746X);
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 3 : {
      x_747X = -512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_747X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 4 : {
      template_748X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_749X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_750X = *((long *) ((((char *) (-3 + template_748X))) + (((index_749X)<<2))));
      SvalS = (*((long *) ((((char *) (-3 + location_750X))) + 4)));
      if ((17 == (255 & (SvalS)))) {push_exception_setupB(1, 5);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_750X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_748X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_749X)<<2)));
        arg0K0 = 3;
        goto L24987;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L26349;}}
      break;
    case 5 : {
      template_751X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_752X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_753X = *((long *) ((((char *) (-3 + template_751X))) + (((index_752X)<<2))));
      if ((273 == (*((long *) ((((char *) (-3 + location_753X))) + 4))))) {push_exception_setupB(1, 5);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_753X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_751X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_752X)<<2)));
        x_754X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_754X);
        arg0K0 = 4;
        goto L24987;}
      else {
        val_755X = SvalS;
        addr_756X = (((char *) (-3 + location_753X))) + 4;S48_WRITE_BARRIER(location_753X, addr_756X, val_755X);
        *((long *) addr_756X) = (long) (val_755X);
        SvalS = 13;
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg1K0 = (Scode_pointerS);
        goto L26349;}}
      break;
    case 6 : {
      total_count_757X = *((unsigned char *) ((Scode_pointerS) + 1));
      closures_758X = *((unsigned char *) ((Scode_pointerS) + 2));s48_make_availableAgc((((((1 + total_count_757X) + (3 * closures_758X)))<<2)));
      len_759X = ((total_count_757X)<<2);
      addr_760X = s48_allocate_small((4 + len_759X));
      *((long *) addr_760X) = (long) ((10 + (((len_759X)<<8))));
      new_env_761X = 3 + (((long) (addr_760X + 4)));
      if ((0 == closures_758X)) {
        arg0K0 = new_env_761X;
        arg0K1 = 0;
        arg0K2 = 2;
        arg0K3 = total_count_757X;
        goto L8856;}
      else {
        template_762X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<2))));
        arg0K0 = closures_758X;
        arg0K1 = 0;
        arg0K2 = 3;
        goto L19130;}}
      break;
    case 7 : {
      total_count_763X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      closures_764X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));s48_make_availableAgc((((((1 + total_count_763X) + (3 * closures_764X)))<<2)));
      len_765X = ((total_count_763X)<<2);
      addr_766X = s48_allocate_small((4 + len_765X));
      *((long *) addr_766X) = (long) ((10 + (((len_765X)<<8))));
      new_env_767X = 3 + (((long) (addr_766X + 4)));
      if ((0 == closures_764X)) {
        arg0K0 = new_env_767X;
        arg0K1 = 0;
        arg0K2 = 4;
        arg0K3 = total_count_763X;
        goto L11379;}
      else {
        template_768X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
        arg0K0 = closures_764X;
        arg0K1 = 0;
        arg0K2 = 6;
        goto L19191;}}
      break;
    case 8 : {
      x_769X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_769X);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 9 : {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (1);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 10 : {
      value_770X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = value_770X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      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 L26349;}
      break;
    case 12 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      goto L50429;}
      break;
    case 13 : {
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 14 : {
      x_771X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_771X);
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 15 : {
      x_772X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_772X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 16 : {
      SvalS = (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 17 : {
      *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 18 : {
      *((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 L26349;}
      break;
    case 19 : {
      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 L26349;}
      break;
    case 20 : {
      x_773X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_773X);
      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 L26349;}
      break;
    case 21 : {
      x_774X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_774X);
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 22 : {
      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 L26349;}
      break;
    case 23 : {
      x_775X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_775X);
      n_moves_776X = *((unsigned char *) ((Scode_pointerS) + 1));
      arg0K0 = 0;
      goto L28376;}
      break;
    case 24 : {
      x_777X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_777X);
      n_moves_778X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      arg0K0 = 0;
      goto L28293;}
      break;
    case 25 : {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
      if ((1 == (((long) (ScontS))))) {
        arg0K0 = 1;
        goto L50498;}
      else {
        v_779X = really_preserve_continuation(0);
        arg0K0 = v_779X;
        goto L50498;}}
      break;
    case 27 : {
      stack_arg_count_780X = *((unsigned char *) ((Scode_pointerS) + 3));
      code_pointer_781X = (Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      ScontS = ((SstackS) + (((stack_arg_count_780X)<<2)));
      *((long *) (ScontS)) = (long) ((((long) code_pointer_781X)));
      arg0K0 = stack_arg_count_780X;
      goto L33022;}
      break;
    case 28 : {
      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 L33022;}
      break;
    case 29 : {
      stack_arg_count_782X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      return_pointer_offset_783X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_783X)) {
        merged_arg0K0 = stack_arg_count_782X;
        move_args_above_contB_return_tag = 2;
        goto move_args_above_contB;
       move_args_above_contB_return_2:
        goto L24550;}
      else {
        code_pointer_784X = (Scode_pointerS) + return_pointer_offset_783X;
        ScontS = ((SstackS) + (((stack_arg_count_782X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_784X)));
        goto L24550;}}
      break;
    case 31 : {
      list_args_785X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_786X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      merged_arg0K0 = list_args_785X;
      okay_argument_list_return_tag = 0;
      goto okay_argument_list;
     okay_argument_list_return_0:
      okayP_787X = okay_argument_list0_return_value;
      length_788X = okay_argument_list1_return_value;
      if (okayP_787X) {
        return_pointer_offset_789X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
        if ((0 == return_pointer_offset_789X)) {
          merged_arg0K0 = stack_nargs_786X;
          move_args_above_contB_return_tag = 3;
          goto move_args_above_contB;
         move_args_above_contB_return_3:
          arg0K0 = stack_nargs_786X;
          arg0K1 = list_args_785X;
          arg0K2 = length_788X;
          goto L47010;}
        else {
          code_pointer_790X = (Scode_pointerS) + return_pointer_offset_789X;
          ScontS = ((SstackS) + (((stack_nargs_786X)<<2)));
          *((long *) (ScontS)) = (long) ((((long) code_pointer_790X)));
          arg0K0 = stack_nargs_786X;
          arg0K1 = list_args_785X;
          arg0K2 = length_788X;
          goto L47010;}}
      else {
        merged_arg0K0 = list_args_785X;
        merged_arg0K1 = stack_nargs_786X;
        pop_args_GlistSAgc_return_tag = 4;
        goto pop_args_GlistSAgc;
       pop_args_GlistSAgc_return_4:
        args_791X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
        x_792X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_792X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (args_791X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 32 : {
      SstackS = ((SstackS) + 4);
      p_793X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_794X = ((p_793X)>>2);
      SvalS = (*((long *) ((SstackS) + (((stack_nargs_794X)<<2)))));
      merged_arg0K0 = stack_nargs_794X;
      move_args_above_contB_return_tag = 4;
      goto move_args_above_contB;
     move_args_above_contB_return_4:
      rest_list_795X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((25 == rest_list_795X)) {
        v_796X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_796X;
        arg0K1 = (-2 + stack_nargs_794X);
        goto L17385;}
      else {
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_795X))) + 4))))) {
          arg0K0 = (*((long *) (((char *) (-3 + rest_list_795X)))));
          arg0K1 = (-1 + stack_nargs_794X);
          goto L17385;}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_795X))) + 4)))))) + 4)));
          arg0K1 = rest_list_795X;
          goto L17430;}}}
      break;
    case 33 : {
      cont_797X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & cont_797X))) {
        if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_797X))) + -4))))>>2))))) {
          merged_arg0K0 = cont_797X;
          merged_arg0K1 = 0;
          copy_continuation_from_heapB_return_tag = 1;
          goto copy_continuation_from_heapB;
         copy_continuation_from_heapB_return_1:
          goto L24508;}
        else {
          goto L24517;}}
      else {
        goto L24517;}}
      break;
    case 34 : {
      goto L49147;}
      break;
    case 35 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      arg0K1 = 25;
      arg0K2 = 0;
      goto L24175;}
      break;
    case 36 : {
      p_798X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_799X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_800X = ((p_799X)>>2);
      rest_list_801X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = stack_nargs_800X;
      arg0K1 = rest_list_801X;
      arg0K2 = ((((p_798X)>>2)) - stack_nargs_800X);
      goto L24175;}
      break;
    case 38 : {
      template_802X = *((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_803X = *((long *) (((char *) (-3 + template_802X))));
      nargs_804X = *((unsigned char *) ((Scode_pointerS) + 7));
      return_pointer_offset_805X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_805X)) {
        merged_arg0K0 = nargs_804X;
        move_args_above_contB_return_tag = 5;
        goto move_args_above_contB;
       move_args_above_contB_return_5:
        goto L28027;}
      else {
        code_pointer_806X = (Scode_pointerS) + return_pointer_offset_805X;
        ScontS = ((SstackS) + (((nargs_804X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_806X)));
        goto L28027;}}
      break;
    case 39 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 3);
        arg1K0 = (Scode_pointerS);
        goto L26349;}}
      break;
    case 40 : {
      Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 41 : {
      Scode_pointerS = ((Scode_pointerS) + (0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))));
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 42 : {
      if ((0 == (3 & (SvalS)))) {
        p_807X = SvalS;
        max_808X = *((unsigned char *) ((Scode_pointerS) + 1));
        val_809X = ((p_807X)>>2);
        if ((val_809X < 0)) {
          goto L26690;}
        else {
          if ((val_809X < max_808X)) {
            index_810X = 1 + (((val_809X)<<1));
            arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_810X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_810X)))));
            goto L26692;}
          else {
            goto L26690;}}}
      else {push_exception_setupB(5, 0);
        x_811X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_811X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 43 : {
      stack_nargs_812X = (((*((long *) (SstackS))))>>2);
      if ((0 == stack_nargs_812X)) {
        rest_list_813X = *((long *) ((SstackS) + 4));
        arg0_814X = *((long *) ((SstackS) + 8));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_814X);
        SvalS = (*((long *) (((char *) (-3 + rest_list_813X)))));
        goto L27310;}
      else {
        arg0_815X = *((long *) ((SstackS) + (4 + (((stack_nargs_812X)<<2)))));
        arg1_816X = *((long *) ((SstackS) + (((stack_nargs_812X)<<2))));
        *((long *) ((SstackS) + (4 + (((stack_nargs_812X)<<2))))) = (long) (1);
        *((long *) (SstackS)) = (long) ((-4 + (((stack_nargs_812X)<<2))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_815X);
        SvalS = arg1_816X;
        goto L27310;}}
      break;
    case 44 : {
      stack_nargs_817X = (((*((long *) (SstackS))))>>2);
      if ((stack_nargs_817X == 0)) {
        rest_list_818X = *((long *) ((SstackS) + 4));
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_818X))) + 4))))) {
          arg0K0 = 1;
          goto L26588;}
        else {
          *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_818X))) + 4))));
          *((long *) ((SstackS) + 8)) = (long) ((SvalS));
          arg0K0 = -2;
          goto L26588;}}
      else {
        if ((stack_nargs_817X == 1)) {
          if ((25 == (*((long *) ((SstackS) + 4))))) {
            arg0K0 = 1;
            goto L26588;}
          else {
            *((long *) (SstackS)) = (long) (0);
            *((long *) ((SstackS) + 8)) = (long) ((SvalS));
            arg0K0 = -2;
            goto L26588;}}
        else {
          *((long *) ((SstackS) + (4 + (((stack_nargs_817X)<<2))))) = (long) ((SvalS));
          arg0K0 = -2;
          goto L26588;}}}
      break;
    case 45 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        x_819X = (((*((long *) (SstackS))))>>2);
        if ((x_819X == 0)) {
          rest_list_820X = *((long *) ((SstackS) + 4));
          if ((25 == (*((long *) ((((char *) (-3 + rest_list_820X))) + 4))))) {
            arg0K0 = 1;
            goto L27201;}
          else {
            *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_820X))) + 4))));
            *((long *) ((SstackS) + 8)) = (long) ((*((long *) (((char *) (-3 + rest_list_820X))))));
            arg0K0 = -2;
            goto L27201;}}
        else {
          if ((x_819X == 1)) {
            if ((25 == (*((long *) ((SstackS) + 4))))) {
              arg0K0 = 1;
              goto L27201;}
            else {
              *((long *) (SstackS)) = (long) (0);
              arg0K0 = -2;
              goto L27201;}}
          else {
            arg0K0 = -2;
            goto L27201;}}}}
      break;
    case 46 : {
      arg2_821X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_822X = SvalS;
      if ((arg2_821X == x_822X)) {
        arg0K0 = 5;
        goto L50555;}
      else {
        arg0K0 = 1;
        goto L50555;}}
      break;
    case 47 : {
      x_823X = SvalS;
      if ((0 == (3 & x_823X))) {
        arg0K0 = 5;
        goto L50567;}
      else {
        if ((3 == (3 & x_823X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_823X))) + -4))))>>2))))) {
            arg0K0 = 5;
            goto L50567;}
          else {
            goto L15299;}}
        else {
          goto L15299;}}}
      break;
    case 48 : {
      n_824X = SvalS;
      if ((0 == (3 & n_824X))) {
        goto L41788;}
      else {
        if ((3 == (3 & n_824X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_824X))) + -4))))>>2))))) {
            goto L41788;}
          else {
            goto L41789;}}
        else {
          goto L41789;}}}
      break;
    case 49 : {
      arg0K0 = (SvalS);
      goto L41922;}
      break;
    case 50 : {
      arg0K0 = (SvalS);
      goto L41922;}
      break;
    case 51 : {
      arg0K0 = (SvalS);
      goto L41922;}
      break;
    case 52 : {
      n_825X = SvalS;
      if ((0 == (3 & n_825X))) {
        goto L34993;}
      else {
        if ((3 == (3 & n_825X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_825X))) + -4))))>>2))))) {
            goto L34993;}
          else {
            goto L34994;}}
        else {
          goto L34994;}}}
      break;
    case 53 : {
      x_826X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_826X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 54 : {
      x_827X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_827X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 55 : {
      arg2_828X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_829X = SvalS;
      if ((0 == (3 & (arg2_828X | y_829X)))) {s48_make_availableAgc(16);
        x_830X = (((arg2_828X)>>2)) + (((y_829X)>>2));
        if ((536870911 < x_830X)) {
          goto L35119;}
        else {
          if ((x_830X < -536870912)) {
            goto L35119;}
          else {
            arg0K0 = (((x_830X)<<2));
            goto L35065;}}}
      else {
        if ((0 == (3 & arg2_828X))) {
          goto L35071;}
        else {
          if ((3 == (3 & arg2_828X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_828X))) + -4))))>>2))))) {
              goto L35071;}
            else {
              goto L35080;}}
          else {
            goto L35080;}}}}
      break;
    case 56 : {
      arg2_831X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_832X = SvalS;
      if ((0 == (3 & (arg2_831X | y_832X)))) {
        a_833X = ((arg2_831X)>>2);
        b_834X = ((y_832X)>>2);
        if ((a_833X < 0)) {
          arg0K0 = (0 - a_833X);
          goto L9022;}
        else {
          arg0K0 = a_833X;
          goto L9022;}}
      else {
        if ((0 == (3 & arg2_831X))) {
          goto L43685;}
        else {
          if ((3 == (3 & arg2_831X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_831X))) + -4))))>>2))))) {
              goto L43685;}
            else {
              goto L43694;}}
          else {
            goto L43694;}}}}
      break;
    case 57 : {
      arg2_835X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_836X = SvalS;
      if ((0 == (3 & (arg2_835X | y_836X)))) {s48_make_availableAgc(16);
        x_837X = (((arg2_835X)>>2)) - (((y_836X)>>2));
        if ((536870911 < x_837X)) {
          goto L35408;}
        else {
          if ((x_837X < -536870912)) {
            goto L35408;}
          else {
            arg0K0 = (((x_837X)<<2));
            goto L35354;}}}
      else {
        if ((0 == (3 & arg2_835X))) {
          goto L35360;}
        else {
          if ((3 == (3 & arg2_835X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_835X))) + -4))))>>2))))) {
              goto L35360;}
            else {
              goto L35369;}}
          else {
            goto L35369;}}}}
      break;
    case 58 : {
      arg2_838X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_839X = SvalS;
      if ((0 == y_839X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_838X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_839X);
        arg0K0 = 2;
        goto L24987;}
      else {
        if ((0 == (3 & (arg2_838X | y_839X)))) {
          if ((0 == y_839X)) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_838X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_839X);
            arg0K0 = 2;
            goto L24987;}
          else {
            a_840X = ((arg2_838X)>>2);
            b_841X = ((y_839X)>>2);
            if ((a_840X < 0)) {
              arg0K0 = (0 - a_840X);
              goto L9280;}
            else {
              arg0K0 = a_840X;
              goto L9280;}}}
        else {
          if ((0 == (3 & arg2_838X))) {
            goto L43938;}
          else {
            if ((3 == (3 & arg2_838X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_838X))) + -4))))>>2))))) {
                goto L43938;}
              else {
                goto L43975;}}
            else {
              goto L43975;}}}}}
      break;
    case 59 : {
      arg2_842X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_843X = SvalS;
      if ((0 == (3 & (arg2_842X | y_843X)))) {
        if ((arg2_842X == y_843X)) {
          arg0K0 = 5;
          goto L35639;}
        else {
          arg0K0 = 1;
          goto L35639;}}
      else {
        if ((0 == (3 & arg2_842X))) {
          goto L35645;}
        else {
          if ((3 == (3 & arg2_842X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_842X))) + -4))))>>2))))) {
              goto L35645;}
            else {
              goto L35656;}}
          else {
            goto L35656;}}}}
      break;
    case 60 : {
      arg2_844X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_845X = SvalS;
      if ((0 == (3 & (arg2_844X | y_845X)))) {
        if ((arg2_844X < y_845X)) {
          arg0K0 = 5;
          goto L35899;}
        else {
          arg0K0 = 1;
          goto L35899;}}
      else {
        if ((0 == (3 & arg2_844X))) {
          goto L35905;}
        else {
          if ((3 == (3 & arg2_844X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_844X))) + -4))))>>2))))) {
              goto L35905;}
            else {
              goto L35916;}}
          else {
            goto L35916;}}}}
      break;
    case 61 : {
      arg2_846X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_847X = SvalS;
      if ((0 == (3 & (arg2_846X | y_847X)))) {
        if ((y_847X < arg2_846X)) {
          arg0K0 = 5;
          goto L36222;}
        else {
          arg0K0 = 1;
          goto L36222;}}
      else {
        if ((0 == (3 & arg2_846X))) {
          goto L36228;}
        else {
          if ((3 == (3 & arg2_846X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_846X))) + -4))))>>2))))) {
              goto L36228;}
            else {
              goto L36239;}}
          else {
            goto L36239;}}}}
      break;
    case 62 : {
      arg2_848X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_849X = SvalS;
      if ((0 == (3 & (arg2_848X | y_849X)))) {
        if ((y_849X < arg2_848X)) {
          arg0K0 = 1;
          goto L36545;}
        else {
          arg0K0 = 5;
          goto L36545;}}
      else {
        if ((0 == (3 & arg2_848X))) {
          goto L36551;}
        else {
          if ((3 == (3 & arg2_848X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_848X))) + -4))))>>2))))) {
              goto L36551;}
            else {
              goto L36562;}}
          else {
            goto L36562;}}}}
      break;
    case 63 : {
      arg2_850X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_851X = SvalS;
      if ((0 == (3 & (arg2_850X | y_851X)))) {
        if ((arg2_850X < y_851X)) {
          arg0K0 = 1;
          goto L36839;}
        else {
          arg0K0 = 5;
          goto L36839;}}
      else {
        if ((0 == (3 & arg2_850X))) {
          goto L36845;}
        else {
          if ((3 == (3 & arg2_850X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_850X))) + -4))))>>2))))) {
              goto L36845;}
            else {
              goto L36856;}}
          else {
            goto L36856;}}}}
      break;
    case 64 : {
      arg2_852X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_853X = SvalS;
      if ((0 == y_853X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_852X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_853X);
        arg0K0 = 2;
        goto L24987;}
      else {
        if ((0 == (3 & (arg2_852X | y_853X)))) {
          if ((0 == y_853X)) {
            arg0K0 = arg2_852X;
            arg0K1 = y_853X;
            goto L20741;}
          else {
            a_854X = ((arg2_852X)>>2);
            b_855X = ((y_853X)>>2);
            if ((a_854X < 0)) {
              arg0K0 = (0 - a_854X);
              goto L9971;}
            else {
              arg0K0 = a_854X;
              goto L9971;}}}
        else {
          if ((0 == (3 & arg2_852X))) {
            goto L37145;}
          else {
            if ((3 == (3 & arg2_852X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_852X))) + -4))))>>2))))) {
                goto L37145;}
              else {
                goto L37154;}}
            else {
              goto L37154;}}}}}
      break;
    case 65 : {
      arg2_856X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_857X = SvalS;
      if ((0 == y_857X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_856X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_857X);
        arg0K0 = 2;
        goto L24987;}
      else {
        if ((0 == (3 & (arg2_856X | y_857X)))) {
          if ((0 == y_857X)) {
            arg0K0 = arg2_856X;
            arg0K1 = y_857X;
            goto L20832;}
          else {
            a_858X = ((arg2_856X)>>2);
            if ((a_858X < 0)) {
              arg0K0 = (0 - a_858X);
              goto L37359;}
            else {
              arg0K0 = a_858X;
              goto L37359;}}}
        else {
          if ((0 == (3 & arg2_856X))) {
            goto L37321;}
          else {
            if ((3 == (3 & arg2_856X))) {
              if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_856X))) + -4))))>>2))))) {
                goto L37321;}
              else {
                goto L37330;}}
            else {
              goto L37330;}}}}}
      break;
    case 66 : {
      n_859X = SvalS;
      if ((0 == (3 & n_859X))) {
        goto L37508;}
      else {
        if ((3 == (3 & n_859X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_859X))) + -4))))>>2))))) {
            goto L37508;}
          else {
            goto L37509;}}
        else {
          goto L37509;}}}
      break;
    case 67 : {
      n_860X = SvalS;
      if ((0 == (3 & n_860X))) {
        goto L37563;}
      else {
        if ((3 == (3 & n_860X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_860X))) + -4))))>>2))))) {
            goto L37563;}
          else {
            goto L37564;}}
        else {
          goto L37564;}}}
      break;
    case 68 : {
      n_861X = SvalS;
      if ((0 == (3 & n_861X))) {
        goto L37618;}
      else {
        if ((3 == (3 & n_861X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_861X))) + -4))))>>2))))) {
            goto L37618;}
          else {
            goto L37621;}}
        else {
          goto L37621;}}}
      break;
    case 69 : {
      n_862X = SvalS;
      if ((0 == (3 & n_862X))) {
        goto L37678;}
      else {
        if ((3 == (3 & n_862X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_862X))) + -4))))>>2))))) {
            goto L37678;}
          else {
            goto L37679;}}
        else {
          goto L37679;}}}
      break;
    case 70 : {
      n_863X = SvalS;
      if ((0 == (3 & n_863X))) {
        goto L37733;}
      else {
        if ((3 == (3 & n_863X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_863X))) + -4))))>>2))))) {
            goto L37733;}
          else {
            goto L37736;}}
        else {
          goto L37736;}}}
      break;
    case 71 : {
      x_864X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_864X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 72 : {
      x_865X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_865X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 73 : {
      x_866X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_866X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 74 : {
      x_867X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_867X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 75 : {
      x_868X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_868X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 76 : {
      x_869X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_869X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 77 : {
      x_870X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_870X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 78 : {
      x_871X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_871X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 79 : {
      x_872X = SvalS;
      if ((0 == (3 & x_872X))) {
        goto L45260;}
      else {
        if ((3 == (3 & x_872X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_872X))) + -4))))>>2))))) {
            goto L45260;}
          else {
            goto L45263;}}
        else {
          goto L45263;}}}
      break;
    case 80 : {
      x_873X = SvalS;
      if ((0 == (3 & x_873X))) {
        goto L48199;}
      else {
        if ((3 == (3 & x_873X))) {
          if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_873X))) + -4))))>>2))))) {
            goto L48199;}
          else {
            goto L48202;}}
        else {
          goto L48202;}}}
      break;
    case 81 : {
      x_874X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_874X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 82 : {
      arg2_875X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_876X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_875X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_876X);
      arg0K0 = 2;
      goto L24987;}
      break;
    case 83 : {
      arg2_877X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_878X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_877X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_878X);
      arg0K0 = 2;
      goto L24987;}
      break;
    case 84 : {
      arg2_879X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_880X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_879X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_880X);
      arg0K0 = 2;
      goto L24987;}
      break;
    case 85 : {
      x_881X = SvalS;
      if ((0 == (3 & x_881X))) {
        SvalS = (~ (3 | x_881X));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        if ((0 == (3 & x_881X))) {
          goto L37879;}
        else {
          if ((3 == (3 & x_881X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_881X))) + -4))))>>2))))) {
              goto L37879;}
            else {
              goto L37882;}}
          else {
            goto L37882;}}}}
      break;
    case 86 : {
      x_882X = SvalS;
      if ((0 == (3 & x_882X))) {
        x_883X = ((x_882X)>>2);
        if ((x_883X < 0)) {
          arg0K0 = (~ x_883X);
          goto L37970;}
        else {
          arg0K0 = x_883X;
          goto L37970;}}
      else {
        if ((0 == (3 & x_882X))) {
          goto L37953;}
        else {
          if ((3 == (3 & x_882X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + x_882X))) + -4))))>>2))))) {
              goto L37953;}
            else {
              goto L37956;}}
          else {
            goto L37956;}}}}
      break;
    case 87 : {
      arg2_884X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_885X = SvalS;
      if ((0 == (3 & (arg2_884X | y_885X)))) {
        SvalS = (arg2_884X & y_885X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        if ((0 == (3 & arg2_884X))) {
          goto L38055;}
        else {
          if ((3 == (3 & arg2_884X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_884X))) + -4))))>>2))))) {
              goto L38055;}
            else {
              goto L38064;}}
          else {
            goto L38064;}}}}
      break;
    case 88 : {
      arg2_886X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_887X = SvalS;
      if ((0 == (3 & (arg2_886X | y_887X)))) {
        SvalS = (arg2_886X | y_887X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        if ((0 == (3 & arg2_886X))) {
          goto L38218;}
        else {
          if ((3 == (3 & arg2_886X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_886X))) + -4))))>>2))))) {
              goto L38218;}
            else {
              goto L38227;}}
          else {
            goto L38227;}}}}
      break;
    case 89 : {
      arg2_888X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_889X = SvalS;
      if ((0 == (3 & (arg2_888X | y_889X)))) {
        SvalS = (arg2_888X ^ y_889X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        if ((0 == (3 & arg2_888X))) {
          goto L38381;}
        else {
          if ((3 == (3 & arg2_888X))) {
            if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_888X))) + -4))))>>2))))) {
              goto L38381;}
            else {
              goto L38390;}}
          else {
            goto L38390;}}}}
      break;
    case 90 : {
      arg2_890X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_891X = SvalS;
      if ((3 == (3 & y_891X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_891X))) + -4))))>>2))))) {
          v_892X = s48_bignum_test((((char *) (-3 + y_891X))));
          if ((1 == v_892X)) {push_exception_setupB(6, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_890X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_891X);
            arg0K0 = 2;
            goto L24987;}
          else {
            if ((0 == (3 & arg2_890X))) {
              if ((arg2_890X < 0)) {
                arg0K0 = -4;
                goto L34773;}
              else {
                arg0K0 = 0;
                goto L34773;}}
            else {
              if ((3 == (3 & arg2_890X))) {
                if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_890X))) + -4))))>>2))))) {
                  v_893X = s48_bignum_test((((char *) (-3 + arg2_890X))));
                  if ((1 == v_893X)) {
                    arg0K0 = 0;
                    goto L34789;}
                  else {
                    arg0K0 = -4;
                    goto L34789;}}
                else {
                  goto L34790;}}
              else {
                goto L34790;}}}}
        else {
          goto L44320;}}
      else {
        goto L44320;}}
      break;
    case 91 : {
      x_894X = SvalS;
      if ((9 == (255 & x_894X))) {
        arg0K0 = 5;
        goto L50826;}
      else {
        arg0K0 = 1;
        goto L50826;}}
      break;
    case 92 : {
      arg2_895X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_895X))) {
        if ((9 == (255 & (SvalS)))) {
          x_896X = SvalS;
          if ((arg2_895X == x_896X)) {
            arg0K0 = 5;
            goto L41589;}
          else {
            arg0K0 = 1;
            goto L41589;}}
        else {
          goto L41560;}}
      else {
        goto L41560;}}
      break;
    case 93 : {
      arg2_897X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_897X))) {
        if ((9 == (255 & (SvalS)))) {
          x_898X = SvalS;
          if ((arg2_897X < x_898X)) {
            arg0K0 = 5;
            goto L41497;}
          else {
            arg0K0 = 1;
            goto L41497;}}
        else {
          goto L41468;}}
      else {
        goto L41468;}}
      break;
    case 94 : {
      if ((9 == (255 & (SvalS)))) {
        SvalS = ((((((unsigned char) (((char) ((((SvalS))>>8)))))))<<2));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {push_exception_setupB(5, 1);
        x_899X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_899X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 95 : {
      if ((0 == (3 & (SvalS)))) {
        x_900X = (((SvalS))>>2);
        if ((255 < x_900X)) {
          goto L45569;}
        else {
          if ((x_900X < 0)) {
            goto L45569;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) x_900X)))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L26349;}}}
      else {push_exception_setupB(5, 1);
        x_901X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_901X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 96 : {
      x_902X = SvalS;
      if ((21 == x_902X)) {
        arg0K0 = 5;
        goto L50857;}
      else {
        arg0K0 = 1;
        goto L50857;}}
      break;
    case 97 : {
      x_903X = SvalS;
      type_904X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & x_903X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + x_903X))) + -4))))>>2))) == type_904X)) {
          arg0K0 = 5;
          goto L50871;}
        else {
          arg0K0 = 1;
          goto L50871;}}
      else {
        arg0K0 = 1;
        goto L50871;}}
      break;
    case 98 : {
      stob_905X = SvalS;
      type_906X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_905X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_905X))) + -4))))>>2))) == type_906X)) {
          SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_905X))) + -4))))>>8))));
          Scode_pointerS = ((Scode_pointerS) + 2);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L28947;}}
      else {
        goto L28947;}}
      break;
    case 99 : {
      len_907X = *((unsigned char *) ((Scode_pointerS) + 1));s48_make_availableAgc((4 + (((len_907X)<<2))));
      type_908X = *((unsigned char *) ((Scode_pointerS) + 2));
      len_909X = ((len_907X)<<2);
      addr_910X = s48_allocate_small((4 + len_909X));
      *((long *) addr_910X) = (long) ((2 + (((((((len_909X)<<6)) + type_908X))<<2))));
      new_911X = 3 + (((long) (addr_910X + 4)));
      if ((len_907X < 1)) {
        goto L29052;}
      else {
        *((long *) ((((char *) (-3 + new_911X))) + (-4 + (((len_907X)<<2))))) = (long) ((SvalS));
        arg0K0 = (-2 + len_907X);
        goto L29036;}}
      break;
    case 100 : {
      p_912X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      len_913X = ((p_912X)>>2);s48_make_availableAgc((4 + (((len_913X)<<2))));
      type_914X = *((unsigned char *) ((Scode_pointerS) + 1));
      len_915X = ((len_913X)<<2);
      addr_916X = s48_allocate_small((4 + len_915X));
      *((long *) addr_916X) = (long) ((2 + (((((((len_915X)<<6)) + type_914X))<<2))));
      new_917X = 3 + (((long) (addr_916X + 4)));
      p_918X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_919X = ((p_918X)>>2);
      rest_list_920X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = (-1 + stack_nargs_919X);
      goto L29170;}
      break;
    case 101 : {
      stob_921X = SvalS;
      type_922X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_923X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_921X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_921X))) + -4))))>>2))) == type_922X)) {
          SvalS = (*((long *) ((((char *) (-3 + stob_921X))) + (((offset_923X)<<2)))));
          Scode_pointerS = ((Scode_pointerS) + 3);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L29338;}}
      else {
        goto L29338;}}
      break;
    case 102 : {
      arg2_924X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_925X = SvalS;
      type_926X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_927X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & arg2_924X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + arg2_924X))) + -4))))>>2))) == type_926X)) {
          if ((3 == (3 & arg2_924X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg2_924X))) + -4)))))) {
              v_928X = *((unsigned char *) ((Scode_pointerS) + 3));
              if ((0 == v_928X)) {
                goto L29455;}
              else {
                if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                  goto L29455;}
                else {
                  merged_arg0K0 = arg2_924X;
                  merged_arg0K1 = (((offset_927X)<<2));
                  merged_arg0K2 = value_925X;
                  proposal_d_write_return_tag = 0;
                  goto proposal_d_write;
                 proposal_d_write_return_0:
                  goto L29464;}}}
            else {
              goto L29465;}}
          else {
            goto L29465;}}
        else {
          goto L29465;}}
      else {
        goto L29465;}}
      break;
    case 103 : {
      arg2_929X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      init_930X = SvalS;
      type_931X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_929X))) {
        len_932X = ((arg2_929X)>>2);
        if ((len_932X < 0)) {
          goto L29682;}
        else {
          if ((4194304 < len_932X)) {
            goto L29682;}
          else {
            Stemp0S = init_930X;
            len_933X = ((len_932X)<<2);
            addr_934X = s48_allocate_tracedAgc((4 + len_933X));
            if ((addr_934X == NULL)) {
              arg0K0 = 1;
              goto L29699;}
            else {
              *((long *) addr_934X) = (long) ((2 + (((((((len_933X)<<6)) + type_931X))<<2))));
              arg0K0 = (3 + (((long) (addr_934X + 4))));
              goto L29699;}}}}
      else {push_exception_setupB(5, 2);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((type_931X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_929X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (init_930X);
        arg0K0 = 3;
        goto L24987;}}
      break;
    case 104 : {
      arg2_935X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      index_936X = SvalS;
      type_937X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & index_936X))) {
        if ((3 == (3 & arg2_935X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg2_935X))) + -4))))>>2))) == type_937X)) {
            len_938X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_935X))) + -4))))>>8))))>>2);
            index_939X = ((index_936X)>>2);
            if ((index_939X < 0)) {
              goto L29972;}
            else {
              if ((index_939X < len_938X)) {
                v_940X = *((unsigned char *) ((Scode_pointerS) + 2));
                if ((0 == v_940X)) {
                  goto L29962;}
                else {
                  if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                    goto L29962;}
                  else {
                    merged_arg0K0 = arg2_935X;
                    merged_arg0K1 = index_936X;
                    proposal_d_read_return_tag = 0;
                    goto proposal_d_read;
                   proposal_d_read_return_0:
                    v_941X = proposal_d_read0_return_value;
                    arg0K0 = v_941X;
                    goto L29971;}}}
              else {
                goto L29972;}}}
          else {
            goto L29927;}}
        else {
          goto L29927;}}
      else {
        goto L29927;}}
      break;
    case 105 : {
      arg2_942X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_943X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_944X = SvalS;
      type_945X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_942X))) {
        if ((3 == (3 & arg3_943X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg3_943X))) + -4))))>>2))) == type_945X)) {
            if ((3 == (3 & arg3_943X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_943X))) + -4)))))) {
                len_946X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_943X))) + -4))))>>8))))>>2);
                index_947X = ((arg2_942X)>>2);
                if ((index_947X < 0)) {
                  goto L30259;}
                else {
                  if ((index_947X < len_946X)) {
                    v_948X = *((unsigned char *) ((Scode_pointerS) + 2));
                    if ((0 == v_948X)) {
                      goto L30249;}
                    else {
                      if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                        goto L30249;}
                      else {
                        merged_arg0K0 = arg3_943X;
                        merged_arg0K1 = arg2_942X;
                        merged_arg0K2 = value_944X;
                        proposal_d_write_return_tag = 1;
                        goto proposal_d_write;
                       proposal_d_write_return_1:
                        goto L30258;}}}
                  else {
                    goto L30259;}}}
              else {
                goto L30212;}}
            else {
              goto L30212;}}
          else {
            goto L30212;}}
        else {
          goto L30212;}}
      else {
        goto L30212;}}
      break;
    case 106 : {
      arg2_949X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (arg2_949X | (SvalS))))) {
        len_950X = ((arg2_949X)>>2);
        init_951X = (((SvalS))>>2);
        if ((len_950X < 0)) {
          goto L38602;}
        else {
          if ((4194304 < ((((3 + len_950X))>>2)))) {
            goto L38602;}
          else {
            addr_952X = s48_allocate_untracedAgc((4 + len_950X));
            if ((addr_952X == NULL)) {
              arg0K0 = 1;
              goto L38615;}
            else {
              *((long *) addr_952X) = (long) ((74 + (((len_950X)<<8))));
              arg0K0 = (3 + (((long) (addr_952X + 4))));
              goto L38615;}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_949X);
        x_953X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_953X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 107 : {
      obj_954X = SvalS;
      if ((3 == (3 & obj_954X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + obj_954X))) + -4))))>>2))))) {
          SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L49853;}}
      else {
        goto L49853;}}
      break;
    case 108 : {
      arg2_955X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_955X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_955X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_956X = (((SvalS))>>2);
            len_957X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_955X))) + -4))))>>8);
            if ((index_956X < 0)) {
              goto L45677;}
            else {
              if ((index_956X < len_957X)) {
                SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_955X))) + index_956X))))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L26349;}
              else {
                goto L45677;}}}
          else {
            goto L48818;}}
        else {
          goto L48818;}}
      else {
        goto L48818;}}
      break;
    case 109 : {
      arg2_958X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_959X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_959X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_959X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_958X | (SvalS))))) {
            index_960X = ((arg2_958X)>>2);
            Kchar_961X = (((SvalS))>>2);
            if ((3 == (3 & arg3_959X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_959X))) + -4)))))) {
                len_962X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_959X))) + -4))))>>8);
                if ((index_960X < 0)) {
                  goto L42907;}
                else {
                  if ((index_960X < len_962X)) {
                    *((unsigned char *) ((((char *) (-3 + arg3_959X))) + index_960X)) = (unsigned char) (Kchar_961X);
                    SvalS = 13;
                    Scode_pointerS = ((Scode_pointerS) + 1);
                    arg1K0 = (Scode_pointerS);
                    goto L26349;}
                  else {
                    goto L42907;}}}
              else {
                goto L42886;}}
            else {
              goto L42886;}}
          else {
            goto L47519;}}
        else {
          goto L47519;}}
      else {
        goto L47519;}}
      break;
    case 110 : {
      arg2_963X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_963X))) {
        if ((9 == (255 & (SvalS)))) {
          len_964X = ((arg2_963X)>>2);
          init_965X = ((char) ((((SvalS))>>8)));
          if ((len_964X < 0)) {
            goto L38782;}
          else {
            if ((4194304 < ((((4 + len_964X))>>2)))) {
              goto L38782;}
            else {
              len_966X = 1 + len_964X;
              addr_967X = s48_allocate_untracedAgc((4 + len_966X));
              if ((addr_967X == NULL)) {
                arg0K0 = 1;
                goto L38795;}
              else {
                *((long *) addr_967X) = (long) ((70 + (((len_966X)<<8))));
                arg0K0 = (3 + (((long) (addr_967X + 4))));
                goto L38795;}}}}
        else {
          goto L45758;}}
      else {
        goto L45758;}}
      break;
    case 111 : {
      obj_968X = SvalS;
      if ((3 == (3 & obj_968X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_968X))) + -4))))>>2))))) {
          SvalS = (-4 + (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2)));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L49903;}}
      else {
        goto L49903;}}
      break;
    case 112 : {
      arg2_969X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_969X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_969X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_970X = (((SvalS))>>2);
            len_971X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_969X))) + -4))))>>8));
            if ((index_970X < 0)) {
              goto L45823;}
            else {
              if ((index_970X < len_971X)) {
                SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_969X))) + index_970X))))))))<<8)));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L26349;}
              else {
                goto L45823;}}}
          else {
            goto L48916;}}
        else {
          goto L48916;}}
      else {
        goto L48916;}}
      break;
    case 113 : {
      arg2_972X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_973X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_973X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_973X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_972X))) {
            if ((9 == (255 & (SvalS)))) {
              index_974X = ((arg2_972X)>>2);
              Kchar_975X = ((char) ((((SvalS))>>8)));
              if ((3 == (3 & arg3_973X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_973X))) + -4)))))) {
                  len_976X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_973X))) + -4))))>>8));
                  if ((index_974X < 0)) {
                    goto L43062;}
                  else {
                    if ((index_974X < len_976X)) {
                      *((unsigned char *) ((((char *) (-3 + arg3_973X))) + index_974X)) = (unsigned char) ((((unsigned char) Kchar_975X)));
                      SvalS = 13;
                      Scode_pointerS = ((Scode_pointerS) + 1);
                      arg1K0 = (Scode_pointerS);
                      goto L26349;}
                    else {
                      goto L43062;}}}
                else {
                  goto L43041;}}
              else {
                goto L43041;}}
            else {
              goto L47649;}}
          else {
            goto L47649;}}
        else {
          goto L47649;}}
      else {
        goto L47649;}}
      break;
    case 114 : {s48_make_availableAgc(12);
      obj_977X = SvalS;
      if ((3 == (3 & obj_977X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_977X))) + -4))))>>2))))) {
          table_978X = Sthe_symbol_tableS;
          string_979X = SvalS;
          n_980X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + string_979X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L22890;}
        else {
          goto L34935;}}
      else {
        goto L34935;}}
      break;
    case 115 : {
      obj_981X = SvalS;
      if ((3 == (3 & obj_981X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_981X))) + -4))))>>2))))) {
          x_982X = SvalS;
          descriptor_983X = *((long *) ((((char *) (-3 + x_982X))) + 4));
          if ((17 == (255 & descriptor_983X))) {
            if ((529 == (*((long *) ((((char *) (-3 + x_982X))) + 4))))) {
              arg0K0 = 5;
              goto L47213;}
            else {
              arg0K0 = 1;
              goto L47213;}}
          else {
            arg0K0 = 5;
            goto L47213;}}
        else {
          goto L47194;}}
      else {
        goto L47194;}}
      break;
    case 116 : {
      arg2_984X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_984X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_984X))) + -4))))>>2))))) {
          x_985X = SvalS;
          if ((1 == x_985X)) {
            goto L42664;}
          else {
            if ((5 == x_985X)) {
              goto L42664;}
            else {
              goto L42671;}}}
        else {
          goto L42671;}}
      else {
        goto L42671;}}
      break;
    case 117 : {
      x_986X = SvalS;
      if ((3 == (3 & x_986X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_986X))) + -4)))))) {
          arg0K0 = 1;
          goto L50953;}
        else {
          arg0K0 = 5;
          goto L50953;}}
      else {
        arg0K0 = 5;
        goto L50953;}}
      break;
    case 118 : {
      x_987X = SvalS;
      if ((3 == (3 & x_987X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_987X))) + -4)))))) {
          *((long *) ((((char *) (-3 + x_987X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_987X))) + -4)))));
          goto L45905;}
        else {
          goto L45905;}}
      else {
        goto L45905;}}
      break;
    case 119 : {s48_make_availableAgc(32);
      arg2_988X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_989X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_988X))) {
        mode_990X = ((arg2_988X)>>2);
        close_silentlyP_991X = SvalS;
        if ((1 == mode_990X)) {
          goto L39207;}
        else {
          if ((2 == mode_990X)) {
            goto L39207;}
          else {
            if ((3 == mode_990X)) {
              goto L39207;}
            else {
              if ((4 == mode_990X)) {
                goto L39207;}
              else {push_exception_setupB(5, 1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (arg3_989X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
                arg0K0 = 2;
                goto L24987;}}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_989X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_988X);
        x_992X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_992X);
        arg0K0 = 3;
        goto L24987;}}
      break;
    case 120 : {s48_make_availableAgc(520);
      obj_993X = SvalS;
      if ((3 == (3 & obj_993X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_993X))) + -4))))>>2))))) {
          channel_994X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_994X))))))) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_994X);
            arg0K0 = 1;
            goto L24987;}
          else {
            status_995X = close_channelB(channel_994X);
            if ((status_995X == NO_ERRORS)) {
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L26349;}
            else {push_exception_setupB(24, 1);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_994X);
              merged_arg0K0 = status_995X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 0;
              goto get_error_string;
             get_error_string_return_0:
              x_996X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_996X);
              arg0K0 = 2;
              goto L24987;}}}
        else {
          goto L50972;}}
      else {
        goto L50972;}}
      break;
    case 121 : {s48_make_availableAgc(8);
      arg2_997X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_998X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_999X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1000X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_1000X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1000X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg3_998X | arg2_997X)))) {
            x_1001X = SvalS;
            if ((1 == x_1001X)) {
              goto L46076;}
            else {
              if ((5 == x_1001X)) {
                goto L46076;}
              else {
                goto L46087;}}}
          else {
            goto L46087;}}
        else {
          goto L46087;}}
      else {
        goto L46087;}}
      break;
    case 122 : {s48_make_availableAgc(8);
      arg2_1002X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1003X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1004X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_1004X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1004X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_1002X | (SvalS))))) {
            start_1005X = ((arg2_1002X)>>2);
            count_1006X = (((SvalS))>>2);
            v_1007X = 8 == (*((long *) (((char *) (-3 + arg4_1004X)))));
            if (v_1007X) {
              if ((3 == (3 & arg3_1003X))) {
                if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1003X))) + -4))))>>2))))) {
                  goto L39800;}
                else {
                  goto L39952;}}
              else {
                goto L39952;}}
            else {
              goto L39842;}}
          else {
            goto L46290;}}
        else {
          goto L46290;}}
      else {
        goto L46290;}}
      break;
    case 123 : {s48_make_availableAgc(520);
      obj_1008X = SvalS;
      if ((3 == (3 & obj_1008X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1008X))) + -4))))>>2))))) {
          channel_1009X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_1009X))))))) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_1009X);
            arg0K0 = 1;
            goto L24987;}
          else {
            readyP_1010X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1009X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1009X)))))), &status_1011X);
            if ((status_1011X == NO_ERRORS)) {
              if (readyP_1010X) {
                arg0K0 = 5;
                goto L42255;}
              else {
                arg0K0 = 1;
                goto L42255;}}
            else {push_exception_setupB(24, 1);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_1009X);
              merged_arg0K0 = status_1011X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 1;
              goto get_error_string;
             get_error_string_return_1:
              x_1012X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_1012X);
              arg0K0 = 2;
              goto L24987;}}}
        else {
          goto L50996;}}
      else {
        goto L50996;}}
      break;
    case 124 : {
      obj_1013X = SvalS;
      if ((3 == (3 & obj_1013X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1013X))) + -4))))>>2))))) {
          channel_1014X = SvalS;
          head_1015X = Spending_channels_headS;
          if ((1 == head_1015X)) {
            addr_1016X = (((char *) (-3 + channel_1014X))) + 20;S48_WRITE_BARRIER(channel_1014X, addr_1016X, 1);
            *((long *) addr_1016X) = (long) (1);
            n_1017X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1014X))) + 8))))>>2)));
            arg0K0 = (((n_1017X)<<2));
            goto L46438;}
          else {
            if ((channel_1014X == head_1015X)) {
              channel_1018X = Spending_channels_headS;
              next_1019X = *((long *) ((((char *) (-3 + channel_1018X))) + 16));
              Spending_channels_headS = next_1019X;
              addr_1020X = (((char *) (-3 + channel_1018X))) + 16;S48_WRITE_BARRIER(channel_1018X, addr_1020X, 1);
              *((long *) addr_1020X) = (long) (1);
              if ((1 == next_1019X)) {
                Spending_channels_tailS = 1;
                goto L11985;}
              else {
                goto L11985;}}
            else {
              arg0K0 = (*((long *) ((((char *) (-3 + head_1015X))) + 16)));
              arg0K1 = head_1015X;
              goto L12003;}}}
        else {
          goto L46421;}}
      else {
        goto L46421;}}
      break;
    case 125 : {s48_make_availableAgc(((((3 * (Snumber_of_channelsS)))<<2)));
      arg0K0 = (-1 + (Snumber_of_channelsS));
      arg0K1 = 25;
      goto L18860;}
      break;
    case 126 : {
      SvalS = (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)));
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 127 : {
      proposal_1021X = SvalS;
      if ((1 == proposal_1021X)) {
        goto L40085;}
      else {
        if ((3 == (3 & proposal_1021X))) {
          if ((2 == (31 & ((((*((long *) ((((char *) (-3 + proposal_1021X))) + -4))))>>2))))) {
            if ((4 == ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proposal_1021X))) + -4))))>>8))))>>2)))) {
              if ((1 == (*((long *) (((char *) (-3 + proposal_1021X))))))) {
                goto L40085;}
              else {
                goto L40116;}}
            else {
              goto L40116;}}
          else {
            goto L40116;}}
        else {
          goto L40116;}}}
      break;
    case 128 : {
      proposal_1022X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
      if ((1 == proposal_1022X)) {push_exception_setupB(26, 1);
        arg0K0 = 0;
        goto L24987;}
      else {GET_PROPOSAL_LOCK();
        log_1023X = *((long *) ((((char *) (-3 + proposal_1022X))) + 4));
        arg0K0 = 0;
        goto L10758;}}
      break;
    case 129 : {
      stob_1024X = SvalS;
      type_1025X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_1026X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_1024X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_1024X))) + -4))))>>2))) == type_1025X)) {
          x_1027X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
          if ((1 == x_1027X)) {
            arg0K0 = (*((long *) ((((char *) (-3 + stob_1024X))) + (((offset_1026X)<<2)))));
            goto L30557;}
          else {
            merged_arg0K0 = stob_1024X;
            merged_arg0K1 = (((offset_1026X)<<2));
            proposal_d_read_return_tag = 1;
            goto proposal_d_read;
           proposal_d_read_return_1:
            v_1028X = proposal_d_read0_return_value;
            arg0K0 = v_1028X;
            goto L30557;}}
        else {
          goto L30558;}}
      else {
        goto L30558;}}
      break;
    case 130 : {
      arg2_1029X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1030X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1031X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1032X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & ((arg4_1031X | arg2_1029X) | (SvalS))))) {
        from_index_1033X = ((arg4_1031X)>>2);
        to_index_1034X = ((arg2_1029X)>>2);
        count_1035X = (((SvalS))>>2);
        v_1036X = *((unsigned char *) ((Scode_pointerS) + 1));
        merged_arg0K0 = arg5_1032X;
        merged_arg0K1 = from_index_1033X;
        merged_arg0K2 = count_1035X;
        okay_copy_argsP_return_tag = 0;
        goto okay_copy_argsP;
       okay_copy_argsP_return_0:
        v_1037X = okay_copy_argsP0_return_value;
        if (v_1037X) {
          merged_arg0K0 = arg3_1030X;
          merged_arg0K1 = to_index_1034X;
          merged_arg0K2 = count_1035X;
          okay_copy_argsP_return_tag = 1;
          goto okay_copy_argsP;
         okay_copy_argsP_return_1:
          v_1038X = okay_copy_argsP0_return_value;
          if (v_1038X) {
            if ((3 == (3 & arg3_1030X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1030X))) + -4)))))) {
                if ((count_1035X < 0)) {
                  goto L30651;}
                else {
                  if ((0 == v_1036X)) {
                    goto L30711;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L30711;}
                    else {
                      arg0K0 = 4096;
                      arg0K1 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 12)));
                      goto L30799;}}}}
              else {
                goto L30651;}}
            else {
              goto L30651;}}
          else {
            goto L30651;}}
        else {
          goto L30651;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg5_1032X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1031X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1030X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1029X);
        x_1039X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1039X);
        arg0K0 = 5;
        goto L24987;}}
      break;
    case 131 : {
      arg2_1040X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1040X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1040X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_1041X = (((SvalS))>>2);
            len_1042X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1040X))) + -4))))>>8);
            if ((index_1041X < 0)) {
              goto L31008;}
            else {
              if ((index_1041X < len_1042X)) {
                x_1043X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                if ((1 == x_1043X)) {
                  arg0K0 = ((((*((unsigned char *) ((((char *) (-3 + arg2_1040X))) + index_1041X))))<<2));
                  goto L31007;}
                else {
                  index_1044X = ((index_1041X)<<2);
                  log_1045X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                  arg0K0 = 0;
                  goto L16399;}}
              else {
                goto L31008;}}}
          else {
            goto L34225;}}
        else {
          goto L34225;}}
      else {
        goto L34225;}}
      break;
    case 132 : {
      arg2_1046X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1047X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_1047X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1047X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_1046X))) {
            index_1048X = ((arg2_1046X)>>2);
            byte_1049X = SvalS;
            if ((3 == (3 & arg3_1047X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1047X))) + -4)))))) {
                if ((0 == (3 & byte_1049X))) {
                  len_1050X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1047X))) + -4))))>>8);
                  if ((index_1048X < 0)) {
                    goto L31134;}
                  else {
                    if ((index_1048X < len_1050X)) {
                      x_1051X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                      if ((1 == x_1051X)) {
                        *((unsigned char *) ((((char *) (-3 + arg3_1047X))) + index_1048X)) = (unsigned char) ((((byte_1049X)>>2)));
                        goto L31133;}
                      else {
                        index_1052X = ((index_1048X)<<2);
                        log_1053X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                        arg0K0 = 0;
                        goto L16575;}}
                    else {
                      goto L31134;}}}
                else {
                  goto L31099;}}
              else {
                goto L31099;}}
            else {
              goto L31099;}}
          else {
            goto L34330;}}
        else {
          goto L34330;}}
      else {
        goto L34330;}}
      break;
    case 133 : {
      SvalS = 529;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 134 : {
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 135 : {
      x_1054X = SvalS;push_exception_setupB(15, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1054X);
      arg0K0 = 1;
      goto L24987;}
      break;
    case 136 : {
      SvalS = 1;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 137 : {
      SvalS = 21;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 138 : {s48_make_availableAgc(520);
      arg2_1055X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1056X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1057X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_1057X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1057X))) + -4))))>>2))))) {
          if ((3 == (3 & arg2_1055X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1055X))) + -4))))>>2))))) {
              obj_1058X = SvalS;
              if ((3 == (3 & obj_1058X))) {
                if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1058X))) + -4))))>>2))))) {
                  undumpables_1059X = SvalS;
                  port_1060X = ps_open_output_file((((char *)(((char *) (-3 + arg4_1057X))))), &status_1061X);
                  if ((status_1061X == NO_ERRORS)) {
                    status_1062X = ps_write_string((((char *)(((char *) (-3 + arg2_1055X))))), port_1060X);
                    if ((status_1062X == NO_ERRORS)) {
                      status_1063X = s48_write_image(arg3_1056X, undumpables_1059X, port_1060X);
                      if ((status_1063X == NO_ERRORS)) {
                        status_1064X = ps_close(port_1060X);
                        if ((status_1064X == NO_ERRORS)) {
                          SvalS = 13;
                          Scode_pointerS = ((Scode_pointerS) + 1);
                          arg1K0 = (Scode_pointerS);
                          goto L26349;}
                        else {
                          arg0K0 = 24;
                          arg0K1 = status_1064X;
                          goto L43290;}}
                      else {
                        status_1065X = ps_close(port_1060X);
                        if ((status_1065X == NO_ERRORS)) {
                          arg0K0 = 24;
                          arg0K1 = status_1063X;
                          goto L43290;}
                        else {
                          ps_write_string("Unable to close image file", (stderr));
                          { long ignoreXX;
                          PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                          arg0K0 = 24;
                          arg0K1 = status_1063X;
                          goto L43290;}}}
                    else {
                      status_1066X = ps_close(port_1060X);
                      if ((status_1066X == NO_ERRORS)) {
                        arg0K0 = 24;
                        arg0K1 = status_1062X;
                        goto L43290;}
                      else {
                        ps_write_string("Unable to close image file", (stderr));
                        { long ignoreXX;
                        PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                        arg0K0 = 24;
                        arg0K1 = status_1062X;
                        goto L43290;}}}
                  else {
                    arg0K0 = 10;
                    arg0K1 = status_1061X;
                    goto L43290;}}
                else {
                  goto L47850;}}
              else {
                goto L47850;}}
            else {
              goto L47850;}}
          else {
            goto L47850;}}
        else {
          goto L47850;}}
      else {
        goto L47850;}}
      break;
    case 139 : {
      SvalS = 13;s48_collect();
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 140 : {
      obj_1067X = SvalS;
      if ((3 == (3 & obj_1067X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_1067X))) + -4))))>>2))))) {
          x_1068X = SvalS;
          n_1069X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1068X))) + -4))))>>8));
          arg0K0 = 0;
          arg0K1 = 0;
          goto L48562;}
        else {
          goto L48539;}}
      else {
        goto L48539;}}
      break;
    case 141 : {s48_make_availableAgc(24);
      arg2_1070X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      proc_1071X = SvalS;
      if ((3 == (3 & arg2_1070X))) {
        if ((3 == (3 & proc_1071X))) {
          if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_1071X))) + -4))))>>2))))) {GET_PROPOSAL_LOCK();
            addr_1072X = s48_allocate_small(12);
            *((long *) addr_1072X) = (long) (2050);
            x_1073X = 3 + (((long) (addr_1072X + 4)));
            *((long *) (((char *) (-3 + x_1073X)))) = (long) (arg2_1070X);
            *((long *) ((((char *) (-3 + x_1073X))) + 4)) = (long) (proc_1071X);
            b_1074X = SHARED_REF((Sfinalizer_alistS));
            addr_1075X = s48_allocate_small(12);
            *((long *) addr_1075X) = (long) (2050);
            x_1076X = 3 + (((long) (addr_1075X + 4)));
            *((long *) (((char *) (-3 + x_1076X)))) = (long) (x_1073X);
            *((long *) ((((char *) (-3 + x_1076X))) + 4)) = (long) (b_1074X);SHARED_SETB((Sfinalizer_alistS), x_1076X);RELEASE_PROPOSAL_LOCK();
            SvalS = 13;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L26349;}
          else {
            goto L43565;}}
        else {
          goto L43565;}}
      else {
        goto L43565;}}
      break;
    case 142 : {
      arg2_1077X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1077X))) {
        key_1078X = ((arg2_1077X)>>2);
        other_1079X = SvalS;
        if ((5 == key_1078X)) {
          SvalS = (-4 & other_1079X);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          if ((0 == key_1078X)) {
            x_1080X = s48_available();
            SvalS = (((x_1080X)<<2));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L26349;}
          else {
            if ((1 == key_1078X)) {
              bytes_1081X = s48_heap_size();
              SvalS = (-4 & (3 + bytes_1081X));
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L26349;}
            else {
              if ((2 == key_1078X)) {
                SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L26349;}
              else {
                if ((3 == key_1078X)) {
                  x_1082X = s48_gc_count();
                  SvalS = (((x_1082X)<<2));
                  Scode_pointerS = ((Scode_pointerS) + 1);
                  arg1K0 = (Scode_pointerS);
                  goto L26349;}
                else {
                  if ((4 == key_1078X)) {push_exception_setupB(14, 1);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_1078X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_1079X);
                    arg0K0 = 2;
                    goto L24987;}
                  else {push_exception_setupB(17, 1);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) ((((key_1078X)<<2)));
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (other_1079X);
                    arg0K0 = 2;
                    goto L24987;}}}}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1077X);
        x_1083X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1083X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 143 : {
      if ((0 == (3 & (SvalS)))) {
        type_1084X = (((SvalS))>>2);
        arg2K0 = 1;
        goto L46557;}
      else {push_exception_setupB(5, 1);
        x_1085X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1085X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 144 : {
      x_1086X = SvalS;
      arg2K0 = 1;
      arg0K1 = x_1086X;
      goto L51104;}
      break;
    case 145 : {
      SvalS = (Scurrent_threadS);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 146 : {
      Scurrent_threadS = (SvalS);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 147 : {
      val_1087X = SHARED_REF((Ssession_dataS));
      SvalS = val_1087X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 148 : {SHARED_SETB((Ssession_dataS), (SvalS));
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
      break;
    case 149 : {
      obj_1088X = SvalS;
      if ((3 == (3 & obj_1088X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1088X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 175)) {
            goto L28145;}
          else {
            temp_1089X = SHARED_REF((Sexception_handlersS));SHARED_SETB((Sexception_handlersS), (SvalS));
            SvalS = temp_1089X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L26349;}}
        else {
          goto L28145;}}
      else {
        goto L28145;}}
      break;
    case 150 : {
      data_1090X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_1091X = *((long *) ((((char *) (-3 + data_1090X))) + 8));
      exception_1092X = *((long *) ((((char *) (-3 + data_1090X))) + 12));
      size_1093X = *((long *) ((((char *) (-3 + data_1090X))) + 16));
      pc_1094X = (((*((long *) ((((char *) (-3 + data_1090X))) + 4))))>>2);
      opcode_1095X = *((unsigned char *) ((((char *) (-3 + code_1091X))) + pc_1094X));
      if ((opcode_1095X < 46)) {
        if ((4 == opcode_1095X)) {
          goto L26463;}
        else {
          Slast_code_calledS = code_1091X;
          Scode_pointerS = ((((char *) (-3 + code_1091X))) + pc_1094X);push_exception_setupB(28, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_1092X);
          arg0K0 = 1;
          goto L24987;}}
      else {
        goto L26463;}}
      break;
    case 151 : {
      data_1096X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_1097X = *((long *) ((((char *) (-3 + data_1096X))) + 8));
      exception_1098X = *((long *) ((((char *) (-3 + data_1096X))) + 12));
      opcode_1099X = (((*((long *) ((((char *) (-3 + data_1096X))) + 4))))>>2);
      if ((opcode_1099X < 46)) {
        if ((4 == opcode_1099X)) {
          goto L25248;}
        else {
          Slast_code_calledS = code_1097X;
          Scode_pointerS = (((char *) (-3 + code_1097X)));push_exception_setupB(28, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_1098X);
          arg0K0 = 1;
          goto L24987;}}
      else {
        goto L25248;}}
      break;
    case 152 : {
      obj_1100X = SvalS;
      if ((3 == (3 & obj_1100X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1100X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
            goto L27053;}
          else {
            temp_1101X = SHARED_REF((Sinterrupt_handlersS));SHARED_SETB((Sinterrupt_handlersS), (SvalS));
            SvalS = temp_1101X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg1K0 = (Scode_pointerS);
            goto L26349;}}
        else {
          goto L27053;}}
      else {
        goto L27053;}}
      break;
    case 153 : {
      old_1102X = Senabled_interruptsS;
      p_1103X = SvalS;
      Senabled_interruptsS = (((p_1103X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L51152;}
        else {
          goto L51152;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L51152;}}
      break;
    case 154 : {
      x_1104X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_1105X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      Senabled_interruptsS = (((p_1105X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L9656;}
        else {
          goto L9656;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L9656;}}
      break;
    case 155 : {
      if ((0 == (3 & (SvalS)))) {
        p_1106X = 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 L50040;}
          else {
            goto L50040;}}
        else {
          s48_Sstack_limitS = (((char *) -1));
          goto L50040;}}
      else {push_exception_setupB(5, 1);
        x_1107X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1107X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 156 : {
      arg2_1108X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1108X))) {
        x_1109X = SvalS;
        if ((1 == x_1109X)) {
          goto L47398;}
        else {
          if ((5 == x_1109X)) {
            goto L47398;}
          else {
            goto L47403;}}}
      else {
        goto L47403;}}
      break;
    case 157 : {
      p_1110X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      nargs_1111X = ((p_1110X)>>2);
      p_1112X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      rest_list_1113X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((14 < nargs_1111X)) {push_exception_setupB(19, 1);
        x_1114X = *((long *) ((SstackS) + (-4 + (-4 & p_1112X))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1114X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (nargs_1111X);
        arg0K0 = 2;
        goto L24987;}
      else {
        arg0K0 = rest_list_1113X;
        goto L31333;}}
      break;
    case 158 : {s48_make_availableAgc(20);
      arg2_1115X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1115X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1115X))) + -4))))>>2))))) {
          x_1116X = SvalS;
          if ((1 == x_1116X)) {
            goto L46652;}
          else {
            if ((5 == x_1116X)) {
              goto L46652;}
            else {
              goto L46657;}}}
        else {
          goto L46657;}}
      else {
        goto L46657;}}
      break;
    case 159 : {
      arg2_1117X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1117X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1117X))) + -4))))>>2))))) {
          x_1118X = SvalS;
          if ((1 == x_1118X)) {
            goto L32899;}
          else {
            if ((5 == x_1118X)) {
              goto L32899;}
            else {
              goto L32904;}}}
        else {
          goto L32904;}}
      else {
        goto L32904;}}
      break;
    case 160 : {
      arg2K0 = 1;
      goto L51181;}
      break;
    case 161 : {
      arg2_1119X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1119X))) {
        option_1120X = ((arg2_1119X)>>2);
        other_1121X = SvalS;
        if ((2 == option_1120X)) {
          x_1122X = CHEAP_TIME();
          SvalS = (((x_1122X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          if ((0 == option_1120X)) {
            seconds_1123X = s48_run_time(&mseconds_1124X);
            arg0K0 = option_1120X;
            arg0K1 = seconds_1123X;
            arg0K2 = mseconds_1124X;
            goto L48473;}
          else {
            if ((1 == option_1120X)) {
              seconds_1125X = s48_real_time(&mseconds_1126X);
              arg0K0 = option_1120X;
              arg0K1 = seconds_1125X;
              arg0K2 = mseconds_1126X;
              goto L48473;}
            else {push_exception_setupB(17, 1);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((option_1120X)<<2)));
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (other_1121X);
              arg0K0 = 2;
              goto L24987;}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1119X);
        x_1127X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1127X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 162 : {
      arg2_1128X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1128X))) {
        key_1129X = ((arg2_1128X)>>2);
        value_1130X = SvalS;
        status_1131X = s48_extended_vm(key_1129X, value_1130X);
        if ((0 == status_1131X)) {
          SvalS = (s48_Sextension_valueS);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          if ((1 == status_1131X)) {push_exception_setupB(22, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_1129X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_1130X);
            arg0K0 = 2;
            goto L24987;}
          else {push_exception_setupB(23, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_1129X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_1130X);
            arg0K0 = 2;
            goto L24987;}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1128X);
        x_1132X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1132X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 163 : {
      arg2_1133X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1134X = 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 L51236;}
        else {
          goto L51236;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L51236;}}
      break;
    case 164 : {
      arg2_1135X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1135X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1135X))) + -4))))>>2))))) {
          obj_1136X = SvalS;
          if ((3 == (3 & obj_1136X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_1136X))) + -4))))>>2))))) {
              x_1137X = SvalS;
              len_1138X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1135X))) + -4))))>>8);
              if ((len_1138X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1137X))) + -4))))>>8)))) {
                if (((!memcmp((void *)(((char *) (-3 + x_1137X))), (void *)(((char *) (-3 + arg2_1135X))),len_1138X)))) {
                  arg0K0 = 5;
                  goto L41261;}
                else {
                  arg0K0 = 1;
                  goto L41261;}}
              else {
                arg0K0 = 1;
                goto L41261;}}
            else {
              goto L41226;}}
          else {
            goto L41226;}}
        else {
          goto L41226;}}
      else {
        goto L41226;}}
      break;
    case 165 : {s48_make_availableAgc((4 + (-4 & (4 + ((((SvalS))>>2))))));
      arg2_1139X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        n_1140X = (((SvalS))>>2);
        if ((3 == (3 & arg2_1139X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1139X))) + -4))))>>2))))) {
            goto L40888;}
          else {
            goto L40840;}}
        else {
          goto L40840;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1139X);
        x_1141X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1141X);
        arg0K0 = 2;
        goto L24987;}}
      break;
    case 166 : {
      arg2_1142X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      list_1143X = SvalS;
      arg0K0 = list_1143X;
      arg0K1 = list_1143X;
      arg2K2 = 1;
      goto L42318;}
      break;
    case 167 : {
      if ((529 == (SvalS))) {push_exception_setupB(0, 1);
        arg0K0 = 0;
        goto L24987;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}}
      break;
    case 168 : {
      arg2_1144X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1145X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        index_1146X = (((SvalS))>>2);
        if ((3 == (3 & arg3_1145X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1145X))) + -4))))>>2))))) {
            if ((arg2_1144X == (*((long *) (((char *) (-3 + arg3_1145X))))))) {
              len_1147X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1145X))) + -4))))>>8))))>>2);
              if ((index_1146X < 0)) {
                goto L31665;}
              else {
                if ((index_1146X < len_1147X)) {
                  v_1148X = *((unsigned char *) ((Scode_pointerS) + 1));
                  if ((0 == v_1148X)) {
                    goto L31655;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L31655;}
                    else {
                      merged_arg0K0 = arg3_1145X;
                      merged_arg0K1 = (((index_1146X)<<2));
                      proposal_d_read_return_tag = 2;
                      goto proposal_d_read;
                     proposal_d_read_return_2:
                      v_1149X = proposal_d_read0_return_value;
                      arg0K0 = v_1149X;
                      goto L31664;}}}
                else {
                  goto L31665;}}}
            else {
              goto L31685;}}
          else {
            goto L31685;}}
        else {
          goto L31685;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1145X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1144X);
        x_1150X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1150X);
        arg0K0 = 3;
        goto L24987;}}
      break;
    case 169 : {
      arg2_1151X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1152X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1153X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1151X))) {
        index_1154X = ((arg2_1151X)>>2);
        value_1155X = SvalS;
        if ((3 == (3 & arg4_1153X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1153X))) + -4))))>>2))))) {
            if ((arg3_1152X == (*((long *) (((char *) (-3 + arg4_1153X))))))) {
              if ((3 == (3 & arg4_1153X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1153X))) + -4)))))) {
                  len_1156X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1153X))) + -4))))>>8))))>>2);
                  if ((index_1154X < 0)) {
                    goto L31923;}
                  else {
                    if ((index_1154X < len_1156X)) {
                      v_1157X = *((unsigned char *) ((Scode_pointerS) + 1));
                      if ((0 == v_1157X)) {
                        goto L31913;}
                      else {
                        if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                          goto L31913;}
                        else {
                          merged_arg0K0 = arg4_1153X;
                          merged_arg0K1 = (((index_1154X)<<2));
                          merged_arg0K2 = value_1155X;
                          proposal_d_write_return_tag = 2;
                          goto proposal_d_write;
                         proposal_d_write_return_2:
                          goto L31922;}}}
                    else {
                      goto L31923;}}}
                else {
                  goto L31945;}}
              else {
                goto L31945;}}
            else {
              goto L31945;}}
          else {
            goto L31945;}}
        else {
          goto L31945;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1153X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1152X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1151X);
        x_1158X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1158X);
        arg0K0 = 4;
        goto L24987;}}
      break;
    case 170 : {
      v_1159X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1159X)) {
        arg0K0 = (SvalS);
        goto L32202;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 0;
        goto get_current_port;
       get_current_port_return_0:
        v_1160X = get_current_port0_return_value;
        arg0K0 = v_1160X;
        goto L32202;}}
      break;
    case 171 : {
      v_1161X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1161X)) {
        arg0K0 = (SvalS);
        goto L32404;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 1;
        goto get_current_port;
       get_current_port_return_1:
        v_1162X = get_current_port0_return_value;
        arg0K0 = v_1162X;
        goto L32404;}}
      break;
    case 172 : {
      v_1163X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1163X)) {
        v_1164X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1164X;
        arg0K1 = (SvalS);
        goto L32599;}
      else {
        merged_arg0K0 = 4;
        get_current_port_return_tag = 2;
        goto get_current_port;
       get_current_port_return_2:
        v_1165X = get_current_port0_return_value;
        arg0K0 = (SvalS);
        arg0K1 = v_1165X;
        goto L32599;}}
      break;
    case 173 : {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_1166X = get_error_string0_return_value;
        SvalS = val_1166X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {push_exception_setupB(5, 1);
        x_1167X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1167X);
        arg0K0 = 1;
        goto L24987;}}
      break;
    case 174 : {
      x_1168X = SvalS;
      out_1169X = stderr;
      arg0K0 = x_1168X;
      goto L42571;}
      break;
  }}
 L24893: {
  x_1170X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1170X);
  code_1171X = current_code_vector();
  pc_1172X = (Scode_pointerS) - (((char *) (-3 + code_1171X)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (code_1171X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((pc_1172X)<<2)));
  x_1173X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1173X);
  x_1174X = Scurrent_threadS;
  addr_1175X = (((char *) (-3 + x_1174X))) + 12;S48_WRITE_BARRIER(x_1174X, addr_1175X, 1);
  *((long *) addr_1175X) = (long) (1);
  n_1176X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1176X)<<2)));
  code_1177X = Sinterrupt_return_codeS;
  v_1178X = ((((ScontS) - (SstackS)))>>2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((4 + (((v_1178X)<<2))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1177X))) + 11))));
  ScontS = (SstackS);
  goto L24716;}
 L26916: {
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L24264: {
  v_1179X = arg0K0;
  SvalS = v_1179X;
  pop_continuationB_return_tag = 2;
  goto pop_continuationB;
 pop_continuationB_return_2:
  arg0K0 = 1;
  goto L26805;}
 L25416: {
  stack_nargs_1180X = arg0K0;
  list_args_1181X = arg0K1;
  merged_arg0K0 = list_args_1181X;
  merged_arg0K1 = stack_nargs_1180X;
  pop_args_GlistSAgc_return_tag = 5;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_5:
  args_1182X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_1182X);
  arg0K0 = 2;
  goto L24987;}
 L26805: {
  bytes_used_1183X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1183X));
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L33627: {
  v_1184X = arg0K0;
  SvalS = v_1184X;
  arg0K0 = 2;
  goto L27987;}
 L27987: {
  protocol_skip_1185X = arg0K0;
  SstackS = (ScontS);
  cont_1186X = ScontS;
  pointer_1187X = (((char *) (*((long *) cont_1186X)))) + -2;
  size_1188X = ((((*((unsigned char *) pointer_1187X)))<<8)) + (*((unsigned char *) (pointer_1187X + 1)));
  if ((65535 == size_1188X)) {
    arg0K0 = ((((*((long *) (cont_1186X + 4))))>>2));
    goto L27998;}
  else {
    arg0K0 = size_1188X;
    goto L27998;}}
 L24210: {
  if ((1 == (stack_nargs_723X + list_arg_count_725X))) {
    if ((1 == stack_nargs_723X)) {
      v_1189X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = v_1189X;
      goto L24288;}
    else {
      arg0K0 = (*((long *) (((char *) (-3 + list_args_724X)))));
      goto L24288;}}
  else {
    arg0K0 = stack_nargs_723X;
    arg0K1 = list_args_724X;
    goto L25416;}}
 L24327: {
  v_1190X = arg0K0;
  ScontS = (cont_734X + (4 + (((v_1190X)<<2))));
  merged_arg0K0 = stack_nargs_723X;
  move_args_above_contB_return_tag = 6;
  goto move_args_above_contB;
 move_args_above_contB_return_6:
  arg0K0 = stack_nargs_723X;
  arg0K1 = list_args_724X;
  arg0K2 = list_arg_count_725X;
  goto L47010;}
 L47010: {
  stack_arg_count_1191X = arg0K0;
  list_args_1192X = arg0K1;
  list_arg_count_1193X = arg0K2;
  if ((0 == list_arg_count_1193X)) {
    obj_1194X = SvalS;
    if ((3 == (3 & obj_1194X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1194X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1191X;
        arg0K1 = 25;
        arg0K2 = 0;
        arg0K3 = -1;
        goto L33102;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1191X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L24437;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1191X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L24437;}}
  else {
    obj_1195X = SvalS;
    if ((3 == (3 & obj_1195X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1195X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1191X;
        arg0K1 = list_args_1192X;
        arg0K2 = list_arg_count_1193X;
        arg0K3 = -1;
        goto L33102;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1191X;
        arg0K2 = list_args_1192X;
        arg0K3 = list_arg_count_1193X;
        goto L24437;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1191X;
      arg0K2 = list_args_1192X;
      arg0K3 = list_arg_count_1193X;
      goto L24437;}}}
 L27848: {
  loc_1196X = arg1K0;
  arg_1197X = arg1K1;
  if ((arg_1197X < arg_top_739X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_723X)<<2))));
    if ((count_737X < stack_nargs_723X)) {
      merged_arg0K0 = list_args_724X;
      merged_arg0K1 = (stack_nargs_723X - count_737X);
      pop_args_GlistSAgc_return_tag = 6;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_6:
      v_1198X = pop_args_GlistSAgc0_return_value;
      arg0K0 = v_1198X;
      goto L27827;}
    else {
      arg0K0 = stack_nargs_723X;
      arg0K1 = list_args_724X;
      goto L27809;}}
  else {
    *((long *) loc_1196X) = (long) ((*((long *) arg_1197X)));
    arg1K0 = (loc_1196X + -4);
    arg1K1 = (arg_1197X + -4);
    goto L27848;}}
 L27700: {
  count_1199X = arg0K0;
  bytes_used_1200X = arg0K1;
  stack_nargs_1201X = arg0K2;
  list_args_1202X = arg0K3;
  list_arg_count_1203X = arg0K4;
  if ((count_1199X == (stack_nargs_1201X + list_arg_count_1203X))) {
    arg_top_1204X = SstackS;
    pop_continuationB_return_tag = 3;
    goto pop_continuationB;
   pop_continuationB_return_3:
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (arg_top_1204X + (-4 + (((stack_nargs_1201X)<<2))));
    goto L27732;}
  else {
    merged_arg0K0 = list_args_1202X;
    merged_arg0K1 = stack_nargs_1201X;
    pop_args_GlistSAgc_return_tag = 7;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_7:
    args_1205X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1205X);
    arg0K0 = 2;
    goto L24987;}}
 L24769: {
  i_1206X = arg0K0;
  m_1207X = arg0K1;
  if ((0 == (n_740X & m_1207X))) {
    arg0K0 = (1 + i_1206X);
    arg0K1 = (((m_1207X)<<1));
    goto L24769;}
  else {
    Spending_interruptsS = ((Spending_interruptsS) & (~ m_1207X));
    handlers_1208X = SHARED_REF((Sinterrupt_handlersS));
    if ((i_1206X == 0)) {
      x_1209X = Sinterrupted_templateS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1209X);
      Sinterrupted_templateS = 1;
      n_1210X = Senabled_interruptsS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1210X)<<2)));
      arg0K0 = 2;
      goto L24726;}
    else {
      if ((i_1206X == 2)) {
        x_1211X = Sfinalize_theseS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1211X);
        Sfinalize_theseS = 25;
        n_1212X = Senabled_interruptsS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((n_1212X)<<2)));
        arg0K0 = 2;
        goto L24726;}
      else {
        if ((i_1206X == 3)) {
          channel_1213X = Spending_channels_headS;
          next_1214X = *((long *) ((((char *) (-3 + channel_1213X))) + 16));
          Spending_channels_headS = next_1214X;
          addr_1215X = (((char *) (-3 + channel_1213X))) + 16;S48_WRITE_BARRIER(channel_1213X, addr_1215X, 1);
          *((long *) addr_1215X) = (long) (1);
          if ((1 == next_1214X)) {
            Spending_channels_tailS = 1;
            arg0K0 = channel_1213X;
            goto L12202;}
          else {
            arg0K0 = channel_1213X;
            goto L12202;}}
        else {
          if ((i_1206X == 4)) {
            v_1216X = (Sos_signal_ring_startS) == (Sos_signal_ring_endS);
            if (v_1216X) {
              ps_error("This cannot happen: OS signal ring empty", 0);
              goto L12386;}
            else {
              goto L12386;}}
          else {
            n_1217X = Senabled_interruptsS;
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((n_1217X)<<2)));
            arg0K0 = 1;
            goto L24726;}}}}}}
 L8856: {
  new_env_1218X = arg0K0;
  i_1219X = arg0K1;
  offset_1220X = arg0K2;
  total_count_1221X = arg0K3;
  arg0K0 = (*((unsigned char *) ((Scode_pointerS) + (1 + offset_1220X))));
  arg0K1 = i_1219X;
  arg0K2 = (1 + offset_1220X);
  goto L8862;}
 L19130: {
  count_1222X = arg0K0;
  i_1223X = arg0K1;
  offset_1224X = arg0K2;
  if ((0 == count_1222X)) {
    arg0K0 = new_env_761X;
    arg0K1 = i_1223X;
    arg0K2 = offset_1224X;
    arg0K3 = total_count_757X;
    goto L8856;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_762X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1224X)))))<<2)))));
    merged_arg0K1 = new_env_761X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 0;
    goto make_closure;
   make_closure_return_0:
    value_1225X = make_closure0_return_value;
    addr_1226X = (((char *) (-3 + new_env_761X))) + (((i_1223X)<<2));S48_WRITE_BARRIER(new_env_761X, addr_1226X, value_1225X);
    *((long *) addr_1226X) = (long) (value_1225X);
    arg0K0 = (-1 + count_1222X);
    arg0K1 = (1 + i_1223X);
    arg0K2 = (1 + offset_1224X);
    goto L19130;}}
 L11379: {
  new_env_1227X = arg0K0;
  i_1228X = arg0K1;
  offset_1229X = arg0K2;
  total_count_1230X = arg0K3;
  arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1229X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1229X)))));
  arg0K1 = i_1228X;
  arg0K2 = (2 + offset_1229X);
  goto L11385;}
 L19191: {
  count_1231X = arg0K0;
  i_1232X = arg0K1;
  offset_1233X = arg0K2;
  if ((0 == count_1231X)) {
    arg0K0 = new_env_767X;
    arg0K1 = i_1232X;
    arg0K2 = offset_1233X;
    arg0K3 = total_count_763X;
    goto L11379;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_768X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1233X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1233X))))))<<2)))));
    merged_arg0K1 = new_env_767X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 1;
    goto make_closure;
   make_closure_return_1:
    value_1234X = make_closure0_return_value;
    addr_1235X = (((char *) (-3 + new_env_767X))) + (((i_1232X)<<2));S48_WRITE_BARRIER(new_env_767X, addr_1235X, value_1234X);
    *((long *) addr_1235X) = (long) (value_1234X);
    arg0K0 = (-1 + count_1231X);
    arg0K1 = (1 + i_1232X);
    arg0K2 = (2 + offset_1233X);
    goto L19191;}}
 L50429: {
  n_1236X = arg0K0;
  if ((0 == n_1236X)) {
    Scode_pointerS = ((Scode_pointerS) + 3);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    arg0K0 = (-1 + n_1236X);
    goto L50429;}}
 L28376: {
  move_1237X = arg0K0;
  if ((move_1237X == n_moves_776X)) {
    value_1238X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = value_1238X;
    Scode_pointerS = ((Scode_pointerS) + (2 + (((n_moves_776X)<<1))));
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    index_1239X = 1 + (((move_1237X)<<1));
    *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (2 + index_1239X)))))<<2)))) = (long) ((*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1239X)))))<<2))))));
    arg0K0 = (1 + move_1237X);
    goto L28376;}}
 L28293: {
  move_1240X = arg0K0;
  if ((move_1240X == n_moves_778X)) {
    value_1241X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = value_1241X;
    Scode_pointerS = ((Scode_pointerS) + (3 + (((n_moves_778X)<<2))));
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    index_1242X = 2 + (((move_1240X)<<2));
    value_1243X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1242X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1242X))))))<<2))));
    index_1244X = 2 + index_1242X;
    *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1244X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1244X))))))<<2)))) = (long) (value_1243X);
    arg0K0 = (1 + move_1240X);
    goto L28293;}}
 L50498: {
  value_1245X = arg0K0;
  SvalS = value_1245X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L33022: {
  stack_arg_count_1246X = arg0K0;
  obj_1247X = SvalS;
  if ((3 == (3 & obj_1247X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1247X))) + -4))))>>2))))) {
      template_1248X = *((long *) (((char *) (-3 + (SvalS)))));
      code_1249X = *((long *) (((char *) (-3 + template_1248X))));
      protocol_1250X = *((unsigned char *) ((((char *) (-3 + code_1249X))) + 1));
      if ((protocol_1250X == stack_arg_count_1246X)) {
        arg0K0 = code_1249X;
        arg0K1 = 2;
        arg0K2 = 3;
        arg0K3 = template_1248X;
        goto L24023;}
      else {
        if (((127 & protocol_1250X) == stack_arg_count_1246X)) {
          v_1251X = s48_call_native_procedure((SvalS), 2);
          arg0K0 = v_1251X;
          goto L26812;}
        else {
          arg0K0 = stack_arg_count_1246X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L33102;}}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1246X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L24437;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_1246X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L24437;}}
 L24550: {
  obj_1252X = SvalS;
  if ((3 == (3 & obj_1252X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1252X))) + -4))))>>2))))) {
      arg0K0 = stack_arg_count_782X;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L33102;}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_782X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L24437;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_782X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L24437;}}
 L17385: {
  list_args_1253X = arg0K0;
  stack_nargs_1254X = arg0K1;
  merged_arg0K0 = list_args_1253X;
  okay_argument_list_return_tag = 1;
  goto okay_argument_list;
 okay_argument_list_return_1:
  okayP_1255X = okay_argument_list0_return_value;
  list_arg_count_1256X = okay_argument_list1_return_value;
  if (okayP_1255X) {
    arg0K0 = stack_nargs_1254X;
    arg0K1 = list_args_1253X;
    arg0K2 = list_arg_count_1256X;
    goto L47010;}
  else {
    merged_arg0K0 = list_args_1253X;
    merged_arg0K1 = stack_nargs_1254X;
    pop_args_GlistSAgc_return_tag = 8;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_8:
    args_1257X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
    x_1258X = SvalS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1258X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1257X);
    arg0K0 = 2;
    goto L24987;}}
 L17430: {
  list_1259X = arg0K0;
  follower_1260X = arg0K1;
  if ((25 == list_1259X)) {
    list_args_1261X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_1260X))) + 4)))))));
    addr_1262X = (((char *) (-3 + follower_1260X))) + 4;S48_WRITE_BARRIER(follower_1260X, addr_1262X, list_args_1261X);
    *((long *) addr_1262X) = (long) (list_args_1261X);
    arg0K0 = rest_list_795X;
    arg0K1 = (-1 + stack_nargs_794X);
    goto L17385;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + list_1259X))) + 4)));
    arg0K1 = (*((long *) ((((char *) (-3 + follower_1260X))) + 4)));
    goto L17430;}}
 L24508: {
  obj_1263X = SvalS;
  if ((3 == (3 & obj_1263X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1263X))) + -4))))>>2))))) {
      arg0K0 = 0;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L33102;}
    else {
      arg0K0 = 3;
      arg0K1 = 0;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L24437;}}
  else {
    arg0K0 = 3;
    arg0K1 = 0;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L24437;}}
 L24517: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = cont_797X;
  ScontS = (Sbottom_of_stackS);
  goto L24508;}
 L49147: {
  code_pointer_1264X = ((char *) (*((long *) (ScontS))));
  protocol_1265X = *((unsigned char *) (code_pointer_1264X + 1));
  if ((1 == protocol_1265X)) {
    goto L49164;}
  else {
    if ((66 == protocol_1265X)) {
      goto L49164;}
    else {
      if ((129 == protocol_1265X)) {
        arg0K0 = 2;
        goto L27987;}
      else {
        if ((194 == protocol_1265X)) {
          arg0K0 = 2;
          goto L27987;}
        else {
          if ((71 == protocol_1265X)) {
            cont_1266X = Sheap_continuationS;
            if ((3 == (3 & cont_1266X))) {
              if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1266X))) + -4))))>>2))))) {
                merged_arg0K0 = cont_1266X;
                merged_arg0K1 = 0;
                copy_continuation_from_heapB_return_tag = 2;
                goto copy_continuation_from_heapB;
               copy_continuation_from_heapB_return_2:
                goto L49147;}
              else {
                arg0K0 = cont_1266X;
                goto L25333;}}
            else {
              arg0K0 = cont_1266X;
              goto L25333;}}
          else {
            if ((70 == protocol_1265X)) {
              offset_1267X = ((((*((unsigned char *) (code_pointer_1264X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1264X + 3)));
              proc_1268X = *((long *) ((ScontS) + 4));
              if ((0 == offset_1267X)) {
                cont_1269X = ScontS;
                pointer_1270X = (((char *) (*((long *) cont_1269X)))) + -2;
                size_1271X = ((((*((unsigned char *) pointer_1270X)))<<8)) + (*((unsigned char *) (pointer_1270X + 1)));
                if ((65535 == size_1271X)) {
                  arg0K0 = ((((*((long *) (cont_1269X + 4))))>>2));
                  goto L49308;}
                else {
                  arg0K0 = size_1271X;
                  goto L49308;}}
              else {
                ScontS = ((ScontS) + 4);
                *((long *) (ScontS)) = (long) ((((long) (code_pointer_1264X + offset_1267X))));
                SstackS = (ScontS);
                goto L49213;}}
            else {
              if ((65 == protocol_1265X)) {
                wants_stack_args_1272X = ((((*((unsigned char *) (code_pointer_1264X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1264X + 3)));
                if ((0 == wants_stack_args_1272X)) {
                  pop_continuationB_return_tag = 4;
                  goto pop_continuationB;
                 pop_continuationB_return_4:s48_make_availableAgc(12);
                  a_1273X = SvalS;
                  addr_1274X = s48_allocate_small(12);
                  *((long *) addr_1274X) = (long) (2050);
                  x_1275X = 3 + (((long) (addr_1274X + 4)));
                  *((long *) (((char *) (-3 + x_1275X)))) = (long) (a_1273X);
                  *((long *) ((((char *) (-3 + x_1275X))) + 4)) = (long) (25);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (x_1275X);
                  Scode_pointerS = ((Scode_pointerS) + 4);
                  arg1K0 = (Scode_pointerS);
                  goto L26349;}
                else {
                  if ((1 == wants_stack_args_1272X)) {
                    pop_continuationB_return_tag = 5;
                    goto pop_continuationB;
                   pop_continuationB_return_5:
                    x_1276X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1276X);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (25);
                    Scode_pointerS = ((Scode_pointerS) + 4);
                    arg1K0 = (Scode_pointerS);
                    goto L26349;}
                  else {
                    x_1277X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1277X);
                    merged_arg0K0 = 25;
                    merged_arg0K1 = 1;
                    pop_args_GlistSAgc_return_tag = 9;
                    goto pop_args_GlistSAgc;
                   pop_args_GlistSAgc_return_9:
                    args_1278X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (1);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (args_1278X);
                    arg0K0 = 2;
                    goto L24987;}}}
              else {
                x_1279X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1279X);
                merged_arg0K0 = 25;
                merged_arg0K1 = 1;
                pop_args_GlistSAgc_return_tag = 10;
                goto pop_args_GlistSAgc;
               pop_args_GlistSAgc_return_10:
                args_1280X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (args_1280X);
                arg0K0 = 2;
                goto L24987;}}}}}}}}
 L28027: {
  if ((nargs_804X == (*((unsigned char *) ((((char *) (-3 + code_803X))) + 1))))) {
    arg0K0 = code_803X;
    arg0K1 = 2;
    arg0K2 = 3;
    arg0K3 = template_802X;
    goto L24023;}
  else {
    v_1281X = *((unsigned char *) ((((char *) (-3 + code_803X))) + 1));
    if ((67 == v_1281X)) {
      if ((nargs_804X == (*((unsigned char *) ((((char *) (-3 + code_803X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_803X))) + -4))))>>8)))))))) {
        index_1282X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_803X))) + -4))))>>8));
        arg0K0 = code_803X;
        arg0K1 = 2;
        arg0K2 = template_802X;
        arg0K3 = (((((*((unsigned char *) ((((char *) (-3 + code_803X))) + index_1282X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_803X))) + (1 + index_1282X)))));
        goto L26898;}
      else {
        goto L28049;}}
    else {
      goto L28049;}}}
 L26690: {
  arg0K0 = (2 + (((max_808X)<<1)));
  goto L26692;}
 L26692: {
  offset_1283X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + offset_1283X);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L27310: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L26588: {
  delta_1284X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1284X);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L27201: {
  delta_1285X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1285X);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L50555: {
  val_1286X = arg0K0;
  SvalS = val_1286X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L50567: {
  val_1287X = arg0K0;
  SvalS = val_1287X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L15299: {
  if ((3 == (3 & x_823X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + x_823X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50567;}
    else {
      goto L15305;}}
  else {
    goto L15305;}}
 L41788: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41789: {
  if ((3 == (3 & n_824X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_824X))) + -4))))>>2))))) {
      goto L41802;}
    else {
      goto L41797;}}
  else {
    goto L41797;}}
 L41922: {
  n_1288X = arg0K0;
  if ((0 == (3 & n_1288X))) {
    goto L41955;}
  else {
    if ((3 == (3 & n_1288X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + n_1288X))) + -4))))>>2))))) {
        goto L41955;}
      else {
        goto L41938;}}
    else {
      goto L41938;}}}
 L34993: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L34994: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_825X);
  arg0K0 = 1;
  goto L24987;}
 L35119: {
  v_1289X = (char *) s48_long_to_bignum(x_830X);
  v_1290X = enter_bignum(v_1289X);
  arg0K0 = v_1290X;
  goto L35065;}
 L35065: {
  val_1291X = arg0K0;
  SvalS = val_1291X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35071: {
  if ((0 == (3 & y_829X))) {
    goto L35077;}
  else {
    if ((3 == (3 & y_829X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_829X))) + -4))))>>2))))) {
        goto L35077;}
      else {
        goto L35080;}}
    else {
      goto L35080;}}}
 L35080: {
  if ((3 == (3 & arg2_828X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_828X))) + -4))))>>2))))) {
      if ((3 == (3 & y_829X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_829X))) + -4))))>>2))))) {
          Stemp0S = arg2_828X;
          Stemp1S = y_829X;s48_make_availableAgc(12);
          value_1292X = Stemp0S;
          Stemp0S = 1;
          x_1293X = *((double *) (((char *) (-3 + value_1292X))));
          value_1294X = Stemp1S;
          Stemp1S = 1;
          y_1295X = *((double *) (((char *) (-3 + value_1294X))));
          addr_1296X = s48_allocate_small(12);
          *((long *) addr_1296X) = (long) (2126);
          Kdouble_1297X = 3 + (((long) (addr_1296X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1297X)))) = (double) ((x_1293X + y_1295X));
          SvalS = Kdouble_1297X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L35094;}}
      else {
        goto L35094;}}
    else {
      goto L35094;}}
  else {
    goto L35094;}}
 L9022: {
  a_1298X = arg0K0;
  if ((b_834X < 0)) {
    arg0K0 = (0 - b_834X);
    goto L9026;}
  else {
    arg0K0 = b_834X;
    goto L9026;}}
 L43685: {
  if ((0 == (3 & y_832X))) {
    goto L43691;}
  else {
    if ((3 == (3 & y_832X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_832X))) + -4))))>>2))))) {
        goto L43691;}
      else {
        goto L43694;}}
    else {
      goto L43694;}}}
 L43694: {
  if ((3 == (3 & arg2_831X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_831X))) + -4))))>>2))))) {
      if ((3 == (3 & y_832X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_832X))) + -4))))>>2))))) {
          Stemp0S = arg2_831X;
          Stemp1S = y_832X;s48_make_availableAgc(12);
          value_1299X = Stemp0S;
          Stemp0S = 1;
          x_1300X = *((double *) (((char *) (-3 + value_1299X))));
          value_1301X = Stemp1S;
          Stemp1S = 1;
          y_1302X = *((double *) (((char *) (-3 + value_1301X))));
          addr_1303X = s48_allocate_small(12);
          *((long *) addr_1303X) = (long) (2126);
          Kdouble_1304X = 3 + (((long) (addr_1303X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1304X)))) = (double) ((x_1300X * y_1302X));
          SvalS = Kdouble_1304X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L43708;}}
      else {
        goto L43708;}}
    else {
      goto L43708;}}
  else {
    goto L43708;}}
 L35408: {
  v_1305X = (char *) s48_long_to_bignum(x_837X);
  v_1306X = enter_bignum(v_1305X);
  arg0K0 = v_1306X;
  goto L35354;}
 L35354: {
  val_1307X = arg0K0;
  SvalS = val_1307X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35360: {
  if ((0 == (3 & y_836X))) {
    goto L35366;}
  else {
    if ((3 == (3 & y_836X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_836X))) + -4))))>>2))))) {
        goto L35366;}
      else {
        goto L35369;}}
    else {
      goto L35369;}}}
 L35369: {
  if ((3 == (3 & arg2_835X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_835X))) + -4))))>>2))))) {
      if ((3 == (3 & y_836X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_836X))) + -4))))>>2))))) {
          Stemp0S = arg2_835X;
          Stemp1S = y_836X;s48_make_availableAgc(12);
          value_1308X = Stemp0S;
          Stemp0S = 1;
          x_1309X = *((double *) (((char *) (-3 + value_1308X))));
          value_1310X = Stemp1S;
          Stemp1S = 1;
          y_1311X = *((double *) (((char *) (-3 + value_1310X))));
          addr_1312X = s48_allocate_small(12);
          *((long *) addr_1312X) = (long) (2126);
          Kdouble_1313X = 3 + (((long) (addr_1312X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1313X)))) = (double) ((x_1309X - y_1311X));
          SvalS = Kdouble_1313X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg1K0 = (Scode_pointerS);
          goto L26349;}
        else {
          goto L35383;}}
      else {
        goto L35383;}}
    else {
      goto L35383;}}
  else {
    goto L35383;}}
 L9280: {
  a_1314X = arg0K0;
  if ((b_841X < 0)) {
    arg0K0 = (0 - b_841X);
    goto L9284;}
  else {
    arg0K0 = b_841X;
    goto L9284;}}
 L43938: {
  if ((0 == (3 & y_839X))) {
    goto L43944;}
  else {
    if ((3 == (3 & y_839X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_839X))) + -4))))>>2))))) {
        goto L43944;}
      else {
        goto L43975;}}
    else {
      goto L43975;}}}
 L43975: {
  if ((3 == (3 & arg2_838X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_838X))) + -4))))>>2))))) {
      if ((3 == (3 & y_839X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_839X))) + -4))))>>2))))) {
          if ((0.0 == (*((double *) (((char *) (-3 + y_839X))))))) {
            arg0K0 = 1;
            goto L43988;}
          else {
            Stemp0S = arg2_838X;
            Stemp1S = y_839X;s48_make_availableAgc(12);
            value_1315X = Stemp0S;
            Stemp0S = 1;
            x_1316X = *((double *) (((char *) (-3 + value_1315X))));
            value_1317X = Stemp1S;
            Stemp1S = 1;
            value_1318X = x_1316X / (*((double *) (((char *) (-3 + value_1317X)))));
            addr_1319X = s48_allocate_small(12);
            *((long *) addr_1319X) = (long) (2126);
            Kdouble_1320X = 3 + (((long) (addr_1319X + 4)));
            *((double *) (((char *) (-3 + Kdouble_1320X)))) = (double) (value_1318X);
            arg0K0 = Kdouble_1320X;
            goto L43988;}}
        else {
          goto L43995;}}
      else {
        goto L43995;}}
    else {
      goto L43995;}}
  else {
    goto L43995;}}
 L35639: {
  val_1321X = arg0K0;
  SvalS = val_1321X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35645: {
  if ((0 == (3 & y_843X))) {
    goto L35651;}
  else {
    if ((3 == (3 & y_843X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_843X))) + -4))))>>2))))) {
        goto L35651;}
      else {
        goto L35656;}}
    else {
      goto L35656;}}}
 L35656: {
  if ((3 == (3 & arg2_842X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_842X))) + -4))))>>2))))) {
      if ((3 == (3 & y_843X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_843X))) + -4))))>>2))))) {
          b_1322X = (*((double *) (((char *) (-3 + arg2_842X))))) == (*((double *) (((char *) (-3 + y_843X)))));
          if (b_1322X) {
            arg0K0 = 5;
            goto L35671;}
          else {
            arg0K0 = 1;
            goto L35671;}}
        else {
          goto L35672;}}
      else {
        goto L35672;}}
    else {
      goto L35672;}}
  else {
    goto L35672;}}
 L35899: {
  val_1323X = arg0K0;
  SvalS = val_1323X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35905: {
  if ((0 == (3 & y_845X))) {
    goto L35911;}
  else {
    if ((3 == (3 & y_845X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_845X))) + -4))))>>2))))) {
        goto L35911;}
      else {
        goto L35916;}}
    else {
      goto L35916;}}}
 L35916: {
  if ((3 == (3 & arg2_844X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_844X))) + -4))))>>2))))) {
      if ((3 == (3 & y_845X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_845X))) + -4))))>>2))))) {
          b_1324X = (*((double *) (((char *) (-3 + arg2_844X))))) < (*((double *) (((char *) (-3 + y_845X)))));
          if (b_1324X) {
            arg0K0 = 5;
            goto L35931;}
          else {
            arg0K0 = 1;
            goto L35931;}}
        else {
          goto L35932;}}
      else {
        goto L35932;}}
    else {
      goto L35932;}}
  else {
    goto L35932;}}
 L36222: {
  val_1325X = arg0K0;
  SvalS = val_1325X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36228: {
  if ((0 == (3 & y_847X))) {
    goto L36234;}
  else {
    if ((3 == (3 & y_847X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_847X))) + -4))))>>2))))) {
        goto L36234;}
      else {
        goto L36239;}}
    else {
      goto L36239;}}}
 L36239: {
  if ((3 == (3 & arg2_846X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_846X))) + -4))))>>2))))) {
      if ((3 == (3 & y_847X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_847X))) + -4))))>>2))))) {
          b_1326X = (*((double *) (((char *) (-3 + y_847X))))) < (*((double *) (((char *) (-3 + arg2_846X)))));
          if (b_1326X) {
            arg0K0 = 5;
            goto L36254;}
          else {
            arg0K0 = 1;
            goto L36254;}}
        else {
          goto L36255;}}
      else {
        goto L36255;}}
    else {
      goto L36255;}}
  else {
    goto L36255;}}
 L36545: {
  val_1327X = arg0K0;
  SvalS = val_1327X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36551: {
  if ((0 == (3 & y_849X))) {
    goto L36557;}
  else {
    if ((3 == (3 & y_849X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_849X))) + -4))))>>2))))) {
        goto L36557;}
      else {
        goto L36562;}}
    else {
      goto L36562;}}}
 L36562: {
  if ((3 == (3 & arg2_848X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_848X))) + -4))))>>2))))) {
      if ((3 == (3 & y_849X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_849X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + y_849X))))) < (*((double *) (((char *) (-3 + arg2_848X))))))) {
            arg0K0 = 1;
            goto L36577;}
          else {
            arg0K0 = 5;
            goto L36577;}}
        else {
          goto L36578;}}
      else {
        goto L36578;}}
    else {
      goto L36578;}}
  else {
    goto L36578;}}
 L36839: {
  val_1328X = arg0K0;
  SvalS = val_1328X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36845: {
  if ((0 == (3 & y_851X))) {
    goto L36851;}
  else {
    if ((3 == (3 & y_851X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_851X))) + -4))))>>2))))) {
        goto L36851;}
      else {
        goto L36856;}}
    else {
      goto L36856;}}}
 L36856: {
  if ((3 == (3 & arg2_850X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_850X))) + -4))))>>2))))) {
      if ((3 == (3 & y_851X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_851X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + arg2_850X))))) < (*((double *) (((char *) (-3 + y_851X))))))) {
            arg0K0 = 1;
            goto L36871;}
          else {
            arg0K0 = 5;
            goto L36871;}}
        else {
          goto L36872;}}
      else {
        goto L36872;}}
    else {
      goto L36872;}}
  else {
    goto L36872;}}
 L20741: {
  x_1329X = arg0K0;
  y_1330X = arg0K1;
  if ((0 == (3 & x_1329X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20771;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1329X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20771;}}
 L9971: {
  a_1331X = arg0K0;
  if ((b_855X < 0)) {
    arg0K0 = (0 - b_855X);
    goto L9975;}
  else {
    arg0K0 = b_855X;
    goto L9975;}}
 L37145: {
  if ((0 == (3 & y_853X))) {
    goto L37151;}
  else {
    if ((3 == (3 & y_853X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_853X))) + -4))))>>2))))) {
        goto L37151;}
      else {
        goto L37154;}}
    else {
      goto L37154;}}}
 L37154: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_852X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_853X);
  arg0K0 = 2;
  goto L24987;}
 L20832: {
  x_1332X = arg0K0;
  y_1333X = arg0K1;
  if ((0 == (3 & x_1332X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20862;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1332X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20862;}}
 L37359: {
  a_1334X = arg0K0;
  n_1335X = ((y_857X)>>2);
  if ((n_1335X < 0)) {
    arg0K0 = (0 - n_1335X);
    goto L37361;}
  else {
    arg0K0 = n_1335X;
    goto L37361;}}
 L37321: {
  if ((0 == (3 & y_857X))) {
    goto L37327;}
  else {
    if ((3 == (3 & y_857X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_857X))) + -4))))>>2))))) {
        goto L37327;}
      else {
        goto L37330;}}
    else {
      goto L37330;}}}
 L37330: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_856X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_857X);
  arg0K0 = 2;
  goto L24987;}
 L37508: {
  SvalS = n_859X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37509: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_859X);
  arg0K0 = 1;
  goto L24987;}
 L37563: {
  SvalS = n_860X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37564: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_860X);
  arg0K0 = 1;
  goto L24987;}
 L37618: {
  SvalS = 4;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37621: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_861X);
  arg0K0 = 1;
  goto L24987;}
 L37678: {
  SvalS = n_862X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37679: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_862X);
  arg0K0 = 1;
  goto L24987;}
 L37733: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37736: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_863X);
  arg0K0 = 1;
  goto L24987;}
 L45260: {
  x_1336X = SvalS;
  if ((0 == (3 & x_1336X))) {
    if ((0 < x_1336X)) {
      goto L45289;}
    else {
      goto L45283;}}
  else {
    v_1337X = s48_bignum_test((((char *) (-3 + x_1336X))));
    if ((-1 == v_1337X)) {
      goto L45283;}
    else {
      goto L45289;}}}
 L45263: {
push_exception_setupB(5, 1);
  x_1338X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1338X);
  arg0K0 = 1;
  goto L24987;}
 L48199: {
  x_1339X = SvalS;
  if ((0 == (3 & x_1339X))) {
    n_1340X = ((x_1339X)>>2);
    if ((n_1340X < 0)) {
      arg0K0 = (0 - n_1340X);
      goto L44270;}
    else {
      arg0K0 = n_1340X;
      goto L44270;}}
  else {
    if ((0 == (3 & x_1339X))) {
      arg0K0 = 1;
      arg0K1 = 3;
      goto L20349;}
    else {
      arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1339X))) + -4))))>>8))))>>2)));
      arg0K1 = 0;
      goto L20349;}}}
 L48202: {
push_exception_setupB(5, 1);
  x_1341X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1341X);
  arg0K0 = 1;
  goto L24987;}
 L37879: {
  val_1342X = integer_bitwise_not(x_881X);
  SvalS = val_1342X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37882: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_881X);
  arg0K0 = 1;
  goto L24987;}
 L37970: {
  x_1343X = arg0K0;
  arg0K0 = x_1343X;
  arg0K1 = 0;
  goto L37976;}
 L37953: {
  val_1344X = integer_bit_count(x_882X);
  SvalS = val_1344X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L37956: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_882X);
  arg0K0 = 1;
  goto L24987;}
 L38055: {
  if ((0 == (3 & y_885X))) {
    goto L38061;}
  else {
    if ((3 == (3 & y_885X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_885X))) + -4))))>>2))))) {
        goto L38061;}
      else {
        goto L38064;}}
    else {
      goto L38064;}}}
 L38064: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_884X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_885X);
  arg0K0 = 2;
  goto L24987;}
 L38218: {
  if ((0 == (3 & y_887X))) {
    goto L38224;}
  else {
    if ((3 == (3 & y_887X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_887X))) + -4))))>>2))))) {
        goto L38224;}
      else {
        goto L38227;}}
    else {
      goto L38227;}}}
 L38227: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_886X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_887X);
  arg0K0 = 2;
  goto L24987;}
 L38381: {
  if ((0 == (3 & y_889X))) {
    goto L38387;}
  else {
    if ((3 == (3 & y_889X))) {
      if ((20 == (31 & ((((*((long *) ((((char *) (-3 + y_889X))) + -4))))>>2))))) {
        goto L38387;}
      else {
        goto L38390;}}
    else {
      goto L38390;}}}
 L38390: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_888X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_889X);
  arg0K0 = 2;
  goto L24987;}
 L34773: {
  val_1345X = arg0K0;
  SvalS = val_1345X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L34789: {
  val_1346X = arg0K0;
  SvalS = val_1346X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L34790: {
push_exception_setupB(6, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_890X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_891X);
  arg0K0 = 2;
  goto L24987;}
 L44320: {
  if ((0 == (3 & y_891X))) {
    if ((0 == (3 & arg2_890X))) {
      value_1347X = ((arg2_890X)>>2);
      count_1348X = ((y_891X)>>2);
      if ((count_1348X < 0)) {
        PS_SHIFT_RIGHT(value_1347X, (0 - count_1348X), x_1349X)
        x_1350X = x_1349X;s48_make_availableAgc(16);
        if ((536870911 < x_1350X)) {
          goto L44440;}
        else {
          if ((x_1350X < -536870912)) {
            goto L44440;}
          else {
            arg0K0 = (((x_1350X)<<2));
            goto L44435;}}}
      else {
        PS_SHIFT_LEFT(value_1347X, count_1348X, x_1351X)
        result_1352X = x_1351X;
        PS_SHIFT_RIGHT(result_1352X, count_1348X, x_1353X)
        if ((value_1347X == x_1353X)) {
          if ((value_1347X < 0)) {
            if ((result_1352X < 0)) {s48_make_availableAgc(16);
              if ((536870911 < result_1352X)) {
                goto L44462;}
              else {
                if ((result_1352X < -536870912)) {
                  goto L44462;}
                else {
                  arg0K0 = (((result_1352X)<<2));
                  goto L44457;}}}
            else {
              arg0K0 = arg2_890X;
              arg0K1 = y_891X;
              goto L44333;}}
          else {
            if ((result_1352X < 0)) {
              arg0K0 = arg2_890X;
              arg0K1 = y_891X;
              goto L44333;}
            else {s48_make_availableAgc(16);
              if ((536870911 < result_1352X)) {
                goto L44484;}
              else {
                if ((result_1352X < -536870912)) {
                  goto L44484;}
                else {
                  arg0K0 = (((result_1352X)<<2));
                  goto L44479;}}}}}
        else {
          arg0K0 = arg2_890X;
          arg0K1 = y_891X;
          goto L44333;}}}
    else {
      if ((3 == (3 & arg2_890X))) {
        if ((20 == (31 & ((((*((long *) ((((char *) (-3 + arg2_890X))) + -4))))>>2))))) {
          y_1354X = ((y_891X)>>2);
          merged_arg0K0 = arg2_890X;
          merged_arg0K1 = y_1354X;
          shift_space_return_tag = 0;
          goto shift_space;
         shift_space_return_0:
          needed_1355X = shift_space0_return_value;
          Stemp0S = arg2_890X;s48_make_availableAgc((((needed_1355X)<<2)));
          value_1356X = Stemp0S;
          Stemp0S = 1;
          if ((0 == (3 & value_1356X))) {
            v_1357X = (char *) s48_long_to_bignum((((value_1356X)>>2)));
            arg1K0 = v_1357X;
            goto L44515;}
          else {
            arg1K0 = (((char *) (-3 + value_1356X)));
            goto L44515;}}
        else {
          goto L44342;}}
      else {
        goto L44342;}}}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_890X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (y_891X);
    arg0K0 = 2;
    goto L24987;}}
 L50826: {
  val_1358X = arg0K0;
  SvalS = val_1358X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41589: {
  val_1359X = arg0K0;
  SvalS = val_1359X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41560: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_895X);
  x_1360X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1360X);
  arg0K0 = 2;
  goto L24987;}
 L41497: {
  val_1361X = arg0K0;
  SvalS = val_1361X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41468: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_897X);
  x_1362X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1362X);
  arg0K0 = 2;
  goto L24987;}
 L45569: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((x_900X)<<2)));
  arg0K0 = 1;
  goto L24987;}
 L50857: {
  val_1363X = arg0K0;
  SvalS = val_1363X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L50871: {
  value_1364X = arg0K0;
  SvalS = value_1364X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L28947: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_905X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_906X)<<2)));
  arg0K0 = 2;
  goto L24987;}
 L29052: {
  SvalS = new_911X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L29036: {
  i_1365X = arg0K0;
  if ((i_1365X < 0)) {
    goto L29052;}
  else {
    value_1366X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_911X))) + (((i_1365X)<<2)))) = (long) (value_1366X);
    arg0K0 = (-1 + i_1365X);
    goto L29036;}}
 L29170: {
  i_1367X = arg0K0;
  if ((i_1367X < 0)) {
    arg0K0 = stack_nargs_919X;
    arg0K1 = rest_list_920X;
    goto L29312;}
  else {
    value_1368X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_917X))) + (((i_1367X)<<2)))) = (long) (value_1368X);
    arg0K0 = (-1 + i_1367X);
    goto L29170;}}
 L29338: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_921X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_922X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_923X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L29455: {
  addr_1369X = (((char *) (-3 + arg2_924X))) + (((offset_927X)<<2));S48_WRITE_BARRIER(arg2_924X, addr_1369X, value_925X);
  *((long *) addr_1369X) = (long) (value_925X);
  goto L29464;}
 L29464: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L29465: {
push_exception_setupB(5, 4);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_924X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_926X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_927X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_925X);
  arg0K0 = 4;
  goto L24987;}
 L29682: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_931X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_932X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (init_930X);
  arg0K0 = 3;
  goto L24987;}
 L29699: {
  x_1370X = arg0K0;
  value_1371X = Stemp0S;
  Stemp0S = 1;
  if ((1 == x_1370X)) {push_exception_setupB(8, 2);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((type_931X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_932X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (value_1371X);
    arg0K0 = 3;
    goto L24987;}
  else {
    arg0K0 = (-1 + len_932X);
    goto L29725;}}
 L29972: {
push_exception_setupB(7, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_935X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_937X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_936X);
  arg0K0 = 3;
  goto L24987;}
 L29962: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg2_935X))) + (-4 & index_936X))));
  goto L29971;}
 L29971: {
  value_1372X = arg0K0;
  SvalS = value_1372X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L29927: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_935X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_937X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_936X);
  arg0K0 = 3;
  goto L24987;}
 L30259: {
push_exception_setupB(7, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_943X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_945X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_942X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_944X);
  arg0K0 = 4;
  goto L24987;}
 L30249: {
  addr_1373X = (((char *) (-3 + arg3_943X))) + (-4 & arg2_942X);S48_WRITE_BARRIER(arg3_943X, addr_1373X, value_944X);
  *((long *) addr_1373X) = (long) (value_944X);
  goto L30258;}
 L30258: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L30212: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_943X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_945X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_942X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_944X);
  arg0K0 = 4;
  goto L24987;}
 L38602: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_950X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((init_951X)<<2)));
  arg0K0 = 2;
  goto L24987;}
 L38615: {
  vector_1374X = arg0K0;
  if ((1 == vector_1374X)) {push_exception_setupB(8, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_950X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((init_951X)<<2)));
    arg0K0 = 2;
    goto L24987;}
  else {
    arg0K0 = (-1 + len_950X);
    goto L38637;}}
 L49853: {
push_exception_setupB(5, 1);
  x_1375X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1375X);
  arg0K0 = 1;
  goto L24987;}
 L45677: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_955X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_956X)<<2)));
  arg0K0 = 2;
  goto L24987;}
 L48818: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_955X);
  x_1376X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1376X);
  arg0K0 = 2;
  goto L24987;}
 L42907: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_959X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_960X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_961X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L42886: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_959X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_960X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_961X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L47519: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_959X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_958X);
  x_1377X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1377X);
  arg0K0 = 3;
  goto L24987;}
 L38782: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_964X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_965X)))<<8))));
  arg0K0 = 2;
  goto L24987;}
 L38795: {
  vector_1378X = arg0K0;
  if ((1 == vector_1378X)) {push_exception_setupB(8, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_964X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) init_965X)))<<8))));
    arg0K0 = 2;
    goto L24987;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1378X))) + len_964X)) = (unsigned char) (0);
    arg0K0 = (-1 + len_964X);
    goto L38817;}}
 L45758: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_963X);
  x_1379X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1379X);
  arg0K0 = 2;
  goto L24987;}
 L49903: {
push_exception_setupB(5, 1);
  x_1380X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1380X);
  arg0K0 = 1;
  goto L24987;}
 L45823: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_969X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_970X)<<2)));
  arg0K0 = 2;
  goto L24987;}
 L48916: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_969X);
  x_1381X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1381X);
  arg0K0 = 2;
  goto L24987;}
 L43062: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_973X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_974X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_975X)))<<8))));
  arg0K0 = 3;
  goto L24987;}
 L43041: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_973X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_974X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + ((((((unsigned char) Kchar_975X)))<<8))));
  arg0K0 = 3;
  goto L24987;}
 L47649: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_973X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_972X);
  x_1382X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1382X);
  arg0K0 = 3;
  goto L24987;}
 L22890: {
  i_1383X = arg0K0;
  h_1384X = arg0K1;
  if ((i_1383X < n_980X)) {
    arg0K0 = (1 + i_1383X);
    arg0K1 = (h_1384X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + string_979X))) + i_1383X))))))));
    goto L22890;}
  else {
    index_1385X = 1023 & h_1384X;
    link_1386X = *((long *) ((((char *) (-3 + table_978X))) + (((index_1385X)<<2))));
    if ((0 == (3 & link_1386X))) {
      arg0K0 = (3 + (-4 & link_1386X));
      goto L22846;}
    else {
      arg0K0 = link_1386X;
      goto L22846;}}}
 L34935: {
push_exception_setupB(5, 1);
  x_1387X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1387X);
  arg0K0 = 1;
  goto L24987;}
 L47213: {
  val_1388X = arg0K0;
  SvalS = val_1388X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L47194: {
push_exception_setupB(5, 1);
  x_1389X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1389X);
  arg0K0 = 1;
  goto L24987;}
 L42664: {
  if ((1 == (SvalS))) {
    addr_1390X = (((char *) (-3 + arg2_984X))) + 4;S48_WRITE_BARRIER(arg2_984X, addr_1390X, 273);
    *((long *) addr_1390X) = (long) (273);
    goto L42670;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_984X))) + 4)))))) {
      addr_1391X = (((char *) (-3 + arg2_984X))) + 4;S48_WRITE_BARRIER(arg2_984X, addr_1391X, 529);
      *((long *) addr_1391X) = (long) (529);
      goto L42670;}
    else {
      goto L42670;}}}
 L42671: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_984X);
  x_1392X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1392X);
  arg0K0 = 2;
  goto L24987;}
 L50953: {
  val_1393X = arg0K0;
  SvalS = val_1393X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L45905: {
  SvalS = x_987X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L39207: {
  if ((0 == (3 & arg3_989X))) {
    if (((((arg3_989X)>>2)) < 0)) {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_989X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
      arg0K0 = 2;
      goto L24987;}
    else {
      arg0K0 = (((arg3_989X)>>2));
      goto L38993;}}
  else {
    if ((3 == (3 & arg3_989X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_989X))) + -4))))>>2))))) {
        if ((1 == mode_990X)) {
          goto L39051;}
        else {
          if ((3 == mode_990X)) {
            goto L39051;}
          else {
            v_1394X = ps_open_fd((((char *)(((char *) (-3 + arg3_989X))))), 0, &v_1395X);
            arg0K0 = v_1394X;
            arg0K1 = v_1395X;
            goto L39064;}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_989X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
        arg0K0 = 2;
        goto L24987;}}
    else {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_989X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
      arg0K0 = 2;
      goto L24987;}}}
 L50972: {
push_exception_setupB(5, 1);
  x_1396X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1396X);
  arg0K0 = 1;
  goto L24987;}
 L46076: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L46086;}
  else {
    arg2K0 = 1;
    goto L46086;}}
 L46087: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1000X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_999X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_998X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_997X);
  x_1397X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1397X);
  arg0K0 = 5;
  goto L24987;}
 L39800: {
  if ((3 == (3 & arg3_1003X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1003X))) + -4))))>>2))))) {
      arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1003X))) + -4))))>>8)));
      goto L39802;}
    else {
      goto L39966;}}
  else {
    goto L39966;}}
 L39952: {
  if ((3 == (3 & arg3_1003X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1003X))) + -4))))>>2))))) {
      goto L39800;}
    else {
      goto L39842;}}
  else {
    goto L39842;}}
 L39842: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1004X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1003X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1005X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1006X)<<2)));
  arg0K0 = 4;
  goto L24987;}
 L46290: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1004X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1003X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1002X);
  x_1398X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1398X);
  arg0K0 = 4;
  goto L24987;}
 L42255: {
  val_1399X = arg0K0;
  SvalS = val_1399X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L50996: {
push_exception_setupB(5, 1);
  x_1400X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1400X);
  arg0K0 = 1;
  goto L24987;}
 L46438: {
  val_1401X = arg0K0;
  SvalS = val_1401X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L11985: {
  x_1402X = Spending_channels_headS;
  if ((1 == x_1402X)) {
    Spending_interruptsS = (-9 & (Spending_interruptsS));
    goto L11997;}
  else {
    goto L11997;}}
 L12003: {
  ch_1403X = arg0K0;
  prev_1404X = arg0K1;
  if ((1 == ch_1403X)) {
    addr_1405X = (((char *) (-3 + channel_1014X))) + 20;S48_WRITE_BARRIER(channel_1014X, addr_1405X, 1);
    *((long *) addr_1405X) = (long) (1);
    n_1406X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1014X))) + 8))))>>2)));
    arg0K0 = (((n_1406X)<<2));
    goto L46438;}
  else {
    if ((ch_1403X == channel_1014X)) {
      y_1407X = Spending_channels_tailS;
      if ((ch_1403X == y_1407X)) {
        Spending_channels_tailS = prev_1404X;
        goto L12027;}
      else {
        goto L12027;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + ch_1403X))) + 16)));
      arg0K1 = ch_1403X;
      goto L12003;}}}
 L46421: {
push_exception_setupB(5, 1);
  x_1408X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1408X);
  arg0K0 = 1;
  goto L24987;}
 L18860: {
  i_1409X = arg0K0;
  res_1410X = arg0K1;
  if ((-1 == i_1409X)) {
    SvalS = res_1410X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    channel_1411X = *((Svm_channelsS) + i_1409X);
    if ((3 == (3 & channel_1411X))) {
      if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_1411X))) + -4))))>>2))))) {
        addr_1412X = s48_allocate_small(12);
        *((long *) addr_1412X) = (long) (2050);
        x_1413X = 3 + (((long) (addr_1412X + 4)));
        *((long *) (((char *) (-3 + x_1413X)))) = (long) (channel_1411X);
        *((long *) ((((char *) (-3 + x_1413X))) + 4)) = (long) (res_1410X);
        arg0K0 = x_1413X;
        goto L18874;}
      else {
        arg0K0 = res_1410X;
        goto L18874;}}
    else {
      arg0K0 = res_1410X;
      goto L18874;}}}
 L40085: {
  old_1414X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 == old_1414X)) {
    goto L40101;}
  else {
    addr_1415X = ((char *) (-3 + old_1414X));S48_WRITE_BARRIER(old_1414X, addr_1415X, 1);
    *((long *) addr_1415X) = (long) (1);
    goto L40101;}}
 L40116: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proposal_1021X);
  arg0K0 = 1;
  goto L24987;}
 L10758: {
  i_1416X = arg0K0;
  stob_1417X = *((long *) ((((char *) (-3 + log_1023X))) + (((i_1416X)<<2))));
  if ((1 == stob_1417X)) {
    log_1418X = *((long *) ((((char *) (-3 + proposal_1022X))) + 8));
    arg0K0 = 0;
    goto L10996;}
  else {
    value_1419X = *((long *) ((((char *) (-3 + log_1023X))) + (8 + (((i_1416X)<<2)))));
    verify_1420X = *((long *) ((((char *) (-3 + log_1023X))) + (12 + (((i_1416X)<<2)))));
    if ((29 == verify_1420X)) {
      if ((3 == (3 & stob_1417X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1417X))) + -4)))))) {
          goto L10810;}
        else {
          goto L40347;}}
      else {
        goto L40347;}}
    else {
      if ((verify_1420X == (*((long *) ((((char *) (-3 + stob_1417X))) + (-4 & (*((long *) ((((char *) (-3 + log_1023X))) + (4 + (((i_1416X)<<2)))))))))))) {
        if ((verify_1420X == value_1419X)) {
          goto L10810;}
        else {
          if ((3 == (3 & stob_1417X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1417X))) + -4)))))) {
              goto L10810;}
            else {
              goto L40347;}}
          else {
            goto L40347;}}}
      else {
        goto L40347;}}}}
 L30557: {
  value_1421X = arg0K0;
  SvalS = value_1421X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L30558: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_1024X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1025X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_1026X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L30651: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1032X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((from_index_1033X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1030X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((to_index_1034X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1035X)<<2)));
  arg0K0 = 5;
  goto L24987;}
 L30711: {
  memcpy((void *)((((char *) (-3 + arg3_1030X))) + to_index_1034X), (void *)((((char *) (-3 + arg5_1032X))) + from_index_1033X),count_1035X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L30799: {
  left_1422X = arg0K0;
  copies_1423X = arg0K1;
  if ((1 == copies_1423X)) {
    if ((left_1422X < count_1035X)) {
      goto L30651;}
    else {
      from_index_1424X = ((from_index_1033X)<<2);
      to_index_1425X = ((to_index_1034X)<<2);
      count_1426X = ((count_1035X)<<2);
      Stemp0S = arg5_1032X;
      Stemp1S = arg3_1030X;
      addr_1427X = s48_allocate_tracedAgc(28);
      if ((addr_1427X == NULL)) {
        arg0K0 = 1;
        goto L10465;}
      else {
        *((long *) addr_1427X) = (long) (6154);
        arg0K0 = (3 + (((long) (addr_1427X + 4))));
        goto L10465;}}}
  else {
    arg0K0 = (left_1422X - ((((*((long *) ((((char *) (-3 + copies_1423X))) + 16))))>>2)));
    arg0K1 = (*((long *) ((((char *) (-3 + copies_1423X))) + 20)));
    goto L30799;}}
 L31008: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1040X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1041X)<<2)));
  arg0K0 = 2;
  goto L24987;}
 L31007: {
  value_1428X = arg0K0;
  SvalS = value_1428X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L16399: {
  i_1429X = arg0K0;
  next_stob_1430X = *((long *) ((((char *) (-3 + log_1045X))) + (((i_1429X)<<2))));
  if ((1 == next_stob_1430X)) {
    v_1431X = add_log_entryAgc(2, i_1429X, arg2_1040X, index_1044X, ((((*((unsigned char *) ((((char *) (-3 + arg2_1040X))) + (((index_1044X)>>2))))))<<2)), 1);
    arg0K0 = v_1431X;
    goto L31007;}
  else {
    if ((arg2_1040X == next_stob_1430X)) {
      if ((index_1044X == (*((long *) ((((char *) (-3 + log_1045X))) + (4 + (((i_1429X)<<2)))))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + log_1045X))) + (8 + (((i_1429X)<<2))))));
        goto L31007;}
      else {
        goto L16421;}}
    else {
      goto L16421;}}}
 L34225: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1040X);
  x_1432X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1432X);
  arg0K0 = 2;
  goto L24987;}
 L31134: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1047X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1048X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_1049X);
  arg0K0 = 3;
  goto L24987;}
 L31133: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L16575: {
  i_1433X = arg0K0;
  next_stob_1434X = *((long *) ((((char *) (-3 + log_1053X))) + (((i_1433X)<<2))));
  if ((1 == next_stob_1434X)) {add_log_entryAgc(2, i_1433X, arg3_1047X, index_1052X, byte_1049X, 0);
    goto L31133;}
  else {
    if ((arg3_1047X == next_stob_1434X)) {
      if ((index_1052X == (*((long *) ((((char *) (-3 + log_1053X))) + (4 + (((i_1433X)<<2)))))))) {
        addr_1435X = (((char *) (-3 + log_1053X))) + (8 + (((i_1433X)<<2)));S48_WRITE_BARRIER(log_1053X, addr_1435X, byte_1049X);
        *((long *) addr_1435X) = (long) (byte_1049X);
        goto L31133;}
      else {
        goto L16595;}}
    else {
      goto L16595;}}}
 L31099: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1047X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1048X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_1049X);
  arg0K0 = 3;
  goto L24987;}
 L34330: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1047X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1046X);
  x_1436X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1436X);
  arg0K0 = 3;
  goto L24987;}
 L43290: {
  reason_1437X = arg0K0;
  status_1438X = arg0K1;push_exception_setupB(reason_1437X, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1057X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1056X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1055X);
  merged_arg0K0 = status_1438X;
  merged_arg0K1 = 0;
  get_error_string_return_tag = 3;
  goto get_error_string;
 get_error_string_return_3:
  x_1439X = get_error_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1439X);
  arg0K0 = 4;
  goto L24987;}
 L47850: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1057X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1056X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1055X);
  x_1440X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1440X);
  arg0K0 = 4;
  goto L24987;}
 L48562: {
  i_1441X = arg0K0;
  h_1442X = arg0K1;
  if ((i_1441X < n_1069X)) {
    arg0K0 = (1 + i_1441X);
    arg0K1 = (h_1442X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + x_1068X))) + i_1441X))))))));
    goto L48562;}
  else {
    SvalS = (((h_1442X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L48539: {
push_exception_setupB(5, 1);
  x_1443X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1443X);
  arg0K0 = 1;
  goto L24987;}
 L43565: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1070X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1071X);
  arg0K0 = 2;
  goto L24987;}
 L46557: {
  firstP_1444X = arg2K0;
  vector_1445X = s48_find_all(type_1084X);
  if ((1 == vector_1445X)) {
    if (firstP_1444X) {s48_collect();
      arg2K0 = 0;
      goto L46557;}
    else {push_exception_setupB(8, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((type_1084X)<<2)));
      arg0K0 = 1;
      goto L24987;}}
  else {
    SvalS = vector_1445X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L51104: {
  firstP_1446X = arg2K0;
  type_1447X = arg0K1;
  vector_1448X = s48_find_all_records(type_1447X);
  if ((1 == vector_1448X)) {
    if (firstP_1446X) {
      Stemp0S = type_1447X;s48_collect();
      value_1449X = Stemp0S;
      Stemp0S = 1;
      arg2K0 = 0;
      arg0K1 = value_1449X;
      goto L51104;}
    else {push_exception_setupB(8, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (type_1447X);
      arg0K0 = 1;
      goto L24987;}}
  else {
    SvalS = vector_1448X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L28145: {
push_exception_setupB(5, 1);
  x_1450X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1450X);
  arg0K0 = 1;
  goto L24987;}
 L26463: {
  Slast_code_calledS = code_1091X;
  Scode_pointerS = ((((char *) (-3 + code_1091X))) + (pc_1094X + (((size_1093X)>>2))));
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L25248: {
  ps_write_string("returning to nc ", (stderr));
  ps_write_integer((*((long *) (SstackS))), (stderr));
  arg0K0 = 0;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L24175;}
 L27053: {
push_exception_setupB(5, 1);
  x_1451X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1451X);
  arg0K0 = 1;
  goto L24987;}
 L51152: {
  SvalS = (((old_1102X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L9656: {
  proposal_1452X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  x_1453X = Scurrent_threadS;
  addr_1454X = (((char *) (-3 + x_1453X))) + 12;S48_WRITE_BARRIER(x_1453X, addr_1454X, proposal_1452X);
  *((long *) addr_1454X) = (long) (proposal_1452X);
  if ((12 == x_1104X)) {
    arg0K0 = 0;
    arg0K1 = 25;
    arg0K2 = 0;
    goto L24175;}
  else {
    pc_1455X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    code_1456X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    Slast_code_calledS = code_1456X;
    Scode_pointerS = ((((char *) (-3 + code_1456X))) + (((pc_1455X)>>2)));
    v_1457X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = v_1457X;
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L50040: {
  x_1458X = s48_schedule_alarm_interrupt((((p_1106X)>>2)));
  SvalS = (((x_1458X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L47398: {
  if ((1 == (SvalS))) {
    arg2K0 = 0;
    goto L47402;}
  else {
    arg2K0 = 1;
    goto L47402;}}
 L47403: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1108X);
  x_1459X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1459X);
  arg0K0 = 2;
  goto L24987;}
 L31333: {
  rest_list_1460X = arg0K0;
  if ((25 == rest_list_1460X)) {
    name_1461X = *((long *) ((SstackS) + (-8 + (((nargs_1111X)<<2)))));
    proc_1462X = *((long *) ((SstackS) + (-4 + (((nargs_1111X)<<2)))));
    args_1463X = SstackS;
    if ((3 == (3 & name_1461X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + name_1461X))) + -4))))>>2))))) {
        if ((3 == (3 & proc_1462X))) {
          if ((18 == (31 & ((((*((long *) ((((char *) (-3 + proc_1462X))) + -4))))>>2))))) {
            if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_1462X))) + -4))))>>8)))) {
              SstackS = (ScontS);
              result_1464X = s48_external_call(proc_1462X, name_1461X, (-2 + nargs_1111X), args_1463X);
              if ((Sexternal_exceptionPS)) {
                Sexternal_exceptionPS = 0;
                arg0K0 = (Sexternal_exception_nargsS);
                goto L24987;}
              else {
                SvalS = result_1464X;
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg1K0 = (Scode_pointerS);
                goto L26349;}}
            else {
              goto L31589;}}
          else {
            goto L31589;}}
        else {
          goto L31589;}}
      else {
        goto L31589;}}
    else {
      goto L31589;}}
  else {
    x_1465X = *((long *) (((char *) (-3 + rest_list_1460X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1465X);
    arg0K0 = (*((long *) ((((char *) (-3 + rest_list_1460X))) + 4)));
    goto L31333;}}
 L46652: {
  if ((1 == (SvalS))) {
    v_1466X = Hlookup2710((Sexported_bindingsS), arg2_1115X, 0);
    arg0K0 = v_1466X;
    goto L46693;}
  else {
    v_1467X = Hlookup2691((Simported_bindingsS), arg2_1115X, 0);
    arg0K0 = v_1467X;
    goto L46693;}}
 L46657: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1115X);
  x_1468X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1468X);
  arg0K0 = 2;
  goto L24987;}
 L32899: {
  if ((1 == (SvalS))) {
    arg0K0 = (Sexported_bindingsS);
    goto L32934;}
  else {
    arg0K0 = (Simported_bindingsS);
    goto L32934;}}
 L32904: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1117X);
  x_1469X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1469X);
  arg0K0 = 2;
  goto L24987;}
 L51181: {
  firstP_1470X = arg2K0;
  vector_1471X = s48_gather_objects(shared_binding_undefinedP, for_each_imported_binding);
  if ((1 == vector_1471X)) {
    if (firstP_1470X) {s48_collect();
      arg2K0 = 0;
      goto L51181;}
    else {push_exception_setupB(8, 1);
      arg0K0 = 0;
      goto L24987;}}
  else {
    SvalS = vector_1471X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L48473: {
  option_1472X = arg0K0;
  seconds_1473X = arg0K1;
  mseconds_1474X = arg0K2;
  if ((536869 < seconds_1473X)) {push_exception_setupB(6, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((option_1472X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((seconds_1473X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mseconds_1474X)<<2)));
    arg0K0 = 3;
    goto L24987;}
  else {
    SvalS = (((((1000 * seconds_1473X) + mseconds_1474X))<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L51236: {
  s48_Scallback_return_stack_blockS = arg2_1133X;
  arg0K0 = x_1134X;
  goto L53613;}
 L41261: {
  val_1475X = arg0K0;
  SvalS = val_1475X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41226: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1135X);
  x_1476X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1476X);
  arg0K0 = 2;
  goto L24987;}
 L40888: {
  len_1477X = 1 + n_1140X;
  addr_1478X = s48_allocate_small((4 + len_1477X));
  *((long *) addr_1478X) = (long) ((70 + (((len_1477X)<<8))));
  string_1479X = 3 + (((long) (addr_1478X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_1479X))) + n_1140X)) = (unsigned char) (0);
  arg0K0 = arg2_1139X;
  arg0K1 = (-1 + n_1140X);
  goto L40865;}
 L40840: {
  if ((25 == arg2_1139X)) {
    goto L40888;}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_1139X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1140X)<<2)));
    arg0K0 = 2;
    goto L24987;}}
 L42318: {
  list_1480X = arg0K0;
  slow_1481X = arg0K1;
  move_slowP_1482X = arg2K2;
  if ((25 == list_1480X)) {
    SvalS = 1;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    if ((3 == (3 & list_1480X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_1480X))) + -4))))>>2))))) {
        head_1483X = *((long *) (((char *) (-3 + list_1480X))));
        if ((3 == (3 & head_1483X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_1483X))) + -4))))>>2))))) {
            if (((*((long *) (((char *) (-3 + head_1483X))))) == arg2_1142X)) {
              SvalS = head_1483X;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg1K0 = (Scode_pointerS);
              goto L26349;}
            else {
              list_1484X = *((long *) ((((char *) (-3 + list_1480X))) + 4));
              if ((list_1484X == slow_1481X)) {push_exception_setupB(5, 1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (arg2_1142X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (list_1143X);
                arg0K0 = 2;
                goto L24987;}
              else {
                if (move_slowP_1482X) {
                  arg0K0 = list_1484X;
                  arg0K1 = (*((long *) ((((char *) (-3 + slow_1481X))) + 4)));
                  arg2K2 = 0;
                  goto L42318;}
                else {
                  arg0K0 = list_1484X;
                  arg0K1 = slow_1481X;
                  arg2K2 = 1;
                  goto L42318;}}}}
          else {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_1142X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (list_1143X);
            arg0K0 = 2;
            goto L24987;}}
        else {push_exception_setupB(5, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (arg2_1142X);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (list_1143X);
          arg0K0 = 2;
          goto L24987;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1142X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (list_1143X);
        arg0K0 = 2;
        goto L24987;}}
    else {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_1142X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (list_1143X);
      arg0K0 = 2;
      goto L24987;}}}
 L31665: {
push_exception_setupB(7, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1145X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1144X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1146X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L31655: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg3_1145X))) + (((index_1146X)<<2)))));
  goto L31664;}
 L31664: {
  value_1485X = arg0K0;
  SvalS = value_1485X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L31685: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1145X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1144X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1146X)<<2)));
  arg0K0 = 3;
  goto L24987;}
 L31923: {
push_exception_setupB(7, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1153X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1152X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1154X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1155X);
  arg0K0 = 4;
  goto L24987;}
 L31913: {
  addr_1486X = (((char *) (-3 + arg4_1153X))) + (((index_1154X)<<2));S48_WRITE_BARRIER(arg4_1153X, addr_1486X, value_1155X);
  *((long *) addr_1486X) = (long) (value_1155X);
  goto L31922;}
 L31922: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L31945: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1153X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1152X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1154X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1155X);
  arg0K0 = 4;
  goto L24987;}
 L32202: {
  port_1487X = arg0K0;
  if ((3 == (3 & port_1487X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1487X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1487X))) + 4))))>>2))))) {
        goto L32259;}
      else {
        b_1488X = *((long *) ((((char *) (-3 + port_1487X))) + 16));
        if ((1 == b_1488X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1487X);
          arg0K0 = 1;
          goto L24987;}
        else {
          p_1489X = *((long *) ((((char *) (-3 + port_1487X))) + 20));
          p_1490X = *((long *) ((((char *) (-3 + port_1487X))) + 24));
          i_1491X = ((p_1489X)>>2);
          if ((i_1491X == (((p_1490X)>>2)))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1487X);
            arg0K0 = 1;
            goto L24987;}
          else {
            val_1492X = 4 + (((i_1491X)<<2));
            addr_1493X = (((char *) (-3 + port_1487X))) + 20;S48_WRITE_BARRIER(port_1487X, addr_1493X, val_1492X);
            *((long *) addr_1493X) = (long) (val_1492X);
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1488X))) + i_1491X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L26349;}}}}
    else {
      goto L32259;}}
  else {
    goto L32259;}}
 L32404: {
  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 L32461;}
      else {
        b_1495X = *((long *) ((((char *) (-3 + port_1494X))) + 16));
        if ((1 == b_1495X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1494X);
          arg0K0 = 1;
          goto L24987;}
        else {
          p_1496X = *((long *) ((((char *) (-3 + port_1494X))) + 20));
          p_1497X = *((long *) ((((char *) (-3 + port_1494X))) + 24));
          i_1498X = ((p_1496X)>>2);
          if ((i_1498X == (((p_1497X)>>2)))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1494X);
            arg0K0 = 1;
            goto L24987;}
          else {
            SvalS = (9 + ((((((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + b_1495X))) + i_1498X))))))))<<8)));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg1K0 = (Scode_pointerS);
            goto L26349;}}}}
    else {
      goto L32461;}}
  else {
    goto L32461;}}
 L32599: {
  Kchar_1499X = arg0K0;
  port_1500X = arg0K1;
  if ((9 == (255 & Kchar_1499X))) {
    if ((3 == (3 & port_1500X))) {
      if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1500X))) + -4))))>>2))))) {
        if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1500X))) + 4))))>>2))))) {
          goto L32659;}
        else {
          b_1501X = *((long *) ((((char *) (-3 + port_1500X))) + 16));
          if ((1 == b_1501X)) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (Kchar_1499X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1500X);
            arg0K0 = 2;
            goto L24987;}
          else {
            i_1502X = (((*((long *) ((((char *) (-3 + port_1500X))) + 20))))>>2);
            if ((i_1502X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1501X))) + -4))))>>8)))) {push_exception_setupB(13, 2);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (Kchar_1499X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (port_1500X);
              arg0K0 = 2;
              goto L24987;}
            else {
              val_1503X = 4 + (((i_1502X)<<2));
              addr_1504X = (((char *) (-3 + port_1500X))) + 20;S48_WRITE_BARRIER(port_1500X, addr_1504X, val_1503X);
              *((long *) addr_1504X) = (long) (val_1503X);
              *((unsigned char *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + port_1500X))) + 16)))))) + i_1502X)) = (unsigned char) ((((unsigned char) (((char) (((Kchar_1499X)>>8)))))));
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 2);
              arg1K0 = (Scode_pointerS);
              goto L26349;}}}}
      else {
        goto L32659;}}
    else {
      goto L32659;}}
  else {
    goto L32659;}}
 L42571: {
  stuff_1505X = arg0K0;
  if ((3 == (3 & stuff_1505X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_1505X))) + -4))))>>2))))) {
      thing_1506X = *((long *) (((char *) (-3 + stuff_1505X))));
      if ((0 == (3 & thing_1506X))) {
        ps_write_integer((((thing_1506X)>>2)), out_1169X);
        goto L42577;}
      else {
        if ((9 == (255 & thing_1506X))) {
          ps_write_string("#\\", out_1169X);
          { long ignoreXX;
          PS_WRITE_CHAR((((char) (((thing_1506X)>>8)))), out_1169X, ignoreXX) }
          goto L42577;}
        else {
          if ((3 == (3 & thing_1506X))) {
            if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
              if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>8))))>>2)))) {
                type_1507X = *((long *) (((char *) (-3 + thing_1506X))));
                if ((3 == (3 & type_1507X))) {
                  if ((9 == (31 & ((((*((long *) ((((char *) (-3 + type_1507X))) + -4))))>>2))))) {
                    if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_1507X))) + -4))))>>8))))>>2)))) {
                      obj_1508X = *((long *) ((((char *) (-3 + type_1507X))) + 8));
                      if ((3 == (3 & obj_1508X))) {
                        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1508X))) + -4))))>>2))))) {
                          ps_write_string("#{", out_1169X);
                          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_1506X)))))))) + 8))))))))))))), out_1169X);
                          { long ignoreXX;
                          PS_WRITE_CHAR(125, out_1169X, ignoreXX) }
                          goto L42577;}
                        else {
                          goto L18122;}}
                      else {
                        goto L18122;}}
                    else {
                      goto L18122;}}
                  else {
                    goto L18122;}}
                else {
                  goto L18122;}}
              else {
                goto L18122;}}
            else {
              goto L18122;}}
          else {
            goto L18122;}}}}
    else {
      goto L42562;}}
  else {
    goto L42562;}}
 L27998: {
  v_1509X = arg0K0;
  ScontS = (cont_1186X + (4 + (((v_1509X)<<2))));
  v_1510X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_1511X = s48_invoke_native_continuation(((((long) (((char *) v_1510X)))) + protocol_skip_1185X));
  arg0K0 = v_1511X;
  goto L26812;}
 L24288: {
  v_1512X = arg0K0;
  SvalS = v_1512X;
  arg0K0 = cont_732X;
  goto L25333;}
 L27827: {
  x_1513X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1513X);
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L27809: {
  stack_nargs_1514X = arg0K0;
  l_1515X = arg0K1;
  if ((count_737X == stack_nargs_1514X)) {
    arg0K0 = l_1515X;
    goto L27827;}
  else {
    x_1516X = *((long *) (((char *) (-3 + l_1515X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1516X);
    arg0K0 = (1 + stack_nargs_1514X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_1515X))) + 4)));
    goto L27809;}}
 L27732: {
  loc_1517X = arg1K0;
  arg_1518X = arg1K1;
  if ((arg_1518X < arg_top_1204X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_1201X)<<2))));
    if ((0 == list_arg_count_1203X)) {
      goto L27719;}
    else {
      merged_arg0K0 = list_args_1202X;
      merged_arg0K1 = list_arg_count_1203X;
      push_list_return_tag = 3;
      goto push_list;
     push_list_return_3:
      goto L27719;}}
  else {
    *((long *) loc_1517X) = (long) ((*((long *) arg_1518X)));
    arg1K0 = (loc_1517X + -4);
    arg1K1 = (arg_1518X + -4);
    goto L27732;}}
 L24726: {
  arg_count_1519X = arg0K0;
  if ((3 == (3 & handlers_1208X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_1208X))) + -4))))>>2))))) {
      goto L24740;}
    else {
      goto L24782;}}
  else {
    goto L24782;}}
 L12202: {
  channel_1520X = arg0K0;
  x_1521X = 1 == (Spending_channels_headS);
  if (x_1521X) {
    goto L12216;}
  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 L12216;}
      else {
        goto L12216;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L12216;}}}
 L12386: {
  sig_1522X = *(Sos_signal_ringS + (Sos_signal_ring_startS));
  if ((31 == (Sos_signal_ring_startS))) {
    arg0K0 = 0;
    goto L12390;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_startS));
    goto L12390;}}
 L8862: {
  count_1523X = arg0K0;
  i_1524X = arg0K1;
  offset_1525X = arg0K2;
  if ((0 == count_1523X)) {
    if ((i_1524X < total_count_1221X)) {
      arg0K0 = i_1524X;
      arg0K1 = offset_1525X;
      goto L7356;}
    else {
      arg0K0 = offset_1525X;
      goto L53645;}}
  else {
    value_1526X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1525X)))))<<2))));
    addr_1527X = (((char *) (-3 + new_env_1218X))) + (((i_1524X)<<2));S48_WRITE_BARRIER(new_env_1218X, addr_1527X, value_1526X);
    *((long *) addr_1527X) = (long) (value_1526X);
    arg0K0 = (-1 + count_1523X);
    arg0K1 = (1 + i_1524X);
    arg0K2 = (1 + offset_1525X);
    goto L8862;}}
 L11385: {
  count_1528X = arg0K0;
  i_1529X = arg0K1;
  offset_1530X = arg0K2;
  if ((0 == count_1528X)) {
    if ((i_1529X < total_count_1230X)) {
      arg0K0 = i_1529X;
      arg0K1 = offset_1530X;
      goto L8140;}
    else {
      arg0K0 = offset_1530X;
      goto L53635;}}
  else {
    value_1531X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1530X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1530X))))))<<2))));
    addr_1532X = (((char *) (-3 + new_env_1227X))) + (((i_1529X)<<2));S48_WRITE_BARRIER(new_env_1227X, addr_1532X, value_1531X);
    *((long *) addr_1532X) = (long) (value_1531X);
    arg0K0 = (-1 + count_1528X);
    arg0K1 = (1 + i_1529X);
    arg0K2 = (2 + offset_1530X);
    goto L11385;}}
 L49164: {
  pop_continuationB_return_tag = 6;
  goto pop_continuationB;
 pop_continuationB_return_6:
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L25333: {
  cont_1533X = arg0K0;
  if ((1 == cont_1533X)) {
    if ((0 == (3 & (SvalS)))) {
      s48_Scallback_return_stack_blockS = 1;
      arg0K0 = ((((SvalS))>>2));
      goto L53613;}
    else {
      goto L25348;}}
  else {
    goto L25348;}}
 L49308: {
  v_1534X = arg0K0;
  ScontS = (cont_1269X + (4 + (((v_1534X)<<2))));
  merged_arg0K0 = 0;
  move_args_above_contB_return_tag = 7;
  goto move_args_above_contB;
 move_args_above_contB_return_7:
  goto L49213;}
 L49213: {
  x_1535X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1535X);
  SvalS = proc_1268X;
  arg0K0 = 1;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L47010;}
 L28049: {
push_exception_setupB(5, 8);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (template_802X);
  arg0K0 = 1;
  goto L24987;}
 L15305: {
  if ((3 == (3 & x_823X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_823X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50567;}
    else {
      goto L15311;}}
  else {
    goto L15311;}}
 L41802: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_824X);
  arg0K0 = 1;
  goto L24987;}
 L41797: {
  if ((3 == (3 & n_824X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_824X))) + -4))))>>2))))) {
      goto L41802;}
    else {
      goto L41803;}}
  else {
    goto L41803;}}
 L41955: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41938: {
  if ((3 == (3 & n_1288X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + n_1288X))) + -4))))>>2))))) {
      goto L41955;}
    else {
      goto L41946;}}
  else {
    goto L41946;}}
 L35077: {
  val_1536X = integer_add(arg2_828X, y_829X);
  SvalS = val_1536X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35094: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_828X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_829X);
  arg0K0 = 2;
  goto L24987;}
 L9026: {
  b_1537X = arg0K0;
  lo_a_1538X = 65535 & a_1298X;
  lo_b_1539X = 65535 & b_1537X;
  hi_a_1540X = 65535 & (((a_1298X)>>16));
  hi_b_1541X = 65535 & (((b_1537X)>>16));
  lo_c_1542X = SMALL_MULTIPLY(lo_a_1538X, lo_b_1539X);
  v_1543X = SMALL_MULTIPLY(lo_a_1538X, hi_b_1541X);
  v_1544X = SMALL_MULTIPLY(lo_b_1539X, hi_a_1540X);
  mid_c_1545X = v_1543X + v_1544X;
  c_1546X = lo_c_1542X + (((mid_c_1545X)<<16));
  if ((0 < hi_a_1540X)) {
    if ((0 < hi_b_1541X)) {
      val_1547X = integer_multiply(arg2_831X, y_832X);
      SvalS = val_1547X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
    else {
      goto L9068;}}
  else {
    goto L9068;}}
 L43691: {
  val_1548X = integer_multiply(arg2_831X, y_832X);
  SvalS = val_1548X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L43708: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_831X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_832X);
  arg0K0 = 2;
  goto L24987;}
 L35366: {
  val_1549X = integer_subtract(arg2_835X, y_836X);
  SvalS = val_1549X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35383: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_835X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_836X);
  arg0K0 = 2;
  goto L24987;}
 L9284: {
  b_1550X = arg0K0;
  c_1551X = a_1314X / b_1550X;
  x_1552X = 0 == (a_1314X % b_1550X);
  if (x_1552X) {
    if ((a_840X < 0)) {
      if ((b_841X < 0)) {s48_make_availableAgc(16);
        if ((536870911 < c_1551X)) {
          goto L51976;}
        else {
          if ((c_1551X < -536870912)) {
            goto L51976;}
          else {
            arg0K0 = (((c_1551X)<<2));
            goto L51971;}}}
      else {
        goto L9330;}}
    else {
      if ((b_841X < 0)) {
        goto L9330;}
      else {s48_make_availableAgc(16);
        if ((536870911 < c_1551X)) {
          goto L51998;}
        else {
          if ((c_1551X < -536870912)) {
            goto L51998;}
          else {
            arg0K0 = (((c_1551X)<<2));
            goto L51993;}}}}}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_838X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (y_839X);
    arg0K0 = 2;
    goto L24987;}}
 L43944: {
  if ((0 == (3 & arg2_838X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16747;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_838X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16747;}}
 L43988: {
  result_1553X = arg0K0;
  if ((1 == result_1553X)) {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_838X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (y_839X);
    arg0K0 = 2;
    goto L24987;}
  else {
    SvalS = result_1553X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L43995: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_838X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_839X);
  arg0K0 = 2;
  goto L24987;}
 L35651: {
  b_1554X = integerE(arg2_842X, y_843X);
  if (b_1554X) {
    arg0K0 = 5;
    goto L35655;}
  else {
    arg0K0 = 1;
    goto L35655;}}
 L35671: {
  val_1555X = arg0K0;
  SvalS = val_1555X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35672: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_842X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_843X);
  arg0K0 = 2;
  goto L24987;}
 L35911: {
  if ((0 == (3 & arg2_844X))) {
    if ((0 == (3 & y_845X))) {
      if ((arg2_844X < y_845X)) {
        arg0K0 = 5;
        goto L35915;}
      else {
        arg0K0 = 1;
        goto L35915;}}
    else {
      v_1556X = s48_bignum_test((((char *) (-3 + y_845X))));
      if ((1 == v_1556X)) {
        arg0K0 = 5;
        goto L35915;}
      else {
        arg0K0 = 1;
        goto L35915;}}}
  else {
    if ((0 == (3 & y_845X))) {
      v_1557X = s48_bignum_test((((char *) (-3 + arg2_844X))));
      if ((1 == v_1557X)) {
        arg0K0 = 1;
        goto L35915;}
      else {
        arg0K0 = 5;
        goto L35915;}}
    else {
      v_1558X = s48_bignum_compare((((char *) (-3 + arg2_844X))), (((char *) (-3 + y_845X))));
      if ((-1 == v_1558X)) {
        arg0K0 = 5;
        goto L35915;}
      else {
        arg0K0 = 1;
        goto L35915;}}}}
 L35931: {
  val_1559X = arg0K0;
  SvalS = val_1559X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35932: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_844X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_845X);
  arg0K0 = 2;
  goto L24987;}
 L36234: {
  if ((0 == (3 & y_847X))) {
    if ((0 == (3 & arg2_846X))) {
      if ((y_847X < arg2_846X)) {
        arg0K0 = 5;
        goto L36238;}
      else {
        arg0K0 = 1;
        goto L36238;}}
    else {
      v_1560X = s48_bignum_test((((char *) (-3 + arg2_846X))));
      if ((1 == v_1560X)) {
        arg0K0 = 5;
        goto L36238;}
      else {
        arg0K0 = 1;
        goto L36238;}}}
  else {
    if ((0 == (3 & arg2_846X))) {
      v_1561X = s48_bignum_test((((char *) (-3 + y_847X))));
      if ((1 == v_1561X)) {
        arg0K0 = 1;
        goto L36238;}
      else {
        arg0K0 = 5;
        goto L36238;}}
    else {
      v_1562X = s48_bignum_compare((((char *) (-3 + y_847X))), (((char *) (-3 + arg2_846X))));
      if ((-1 == v_1562X)) {
        arg0K0 = 5;
        goto L36238;}
      else {
        arg0K0 = 1;
        goto L36238;}}}}
 L36254: {
  val_1563X = arg0K0;
  SvalS = val_1563X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36255: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_846X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_847X);
  arg0K0 = 2;
  goto L24987;}
 L36557: {
  b_1564X = integerLE(arg2_848X, y_849X);
  if (b_1564X) {
    arg0K0 = 5;
    goto L36561;}
  else {
    arg0K0 = 1;
    goto L36561;}}
 L36577: {
  val_1565X = arg0K0;
  SvalS = val_1565X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36578: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_848X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_849X);
  arg0K0 = 2;
  goto L24987;}
 L36851: {
  b_1566X = integerGE(arg2_850X, y_851X);
  if (b_1566X) {
    arg0K0 = 5;
    goto L36855;}
  else {
    arg0K0 = 1;
    goto L36855;}}
 L36871: {
  val_1567X = arg0K0;
  SvalS = val_1567X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36872: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_850X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_851X);
  arg0K0 = 2;
  goto L24987;}
 L20771: {
  length0_1568X = arg0K0;
  extra0_1569X = arg0K1;
  if ((0 == (3 & y_1330X))) {
    arg0K0 = 3;
    goto L20773;}
  else {
    arg0K0 = 0;
    goto L20773;}}
 L9975: {
  b_1570X = arg0K0;
  c_1571X = a_1331X / b_1570X;
  if ((a_854X < 0)) {
    if ((b_855X < 0)) {
      goto L10021;}
    else {
      goto L10020;}}
  else {
    if ((b_855X < 0)) {
      goto L10020;}
    else {
      goto L10021;}}}
 L37151: {
  arg0K0 = arg2_852X;
  arg0K1 = y_853X;
  goto L20741;}
 L20862: {
  length0_1572X = arg0K0;
  extra0_1573X = arg0K1;
  if ((0 == (3 & y_1333X))) {
    arg0K0 = 3;
    goto L20864;}
  else {
    arg0K0 = 0;
    goto L20864;}}
 L37361: {
  b_1574X = arg0K0;
  c_1575X = a_1334X % b_1574X;
  if ((a_858X < 0)) {
    arg0K0 = (0 - c_1575X);
    goto L37365;}
  else {
    arg0K0 = c_1575X;
    goto L37365;}}
 L37327: {
  arg0K0 = arg2_856X;
  arg0K1 = y_857X;
  goto L20832;}
 L45289: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L45283: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1336X);
  arg0K0 = 1;
  goto L24987;}
 L44270: {
  x_1576X = arg0K0;s48_make_availableAgc(16);
  if ((536870911 < x_1576X)) {
    goto L44296;}
  else {
    if ((x_1576X < -536870912)) {
      goto L44296;}
    else {
      arg0K0 = (((x_1576X)<<2));
      goto L44291;}}}
 L20349: {
  length_1577X = arg0K0;
  extra_1578X = arg0K1;
  Stemp0S = x_1339X;s48_make_availableAgc(((((length_1577X + extra_1578X))<<2)));
  value_1579X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1579X))) {
    v_1580X = (char *) s48_long_to_bignum((((value_1579X)>>2)));
    arg1K0 = v_1580X;
    goto L20341;}
  else {
    arg1K0 = (((char *) (-3 + value_1579X)));
    goto L20341;}}
 L37976: {
  x_1581X = arg0K0;
  count_1582X = arg0K1;
  if ((0 == x_1581X)) {
    SvalS = (((count_1582X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    arg0K0 = (((x_1581X)>>1));
    arg0K1 = (count_1582X + (1 & x_1581X));
    goto L37976;}}
 L38061: {
  val_1583X = integer_bitwise_and(arg2_884X, y_885X);
  SvalS = val_1583X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L38224: {
  val_1584X = integer_bitwise_ior(arg2_886X, y_887X);
  SvalS = val_1584X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L38387: {
  val_1585X = integer_bitwise_xor(arg2_888X, y_889X);
  SvalS = val_1585X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L44440: {
  v_1586X = (char *) s48_long_to_bignum(x_1350X);
  v_1587X = enter_bignum(v_1586X);
  arg0K0 = v_1587X;
  goto L44435;}
 L44435: {
  val_1588X = arg0K0;
  SvalS = val_1588X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L44462: {
  v_1589X = (char *) s48_long_to_bignum(result_1352X);
  v_1590X = enter_bignum(v_1589X);
  arg0K0 = v_1590X;
  goto L44457;}
 L44457: {
  val_1591X = arg0K0;
  SvalS = val_1591X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L44333: {
  x_1592X = arg0K0;
  y_1593X = arg0K1;
  y_1594X = ((y_1593X)>>2);
  merged_arg0K0 = x_1592X;
  merged_arg0K1 = y_1594X;
  shift_space_return_tag = 1;
  goto shift_space;
 shift_space_return_1:
  needed_1595X = shift_space0_return_value;
  Stemp0S = x_1592X;s48_make_availableAgc((((needed_1595X)<<2)));
  value_1596X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1596X))) {
    v_1597X = (char *) s48_long_to_bignum((((value_1596X)>>2)));
    arg1K0 = v_1597X;
    goto L44407;}
  else {
    arg1K0 = (((char *) (-3 + value_1596X)));
    goto L44407;}}
 L44484: {
  v_1598X = (char *) s48_long_to_bignum(result_1352X);
  v_1599X = enter_bignum(v_1598X);
  arg0K0 = v_1599X;
  goto L44479;}
 L44479: {
  val_1600X = arg0K0;
  SvalS = val_1600X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L44515: {
  x_1601X = arg1K0;
  external_bignum_1602X = (char *) s48_bignum_arithmetic_shift(x_1601X, y_1354X);
  v_1603X = s48_bignum_fits_in_word_p(external_bignum_1602X, 30, 1);
  if (v_1603X) {
    n_1604X = s48_bignum_to_long(external_bignum_1602X);
    arg0K0 = (((n_1604X)<<2));
    goto L44341;}
  else {
    v_1605X = enter_bignum(external_bignum_1602X);
    arg0K0 = v_1605X;
    goto L44341;}}
 L44342: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_890X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_891X);
  arg0K0 = 2;
  goto L24987;}
 L29312: {
  i_1606X = arg0K0;
  rest_list_1607X = arg0K1;
  if ((25 == rest_list_1607X)) {
    SvalS = new_917X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    *((long *) ((((char *) (-3 + new_917X))) + (((i_1606X)<<2)))) = (long) ((*((long *) (((char *) (-3 + rest_list_1607X))))));
    arg0K0 = (1 + i_1606X);
    arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1607X))) + 4)));
    goto L29312;}}
 L29725: {
  i_1608X = arg0K0;
  if ((i_1608X < 0)) {
    SvalS = x_1370X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    addr_1609X = (((char *) (-3 + x_1370X))) + (((i_1608X)<<2));S48_WRITE_BARRIER(x_1370X, addr_1609X, value_1371X);
    *((long *) addr_1609X) = (long) (value_1371X);
    arg0K0 = (-1 + i_1608X);
    goto L29725;}}
 L38637: {
  i_1610X = arg0K0;
  if ((i_1610X < 0)) {
    SvalS = vector_1374X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1374X))) + i_1610X)) = (unsigned char) (init_951X);
    arg0K0 = (-1 + i_1610X);
    goto L38637;}}
 L38817: {
  i_1611X = arg0K0;
  if ((i_1611X < 0)) {
    SvalS = vector_1378X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1378X))) + i_1611X)) = (unsigned char) ((((unsigned char) init_965X)));
    arg0K0 = (-1 + i_1611X);
    goto L38817;}}
 L22846: {
  bucket_1612X = arg0K0;
  arg0K0 = bucket_1612X;
  goto L22852;}
 L42670: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L38993: {
  index_1613X = arg0K0;
  temp_1614X = index_1613X < (Snumber_of_channelsS);
  if (temp_1614X) {
    goto L39108;}
  else {
    x_1615X = add_more_channels(index_1613X);
    if (x_1615X) {
      goto L39108;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L38997;}}}
 L39051: {
  v_1616X = ps_open_fd((((char *)(((char *) (-3 + arg3_989X))))), 1, &v_1617X);
  arg0K0 = v_1616X;
  arg0K1 = v_1617X;
  goto L39064;}
 L39064: {
  channel_1618X = arg0K0;
  status_1619X = arg0K1;
  if ((status_1619X == NO_ERRORS)) {
    arg0K0 = channel_1618X;
    goto L38993;}
  else {push_exception_setupB(24, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg3_989X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((status_1619X)<<2)));
    arg0K0 = 3;
    goto L24987;}}
 L46086: {
  waitP_1620X = arg2K0;
  start_1621X = ((arg3_998X)>>2);
  count_1622X = ((arg2_997X)>>2);
  v_1623X = 4 == (*((long *) (((char *) (-3 + arg5_1000X)))));
  if (v_1623X) {
    if ((3 == (3 & arg4_999X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>2))))) {
        goto L39461;}
      else {
        goto L39638;}}
    else {
      goto L39638;}}
  else {
    goto L39513;}}
 L39802: {
  y_1624X = arg0K0;
  if ((y_1624X < (start_1005X + count_1006X))) {
    goto L39842;}
  else {
    got_1625X = ps_write_fd(((((*((long *) ((((char *) (-3 + arg4_1004X))) + 8))))>>2)), ((((char *) (-3 + arg3_1003X))) + start_1005X), count_1006X, &pendingP_1626X, &status_1627X);
    if ((status_1627X == NO_ERRORS)) {
      if (pendingP_1626X) {
        addr_1628X = (((char *) (-3 + arg4_1004X))) + 20;S48_WRITE_BARRIER(arg4_1004X, addr_1628X, 5);
        *((long *) addr_1628X) = (long) (5);
        arg0K0 = 1;
        goto L39841;}
      else {
        arg0K0 = (((got_1625X)<<2));
        goto L39841;}}
    else {
      addr_1629X = s48_allocate_small(8);
      *((long *) addr_1629X) = (long) (1046);
      x_1630X = 3 + (((long) (addr_1629X + 4)));
      *((long *) (((char *) (-3 + x_1630X)))) = (long) ((((status_1627X)<<2)));
      arg0K0 = x_1630X;
      goto L39841;}}}
 L39966: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1003X))) + -4))))>>8));
  goto L39802;}
 L11997: {
  arg0K0 = (*((long *) ((((char *) (-3 + channel_1014X))) + 20)));
  goto L46438;}
 L12027: {
  val_1631X = *((long *) ((((char *) (-3 + ch_1403X))) + 16));
  addr_1632X = (((char *) (-3 + prev_1404X))) + 16;S48_WRITE_BARRIER(prev_1404X, addr_1632X, val_1631X);
  *((long *) addr_1632X) = (long) (val_1631X);
  addr_1633X = (((char *) (-3 + ch_1403X))) + 16;S48_WRITE_BARRIER(ch_1403X, addr_1633X, 1);
  *((long *) addr_1633X) = (long) (1);
  arg0K0 = (*((long *) ((((char *) (-3 + ch_1403X))) + 20)));
  goto L46438;}
 L18874: {
  v_1634X = arg0K0;
  arg0K0 = (-1 + i_1409X);
  arg0K1 = v_1634X;
  goto L18860;}
 L40101: {
  if ((1 == proposal_1021X)) {
    goto L40113;}
  else {
    addr_1635X = ((char *) (-3 + proposal_1021X));S48_WRITE_BARRIER(proposal_1021X, addr_1635X, 5);
    *((long *) addr_1635X) = (long) (5);
    goto L40113;}}
 L10996: {
  i_1636X = arg0K0;
  stob_1637X = *((long *) ((((char *) (-3 + log_1418X))) + (((i_1636X)<<2))));
  if ((1 == stob_1637X)) {
    copies_1638X = *((long *) ((((char *) (-3 + proposal_1022X))) + 12));
    arg0K0 = copies_1638X;
    goto L40447;}
  else {
    value_1639X = *((long *) ((((char *) (-3 + log_1418X))) + (8 + (((i_1636X)<<2)))));
    verify_1640X = *((long *) ((((char *) (-3 + log_1418X))) + (12 + (((i_1636X)<<2)))));
    if ((29 == verify_1640X)) {
      if ((3 == (3 & stob_1637X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1637X))) + -4)))))) {
          goto L11048;}
        else {
          goto L40347;}}
      else {
        goto L40347;}}
    else {
      if ((verify_1640X == ((((*((unsigned char *) ((((char *) (-3 + stob_1637X))) + ((((*((long *) ((((char *) (-3 + log_1418X))) + (4 + (((i_1636X)<<2)))))))>>2))))))<<2)))) {
        if ((verify_1640X == value_1639X)) {
          goto L11048;}
        else {
          if ((3 == (3 & stob_1637X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1637X))) + -4)))))) {
              goto L11048;}
            else {
              goto L40347;}}
          else {
            goto L40347;}}}
      else {
        goto L40347;}}}}
 L10810: {
  arg0K0 = (4 + i_1416X);
  goto L10758;}
 L40347: {
RELEASE_PROPOSAL_LOCK();
  x_1641X = Scurrent_threadS;
  addr_1642X = (((char *) (-3 + x_1641X))) + 12;S48_WRITE_BARRIER(x_1641X, addr_1642X, 1);
  *((long *) addr_1642X) = (long) (1);
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L10465: {
  vector_1643X = arg0K0;
  if ((1 == vector_1643X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_1643X;
    goto L10428;}
  else {
    arg0K0 = vector_1643X;
    goto L10428;}}
 L16421: {
  arg0K0 = (4 + i_1429X);
  goto L16399;}
 L16595: {
  arg0K0 = (4 + i_1433X);
  goto L16575;}
 L47402: {
  minutesP_1644X = arg2K0;
  pending_interruptP_return_tag = 3;
  goto pending_interruptP;
 pending_interruptP_return_3:
  x_1645X = pending_interruptP0_return_value;
  if (x_1645X) {
    goto L47432;}
  else {
    if ((0 == (Spending_interruptsS))) {s48_wait_for_event((((arg2_1108X)>>2)), minutesP_1644X);
      goto L47432;}
    else {
      goto L47432;}}}
 L31589: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1462X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (name_1461X);
  arg0K0 = 2;
  goto L24987;}
 L46693: {
  val_1646X = arg0K0;
  SvalS = val_1646X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L32934: {
  table_1647X = arg0K0;
  n_1648X = -1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1117X))) + -4))))>>8));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L22359;}
 L40865: {
  l_1649X = arg0K0;
  i_1650X = arg0K1;
  if ((i_1650X < 0)) {
    SvalS = string_1479X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_1479X))) + i_1650X)) = (unsigned char) ((((unsigned char) (((char) ((((*((long *) (((char *) (-3 + l_1649X))))))>>8)))))));
    arg0K0 = (*((long *) ((((char *) (-3 + l_1649X))) + 4)));
    arg0K1 = (-1 + i_1650X);
    goto L40865;}}
 L32259: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1487X);
  arg0K0 = 1;
  goto L24987;}
 L32461: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1494X);
  arg0K0 = 1;
  goto L24987;}
 L32659: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (Kchar_1499X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1500X);
  arg0K0 = 2;
  goto L24987;}
 L42577: {
  arg0K0 = (*((long *) ((((char *) (-3 + stuff_1505X))) + 4)));
  goto L42571;}
 L18122: {
  if ((3 == (3 & thing_1506X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + thing_1506X)))));
      goto L18180;}
    else {
      goto L18130;}}
  else {
    goto L18130;}}
 L42562: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_1169X, ignoreXX) }
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L27719: {
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1200X));
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L24740: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_1208X))) + (((i_1206X)<<2)))));
  obj_1651X = SvalS;
  if ((3 == (3 & obj_1651X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1651X))) + -4))))>>2))))) {
      goto L24757;}
    else {
      goto L24796;}}
  else {
    goto L24796;}}
 L24782: {
  ps_error("interrupt handler is not a vector", 0);
  goto L24740;}
 L12216: {
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (channel_1520X);
  x_1652X = *((long *) ((((char *) (-3 + channel_1520X))) + 24));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1652X);
  x_1653X = *((long *) ((((char *) (-3 + channel_1520X))) + 20));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1653X);
  n_1654X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1654X)<<2)));
  arg0K0 = 4;
  goto L24726;}
 L12390: {
  v_1655X = arg0K0;
  Sos_signal_ring_startS = v_1655X;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((sig_1522X)<<2)));
  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_startS))) {
    goto L12248;}
  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 L12248;}
      else {
        goto L12248;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L12248;}}}
 L7356: {
  i_1656X = arg0K0;
  offset_1657X = arg0K1;
  if ((i_1656X == total_count_1221X)) {
    arg0K0 = offset_1657X;
    goto L53645;}
  else {
    env_1658X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1657X)))))<<2))));
    count_1659X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_1657X)));
    arg0K0 = count_1659X;
    arg0K1 = i_1656X;
    arg0K2 = (2 + offset_1657X);
    goto L7373;}}
 L53645: {
  bytes_used_1660X = arg0K0;
  SvalS = new_env_761X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1660X));
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L8140: {
  i_1661X = arg0K0;
  offset_1662X = arg0K1;
  if ((i_1661X == total_count_1230X)) {
    arg0K0 = offset_1662X;
    goto L53635;}
  else {
    env_1663X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1662X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1662X))))))<<2))));
    index_1664X = 2 + offset_1662X;
    count_1665X = ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1664X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1664X))));
    arg0K0 = count_1665X;
    arg0K1 = i_1661X;
    arg0K2 = (4 + offset_1662X);
    goto L8157;}}
 L53635: {
  bytes_used_1666X = arg0K0;
  SvalS = new_env_767X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1666X));
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L25348: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);push_exception_setupB(5, 0);
  x_1667X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1667X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (cont_1533X);
  arg0K0 = 2;
  goto L24987;}
 L15311: {
  if ((3 == (3 & x_823X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + x_823X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L50567;}
    else {
      arg0K0 = 1;
      goto L50567;}}
  else {
    arg0K0 = 1;
    goto L50567;}}
 L41803: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L41946: {
  if ((3 == (3 & n_1288X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1288X))) + -4))))>>2))))) {
      goto L41955;}
    else {
      goto L41956;}}
  else {
    goto L41956;}}
 L9068: {
  if ((536870911 < lo_c_1542X)) {
    val_1668X = integer_multiply(arg2_831X, y_832X);
    SvalS = val_1668X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    if ((lo_c_1542X < 0)) {
      val_1669X = integer_multiply(arg2_831X, y_832X);
      SvalS = val_1669X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg1K0 = (Scode_pointerS);
      goto L26349;}
    else {
      if ((8192 < mid_c_1545X)) {
        val_1670X = integer_multiply(arg2_831X, y_832X);
        SvalS = val_1670X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        if ((a_833X < 0)) {
          if ((b_834X < 0)) {s48_make_availableAgc(16);
            if ((536870911 < c_1546X)) {
              goto L51873;}
            else {
              if ((c_1546X < -536870912)) {
                goto L51873;}
              else {
                arg0K0 = (((c_1546X)<<2));
                goto L51868;}}}
          else {
            goto L9096;}}
        else {
          if ((b_834X < 0)) {
            goto L9096;}
          else {s48_make_availableAgc(16);
            if ((536870911 < c_1546X)) {
              goto L51895;}
            else {
              if ((c_1546X < -536870912)) {
                goto L51895;}
              else {
                arg0K0 = (((c_1546X)<<2));
                goto L51890;}}}}}}}}
 L51976: {
  v_1671X = (char *) s48_long_to_bignum(c_1551X);
  v_1672X = enter_bignum(v_1671X);
  arg0K0 = v_1672X;
  goto L51971;}
 L51971: {
  val_1673X = arg0K0;
  SvalS = val_1673X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L9330: {
  x_1674X = 0 - c_1551X;s48_make_availableAgc(16);
  if ((536870911 < x_1674X)) {
    goto L51954;}
  else {
    if ((x_1674X < -536870912)) {
      goto L51954;}
    else {
      arg0K0 = (((x_1674X)<<2));
      goto L51949;}}}
 L51998: {
  v_1675X = (char *) s48_long_to_bignum(c_1551X);
  v_1676X = enter_bignum(v_1675X);
  arg0K0 = v_1676X;
  goto L51993;}
 L51993: {
  val_1677X = arg0K0;
  SvalS = val_1677X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L16747: {
  length0_1678X = arg0K0;
  extra0_1679X = arg0K1;
  if ((0 == (3 & y_839X))) {
    arg0K0 = 3;
    goto L16755;}
  else {
    arg0K0 = 0;
    goto L16755;}}
 L35655: {
  val_1680X = arg0K0;
  SvalS = val_1680X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L35915: {
  val_1681X = arg0K0;
  SvalS = val_1681X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36238: {
  val_1682X = arg0K0;
  SvalS = val_1682X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36561: {
  val_1683X = arg0K0;
  SvalS = val_1683X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L36855: {
  val_1684X = arg0K0;
  SvalS = val_1684X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L20773: {
  extra1_1685X = arg0K0;
  Stemp0S = x_1329X;
  Stemp1S = y_1330X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1568X)<<2))))>>1)))) + extra0_1569X) + extra1_1685X))<<2)));
  value_1686X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1686X))) {
    v_1687X = (char *) s48_long_to_bignum((((value_1686X)>>2)));
    arg1K0 = v_1687X;
    goto L20755;}
  else {
    arg1K0 = (((char *) (-3 + value_1686X)));
    goto L20755;}}
 L10021: {
  if ((536870911 < c_1571X)) {
    arg0K0 = arg2_852X;
    arg0K1 = y_853X;
    goto L20741;}
  else {
    SvalS = (((c_1571X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L10020: {
  SvalS = ((((0 - c_1571X))<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L20864: {
  extra1_1688X = arg0K0;
  Stemp0S = x_1332X;
  Stemp1S = y_1333X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1572X)<<2))))>>1)))) + extra0_1573X) + extra1_1688X))<<2)));
  value_1689X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1689X))) {
    v_1690X = (char *) s48_long_to_bignum((((value_1689X)>>2)));
    arg1K0 = v_1690X;
    goto L20846;}
  else {
    arg1K0 = (((char *) (-3 + value_1689X)));
    goto L20846;}}
 L37365: {
  n_1691X = arg0K0;
  SvalS = (((n_1691X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L44296: {
  v_1692X = (char *) s48_long_to_bignum(x_1576X);
  v_1693X = enter_bignum(v_1692X);
  arg0K0 = v_1693X;
  goto L44291;}
 L44291: {
  val_1694X = arg0K0;
  SvalS = val_1694X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L20341: {
  x_1695X = arg1K0;
  v_1696X = s48_bignum_test(x_1695X);
  if ((-1 == v_1696X)) {
    v_1697X = (char *) s48_bignum_negate(x_1695X);
    arg1K0 = v_1697X;
    goto L20343;}
  else {
    arg1K0 = x_1695X;
    goto L20343;}}
 L44407: {
  x_1698X = arg1K0;
  external_bignum_1699X = (char *) s48_bignum_arithmetic_shift(x_1698X, y_1594X);
  v_1700X = s48_bignum_fits_in_word_p(external_bignum_1699X, 30, 1);
  if (v_1700X) {
    n_1701X = s48_bignum_to_long(external_bignum_1699X);
    arg0K0 = (((n_1701X)<<2));
    goto L44335;}
  else {
    v_1702X = enter_bignum(external_bignum_1699X);
    arg0K0 = v_1702X;
    goto L44335;}}
 L44341: {
  val_1703X = arg0K0;
  SvalS = val_1703X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22852: {
  foo_1704X = arg0K0;
  if ((1 == foo_1704X)) {
    if ((3 == (3 & bucket_1612X))) {
      arg0K0 = (-4 & bucket_1612X);
      goto L22857;}
    else {
      arg0K0 = bucket_1612X;
      goto L22857;}}
  else {
    s2_1705X = *((long *) (((char *) (-3 + foo_1704X))));
    len_1706X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_979X))) + -4))))>>8);
    if ((len_1706X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1705X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1705X))), (void *)(((char *) (-3 + string_979X))),len_1706X)))) {
        arg0K0 = foo_1704X;
        goto L34958;}
      else {
        goto L22872;}}
    else {
      goto L22872;}}}
 L39108: {
  if ((1 == (*((Svm_channelsS) + index_1613X)))) {
    channel_1707X = make_channel((((mode_990X)<<2)), arg3_989X, (((index_1613X)<<2)), close_silentlyP_991X, 1, 1, 1, 0);
    *((Svm_channelsS) + index_1613X) = channel_1707X;
    arg0K0 = channel_1707X;
    arg0K1 = 9;
    goto L38997;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L38997;}}
 L38997: {
  channel_1708X = arg0K0;
  reason_1709X = arg0K1;
  if ((1 == channel_1708X)) {
    if ((3 == (3 & arg3_989X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_989X))) + -4))))>>2))))) {
        if ((1 == mode_990X)) {
          goto L39142;}
        else {
          if ((3 == mode_990X)) {
            goto L39142;}
          else {
            v_1710X = ps_close_fd(index_1613X);
            arg0K0 = v_1710X;
            goto L39137;}}}
      else {push_exception_setupB(reason_1709X, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_989X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
        arg0K0 = 2;
        goto L24987;}}
    else {push_exception_setupB(reason_1709X, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg3_989X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
      arg0K0 = 2;
      goto L24987;}}
  else {
    SvalS = channel_1708X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}}
 L39461: {
  if ((3 == (3 & arg4_999X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_999X))) + -4)))))) {
      if ((3 == (3 & arg4_999X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>2))))) {
          arg0K0 = (-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>8)));
          goto L39468;}
        else {
          goto L39664;}}
      else {
        goto L39664;}}
    else {
      goto L39513;}}
  else {
    goto L39513;}}
 L39638: {
  if ((3 == (3 & arg4_999X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>2))))) {
      goto L39461;}
    else {
      goto L39513;}}
  else {
    goto L39513;}}
 L39513: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1000X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_999X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1621X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1622X)<<2)));
  if (waitP_1620X) {
    arg0K0 = 5;
    goto L39529;}
  else {
    arg0K0 = 1;
    goto L39529;}}
 L39841: {
  val_1711X = arg0K0;
  SvalS = val_1711X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L40113: {
  x_1712X = Scurrent_threadS;
  addr_1713X = (((char *) (-3 + x_1712X))) + 12;S48_WRITE_BARRIER(x_1712X, addr_1713X, proposal_1021X);
  *((long *) addr_1713X) = (long) (proposal_1021X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L40447: {
  copies_1714X = arg0K0;
  if ((1 == copies_1714X)) {
    log_1715X = *((long *) ((((char *) (-3 + proposal_1022X))) + 4));
    arg0K0 = 0;
    goto L9800;}
  else {
    thing_1716X = *((long *) ((((char *) (-3 + copies_1714X))) + 8));
    if ((3 == (3 & thing_1716X))) {
      if ((0 == (128 & (*((long *) ((((char *) (-3 + thing_1716X))) + -4)))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + copies_1714X))) + 20)));
        goto L40447;}
      else {
        goto L40347;}}
    else {
      goto L40347;}}}
 L11048: {
  arg0K0 = (4 + i_1636X);
  goto L10996;}
 L10428: {
  entry_1717X = arg0K0;
  proposal_1718X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  value_1719X = Stemp0S;
  Stemp0S = 1;
  addr_1720X = ((char *) (-3 + entry_1717X));S48_WRITE_BARRIER(entry_1717X, addr_1720X, value_1719X);
  *((long *) addr_1720X) = (long) (value_1719X);
  addr_1721X = (((char *) (-3 + entry_1717X))) + 4;S48_WRITE_BARRIER(entry_1717X, addr_1721X, from_index_1424X);
  *((long *) addr_1721X) = (long) (from_index_1424X);
  value_1722X = Stemp1S;
  Stemp1S = 1;
  addr_1723X = (((char *) (-3 + entry_1717X))) + 8;S48_WRITE_BARRIER(entry_1717X, addr_1723X, value_1722X);
  *((long *) addr_1723X) = (long) (value_1722X);
  addr_1724X = (((char *) (-3 + entry_1717X))) + 12;S48_WRITE_BARRIER(entry_1717X, addr_1724X, to_index_1425X);
  *((long *) addr_1724X) = (long) (to_index_1425X);
  addr_1725X = (((char *) (-3 + entry_1717X))) + 16;S48_WRITE_BARRIER(entry_1717X, addr_1725X, count_1426X);
  *((long *) addr_1725X) = (long) (count_1426X);
  value_1726X = *((long *) ((((char *) (-3 + proposal_1718X))) + 12));
  addr_1727X = (((char *) (-3 + entry_1717X))) + 20;S48_WRITE_BARRIER(entry_1717X, addr_1727X, value_1726X);
  *((long *) addr_1727X) = (long) (value_1726X);
  addr_1728X = (((char *) (-3 + proposal_1718X))) + 12;S48_WRITE_BARRIER(proposal_1718X, addr_1728X, entry_1717X);
  *((long *) addr_1728X) = (long) (entry_1717X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L47432: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22359: {
  i_1729X = arg0K0;
  h_1730X = arg0K1;
  if ((i_1729X < n_1648X)) {
    arg0K0 = (1 + i_1729X);
    arg0K1 = (h_1730X + (((unsigned char) (((char) (*((unsigned char *) ((((char *) (-3 + arg2_1117X))) + i_1729X))))))));
    goto L22359;}
  else {
    index_1731X = 1023 & h_1730X;
    link_1732X = *((long *) ((((char *) (-3 + table_1647X))) + (((index_1731X)<<2))));
    if ((0 == (3 & link_1732X))) {
      arg0K0 = (3 + (-4 & link_1732X));
      goto L22314;}
    else {
      arg0K0 = link_1732X;
      goto L22314;}}}
 L18180: {
  v_1733X = arg3K0;
  ps_write_string(v_1733X, out_1169X);
  goto L42577;}
 L18130: {
  if ((3 == (3 & thing_1506X))) {
    if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = (((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + thing_1506X))))))))));
      goto L18180;}
    else {
      goto L18138;}}
  else {
    goto L18138;}}
 L24757: {
  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 L24759;}
    else {
      goto L24759;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    goto L24759;}}
 L24796: {
  ps_error("interrupt handler is not a closure", 1, i_1206X);
  goto L24757;}
 L12248: {
  n_1734X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1734X)<<2)));
  arg0K0 = 2;
  goto L24726;}
 L7373: {
  count_1735X = arg0K0;
  i_1736X = arg0K1;
  offset_1737X = arg0K2;
  if ((0 == count_1735X)) {
    arg0K0 = i_1736X;
    arg0K1 = offset_1737X;
    goto L7356;}
  else {
    value_1738X = *((long *) ((((char *) (-3 + env_1658X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1737X)))))<<2))));
    addr_1739X = (((char *) (-3 + new_env_1218X))) + (((i_1736X)<<2));S48_WRITE_BARRIER(new_env_1218X, addr_1739X, value_1738X);
    *((long *) addr_1739X) = (long) (value_1738X);
    arg0K0 = (-1 + count_1735X);
    arg0K1 = (1 + i_1736X);
    arg0K2 = (1 + offset_1737X);
    goto L7373;}}
 L8157: {
  count_1740X = arg0K0;
  i_1741X = arg0K1;
  offset_1742X = arg0K2;
  if ((0 == count_1740X)) {
    arg0K0 = i_1741X;
    arg0K1 = offset_1742X;
    goto L8140;}
  else {
    value_1743X = *((long *) ((((char *) (-3 + env_1663X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1742X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1742X))))))<<2))));
    addr_1744X = (((char *) (-3 + new_env_1227X))) + (((i_1741X)<<2));S48_WRITE_BARRIER(new_env_1227X, addr_1744X, value_1743X);
    *((long *) addr_1744X) = (long) (value_1743X);
    arg0K0 = (-1 + count_1740X);
    arg0K1 = (1 + i_1741X);
    arg0K2 = (2 + offset_1742X);
    goto L8157;}}
 L41956: {
  if ((3 == (3 & n_1288X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1288X))) + -4))))>>2))))) {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (n_1288X);
      arg0K0 = 1;
      goto L24987;}
    else {
      goto L41960;}}
  else {
    goto L41960;}}
 L51873: {
  v_1745X = (char *) s48_long_to_bignum(c_1546X);
  v_1746X = enter_bignum(v_1745X);
  arg0K0 = v_1746X;
  goto L51868;}
 L51868: {
  val_1747X = arg0K0;
  SvalS = val_1747X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L9096: {
  x_1748X = 0 - c_1546X;s48_make_availableAgc(16);
  if ((536870911 < x_1748X)) {
    goto L51851;}
  else {
    if ((x_1748X < -536870912)) {
      goto L51851;}
    else {
      arg0K0 = (((x_1748X)<<2));
      goto L51846;}}}
 L51895: {
  v_1749X = (char *) s48_long_to_bignum(c_1546X);
  v_1750X = enter_bignum(v_1749X);
  arg0K0 = v_1750X;
  goto L51890;}
 L51890: {
  val_1751X = arg0K0;
  SvalS = val_1751X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L51954: {
  v_1752X = (char *) s48_long_to_bignum(x_1674X);
  v_1753X = enter_bignum(v_1752X);
  arg0K0 = v_1753X;
  goto L51949;}
 L51949: {
  val_1754X = arg0K0;
  SvalS = val_1754X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L16755: {
  extra1_1755X = arg0K0;
  Stemp0S = arg2_838X;
  Stemp1S = y_839X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_1678X)<<2))))>>1)))) + extra0_1679X) + extra1_1755X))<<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 L20177;}
  else {
    arg1K0 = (((char *) (-3 + value_1756X)));
    goto L20177;}}
 L20755: {
  x_1758X = arg1K0;
  value_1759X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1759X))) {
    v_1760X = (char *) s48_long_to_bignum((((value_1759X)>>2)));
    arg1K0 = v_1760X;
    goto L20759;}
  else {
    arg1K0 = (((char *) (-3 + value_1759X)));
    goto L20759;}}
 L20846: {
  x_1761X = arg1K0;
  value_1762X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1762X))) {
    v_1763X = (char *) s48_long_to_bignum((((value_1762X)>>2)));
    arg1K0 = v_1763X;
    goto L20850;}
  else {
    arg1K0 = (((char *) (-3 + value_1762X)));
    goto L20850;}}
 L20343: {
  external_bignum_1764X = arg1K0;
  v_1765X = s48_bignum_fits_in_word_p(external_bignum_1764X, 30, 1);
  if (v_1765X) {
    n_1766X = s48_bignum_to_long(external_bignum_1764X);
    arg0K0 = (((n_1766X)<<2));
    goto L44273;}
  else {
    val_1767X = enter_bignum(external_bignum_1764X);
    arg0K0 = val_1767X;
    goto L44273;}}
 L44335: {
  val_1768X = arg0K0;
  SvalS = val_1768X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22857: {
  b_1769X = arg0K0;
  addr_1770X = s48_allocate_small(12);
  *((long *) addr_1770X) = (long) (2054);
  x_1771X = 3 + (((long) (addr_1770X + 4)));
  *((long *) (((char *) (-3 + x_1771X)))) = (long) (string_979X);
  *((long *) ((((char *) (-3 + x_1771X))) + 4)) = (long) (b_1769X);
  if ((3 == (3 & x_1771X))) {
    arg0K0 = (-4 & x_1771X);
    goto L22863;}
  else {
    arg0K0 = x_1771X;
    goto L22863;}}
 L34958: {
  val_1772X = arg0K0;
  SvalS = val_1772X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22872: {
  link_1773X = *((long *) ((((char *) (-3 + foo_1704X))) + 4));
  if ((0 == (3 & link_1773X))) {
    arg0K0 = (3 + (-4 & link_1773X));
    goto L22852;}
  else {
    arg0K0 = link_1773X;
    goto L22852;}}
 L39142: {
  v_1774X = ps_close_fd(index_1613X);
  arg0K0 = v_1774X;
  goto L39137;}
 L39137: {
  status_1775X = arg0K0;
  if ((status_1775X == NO_ERRORS)) {push_exception_setupB(reason_1709X, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg3_989X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
    arg0K0 = 2;
    goto L24987;}
  else {channel_close_error(status_1775X, index_1613X, arg3_989X);push_exception_setupB(reason_1709X, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg3_989X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_990X)<<2)));
    arg0K0 = 2;
    goto L24987;}}
 L39468: {
  y_1776X = arg0K0;
  if ((y_1776X < (start_1621X + count_1622X))) {
    goto L39513;}
  else {
    got_1777X = ps_read_fd(((((*((long *) ((((char *) (-3 + arg5_1000X))) + 8))))>>2)), ((((char *) (-3 + arg4_999X))) + start_1621X), count_1622X, waitP_1620X, &eofP_1778X, &pendingP_1779X, &status_1780X);
    if ((status_1780X == NO_ERRORS)) {
      if (eofP_1778X) {
        arg0K0 = 21;
        goto L39512;}
      else {
        if (pendingP_1779X) {
          addr_1781X = (((char *) (-3 + arg5_1000X))) + 20;S48_WRITE_BARRIER(arg5_1000X, addr_1781X, 5);
          *((long *) addr_1781X) = (long) (5);
          arg0K0 = 1;
          goto L39512;}
        else {
          arg0K0 = (((got_1777X)<<2));
          goto L39512;}}}
    else {
      addr_1782X = s48_allocate_small(8);
      *((long *) addr_1782X) = (long) (1046);
      x_1783X = 3 + (((long) (addr_1782X + 4)));
      *((long *) (((char *) (-3 + x_1783X)))) = (long) ((((status_1780X)<<2)));
      arg0K0 = x_1783X;
      goto L39512;}}}
 L39664: {
  arg0K0 = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_999X))) + -4))))>>8));
  goto L39468;}
 L39529: {
  x_1784X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1784X);
  arg0K0 = 5;
  goto L24987;}
 L9800: {
  i_1785X = arg0K0;
  stob_1786X = *((long *) ((((char *) (-3 + log_1715X))) + (((i_1785X)<<2))));
  if ((1 == stob_1786X)) {
    log_1787X = *((long *) ((((char *) (-3 + proposal_1022X))) + 8));
    arg0K0 = 0;
    goto L13022;}
  else {
    value_1788X = *((long *) ((((char *) (-3 + log_1715X))) + (8 + (((i_1785X)<<2)))));
    verify_1789X = *((long *) ((((char *) (-3 + log_1715X))) + (12 + (((i_1785X)<<2)))));
    if ((verify_1789X == value_1788X)) {
      goto L9832;}
    else {
      addr_1790X = (((char *) (-3 + stob_1786X))) + (-4 & (*((long *) ((((char *) (-3 + log_1715X))) + (4 + (((i_1785X)<<2)))))));S48_WRITE_BARRIER(stob_1786X, addr_1790X, value_1788X);
      *((long *) addr_1790X) = (long) (value_1788X);
      goto L9832;}}}
 L22314: {
  bucket_1791X = arg0K0;
  arg0K0 = 1;
  arg0K1 = bucket_1791X;
  goto L22321;}
 L18138: {
  if ((1 == thing_1506X)) {
    goto L18141;}
  else {
    if ((5 == thing_1506X)) {
      goto L18141;}
    else {
      if ((25 == thing_1506X)) {
        arg3K0 = "()";
        goto L18180;}
      else {
        if ((3 == (3 & thing_1506X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
            arg3K0 = "(...)";
            goto L18180;}
          else {
            goto L18154;}}
        else {
          goto L18154;}}}}}
 L24759: {
  arg0K0 = arg_count_1519X;
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = (-2 - i_1206X);
  goto L33102;}
 L41960: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L51851: {
  v_1792X = (char *) s48_long_to_bignum(x_1748X);
  v_1793X = enter_bignum(v_1792X);
  arg0K0 = v_1793X;
  goto L51846;}
 L51846: {
  val_1794X = arg0K0;
  SvalS = val_1794X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L20177: {
  x_1795X = arg1K0;
  value_1796X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_1796X))) {
    v_1797X = (char *) s48_long_to_bignum((((value_1796X)>>2)));
    arg1K0 = v_1797X;
    goto L20181;}
  else {
    arg1K0 = (((char *) (-3 + value_1796X)));
    goto L20181;}}
 L20759: {
  y_1798X = arg1K0;
  external_bignum_1799X = (char *)s48_bignum_quotient(x_1758X, y_1798X);
  v_1800X = s48_bignum_fits_in_word_p(external_bignum_1799X, 30, 1);
  if (v_1800X) {
    n_1801X = s48_bignum_to_long(external_bignum_1799X);
    arg0K0 = (((n_1801X)<<2));
    goto L53625;}
  else {
    val_1802X = enter_bignum(external_bignum_1799X);
    arg0K0 = val_1802X;
    goto L53625;}}
 L20850: {
  y_1803X = arg1K0;
  external_bignum_1804X = (char *)s48_bignum_remainder(x_1761X, y_1803X);
  v_1805X = s48_bignum_fits_in_word_p(external_bignum_1804X, 30, 1);
  if (v_1805X) {
    n_1806X = s48_bignum_to_long(external_bignum_1804X);
    arg0K0 = (((n_1806X)<<2));
    goto L53625;}
  else {
    val_1807X = enter_bignum(external_bignum_1804X);
    arg0K0 = val_1807X;
    goto L53625;}}
 L44273: {
  val_1808X = arg0K0;
  SvalS = val_1808X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22863: {
  value_1809X = arg0K0;
  addr_1810X = (((char *) (-3 + table_978X))) + (((index_1385X)<<2));S48_WRITE_BARRIER(table_978X, addr_1810X, value_1809X);
  *((long *) addr_1810X) = (long) (value_1809X);
  arg0K0 = x_1771X;
  goto L34958;}
 L39512: {
  val_1811X = arg0K0;
  SvalS = val_1811X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L13022: {
  i_1812X = arg0K0;
  stob_1813X = *((long *) ((((char *) (-3 + log_1787X))) + (((i_1812X)<<2))));
  if ((1 == stob_1813X)) {
    copies_1814X = *((long *) ((((char *) (-3 + proposal_1022X))) + 12));
    arg0K0 = copies_1814X;
    goto L12937;}
  else {
    value_1815X = *((long *) ((((char *) (-3 + log_1787X))) + (8 + (((i_1812X)<<2)))));
    verify_1816X = *((long *) ((((char *) (-3 + log_1787X))) + (12 + (((i_1812X)<<2)))));
    if ((verify_1816X == value_1815X)) {
      goto L13054;}
    else {
      *((unsigned char *) ((((char *) (-3 + stob_1813X))) + ((((*((long *) ((((char *) (-3 + log_1787X))) + (4 + (((i_1812X)<<2)))))))>>2)))) = (unsigned char) ((((value_1815X)>>2)));
      goto L13054;}}}
 L9832: {
  arg0K0 = (4 + i_1785X);
  goto L9800;}
 L22321: {
  previous_foo_1817X = arg0K0;
  foo_1818X = arg0K1;
  if ((1 == foo_1818X)) {
    goto L32936;}
  else {
    s2_1819X = *((long *) (((char *) (-3 + foo_1818X))));
    len_1820X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1117X))) + -4))))>>8);
    if ((len_1820X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_1819X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_1819X))), (void *)(((char *) (-3 + arg2_1117X))),len_1820X)))) {
        if ((1 == previous_foo_1817X)) {
          value_1821X = *((long *) ((((char *) (-3 + foo_1818X))) + 12));
          addr_1822X = (((char *) (-3 + table_1647X))) + (((index_1731X)<<2));S48_WRITE_BARRIER(table_1647X, addr_1822X, value_1821X);
          *((long *) addr_1822X) = (long) (value_1821X);
          goto L32936;}
        else {
          val_1823X = *((long *) ((((char *) (-3 + foo_1818X))) + 12));
          addr_1824X = (((char *) (-3 + previous_foo_1817X))) + 12;S48_WRITE_BARRIER(previous_foo_1817X, addr_1824X, val_1823X);
          *((long *) addr_1824X) = (long) (val_1823X);
          goto L32936;}}
      else {
        goto L22389;}}
    else {
      goto L22389;}}}
 L18141: {
  if ((1 == thing_1506X)) {
    arg3K0 = "#f";
    goto L18180;}
  else {
    arg3K0 = "#t";
    goto L18180;}}
 L18154: {
  if ((3 == (3 & thing_1506X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#(...)";
      goto L18180;}
    else {
      goto L18158;}}
  else {
    goto L18158;}}
 L20181: {
  y_1825X = arg1K0;
  div_by_zeroP_1826X = s48_bignum_divide(x_1795X, y_1825X, &quot_1827X, &rem_1828X);
  if (div_by_zeroP_1826X) {
    v_1829X = s48_bignum_fits_in_word_p(y_1825X, 30, 1);
    if (v_1829X) {
      n_1830X = s48_bignum_to_long(y_1825X);
      arg0K0 = (((n_1830X)<<2));
      goto L20203;}
    else {
      v_1831X = enter_bignum(y_1825X);
      arg0K0 = v_1831X;
      goto L20203;}}
  else {
    v_1832X = s48_bignum_fits_in_word_p(y_1825X, 30, 1);
    if (v_1832X) {
      n_1833X = s48_bignum_to_long(y_1825X);
      arg0K0 = (((n_1833X)<<2));
      goto L20212;}
    else {
      v_1834X = enter_bignum(y_1825X);
      arg0K0 = v_1834X;
      goto L20212;}}}
 L53625: {
  val_1835X = arg0K0;
  SvalS = val_1835X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L12937: {
  copies_1836X = arg0K0;
  if ((1 == copies_1836X)) {
    value_1837X = Sempty_logS;
    addr_1838X = (((char *) (-3 + proposal_1022X))) + 4;S48_WRITE_BARRIER(proposal_1022X, addr_1838X, value_1837X);
    *((long *) addr_1838X) = (long) (value_1837X);
    value_1839X = Sempty_logS;
    addr_1840X = (((char *) (-3 + proposal_1022X))) + 8;S48_WRITE_BARRIER(proposal_1022X, addr_1840X, value_1839X);
    *((long *) addr_1840X) = (long) (value_1839X);
    addr_1841X = (((char *) (-3 + proposal_1022X))) + 12;S48_WRITE_BARRIER(proposal_1022X, addr_1841X, 1);
    *((long *) addr_1841X) = (long) (1);RELEASE_PROPOSAL_LOCK();
    x_1842X = Scurrent_threadS;
    addr_1843X = (((char *) (-3 + x_1842X))) + 12;S48_WRITE_BARRIER(x_1842X, addr_1843X, 1);
    *((long *) addr_1843X) = (long) (1);
    SvalS = 5;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg1K0 = (Scode_pointerS);
    goto L26349;}
  else {
    stob_1844X = *((long *) ((((char *) (-3 + copies_1836X))) + 8));
    v_1845X = (((*((long *) ((((char *) (-3 + copies_1836X))) + 12))))>>2);
    stob_1846X = *((long *) (((char *) (-3 + copies_1836X))));
    v_1847X = (((*((long *) ((((char *) (-3 + copies_1836X))) + 4))))>>2);
    v_1848X = (((*((long *) ((((char *) (-3 + copies_1836X))) + 16))))>>2);
    memcpy((void *)((((char *) (-3 + stob_1844X))) + v_1845X), (void *)((((char *) (-3 + stob_1846X))) + v_1847X),v_1848X);
    arg0K0 = (*((long *) ((((char *) (-3 + copies_1836X))) + 20)));
    goto L12937;}}
 L13054: {
  arg0K0 = (4 + i_1812X);
  goto L13022;}
 L32936: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg1K0 = (Scode_pointerS);
  goto L26349;}
 L22389: {
  link_1849X = *((long *) ((((char *) (-3 + foo_1818X))) + 12));
  if ((0 == (3 & link_1849X))) {
    arg0K0 = foo_1818X;
    arg0K1 = (3 + (-4 & link_1849X));
    goto L22321;}
  else {
    arg0K0 = foo_1818X;
    arg0K1 = link_1849X;
    goto L22321;}}
 L18158: {
  if ((3 == (3 & thing_1506X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#{procedure}";
      goto L18180;}
    else {
      goto L18162;}}
  else {
    goto L18162;}}
 L20203: {
  v_1850X = arg0K0;
  v_1851X = s48_bignum_fits_in_word_p(x_1795X, 30, 1);
  if (v_1851X) {
    n_1852X = s48_bignum_to_long(x_1795X);
    arg2K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    arg0K3 = (((n_1852X)<<2));
    arg0K4 = v_1850X;
    goto L43951;}
  else {
    v_1853X = enter_bignum(x_1795X);
    arg2K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    arg0K3 = v_1853X;
    arg0K4 = v_1850X;
    goto L43951;}}
 L20212: {
  v_1854X = arg0K0;
  v_1855X = s48_bignum_fits_in_word_p(rem_1828X, 30, 1);
  if (v_1855X) {
    n_1856X = s48_bignum_to_long(rem_1828X);
    arg0K0 = (((n_1856X)<<2));
    goto L20208;}
  else {
    v_1857X = enter_bignum(rem_1828X);
    arg0K0 = v_1857X;
    goto L20208;}}
 L18162: {
  if ((3 == (3 & thing_1506X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#{template}";
      goto L18180;}
    else {
      goto L18166;}}
  else {
    goto L18166;}}
 L43951: {
  div_by_zeroP_1858X = arg2K0;
  quot_1859X = arg0K1;
  rem_1860X = arg0K2;
  x_1861X = arg0K3;
  y_1862X = arg0K4;
  if (div_by_zeroP_1858X) {
    goto L43974;}
  else {
    if ((0 == (3 & rem_1860X))) {
      if ((0 == rem_1860X)) {
        SvalS = quot_1859X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg1K0 = (Scode_pointerS);
        goto L26349;}
      else {
        goto L43974;}}
    else {
      goto L43974;}}}
 L20208: {
  v_1863X = arg0K0;
  v_1864X = s48_bignum_fits_in_word_p(quot_1827X, 30, 1);
  if (v_1864X) {
    n_1865X = s48_bignum_to_long(quot_1827X);
    arg0K0 = (((n_1865X)<<2));
    goto L20206;}
  else {
    v_1866X = enter_bignum(quot_1827X);
    arg0K0 = v_1866X;
    goto L20206;}}
 L18166: {
  if ((3 == (3 & thing_1506X))) {
    if ((4 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#{location}";
      goto L18180;}
    else {
      goto L18170;}}
  else {
    goto L18170;}}
 L43974: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1861X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1862X);
  arg0K0 = 2;
  goto L24987;}
 L20206: {
  v_1867X = arg0K0;
  v_1868X = s48_bignum_fits_in_word_p(x_1795X, 30, 1);
  if (v_1868X) {
    n_1869X = s48_bignum_to_long(x_1795X);
    arg2K0 = 0;
    arg0K1 = v_1867X;
    arg0K2 = v_1863X;
    arg0K3 = (((n_1869X)<<2));
    arg0K4 = v_1854X;
    goto L43951;}
  else {
    v_1870X = enter_bignum(x_1795X);
    arg2K0 = 0;
    arg0K1 = v_1867X;
    arg0K2 = v_1863X;
    arg0K3 = v_1870X;
    arg0K4 = v_1854X;
    goto L43951;}}
 L18170: {
  if ((3 == (3 & thing_1506X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#{code-vector}";
      goto L18180;}
    else {
      goto L18174;}}
  else {
    goto L18174;}}
 L18174: {
  if ((3 == (3 & thing_1506X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + thing_1506X))) + -4))))>>2))))) {
      arg3K0 = "#{continuation}";
      goto L18180;}
    else {
      arg3K0 = "???";
      goto L18180;}}
  else {
    arg3K0 = "???";
    goto L18180;}}
 loseD0: {
  message_638X = merged_arg3K0;{
  ps_write_string("Template UIDs: ", (stderr));
  current_code_1871X = current_code_vector();
  out_1872X = stderr;
  merged_arg1K0 = (SstackS);
  merged_arg0K1 = (((((ScontS) - (SstackS)))>>2));
  merged_arg0K2 = current_code_1871X;
  find_template_return_tag = 0;
  goto find_template;
 find_template_return_0:
  template_1873X = find_template0_return_value;
  merged_arg0K0 = template_1873X;
  merged_arg2K1 = 0;
  merged_arg4K2 = out_1872X;
  maybe_write_template_return_tag = 0;
  goto maybe_write_template;
 maybe_write_template_return_0:
  not_firstP_1874X = maybe_write_template0_return_value;
  arg1K0 = (ScontS);
  arg2K1 = not_firstP_1874X;
  goto L22255;}
 L22255: {
  cont_1875X = arg1K0;
  not_firstP_1876X = arg2K1;
  if ((cont_1875X == (Sbottom_of_stackS))) {
    cont_1877X = Sheap_continuationS;
    arg0K0 = cont_1877X;
    arg2K1 = not_firstP_1876X;
    goto L21062;}
  else {
    code_pointer_1878X = ((char *) (*((long *) cont_1875X)));
    pointer_1879X = code_pointer_1878X + -5;
    v_1880X = 3 + (((long) (code_pointer_1878X + (0 - (((((*((unsigned char *) pointer_1879X)))<<8)) + (*((unsigned char *) (pointer_1879X + 1))))))));
    pointer_1881X = (((char *) (*((long *) cont_1875X)))) + -2;
    size_1882X = ((((*((unsigned char *) pointer_1881X)))<<8)) + (*((unsigned char *) (pointer_1881X + 1)));
    if ((65535 == size_1882X)) {
      arg0K0 = ((((*((long *) (cont_1875X + 4))))>>2));
      goto L17536;}
    else {
      arg0K0 = size_1882X;
      goto L17536;}}}
 L21062: {
  cont_1883X = arg0K0;
  not_firstP_1884X = arg2K1;
  if ((3 == (3 & cont_1883X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1883X))) + -4))))>>2))))) {
      merged_arg1K0 = (((char *) (-3 + cont_1883X)));
      merged_arg0K1 = ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_1883X))) + -4))))>>8))))>>2));
      merged_arg0K2 = (*((long *) ((((char *) (-3 + cont_1883X))) + 4)));
      find_template_return_tag = 1;
      goto find_template;
     find_template_return_1:
      v_1885X = find_template0_return_value;
      merged_arg0K0 = v_1885X;
      merged_arg2K1 = not_firstP_1884X;
      merged_arg4K2 = out_1872X;
      maybe_write_template_return_tag = 1;
      goto maybe_write_template;
     maybe_write_template_return_1:
      v_1886X = maybe_write_template0_return_value;
      arg0K0 = (*((long *) ((((char *) (-3 + cont_1883X))) + 8)));
      arg2K1 = v_1886X;
      goto L21062;}
    else {
      goto L25085;}}
  else {
    goto L25085;}}
 L17536: {
  v_1887X = arg0K0;
  merged_arg1K0 = (cont_1875X + 4);
  merged_arg0K1 = v_1887X;
  merged_arg0K2 = v_1880X;
  find_template_return_tag = 2;
  goto find_template;
 find_template_return_2:
  v_1888X = find_template0_return_value;
  merged_arg0K0 = v_1888X;
  merged_arg2K1 = not_firstP_1876X;
  merged_arg4K2 = out_1872X;
  maybe_write_template_return_tag = 2;
  goto maybe_write_template;
 maybe_write_template_return_2:
  v_1889X = maybe_write_template0_return_value;
  pointer_1890X = (((char *) (*((long *) cont_1875X)))) + -2;
  size_1891X = ((((*((unsigned char *) pointer_1890X)))<<8)) + (*((unsigned char *) (pointer_1890X + 1)));
  if ((65535 == size_1891X)) {
    arg0K0 = ((((*((long *) (cont_1875X + 4))))>>2));
    goto L22273;}
  else {
    arg0K0 = size_1891X;
    goto L22273;}}
 L25085: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  why_1892X = (((*((long *) ((SstackS) + (((nargs_685X)<<2))))))>>2);
  if ((why_1892X == 1)) {
    if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_685X)<<2)))))))))))))) {
      ps_error(message_638X, 3, opcode_686X, why_1892X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_685X)<<2))))))))))))>>2)));
      goto loseD0_return;}
    else {
      goto L25032;}}
  else {
    goto L25032;}}
 L22273: {
  v_1893X = arg0K0;
  arg1K0 = (cont_1875X + (4 + (((v_1893X)<<2))));
  arg2K1 = v_1889X;
  goto L22255;}
 L25032: {
  ps_error(message_638X, 2, opcode_686X, why_1892X);
  goto loseD0_return;}
 loseD0_return:
  switch (loseD0_return_tag) {
  case 0: goto loseD0_return_0;
  default: goto loseD0_return_1;
  }}

 maybe_write_template: {
  template_635X = merged_arg0K0;
  not_firstP_636X = merged_arg2K1;
  out_637X = merged_arg4K2;{
  if (not_firstP_636X) {
    ps_write_string(" <- ", out_637X);
    goto L17770;}
  else {
    goto L17770;}}
 L17770: {
  if ((3 == (3 & template_635X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + template_635X))) + -4))))>>2))))) {
      name_1894X = *((long *) ((((char *) (-3 + template_635X))) + 8));
      if ((0 == (3 & name_1894X))) {
        ps_write_integer((((name_1894X)>>2)), out_637X);
        maybe_write_template0_return_value = 1;
        goto maybe_write_template_return;}
      else {
        if ((3 == (3 & name_1894X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_1894X))) + -4))))>>2))))) {
            obj_1895X = *((long *) ((((char *) (-3 + name_1894X))) + 8));
            if ((3 == (3 & obj_1895X))) {
              if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_1895X))) + -4))))>>2))))) {
                ps_write_string((((char *)(((char *) (-3 + (*((long *) ((((char *) (-3 + name_1894X))) + 8)))))))), out_637X);
                maybe_write_template0_return_value = 1;
                goto maybe_write_template_return;}
              else {
                goto L17805;}}
            else {
              goto L17805;}}
          else {
            goto L17805;}}
        else {
          goto L17805;}}}
    else {
      goto L17828;}}
  else {
    goto L17828;}}
 L17805: {
  if ((3 == (3 & name_1894X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_1894X))) + -4))))>>2))))) {
      obj_1896X = *((long *) ((((char *) (-3 + name_1894X))) + 8));
      if ((3 == (3 & obj_1896X))) {
        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1896X))) + -4))))>>2))))) {
          ps_write_string((((char *)(((char *) (-3 + (*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + name_1894X))) + 8))))))))))))), out_637X);
          maybe_write_template0_return_value = 1;
          goto maybe_write_template_return;}
        else {
          goto L17825;}}
      else {
        goto L17825;}}
    else {
      goto L17825;}}
  else {
    goto L17825;}}
 L17828: {
  ps_write_string(" ?? ", out_637X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 L17825: {
  ps_write_string("?", out_637X);
  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_632X = merged_arg1K0;
  count_633X = merged_arg0K1;
  code_vector_634X = merged_arg0K2;{
  arg0K0 = 0;
  goto L14790;}
 L14790: {
  i_1897X = arg0K0;
  if ((i_1897X == count_633X)) {
    find_template0_return_value = 1;
    goto find_template_return;}
  else {
    next_1898X = *((long *) (start_632X + (((i_1897X)<<2))));
    if ((3 == (3 & next_1898X))) {
      if ((12 == (31 & ((((*((long *) ((((char *) (-3 + next_1898X))) + -4))))>>2))))) {
        if (((*((long *) (((char *) (-3 + next_1898X))))) == code_vector_634X)) {
          find_template0_return_value = next_1898X;
          goto find_template_return;}
        else {
          goto L14812;}}
      else {
        goto L14812;}}
    else {
      goto L14812;}}}
 L14812: {
  arg0K0 = (1 + i_1897X);
  goto L14790;}
 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_628X = merged_arg0K0;
  stack_arg_count_629X = merged_arg0K1;
  list_args_630X = merged_arg0K2;
  list_arg_count_631X = merged_arg0K3;{
  if ((stack_arg_count_629X == wants_stack_args_628X)) {
    merged_arg0K0 = list_args_630X;
    merged_arg0K1 = list_arg_count_631X;
    copy_listSAgc_return_tag = 1;
    goto copy_listSAgc;
   copy_listSAgc_return_1:
    x_1899X = copy_listSAgc0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1899X);
    goto rest_list_setupAgc_return;}
  else {
    if ((stack_arg_count_629X < wants_stack_args_628X)) {
      count_1900X = wants_stack_args_628X - stack_arg_count_629X;
      merged_arg0K0 = list_args_630X;
      merged_arg0K1 = count_1900X;
      push_list_return_tag = 4;
      goto push_list;
     push_list_return_4:
      v_1901X = push_list0_return_value;
      merged_arg0K0 = v_1901X;
      merged_arg0K1 = (list_arg_count_631X - count_1900X);
      copy_listSAgc_return_tag = 2;
      goto copy_listSAgc;
     copy_listSAgc_return_2:
      x_1902X = copy_listSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1902X);
      goto rest_list_setupAgc_return;}
    else {
      merged_arg0K0 = list_args_630X;
      merged_arg0K1 = list_arg_count_631X;
      copy_listSAgc_return_tag = 3;
      goto copy_listSAgc;
     copy_listSAgc_return_3:
      v_1903X = copy_listSAgc0_return_value;
      merged_arg0K0 = v_1903X;
      merged_arg0K1 = (stack_arg_count_629X - wants_stack_args_628X);
      pop_args_GlistSAgc_return_tag = 11;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_11:
      x_1904X = pop_args_GlistSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1904X);
      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_626X = merged_arg0K0;
  count_627X = merged_arg0K1;{
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_626X);
  merged_arg0K0 = count_627X;
  ensure_stack_spaceB_return_tag = 1;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_1:
  v_1905X = ensure_stack_spaceB0_return_value;
  if (v_1905X) {
    s48_Sstack_limitS = (((char *) -1));
    goto L23711;}
  else {
    goto L23711;}}
 L23711: {
  list_1906X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  arg0K0 = count_627X;
  arg0K1 = list_1906X;
  goto L23720;}
 L23720: {
  i_1907X = arg0K0;
  l_1908X = arg0K1;
  if ((0 < i_1907X)) {
    x_1909X = *((long *) (((char *) (-3 + l_1908X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1909X);
    arg0K0 = (-1 + i_1907X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_1908X))) + 4)));
    goto L23720;}
  else {
    push_list0_return_value = l_1908X;
    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_625X = merged_arg0K0;{
  if ((((SstackS) + (256 - (((need_625X)<<2)))) < (s48_Sstack_limitS))) {
    interruptP_1910X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((((SstackS) + (256 - (((need_625X)<<2)))) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if ((((SstackS) + (256 - (((need_625X)<<2)))) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        ensure_stack_spaceB0_return_value = interruptP_1910X;
        goto ensure_stack_spaceB_return;}
      else {
        ensure_stack_spaceB0_return_value = interruptP_1910X;
        goto ensure_stack_spaceB_return;}}
    else {
      ensure_stack_spaceB0_return_value = interruptP_1910X;
      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_623X = merged_arg0K0;
  count_624X = merged_arg0K1;{
  Stemp0S = start_623X;s48_make_availableAgc(((((3 * count_624X))<<2)));
  value_1911X = Stemp0S;
  Stemp0S = 1;
  arg0K0 = value_1911X;
  arg0K1 = count_624X;
  goto L19063;}
 L19063: {
  args_1912X = arg0K0;
  count_1913X = arg0K1;
  if ((0 == count_1913X)) {
    pop_args_GlistSAgc0_return_value = args_1912X;
    goto pop_args_GlistSAgc_return;}
  else {
    a_1914X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    addr_1915X = s48_allocate_small(12);
    *((long *) addr_1915X) = (long) (2050);
    x_1916X = 3 + (((long) (addr_1915X + 4)));
    *((long *) (((char *) (-3 + x_1916X)))) = (long) (a_1914X);
    *((long *) ((((char *) (-3 + x_1916X))) + 4)) = (long) (args_1912X);
    arg0K0 = x_1916X;
    arg0K1 = (-1 + count_1913X);
    goto L19063;}}
 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;
  case 5: goto pop_args_GlistSAgc_return_5;
  case 6: goto pop_args_GlistSAgc_return_6;
  case 7: goto pop_args_GlistSAgc_return_7;
  case 8: goto pop_args_GlistSAgc_return_8;
  case 9: goto pop_args_GlistSAgc_return_9;
  case 10: goto pop_args_GlistSAgc_return_10;
  default: goto pop_args_GlistSAgc_return_11;
  }}

 copy_listSAgc: {
  list_621X = merged_arg0K0;
  length_622X = merged_arg0K1;{
  if ((0 == length_622X)) {
    copy_listSAgc0_return_value = 25;
    goto copy_listSAgc_return;}
  else {
    Stemp0S = list_621X;s48_make_availableAgc(((((3 * length_622X))<<2)));
    value_1917X = Stemp0S;
    Stemp0S = 1;
    a_1918X = *((long *) (((char *) (-3 + value_1917X))));
    addr_1919X = s48_allocate_small(12);
    *((long *) addr_1919X) = (long) (2050);
    x_1920X = 3 + (((long) (addr_1919X + 4)));
    *((long *) (((char *) (-3 + x_1920X)))) = (long) (a_1918X);
    *((long *) ((((char *) (-3 + x_1920X))) + 4)) = (long) (25);
    arg0K0 = (*((long *) ((((char *) (-3 + value_1917X))) + 4)));
    arg0K1 = x_1920X;
    goto L18951;}}
 L18951: {
  l_1921X = arg0K0;
  last_1922X = arg0K1;
  if ((25 == l_1921X)) {
    copy_listSAgc0_return_value = x_1920X;
    goto copy_listSAgc_return;}
  else {
    a_1923X = *((long *) (((char *) (-3 + l_1921X))));
    addr_1924X = s48_allocate_small(12);
    *((long *) addr_1924X) = (long) (2050);
    x_1925X = 3 + (((long) (addr_1924X + 4)));
    *((long *) (((char *) (-3 + x_1925X)))) = (long) (a_1923X);
    *((long *) ((((char *) (-3 + x_1925X))) + 4)) = (long) (25);
    addr_1926X = (((char *) (-3 + last_1922X))) + 4;S48_WRITE_BARRIER(last_1922X, addr_1926X, x_1925X);
    *((long *) addr_1926X) = (long) (x_1925X);
    arg0K0 = (*((long *) ((((char *) (-3 + l_1921X))) + 4)));
    arg0K1 = x_1925X;
    goto L18951;}}
 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_1927X = ScontS;
  pointer_1928X = (((char *) (*((long *) cont_1927X)))) + -2;
  size_1929X = ((((*((unsigned char *) pointer_1928X)))<<8)) + (*((unsigned char *) (pointer_1928X + 1)));
  if ((65535 == size_1929X)) {
    arg0K0 = ((((*((long *) (cont_1927X + 4))))>>2));
    goto L18795;}
  else {
    arg0K0 = size_1929X;
    goto L18795;}}
 L18795: {
  v_1930X = arg0K0;
  ScontS = (cont_1927X + (4 + (((v_1930X)<<2))));
  v_1931X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  Scode_pointerS = (((char *) v_1931X));
  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_618X = merged_arg0K0;
  index_619X = merged_arg0K1;
  count_620X = merged_arg0K2;{
  if ((index_619X < 0)) {
    okay_copy_argsP0_return_value = 0;
    goto okay_copy_argsP_return;}
  else {
    if ((3 == (3 & thing_618X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_618X))) + -4))))>>2))))) {
        if (((-1 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_618X))) + -4))))>>8))) < (index_619X + count_620X))) {
          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 L18469;}}
    else {
      goto L18469;}}}
 L18469: {
  if ((3 == (3 & thing_618X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + thing_618X))) + -4))))>>2))))) {
      if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_618X))) + -4))))>>8)) < (index_619X + count_620X))) {
        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_616X = merged_arg0K0;
  n_617X = merged_arg0K1;{
  if ((0 == (3 & x_616X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L16780;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_616X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L16780;}}
 L16780: {
  x_size_1932X = arg0K0;
  extra_1933X = arg0K1;
  if ((n_617X < 0)) {
    if ((x_size_1932X < 1)) {
      arg0K0 = 1;
      goto L16822;}
    else {
      arg0K0 = x_size_1932X;
      goto L16822;}}
  else {
    n_1934X = n_617X / 30;
    arg0K0 = (3 + (((((7 + (((x_size_1932X)<<2))))>>2)) + ((((7 + (((n_1934X)<<2))))>>2))));
    goto L16800;}}
 L16822: {
  v_1935X = arg0K0;
  arg0K0 = (4 + ((-2 & ((((11 + (((v_1935X)<<2))))>>1))) + ((((7 + (((x_size_1932X)<<2))))>>2))));
  goto L16800;}
 L16800: {
  v_1936X = arg0K0;
  shift_space0_return_value = (extra_1933X + v_1936X);
  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_613X = merged_arg0K0;
  index_614X = merged_arg0K1;
  value_615X = merged_arg0K2;{
  log_1937X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L16488;}
 L16488: {
  i_1938X = arg0K0;
  next_stob_1939X = *((long *) ((((char *) (-3 + log_1937X))) + (((i_1938X)<<2))));
  if ((1 == next_stob_1939X)) {add_log_entryAgc(1, i_1938X, stob_613X, index_614X, value_615X, 0);
    goto proposal_d_write_return;}
  else {
    if ((stob_613X == next_stob_1939X)) {
      if ((index_614X == (*((long *) ((((char *) (-3 + log_1937X))) + (4 + (((i_1938X)<<2)))))))) {
        addr_1940X = (((char *) (-3 + log_1937X))) + (8 + (((i_1938X)<<2)));S48_WRITE_BARRIER(log_1937X, addr_1940X, value_615X);
        *((long *) addr_1940X) = (long) (value_615X);
        goto proposal_d_write_return;}
      else {
        goto L16508;}}
    else {
      goto L16508;}}}
 L16508: {
  arg0K0 = (4 + i_1938X);
  goto L16488;}
 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_611X = merged_arg0K0;
  index_612X = merged_arg0K1;{
  log_1941X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L16311;}
 L16311: {
  i_1942X = arg0K0;
  next_stob_1943X = *((long *) ((((char *) (-3 + log_1941X))) + (((i_1942X)<<2))));
  if ((1 == next_stob_1943X)) {
    v_1944X = add_log_entryAgc(1, i_1942X, stob_611X, index_612X, (*((long *) ((((char *) (-3 + stob_611X))) + (-4 & index_612X)))), 1);
    proposal_d_read0_return_value = v_1944X;
    goto proposal_d_read_return;}
  else {
    if ((stob_611X == next_stob_1943X)) {
      if ((index_612X == (*((long *) ((((char *) (-3 + log_1941X))) + (4 + (((i_1942X)<<2)))))))) {
        proposal_d_read0_return_value = (*((long *) ((((char *) (-3 + log_1941X))) + (8 + (((i_1942X)<<2))))));
        goto proposal_d_read_return;}
      else {
        goto L16333;}}
    else {
      goto L16333;}}}
 L16333: {
  arg0K0 = (4 + i_1942X);
  goto L16311;}
 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 L16282;}
  else {
    goto L16268;}}
 L16282: {
  type_1945X = s48_get_next_event(&channel_1946X, &status_1947X);
  if ((type_1945X == ALARM_EVENT)) {
    arg0K0 = 1;
    goto L16288;}
  else {
    if ((type_1945X == KEYBOARD_INTERRUPT_EVENT)) {
      arg0K0 = 2;
      goto L16288;}
    else {
      if ((type_1945X == IO_COMPLETION_EVENT)) {enqueue_channelB(channel_1946X, status_1947X, 1);
        arg0K0 = 8;
        goto L16288;}
      else {
        if ((type_1945X == IO_ERROR_EVENT)) {enqueue_channelB(channel_1946X, status_1947X, 5);
          arg0K0 = 8;
          goto L16288;}
        else {
          if ((type_1945X == OS_SIGNAL_EVENT)) {
            arg0K0 = 16;
            goto L16288;}
          else {
            if ((type_1945X == NO_EVENT)) {
              arg0K0 = 0;
              goto L16288;}
            else {
              if ((type_1945X == 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_1947X)), (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L16288;}
              else {
                ps_write_string("unknown type of event", (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L16288;}}}}}}}}
 L16268: {
  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;}}
 L16288: {
  interrupt_bit_1948X = arg0K0;
  Spending_interruptsS = ((Spending_interruptsS) | interrupt_bit_1948X);
  if ((type_1945X == NO_EVENT)) {
    goto L16268;}
  else {
    goto L16282;}}
 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_609X = merged_arg0K0;
  b_610X = merged_arg0K1;{
  addr_1949X = s48_allocate_small(12);
  *((long *) addr_1949X) = (long) (2062);
  x_1950X = 3 + (((long) (addr_1949X + 4)));
  *((long *) (((char *) (-3 + x_1950X)))) = (long) (a_609X);
  *((long *) ((((char *) (-3 + x_1950X))) + 4)) = (long) (b_610X);
  if ((3 == (3 & x_1950X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1950X))) + -4)))))) {
      *((long *) ((((char *) (-3 + x_1950X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_1950X))) + -4)))));
      make_closure0_return_value = x_1950X;
      goto make_closure_return;}
    else {
      make_closure0_return_value = x_1950X;
      goto make_closure_return;}}
  else {
    make_closure0_return_value = x_1950X;
    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_608X = merged_arg0K0;{
  thread_1951X = Scurrent_threadS;
  if ((3 == (3 & thread_1951X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thread_1951X))) + -4))))>>2))))) {
      if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_1951X))) + -4))))>>8))))>>2)))) {
        arg0K0 = (*((long *) ((((char *) (-3 + thread_1951X))) + 4)));
        goto L14244;}
      else {
        goto L14294;}}
    else {
      goto L14294;}}
  else {
    goto L14294;}}
 L14244: {
  env_1952X = arg0K0;
  if ((3 == (3 & env_1952X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_1952X))) + -4))))>>2))))) {
      obj_1953X = *((long *) (((char *) (-3 + env_1952X))));
      if ((3 == (3 & obj_1953X))) {
        if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_1953X))) + -4))))>>2))))) {
          if ((marker_608X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_1952X)))))))))))) {
            get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_1952X)))))))) + 4)));
            goto get_current_port_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + env_1952X))) + 4)));
            goto L14244;}}
        else {
          goto L14316;}}
      else {
        goto L14316;}}
    else {
      goto L14316;}}
  else {
    goto L14316;}}
 L14294: {
  ps_error("current thread is not a record", 0);
  get_current_port0_return_value = v_1954X;
  goto get_current_port_return;}
 L14316: {
  if ((25 == env_1952X)) {
    if (((((marker_608X)>>2)) == 1)) {
      arg3K0 = "dynamic environment doesn't have current-output-port";
      goto L14270;}
    else {
      arg3K0 = "dynamic environment doesn't have current-input-port";
      goto L14270;}}
  else {
    ps_error("dynamic environment is not a proper list", 0);
    goto get_current_port_return;}}
 L14270: {
  v_1955X = arg3K0;
  ps_error(v_1955X, 0);
  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_607X = merged_arg0K0;{
  arg0K0 = list_607X;
  arg0K1 = 0;
  arg0K2 = list_607X;
  arg2K3 = 0;
  goto L14111;}
 L14111: {
  fast_1956X = arg0K0;
  len_1957X = arg0K1;
  slow_1958X = arg0K2;
  move_slowP_1959X = arg2K3;
  if ((25 == fast_1956X)) {
    okay_argument_list0_return_value = 1;
    okay_argument_list1_return_value = len_1957X;
    goto okay_argument_list_return;}
  else {
    if ((3 == (3 & fast_1956X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_1956X))) + -4))))>>2))))) {
        if (move_slowP_1959X) {
          if ((fast_1956X == slow_1958X)) {
            okay_argument_list0_return_value = 0;
            okay_argument_list1_return_value = 0;
            goto okay_argument_list_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + fast_1956X))) + 4)));
            arg0K1 = (1 + len_1957X);
            arg0K2 = (*((long *) ((((char *) (-3 + slow_1958X))) + 4)));
            arg2K3 = 0;
            goto L14111;}}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + fast_1956X))) + 4)));
          arg0K1 = (1 + len_1957X);
          arg0K2 = slow_1958X;
          arg2K3 = 1;
          goto L14111;}}
      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_605X = merged_arg0K0;
  stack_arg_count_606X = merged_arg0K1;{
  stack_size_1960X = -2 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_605X))) + -4))))>>8))))>>2));
  new_cont_1961X = (Sbottom_of_stackS) + (0 - (((stack_size_1960X)<<2)));
  if ((0 == stack_arg_count_606X)) {
    SstackS = new_cont_1961X;
    goto L13940;}
  else {
    new_stack_1962X = new_cont_1961X + (0 - (((stack_arg_count_606X)<<2)));
    if ((new_stack_1962X < (SstackS))) {
      memcpy((void *)new_stack_1962X, (void *)(SstackS),(((stack_arg_count_606X)<<2)));
      SstackS = new_stack_1962X;
      goto L13940;}
    else {
      goto L13940;}}}
 L13940: {
  ScontS = new_cont_1961X;
  memcpy((void *)(new_cont_1961X + 4), (void *)((((char *) (-3 + cont_605X))) + 12),(-4 + (((stack_size_1960X)<<2))));
  *((long *) new_cont_1961X) = (long) ((((long) ((((char *) (-3 + (*((long *) ((((char *) (-3 + cont_605X))) + 4)))))) + ((((*((long *) (((char *) (-3 + cont_605X))))))>>2))))));
  Sheap_continuationS = (*((long *) ((((char *) (-3 + cont_605X))) + 8)));
  copy_continuation_from_heapB0_return_value = new_cont_1961X;
  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_604X = merged_arg0K0;{
  string_1963X = ps_error_string(status_604X);
  x_1964X = strlen((char *) string_1963X);
  if ((x_1964X < 512)) {
    arg0K0 = x_1964X;
    goto L13237;}
  else {
    arg0K0 = 512;
    goto L13237;}}
 L13237: {
  len_1965X = arg0K0;
  len_1966X = 1 + len_1965X;
  addr_1967X = s48_allocate_small((4 + len_1966X));
  *((long *) addr_1967X) = (long) ((70 + (((len_1966X)<<8))));
  string_1968X = 3 + (((long) (addr_1967X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_1968X))) + len_1965X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L13247;}
 L13247: {
  i_1969X = arg0K0;
  if ((i_1969X == len_1965X)) {
    get_error_string0_return_value = string_1968X;
    goto get_error_string_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_1968X))) + i_1969X)) = (unsigned char) ((((unsigned char) (*(string_1963X + i_1969X)))));
    arg0K0 = (1 + i_1969X);
    goto L13247;}}
 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;
  default: goto get_error_string_return_3;
  }}

 push_native_interrupt_continuation: {
{ x_1970X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1970X);
  x_1971X = Scurrent_threadS;
  addr_1972X = (((char *) (-3 + x_1971X))) + 12;S48_WRITE_BARRIER(x_1971X, addr_1972X, 1);
  *((long *) addr_1972X) = (long) (1);
  n_1973X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1973X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (12);
  code_1974X = Sinterrupt_return_codeS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1974X))) + 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_603X = merged_arg0K0;{
  top_of_args_1975X = SstackS;
  if (((ScontS) == (top_of_args_1975X + (((nargs_603X)<<2))))) {
    goto move_args_above_contB_return;}
  else {
    SstackS = (ScontS);
    arg1K0 = ((SstackS) + -4);
    arg1K1 = (top_of_args_1975X + (-4 + (((nargs_603X)<<2))));
    goto L5835;}}
 L5835: {
  loc_1976X = arg1K0;
  arg_1977X = arg1K1;
  if ((arg_1977X < top_of_args_1975X)) {
    SstackS = ((SstackS) + (0 - (((nargs_603X)<<2))));
    goto move_args_above_contB_return;}
  else {
    *((long *) loc_1976X) = (long) ((*((long *) arg_1977X)));
    arg1K0 = (loc_1976X + -4);
    arg1K1 = (arg_1977X + -4);
    goto L5835;}}
 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_1978X, long startup_vector_length_1979X)
{
  long arg0K0;
  long merged_arg0K1;
  char *merged_arg3K0;

  int enter_string_return_tag;
  long enter_string0_return_value;
  char *string_1980X;
  long i_2016X;
  long string_2015X;
  char * addr_2014X;
  long len_2013X;
  long len_2012X;
  long v_2011X;
  long x_2010X;
  long vm_channel_2009X;
  long v_2008X;
  long channel_2007X;
  long vm_channel_2006X;
  long v_2005X;
  long channel_2004X;
  long vm_channel_2003X;
  long v_2002X;
  long channel_2001X;
  long i_2000X;
  long length_1999X;
  long *v_1998X;
  long v_1997X;
  long v_1996X;
  long y_1995X;
  long x_1994X;
  long v_1993X;
  long x_1992X;
  long y_1991X;
  char * addr_1990X;
  long value_1989X;
  long y_1988X;
  long x_1987X;
  long i_1986X;
  long vector_1985X;
  long vector_1984X;
  char * addr_1983X;
  long len_1982X;
  long code_1981X;
 {  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_1981X = Sinterrupt_return_codeS;
  Slast_code_calledS = code_1981X;
  Scode_pointerS = (((char *) (-3 + code_1981X)));
  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_1982X = ((startup_vector_length_1979X)<<2);
  addr_1983X = s48_allocate_tracedAgc((4 + len_1982X));
  if ((addr_1983X == NULL)) {
    arg0K0 = 1;
    goto L19507;}
  else {
    *((long *) addr_1983X) = (long) ((10 + (((len_1982X)<<8))));
    arg0K0 = (3 + (((long) (addr_1983X + 4))));
    goto L19507;}}
 L19507: {
  vector_1984X = arg0K0;
  if ((1 == vector_1984X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_1984X;
    goto L19493;}
  else {
    arg0K0 = vector_1984X;
    goto L19493;}}
 L19493: {
  vector_1985X = arg0K0;
  arg0K0 = 0;
  goto L19530;}
 L19530: {
  i_1986X = arg0K0;
  if ((i_1986X == startup_vector_length_1979X)) {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vector_1985X);
    x_1987X = STDOUT_FD();
    y_1988X = STDERR_FD();
    if ((x_1987X < y_1988X)) {
      arg0K0 = y_1988X;
      goto L21541;}
    else {
      arg0K0 = x_1987X;
      goto L21541;}}
  else {
    value_1989X = enter_stringAgc((*(startup_vector_1978X + i_1986X)));
    addr_1990X = (((char *) (-3 + vector_1985X))) + (((i_1986X)<<2));S48_WRITE_BARRIER(vector_1985X, addr_1990X, value_1989X);
    *((long *) addr_1990X) = (long) (value_1989X);
    arg0K0 = (1 + i_1986X);
    goto L19530;}}
 L21541: {
  y_1991X = arg0K0;
  x_1992X = STDIN_FD();
  if ((x_1992X < y_1991X)) {
    arg0K0 = y_1991X;
    goto L21543;}
  else {
    arg0K0 = x_1992X;
    goto L21543;}}
 L21543: {
  v_1993X = arg0K0;
  x_1994X = Snumber_of_channelsS;
  y_1995X = 1 + v_1993X;
  if ((x_1994X < y_1995X)) {
    arg0K0 = y_1995X;
    goto L21545;}
  else {
    arg0K0 = x_1994X;
    goto L21545;}}
 L21545: {
  v_1996X = arg0K0;
  Snumber_of_channelsS = v_1996X;
  v_1997X = STDIN_FD();
  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 L21567;}
  else {
    goto L21567;}}
 L21567: {
  v_1998X = Svm_channelsS;
  length_1999X = Snumber_of_channelsS;
  arg0K0 = 0;
  goto L21615;}
 L21615: {
  i_2000X = arg0K0;
  if ((i_2000X < length_1999X)) {
    *(v_1998X + i_2000X) = 1;
    arg0K0 = (1 + i_2000X);
    goto L21615;}
  else {s48_make_availableAgc(((((3 * (9 + ((((4 + (strlen((char *) "standard output"))))>>2)))))<<2)));
    channel_2001X = STDOUT_FD();
    merged_arg3K0 = "standard output";
    merged_arg0K1 = 0;
    enter_string_return_tag = 0;
    goto enter_string;
   enter_string_return_0:
    v_2002X = enter_string0_return_value;
    vm_channel_2003X = make_channel(8, v_2002X, (((channel_2001X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2001X) = vm_channel_2003X;
    channel_2004X = STDIN_FD();
    merged_arg3K0 = "standard input";
    merged_arg0K1 = 0;
    enter_string_return_tag = 1;
    goto enter_string;
   enter_string_return_1:
    v_2005X = enter_string0_return_value;
    vm_channel_2006X = make_channel(4, v_2005X, (((channel_2004X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2004X) = vm_channel_2006X;
    channel_2007X = STDERR_FD();
    merged_arg3K0 = "standard error";
    merged_arg0K1 = 0;
    enter_string_return_tag = 2;
    goto enter_string;
   enter_string_return_2:
    v_2008X = enter_string0_return_value;
    vm_channel_2009X = make_channel(8, v_2008X, (((channel_2007X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + channel_2007X) = vm_channel_2009X;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2006X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2003X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vm_channel_2009X);
    x_2010X = s48_resumer_records();
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2010X);s48_initialization_completeB();
    v_2011X = s48_startup_procedure();
    return s48_restart(v_2011X, 5);}}
 enter_string: {
  string_1980X = merged_arg3K0;{
  len_2012X = strlen((char *) string_1980X);
  len_2013X = 1 + len_2012X;
  addr_2014X = s48_allocate_small((4 + len_2013X));
  *((long *) addr_2014X) = (long) ((70 + (((len_2013X)<<8))));
  string_2015X = 3 + (((long) (addr_2014X + 4)));
  *((unsigned char *) ((((char *) (-3 + string_2015X))) + len_2012X)) = (unsigned char) (0);
  arg0K0 = 0;
  goto L16114;}
 L16114: {
  i_2016X = arg0K0;
  if ((i_2016X == len_2012X)) {
    enter_string0_return_value = string_2015X;
    goto enter_string_return;}
  else {
    *((unsigned char *) ((((char *) (-3 + string_2015X))) + i_2016X)) = (unsigned char) ((((unsigned char) (*(string_1980X + i_2016X)))));
    arg0K0 = (1 + i_2016X);
    goto L16114;}}
 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 = HtopD10402;
Sgc_root_procS = HtopD10413;
Snative_exception_contS = 0;
s48_Scallback_return_stack_blockS = 1;
s48_Spending_eventsPS = 0;
}
