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

struct image_location {
  long new_descriptor;
  long next;
};
struct table {
  long *keys;
  struct image_location **values;
  long count;
  long size;
};
static char add_more_channels(long);
static char encode_scalar_value(long, long, char *, long, char*, char*, long*);
static char decode_scalar_value(long, char *, long, char*, char*, long*, 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 void decode_utf_8B(char *, long, long);
static void copy_vm_string_to_stringUlatin_1B(long, long, long, char*);
static long close_channelB(long);
static long make_blank_return_code(long, long, long, long, long);
static long enter_stringAgc_n(char*, 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 write_vm_string(long, FILE *);
static long Haction4940(long);
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 long Hinteger_op8341(long, long);
static long Hinteger_op8272(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 Hlookup2943(long, long, long);
static long Hlookup2924(long, long, long);
static void HtopD11595(char, char);
static void HtopD11606(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_string(long);
long s48_allocate_bignum(long);
void s48_enable_interruptsB(void);
long s48_set_channel_os_index(long, long);
long s48_enter_string_utf_8(char *);
long s48_enter_string_utf_8_n(char *, 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);
long s48_enter_string_latin_1_n(char*, long);
long s48_integer_or_floanum_E(long, long);
void s48_close_channel(long);
long s48_enter_string_latin_1(char*);
void s48_string_set(long, long, long);
long s48_string_ref(long, long);
long s48_string_length(long);
void s48_copy_latin_1_to_string_n(char*, long, long);
void s48_copy_latin_1_to_string(char*, long);
void s48_copy_string_to_latin_1(long, char*);
void s48_copy_string_to_latin_1_n(long, long, long, char*);
long s48_string_utf_8_length(long);
long s48_string_utf_8_length_n(long, long, long);
void s48_copy_string_to_utf_8(long, char *);
void s48_copy_string_to_utf_8_n(long, long, long, char *);
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);
long s48_integer_quotient(long, long);
long s48_integer_remainder(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(char, char);
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 *Sutf_8_state_tableS;
static long *Sutf_8_masksS;
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 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 char Sgc_in_troublePS;
static long Senabled_interruptsS;
static long Sinterrupted_templateS;
static long Sinterrupted_byte_opcode_return_codeS;
static long Sinterrupted_native_call_return_codeS;
static long Snative_poll_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)(char, char);
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_7X)
{
  long arg0K0;
  long i_13X;
  long i_12X;
  long *new_vm_channels_11X;
  long new_count_10X;
  long y_9X;
  long x_8X;
 {  x_8X = 1 + index_7X;
  y_9X = 8 + (Snumber_of_channelsS);
  if ((x_8X < y_9X)) {
    arg0K0 = y_9X;
    goto L3605;}
  else {
    arg0K0 = x_8X;
    goto L3605;}}
 L3605: {
  new_count_10X = arg0K0;
  new_vm_channels_11X = (long*)malloc(sizeof(long) * new_count_10X);
  if ((NULL == new_vm_channels_11X)) {
    return 0;}
  else {
    arg0K0 = 0;
    goto L3617;}}
 L3617: {
  i_12X = arg0K0;
  if ((i_12X == (Snumber_of_channelsS))) {
    arg0K0 = (Snumber_of_channelsS);
    goto L3690;}
  else {
    *(new_vm_channels_11X + i_12X) = (*((Svm_channelsS) + i_12X));
    arg0K0 = (1 + i_12X);
    goto L3617;}}
 L3690: {
  i_13X = arg0K0;
  if ((i_13X == new_count_10X)) {
    free((Svm_channelsS));
    Svm_channelsS = new_vm_channels_11X;
    Snumber_of_channelsS = new_count_10X;
    return 1;}
  else {
    *(new_vm_channels_11X + i_13X) = 1;
    arg0K0 = (1 + i_13X);
    goto L3690;}}
}
static char encode_scalar_value(long encoding_14X, long value_15X, char * buffer_16X, long count_17X, char *TT0, char *TT1, long *TT2)
{
  long word_21X;
  long word_20X;
  long word_19X;
  long word_18X;
 {  if ((0 == encoding_14X)) {
    if ((count_17X < 1)) {
      *TT0 = 1;
      *TT1 = 1;
      *TT2 = 1;
      return 1;}
    else {
      if ((value_15X < 128)) {
        *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
        *TT0 = 1;
        *TT1 = 0;
        *TT2 = 1;
        return 1;}
      else {
        *TT0 = 0;
        *TT1 = 0;
        *TT2 = 0;
        return 1;}}}
  else {
    if ((1 == encoding_14X)) {
      if ((count_17X < 1)) {
        *TT0 = 1;
        *TT1 = 1;
        *TT2 = 1;
        return 1;}
      else {
        if ((value_15X < 256)) {
          *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
          *TT0 = 1;
          *TT1 = 0;
          *TT2 = 1;
          return 1;}
        else {
          *TT0 = 0;
          *TT1 = 0;
          *TT2 = 0;
          return 1;}}}
    else {
      if ((2 == encoding_14X)) {
        if ((127 < value_15X)) {
          if ((2047 < value_15X)) {
            if ((65535 < value_15X)) {
              if ((count_17X < 4)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 4;
                return 1;}
              else {
                *((unsigned char *) buffer_16X) = (unsigned char) ((240 + ((long)(((unsigned long)(1835008 & value_15X))>>18))));
                *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + ((long)(((unsigned long)(258048 & value_15X))>>12))));
                *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((128 + ((long)(((unsigned long)(4032 & value_15X))>>6))));
                *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((128 + (63 & value_15X)));
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = 4;
                return 1;}}
            else {
              if ((count_17X < 3)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 3;
                return 1;}
              else {
                *((unsigned char *) buffer_16X) = (unsigned char) ((224 + ((long)(((unsigned long)(61440 & value_15X))>>12))));
                *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + ((long)(((unsigned long)(4032 & value_15X))>>6))));
                *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((128 + (63 & value_15X)));
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = 3;
                return 1;}}}
          else {
            if ((count_17X < 2)) {
              *TT0 = 1;
              *TT1 = 1;
              *TT2 = 2;
              return 1;}
            else {
              *((unsigned char *) buffer_16X) = (unsigned char) ((192 + ((long)(((unsigned long)(1984 & value_15X))>>6))));
              *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + (63 & value_15X)));
              *TT0 = 1;
              *TT1 = 0;
              *TT2 = 2;
              return 1;}}}
        else {
          if ((count_17X < 1)) {
            *TT0 = 1;
            *TT1 = 1;
            *TT2 = 1;
            return 1;}
          else {
            *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
            *TT0 = 1;
            *TT1 = 0;
            *TT2 = 1;
            return 1;}}}
      else {
        if ((3 == encoding_14X)) {
          if ((65535 < value_15X)) {
            if ((count_17X < 4)) {
              *TT0 = 1;
              *TT1 = 1;
              *TT2 = 4;
              return 1;}
            else {
              word_18X = 55232 + ((long)(((unsigned long)value_15X)>>10));
              *((unsigned char *) buffer_16X) = (unsigned char) ((255 & word_18X));
              *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)word_18X)>>8)));
              word_19X = 56320 + (1023 & value_15X);
              *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((255 & word_19X));
              *((unsigned char *) (buffer_16X + 3)) = (unsigned char) (((long)(((unsigned long)word_19X)>>8)));
              *TT0 = 1;
              *TT1 = 0;
              *TT2 = 4;
              return 1;}}
          else {
            if ((count_17X < 2)) {
              *TT0 = 1;
              *TT1 = 1;
              *TT2 = 2;
              return 1;}
            else {
              *((unsigned char *) buffer_16X) = (unsigned char) ((255 & value_15X));
              *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)value_15X)>>8)));
              *TT0 = 1;
              *TT1 = 0;
              *TT2 = 2;
              return 1;}}}
        else {
          if ((4 == encoding_14X)) {
            if ((65535 < value_15X)) {
              if ((count_17X < 4)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 4;
                return 1;}
              else {
                word_20X = 55232 + ((long)(((unsigned long)value_15X)>>10));
                *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)word_20X)>>8)));
                *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((255 & word_20X));
                word_21X = 56320 + (1023 & value_15X);
                *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)word_21X)>>8)));
                *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((255 & word_21X));
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = 4;
                return 1;}}
            else {
              if ((count_17X < 2)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 2;
                return 1;}
              else {
                *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)value_15X)>>8)));
                *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((255 & value_15X));
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = 2;
                return 1;}}}
          else {
            if ((5 == encoding_14X)) {
              if ((count_17X < 4)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 4;
                return 1;}
              else {
                *((unsigned char *) buffer_16X) = (unsigned char) ((255 & value_15X));
                *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)(65280 & value_15X))>>8)));
                *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)(16711680 & value_15X))>>16)));
                *((unsigned char *) (buffer_16X + 3)) = (unsigned char) (((long)(((unsigned long)value_15X)>>24)));
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = 4;
                return 1;}}
            else {
              if ((6 == encoding_14X)) {
                if ((count_17X < 4)) {
                  *TT0 = 1;
                  *TT1 = 1;
                  *TT2 = 4;
                  return 1;}
                else {
                  *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)value_15X)>>24)));
                  *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)(16711680 & value_15X))>>16)));
                  *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)(65280 & value_15X))>>8)));
                  *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((255 & value_15X));
                  *TT0 = 1;
                  *TT1 = 0;
                  *TT2 = 4;
                  return 1;}}
              else {
                *TT0 = 0;
                *TT1 = 0;
                *TT2 = 0;
                return 0;}}}}}}}}
}
static char decode_scalar_value(long encoding_22X, char * buffer_23X, long count_24X, char *TT0, char *TT1, long *TT2, long *TT3)
{
  long arg0K3;
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long v_38X;
  long scalar_value_37X;
  long state_36X;
  long c_35X;
  long scalar_value_34X;
  long mask_33X;
  long state_32X;
  long q_31X;
  long code_point_30X;
  long code_point_29X;
  long word1_28X;
  long word0_27X;
  long word1_26X;
  long word0_25X;
 {  if ((0 == encoding_22X)) {
    *TT0 = 1;
    *TT1 = 0;
    *TT2 = (*((unsigned char *) buffer_23X));
    *TT3 = 1;
    return 1;}
  else {
    if ((1 == encoding_22X)) {
      *TT0 = 1;
      *TT1 = 0;
      *TT2 = (*((unsigned char *) buffer_23X));
      *TT3 = 1;
      return 1;}
    else {
      if ((2 == encoding_22X)) {
        arg0K0 = 0;
        arg0K1 = 0;
        arg0K2 = 0;
        arg0K3 = 0;
        goto L7201;}
      else {
        if ((3 == encoding_22X)) {
          if ((count_24X < 2)) {
            *TT0 = 1;
            *TT1 = 1;
            *TT2 = 0;
            *TT3 = 2;
            return 1;}
          else {
            word0_25X = (*((unsigned char *) buffer_23X)) + ((((*((unsigned char *) (buffer_23X + 1))))<<8));
            if ((word0_25X < 55296)) {
              *TT0 = 1;
              *TT1 = 0;
              *TT2 = word0_25X;
              *TT3 = 2;
              return 1;}
            else {
              if ((57343 < word0_25X)) {
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = word0_25X;
                *TT3 = 2;
                return 1;}
              else {
                if ((count_24X < 4)) {
                  *TT0 = 1;
                  *TT1 = 1;
                  *TT2 = 0;
                  *TT3 = 4;
                  return 1;}
                else {
                  if ((56319 < word0_25X)) {
                    *TT0 = 0;
                    *TT1 = 0;
                    *TT2 = 0;
                    *TT3 = 0;
                    return 1;}
                  else {
                    word1_26X = (*((unsigned char *) (buffer_23X + 2))) + ((((*((unsigned char *) (buffer_23X + 3))))<<8));
                    if ((word1_26X < 56320)) {
                      *TT0 = 0;
                      *TT1 = 0;
                      *TT2 = 0;
                      *TT3 = 0;
                      return 1;}
                    else {
                      if ((57343 < word1_26X)) {
                        *TT0 = 0;
                        *TT1 = 0;
                        *TT2 = 0;
                        *TT3 = 0;
                        return 1;}
                      else {
                        *TT0 = 1;
                        *TT1 = 0;
                        *TT2 = ((-56557568 + (((word0_25X)<<10))) + (1023 & word1_26X));
                        *TT3 = 4;
                        return 1;}}}}}}}}
        else {
          if ((4 == encoding_22X)) {
            if ((count_24X < 2)) {
              *TT0 = 1;
              *TT1 = 1;
              *TT2 = 0;
              *TT3 = 2;
              return 1;}
            else {
              word0_27X = ((((*((unsigned char *) buffer_23X)))<<8)) + (*((unsigned char *) (buffer_23X + 1)));
              if ((word0_27X < 55296)) {
                *TT0 = 1;
                *TT1 = 0;
                *TT2 = word0_27X;
                *TT3 = 2;
                return 1;}
              else {
                if ((57343 < word0_27X)) {
                  *TT0 = 1;
                  *TT1 = 0;
                  *TT2 = word0_27X;
                  *TT3 = 2;
                  return 1;}
                else {
                  if ((count_24X < 4)) {
                    *TT0 = 1;
                    *TT1 = 1;
                    *TT2 = 0;
                    *TT3 = 4;
                    return 1;}
                  else {
                    if ((56319 < word0_27X)) {
                      *TT0 = 0;
                      *TT1 = 0;
                      *TT2 = 0;
                      *TT3 = 0;
                      return 1;}
                    else {
                      word1_28X = ((((*((unsigned char *) (buffer_23X + 2))))<<8)) + (*((unsigned char *) (buffer_23X + 3)));
                      if ((word1_28X < 56320)) {
                        *TT0 = 0;
                        *TT1 = 0;
                        *TT2 = 0;
                        *TT3 = 0;
                        return 1;}
                      else {
                        if ((57343 < word1_28X)) {
                          *TT0 = 0;
                          *TT1 = 0;
                          *TT2 = 0;
                          *TT3 = 0;
                          return 1;}
                        else {
                          *TT0 = 1;
                          *TT1 = 0;
                          *TT2 = ((-56557568 + (((word0_27X)<<10))) + (1023 & word1_28X));
                          *TT3 = 4;
                          return 1;}}}}}}}}
          else {
            if ((5 == encoding_22X)) {
              if ((count_24X < 4)) {
                *TT0 = 1;
                *TT1 = 1;
                *TT2 = 0;
                *TT3 = 4;
                return 1;}
              else {
                code_point_29X = (((*((unsigned char *) buffer_23X)) + ((((*((unsigned char *) (buffer_23X + 1))))<<8))) + ((((*((unsigned char *) (buffer_23X + 2))))<<16))) + ((((*((unsigned char *) (buffer_23X + 3))))<<24));
                if ((code_point_29X < 0)) {
                  *TT0 = 0;
                  *TT1 = 0;
                  *TT2 = 0;
                  *TT3 = 0;
                  return 1;}
                else {
                  if ((55295 < code_point_29X)) {
                    if ((code_point_29X < 57344)) {
                      *TT0 = 0;
                      *TT1 = 0;
                      *TT2 = 0;
                      *TT3 = 0;
                      return 1;}
                    else {
                      if ((1114111 < code_point_29X)) {
                        *TT0 = 0;
                        *TT1 = 0;
                        *TT2 = 0;
                        *TT3 = 0;
                        return 1;}
                      else {
                        *TT0 = 1;
                        *TT1 = 0;
                        *TT2 = code_point_29X;
                        *TT3 = 4;
                        return 1;}}}
                  else {
                    *TT0 = 1;
                    *TT1 = 0;
                    *TT2 = code_point_29X;
                    *TT3 = 4;
                    return 1;}}}}
            else {
              if ((6 == encoding_22X)) {
                if ((count_24X < 4)) {
                  *TT0 = 1;
                  *TT1 = 1;
                  *TT2 = 0;
                  *TT3 = 4;
                  return 1;}
                else {
                  code_point_30X = ((((((*((unsigned char *) buffer_23X)))<<24)) + ((((*((unsigned char *) (buffer_23X + 1))))<<16))) + ((((*((unsigned char *) (buffer_23X + 2))))<<8))) + (*((unsigned char *) (buffer_23X + 3)));
                  if ((code_point_30X < 0)) {
                    *TT0 = 0;
                    *TT1 = 0;
                    *TT2 = 0;
                    *TT3 = 0;
                    return 1;}
                  else {
                    if ((55295 < code_point_30X)) {
                      if ((code_point_30X < 57344)) {
                        *TT0 = 0;
                        *TT1 = 0;
                        *TT2 = 0;
                        *TT3 = 0;
                        return 1;}
                      else {
                        if ((1114111 < code_point_30X)) {
                          *TT0 = 0;
                          *TT1 = 0;
                          *TT2 = 0;
                          *TT3 = 0;
                          return 1;}
                        else {
                          *TT0 = 1;
                          *TT1 = 0;
                          *TT2 = code_point_30X;
                          *TT3 = 4;
                          return 1;}}}
                    else {
                      *TT0 = 1;
                      *TT1 = 0;
                      *TT2 = code_point_30X;
                      *TT3 = 4;
                      return 1;}}}}
              else {
                *TT0 = 0;
                *TT1 = 0;
                *TT2 = 0;
                *TT3 = 0;
                return 0;}}}}}}}}
 L7201: {
  q_31X = arg0K0;
  state_32X = arg0K1;
  mask_33X = arg0K2;
  scalar_value_34X = arg0K3;
  if ((q_31X < count_24X)) {
    c_35X = *((unsigned char *) (buffer_23X + q_31X));
    state_36X = *(Sutf_8_state_tableS + ((((state_32X)<<5)) + (((c_35X)>>3))));
    if ((state_36X == 0)) {
      scalar_value_37X = scalar_value_34X + (127 & c_35X);
      if ((scalar_value_37X < 0)) {
        *TT0 = 0;
        *TT1 = 0;
        *TT2 = 0;
        *TT3 = 0;
        return 1;}
      else {
        if ((55295 < scalar_value_37X)) {
          if ((scalar_value_37X < 57344)) {
            *TT0 = 0;
            *TT1 = 0;
            *TT2 = 0;
            *TT3 = 0;
            return 1;}
          else {
            if ((1114111 < scalar_value_37X)) {
              *TT0 = 0;
              *TT1 = 0;
              *TT2 = 0;
              *TT3 = 0;
              return 1;}
            else {
              goto L7216;}}}
        else {
          goto L7216;}}}
    else {
      if ((state_36X == 1)) {
        goto L7227;}
      else {
        if ((state_36X == 2)) {
          goto L7227;}
        else {
          if ((state_36X == 3)) {
            goto L7227;}
          else {
            if ((state_36X == -2)) {
              *TT0 = 0;
              *TT1 = 0;
              *TT2 = 0;
              *TT3 = 0;
              return 1;}
            else {
              if ((state_36X == -1)) {
                *TT0 = 0;
                *TT1 = 0;
                *TT2 = 0;
                *TT3 = 0;
                return 1;}
              else {
                *TT0 = 0;
                *TT1 = 0;
                *TT2 = 0;
                *TT3 = 0;
                return 1;}}}}}}}
  else {
    *TT0 = 1;
    *TT1 = 1;
    *TT2 = 0;
    *TT3 = (1 + q_31X);
    return 1;}}
 L7216: {
  *TT0 = 1;
  *TT1 = 0;
  *TT2 = scalar_value_37X;
  *TT3 = (1 + q_31X);
  return 1;}
 L7227: {
  if ((0 == mask_33X)) {
    arg0K0 = (*(Sutf_8_masksS + state_36X));
    goto L7233;}
  else {
    arg0K0 = mask_33X;
    goto L7233;}}
 L7233: {
  v_38X = arg0K0;
  arg0K0 = (1 + q_31X);
  arg0K1 = state_36X;
  arg0K2 = 63;
  arg0K3 = ((((scalar_value_34X + (c_35X & v_38X)))<<6));
  goto L7201;}
}
static char integerLE(long x_39X, long y_40X)
{
  long v_43X;
  long v_42X;
  long v_41X;
 {  if ((0 == (3 & y_40X))) {
    if ((0 == (3 & x_39X))) {
      if ((y_40X < x_39X)) {
        return 0;}
      else {
        return 1;}}
    else {
      v_41X = s48_bignum_test((((char *) (-3 + x_39X))));
      if ((1 == v_41X)) {
        return 0;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & x_39X))) {
      v_42X = s48_bignum_test((((char *) (-3 + y_40X))));
      if ((1 == v_42X)) {
        return 1;}
      else {
        return 0;}}
    else {
      v_43X = s48_bignum_compare((((char *) (-3 + y_40X))), (((char *) (-3 + x_39X))));
      if ((-1 == v_43X)) {
        return 0;}
      else {
        return 1;}}}}
}
static char integerGE(long x_44X, long y_45X)
{
  long v_48X;
  long v_47X;
  long v_46X;
 {  if ((0 == (3 & x_44X))) {
    if ((0 == (3 & y_45X))) {
      if ((x_44X < y_45X)) {
        return 0;}
      else {
        return 1;}}
    else {
      v_46X = s48_bignum_test((((char *) (-3 + y_45X))));
      if ((1 == v_46X)) {
        return 0;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & y_45X))) {
      v_47X = s48_bignum_test((((char *) (-3 + x_44X))));
      if ((1 == v_47X)) {
        return 1;}
      else {
        return 0;}}
    else {
      v_48X = s48_bignum_compare((((char *) (-3 + x_44X))), (((char *) (-3 + y_45X))));
      if ((-1 == v_48X)) {
        return 0;}
      else {
        return 1;}}}}
}
static char shared_binding_undefinedP(long binding_49X)
{

 {  return (17 == (255 & (*((long *) ((((char *) (-3 + binding_49X))) + 8)))));}
}
static void enqueue_channelB(long index_50X, long status_51X, long errorP_52X)
{
  char * addr_58X;
  long x_57X;
  char * addr_56X;
  char * addr_55X;
  long val_54X;
  long channel_53X;
 {  channel_53X = *((Svm_channelsS) + index_50X);
  val_54X = ((status_51X)<<2);
  addr_55X = (((char *) (-3 + channel_53X))) + 20;S48_WRITE_BARRIER(channel_53X, addr_55X, val_54X);
  *((long *) addr_55X) = (long) (val_54X);
  addr_56X = (((char *) (-3 + channel_53X))) + 24;S48_WRITE_BARRIER(channel_53X, addr_56X, errorP_52X);
  *((long *) addr_56X) = (long) (errorP_52X);
  if ((1 == (*((long *) ((((char *) (-3 + channel_53X))) + 16))))) {
    if ((channel_53X == (Spending_channels_headS))) {
      return;}
    else {
      if ((channel_53X == (Spending_channels_tailS))) {
        return;}
      else {
        if ((1 == (Spending_channels_headS))) {
          Spending_channels_headS = channel_53X;
          Spending_channels_tailS = channel_53X;
          return;}
        else {
          x_57X = Spending_channels_tailS;
          addr_58X = (((char *) (-3 + x_57X))) + 16;S48_WRITE_BARRIER(x_57X, addr_58X, channel_53X);
          *((long *) addr_58X) = (long) (channel_53X);
          Spending_channels_tailS = channel_53X;
          return;}}}}
  else {
    return;}}
}
static void decode_utf_8B(char * p_59X, long s_60X, long size_61X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long shifted_77X;
  long j_76X;
  long bits_75X;
  long shifted_74X;
  long j_73X;
  long bits_72X;
  long shifted_71X;
  long j_70X;
  long bits_69X;
  long count_68X;
  long value_67X;
  char incompleteP_66X;
  char v_65X;
  char encoding_okP_64X;
  long target_index_63X;
  long index_62X;
 {  arg0K0 = 0;
  arg0K1 = 0;
  goto L13943;}
 L13943: {
  index_62X = arg0K0;
  target_index_63X = arg0K1;
  if ((index_62X < size_61X)) {
    encoding_okP_64X = decode_scalar_value(2, (p_59X + index_62X), (size_61X - index_62X), &v_65X, &incompleteP_66X, &value_67X, &count_68X);
    if (encoding_okP_64X) {
      if (incompleteP_66X) {
        arg0K0 = 0;
        arg0K1 = 0;
        arg0K2 = 63;
        goto L14016;}
      else {
        arg0K0 = 0;
        arg0K1 = 0;
        arg0K2 = value_67X;
        goto L14033;}}
    else {
      arg0K0 = 0;
      arg0K1 = 0;
      arg0K2 = 63;
      goto L13999;}}
  else {
    return;}}
 L14016: {
  bits_69X = arg0K0;
  j_70X = arg0K1;
  shifted_71X = arg0K2;
  if ((j_70X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_70X))) = (unsigned char) ((255 & shifted_71X));
    arg0K0 = (8 + bits_69X);
    arg0K1 = (1 + j_70X);
    arg0K2 = ((long)(((unsigned long)shifted_71X)>>8));
    goto L14016;}
  else {
    return;}}
 L14033: {
  bits_72X = arg0K0;
  j_73X = arg0K1;
  shifted_74X = arg0K2;
  if ((j_73X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_73X))) = (unsigned char) ((255 & shifted_74X));
    arg0K0 = (8 + bits_72X);
    arg0K1 = (1 + j_73X);
    arg0K2 = ((long)(((unsigned long)shifted_74X)>>8));
    goto L14033;}
  else {
    arg0K0 = (index_62X + count_68X);
    arg0K1 = (1 + target_index_63X);
    goto L13943;}}
 L13999: {
  bits_75X = arg0K0;
  j_76X = arg0K1;
  shifted_77X = arg0K2;
  if ((j_76X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_76X))) = (unsigned char) ((255 & shifted_77X));
    arg0K0 = (8 + bits_75X);
    arg0K1 = (1 + j_76X);
    arg0K2 = ((long)(((unsigned long)shifted_77X)>>8));
    goto L13999;}
  else {
    arg0K0 = (1 + index_62X);
    arg0K1 = (1 + target_index_63X);
    goto L13943;}}
}
static void copy_vm_string_to_stringUlatin_1B(long vm_string_78X, long start_79X, long count_80X, char *string_81X)
{
  char arg1K0;
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char v_87X;
  long x_86X;
  long scalar_value_85X;
  long j_84X;
  long bits_83X;
  long i_82X;
 {  arg0K0 = 0;
  goto L14176;}
 L14176: {
  i_82X = arg0K0;
  if ((i_82X < count_80X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L14218;}
  else {
    return;}}
 L14218: {
  bits_83X = arg0K0;
  j_84X = arg0K1;
  scalar_value_85X = arg0K2;
  if ((j_84X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_78X))) + ((((i_82X)<<2)) + j_84X)))), bits_83X, x_86X)
    arg0K0 = (8 + bits_83X);
    arg0K1 = (1 + j_84X);
    arg0K2 = (x_86X + scalar_value_85X);
    goto L14218;}
  else {
    if ((255 < scalar_value_85X)) {
      arg1K0 = 63;
      goto L14194;}
    else {
      arg1K0 = (((char) scalar_value_85X));
      goto L14194;}}}
 L14194: {
  v_87X = arg1K0;
  *(string_81X + (i_82X + start_79X)) = v_87X;
  arg0K0 = (1 + i_82X);
  goto L14176;}
}
static long close_channelB(long channel_88X)
{
  long arg0K0;
  char * addr_96X;
  long status_95X;
  long v_94X;
  long v_93X;
  long v_92X;
  long v_91X;
  long x_90X;
  long os_index_89X;
 {  os_index_89X = (((*((long *) ((((char *) (-3 + channel_88X))) + 8))))>>2);
  x_90X = *((long *) ((((char *) (-3 + channel_88X))) + 20));
  if ((5 == x_90X)) {
    v_91X = ps_abort_fd_op(os_index_89X);enqueue_channelB(os_index_89X, v_91X, 1);
    goto L14689;}
  else {
    goto L14689;}}
 L14689: {
  v_92X = *((long *) (((char *) (-3 + channel_88X))));
  if ((4 == v_92X)) {
    goto L14704;}
  else {
    if ((12 == (*((long *) (((char *) (-3 + channel_88X))))))) {
      goto L14704;}
    else {
      v_93X = ps_close_fd(os_index_89X);
      arg0K0 = v_93X;
      goto L14711;}}}
 L14704: {
  v_94X = ps_close_fd(os_index_89X);
  arg0K0 = v_94X;
  goto L14711;}
 L14711: {
  status_95X = arg0K0;
  *((Svm_channelsS) + os_index_89X) = 1;
  addr_96X = ((char *) (-3 + channel_88X));S48_WRITE_BARRIER(channel_88X, addr_96X, 0);
  *((long *) addr_96X) = (long) (0);
  return status_95X;}
}
static long make_blank_return_code(long protocol_97X, long template_98X, long frame_size_99X, long opcode_count_100X, long key_101X)
{
  long code_104X;
  char * addr_103X;
  long length_102X;
 {  length_102X = 15 + opcode_count_100X;
  addr_103X = s48_allocate_small((4 + length_102X));
  *((long *) addr_103X) = (long) ((70 + (((length_102X)<<8))));
  code_104X = 3 + (((long) (addr_103X + 4)));
  *((unsigned char *) (((char *) (-3 + code_104X)))) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 1)) = (unsigned char) (protocol_97X);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 2)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 3)) = (unsigned char) (31);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 4)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 5)) = (unsigned char) (8);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 6)) = (unsigned char) ((255 & (((template_98X)>>8))));
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 7)) = (unsigned char) ((255 & template_98X));
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 8)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 9)) = (unsigned char) (13);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 10)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 11)) = (unsigned char) ((255 & (((frame_size_99X)>>8))));
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 12)) = (unsigned char) ((255 & frame_size_99X));
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 13)) = (unsigned char) (0);
  *((unsigned char *) ((((char *) (-3 + code_104X))) + 14)) = (unsigned char) (protocol_97X);
  return code_104X;}
}
static long enter_stringAgc_n(char *string_105X, long len_106X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long shifted_115X;
  long j_114X;
  long bits_113X;
  long c_112X;
  long i_111X;
  long s_110X;
  long string_109X;
  char * addr_108X;
  long len_107X;
 {  len_107X = ((len_106X)<<2);
  addr_108X = s48_allocate_untracedAgc((4 + len_107X));
  if ((addr_108X == NULL)) {
    arg0K0 = 1;
    goto L16736;}
  else {
    *((long *) addr_108X) = (long) ((66 + (((len_107X)<<8))));
    arg0K0 = (3 + (((long) (addr_108X + 4))));
    goto L16736;}}
 L16736: {
  string_109X = arg0K0;
  if ((1 == string_109X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = string_109X;
    goto L16727;}
  else {
    arg0K0 = string_109X;
    goto L16727;}}
 L16727: {
  s_110X = arg0K0;
  arg0K0 = 0;
  goto L16759;}
 L16759: {
  i_111X = arg0K0;
  if ((i_111X < len_106X)) {
    c_112X = ((unsigned char) (*(string_105X + i_111X)));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = c_112X;
    goto L16770;}
  else {
    return s_110X;}}
 L16770: {
  bits_113X = arg0K0;
  j_114X = arg0K1;
  shifted_115X = arg0K2;
  if ((j_114X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_110X))) + ((((i_111X)<<2)) + j_114X))) = (unsigned char) ((255 & shifted_115X));
    arg0K0 = (8 + bits_113X);
    arg0K1 = (1 + j_114X);
    arg0K2 = ((long)(((unsigned long)shifted_115X)>>8));
    goto L16770;}
  else {
    arg0K0 = (1 + i_111X);
    goto L16759;}}
}
static long add_log_entryAgc(long proposal_index_116X, long i_117X, long stob_118X, long index_119X, long value_120X, char verifyP_121X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char * addr_146X;
  long value_145X;
  long v_144X;
  long value_143X;
  char * addr_142X;
  long i_141X;
  long stob_140X;
  long proposal_139X;
  long new_138X;
  char * addr_137X;
  char * addr_136X;
  long value_135X;
  long vector_134X;
  char * addr_133X;
  char * addr_132X;
  char * addr_131X;
  long log_130X;
  long value_129X;
  long stob_128X;
  long proposal_127X;
  char * addr_126X;
  long len_125X;
  long new_size_124X;
  long log_size_123X;
  long proposal_122X;
 {  proposal_122X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  log_size_123X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + proposal_122X))) + (((proposal_index_116X)<<2)))))))) + -4))))>>8))))>>2);
  if ((i_117X == (-1 + log_size_123X))) {
    Stemp0S = stob_118X;
    Stemp1S = value_120X;
    if ((1 == log_size_123X)) {
      arg0K0 = 17;
      goto L12839;}
    else {
      arg0K0 = (-1 + (((log_size_123X)<<1)));
      goto L12839;}}
  else {
    arg0K0 = proposal_122X;
    arg0K1 = stob_118X;
    arg0K2 = value_120X;
    goto L16994;}}
 L12839: {
  new_size_124X = arg0K0;
  len_125X = ((new_size_124X)<<2);
  addr_126X = s48_allocate_tracedAgc((4 + len_125X));
  if ((addr_126X == NULL)) {
    arg0K0 = 1;
    goto L12885;}
  else {
    *((long *) addr_126X) = (long) ((10 + (((len_125X)<<8))));
    arg0K0 = (3 + (((long) (addr_126X + 4))));
    goto L12885;}}
 L16994: {
  proposal_127X = arg0K0;
  stob_128X = arg0K1;
  value_129X = arg0K2;
  log_130X = *((long *) ((((char *) (-3 + proposal_127X))) + (((proposal_index_116X)<<2))));
  addr_131X = (((char *) (-3 + log_130X))) + (((i_117X)<<2));S48_WRITE_BARRIER(log_130X, addr_131X, stob_128X);
  *((long *) addr_131X) = (long) (stob_128X);
  addr_132X = (((char *) (-3 + log_130X))) + (4 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_132X, index_119X);
  *((long *) addr_132X) = (long) (index_119X);
  addr_133X = (((char *) (-3 + log_130X))) + (8 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_133X, value_129X);
  *((long *) addr_133X) = (long) (value_129X);
  if (verifyP_121X) {
    arg0K0 = value_129X;
    goto L17015;}
  else {
    arg0K0 = 29;
    goto L17015;}}
 L12885: {
  vector_134X = arg0K0;
  if ((1 == vector_134X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_134X;
    goto L12843;}
  else {
    arg0K0 = vector_134X;
    goto L12843;}}
 L17015: {
  value_135X = arg0K0;
  addr_136X = (((char *) (-3 + log_130X))) + (12 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_136X, value_135X);
  *((long *) addr_136X) = (long) (value_135X);
  addr_137X = (((char *) (-3 + log_130X))) + (16 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_137X, 1);
  *((long *) addr_137X) = (long) (1);
  return value_129X;}
 L12843: {
  new_138X = arg0K0;
  proposal_139X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 < log_size_123X)) {
    stob_140X = *((long *) ((((char *) (-3 + proposal_139X))) + 4));
    memmove((void *)(((char *) (-3 + new_138X))), (void *)(((char *) (-3 + stob_140X))),(-4 + (((log_size_123X)<<2))));
    goto L12863;}
  else {
    goto L12863;}}
 L12863: {
  arg0K0 = (4 + log_size_123X);
  goto L12867;}
 L12867: {
  i_141X = arg0K0;
  if ((i_141X == new_size_124X)) {
    addr_142X = (((char *) (-3 + proposal_139X))) + (((proposal_index_116X)<<2));S48_WRITE_BARRIER(proposal_139X, addr_142X, new_138X);
    *((long *) addr_142X) = (long) (new_138X);
    value_143X = Stemp0S;
    Stemp0S = 1;
    v_144X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
    value_145X = Stemp1S;
    Stemp1S = 1;
    arg0K0 = v_144X;
    arg0K1 = value_143X;
    arg0K2 = value_145X;
    goto L16994;}
  else {
    addr_146X = (((char *) (-3 + new_138X))) + (((i_141X)<<2));S48_WRITE_BARRIER(new_138X, addr_146X, 0);
    *((long *) addr_146X) = (long) (0);
    arg0K0 = (1 + i_141X);
    goto L12867;}}
}
static long enter_bignum(char * external_bignum_147X)
{
  long desc_148X;
 {  desc_148X = 3 + (((long) external_bignum_147X));
  if ((3 == (3 & desc_148X))) {
    if ((19 == (31 & ((((*((long *) ((((char *) (-3 + desc_148X))) + -4))))>>2))))) {
      goto L17745;}
    else {
      goto L17759;}}
  else {
    goto L17759;}}
 L17745: {
  if ((3 == (3 & desc_148X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + desc_148X))) + -4)))))) {
      *((long *) ((((char *) (-3 + desc_148X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + desc_148X))) + -4)))));
      return desc_148X;}
    else {
      return desc_148X;}}
  else {
    return desc_148X;}}
 L17759: {
  ps_error("not a bignum", 1, desc_148X);
  goto L17745;}
}
static char integerE(long x_149X, long y_150X)
{

 {  if ((0 == (3 & (x_149X | y_150X)))) {
    return (x_149X == y_150X);}
  else {
    if ((3 == (3 & x_149X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_149X))) + -4))))>>2))))) {
        if ((3 == (3 & y_150X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_150X))) + -4))))>>2))))) {
            return s48_bignum_equal_p((((char *) (-3 + x_149X))), (((char *) (-3 + y_150X))));}
          else {
            return 0;}}
        else {
          return 0;}}
      else {
        return 0;}}
    else {
      return 0;}}}
}
static long make_channel(long a_151X, long b_152X, long c_153X, long d_154X, long e_155X, long f_156X, long g_157X, long key_158X)
{
  long x_160X;
  char * addr_159X;
 {  addr_159X = s48_allocate_small(32);
  *((long *) addr_159X) = (long) (7194);
  x_160X = 3 + (((long) (addr_159X + 4)));
  *((long *) (((char *) (-3 + x_160X)))) = (long) (a_151X);
  *((long *) ((((char *) (-3 + x_160X))) + 4)) = (long) (b_152X);
  *((long *) ((((char *) (-3 + x_160X))) + 8)) = (long) (c_153X);
  *((long *) ((((char *) (-3 + x_160X))) + 12)) = (long) (d_154X);
  *((long *) ((((char *) (-3 + x_160X))) + 16)) = (long) (e_155X);
  *((long *) ((((char *) (-3 + x_160X))) + 20)) = (long) (f_156X);
  *((long *) ((((char *) (-3 + x_160X))) + 24)) = (long) (g_157X);
  return x_160X;}
}
static long write_vm_string(long vm_string_161X, FILE * out_162X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long x_169X;
  long scalar_value_168X;
  long j_167X;
  long bits_166X;
  long i_165X;
  long size_164X;
  long v_163X;
 {  v_163X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_161X))) + -4))))>>8)) / 4;
  arg0K0 = v_163X;
  arg0K1 = 0;
  goto L19934;}
 L19934: {
  size_164X = arg0K0;
  i_165X = arg0K1;
  if ((i_165X < size_164X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L19967;}
  else {
    return 0;}}
 L19967: {
  bits_166X = arg0K0;
  j_167X = arg0K1;
  scalar_value_168X = arg0K2;
  if ((j_167X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_161X))) + ((((i_165X)<<2)) + j_167X)))), bits_166X, x_169X)
    arg0K0 = (8 + bits_166X);
    arg0K1 = (1 + j_167X);
    arg0K2 = (x_169X + scalar_value_168X);
    goto L19967;}
  else {
    { long ignoreXX;
    PS_WRITE_CHAR((((char) scalar_value_168X)), out_162X, ignoreXX) }
    arg0K0 = size_164X;
    arg0K1 = (1 + i_165X);
    goto L19934;}}
}
static long Haction4940(long s_170X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long x_177X;
  long scalar_value_176X;
  long j_175X;
  long bits_174X;
  long h_173X;
  long i_172X;
  long n_171X;
 {  n_171X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_170X))) + -4))))>>8)) / 4;
  arg0K0 = 0;
  arg0K1 = 0;
  goto L20065;}
 L20065: {
  i_172X = arg0K0;
  h_173X = arg0K1;
  if ((i_172X < n_171X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L20094;}
  else {
    return h_173X;}}
 L20094: {
  bits_174X = arg0K0;
  j_175X = arg0K1;
  scalar_value_176X = arg0K2;
  if ((j_175X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + s_170X))) + ((((i_172X)<<2)) + j_175X)))), bits_174X, x_177X)
    arg0K0 = (8 + bits_174X);
    arg0K1 = (1 + j_175X);
    arg0K2 = (x_177X + scalar_value_176X);
    goto L20094;}
  else {
    arg0K0 = (1 + i_172X);
    arg0K1 = (h_173X + scalar_value_176X);
    goto L20065;}}
}
static long current_code_vector(void)
{
  long arg0K0;
  long x_190X;
  long v_189X;
  long x_188X;
  long header_187X;
  char * start_186X;
  char * code_pointer_185X;
  long code_184X;
  char * pointer_183X;
  char * code_pointer_182X;
  long header_181X;
  char * start_180X;
  long code_179X;
  char * code_pointer_178X;
 {  code_pointer_178X = Scode_pointerS;
  code_179X = Slast_code_calledS;
  start_180X = ((char *) (-3 + code_179X));
  if ((code_pointer_178X < start_180X)) {
    goto L20643;}
  else {
    header_181X = *((long *) ((((char *) (-3 + code_179X))) + -4));
    if ((3 == (3 & header_181X))) {
      arg0K0 = header_181X;
      goto L20664;}
    else {
      arg0K0 = code_179X;
      goto L20664;}}}
 L20643: {
  code_pointer_182X = Slast_code_pointer_resumedS;
  pointer_183X = code_pointer_182X + -5;
  code_184X = 3 + (((long) (code_pointer_182X + (0 - (((((*((unsigned char *) pointer_183X)))<<8)) + (*((unsigned char *) (pointer_183X + 1))))))));
  code_pointer_185X = Scode_pointerS;
  start_186X = ((char *) (-3 + code_184X));
  if ((code_pointer_185X < start_186X)) {
    goto L20651;}
  else {
    header_187X = *((long *) ((((char *) (-3 + code_184X))) + -4));
    if ((3 == (3 & header_187X))) {
      arg0K0 = header_187X;
      goto L20685;}
    else {
      arg0K0 = code_184X;
      goto L20685;}}}
 L20664: {
  x_188X = arg0K0;
  if ((code_pointer_178X < (start_180X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_188X))) + -4))))>>8))))) {
    return (Slast_code_calledS);}
  else {
    goto L20643;}}
 L20651: {
  ps_error("VM error: unable to locate current code vector", 3, (((long) (Scode_pointerS))), (Slast_code_calledS), (((long) (Slast_code_pointer_resumedS))));
  return v_189X;}
 L20685: {
  x_190X = arg0K0;
  if ((code_pointer_185X < (start_186X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_190X))) + -4))))>>8))))) {
    return code_184X;}
  else {
    goto L20651;}}
}
static void channel_close_error(long status_191X, long index_192X, long id_193X)
{

 {  ps_write_string("Error: ", (stderr));
  ps_write_string((ps_error_string(status_191X)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  ps_write_string(" while closing port ", (stderr));
  if ((3 == (3 & id_193X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + id_193X))) + -4))))>>2))))) {
      ps_write_string((((char *)(((char *) (-3 + id_193X))))), (stderr));
      goto L21085;}
    else {
      goto L21073;}}
  else {
    goto L21073;}}
 L21085: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  return;}
 L21073: {
  if ((0 == (3 & id_193X))) {
    ps_write_integer((((index_192X)>>2)), (stderr));
    goto L21085;}
  else {
    ps_write_string("<strange id>", (stderr));
    goto L21085;}}
}
static long integer_bit_count(long x_194X)
{
  long arg0K1;
  long arg0K0;
  char * arg2K0;
  long n_201X;
  char * v_200X;
  char * v_199X;
  long value_198X;
  long v_197X;
  long extra_196X;
  long length_195X;
 {  if ((0 == (3 & x_194X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L23178;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_194X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L23178;}}
 L23178: {
  length_195X = arg0K0;
  extra_196X = arg0K1;
  if ((length_195X < 1)) {
    arg0K0 = 1;
    goto L23180;}
  else {
    arg0K0 = length_195X;
    goto L23180;}}
 L23180: {
  v_197X = arg0K0;
  Stemp0S = x_194X;s48_make_availableAgc((((((1 + ((((11 + (((v_197X)<<2))))>>2))) + extra_196X))<<2)));
  value_198X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_198X))) {
    v_199X = (char *) s48_long_to_bignum((((value_198X)>>2)));
    arg2K0 = v_199X;
    goto L23170;}
  else {
    arg2K0 = (((char *) (-3 + value_198X)));
    goto L23170;}}
 L23170: {
  v_200X = arg2K0;
  n_201X = s48_bignum_bit_count(v_200X);
  return (((n_201X)<<2));}
}
static long integer_add(long x_202X, long y_203X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_217X;
  char v_216X;
  char * external_bignum_215X;
  char * y_214X;
  char * v_213X;
  long value_212X;
  char * x_211X;
  char * v_210X;
  long value_209X;
  long v_208X;
  long extra1_207X;
  long length1_206X;
  long extra0_205X;
  long length0_204X;
 {  if ((0 == (3 & x_202X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20602;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_202X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20602;}}
 L20602: {
  length0_204X = arg0K0;
  extra0_205X = arg0K1;
  if ((0 == (3 & y_203X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20610;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_203X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20610;}}
 L20610: {
  length1_206X = arg0K0;
  extra1_207X = arg0K1;
  if ((length0_204X < length1_206X)) {
    arg0K0 = length1_206X;
    goto L20632;}
  else {
    arg0K0 = length0_204X;
    goto L20632;}}
 L20632: {
  v_208X = arg0K0;
  Stemp0S = x_202X;
  Stemp1S = y_203X;s48_make_availableAgc(((((((1 + ((((11 + (((v_208X)<<2))))>>2))) + extra0_205X) + extra1_207X))<<2)));
  value_209X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_209X))) {
    v_210X = (char *) s48_long_to_bignum((((value_209X)>>2)));
    arg2K0 = v_210X;
    goto L23295;}
  else {
    arg2K0 = (((char *) (-3 + value_209X)));
    goto L23295;}}
 L23295: {
  x_211X = arg2K0;
  value_212X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_212X))) {
    v_213X = (char *) s48_long_to_bignum((((value_212X)>>2)));
    arg2K0 = v_213X;
    goto L23299;}
  else {
    arg2K0 = (((char *) (-3 + value_212X)));
    goto L23299;}}
 L23299: {
  y_214X = arg2K0;
  external_bignum_215X = (char *)s48_bignum_add(x_211X, y_214X);
  v_216X = s48_bignum_fits_in_word_p(external_bignum_215X, 30, 1);
  if (v_216X) {
    n_217X = s48_bignum_to_long(external_bignum_215X);
    return (((n_217X)<<2));}
  else {
    return enter_bignum(external_bignum_215X);}}
}
static long integer_subtract(long x_218X, long y_219X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_233X;
  char v_232X;
  char * external_bignum_231X;
  char * y_230X;
  char * v_229X;
  long value_228X;
  char * x_227X;
  char * v_226X;
  long value_225X;
  long v_224X;
  long extra1_223X;
  long length1_222X;
  long extra0_221X;
  long length0_220X;
 {  if ((0 == (3 & x_218X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20559;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_218X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20559;}}
 L20559: {
  length0_220X = arg0K0;
  extra0_221X = arg0K1;
  if ((0 == (3 & y_219X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20567;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_219X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20567;}}
 L20567: {
  length1_222X = arg0K0;
  extra1_223X = arg0K1;
  if ((length0_220X < length1_222X)) {
    arg0K0 = length1_222X;
    goto L20589;}
  else {
    arg0K0 = length0_220X;
    goto L20589;}}
 L20589: {
  v_224X = arg0K0;
  Stemp0S = x_218X;
  Stemp1S = y_219X;s48_make_availableAgc(((((((1 + ((((11 + (((v_224X)<<2))))>>2))) + extra0_221X) + extra1_223X))<<2)));
  value_225X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_225X))) {
    v_226X = (char *) s48_long_to_bignum((((value_225X)>>2)));
    arg2K0 = v_226X;
    goto L23369;}
  else {
    arg2K0 = (((char *) (-3 + value_225X)));
    goto L23369;}}
 L23369: {
  x_227X = arg2K0;
  value_228X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_228X))) {
    v_229X = (char *) s48_long_to_bignum((((value_228X)>>2)));
    arg2K0 = v_229X;
    goto L23373;}
  else {
    arg2K0 = (((char *) (-3 + value_228X)));
    goto L23373;}}
 L23373: {
  y_230X = arg2K0;
  external_bignum_231X = (char *)s48_bignum_subtract(x_227X, y_230X);
  v_232X = s48_bignum_fits_in_word_p(external_bignum_231X, 30, 1);
  if (v_232X) {
    n_233X = s48_bignum_to_long(external_bignum_231X);
    return (((n_233X)<<2));}
  else {
    return enter_bignum(external_bignum_231X);}}
}
static long integer_multiply(long x_234X, long y_235X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_248X;
  char v_247X;
  char * external_bignum_246X;
  char * y_245X;
  char * v_244X;
  long value_243X;
  char * x_242X;
  char * v_241X;
  long value_240X;
  long extra1_239X;
  long length1_238X;
  long extra0_237X;
  long length0_236X;
 {  if ((0 == (3 & x_234X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20522;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_234X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20522;}}
 L20522: {
  length0_236X = arg0K0;
  extra0_237X = arg0K1;
  if ((0 == (3 & y_235X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20530;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_235X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20530;}}
 L20530: {
  length1_238X = arg0K0;
  extra1_239X = arg0K1;
  Stemp0S = x_234X;
  Stemp1S = y_235X;s48_make_availableAgc(((((((1 + ((((7 + ((((length0_236X + length1_238X))<<2))))>>2))) + extra0_237X) + extra1_239X))<<2)));
  value_240X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_240X))) {
    v_241X = (char *) s48_long_to_bignum((((value_240X)>>2)));
    arg2K0 = v_241X;
    goto L23443;}
  else {
    arg2K0 = (((char *) (-3 + value_240X)));
    goto L23443;}}
 L23443: {
  x_242X = arg2K0;
  value_243X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_243X))) {
    v_244X = (char *) s48_long_to_bignum((((value_243X)>>2)));
    arg2K0 = v_244X;
    goto L23447;}
  else {
    arg2K0 = (((char *) (-3 + value_243X)));
    goto L23447;}}
 L23447: {
  y_245X = arg2K0;
  external_bignum_246X = (char *)s48_bignum_multiply(x_242X, y_245X);
  v_247X = s48_bignum_fits_in_word_p(external_bignum_246X, 30, 1);
  if (v_247X) {
    n_248X = s48_bignum_to_long(external_bignum_246X);
    return (((n_248X)<<2));}
  else {
    return enter_bignum(external_bignum_246X);}}
}
static long integer_bitwise_not(long x_249X)
{
  long arg0K1;
  long arg0K0;
  char * arg2K0;
  long n_258X;
  char v_257X;
  char * external_bignum_256X;
  char * v_255X;
  char * v_254X;
  long value_253X;
  long v_252X;
  long extra_251X;
  long length_250X;
 {  if ((0 == (3 & x_249X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L23816;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_249X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L23816;}}
 L23816: {
  length_250X = arg0K0;
  extra_251X = arg0K1;
  if ((length_250X < 1)) {
    arg0K0 = 1;
    goto L23818;}
  else {
    arg0K0 = length_250X;
    goto L23818;}}
 L23818: {
  v_252X = arg0K0;
  Stemp0S = x_249X;s48_make_availableAgc((((((1 + ((((11 + (((v_252X)<<2))))>>2))) + extra_251X))<<2)));
  value_253X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_253X))) {
    v_254X = (char *) s48_long_to_bignum((((value_253X)>>2)));
    arg2K0 = v_254X;
    goto L23808;}
  else {
    arg2K0 = (((char *) (-3 + value_253X)));
    goto L23808;}}
 L23808: {
  v_255X = arg2K0;
  external_bignum_256X = (char *) s48_bignum_bitwise_not(v_255X);
  v_257X = s48_bignum_fits_in_word_p(external_bignum_256X, 30, 1);
  if (v_257X) {
    n_258X = s48_bignum_to_long(external_bignum_256X);
    return (((n_258X)<<2));}
  else {
    return enter_bignum(external_bignum_256X);}}
}
static long integer_bitwise_and(long x_259X, long y_260X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_274X;
  char v_273X;
  char * external_bignum_272X;
  char * y_271X;
  char * v_270X;
  long value_269X;
  char * x_268X;
  char * v_267X;
  long value_266X;
  long v_265X;
  long extra1_264X;
  long length1_263X;
  long extra0_262X;
  long length0_261X;
 {  if ((0 == (3 & x_259X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20341;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_259X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20341;}}
 L20341: {
  length0_261X = arg0K0;
  extra0_262X = arg0K1;
  if ((0 == (3 & y_260X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20349;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_260X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20349;}}
 L20349: {
  length1_263X = arg0K0;
  extra1_264X = arg0K1;
  if ((length0_261X < length1_263X)) {
    arg0K0 = length1_263X;
    goto L20371;}
  else {
    arg0K0 = length0_261X;
    goto L20371;}}
 L20371: {
  v_265X = arg0K0;
  Stemp0S = x_259X;
  Stemp1S = y_260X;s48_make_availableAgc(((((((1 + ((((11 + (((v_265X)<<2))))>>2))) + extra0_262X) + extra1_264X))<<2)));
  value_266X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_266X))) {
    v_267X = (char *) s48_long_to_bignum((((value_266X)>>2)));
    arg2K0 = v_267X;
    goto L23875;}
  else {
    arg2K0 = (((char *) (-3 + value_266X)));
    goto L23875;}}
 L23875: {
  x_268X = arg2K0;
  value_269X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_269X))) {
    v_270X = (char *) s48_long_to_bignum((((value_269X)>>2)));
    arg2K0 = v_270X;
    goto L23879;}
  else {
    arg2K0 = (((char *) (-3 + value_269X)));
    goto L23879;}}
 L23879: {
  y_271X = arg2K0;
  external_bignum_272X = (char *) s48_bignum_bitwise_and(x_268X, y_271X);
  v_273X = s48_bignum_fits_in_word_p(external_bignum_272X, 30, 1);
  if (v_273X) {
    n_274X = s48_bignum_to_long(external_bignum_272X);
    return (((n_274X)<<2));}
  else {
    return enter_bignum(external_bignum_272X);}}
}
static long integer_bitwise_ior(long x_275X, long y_276X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_290X;
  char v_289X;
  char * external_bignum_288X;
  char * y_287X;
  char * v_286X;
  long value_285X;
  char * x_284X;
  char * v_283X;
  long value_282X;
  long v_281X;
  long extra1_280X;
  long length1_279X;
  long extra0_278X;
  long length0_277X;
 {  if ((0 == (3 & x_275X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20298;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_275X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20298;}}
 L20298: {
  length0_277X = arg0K0;
  extra0_278X = arg0K1;
  if ((0 == (3 & y_276X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20306;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_276X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20306;}}
 L20306: {
  length1_279X = arg0K0;
  extra1_280X = arg0K1;
  if ((length0_277X < length1_279X)) {
    arg0K0 = length1_279X;
    goto L20328;}
  else {
    arg0K0 = length0_277X;
    goto L20328;}}
 L20328: {
  v_281X = arg0K0;
  Stemp0S = x_275X;
  Stemp1S = y_276X;s48_make_availableAgc(((((((1 + ((((11 + (((v_281X)<<2))))>>2))) + extra0_278X) + extra1_280X))<<2)));
  value_282X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_282X))) {
    v_283X = (char *) s48_long_to_bignum((((value_282X)>>2)));
    arg2K0 = v_283X;
    goto L23949;}
  else {
    arg2K0 = (((char *) (-3 + value_282X)));
    goto L23949;}}
 L23949: {
  x_284X = arg2K0;
  value_285X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_285X))) {
    v_286X = (char *) s48_long_to_bignum((((value_285X)>>2)));
    arg2K0 = v_286X;
    goto L23953;}
  else {
    arg2K0 = (((char *) (-3 + value_285X)));
    goto L23953;}}
 L23953: {
  y_287X = arg2K0;
  external_bignum_288X = (char *) s48_bignum_bitwise_ior(x_284X, y_287X);
  v_289X = s48_bignum_fits_in_word_p(external_bignum_288X, 30, 1);
  if (v_289X) {
    n_290X = s48_bignum_to_long(external_bignum_288X);
    return (((n_290X)<<2));}
  else {
    return enter_bignum(external_bignum_288X);}}
}
static long integer_bitwise_xor(long x_291X, long y_292X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long n_306X;
  char v_305X;
  char * external_bignum_304X;
  char * y_303X;
  char * v_302X;
  long value_301X;
  char * x_300X;
  char * v_299X;
  long value_298X;
  long v_297X;
  long extra1_296X;
  long length1_295X;
  long extra0_294X;
  long length0_293X;
 {  if ((0 == (3 & x_291X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20255;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_291X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20255;}}
 L20255: {
  length0_293X = arg0K0;
  extra0_294X = arg0K1;
  if ((0 == (3 & y_292X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20263;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_292X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20263;}}
 L20263: {
  length1_295X = arg0K0;
  extra1_296X = arg0K1;
  if ((length0_293X < length1_295X)) {
    arg0K0 = length1_295X;
    goto L20285;}
  else {
    arg0K0 = length0_293X;
    goto L20285;}}
 L20285: {
  v_297X = arg0K0;
  Stemp0S = x_291X;
  Stemp1S = y_292X;s48_make_availableAgc(((((((1 + ((((11 + (((v_297X)<<2))))>>2))) + extra0_294X) + extra1_296X))<<2)));
  value_298X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_298X))) {
    v_299X = (char *) s48_long_to_bignum((((value_298X)>>2)));
    arg2K0 = v_299X;
    goto L24023;}
  else {
    arg2K0 = (((char *) (-3 + value_298X)));
    goto L24023;}}
 L24023: {
  x_300X = arg2K0;
  value_301X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_301X))) {
    v_302X = (char *) s48_long_to_bignum((((value_301X)>>2)));
    arg2K0 = v_302X;
    goto L24027;}
  else {
    arg2K0 = (((char *) (-3 + value_301X)));
    goto L24027;}}
 L24027: {
  y_303X = arg2K0;
  external_bignum_304X = (char *) s48_bignum_bitwise_xor(x_300X, y_303X);
  v_305X = s48_bignum_fits_in_word_p(external_bignum_304X, 30, 1);
  if (v_305X) {
    n_306X = s48_bignum_to_long(external_bignum_304X);
    return (((n_306X)<<2));}
  else {
    return enter_bignum(external_bignum_304X);}}
}
static long Hinteger_op8341(long x_307X, long y_308X)
{
  long arg0K1;
  long arg0K0;
  char * arg2K0;
  long n_320X;
  char v_319X;
  char * external_bignum_318X;
  char * y_317X;
  char * v_316X;
  long value_315X;
  char * x_314X;
  char * v_313X;
  long value_312X;
  long extra1_311X;
  long extra0_310X;
  long length0_309X;
 {  if ((0 == (3 & x_307X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L24113;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_307X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L24113;}}
 L24113: {
  length0_309X = arg0K0;
  extra0_310X = arg0K1;
  if ((0 == (3 & y_308X))) {
    arg0K0 = 3;
    goto L24115;}
  else {
    arg0K0 = 0;
    goto L24115;}}
 L24115: {
  extra1_311X = arg0K0;
  Stemp0S = x_307X;
  Stemp1S = y_308X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_309X)<<2))))>>1)))) + extra0_310X) + extra1_311X))<<2)));
  value_312X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_312X))) {
    v_313X = (char *) s48_long_to_bignum((((value_312X)>>2)));
    arg2K0 = v_313X;
    goto L24097;}
  else {
    arg2K0 = (((char *) (-3 + value_312X)));
    goto L24097;}}
 L24097: {
  x_314X = arg2K0;
  value_315X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_315X))) {
    v_316X = (char *) s48_long_to_bignum((((value_315X)>>2)));
    arg2K0 = v_316X;
    goto L24101;}
  else {
    arg2K0 = (((char *) (-3 + value_315X)));
    goto L24101;}}
 L24101: {
  y_317X = arg2K0;
  external_bignum_318X = (char *)s48_bignum_quotient(x_314X, y_317X);
  v_319X = s48_bignum_fits_in_word_p(external_bignum_318X, 30, 1);
  if (v_319X) {
    n_320X = s48_bignum_to_long(external_bignum_318X);
    return (((n_320X)<<2));}
  else {
    return enter_bignum(external_bignum_318X);}}
}
static long Hinteger_op8272(long x_321X, long y_322X)
{
  long arg0K1;
  long arg0K0;
  char * arg2K0;
  long n_334X;
  char v_333X;
  char * external_bignum_332X;
  char * y_331X;
  char * v_330X;
  long value_329X;
  char * x_328X;
  char * v_327X;
  long value_326X;
  long extra1_325X;
  long extra0_324X;
  long length0_323X;
 {  if ((0 == (3 & x_321X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L24204;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_321X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L24204;}}
 L24204: {
  length0_323X = arg0K0;
  extra0_324X = arg0K1;
  if ((0 == (3 & y_322X))) {
    arg0K0 = 3;
    goto L24206;}
  else {
    arg0K0 = 0;
    goto L24206;}}
 L24206: {
  extra1_325X = arg0K0;
  Stemp0S = x_321X;
  Stemp1S = y_322X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_323X)<<2))))>>1)))) + extra0_324X) + extra1_325X))<<2)));
  value_326X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_326X))) {
    v_327X = (char *) s48_long_to_bignum((((value_326X)>>2)));
    arg2K0 = v_327X;
    goto L24188;}
  else {
    arg2K0 = (((char *) (-3 + value_326X)));
    goto L24188;}}
 L24188: {
  x_328X = arg2K0;
  value_329X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_329X))) {
    v_330X = (char *) s48_long_to_bignum((((value_329X)>>2)));
    arg2K0 = v_330X;
    goto L24192;}
  else {
    arg2K0 = (((char *) (-3 + value_329X)));
    goto L24192;}}
 L24192: {
  y_331X = arg2K0;
  external_bignum_332X = (char *)s48_bignum_remainder(x_328X, y_331X);
  v_333X = s48_bignum_fits_in_word_p(external_bignum_332X, 30, 1);
  if (v_333X) {
    n_334X = s48_bignum_to_long(external_bignum_332X);
    return (((n_334X)<<2));}
  else {
    return enter_bignum(external_bignum_332X);}}
}
static char for_each_imported_binding(char (*proc_335X)(long))
{
  long arg0K0;
  long link_342X;
  char x_341X;
  long entry_340X;
  long link_339X;
  char temp_338X;
  long i_337X;
  long table_336X;
 {  table_336X = Simported_bindingsS;
  arg0K0 = 0;
  goto L21252;}
 L21252: {
  i_337X = arg0K0;
  temp_338X = 1024 == i_337X;
  if (temp_338X) {
    return temp_338X;}
  else {
    link_339X = *((long *) ((((char *) (-3 + table_336X))) + (((i_337X)<<2))));
    if ((0 == (3 & link_339X))) {
      arg0K0 = (3 + (-4 & link_339X));
      goto L21224;}
    else {
      arg0K0 = link_339X;
      goto L21224;}}}
 L21224: {
  entry_340X = arg0K0;
  if ((1 == entry_340X)) {
    arg0K0 = (1 + i_337X);
    goto L21252;}
  else {
    x_341X = (*proc_335X)(entry_340X);
    if (x_341X) {
      link_342X = *((long *) ((((char *) (-3 + entry_340X))) + 12));
      if ((0 == (3 & link_342X))) {
        arg0K0 = (3 + (-4 & link_342X));
        goto L21224;}
      else {
        arg0K0 = link_342X;
        goto L21224;}}
    else {
      return 1;}}}
}
static long really_preserve_continuation(long key_343X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  char * next_356X;
  long pc_355X;
  char * pointer_354X;
  char * pointer_353X;
  long new_352X;
  char * addr_351X;
  long len_350X;
  long size_349X;
  long size_348X;
  char * pointer_347X;
  long previous_346X;
  char * cont_345X;
  long temp_344X;
 {  if (((ScontS) == (Sbottom_of_stackS))) {
    goto L25636;}
  else {
    temp_344X = Sheap_continuationS;
    arg2K0 = (ScontS);
    arg0K1 = 1;
    goto L25606;}}
 L25636: {
  return (Sheap_continuationS);}
 L25606: {
  cont_345X = arg2K0;
  previous_346X = arg0K1;
  if ((cont_345X == (Sbottom_of_stackS))) {
    *((long *) ((((char *) (-3 + previous_346X))) + 8)) = (long) (temp_344X);
    ScontS = (Sbottom_of_stackS);
    goto L25636;}
  else {
    pointer_347X = (((char *) (*((long *) cont_345X)))) + -2;
    size_348X = ((((*((unsigned char *) pointer_347X)))<<8)) + (*((unsigned char *) (pointer_347X + 1)));
    if ((65535 == size_348X)) {
      arg0K0 = ((((*((long *) (cont_345X + 4))))>>2));
      goto L22046;}
    else {
      arg0K0 = size_348X;
      goto L22046;}}}
 L22046: {
  size_349X = arg0K0;
  len_350X = 12 + (((size_349X)<<2));
  addr_351X = s48_allocate_small((4 + len_350X));
  *((long *) addr_351X) = (long) ((42 + (((len_350X)<<8))));
  new_352X = 3 + (((long) (addr_351X + 4)));
  pointer_353X = ((char *) (*((long *) cont_345X)));
  pointer_354X = pointer_353X + -5;
  pc_355X = ((((*((unsigned char *) pointer_354X)))<<8)) + (*((unsigned char *) (pointer_354X + 1)));
  memmove((void *)((((char *) (-3 + new_352X))) + 12), (void *)(cont_345X + 4),(((size_349X)<<2)));
  *((long *) (((char *) (-3 + new_352X)))) = (long) ((((pc_355X)<<2)));
  *((long *) ((((char *) (-3 + new_352X))) + 4)) = (long) ((3 + (((long) (pointer_353X + (0 - pc_355X))))));
  next_356X = cont_345X + (4 + (((size_349X)<<2)));
  if ((3 == (3 & previous_346X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + previous_346X))) + -4))))>>2))))) {
      *((long *) ((((char *) (-3 + previous_346X))) + 8)) = (long) (new_352X);
      arg2K0 = next_356X;
      arg0K1 = new_352X;
      goto L25606;}
    else {
      goto L25624;}}
  else {
    goto L25624;}}
 L25624: {
  Sheap_continuationS = new_352X;
  arg2K0 = next_356X;
  arg0K1 = new_352X;
  goto L25606;}
}
static void push_exception_setupB(long exception_357X, long instruction_size_358X)
{
  long n_370X;
  long data_369X;
  long n_368X;
  long code_367X;
  long pc_366X;
  char * code_pointer_365X;
  long x_364X;
  long data_363X;
  long n_362X;
  long pc_361X;
  char * code_pointer_360X;
  long code_359X;
 {  if ((0 == (Snative_exception_contS))) {
    code_359X = current_code_vector();
    code_pointer_360X = (((char *) (-3 + (Sexception_return_codeS)))) + 13;
    pc_361X = ((((Scode_pointerS) - (((char *) (-3 + code_359X)))))<<2);
    SstackS = ((SstackS) + -20);
    n_362X = ((((ScontS) - (SstackS)))>>2);
    data_363X = 3 + (((long) (SstackS)));
    *((long *) (((char *) (-3 + data_363X)))) = (long) ((((n_362X)<<2)));
    *((long *) ((((char *) (-3 + data_363X))) + 4)) = (long) (pc_361X);
    *((long *) ((((char *) (-3 + data_363X))) + 8)) = (long) (code_359X);
    *((long *) ((((char *) (-3 + data_363X))) + 12)) = (long) ((((exception_357X)<<2)));
    *((long *) ((((char *) (-3 + data_363X))) + 16)) = (long) ((((instruction_size_358X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((long) code_pointer_360X)));
    ScontS = (SstackS);
    goto L25965;}
  else {
    x_364X = Snative_exception_contS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_364X);
    ScontS = (SstackS);
    ps_write_string("handling exception for nc ", (stderr));
    ps_write_integer((Snative_exception_contS), (stderr));
    code_pointer_365X = (((char *) (-3 + (Snative_exception_return_codeS)))) + 13;
    pc_366X = (((*((unsigned char *) (Scode_pointerS))))<<2);
    code_367X = Snative_exception_contS;
    SstackS = ((SstackS) + -20);
    n_368X = ((((ScontS) - (SstackS)))>>2);
    data_369X = 3 + (((long) (SstackS)));
    *((long *) (((char *) (-3 + data_369X)))) = (long) ((((n_368X)<<2)));
    *((long *) ((((char *) (-3 + data_369X))) + 4)) = (long) (pc_366X);
    *((long *) ((((char *) (-3 + data_369X))) + 8)) = (long) (code_367X);
    *((long *) ((((char *) (-3 + data_369X))) + 12)) = (long) ((((exception_357X)<<2)));
    *((long *) ((((char *) (-3 + data_369X))) + 16)) = (long) (0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((long) code_pointer_365X)));
    ScontS = (SstackS);
    Snative_exception_contS = 0;
    goto L25965;}}
 L25965: {
  n_370X = *((unsigned char *) (Scode_pointerS));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_370X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((exception_357X)<<2)));
  return;}
}
static long Hlookup2943(long table_371X, long string_372X, long key_373X)
{
  long arg0K0;
  char * addr_386X;
  long value_385X;
  long link_384X;
  long x_383X;
  char * addr_382X;
  long next_381X;
  long len_380X;
  long s2_379X;
  long foo_378X;
  long bucket_377X;
  long link_376X;
  long index_375X;
  long v_374X;
 {  v_374X = Haction4940(string_372X);
  index_375X = 1023 & v_374X;
  link_376X = *((long *) ((((char *) (-3 + table_371X))) + (((index_375X)<<2))));
  if ((0 == (3 & link_376X))) {
    arg0K0 = (3 + (-4 & link_376X));
    goto L26757;}
  else {
    arg0K0 = link_376X;
    goto L26757;}}
 L26757: {
  bucket_377X = arg0K0;
  arg0K0 = bucket_377X;
  goto L26763;}
 L26763: {
  foo_378X = arg0K0;
  if ((1 == foo_378X)) {
    if ((3 == (3 & bucket_377X))) {
      arg0K0 = (-4 & bucket_377X);
      goto L26768;}
    else {
      arg0K0 = bucket_377X;
      goto L26768;}}
  else {
    s2_379X = *((long *) (((char *) (-3 + foo_378X))));
    len_380X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_372X))) + -4))))>>8);
    if ((len_380X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_379X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_379X))), (void *)(((char *) (-3 + string_372X))),len_380X)))) {
        return foo_378X;}
      else {
        goto L26783;}}
    else {
      goto L26783;}}}
 L26768: {
  next_381X = arg0K0;
  addr_382X = s48_allocate_small(20);
  *((long *) addr_382X) = (long) (4154);
  x_383X = 3 + (((long) (addr_382X + 4)));
  *((long *) (((char *) (-3 + x_383X)))) = (long) (string_372X);
  *((long *) ((((char *) (-3 + x_383X))) + 4)) = (long) (1);
  *((long *) ((((char *) (-3 + x_383X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_383X))) + 12)) = (long) (next_381X);
  if ((3 == (3 & x_383X))) {
    arg0K0 = (-4 & x_383X);
    goto L26774;}
  else {
    arg0K0 = x_383X;
    goto L26774;}}
 L26783: {
  link_384X = *((long *) ((((char *) (-3 + foo_378X))) + 12));
  if ((0 == (3 & link_384X))) {
    arg0K0 = (3 + (-4 & link_384X));
    goto L26763;}
  else {
    arg0K0 = link_384X;
    goto L26763;}}
 L26774: {
  value_385X = arg0K0;
  addr_386X = (((char *) (-3 + table_371X))) + (((index_375X)<<2));S48_WRITE_BARRIER(table_371X, addr_386X, value_385X);
  *((long *) addr_386X) = (long) (value_385X);
  return x_383X;}
}
static long Hlookup2924(long table_387X, long string_388X, long key_389X)
{
  long arg0K0;
  char * addr_402X;
  long value_401X;
  long link_400X;
  long x_399X;
  char * addr_398X;
  long next_397X;
  long len_396X;
  long s2_395X;
  long foo_394X;
  long bucket_393X;
  long link_392X;
  long index_391X;
  long v_390X;
 {  v_390X = Haction4940(string_388X);
  index_391X = 1023 & v_390X;
  link_392X = *((long *) ((((char *) (-3 + table_387X))) + (((index_391X)<<2))));
  if ((0 == (3 & link_392X))) {
    arg0K0 = (3 + (-4 & link_392X));
    goto L26900;}
  else {
    arg0K0 = link_392X;
    goto L26900;}}
 L26900: {
  bucket_393X = arg0K0;
  arg0K0 = bucket_393X;
  goto L26906;}
 L26906: {
  foo_394X = arg0K0;
  if ((1 == foo_394X)) {
    if ((3 == (3 & bucket_393X))) {
      arg0K0 = (-4 & bucket_393X);
      goto L26911;}
    else {
      arg0K0 = bucket_393X;
      goto L26911;}}
  else {
    s2_395X = *((long *) (((char *) (-3 + foo_394X))));
    len_396X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_388X))) + -4))))>>8);
    if ((len_396X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_395X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_395X))), (void *)(((char *) (-3 + string_388X))),len_396X)))) {
        return foo_394X;}
      else {
        goto L26926;}}
    else {
      goto L26926;}}}
 L26911: {
  next_397X = arg0K0;
  addr_398X = s48_allocate_small(20);
  *((long *) addr_398X) = (long) (4154);
  x_399X = 3 + (((long) (addr_398X + 4)));
  *((long *) (((char *) (-3 + x_399X)))) = (long) (string_388X);
  *((long *) ((((char *) (-3 + x_399X))) + 4)) = (long) (5);
  *((long *) ((((char *) (-3 + x_399X))) + 8)) = (long) (13);
  *((long *) ((((char *) (-3 + x_399X))) + 12)) = (long) (next_397X);
  if ((3 == (3 & x_399X))) {
    arg0K0 = (-4 & x_399X);
    goto L26917;}
  else {
    arg0K0 = x_399X;
    goto L26917;}}
 L26926: {
  link_400X = *((long *) ((((char *) (-3 + foo_394X))) + 12));
  if ((0 == (3 & link_400X))) {
    arg0K0 = (3 + (-4 & link_400X));
    goto L26906;}
  else {
    arg0K0 = link_400X;
    goto L26906;}}
 L26917: {
  value_401X = arg0K0;
  addr_402X = (((char *) (-3 + table_387X))) + (((index_391X)<<2));S48_WRITE_BARRIER(table_387X, addr_402X, value_401X);
  *((long *) addr_402X) = (long) (value_401X);
  return x_399X;}
}
static void HtopD11595(char majorP_403X, char in_troubleP_404X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long id_445X;
  long new_444X;
  long x_443X;
  long interrupt_442X;
  long id_441X;
  long status_440X;
  long v_439X;
  char v_438X;
  long channel_437X;
  long i_436X;
  char * addr_435X;
  long next_link_434X;
  long new_foo_433X;
  char v_432X;
  char * addr_431X;
  long foo_430X;
  char * addr_429X;
  long l_428X;
  long v_427X;
  long okay_link_426X;
  long foo_link_425X;
  char * addr_424X;
  char * addr_423X;
  char * addr_422X;
  char * addr_421X;
  long val_420X;
  char tracedP_419X;
  long next_418X;
  long thing_417X;
  long pair_416X;
  long alist_415X;
  long l2_414X;
  long goners_413X;
  long okay_412X;
  long alist_411X;
  long foo_link_410X;
  long v_409X;
  long pc_408X;
  long code_407X;
  long i_406X;
  long table_405X;
 {  table_405X = s48_trace_value((Sthe_symbol_tableS));
  arg0K0 = 0;
  goto L28017;}
 L28017: {
  i_406X = arg0K0;
  if ((1024 == i_406X)) {
    Sthe_symbol_tableS = table_405X;
    code_407X = Slast_code_calledS;
    pc_408X = Ssaved_pcS;
    Slast_code_calledS = code_407X;
    Scode_pointerS = ((((char *) (-3 + code_407X))) + pc_408X);
    Slast_code_pointer_resumedS = (Scode_pointerS);
    v_409X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_409X;
    arg0K1 = 25;
    arg0K2 = 25;
    goto L14414;}
  else {
    foo_link_410X = *((long *) ((((char *) (-3 + table_405X))) + (((i_406X)<<2))));
    arg0K0 = foo_link_410X;
    arg0K1 = 1;
    goto L18620;}}
 L14414: {
  alist_411X = arg0K0;
  okay_412X = arg0K1;
  goners_413X = arg0K2;
  if ((25 == alist_411X)) {SHARED_SETB((Sfinalizer_alistS), okay_412X);
    l2_414X = Sfinalize_theseS;
    if ((25 == goners_413X)) {
      arg0K0 = l2_414X;
      goto L14421;}
    else {
      arg0K0 = goners_413X;
      goto L14476;}}
  else {
    alist_415X = s48_trace_value(alist_411X);
    pair_416X = s48_trace_value((*((long *) (((char *) (-3 + alist_415X))))));
    thing_417X = *((long *) (((char *) (-3 + pair_416X))));
    next_418X = *((long *) ((((char *) (-3 + alist_415X))) + 4));
    tracedP_419X = s48_extantP(thing_417X);
    val_420X = s48_trace_value(thing_417X);
    addr_421X = ((char *) (-3 + pair_416X));S48_WRITE_BARRIER(pair_416X, addr_421X, val_420X);
    *((long *) addr_421X) = (long) (val_420X);
    addr_422X = ((char *) (-3 + alist_415X));S48_WRITE_BARRIER(alist_415X, addr_422X, pair_416X);
    *((long *) addr_422X) = (long) (pair_416X);
    if (tracedP_419X) {
      addr_423X = (((char *) (-3 + alist_415X))) + 4;S48_WRITE_BARRIER(alist_415X, addr_423X, okay_412X);
      *((long *) addr_423X) = (long) (okay_412X);
      arg0K0 = next_418X;
      arg0K1 = alist_415X;
      arg0K2 = goners_413X;
      goto L14414;}
    else {
      addr_424X = (((char *) (-3 + alist_415X))) + 4;S48_WRITE_BARRIER(alist_415X, addr_424X, goners_413X);
      *((long *) addr_424X) = (long) (goners_413X);
      arg0K0 = next_418X;
      arg0K1 = okay_412X;
      arg0K2 = alist_415X;
      goto L14414;}}}
 L18620: {
  foo_link_425X = arg0K0;
  okay_link_426X = arg0K1;
  if ((0 == (3 & foo_link_425X))) {
    arg0K0 = (3 + (-4 & foo_link_425X));
    goto L18622;}
  else {
    arg0K0 = foo_link_425X;
    goto L18622;}}
 L14421: {
  v_427X = arg0K0;
  Sfinalize_theseS = v_427X;
  arg0K0 = 0;
  goto L26379;}
 L14476: {
  l_428X = arg0K0;
  if ((25 == (*((long *) ((((char *) (-3 + l_428X))) + 4))))) {
    addr_429X = (((char *) (-3 + l_428X))) + 4;S48_WRITE_BARRIER(l_428X, addr_429X, l2_414X);
    *((long *) addr_429X) = (long) (l2_414X);
    arg0K0 = goners_413X;
    goto L14421;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_428X))) + 4)));
    goto L14476;}}
 L18622: {
  foo_430X = arg0K0;
  if ((1 == foo_430X)) {
    addr_431X = (((char *) (-3 + table_405X))) + (((i_406X)<<2));S48_WRITE_BARRIER(table_405X, addr_431X, okay_link_426X);
    *((long *) addr_431X) = (long) (okay_link_426X);
    arg0K0 = (1 + i_406X);
    goto L28017;}
  else {
    v_432X = s48_extantP(foo_430X);
    if (v_432X) {
      new_foo_433X = s48_trace_value(foo_430X);
      next_link_434X = *((long *) ((((char *) (-3 + new_foo_433X))) + 4));
      addr_435X = (((char *) (-3 + new_foo_433X))) + 4;S48_WRITE_BARRIER(new_foo_433X, addr_435X, okay_link_426X);
      *((long *) addr_435X) = (long) (okay_link_426X);
      if ((3 == (3 & new_foo_433X))) {
        arg0K0 = next_link_434X;
        arg0K1 = (-4 & new_foo_433X);
        goto L18620;}
      else {
        arg0K0 = next_link_434X;
        arg0K1 = new_foo_433X;
        goto L18620;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + foo_430X))) + 4)));
      arg0K1 = okay_link_426X;
      goto L18620;}}}
 L26379: {
  i_436X = arg0K0;
  if ((i_436X == (Snumber_of_channelsS))) {
    Sgc_in_troublePS = in_troubleP_404X;
    if (majorP_403X) {
      arg0K0 = 3;
      goto L27304;}
    else {
      arg0K0 = 2;
      goto L27304;}}
  else {
    channel_437X = *((Svm_channelsS) + i_436X);
    if ((1 == channel_437X)) {
      goto L26413;}
    else {
      v_438X = s48_extantP(channel_437X);
      if (v_438X) {
        v_439X = s48_trace_value(channel_437X);
        arg0K0 = v_439X;
        goto L26406;}
      else {
        if ((0 == (*((long *) (((char *) (-3 + channel_437X))))))) {
          arg0K0 = 1;
          goto L26406;}
        else {
          status_440X = close_channelB(channel_437X);
          id_441X = *((long *) ((((char *) (-3 + channel_437X))) + 4));
          if ((status_440X == NO_ERRORS)) {
            goto L26437;}
          else {channel_close_error(status_440X, (*((long *) ((((char *) (-3 + channel_437X))) + 8))), id_441X);
            goto L26437;}}}}}}
 L27304: {
  interrupt_442X = arg0K0;
  PS_SHIFT_LEFT(1, interrupt_442X, x_443X)
  Spending_interruptsS = ((Spending_interruptsS) | x_443X);
  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;}}
 L26413: {
  arg0K0 = (1 + i_436X);
  goto L26379;}
 L26406: {
  new_444X = arg0K0;
  *((Svm_channelsS) + i_436X) = new_444X;
  goto L26413;}
 L26437: {
  if ((1 == (*((long *) ((((char *) (-3 + channel_437X))) + 12))))) {
    id_445X = *((long *) ((((char *) (-3 + channel_437X))) + 4));
    ps_write_string("Channel closed: ", (stderr));
    if ((0 == (3 & id_445X))) {
      ps_write_integer((((id_445X)>>2)), (stderr));
      goto L22475;}
    else {
      if ((3 == (3 & id_445X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + id_445X))) + -4))))>>2))))) {write_vm_string(id_445X, (stderr));
          goto L22475;}
        else {
          goto L22471;}}
      else {
        goto L22471;}}}
  else {
    arg0K0 = 1;
    goto L26406;}}
 L22475: {
  ps_write_string(" ", (stderr));
  ps_write_integer(((((*((long *) ((((char *) (-3 + channel_437X))) + 8))))>>2)), (stderr));
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  arg0K0 = 1;
  goto L26406;}
 L22471: {
  ps_write_string("<strange id>", (stderr));
  goto L22475;}
}
static void HtopD11606(void)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;
  long merged_arg0K0;

  int Hentry_tracer961446_return_tag;
  long Hentry_tracer9614460_return_value;
  long foo_link_447X;
  char * addr_516X;
  long next_link_515X;
  long new_foo_514X;
  long foo_513X;
  long done_link_512X;
  long foo_link_511X;
  long v_510X;
  long size_509X;
  char * pointer_508X;
  long v_507X;
  long v_506X;
  long v_505X;
  long cells_504X;
  long size_503X;
  char * pointer_502X;
  char * contents_pointer_501X;
  long new_code_500X;
  long mask_size_499X;
  char * code_pointer_498X;
  long pc_497X;
  char * pointer_496X;
  char * pointer_495X;
  char * cont_494X;
  char * addr_493X;
  long val_492X;
  long unused_491X;
  char * a_490X;
  char x_489X;
  long pair_488X;
  long v_487X;
  long v_486X;
  long alist_485X;
  char * addr_484X;
  long value_483X;
  long v_482X;
  long v_481X;
  long v_480X;
  long v_479X;
  long v_478X;
  long v_477X;
  long v_476X;
  long v_475X;
  long v_474X;
  long v_473X;
  long v_472X;
  long v_471X;
  long v_470X;
  long v_469X;
  long v_468X;
  long v_467X;
  long v_466X;
  long v_465X;
  long v_464X;
  long code_463X;
  long i_462X;
  char * addr_461X;
  long value_460X;
  long table_459X;
  long i_458X;
  long x2_457X;
  char * cell_456X;
  long i_455X;
  long x2_454X;
  char * cell_453X;
  long table_452X;
  char * frame_451X;
  long length_450X;
  char * frame_449X;
  long v_448X;
 {  v_448X = s48_trace_value((Sempty_logS));
  Sempty_logS = v_448X;
  arg2K0 = (Sexternal_root_stackS);
  goto L10655;}
 L10655: {
  frame_449X = arg2K0;
  if ((frame_449X == NULL)) {
    arg2K0 = (Spermanent_external_rootsS);
    goto L10681;}
  else {
    length_450X = *((long *) frame_449X);
    arg0K0 = 0;
    goto L10663;}}
 L10681: {
  frame_451X = arg2K0;
  if ((frame_451X == NULL)) {s48_initializing_gc_root();
    table_452X = s48_trace_value((Simported_bindingsS));
    arg0K0 = 0;
    goto L25115;}
  else {
    cell_453X = ((char *) (*((long *) (frame_451X + 8))));
    x2_454X = s48_trace_value((*((long *) cell_453X)));
    *((long *) cell_453X) = (long) (x2_454X);
    arg2K0 = (((char *) (*((long *) frame_451X))));
    goto L10681;}}
 L10663: {
  i_455X = arg0K0;
  if ((i_455X == length_450X)) {
    arg2K0 = (((char *) (*((long *) (frame_449X + 4)))));
    goto L10655;}
  else {
    cell_456X = ((char *) (*((long *) (frame_449X + (8 + (((i_455X)<<2)))))));
    x2_457X = s48_trace_value((*((long *) cell_456X)));
    *((long *) cell_456X) = (long) (x2_457X);
    arg0K0 = (1 + i_455X);
    goto L10663;}}
 L25115: {
  i_458X = arg0K0;
  if ((1024 == i_458X)) {
    Simported_bindingsS = table_452X;
    table_459X = s48_trace_value((Sexported_bindingsS));
    arg0K0 = 0;
    goto L25136;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_452X))) + (((i_458X)<<2)))));
    Hentry_tracer961446_return_tag = 0;
    goto Hentry_tracer961446;
   Hentry_tracer961446_return_0:
    value_460X = Hentry_tracer9614460_return_value;
    addr_461X = (((char *) (-3 + table_452X))) + (((i_458X)<<2));S48_WRITE_BARRIER(table_452X, addr_461X, value_460X);
    *((long *) addr_461X) = (long) (value_460X);
    arg0K0 = (1 + i_458X);
    goto L25115;}}
 L25136: {
  i_462X = arg0K0;
  if ((1024 == i_462X)) {
    Sexported_bindingsS = table_459X;
    code_463X = current_code_vector();
    Ssaved_pcS = ((Scode_pointerS) - (((char *) (-3 + code_463X))));
    v_464X = s48_trace_value(code_463X);
    Slast_code_calledS = v_464X;
    v_465X = s48_trace_value((SvalS));
    SvalS = v_465X;
    v_466X = s48_trace_value((Scurrent_threadS));
    Scurrent_threadS = v_466X;
    v_467X = s48_trace_value((Sinterrupted_byte_opcode_return_codeS));
    Sinterrupted_byte_opcode_return_codeS = v_467X;
    v_468X = s48_trace_value((Sinterrupted_native_call_return_codeS));
    Sinterrupted_native_call_return_codeS = v_468X;
    v_469X = s48_trace_value((Snative_poll_return_codeS));
    Snative_poll_return_codeS = v_469X;
    v_470X = s48_trace_value((Sexception_return_codeS));
    Sexception_return_codeS = v_470X;
    v_471X = s48_trace_value((Snative_exception_return_codeS));
    Snative_exception_return_codeS = v_471X;
    v_472X = s48_trace_value((Scall_with_values_return_codeS));
    Scall_with_values_return_codeS = v_472X;
    v_473X = s48_trace_value((Sinterrupted_templateS));
    Sinterrupted_templateS = v_473X;
    v_474X = SHARED_REF((Ssession_dataS));
    v_475X = s48_trace_value(v_474X);SHARED_SETB((Ssession_dataS), v_475X);
    v_476X = SHARED_REF((Sexception_handlersS));
    v_477X = s48_trace_value(v_476X);SHARED_SETB((Sexception_handlersS), v_477X);
    v_478X = SHARED_REF((Sinterrupt_handlersS));
    v_479X = s48_trace_value(v_478X);SHARED_SETB((Sinterrupt_handlersS), v_479X);
    v_480X = SHARED_REF((Sfinalize_theseS));
    v_481X = s48_trace_value(v_480X);SHARED_SETB((Sfinalize_theseS), v_481X);
    v_482X = SHARED_REF((Sfinalizer_alistS));
    arg0K0 = v_482X;
    goto L10721;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + table_459X))) + (((i_462X)<<2)))));
    Hentry_tracer961446_return_tag = 1;
    goto Hentry_tracer961446;
   Hentry_tracer961446_return_1:
    value_483X = Hentry_tracer9614460_return_value;
    addr_484X = (((char *) (-3 + table_459X))) + (((i_462X)<<2));S48_WRITE_BARRIER(table_459X, addr_484X, value_483X);
    *((long *) addr_484X) = (long) (value_483X);
    arg0K0 = (1 + i_462X);
    goto L25136;}}
 L10721: {
  alist_485X = arg0K0;
  if ((25 == alist_485X)) {
    v_486X = s48_trace_value((Spending_channels_headS));
    Spending_channels_headS = v_486X;
    v_487X = s48_trace_value((Spending_channels_tailS));
    Spending_channels_tailS = v_487X;
    if ((Sstack_warningPS)) {
      arg2K0 = (Sstack_beginS);
      goto L7529;}
    else {
      goto L18853;}}
  else {
    pair_488X = *((long *) (((char *) (-3 + alist_485X))));
    x_489X = s48_extantP((*((long *) (((char *) (-3 + pair_488X))))));
    if (x_489X) {
      goto L10746;}
    else {s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_488X))))));
      goto L10746;}}}
 L7529: {
  a_490X = arg2K0;
  if ((252645135 == (*((long *) a_490X)))) {
    arg2K0 = (a_490X + 4);
    goto L7529;}
  else {
    unused_491X = (((a_490X - (Sstack_beginS)))>>2);
    if ((unused_491X < 30)) {
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      ps_write_string("[Alert: stack overconsumption (", (stderr));
      ps_write_integer(unused_491X, (stderr));
      ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
      { long ignoreXX;
      PS_WRITE_CHAR(10, (stderr), ignoreXX) }
      Sstack_warningPS = 0;
      goto L18853;}
    else {
      goto L18853;}}}
 L18853: {
s48_trace_locationsB((SstackS), ((SstackS) + (-4 & ((ScontS) - (SstackS)))));
  arg2K0 = (ScontS);
  goto L18863;}
 L10746: {
  val_492X = s48_trace_value((*((long *) ((((char *) (-3 + pair_488X))) + 4))));
  addr_493X = (((char *) (-3 + pair_488X))) + 4;S48_WRITE_BARRIER(pair_488X, addr_493X, val_492X);
  *((long *) addr_493X) = (long) (val_492X);
  arg0K0 = (*((long *) ((((char *) (-3 + alist_485X))) + 4)));
  goto L10721;}
 L18863: {
  cont_494X = arg2K0;
  pointer_495X = ((char *) (*((long *) cont_494X)));
  pointer_496X = pointer_495X + -5;
  pc_497X = ((((*((unsigned char *) pointer_496X)))<<8)) + (*((unsigned char *) (pointer_496X + 1)));
  code_pointer_498X = ((char *) (*((long *) cont_494X)));
  mask_size_499X = *((unsigned char *) (code_pointer_498X + -3));
  new_code_500X = s48_trace_value((3 + (((long) (pointer_495X + (0 - pc_497X))))));
  contents_pointer_501X = cont_494X + 4;
  *((long *) cont_494X) = (long) ((((long) ((((char *) (-3 + new_code_500X))) + pc_497X))));
  if ((0 == mask_size_499X)) {
    pointer_502X = (((char *) (*((long *) cont_494X)))) + -2;
    size_503X = ((((*((unsigned char *) pointer_502X)))<<8)) + (*((unsigned char *) (pointer_502X + 1)));
    if ((65535 == size_503X)) {
      arg0K0 = ((((*((long *) (cont_494X + 4))))>>2));
      goto L15758;}
    else {
      arg0K0 = size_503X;
      goto L15758;}}
  else {s48_trace_continuation_contentsB(contents_pointer_501X, code_pointer_498X, mask_size_499X);
    goto L18873;}}
 L15758: {
  cells_504X = arg0K0;s48_trace_locationsB(contents_pointer_501X, (contents_pointer_501X + (((cells_504X)<<2))));
  goto L18873;}
 L18873: {
  if ((cont_494X == (Sbottom_of_stackS))) {
    v_505X = s48_trace_value((Sheap_continuationS));
    Sheap_continuationS = v_505X;
    v_506X = s48_trace_value((Stemp0S));
    Stemp0S = v_506X;
    v_507X = s48_trace_value((Stemp1S));
    Stemp1S = v_507X;
    return;}
  else {
    pointer_508X = (((char *) (*((long *) cont_494X)))) + -2;
    size_509X = ((((*((unsigned char *) pointer_508X)))<<8)) + (*((unsigned char *) (pointer_508X + 1)));
    if ((65535 == size_509X)) {
      arg0K0 = ((((*((long *) (cont_494X + 4))))>>2));
      goto L18911;}
    else {
      arg0K0 = size_509X;
      goto L18911;}}}
 L18911: {
  v_510X = arg0K0;
  arg2K0 = (cont_494X + (4 + (((v_510X)<<2))));
  goto L18863;}
 Hentry_tracer961446: {
  foo_link_447X = merged_arg0K0;{
  arg0K0 = foo_link_447X;
  arg0K1 = 1;
  goto L18692;}
 L18692: {
  foo_link_511X = arg0K0;
  done_link_512X = arg0K1;
  if ((0 == (3 & foo_link_511X))) {
    arg0K0 = (3 + (-4 & foo_link_511X));
    goto L18694;}
  else {
    arg0K0 = foo_link_511X;
    goto L18694;}}
 L18694: {
  foo_513X = arg0K0;
  if ((1 == foo_513X)) {
    Hentry_tracer9614460_return_value = done_link_512X;
    goto Hentry_tracer961446_return;}
  else {
    new_foo_514X = s48_trace_value(foo_513X);
    next_link_515X = *((long *) ((((char *) (-3 + new_foo_514X))) + 12));
    addr_516X = (((char *) (-3 + new_foo_514X))) + 12;S48_WRITE_BARRIER(new_foo_514X, addr_516X, done_link_512X);
    *((long *) addr_516X) = (long) (done_link_512X);
    if ((3 == (3 & new_foo_514X))) {
      arg0K0 = next_link_515X;
      arg0K1 = (-4 & new_foo_514X);
      goto L18692;}
    else {
      arg0K0 = next_link_515X;
      arg0K1 = new_foo_514X;
      goto L18692;}}}
 Hentry_tracer961446_return:
  switch (Hentry_tracer961446_return_tag) {
  case 0: goto Hentry_tracer961446_return_0;
  default: goto Hentry_tracer961446_return_1;
  }}

}
void s48_set_native_protocolB(long protocol_517X)
{

 {  s48_Snative_protocolS = protocol_517X;
  return;}
}
void s48_set_extension_valueB(long value_518X)
{

 {  s48_Sextension_valueS = value_518X;
  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_519X;
 {  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_endS))) {
    return 0;}
  else {
    if ((31 == (Sos_signal_ring_readyS))) {
      arg0K0 = 0;
      goto L3549;}
    else {
      arg0K0 = (1 + (Sos_signal_ring_readyS));
      goto L3549;}}}
 L3549: {
  v_519X = arg0K0;
  Sos_signal_ring_readyS = v_519X;
  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_520X;
 {  old_base_520X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = (Sexternal_root_stackS);
  return old_base_520X;}
}
char s48_release_gc_roots_baseB(char * old_base_521X)
{
  char * current_base_522X;
 {  current_base_522X = Sexternal_root_stack_baseS;
  Sexternal_root_stack_baseS = old_base_521X;
  if (((Sexternal_root_stackS) == current_base_522X)) {
    return 1;}
  else {
    Sexternal_root_stackS = current_base_522X;
    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_523X)
{
  long arg0K0;
  long v_524X;
 {  if ((31 == (Sos_signal_ring_endS))) {
    arg0K0 = 0;
    goto L4528;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_endS));
    goto L4528;}}
 L4528: {
  v_524X = arg0K0;
  Sos_signal_ring_endS = v_524X;
  if (((Sos_signal_ring_startS) == (Sos_signal_ring_endS))) {
    ps_error("OS signal ring too small, report to Scheme 48 maintainers", 0);
    goto L4530;}
  else {
    goto L4530;}}
 L4530: {
  *(Sos_signal_ringS + (Sos_signal_ring_endS)) = sig_523X;
  return;}
}
void s48_push_gc_rootsB(char * frame_525X, long n_526X)
{

 {  *((long *) frame_525X) = (long) (n_526X);
  *((long *) (frame_525X + 4)) = (long) ((((long) (Sexternal_root_stackS))));
  Sexternal_root_stackS = frame_525X;
  return;}
}
char * s48_register_gc_rootB(char * loc_addr_527X)
{
  char * x_529X;
  char * frame_528X;
 {  frame_528X = (char *)malloc(12);
  if ((frame_528X == NULL)) {
    ps_error("out of memory registering a global root", 0);
    goto L4736;}
  else {
    goto L4736;}}
 L4736: {
  *((long *) frame_528X) = (long) ((((long) (Spermanent_external_rootsS))));
  *((long *) (frame_528X + 4)) = (long) ((((long) NULL)));
  x_529X = Spermanent_external_rootsS;
  if ((x_529X == NULL)) {
    goto L4756;}
  else {
    *((long *) ((Spermanent_external_rootsS) + 4)) = (long) ((((long) frame_528X)));
    goto L4756;}}
 L4756: {
  *((long *) (frame_528X + 8)) = (long) ((((long) loc_addr_527X)));
  Spermanent_external_rootsS = frame_528X;
  return frame_528X;}
}
void s48_stack_setB(long x_530X, long value_531X)
{

 {  *((long *) ((SstackS) + (((x_530X)<<2)))) = (long) (value_531X);
  return;}
}
long s48_stack_ref(long i_532X)
{

 {  return (*((long *) ((SstackS) + (((i_532X)<<2)))));}
}
void s48_push(long x_533X)
{

 {  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_533X);
  return;}
}
long s48_resetup_external_exception(long new_why_534X, long additional_nargs_535X)
{
  long old_why_537X;
  long old_nargs_536X;
 {  old_nargs_536X = Sexternal_exception_nargsS;
  old_why_537X = *((long *) ((SstackS) + (((old_nargs_536X)<<2))));
  *((long *) ((SstackS) + (((old_nargs_536X)<<2)))) = (long) ((((new_why_534X)<<2)));
  Sexternal_exception_nargsS = (old_nargs_536X + additional_nargs_535X);
  return old_why_537X;}
}
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_538X)
{
  char * previous_540X;
  char * next_539X;
 {  if ((frame_538X == (Spermanent_external_rootsS))) {
    Spermanent_external_rootsS = (((char *) (*((long *) frame_538X))));
    goto L9157;}
  else {
    next_539X = ((char *) (*((long *) frame_538X)));
    previous_540X = ((char *) (*((long *) (frame_538X + 4))));
    *((long *) previous_540X) = (long) ((((long) next_539X)));
    if ((next_539X == NULL)) {
      goto L9157;}
    else {
      *((long *) (next_539X + 4)) = (long) ((((long) previous_540X)));
      goto L9157;}}}
 L9157: {
  free(frame_538X);
  return;}
}
char * s48_shorten_bignum(char * external_bignum_541X, long number_of_digits_542X)
{
  long waste_size_547X;
  long old_data_size_546X;
  long new_data_size_545X;
  long new_size_544X;
  long bignum_543X;
 {  bignum_543X = 3 + (((long) external_bignum_541X));
  new_size_544X = 4 + (-4 & (7 + (((number_of_digits_542X)<<2))));
  new_data_size_545X = -4 + new_size_544X;
  old_data_size_546X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + bignum_543X))) + -4))))>>8);
  waste_size_547X = old_data_size_546X - new_data_size_545X;
  if ((waste_size_547X < 0)) {
    ps_error("shorten bignum", 2, new_data_size_545X, old_data_size_546X);
    goto L9890;}
  else {
    goto L9890;}}
 L9890: {
  if ((waste_size_547X < 4)) {
    return external_bignum_541X;}
  else {
    *((long *) ((((char *) (-3 + bignum_543X))) + -4)) = (long) ((78 + (((new_data_size_545X)<<8))));
    *((long *) ((((char *) (((long) ((((char *) (-3 + bignum_543X))) + (-4 & (3 + new_size_544X))))))) + -4)) = (long) ((-946 + (((waste_size_547X)<<8))));
    return external_bignum_541X;}}
}
long s48_allocate_string(long len_548X)
{
  long arg0K0;
  long string_551X;
  char * addr_550X;
  long len_549X;
 {  len_549X = ((len_548X)<<2);
  addr_550X = s48_allocate_untracedAgc((4 + len_549X));
  if ((addr_550X == NULL)) {
    arg0K0 = 1;
    goto L12719;}
  else {
    *((long *) addr_550X) = (long) ((66 + (((len_549X)<<8))));
    arg0K0 = (3 + (((long) (addr_550X + 4))));
    goto L12719;}}
 L12719: {
  string_551X = arg0K0;
  if ((1 == string_551X)) {
    ps_error("Out of space, unable to allocate", 0);
    return string_551X;}
  else {
    return string_551X;}}
}
long s48_allocate_bignum(long size_552X)
{
  char * addr_553X;
 {  addr_553X = s48_allocate_small((4 + size_552X));
  *((long *) addr_553X) = (long) ((78 + (((size_552X)<<8))));
  return (3 + (((long) (addr_553X + 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_554X, long os_index_555X)
{
  char * addr_562X;
  long val_561X;
  long v_560X;
  long x_559X;
  long old_index_558X;
  char x_557X;
  char temp_556X;
 {  temp_556X = os_index_555X < (Snumber_of_channelsS);
  if (temp_556X) {
    goto L14594;}
  else {
    x_557X = add_more_channels(os_index_555X);
    if (x_557X) {
      goto L14594;}
    else {
      return 36;}}}
 L14594: {
  if ((1 == (*((Svm_channelsS) + os_index_555X)))) {
    old_index_558X = (((*((long *) ((((char *) (-3 + channel_554X))) + 8))))>>2);
    x_559X = *((long *) ((((char *) (-3 + channel_554X))) + 20));
    if ((5 == x_559X)) {
      v_560X = ps_abort_fd_op(old_index_558X);enqueue_channelB(old_index_558X, v_560X, 1);
      goto L14580;}
    else {
      goto L14580;}}
  else {
    return 44;}}
 L14580: {
  *((Svm_channelsS) + old_index_558X) = 1;
  *((Svm_channelsS) + os_index_555X) = channel_554X;
  val_561X = ((os_index_555X)<<2);
  addr_562X = (((char *) (-3 + channel_554X))) + 8;S48_WRITE_BARRIER(channel_554X, addr_562X, val_561X);
  *((long *) addr_562X) = (long) (val_561X);
  return 5;}
}
long s48_enter_string_utf_8(char * p_563X)
{
  long arg0K1;
  long arg0K0;
  long vm_577X;
  long string_576X;
  char * addr_575X;
  long len_574X;
  long decoded_573X;
  long consumed_572X;
  long count_571X;
  long v_570X;
  char incompleteP_569X;
  char v_568X;
  char encoding_okP_567X;
  long target_index_566X;
  long index_565X;
  long size_564X;
 {  size_564X = strlen((char *) (((char *)p_563X)));
  arg0K0 = 0;
  arg0K1 = 0;
  goto L16809;}
 L16809: {
  index_565X = arg0K0;
  target_index_566X = arg0K1;
  if ((index_565X < size_564X)) {
    encoding_okP_567X = decode_scalar_value(2, (p_563X + index_565X), (size_564X - index_565X), &v_568X, &incompleteP_569X, &v_570X, &count_571X);
    if (encoding_okP_567X) {
      if (incompleteP_569X) {
        arg0K0 = index_565X;
        arg0K1 = target_index_566X;
        goto L16786;}
      else {
        arg0K0 = (index_565X + count_571X);
        arg0K1 = (1 + target_index_566X);
        goto L16809;}}
    else {
      arg0K0 = (1 + index_565X);
      arg0K1 = (1 + target_index_566X);
      goto L16809;}}
  else {
    arg0K0 = index_565X;
    arg0K1 = target_index_566X;
    goto L16786;}}
 L16786: {
  consumed_572X = arg0K0;
  decoded_573X = arg0K1;
  len_574X = ((decoded_573X)<<2);
  addr_575X = s48_allocate_untracedAgc((4 + len_574X));
  if ((addr_575X == NULL)) {
    arg0K0 = 1;
    goto L16827;}
  else {
    *((long *) addr_575X) = (long) ((66 + (((len_574X)<<8))));
    arg0K0 = (3 + (((long) (addr_575X + 4))));
    goto L16827;}}
 L16827: {
  string_576X = arg0K0;
  if ((1 == string_576X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = string_576X;
    goto L16792;}
  else {
    arg0K0 = string_576X;
    goto L16792;}}
 L16792: {
  vm_577X = arg0K0;decode_utf_8B(p_563X, vm_577X, consumed_572X);
  return vm_577X;}
}
long s48_enter_string_utf_8_n(char * p_578X, long size_579X)
{
  long arg0K1;
  long arg0K0;
  long vm_592X;
  long string_591X;
  char * addr_590X;
  long len_589X;
  long decoded_588X;
  long consumed_587X;
  long count_586X;
  long v_585X;
  char incompleteP_584X;
  char v_583X;
  char encoding_okP_582X;
  long target_index_581X;
  long index_580X;
 {  arg0K0 = 0;
  arg0K1 = 0;
  goto L16869;}
 L16869: {
  index_580X = arg0K0;
  target_index_581X = arg0K1;
  if ((index_580X < size_579X)) {
    encoding_okP_582X = decode_scalar_value(2, (p_578X + index_580X), (size_579X - index_580X), &v_583X, &incompleteP_584X, &v_585X, &count_586X);
    if (encoding_okP_582X) {
      if (incompleteP_584X) {
        arg0K0 = index_580X;
        arg0K1 = target_index_581X;
        goto L16849;}
      else {
        arg0K0 = (index_580X + count_586X);
        arg0K1 = (1 + target_index_581X);
        goto L16869;}}
    else {
      arg0K0 = (1 + index_580X);
      arg0K1 = (1 + target_index_581X);
      goto L16869;}}
  else {
    arg0K0 = index_580X;
    arg0K1 = target_index_581X;
    goto L16849;}}
 L16849: {
  consumed_587X = arg0K0;
  decoded_588X = arg0K1;
  len_589X = ((decoded_588X)<<2);
  addr_590X = s48_allocate_untracedAgc((4 + len_589X));
  if ((addr_590X == NULL)) {
    arg0K0 = 1;
    goto L16887;}
  else {
    *((long *) addr_590X) = (long) ((66 + (((len_589X)<<8))));
    arg0K0 = (3 + (((long) (addr_590X + 4))));
    goto L16887;}}
 L16887: {
  string_591X = arg0K0;
  if ((1 == string_591X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = string_591X;
    goto L16855;}
  else {
    arg0K0 = string_591X;
    goto L16855;}}
 L16855: {
  vm_592X = arg0K0;decode_utf_8B(p_578X, vm_592X, consumed_587X);
  return vm_592X;}
}
long s48_integer_or_floanum_L(long x_593X, long y_594X)
{
  long v_597X;
  long v_596X;
  long v_595X;
 {  if ((3 == (3 & x_593X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_593X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + x_593X))))) < (*((double *) (((char *) (-3 + y_594X))))))) {
        return 5;}
      else {
        return 1;}}
    else {
      goto L18068;}}
  else {
    goto L18068;}}
 L18068: {
  if ((0 == (3 & x_593X))) {
    if ((0 == (3 & y_594X))) {
      if ((x_593X < y_594X)) {
        return 5;}
      else {
        return 1;}}
    else {
      v_595X = s48_bignum_test((((char *) (-3 + y_594X))));
      if ((1 == v_595X)) {
        return 5;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & y_594X))) {
      v_596X = s48_bignum_test((((char *) (-3 + x_593X))));
      if ((1 == v_596X)) {
        return 1;}
      else {
        return 5;}}
    else {
      v_597X = s48_bignum_compare((((char *) (-3 + x_593X))), (((char *) (-3 + y_594X))));
      if ((-1 == v_597X)) {
        return 5;}
      else {
        return 1;}}}}
}
long s48_integer_or_floanum_G(long x_598X, long y_599X)
{
  long v_602X;
  long v_601X;
  long v_600X;
 {  if ((3 == (3 & x_598X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_598X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + y_599X))))) < (*((double *) (((char *) (-3 + x_598X))))))) {
        return 5;}
      else {
        return 1;}}
    else {
      goto L18197;}}
  else {
    goto L18197;}}
 L18197: {
  if ((0 == (3 & y_599X))) {
    if ((0 == (3 & x_598X))) {
      if ((y_599X < x_598X)) {
        return 5;}
      else {
        return 1;}}
    else {
      v_600X = s48_bignum_test((((char *) (-3 + x_598X))));
      if ((1 == v_600X)) {
        return 5;}
      else {
        return 1;}}}
  else {
    if ((0 == (3 & x_598X))) {
      v_601X = s48_bignum_test((((char *) (-3 + y_599X))));
      if ((1 == v_601X)) {
        return 1;}
      else {
        return 5;}}
    else {
      v_602X = s48_bignum_compare((((char *) (-3 + y_599X))), (((char *) (-3 + x_598X))));
      if ((-1 == v_602X)) {
        return 5;}
      else {
        return 1;}}}}
}
long s48_integer_or_floanum_LE(long x_603X, long y_604X)
{
  char b_605X;
 {  if ((3 == (3 & x_603X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_603X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + y_604X))))) < (*((double *) (((char *) (-3 + x_603X))))))) {
        return 1;}
      else {
        return 5;}}
    else {
      goto L18326;}}
  else {
    goto L18326;}}
 L18326: {
  b_605X = integerLE(x_603X, y_604X);
  if (b_605X) {
    return 5;}
  else {
    return 1;}}
}
long s48_integer_or_floanum_GE(long x_606X, long y_607X)
{
  char b_608X;
 {  if ((3 == (3 & x_606X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_606X))) + -4))))>>2))))) {
      if (((*((double *) (((char *) (-3 + x_606X))))) < (*((double *) (((char *) (-3 + y_607X))))))) {
        return 1;}
      else {
        return 5;}}
    else {
      goto L18403;}}
  else {
    goto L18403;}}
 L18403: {
  b_608X = integerGE(x_606X, y_607X);
  if (b_608X) {
    return 5;}
  else {
    return 1;}}
}
long s48_make_blank_return_code(long protocol_609X, long template_610X, long frame_size_611X, long opcode_count_612X)
{

 {s48_make_availableAgc((4 + (-4 & (18 + opcode_count_612X))));
  return make_blank_return_code(protocol_609X, template_610X, frame_size_611X, opcode_count_612X, 0);}
}
long s48_enter_string_latin_1_n(char *s_613X, long count_614X)
{

 {  return enter_stringAgc_n(s_613X, count_614X);}
}
long s48_integer_or_floanum_E(long x_615X, long y_616X)
{
  char arg3K0;
  char v_618X;
  char b_617X;
 {  if ((3 == (3 & x_615X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_615X))) + -4))))>>2))))) {
      arg3K0 = ((*((double *) (((char *) (-3 + x_615X))))) == (*((double *) (((char *) (-3 + y_616X))))));
      goto L20876;}
    else {
      goto L20872;}}
  else {
    goto L20872;}}
 L20876: {
  b_617X = arg3K0;
  if (b_617X) {
    return 5;}
  else {
    return 1;}}
 L20872: {
  v_618X = integerE(x_615X, y_616X);
  arg3K0 = v_618X;
  goto L20876;}
}
void s48_close_channel(long os_index_619X)
{
  long obj_620X;
 {  if ((os_index_619X < 0)) {
    return;}
  else {
    if ((os_index_619X < (Snumber_of_channelsS))) {
      obj_620X = *((Svm_channelsS) + os_index_619X);
      if ((3 == (3 & obj_620X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_620X))) + -4))))>>2))))) {close_channelB((*((Svm_channelsS) + os_index_619X)));
          return;}
        else {
          return;}}
      else {
        return;}}
    else {
      return;}}}
}
long s48_enter_string_latin_1(char *s_621X)
{

 {  return enter_stringAgc_n(s_621X, (strlen((char *) s_621X)));}
}
void s48_string_set(long s_622X, long i_623X, long c_624X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long shifted_629X;
  long j_628X;
  long bits_627X;
  long max_626X;
  long v_625X;
 {  if ((3 == (3 & s_622X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_622X))) + -4))))>>2))))) {
      goto L24336;}
    else {s48_raise_argument_type_error(s_622X);
      goto L24336;}}
  else {s48_raise_argument_type_error(s_622X);
    goto L24336;}}
 L24336: {
  v_625X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_622X))) + -4))))>>8)) / 4;
  max_626X = -1 + v_625X;
  if ((i_623X < 0)) {
    goto L24358;}
  else {
    if ((max_626X < i_623X)) {
      goto L24358;}
    else {
      goto L24338;}}}
 L24358: {
s48_raise_range_error((((i_623X)<<2)), 0, (((max_626X)<<2)));
  goto L24338;}
 L24338: {
  arg0K0 = 0;
  arg0K1 = 0;
  arg0K2 = c_624X;
  goto L24378;}
 L24378: {
  bits_627X = arg0K0;
  j_628X = arg0K1;
  shifted_629X = arg0K2;
  if ((j_628X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_622X))) + ((((i_623X)<<2)) + j_628X))) = (unsigned char) ((255 & shifted_629X));
    arg0K0 = (8 + bits_627X);
    arg0K1 = (1 + j_628X);
    arg0K2 = ((long)(((unsigned long)shifted_629X)>>8));
    goto L24378;}
  else {
    return;}}
}
long s48_string_ref(long s_630X, long i_631X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long x_637X;
  long scalar_value_636X;
  long j_635X;
  long bits_634X;
  long max_633X;
  long v_632X;
 {  if ((3 == (3 & s_630X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_630X))) + -4))))>>2))))) {
      goto L24400;}
    else {s48_raise_argument_type_error(s_630X);
      goto L24400;}}
  else {s48_raise_argument_type_error(s_630X);
    goto L24400;}}
 L24400: {
  v_632X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_630X))) + -4))))>>8)) / 4;
  max_633X = -1 + v_632X;
  if ((i_631X < 0)) {
    goto L24422;}
  else {
    if ((max_633X < i_631X)) {
      goto L24422;}
    else {
      goto L24402;}}}
 L24422: {
s48_raise_range_error((((i_631X)<<2)), 0, (((max_633X)<<2)));
  goto L24402;}
 L24402: {
  arg0K0 = 0;
  arg0K1 = 0;
  arg0K2 = 0;
  goto L24441;}
 L24441: {
  bits_634X = arg0K0;
  j_635X = arg0K1;
  scalar_value_636X = arg0K2;
  if ((j_635X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + s_630X))) + ((((i_631X)<<2)) + j_635X)))), bits_634X, x_637X)
    arg0K0 = (8 + bits_634X);
    arg0K1 = (1 + j_635X);
    arg0K2 = (x_637X + scalar_value_636X);
    goto L24441;}
  else {
    return scalar_value_636X;}}
}
long s48_string_length(long s_638X)
{

 {  if ((3 == (3 & s_638X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_638X))) + -4))))>>2))))) {
      goto L24460;}
    else {s48_raise_argument_type_error(s_638X);
      goto L24460;}}
  else {s48_raise_argument_type_error(s_638X);
    goto L24460;}}
 L24460: {
  return (((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_638X))) + -4))))>>8)) / 4);}
}
void s48_copy_latin_1_to_string_n(char *string_639X, long len_640X, long vm_string_641X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long shifted_647X;
  long j_646X;
  long bits_645X;
  long c_644X;
  long i_643X;
  long max_642X;
 {  if ((3 == (3 & vm_string_641X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_641X))) + -4))))>>2))))) {
      goto L24488;}
    else {s48_raise_argument_type_error(vm_string_641X);
      goto L24488;}}
  else {s48_raise_argument_type_error(vm_string_641X);
    goto L24488;}}
 L24488: {
  max_642X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_641X))) + -4))))>>8)) / 4;
  if ((len_640X < 0)) {
    goto L24512;}
  else {
    if ((max_642X < len_640X)) {
      goto L24512;}
    else {
      goto L24492;}}}
 L24512: {
s48_raise_range_error((((len_640X)<<2)), 0, (((max_642X)<<2)));
  goto L24492;}
 L24492: {
  arg0K0 = 0;
  goto L24530;}
 L24530: {
  i_643X = arg0K0;
  if ((i_643X < len_640X)) {
    c_644X = ((unsigned char) (*(string_639X + i_643X)));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = c_644X;
    goto L24541;}
  else {
    return;}}
 L24541: {
  bits_645X = arg0K0;
  j_646X = arg0K1;
  shifted_647X = arg0K2;
  if ((j_646X < 4)) {
    *((unsigned char *) ((((char *) (-3 + vm_string_641X))) + ((((i_643X)<<2)) + j_646X))) = (unsigned char) ((255 & shifted_647X));
    arg0K0 = (8 + bits_645X);
    arg0K1 = (1 + j_646X);
    arg0K2 = ((long)(((unsigned long)shifted_647X)>>8));
    goto L24541;}
  else {
    arg0K0 = (1 + i_643X);
    goto L24530;}}
}
void s48_copy_latin_1_to_string(char *string_648X, long vm_string_649X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long shifted_656X;
  long j_655X;
  long bits_654X;
  long c_653X;
  long i_652X;
  long i_651X;
  long max_650X;
 {  if ((3 == (3 & vm_string_649X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_649X))) + -4))))>>2))))) {
      goto L24564;}
    else {s48_raise_argument_type_error(vm_string_649X);
      goto L24564;}}
  else {s48_raise_argument_type_error(vm_string_649X);
    goto L24564;}}
 L24564: {
  max_650X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_649X))) + -4))))>>8)) / 4;
  i_651X = strlen((char *) string_648X);
  if ((i_651X < 0)) {
    goto L24590;}
  else {
    if ((max_650X < i_651X)) {
      goto L24590;}
    else {
      goto L24570;}}}
 L24590: {
s48_raise_range_error((((i_651X)<<2)), 0, (((max_650X)<<2)));
  goto L24570;}
 L24570: {
  arg0K0 = 0;
  goto L24608;}
 L24608: {
  i_652X = arg0K0;
  if ((i_652X < (strlen((char *) string_648X)))) {
    c_653X = ((unsigned char) (*(string_648X + i_652X)));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = c_653X;
    goto L24619;}
  else {
    return;}}
 L24619: {
  bits_654X = arg0K0;
  j_655X = arg0K1;
  shifted_656X = arg0K2;
  if ((j_655X < 4)) {
    *((unsigned char *) ((((char *) (-3 + vm_string_649X))) + ((((i_652X)<<2)) + j_655X))) = (unsigned char) ((255 & shifted_656X));
    arg0K0 = (8 + bits_654X);
    arg0K1 = (1 + j_655X);
    arg0K2 = ((long)(((unsigned long)shifted_656X)>>8));
    goto L24619;}
  else {
    arg0K0 = (1 + i_652X);
    goto L24608;}}
}
void s48_copy_string_to_latin_1(long vm_string_657X, char *string_658X)
{
  long v_659X;
 {  if ((3 == (3 & vm_string_657X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_657X))) + -4))))>>2))))) {
      goto L24642;}
    else {s48_raise_argument_type_error(vm_string_657X);
      goto L24642;}}
  else {s48_raise_argument_type_error(vm_string_657X);
    goto L24642;}}
 L24642: {
  v_659X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_657X))) + -4))))>>8)) / 4;
  copy_vm_string_to_stringUlatin_1B(vm_string_657X, 0, v_659X, string_658X);
  return;}
}
void s48_copy_string_to_latin_1_n(long vm_string_660X, long start_661X, long count_662X, char *string_663X)
{
  long max_667X;
  long v_666X;
  long max_665X;
  long v_664X;
 {  if ((3 == (3 & vm_string_660X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>2))))) {
      goto L24673;}
    else {s48_raise_argument_type_error(vm_string_660X);
      goto L24673;}}
  else {s48_raise_argument_type_error(vm_string_660X);
    goto L24673;}}
 L24673: {
  v_664X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>8)) / 4;
  max_665X = -1 + v_664X;
  if ((start_661X < 0)) {
    goto L24699;}
  else {
    if ((max_665X < start_661X)) {
      goto L24699;}
    else {
      goto L24675;}}}
 L24699: {
s48_raise_range_error((((start_661X)<<2)), 0, (((max_665X)<<2)));
  goto L24675;}
 L24675: {
  v_666X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>8)) / 4;
  max_667X = v_666X - start_661X;
  if ((count_662X < 0)) {
    goto L24716;}
  else {
    if ((max_667X < count_662X)) {
      goto L24716;}
    else {
      copy_vm_string_to_stringUlatin_1B(vm_string_660X, start_661X, count_662X, string_663X);
      return;}}}
 L24716: {
s48_raise_range_error((((count_662X)<<2)), 0, (((max_667X)<<2)));
  copy_vm_string_to_stringUlatin_1B(vm_string_660X, start_661X, count_662X, string_663X);
  return;}
}
long s48_string_utf_8_length(long vm_string_668X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long count_678X;
  char v_677X;
  char v_676X;
  long x_675X;
  long scalar_value_674X;
  long j_673X;
  long bits_672X;
  long char_index_671X;
  long utf_8_length_670X;
  long count_669X;
 {  if ((3 == (3 & vm_string_668X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_668X))) + -4))))>>2))))) {
      goto L24745;}
    else {s48_raise_argument_type_error(vm_string_668X);
      goto L24745;}}
  else {s48_raise_argument_type_error(vm_string_668X);
    goto L24745;}}
 L24745: {
  count_669X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_668X))) + -4))))>>8)) / 4;
  arg0K0 = 0;
  arg0K1 = 0;
  goto L24772;}
 L24772: {
  utf_8_length_670X = arg0K0;
  char_index_671X = arg0K1;
  if ((char_index_671X < count_669X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L24781;}
  else {
    return utf_8_length_670X;}}
 L24781: {
  bits_672X = arg0K0;
  j_673X = arg0K1;
  scalar_value_674X = arg0K2;
  if ((j_673X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_668X))) + ((((char_index_671X)<<2)) + j_673X)))), bits_672X, x_675X)
    arg0K0 = (8 + bits_672X);
    arg0K1 = (1 + j_673X);
    arg0K2 = (x_675X + scalar_value_674X);
    goto L24781;}
  else {encode_scalar_value(2, scalar_value_674X, (((char *) 0)), 0, &v_676X, &v_677X, &count_678X);
    arg0K0 = (utf_8_length_670X + count_678X);
    arg0K1 = (1 + char_index_671X);
    goto L24772;}}
}
long s48_string_utf_8_length_n(long vm_string_679X, long start_index_680X, long count_681X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long count_694X;
  char v_693X;
  char v_692X;
  long x_691X;
  long scalar_value_690X;
  long j_689X;
  long bits_688X;
  long char_index_687X;
  long utf_8_length_686X;
  long max_685X;
  long v_684X;
  long max_683X;
  long v_682X;
 {  if ((3 == (3 & vm_string_679X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>2))))) {
      goto L24804;}
    else {s48_raise_argument_type_error(vm_string_679X);
      goto L24804;}}
  else {s48_raise_argument_type_error(vm_string_679X);
    goto L24804;}}
 L24804: {
  v_682X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>8)) / 4;
  max_683X = -1 + v_682X;
  if ((start_index_680X < 0)) {
    goto L24830;}
  else {
    if ((max_683X < start_index_680X)) {
      goto L24830;}
    else {
      goto L24806;}}}
 L24830: {
s48_raise_range_error((((start_index_680X)<<2)), 0, (((max_683X)<<2)));
  goto L24806;}
 L24806: {
  v_684X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>8)) / 4;
  max_685X = v_684X - start_index_680X;
  if ((count_681X < 0)) {
    goto L24847;}
  else {
    if ((max_685X < count_681X)) {
      goto L24847;}
    else {
      goto L24810;}}}
 L24847: {
s48_raise_range_error((((count_681X)<<2)), 0, (((max_685X)<<2)));
  goto L24810;}
 L24810: {
  arg0K0 = 0;
  arg0K1 = 0;
  goto L24866;}
 L24866: {
  utf_8_length_686X = arg0K0;
  char_index_687X = arg0K1;
  if ((char_index_687X < count_681X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L24875;}
  else {
    return utf_8_length_686X;}}
 L24875: {
  bits_688X = arg0K0;
  j_689X = arg0K1;
  scalar_value_690X = arg0K2;
  if ((j_689X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_679X))) + (((((start_index_680X + char_index_687X))<<2)) + j_689X)))), bits_688X, x_691X)
    arg0K0 = (8 + bits_688X);
    arg0K1 = (1 + j_689X);
    arg0K2 = (x_691X + scalar_value_690X);
    goto L24875;}
  else {encode_scalar_value(2, scalar_value_690X, (((char *) 0)), 0, &v_692X, &v_693X, &count_694X);
    arg0K0 = (utf_8_length_686X + count_694X);
    arg0K1 = (1 + char_index_687X);
    goto L24866;}}
}
void s48_copy_string_to_utf_8(long vm_string_695X, char * string_696X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long count_706X;
  char v_705X;
  char v_704X;
  long x_703X;
  long scalar_value_702X;
  long j_701X;
  long bits_700X;
  long target_index_699X;
  long source_index_698X;
  long count_697X;
 {  if ((3 == (3 & vm_string_695X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_695X))) + -4))))>>2))))) {
      goto L24905;}
    else {s48_raise_argument_type_error(vm_string_695X);
      goto L24905;}}
  else {s48_raise_argument_type_error(vm_string_695X);
    goto L24905;}}
 L24905: {
  count_697X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_695X))) + -4))))>>8)) / 4;
  arg0K0 = 0;
  arg0K1 = 0;
  goto L24933;}
 L24933: {
  source_index_698X = arg0K0;
  target_index_699X = arg0K1;
  if ((source_index_698X < count_697X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L24942;}
  else {
    return;}}
 L24942: {
  bits_700X = arg0K0;
  j_701X = arg0K1;
  scalar_value_702X = arg0K2;
  if ((j_701X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_695X))) + ((((source_index_698X)<<2)) + j_701X)))), bits_700X, x_703X)
    arg0K0 = (8 + bits_700X);
    arg0K1 = (1 + j_701X);
    arg0K2 = (x_703X + scalar_value_702X);
    goto L24942;}
  else {encode_scalar_value(2, scalar_value_702X, (string_696X + target_index_699X), 4, &v_704X, &v_705X, &count_706X);
    arg0K0 = (1 + source_index_698X);
    arg0K1 = (target_index_699X + count_706X);
    goto L24933;}}
}
void s48_copy_string_to_utf_8_n(long vm_string_707X, long start_708X, long count_709X, char * string_710X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long count_723X;
  char v_722X;
  char v_721X;
  long x_720X;
  long scalar_value_719X;
  long j_718X;
  long bits_717X;
  long target_index_716X;
  long source_index_715X;
  long max_714X;
  long v_713X;
  long max_712X;
  long v_711X;
 {  if ((3 == (3 & vm_string_707X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>2))))) {
      goto L24966;}
    else {s48_raise_argument_type_error(vm_string_707X);
      goto L24966;}}
  else {s48_raise_argument_type_error(vm_string_707X);
    goto L24966;}}
 L24966: {
  v_711X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>8)) / 4;
  max_712X = -1 + v_711X;
  if ((start_708X < 0)) {
    goto L24992;}
  else {
    if ((max_712X < start_708X)) {
      goto L24992;}
    else {
      goto L24968;}}}
 L24992: {
s48_raise_range_error((((start_708X)<<2)), 0, (((max_712X)<<2)));
  goto L24968;}
 L24968: {
  v_713X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>8)) / 4;
  max_714X = v_713X - start_708X;
  if ((count_709X < 0)) {
    goto L25009;}
  else {
    if ((max_714X < count_709X)) {
      goto L25009;}
    else {
      goto L24972;}}}
 L25009: {
s48_raise_range_error((((count_709X)<<2)), 0, (((max_714X)<<2)));
  goto L24972;}
 L24972: {
  arg0K0 = 0;
  arg0K1 = 0;
  goto L25029;}
 L25029: {
  source_index_715X = arg0K0;
  target_index_716X = arg0K1;
  if ((source_index_715X < count_709X)) {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = 0;
    goto L25038;}
  else {
    return;}}
 L25038: {
  bits_717X = arg0K0;
  j_718X = arg0K1;
  scalar_value_719X = arg0K2;
  if ((j_718X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_707X))) + (((((start_708X + source_index_715X))<<2)) + j_718X)))), bits_717X, x_720X)
    arg0K0 = (8 + bits_717X);
    arg0K1 = (1 + j_718X);
    arg0K2 = (x_720X + scalar_value_719X);
    goto L25038;}
  else {encode_scalar_value(2, scalar_value_719X, (string_710X + target_index_716X), 4, &v_721X, &v_722X, &count_723X);
    arg0K0 = (1 + source_index_715X);
    arg0K1 = (target_index_716X + count_723X);
    goto L25029;}}
}
void check_stack(void)
{
  char * arg2K0;
  char * arg2K1;
  long arg0K0;
  long v_746X;
  char x_745X;
  long x_744X;
  char * ptr_743X;
  long mask_742X;
  long size_741X;
  char * pointer_740X;
  char x_739X;
  long x_738X;
  char * addr_737X;
  char * trace_ptr_736X;
  char * mask_ptr_735X;
  long v_734X;
  char * mask_pointer_733X;
  long size_732X;
  char * pointer_731X;
  char * contents_pointer_730X;
  long mask_size_729X;
  char * code_pointer_728X;
  char * cont_727X;
  char x_726X;
  long x_725X;
  char * index_724X;
 {  arg2K0 = (SstackS);
  goto L25154;}
 L25154: {
  index_724X = arg2K0;
  if ((index_724X < ((SstackS) + (-4 & ((ScontS) - (SstackS)))))) {
    x_725X = *((long *) index_724X);
    if ((2 == (3 & x_725X))) {
      goto L25216;}
    else {
      if ((3 == (3 & x_725X))) {
        x_726X = s48_stob_in_heapP(x_725X);
        if (x_726X) {
          goto L25163;}
        else {
          goto L25216;}}
      else {
        goto L25163;}}}
  else {
    arg2K0 = (ScontS);
    goto L25258;}}
 L25216: {
  ps_write_string("bad descriptor in stack", (stderr));
  ps_write_integer(x_725X, (stderr));
  ps_write_integer((*((long *) (((char *) 0)))), (stderr));
  goto L25163;}
 L25163: {
  arg2K0 = (index_724X + 4);
  goto L25154;}
 L25258: {
  cont_727X = arg2K0;
  if ((cont_727X == (Sbottom_of_stackS))) {
    return;}
  else {
    code_pointer_728X = ((char *) (*((long *) cont_727X)));
    mask_size_729X = *((unsigned char *) (code_pointer_728X + -3));
    contents_pointer_730X = cont_727X + 4;
    if ((0 == mask_size_729X)) {
      pointer_731X = (((char *) (*((long *) cont_727X)))) + -2;
      size_732X = ((((*((unsigned char *) pointer_731X)))<<8)) + (*((unsigned char *) (pointer_731X + 1)));
      if ((65535 == size_732X)) {
        arg0K0 = ((((*((long *) (cont_727X + 4))))>>2));
        goto L18834;}
      else {
        arg0K0 = size_732X;
        goto L18834;}}
    else {
      mask_pointer_733X = code_pointer_728X + -7;
      arg2K0 = (mask_pointer_733X + (0 - mask_size_729X));
      arg2K1 = contents_pointer_730X;
      goto L7945;}}}
 L18834: {
  v_734X = arg0K0;
  arg2K0 = contents_pointer_730X;
  goto L7886;}
 L7945: {
  mask_ptr_735X = arg2K0;
  trace_ptr_736X = arg2K1;
  if ((mask_ptr_735X == mask_pointer_733X)) {
    goto L21484;}
  else {
    arg0K0 = (*((unsigned char *) mask_ptr_735X));
    arg2K1 = trace_ptr_736X;
    goto L7953;}}
 L7886: {
  addr_737X = arg2K0;
  if ((addr_737X < (cont_727X + (4 + (((v_734X)<<2)))))) {
    x_738X = *((long *) addr_737X);
    if ((2 == (3 & x_738X))) {
      goto L7904;}
    else {
      if ((3 == (3 & x_738X))) {
        x_739X = s48_stob_in_heapP(x_738X);
        if (x_739X) {
          goto L7891;}
        else {
          goto L7904;}}
      else {
        goto L7891;}}}
  else {
    goto L21484;}}
 L21484: {
  pointer_740X = (((char *) (*((long *) cont_727X)))) + -2;
  size_741X = ((((*((unsigned char *) pointer_740X)))<<8)) + (*((unsigned char *) (pointer_740X + 1)));
  if ((65535 == size_741X)) {
    arg0K0 = ((((*((long *) (cont_727X + 4))))>>2));
    goto L21489;}
  else {
    arg0K0 = size_741X;
    goto L21489;}}
 L7953: {
  mask_742X = arg0K0;
  ptr_743X = arg2K1;
  if ((0 == mask_742X)) {
    arg2K0 = (mask_ptr_735X + 1);
    arg2K1 = (trace_ptr_736X + 32);
    goto L7945;}
  else {
    if ((1 == (1 & mask_742X))) {
      x_744X = *((long *) ptr_743X);
      if ((2 == (3 & x_744X))) {
        goto L8010;}
      else {
        if ((3 == (3 & x_744X))) {
          x_745X = s48_stob_in_heapP(x_744X);
          if (x_745X) {
            goto L7969;}
          else {
            goto L8010;}}
        else {
          goto L7969;}}}
    else {
      goto L7969;}}}
 L7904: {
  ps_write_string("bad descriptor in stack", (stderr));
  ps_write_integer(x_738X, (stderr));
  ps_write_integer((*((long *) (((char *) 0)))), (stderr));
  goto L7891;}
 L7891: {
  arg2K0 = (addr_737X + 4);
  goto L7886;}
 L21489: {
  v_746X = arg0K0;
  arg2K0 = (cont_727X + (4 + (((v_746X)<<2))));
  goto L25258;}
 L8010: {
  ps_write_string("bad descriptor in stack", (stderr));
  ps_write_integer(x_744X, (stderr));
  ps_write_integer((*((long *) (((char *) 0)))), (stderr));
  goto L7969;}
 L7969: {
  arg0K0 = (((mask_742X)>>1));
  arg2K1 = (ptr_743X + 4);
  goto L7953;}
}
long s48_really_add_channel(long mode_747X, long id_748X, long os_index_749X)
{
  long arg0K1;
  long arg0K0;
  long status_754X;
  long channel_753X;
  long channel_752X;
  char x_751X;
  char temp_750X;
 {s48_make_availableAgc(32);
  temp_750X = os_index_749X < (Snumber_of_channelsS);
  if (temp_750X) {
    goto L25551;}
  else {
    x_751X = add_more_channels(os_index_749X);
    if (x_751X) {
      goto L25551;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L25525;}}}
 L25551: {
  if ((1 == (*((Svm_channelsS) + os_index_749X)))) {
    channel_752X = make_channel((-4 & mode_747X), id_748X, (((os_index_749X)<<2)), 1, 1, 1, 1, 0);
    *((Svm_channelsS) + os_index_749X) = channel_752X;
    arg0K0 = channel_752X;
    arg0K1 = 9;
    goto L25525;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L25525;}}
 L25525: {
  channel_753X = arg0K0;
  status_754X = arg0K1;
  if ((3 == (3 & channel_753X))) {
    if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_753X))) + -4))))>>2))))) {
      return channel_753X;}
    else {
      goto L25533;}}
  else {
    goto L25533;}}
 L25533: {
  return (((status_754X)<<2));}
}
long s48_integer_bit_count(long x_755X)
{

 {  return integer_bit_count(x_755X);}
}
long s48_enter_integer(long x_756X)
{
  char * v_757X;
 {s48_make_availableAgc(16);
  if ((536870911 < x_756X)) {
    goto L26156;}
  else {
    if ((x_756X < -536870912)) {
      goto L26156;}
    else {
      return (((x_756X)<<2));}}}
 L26156: {
  v_757X = (char *) s48_long_to_bignum(x_756X);
  return enter_bignum(v_757X);}
}
long s48_integer_or_floanum_add(long x_758X, long y_759X)
{
  long Kdouble_765X;
  char * addr_764X;
  double y_763X;
  long value_762X;
  double x_761X;
  long value_760X;
 {  if ((3 == (3 & x_758X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_758X))) + -4))))>>2))))) {
      Stemp0S = x_758X;
      Stemp1S = y_759X;s48_make_availableAgc(12);
      value_760X = Stemp0S;
      Stemp0S = 1;
      x_761X = *((double *) (((char *) (-3 + value_760X))));
      value_762X = Stemp1S;
      Stemp1S = 1;
      y_763X = *((double *) (((char *) (-3 + value_762X))));
      addr_764X = s48_allocate_small(12);
      *((long *) addr_764X) = (long) (2122);
      Kdouble_765X = 3 + (((long) (addr_764X + 4)));
      *((double *) (((char *) (-3 + Kdouble_765X)))) = (double) ((x_761X + y_763X));
      return Kdouble_765X;}
    else {
      return integer_add(x_758X, y_759X);}}
  else {
    return integer_add(x_758X, y_759X);}}
}
long s48_integer_or_floanum_sub(long x_766X, long y_767X)
{
  long Kdouble_773X;
  char * addr_772X;
  double y_771X;
  long value_770X;
  double x_769X;
  long value_768X;
 {  if ((3 == (3 & x_766X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_766X))) + -4))))>>2))))) {
      Stemp0S = x_766X;
      Stemp1S = y_767X;s48_make_availableAgc(12);
      value_768X = Stemp0S;
      Stemp0S = 1;
      x_769X = *((double *) (((char *) (-3 + value_768X))));
      value_770X = Stemp1S;
      Stemp1S = 1;
      y_771X = *((double *) (((char *) (-3 + value_770X))));
      addr_772X = s48_allocate_small(12);
      *((long *) addr_772X) = (long) (2122);
      Kdouble_773X = 3 + (((long) (addr_772X + 4)));
      *((double *) (((char *) (-3 + Kdouble_773X)))) = (double) ((x_769X - y_771X));
      return Kdouble_773X;}
    else {
      return integer_subtract(x_766X, y_767X);}}
  else {
    return integer_subtract(x_766X, y_767X);}}
}
long s48_integer_or_floanum_mul(long x_774X, long y_775X)
{
  long Kdouble_781X;
  char * addr_780X;
  double y_779X;
  long value_778X;
  double x_777X;
  long value_776X;
 {  if ((3 == (3 & x_774X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_774X))) + -4))))>>2))))) {
      Stemp0S = x_774X;
      Stemp1S = y_775X;s48_make_availableAgc(12);
      value_776X = Stemp0S;
      Stemp0S = 1;
      x_777X = *((double *) (((char *) (-3 + value_776X))));
      value_778X = Stemp1S;
      Stemp1S = 1;
      y_779X = *((double *) (((char *) (-3 + value_778X))));
      addr_780X = s48_allocate_small(12);
      *((long *) addr_780X) = (long) (2122);
      Kdouble_781X = 3 + (((long) (addr_780X + 4)));
      *((double *) (((char *) (-3 + Kdouble_781X)))) = (double) ((x_777X * y_779X));
      return Kdouble_781X;}
    else {
      return integer_multiply(x_774X, y_775X);}}
  else {
    return integer_multiply(x_774X, y_775X);}}
}
long s48_integer_bitwise_not(long x_782X)
{

 {  return integer_bitwise_not(x_782X);}
}
long s48_integer_bitwise_and(long x_783X, long y_784X)
{

 {  return integer_bitwise_and(x_783X, y_784X);}
}
long s48_integer_bitwise_ior(long x_785X, long y_786X)
{

 {  return integer_bitwise_ior(x_785X, y_786X);}
}
long s48_integer_bitwise_xor(long x_787X, long y_788X)
{

 {  return integer_bitwise_xor(x_787X, y_788X);}
}
void s48_setup_external_exception(long why_789X, long nargs_790X)
{

 {push_exception_setupB(why_789X, 1);
  if ((10 < nargs_790X)) {
    ps_error("too many arguments from external exception", 0);
    goto L27185;}
  else {
    goto L27185;}}
 L27185: {
  Sexternal_exception_nargsS = nargs_790X;
  Sexternal_exceptionPS = 1;
  return;}
}
long s48_integer_quotient(long x_791X, long y_792X)
{

 {  return Hinteger_op8341(x_791X, y_792X);}
}
long s48_integer_remainder(long x_793X, long y_794X)
{

 {  return Hinteger_op8272(x_793X, y_794X);}
}
void s48_copy_stack_into_heap(void)
{
  char * arg2K1;
  char * arg2K0;
  char * arg_798X;
  char * loc_797X;
  char * top_796X;
  long arg_count_795X;
 {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  arg_count_795X = ((((ScontS) - (SstackS)))>>2);
  top_796X = SstackS;
  if ((1 == (((long) (ScontS))))) {
    goto L27233;}
  else {really_preserve_continuation(0);
    goto L27233;}}
 L27233: {
  SstackS = (ScontS);
  arg2K0 = ((SstackS) + -4);
  arg2K1 = (top_796X + (-4 + (((arg_count_795X)<<2))));
  goto L27262;}
 L27262: {
  loc_797X = arg2K0;
  arg_798X = arg2K1;
  if ((arg_798X < top_796X)) {
    SstackS = ((SstackS) + (0 - (((arg_count_795X)<<2))));
    return;}
  else {
    *((long *) loc_797X) = (long) ((*((long *) arg_798X)));
    arg2K0 = (loc_797X + -4);
    arg2K1 = (arg_798X + -4);
    goto L27262;}}
}
long s48_get_imported_binding(char *name_799X)
{
  long value_801X;
  long value_800X;
 {  value_800X = enter_stringAgc_n(name_799X, (strlen((char *) name_799X)));
  Stemp0S = value_800X;s48_make_availableAgc(20);
  value_801X = Stemp0S;
  Stemp0S = 1;
  return Hlookup2943((Sexported_bindingsS), value_801X, 0);}
}
void s48_define_exported_binding(char *name_802X, long value_803X)
{
  char * addr_808X;
  long x_807X;
  long value_806X;
  long value_805X;
  long name_804X;
 {  Stemp0S = value_803X;
  name_804X = enter_stringAgc_n(name_802X, (strlen((char *) name_802X)));
  Stemp1S = name_804X;s48_make_availableAgc(20);
  value_805X = Stemp1S;
  Stemp1S = 1;
  value_806X = Stemp0S;
  Stemp0S = 1;
  x_807X = Hlookup2924((Simported_bindingsS), value_805X, 0);
  addr_808X = (((char *) (-3 + x_807X))) + 8;S48_WRITE_BARRIER(x_807X, addr_808X, value_806X);
  *((long *) addr_808X) = (long) (value_806X);
  return;}
}
void s48_initialize_vm(char * stack_begin_809X, long stack_size_810X)
{
  char * arg2K0;
  long arg0K1;
  long arg0K0;

  int make_hash_tableAgc_return_tag;
  long make_hash_tableAgc0_return_value;
  char * addr_850X;
  long i_849X;
  long table_848X;
  long vector_847X;
  char * addr_846X;
  char * addr_845X;
  long x_844X;
  long v_843X;
  long vector_842X;
  char * addr_841X;
  long blank_return_code_840X;
  long blank_return_code_839X;
  long blank_return_code_838X;
  long blank_return_code_837X;
  long blank_return_code_836X;
  long blank_return_code_835X;
  long blank_return_code_834X;
  char * a_833X;
  long size_832X;
  char * start_831X;
  char * addr_830X;
  long value_829X;
  char * stack_828X;
  char * addr_827X;
  long val_826X;
  long index_825X;
  long v_824X;
  long foo_823X;
  long table_822X;
  long i_821X;
  long v_820X;
  long v_819X;
  long exported_bindings_818X;
  long imported_bindings_817X;
  long n_816X;
  long symbols_815X;
  long maybe_814X;
  long maybe_813X;
  long v_812X;
  long symbol_table_811X;
 {  symbol_table_811X = s48_initial_symbols();
  if ((symbol_table_811X == 1)) {
    make_hash_tableAgc_return_tag = 0;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_0:
    v_812X = make_hash_tableAgc0_return_value;
    Sthe_symbol_tableS = v_812X;
    maybe_813X = s48_find_all(1);
    if ((maybe_813X == 1)) {s48_collect(1);
      maybe_814X = s48_find_all(1);
      if ((maybe_814X == 1)) {
        ps_error("insufficient heap space to build symbol table", 0);
        arg0K0 = maybe_814X;
        goto L27370;}
      else {
        arg0K0 = maybe_814X;
        goto L27370;}}
    else {
      arg0K0 = maybe_813X;
      goto L27370;}}
  else {
    Sthe_symbol_tableS = symbol_table_811X;
    goto L28044;}}
 L27370: {
  symbols_815X = arg0K0;
  n_816X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_815X))) + -4))))>>8))))>>2);
  arg0K0 = 0;
  goto L27391;}
 L28044: {
  imported_bindings_817X = s48_initial_imported_bindings();
  exported_bindings_818X = s48_initial_exported_bindings();
  if ((1 == imported_bindings_817X)) {
    make_hash_tableAgc_return_tag = 1;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_1:
    v_819X = make_hash_tableAgc0_return_value;
    Simported_bindingsS = v_819X;
    make_hash_tableAgc_return_tag = 2;
    goto make_hash_tableAgc;
   make_hash_tableAgc_return_2:
    v_820X = make_hash_tableAgc0_return_value;
    Sexported_bindingsS = v_820X;
    goto L28050;}
  else {
    Simported_bindingsS = imported_bindings_817X;
    Sexported_bindingsS = exported_bindings_818X;
    goto L28050;}}
 L27391: {
  i_821X = arg0K0;
  if ((i_821X == n_816X)) {
    goto L28044;}
  else {
    table_822X = Sthe_symbol_tableS;
    foo_823X = *((long *) ((((char *) (-3 + symbols_815X))) + (((i_821X)<<2))));
    v_824X = Haction4940((*((long *) (((char *) (-3 + foo_823X))))));
    index_825X = 1023 & v_824X;
    val_826X = *((long *) ((((char *) (-3 + table_822X))) + (((index_825X)<<2))));
    addr_827X = (((char *) (-3 + foo_823X))) + 4;S48_WRITE_BARRIER(foo_823X, addr_827X, val_826X);
    *((long *) addr_827X) = (long) (val_826X);
    if ((3 == (3 & foo_823X))) {
      arg0K0 = (-4 & foo_823X);
      goto L26707;}
    else {
      arg0K0 = foo_823X;
      goto L26707;}}}
 L28050: {
  if ((stack_size_810X < 8128)) {
    stack_828X = (char *)malloc(32512);
    if ((stack_828X == NULL)) {
      ps_error("out of memory, unable to continue", 0);
      arg2K0 = stack_828X;
      arg0K1 = 8128;
      goto L22169;}
    else {
      arg2K0 = stack_828X;
      arg0K1 = 8128;
      goto L22169;}}
  else {
    arg2K0 = stack_begin_809X;
    arg0K1 = stack_size_810X;
    goto L22169;}}
 L26707: {
  value_829X = arg0K0;
  addr_830X = (((char *) (-3 + table_822X))) + (((index_825X)<<2));S48_WRITE_BARRIER(table_822X, addr_830X, value_829X);
  *((long *) addr_830X) = (long) (value_829X);
  arg0K0 = (1 + i_821X);
  goto L27391;}
 L22169: {
  start_831X = arg2K0;
  size_832X = arg0K1;
  Sstack_beginS = start_831X;
  Sstack_endS = (start_831X + (((size_832X)<<2)));
  Sreal_stack_limitS = ((Sstack_beginS) + 512);
  s48_Sstack_limitS = (Sreal_stack_limitS);
  SstackS = (Sstack_endS);
  ScontS = (((char *) 1));
  arg2K0 = start_831X;
  goto L22199;}
 L22199: {
  a_833X = arg2K0;
  if ((a_833X == (Sstack_endS))) {s48_make_availableAgc(20);
    blank_return_code_834X = make_blank_return_code(71, 65535, 0, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_834X))) + 15)) = (unsigned char) (0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    ScontS = (SstackS);
    *((long *) (ScontS)) = (long) ((((long) ((((char *) (-3 + blank_return_code_834X))) + 13))));
    Sbottom_of_stackS = (ScontS);
    Sheap_continuationS = 1;s48_make_availableAgc(120);
    blank_return_code_835X = make_blank_return_code(66, 65535, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_835X))) + 15)) = (unsigned char) (164);
    Sinterrupted_byte_opcode_return_codeS = blank_return_code_835X;
    blank_return_code_836X = make_blank_return_code(66, 65535, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_836X))) + 15)) = (unsigned char) (165);
    Sinterrupted_native_call_return_codeS = blank_return_code_836X;
    blank_return_code_837X = make_blank_return_code(66, 65535, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_837X))) + 15)) = (unsigned char) (166);
    Snative_poll_return_codeS = blank_return_code_837X;
    blank_return_code_838X = make_blank_return_code(1, 65535, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_838X))) + 15)) = (unsigned char) (160);
    Sexception_return_codeS = blank_return_code_838X;
    blank_return_code_839X = make_blank_return_code(1, 65535, 65535, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_839X))) + 15)) = (unsigned char) (161);
    Snative_exception_return_codeS = blank_return_code_839X;
    blank_return_code_840X = make_blank_return_code(70, 65535, 1, 1, 0);
    *((unsigned char *) ((((char *) (-3 + blank_return_code_840X))) + 15)) = (unsigned char) (0);
    Scall_with_values_return_codeS = blank_return_code_840X;s48_make_availableAgc(32);s48_bignum_make_cached_constants();
    addr_841X = s48_allocate_tracedAgc(8);
    if ((addr_841X == NULL)) {
      arg0K0 = 1;
      goto L28101;}
    else {
      *((long *) addr_841X) = (long) (1034);
      arg0K0 = (3 + (((long) (addr_841X + 4))));
      goto L28101;}}
  else {
    *((long *) a_833X) = (long) (252645135);
    arg2K0 = (a_833X + 4);
    goto L22199;}}
 L28101: {
  vector_842X = arg0K0;
  if ((1 == vector_842X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_842X;
    goto L28088;}
  else {
    arg0K0 = vector_842X;
    goto L28088;}}
 L28088: {
  v_843X = arg0K0;
  Sempty_logS = v_843X;
  x_844X = Sempty_logS;
  addr_845X = ((char *) (-3 + x_844X));S48_WRITE_BARRIER(x_844X, addr_845X, 1);
  *((long *) addr_845X) = (long) (1);
  return;}
 make_hash_tableAgc: {
{ addr_846X = s48_allocate_tracedAgc(4100);
  if ((addr_846X == NULL)) {
    arg0K0 = 1;
    goto L12749;}
  else {
    *((long *) addr_846X) = (long) (1048586);
    arg0K0 = (3 + (((long) (addr_846X + 4))));
    goto L12749;}}
 L12749: {
  vector_847X = arg0K0;
  if ((1 == vector_847X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_847X;
    goto L12737;}
  else {
    arg0K0 = vector_847X;
    goto L12737;}}
 L12737: {
  table_848X = arg0K0;
  arg0K0 = 0;
  goto L12772;}
 L12772: {
  i_849X = arg0K0;
  if ((1024 == i_849X)) {
    make_hash_tableAgc0_return_value = table_848X;
    goto make_hash_tableAgc_return;}
  else {
    addr_850X = (((char *) (-3 + table_848X))) + (((i_849X)<<2));S48_WRITE_BARRIER(table_848X, addr_850X, 1);
    *((long *) addr_850X) = (long) (1);
    arg0K0 = (1 + i_849X);
    goto L12772;}}
 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(char majorP_851X, char in_troubleP_852X)
{

 {  (Spost_gc_cleanupS)(majorP_851X, in_troubleP_852X);
  return;}
}
void s48_gc_root(void)
{

 {  (Sgc_root_procS)();
  return;}
}
long s48_restart(long proc_853X, long nargs_854X)
{
  char *arg4K0;
  char * arg2K1;
  char * arg2K0;
  char arg3K3;
  char arg3K1;
  char arg3K0;
  char arg3K2;
  long arg0K4;
  long arg0K3;
  long arg0K2;
  long arg0K1;
  long arg0K0;
  char *merged_arg4K0;
  FILE * merged_arg5K2;
  char merged_arg3K1;
  char * merged_arg2K0;
  long merged_arg0K3;
  long merged_arg0K2;
  long merged_arg0K1;
  long merged_arg0K0;

  int move_args_above_contB_return_tag;
  int s48_pop_interrupt_state_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 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_855X;
  long status_856X;
  long cont_857X;
  long stack_arg_count_858X;
  long list_859X;
  long marker_860X;
  long a_861X;
  long b_862X;
  long stob_863X;
  long index_864X;
  long stob_865X;
  long index_866X;
  long value_867X;
  long x_868X;
  long n_869X;
  long list_870X;
  long length_871X;
  long start_872X;
  long count_873X;
  long need_874X;
  long list_875X;
  long count_876X;
  long wants_stack_args_877X;
  long stack_arg_count_878X;
  long list_args_879X;
  long list_arg_count_880X;
  char * start_881X;
  long count_882X;
  long code_vector_883X;
  long template_884X;
  char not_firstP_885X;
  FILE * out_886X;
  char *message_887X;
  char * arg_2405X;
  char * loc_2404X;
  char * top_of_args_2403X;
  char * addr_2402X;
  long x_2401X;
  long proposal_2400X;
  long p_2399X;
  long shifted_2398X;
  long j_2397X;
  long bits_2396X;
  long c_2395X;
  long i_2394X;
  long new_2393X;
  char * addr_2392X;
  long len_2391X;
  long len_2390X;
  long x_2389X;
  char *string_2388X;
  char * new_stack_2387X;
  char * new_cont_2386X;
  long stack_size_2385X;
  char move_slowP_2384X;
  long slow_2383X;
  long len_2382X;
  long fast_2381X;
  char *v_2380X;
  long v_2379X;
  long obj_2378X;
  long env_2377X;
  long thread_2376X;
  long x_2375X;
  char * addr_2374X;
  long interrupt_bit_2373X;
  long status_2372X;
  long channel_2371X;
  long type_2370X;
  long v_2369X;
  long next_stob_2368X;
  long i_2367X;
  long log_2366X;
  char * addr_2365X;
  long next_stob_2364X;
  long i_2363X;
  long log_2362X;
  long v_2361X;
  long v_2360X;
  long n_2359X;
  long extra_2358X;
  long x_size_2357X;
  long v_2356X;
  long v_2355X;
  long size_2354X;
  char * pointer_2353X;
  char * cont_2352X;
  char * addr_2351X;
  long x_2350X;
  char * addr_2349X;
  long a_2348X;
  long last_2347X;
  long l_2346X;
  long x_2345X;
  char * addr_2344X;
  long a_2343X;
  long value_2342X;
  long x_2341X;
  char * addr_2340X;
  long a_2339X;
  long count_2338X;
  long args_2337X;
  long value_2336X;
  char interruptP_2335X;
  long x_2334X;
  long l_2333X;
  long i_2332X;
  long list_2331X;
  char v_2330X;
  long x_2329X;
  long v_2328X;
  long x_2327X;
  long v_2326X;
  long count_2325X;
  long x_2324X;
  long next_2323X;
  long i_2322X;
  long obj_2321X;
  long obj_2320X;
  long name_2319X;
  long v_2318X;
  long why_2317X;
  long size_2316X;
  char * pointer_2315X;
  char v_2314X;
  long v_2313X;
  long v_2312X;
  char v_2311X;
  long v_2310X;
  char not_firstP_2309X;
  long cont_2308X;
  long size_2307X;
  char * pointer_2306X;
  long v_2305X;
  char * pointer_2304X;
  char * code_pointer_2303X;
  long cont_2302X;
  char not_firstP_2301X;
  char * cont_2300X;
  char not_firstP_2299X;
  long template_2298X;
  FILE * out_2297X;
  long current_code_2296X;
  long v_2295X;
  long n_2294X;
  char v_2293X;
  long v_2292X;
  long v_2291X;
  long n_2290X;
  char v_2289X;
  long v_2288X;
  long y_2287X;
  long x_2286X;
  long rem_2285X;
  long quot_2284X;
  char div_by_zeroP_2283X;
  long v_2282X;
  long n_2281X;
  char v_2280X;
  long v_2279X;
  long v_2278X;
  long n_2277X;
  char v_2276X;
  long v_2275X;
  long v_2274X;
  long v_2273X;
  long stob_2272X;
  long v_2271X;
  long stob_2270X;
  char * addr_2269X;
  long x_2268X;
  char * addr_2267X;
  char * addr_2266X;
  long value_2265X;
  char * addr_2264X;
  long value_2263X;
  long copies_2262X;
  long v_2261X;
  long n_2260X;
  char v_2259X;
  long v_2258X;
  long n_2257X;
  char v_2256X;
  char * rem_2255X;
  char * quot_2254X;
  char div_by_zeroP_2253X;
  char * y_2252X;
  char *v_2251X;
  long link_2250X;
  long verify_2249X;
  long value_2248X;
  long copies_2247X;
  long stob_2246X;
  long i_2245X;
  long val_2244X;
  char * v_2243X;
  long value_2242X;
  char * x_2241X;
  long val_2240X;
  long v_2239X;
  char * v_2238X;
  char * addr_2237X;
  long val_2236X;
  char * addr_2235X;
  long value_2234X;
  long len_2233X;
  long s2_2232X;
  long foo_2231X;
  long previous_foo_2230X;
  char * addr_2229X;
  long verify_2228X;
  long value_2227X;
  long log_2226X;
  long stob_2225X;
  long i_2224X;
  long x_2223X;
  long status_2222X;
  long v_2221X;
  char * addr_2220X;
  long value_2219X;
  long val_2218X;
  long val_2217X;
  long n_2216X;
  char v_2215X;
  char * external_bignum_2214X;
  char * v_2213X;
  long value_2212X;
  long extra1_2211X;
  long val_2210X;
  long v_2209X;
  char * v_2208X;
  long val_2207X;
  long v_2206X;
  char * v_2205X;
  long x_2204X;
  long val_2203X;
  long v_2202X;
  char * v_2201X;
  char * addr_2200X;
  long value_2199X;
  long offset_2198X;
  long i_2197X;
  long count_2196X;
  char * addr_2195X;
  long value_2194X;
  long offset_2193X;
  long i_2192X;
  long count_2191X;
  long n_2190X;
  char * addr_2189X;
  long val_2188X;
  char * addr_2187X;
  long shifted_2186X;
  long j_2185X;
  long bits_2184X;
  long bucket_2183X;
  char * addr_2182X;
  char * addr_2181X;
  long value_2180X;
  char * addr_2179X;
  char * addr_2178X;
  char * addr_2177X;
  long value_2176X;
  char * addr_2175X;
  char * addr_2174X;
  long value_2173X;
  long proposal_2172X;
  long entry_2171X;
  long thing_2170X;
  long log_2169X;
  long copies_2168X;
  char * addr_2167X;
  long x_2166X;
  long val_2165X;
  long v_2164X;
  long reason_2163X;
  long channel_2162X;
  long channel_2161X;
  long link_2160X;
  long val_2159X;
  long x_2158X;
  char * addr_2157X;
  long b_2156X;
  long shifted_2155X;
  long j_2154X;
  long bits_2153X;
  long val_2152X;
  long v_2151X;
  long n_2150X;
  char v_2149X;
  char * external_bignum_2148X;
  char * x_2147X;
  char * v_2146X;
  long v_2145X;
  char * x_2144X;
  long val_2143X;
  long v_2142X;
  char * v_2141X;
  long n_2140X;
  long val_2139X;
  long val_2138X;
  long val_2137X;
  long val_2136X;
  long val_2135X;
  long val_2134X;
  long extra0_2133X;
  long length0_2132X;
  long val_2131X;
  long v_2130X;
  char * v_2129X;
  long x_2128X;
  long val_2127X;
  long v_2126X;
  char * v_2125X;
  long val_2124X;
  long val_2123X;
  long val_2122X;
  char * arg_2121X;
  char * loc_2120X;
  long x_2119X;
  long l_2118X;
  long stack_nargs_2117X;
  long x_2116X;
  long v_2115X;
  long x_2114X;
  long v_2113X;
  long v_2112X;
  long v_2111X;
  long bytes_used_2110X;
  long count_2109X;
  long index_2108X;
  long env_2107X;
  long offset_2106X;
  long i_2105X;
  long bytes_used_2104X;
  long count_2103X;
  long env_2102X;
  long offset_2101X;
  long i_2100X;
  long v_2099X;
  long n_2098X;
  long x_2097X;
  long x_2096X;
  long x_2095X;
  long obj_2094X;
  char * addr_2093X;
  long val_2092X;
  long count_2091X;
  char out_of_spaceP_2090X;
  char encoding_okP_2089X;
  char codec_okP_2088X;
  long count_2087X;
  long value_2086X;
  char incompleteP_2085X;
  char okP_2084X;
  char encoding_okP_2083X;
  long l_2082X;
  long codec_2081X;
  long p_2080X;
  long i_2079X;
  char * addr_2078X;
  long val_2077X;
  char * addr_2076X;
  long val_2075X;
  char * addr_2074X;
  char * addr_2073X;
  long val_2072X;
  char * addr_2071X;
  char * addr_2070X;
  long val_2069X;
  long count_2068X;
  long value_2067X;
  char incompleteP_2066X;
  char okP_2065X;
  char encoding_okP_2064X;
  char * addr_2063X;
  long val_2062X;
  long l_2061X;
  long codec_2060X;
  long p_2059X;
  long i_2058X;
  long x_2057X;
  long x_2056X;
  long d_2055X;
  long i_2054X;
  long l_2053X;
  long link_2052X;
  long index_2051X;
  long v_2050X;
  long table_2049X;
  long val_2048X;
  char x_2047X;
  char minutesP_2046X;
  long vector_2045X;
  char * addr_2044X;
  long x_2043X;
  long verify_2042X;
  long value_2041X;
  long copies_2040X;
  long stob_2039X;
  long i_2038X;
  char * addr_2037X;
  long v_2036X;
  char * addr_2035X;
  char * addr_2034X;
  long val_2033X;
  long x_2032X;
  char * addr_2031X;
  char * addr_2030X;
  char * addr_2029X;
  long status_2028X;
  char pendingP_2027X;
  char eofP_2026X;
  long got_2025X;
  char v_2024X;
  long count_2023X;
  long start_2022X;
  char waitP_2021X;
  long status_2020X;
  long channel_2019X;
  long v_2018X;
  long v_2017X;
  char x_2016X;
  char temp_2015X;
  long index_2014X;
  long len_2013X;
  long s2_2012X;
  long foo_2011X;
  long i_2010X;
  long i_2009X;
  char * addr_2008X;
  long i_2007X;
  long rest_list_2006X;
  long i_2005X;
  long v_2004X;
  long n_2003X;
  char v_2002X;
  char * external_bignum_2001X;
  char * x_2000X;
  long val_1999X;
  long v_1998X;
  char * v_1997X;
  char * v_1996X;
  long value_1995X;
  long needed_1994X;
  long y_1993X;
  long y_1992X;
  long x_1991X;
  long val_1990X;
  long v_1989X;
  char * v_1988X;
  long val_1987X;
  long v_1986X;
  char * v_1985X;
  long val_1984X;
  long val_1983X;
  long val_1982X;
  long count_1981X;
  long x_1980X;
  char * v_1979X;
  long value_1978X;
  long extra_1977X;
  long length_1976X;
  long x_1975X;
  long val_1974X;
  long c_1973X;
  long b_1972X;
  long val_1971X;
  long c_1970X;
  long b_1969X;
  long val_1968X;
  char b_1967X;
  long val_1966X;
  char b_1965X;
  long val_1964X;
  long v_1963X;
  long v_1962X;
  long v_1961X;
  long val_1960X;
  long v_1959X;
  long v_1958X;
  long v_1957X;
  long val_1956X;
  char b_1955X;
  char x_1954X;
  long c_1953X;
  long b_1952X;
  long val_1951X;
  long val_1950X;
  long val_1949X;
  long c_1948X;
  long mid_c_1947X;
  long v_1946X;
  long v_1945X;
  long lo_c_1944X;
  long hi_b_1943X;
  long hi_a_1942X;
  long lo_b_1941X;
  long lo_a_1940X;
  long b_1939X;
  long val_1938X;
  long args_1937X;
  char * arg_top_1936X;
  long list_arg_count_1935X;
  long list_args_1934X;
  long stack_nargs_1933X;
  long bytes_used_1932X;
  long count_1931X;
  long v_1930X;
  char * arg_1929X;
  char * loc_1928X;
  long v_1927X;
  long v_1926X;
  long v_1925X;
  long bytes_used_1924X;
  long args_1923X;
  long list_args_1922X;
  long stack_nargs_1921X;
  long v_1920X;
  long x_1919X;
  long v_1918X;
  long cont_1917X;
  long size_1916X;
  char * pointer_1915X;
  char * cont_1914X;
  long protocol_skip_1913X;
  long v_1912X;
  char v_1911X;
  char * addr_1910X;
  long value_1909X;
  long offset_1908X;
  long i_1907X;
  long count_1906X;
  char * addr_1905X;
  long value_1904X;
  long offset_1903X;
  long i_1902X;
  long count_1901X;
  long sig_1900X;
  char x_1899X;
  long channel_1898X;
  long n_1897X;
  long x_1896X;
  long arg_count_1895X;
  long obj_1894X;
  long type_1893X;
  long thing_1892X;
  long stuff_1891X;
  char * addr_1890X;
  long val_1889X;
  long count_1888X;
  char out_of_spaceP_1887X;
  char encoding_okP_1886X;
  long i_1885X;
  long count_1884X;
  char out_of_spaceP_1883X;
  char encoding_okP_1882X;
  char codec_okP_1881X;
  long x_1880X;
  long l_1879X;
  long i_1878X;
  long b_1877X;
  long codec_1876X;
  long port_1875X;
  long Kchar_1874X;
  long b_1873X;
  long port_1872X;
  long b_1871X;
  long port_1870X;
  char * addr_1869X;
  long val_1868X;
  long i_1867X;
  long b_1866X;
  long p_1865X;
  long port_1864X;
  long byte_1863X;
  long i_1862X;
  long p_1861X;
  long p_1860X;
  long b_1859X;
  long port_1858X;
  char * addr_1857X;
  long val_1856X;
  long i_1855X;
  long p_1854X;
  long p_1853X;
  long b_1852X;
  long port_1851X;
  long x_1850X;
  long x_1849X;
  long x_1848X;
  long x_1847X;
  long x_1846X;
  long x_1845X;
  char * addr_1844X;
  long value_1843X;
  long list_1842X;
  long head_1841X;
  char move_slowP_1840X;
  long slow_1839X;
  long list_1838X;
  long obj_1837X;
  char * addr_1836X;
  long len_1835X;
  long x_1834X;
  long val_1833X;
  long mseconds_1832X;
  long seconds_1831X;
  long option_1830X;
  long vector_1829X;
  char firstP_1828X;
  long x_1827X;
  long x_1826X;
  long v_1825X;
  long v_1824X;
  long x_1823X;
  long result_1822X;
  char * args_1821X;
  long proc_1820X;
  long name_1819X;
  long rest_list_1818X;
  long x_1817X;
  long x_1816X;
  long x_1815X;
  long x_1814X;
  long value_1813X;
  long vector_1812X;
  long type_1811X;
  char firstP_1810X;
  long vector_1809X;
  char firstP_1808X;
  long x_1807X;
  long x_1806X;
  long x_1805X;
  long status_1804X;
  long reason_1803X;
  long x_1802X;
  char * addr_1801X;
  long next_stob_1800X;
  long i_1799X;
  long x_1798X;
  long v_1797X;
  long next_stob_1796X;
  long i_1795X;
  long value_1794X;
  long x_1793X;
  char * addr_1792X;
  long count_1791X;
  long to_index_1790X;
  long from_index_1789X;
  long copies_1788X;
  long left_1787X;
  long value_1786X;
  long verify_1785X;
  long value_1784X;
  long log_1783X;
  long stob_1782X;
  long i_1781X;
  char * addr_1780X;
  long old_1779X;
  long x_1778X;
  char * addr_1777X;
  long channel_1776X;
  long res_1775X;
  long i_1774X;
  long x_1773X;
  long y_1772X;
  long n_1771X;
  char * addr_1770X;
  long prev_1769X;
  long ch_1768X;
  long x_1767X;
  long val_1766X;
  long x_1765X;
  long val_1764X;
  long val_1763X;
  long x_1762X;
  long val_1761X;
  long x_1760X;
  long x_1759X;
  long v_1758X;
  long v_1757X;
  char *filename_1756X;
  long val_1755X;
  long x_1754X;
  char * addr_1753X;
  char * addr_1752X;
  long x_1751X;
  long val_1750X;
  long x_1749X;
  long bucket_1748X;
  long x_1747X;
  long x_1746X;
  long shifted_1745X;
  long j_1744X;
  long bits_1743X;
  long x_1742X;
  long x_1741X;
  long scalar_value_1740X;
  long j_1739X;
  long bits_1738X;
  long x_1737X;
  long x_1736X;
  long vector_1735X;
  long x_1734X;
  long x_1733X;
  long x_1732X;
  long vector_1731X;
  long new_1730X;
  char * addr_1729X;
  long value_1728X;
  long value_1727X;
  long x_1726X;
  char * addr_1725X;
  long value_1724X;
  long i_1723X;
  long value_1722X;
  long i_1721X;
  long value_1720X;
  long val_1719X;
  long val_1718X;
  long x_1717X;
  long val_1716X;
  long x_1715X;
  long val_1714X;
  long val_1713X;
  char * v_1712X;
  long value_1711X;
  long needed_1710X;
  long y_1709X;
  long x_1708X;
  long result_1707X;
  long x_1706X;
  long x_1705X;
  long x_1704X;
  long count_1703X;
  long value_1702X;
  long val_1701X;
  long val_1700X;
  long val_1699X;
  long x_1698X;
  long val_1697X;
  long x_1696X;
  long n_1695X;
  long x_1694X;
  long x_1693X;
  long v_1692X;
  long x_1691X;
  long n_1690X;
  long a_1689X;
  long a_1688X;
  long val_1687X;
  long val_1686X;
  char b_1685X;
  long val_1684X;
  char b_1683X;
  long val_1682X;
  char b_1681X;
  long val_1680X;
  long Kdouble_1679X;
  char * addr_1678X;
  double value_1677X;
  long value_1676X;
  double x_1675X;
  long value_1674X;
  long a_1673X;
  long Kdouble_1672X;
  char * addr_1671X;
  double y_1670X;
  long value_1669X;
  double x_1668X;
  long value_1667X;
  long val_1666X;
  long v_1665X;
  char * v_1664X;
  long Kdouble_1663X;
  char * addr_1662X;
  double y_1661X;
  long value_1660X;
  double x_1659X;
  long value_1658X;
  long a_1657X;
  long Kdouble_1656X;
  char * addr_1655X;
  double y_1654X;
  long value_1653X;
  double x_1652X;
  long value_1651X;
  long val_1650X;
  long v_1649X;
  char * v_1648X;
  long n_1647X;
  long val_1646X;
  long val_1645X;
  long delta_1644X;
  long delta_1643X;
  long offset_1642X;
  long index_1641X;
  long v_1640X;
  char * arg_top_1639X;
  long args_1638X;
  long count_1637X;
  long size_1636X;
  char * pointer_1635X;
  char * cont_1634X;
  long offset_1633X;
  long cont_1632X;
  long args_1631X;
  long args_1630X;
  long v_1629X;
  long v_1628X;
  long protocol_1627X;
  char * code_pointer_1626X;
  long list_arg_count_1625X;
  long list_args_1624X;
  long stack_nargs_1623X;
  long args_1622X;
  long x_1621X;
  long args_1620X;
  long x_1619X;
  long x_1618X;
  long x_1617X;
  char * addr_1616X;
  long a_1615X;
  long wants_stack_args_1614X;
  long size_1613X;
  char * pointer_1612X;
  char * cont_1611X;
  long proc_1610X;
  long offset_1609X;
  long cont_1608X;
  long protocol_1607X;
  char * code_pointer_1606X;
  long obj_1605X;
  char * addr_1604X;
  long list_args_1603X;
  long follower_1602X;
  long list_1601X;
  long x_1600X;
  long args_1599X;
  long list_arg_count_1598X;
  char okayP_1597X;
  long stack_nargs_1596X;
  long list_args_1595X;
  long obj_1594X;
  long obj_1593X;
  long list_arg_count_1592X;
  long list_args_1591X;
  long stack_arg_count_1590X;
  long obj_1589X;
  char interruptP_1588X;
  long protocol_1587X;
  long code_1586X;
  long template_1585X;
  long obj_1584X;
  long stack_arg_count_1583X;
  long value_1582X;
  long index_1581X;
  long value_1580X;
  long index_1579X;
  long value_1578X;
  long move_1577X;
  long index_1576X;
  long value_1575X;
  long move_1574X;
  long n_1573X;
  long value_1572X;
  long i_1571X;
  char * addr_1570X;
  long value_1569X;
  long offset_1568X;
  long i_1567X;
  long count_1566X;
  long total_count_1565X;
  long offset_1564X;
  long i_1563X;
  long new_env_1562X;
  char * addr_1561X;
  long value_1560X;
  long offset_1559X;
  long i_1558X;
  long count_1557X;
  long total_count_1556X;
  long offset_1555X;
  long i_1554X;
  long new_env_1553X;
  long v_1552X;
  long x_1551X;
  long x_1550X;
  long args_1549X;
  long length_1548X;
  char okayP_1547X;
  long list_args_1546X;
  long stack_nargs_1545X;
  long maybe_cont_1544X;
  long v_1543X;
  long v_1542X;
  long code_1541X;
  long n_1540X;
  char * addr_1539X;
  long x_1538X;
  long x_1537X;
  long x_1536X;
  char v_1535X;
  long return_address_1534X;
  long template_1533X;
  long obj_1532X;
  long stack_arg_count_1531X;
  long tag_1530X;
  long n_1529X;
  char v_1528X;
  char * addr_1527X;
  long next_1526X;
  long channel_1525X;
  long n_1524X;
  long x_1523X;
  long handlers_1522X;
  long m_1521X;
  long i_1520X;
  FILE * out_1519X;
  long x_1518X;
  long x_1517X;
  long val_1516X;
  long v_1515X;
  long v_1514X;
  long v_1513X;
  long v_1512X;
  long v_1511X;
  long v_1510X;
  long v_1509X;
  long v_1508X;
  long v_1507X;
  long v_1506X;
  long v_1505X;
  long v_1504X;
  long v_1503X;
  long v_1502X;
  long count_1501X;
  long value_1500X;
  char incompleteP_1499X;
  char okP_1498X;
  char encoding_okP_1497X;
  long count_1496X;
  long start_1495X;
  long encoding_1494X;
  long arg4_1493X;
  long arg3_1492X;
  long arg2_1491X;
  long count_1490X;
  long value_1489X;
  char incompleteP_1488X;
  char okP_1487X;
  char encoding_okP_1486X;
  long count_1485X;
  long start_1484X;
  long encoding_1483X;
  long arg4_1482X;
  long arg3_1481X;
  long arg2_1480X;
  long count_1479X;
  char out_of_spaceP_1478X;
  char okP_1477X;
  char encoding_okP_1476X;
  long count_1475X;
  long start_1474X;
  long value_1473X;
  long encoding_1472X;
  long arg5_1471X;
  long arg4_1470X;
  long arg3_1469X;
  long arg2_1468X;
  long count_1467X;
  char out_of_spaceP_1466X;
  char okP_1465X;
  char encoding_okP_1464X;
  long count_1463X;
  long start_1462X;
  long value_1461X;
  long encoding_1460X;
  long arg5_1459X;
  long arg4_1458X;
  long arg3_1457X;
  long arg2_1456X;
  long x_1455X;
  long v_1454X;
  long len_1453X;
  long value_1452X;
  long index_1451X;
  long arg4_1450X;
  long arg3_1449X;
  long arg2_1448X;
  long x_1447X;
  long v_1446X;
  long v_1445X;
  long len_1444X;
  long index_1443X;
  long arg3_1442X;
  long arg2_1441X;
  long list_1440X;
  long arg2_1439X;
  long x_1438X;
  long n_1437X;
  long arg2_1436X;
  long len_1435X;
  long x_1434X;
  long obj_1433X;
  long arg2_1432X;
  long x_1431X;
  long arg2_1430X;
  long x_1429X;
  long status_1428X;
  long value_1427X;
  long key_1426X;
  long arg2_1425X;
  long x_1424X;
  long val_1423X;
  char *string_1422X;
  long key_1421X;
  long x_1420X;
  long mseconds_1419X;
  long seconds_1418X;
  long mseconds_1417X;
  long seconds_1416X;
  long mseconds_1415X;
  long seconds_1414X;
  long x_1413X;
  long other_1412X;
  long option_1411X;
  long arg2_1410X;
  long x_1409X;
  long arg2_1408X;
  long x_1407X;
  long arg2_1406X;
  long x_1405X;
  long rest_list_1404X;
  long p_1403X;
  long nargs_1402X;
  long p_1401X;
  long x_1400X;
  long arg2_1399X;
  long x_1398X;
  long p_1397X;
  long v_1396X;
  long v_1395X;
  long template_1394X;
  long return_address_1393X;
  long v_1392X;
  long p_1391X;
  long v_1390X;
  long v_1389X;
  long code_1388X;
  long pc_1387X;
  long p_1386X;
  long old_1385X;
  long temp_1384X;
  long obj_1383X;
  long opcode_1382X;
  long exception_1381X;
  long code_1380X;
  long data_1379X;
  long opcode_1378X;
  long pc_1377X;
  long size_1376X;
  long exception_1375X;
  long code_1374X;
  long data_1373X;
  long temp_1372X;
  long obj_1371X;
  long val_1370X;
  long x_1369X;
  long x_1368X;
  long type_1367X;
  long x_1366X;
  long x_1365X;
  long x_1364X;
  long bytes_1363X;
  long x_1362X;
  long other_1361X;
  long key_1360X;
  long arg2_1359X;
  long x_1358X;
  char * addr_1357X;
  long b_1356X;
  long x_1355X;
  char * addr_1354X;
  long proc_1353X;
  long arg2_1352X;
  long x_1351X;
  long obj_1350X;
  long status_1349X;
  long status_1348X;
  long status_1347X;
  long status_1346X;
  long status_1345X;
  long status_1344X;
  FILE * port_1343X;
  long undumpables_1342X;
  long obj_1341X;
  long arg4_1340X;
  long arg3_1339X;
  long arg2_1338X;
  long x_1337X;
  long log_1336X;
  long index_1335X;
  long x_1334X;
  long len_1333X;
  long byte_1332X;
  long index_1331X;
  long arg3_1330X;
  long arg2_1329X;
  long log_1328X;
  long index_1327X;
  long x_1326X;
  long len_1325X;
  long index_1324X;
  long arg2_1323X;
  long v_1322X;
  long count_1321X;
  long to_index_1320X;
  long from_index_1319X;
  long arg5_1318X;
  long arg4_1317X;
  long arg3_1316X;
  long arg2_1315X;
  long v_1314X;
  long x_1313X;
  long offset_1312X;
  long type_1311X;
  long stob_1310X;
  long log_1309X;
  long proposal_1308X;
  long proposal_1307X;
  long weak_pointer_1306X;
  char * addr_1305X;
  long x_1304X;
  char * addr_1303X;
  long next_1302X;
  long channel_1301X;
  long n_1300X;
  char * addr_1299X;
  long head_1298X;
  long channel_1297X;
  long obj_1296X;
  long x_1295X;
  long status_1294X;
  char readyP_1293X;
  long channel_1292X;
  long obj_1291X;
  long x_1290X;
  char x_1289X;
  long x_1288X;
  long param_1287X;
  long x_1286X;
  char * addr_1285X;
  char * addr_1284X;
  long status_1283X;
  char pendingP_1282X;
  long got_1281X;
  char v_1280X;
  long count_1279X;
  long start_1278X;
  long arg4_1277X;
  long arg3_1276X;
  long arg2_1275X;
  long x_1274X;
  long arg5_1273X;
  long arg4_1272X;
  long arg3_1271X;
  long arg2_1270X;
  long x_1269X;
  long status_1268X;
  long channel_1267X;
  long obj_1266X;
  long x_1265X;
  long close_silentlyP_1264X;
  long mode_1263X;
  long arg4_1262X;
  long arg3_1261X;
  long arg2_1260X;
  long x_1259X;
  long x_1258X;
  long x_1257X;
  long arg2_1256X;
  long descriptor_1255X;
  long x_1254X;
  long obj_1253X;
  long link_1252X;
  long index_1251X;
  long v_1250X;
  long string_1249X;
  long table_1248X;
  long obj_1247X;
  long y_1246X;
  long y_1245X;
  long count_1244X;
  long to_index_1243X;
  long from_index_1242X;
  long arg5_1241X;
  long arg4_1240X;
  long arg3_1239X;
  long arg2_1238X;
  long len_1237X;
  long Kchar_1236X;
  long index_1235X;
  long arg3_1234X;
  long arg2_1233X;
  long len_1232X;
  long index_1231X;
  long arg2_1230X;
  long x_1229X;
  long obj_1228X;
  char * addr_1227X;
  long len_1226X;
  long init_1225X;
  long len_1224X;
  long arg2_1223X;
  long len_1222X;
  long Kchar_1221X;
  long index_1220X;
  long arg3_1219X;
  long arg2_1218X;
  long len_1217X;
  long index_1216X;
  long arg2_1215X;
  long obj_1214X;
  long x_1213X;
  char * addr_1212X;
  long init_1211X;
  long len_1210X;
  long arg2_1209X;
  char * addr_1208X;
  long v_1207X;
  long index_1206X;
  long len_1205X;
  long type_1204X;
  long value_1203X;
  long arg3_1202X;
  long arg2_1201X;
  long v_1200X;
  long v_1199X;
  long index_1198X;
  long len_1197X;
  long type_1196X;
  long index_1195X;
  long arg2_1194X;
  char * addr_1193X;
  long len_1192X;
  long len_1191X;
  long type_1190X;
  long init_1189X;
  long arg2_1188X;
  long v_1187X;
  long offset_1186X;
  long type_1185X;
  long value_1184X;
  long arg2_1183X;
  long offset_1182X;
  long type_1181X;
  long stob_1180X;
  long rest_list_1179X;
  long stack_nargs_1178X;
  long p_1177X;
  long new_1176X;
  char * addr_1175X;
  long len_1174X;
  long type_1173X;
  long len_1172X;
  long p_1171X;
  long new_1170X;
  char * addr_1169X;
  long len_1168X;
  long type_1167X;
  long len_1166X;
  long type_1165X;
  long stob_1164X;
  long type_1163X;
  long x_1162X;
  long x_1161X;
  long x_1160X;
  long x_1159X;
  long x_1158X;
  long x_1157X;
  long x_1156X;
  long x_1155X;
  long arg2_1154X;
  long x_1153X;
  long arg2_1152X;
  long x_1151X;
  long v_1150X;
  long v_1149X;
  long y_1148X;
  long arg2_1147X;
  long y_1146X;
  long arg2_1145X;
  long y_1144X;
  long arg2_1143X;
  long y_1142X;
  long arg2_1141X;
  long x_1140X;
  long x_1139X;
  long x_1138X;
  long x_1137X;
  long arg2_1136X;
  long x_1135X;
  long arg2_1134X;
  long x_1133X;
  long arg2_1132X;
  long x_1131X;
  long x_1130X;
  long x_1129X;
  long x_1128X;
  long x_1127X;
  long x_1126X;
  long x_1125X;
  long x_1124X;
  long x_1123X;
  long x_1122X;
  long x_1121X;
  long n_1120X;
  long n_1119X;
  long n_1118X;
  long n_1117X;
  long n_1116X;
  long a_1115X;
  long val_1114X;
  long y_1113X;
  long arg2_1112X;
  long b_1111X;
  long a_1110X;
  long val_1109X;
  long y_1108X;
  long arg2_1107X;
  long y_1106X;
  long arg2_1105X;
  long y_1104X;
  long arg2_1103X;
  long y_1102X;
  long arg2_1101X;
  long y_1100X;
  long arg2_1099X;
  long y_1098X;
  long arg2_1097X;
  long b_1096X;
  long a_1095X;
  long y_1094X;
  long arg2_1093X;
  long x_1092X;
  long y_1091X;
  long arg2_1090X;
  long b_1089X;
  long a_1088X;
  long y_1087X;
  long arg2_1086X;
  long x_1085X;
  long y_1084X;
  long arg2_1083X;
  long x_1082X;
  long x_1081X;
  long n_1080X;
  long n_1079X;
  long x_1078X;
  long x_1077X;
  long arg2_1076X;
  long rest_list_1075X;
  long x_1074X;
  long rest_list_1073X;
  long stack_nargs_1072X;
  long arg1_1071X;
  long arg0_1070X;
  long arg0_1069X;
  long rest_list_1068X;
  long stack_nargs_1067X;
  long x_1066X;
  long index_1065X;
  long val_1064X;
  long max_1063X;
  long p_1062X;
  char * code_pointer_1061X;
  long return_pointer_offset_1060X;
  long nargs_1059X;
  long code_1058X;
  long template_1057X;
  long rest_list_1056X;
  long stack_nargs_1055X;
  long p_1054X;
  long p_1053X;
  long cont_1052X;
  long v_1051X;
  long rest_list_1050X;
  long stack_nargs_1049X;
  long p_1048X;
  long x_1047X;
  long args_1046X;
  char * code_pointer_1045X;
  long return_pointer_offset_1044X;
  long length_1043X;
  char okayP_1042X;
  long stack_nargs_1041X;
  long list_args_1040X;
  char v_1039X;
  char v_1038X;
  char * code_pointer_1037X;
  long return_pointer_offset_1036X;
  long stack_arg_count_1035X;
  char * code_pointer_1034X;
  long stack_arg_count_1033X;
  long v_1032X;
  long n_moves_1031X;
  long x_1030X;
  long n_moves_1029X;
  long x_1028X;
  long x_1027X;
  long x_1026X;
  long x_1025X;
  long x_1024X;
  long value_1023X;
  long x_1022X;
  long closure_1021X;
  char * addr_1020X;
  long len_1019X;
  long size_1018X;
  long free_count_1017X;
  char * addr_1016X;
  long x_1015X;
  long value_1014X;
  char * addr_1013X;
  long x_1012X;
  long x_1011X;
  long template_1010X;
  long new_env_1009X;
  char * addr_1008X;
  long len_1007X;
  long closures_1006X;
  long total_count_1005X;
  long template_1004X;
  long new_env_1003X;
  char * addr_1002X;
  long len_1001X;
  long closures_1000X;
  long total_count_999X;
  char * addr_998X;
  long val_997X;
  long x_996X;
  long location_995X;
  long index_994X;
  long template_993X;
  long location_992X;
  long index_991X;
  long template_990X;
  long x_989X;
  long x_988X;
  long n_987X;
  char * code_pointer_986X;
  long v_985X;
  long code_984X;
  long n_983X;
  char * addr_982X;
  long x_981X;
  long x_980X;
  long pc_979X;
  long code_978X;
  long x_977X;
  char v_976X;
  char v_975X;
  long tag_974X;
  long n_973X;
  long v_972X;
  char v_971X;
  long x_970X;
  long x_969X;
  long x_968X;
  long x_967X;
  long x_966X;
  long x_965X;
  long x_964X;
  long x_963X;
  long spec_962X;
  long needed_stack_space_961X;
  long template_960X;
  long used_959X;
  long code_958X;
  long v_957X;
  long v_956X;
  long code_955X;
  long n_954X;
  char * addr_953X;
  long x_952X;
  long x_951X;
  long x_950X;
  long protocol_skip_949X;
  long final_stack_arg_count_948X;
  char interruptP_947X;
  long obj_946X;
  long template_945X;
  char v_944X;
  char v_943X;
  long skip_942X;
  long skip_941X;
  long x_940X;
  long x_939X;
  long x_938X;
  long x_937X;
  long x_936X;
  long x_935X;
  long x_934X;
  long x_933X;
  long spec_932X;
  long template_931X;
  long used_930X;
  long envUtemp_offset_929X;
  long code_928X;
  long retval_927X;
  long handlers_926X;
  long opcode_925X;
  long nargs_924X;
  long v_923X;
  long v_922X;
  long v_921X;
  long v_920X;
  long index_919X;
  long length_918X;
  long v_917X;
  long v_916X;
  long v_915X;
  long v_914X;
  long v_913X;
  long v_912X;
  long wants_stack_args_911X;
  long v_910X;
  long v_909X;
  long v_908X;
  long v_907X;
  long skip_906X;
  char nativeP_905X;
  long stack_space_904X;
  long protocol_903X;
  long v_902X;
  long x_901X;
  long args_900X;
  long v_899X;
  long list_arg_count_898X;
  long list_args_897X;
  long stack_arg_count_896X;
  long exception_895X;
  long total_arg_count_894X;
  long code_893X;
  long handler_tag_892X;
  long list_arg_count_891X;
  long list_args_890X;
  long stack_arg_count_889X;
  long obj_888X;
 {  if ((3 == (3 & proc_853X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_853X))) + -4))))>>2))))) {
      SvalS = proc_853X;
      obj_888X = SvalS;
      if ((3 == (3 & obj_888X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_888X))) + -4))))>>2))))) {
          arg0K0 = nargs_854X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L59585;}
        else {
          arg0K0 = 3;
          arg0K1 = nargs_854X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L29104;}}
      else {
        arg0K0 = 3;
        arg0K1 = nargs_854X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L29104;}}
    else {
      goto L29264;}}
  else {
    goto L29264;}}
 L59585: {
  stack_arg_count_889X = arg0K0;
  list_args_890X = arg0K1;
  list_arg_count_891X = arg0K2;
  handler_tag_892X = arg0K3;
  code_893X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
  total_arg_count_894X = stack_arg_count_889X + list_arg_count_891X;
  arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_893X))) + 1)));
  arg0K1 = 64;
  arg3K2 = 0;
  goto L59611;}
 L29104: {
  exception_895X = arg0K0;
  stack_arg_count_896X = arg0K1;
  list_args_897X = arg0K2;
  list_arg_count_898X = arg0K3;
  merged_arg0K0 = list_args_897X;
  merged_arg0K1 = list_arg_count_898X;
  copy_listSAgc_return_tag = 0;
  goto copy_listSAgc;
 copy_listSAgc_return_0:
  v_899X = copy_listSAgc0_return_value;
  merged_arg0K0 = v_899X;
  merged_arg0K1 = stack_arg_count_896X;
  pop_args_GlistSAgc_return_tag = 0;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_0:
  args_900X = pop_args_GlistSAgc0_return_value;push_exception_setupB(exception_895X, 0);
  x_901X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_901X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_900X);
  arg0K0 = 2;
  goto L29414;}
 L29264: {
  ps_error("s48-restart called with non-procedure", 1, proc_853X);
  return v_902X;}
 L59611: {
  protocol_903X = arg0K0;
  stack_space_904X = arg0K1;
  nativeP_905X = arg3K2;
  if ((69 == protocol_903X)) {
    if ((total_arg_count_894X < 3)) {
      skip_906X = *((unsigned char *) ((((char *) (-3 + code_893X))) + (3 + total_arg_count_894X)));
      if ((0 == skip_906X)) {
        if ((-1 == handler_tag_892X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_889X;
          arg0K2 = list_args_890X;
          arg0K3 = list_arg_count_891X;
          goto L29104;}
        else {
          if ((handler_tag_892X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
            arg0K0 = v_907X;
            goto L64089;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
            arg0K0 = v_908X;
            goto L64089;}}}
      else {
        merged_arg0K0 = list_args_890X;
        merged_arg0K1 = list_arg_count_891X;
        push_list_return_tag = 0;
        goto push_list;
       push_list_return_0:
        arg0K0 = code_893X;
        arg0K1 = 6;
        arg0K2 = skip_906X;
        arg0K3 = (*((long *) (((char *) (-3 + (SvalS))))));
        goto L28230;}}
    else {
      if ((0 == (*((unsigned char *) ((((char *) (-3 + code_893X))) + 2))))) {
        if ((-1 == handler_tag_892X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_889X;
          arg0K2 = list_args_890X;
          arg0K3 = list_arg_count_891X;
          goto L29104;}
        else {
          if ((handler_tag_892X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
            arg0K0 = v_909X;
            goto L64089;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
            arg0K0 = v_910X;
            goto L64089;}}}
      else {
        arg0K0 = 6;
        goto L59654;}}}
  else {
    if ((63 < protocol_903X)) {
      if ((65 == protocol_903X)) {
        wants_stack_args_911X = ((((*((unsigned char *) ((((char *) (-3 + code_893X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_893X))) + 3)));
        if ((total_arg_count_894X < wants_stack_args_911X)) {
          if ((-1 == handler_tag_892X)) {
            arg0K0 = 4;
            arg0K1 = stack_arg_count_889X;
            arg0K2 = list_args_890X;
            arg0K3 = list_arg_count_891X;
            goto L29104;}
          else {
            if ((handler_tag_892X < 0)) {
              ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
              arg0K0 = v_912X;
              goto L64089;}
            else {
              ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
              arg0K0 = v_913X;
              goto L64089;}}}
        else {
          merged_arg0K0 = wants_stack_args_911X;
          merged_arg0K1 = stack_arg_count_889X;
          merged_arg0K2 = list_args_890X;
          merged_arg0K3 = list_arg_count_891X;
          rest_list_setupAgc_return_tag = 0;
          goto rest_list_setupAgc;
         rest_list_setupAgc_return_0:
          arg0K0 = 4;
          goto L59615;}}
      else {
        if ((68 == protocol_903X)) {
          if ((total_arg_count_894X < (*((unsigned char *) ((((char *) (-3 + code_893X))) + 2))))) {
            if ((-1 == handler_tag_892X)) {
              arg0K0 = 4;
              arg0K1 = stack_arg_count_889X;
              arg0K2 = list_args_890X;
              arg0K3 = list_arg_count_891X;
              goto L29104;}
            else {
              if ((handler_tag_892X < 0)) {
                ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
                arg0K0 = v_914X;
                goto L64089;}
              else {
                ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
                arg0K0 = v_915X;
                goto L64089;}}}
          else {
            arg0K0 = 3;
            goto L59654;}}
        else {
          if ((127 < protocol_903X)) {
            arg0K0 = (127 & protocol_903X);
            arg0K1 = stack_space_904X;
            arg3K2 = 1;
            goto L59611;}
          else {
            if ((64 == protocol_903X)) {
              if (((((((*((unsigned char *) ((((char *) (-3 + code_893X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_893X))) + 3)))) == total_arg_count_894X)) {
                if ((0 == list_arg_count_891X)) {
                  arg0K0 = 4;
                  goto L59615;}
                else {
                  merged_arg0K0 = list_args_890X;
                  merged_arg0K1 = list_arg_count_891X;
                  push_list_return_tag = 1;
                  goto push_list;
                 push_list_return_1:
                  arg0K0 = 4;
                  goto L59615;}}
              else {
                if ((-1 == handler_tag_892X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_889X;
                  arg0K2 = list_args_890X;
                  arg0K3 = list_arg_count_891X;
                  goto L29104;}
                else {
                  if ((handler_tag_892X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
                    arg0K0 = v_916X;
                    goto L64089;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
                    arg0K0 = v_917X;
                    goto L64089;}}}}
            else {
              if ((67 == protocol_903X)) {
                length_918X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_893X))) + -4))))>>8);
                index_919X = -2 + length_918X;
                arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_893X))) + (-3 + length_918X))));
                arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_893X))) + index_919X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_893X))) + (1 + index_919X)))));
                arg3K2 = nativeP_905X;
                goto L59611;}
              else {
                ps_error("unknown protocol", 1, protocol_903X);
                if ((-1 == handler_tag_892X)) {
                  arg0K0 = 4;
                  arg0K1 = stack_arg_count_889X;
                  arg0K2 = list_args_890X;
                  arg0K3 = list_arg_count_891X;
                  goto L29104;}
                else {
                  if ((handler_tag_892X < 0)) {
                    ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
                    arg0K0 = v_920X;
                    goto L64089;}
                  else {
                    ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
                    arg0K0 = v_921X;
                    goto L64089;}}}}}}}}
    else {
      if ((protocol_903X == total_arg_count_894X)) {
        if ((0 == list_arg_count_891X)) {
          arg0K0 = 2;
          goto L59615;}
        else {
          merged_arg0K0 = list_args_890X;
          merged_arg0K1 = list_arg_count_891X;
          push_list_return_tag = 2;
          goto push_list;
         push_list_return_2:
          arg0K0 = 2;
          goto L59615;}}
      else {
        if ((-1 == handler_tag_892X)) {
          arg0K0 = 4;
          arg0K1 = stack_arg_count_889X;
          arg0K2 = list_args_890X;
          arg0K3 = list_arg_count_891X;
          goto L29104;}
        else {
          if ((handler_tag_892X < 0)) {
            ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_892X));
            arg0K0 = v_922X;
            goto L64089;}
          else {
            ps_error("wrong number of arguments to exception handler", 1, handler_tag_892X);
            arg0K0 = v_923X;
            goto L64089;}}}}}}
 L29414: {
  nargs_924X = arg0K0;
  opcode_925X = (((*((long *) ((SstackS) + (4 + (((nargs_924X)<<2)))))))>>2);
  handlers_926X = SHARED_REF((Sexception_handlersS));
  if ((3 == (3 & handlers_926X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_926X))) + -4))))>>2))))) {
      goto L29479;}
    else {
      goto L29562;}}
  else {
    goto L29562;}}
 L64089: {
  retval_927X = arg0K0;
  SstackS = (ScontS);
  return retval_927X;}
 L28230: {
  code_928X = arg0K0;
  envUtemp_offset_929X = arg0K1;
  used_930X = arg0K2;
  template_931X = arg0K3;
  spec_932X = *((unsigned char *) ((((char *) (-3 + code_928X))) + envUtemp_offset_929X));
  if ((3 == spec_932X)) {
    x_933X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_933X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_931X);
    goto L28234;}
  else {
    if ((1 == spec_932X)) {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (template_931X);
      goto L28234;}
    else {
      if ((2 == spec_932X)) {
        x_934X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_934X);
        goto L28234;}
      else {
        if ((4 == spec_932X)) {
          x_935X = SvalS;
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (x_935X);
          goto L28234;}
        else {
          if ((6 == spec_932X)) {
            x_936X = SvalS;
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (x_936X);
            x_937X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (x_937X);
            goto L28234;}
          else {
            if ((5 == spec_932X)) {
              x_938X = SvalS;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_938X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (template_931X);
              goto L28234;}
            else {
              if ((7 == spec_932X)) {
                x_939X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_939X);
                x_940X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_940X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (template_931X);
                goto L28234;}
              else {
                goto L28234;}}}}}}}}
 L59654: {
  skip_941X = arg0K0;
  if ((total_arg_count_894X < 3)) {
    arg0K0 = total_arg_count_894X;
    goto L59662;}
  else {
    if ((2 < stack_arg_count_889X)) {
      arg0K0 = stack_arg_count_889X;
      goto L59662;}
    else {
      arg0K0 = 2;
      goto L59662;}}}
 L59615: {
  skip_942X = arg0K0;
  if (nativeP_905X) {
    merged_arg0K0 = stack_space_904X;
    ensure_stack_spaceB_return_tag = 0;
    goto ensure_stack_spaceB;
   ensure_stack_spaceB_return_0:
    v_943X = ensure_stack_spaceB0_return_value;
    if (v_943X) {
      pending_interruptP_return_tag = 0;
      goto pending_interruptP;
     pending_interruptP_return_0:
      v_944X = pending_interruptP0_return_value;
      if (v_944X) {
        arg0K0 = skip_942X;
        goto L28702;}
      else {
        goto L59782;}}
    else {
      goto L59782;}}
  else {
    template_945X = *((long *) (((char *) (-3 + (SvalS)))));
    arg0K0 = (*((long *) (((char *) (-3 + template_945X)))));
    arg0K1 = skip_942X;
    arg0K2 = template_945X;
    arg0K3 = stack_space_904X;
    goto L32151;}}
 L29479: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_926X))) + (((opcode_925X)<<2)))));
  obj_946X = SvalS;
  if ((3 == (3 & obj_946X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_946X))) + -4))))>>2))))) {
      goto L29496;}
    else {
      goto L29576;}}
  else {
    goto L29576;}}
 L29562: {
  merged_arg4K0 = "exception-handlers is not a vector";
  loseD0_return_tag = 0;
  goto loseD0;
 loseD0_return_0:
  goto L29479;}
 L28234: {
  Slast_code_calledS = code_928X;
  Scode_pointerS = ((((char *) (-3 + code_928X))) + used_930X);
  if (((SstackS) < (s48_Sstack_limitS))) {
    interruptP_947X = (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_947X) {
          goto L28241;}
        else {
          goto L28248;}}
      else {
        if (interruptP_947X) {
          goto L28241;}
        else {
          goto L28248;}}}
    else {
      if (interruptP_947X) {
        goto L28241;}
      else {
        goto L28248;}}}
  else {
    goto L28248;}}
 L59662: {
  final_stack_arg_count_948X = arg0K0;
  if ((stack_arg_count_889X < final_stack_arg_count_948X)) {
    arg0K0 = final_stack_arg_count_948X;
    goto L59666;}
  else {
    arg0K0 = stack_arg_count_889X;
    goto L59666;}}
 L28702: {
  protocol_skip_949X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((protocol_skip_949X)<<2)));
  x_950X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_950X);
  x_951X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_951X);
  x_952X = Scurrent_threadS;
  addr_953X = (((char *) (-3 + x_952X))) + 12;S48_WRITE_BARRIER(x_952X, addr_953X, 1);
  *((long *) addr_953X) = (long) (1);
  n_954X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_954X)<<2)));
  code_955X = Sinterrupted_native_call_return_codeS;
  v_956X = ((((ScontS) - (SstackS)))>>2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((4 + (((v_956X)<<2))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_955X))) + 13))));
  ScontS = (SstackS);
  goto L28436;}
 L59782: {
  v_957X = s48_call_native_procedure((SvalS), skip_942X);
  arg0K0 = v_957X;
  goto L58795;}
 L32151: {
  code_958X = arg0K0;
  used_959X = arg0K1;
  template_960X = arg0K2;
  needed_stack_space_961X = arg0K3;
  spec_962X = *((unsigned char *) ((((char *) (-3 + code_958X))) + used_959X));
  if ((3 == spec_962X)) {
    x_963X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_963X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (template_960X);
    goto L32155;}
  else {
    if ((1 == spec_962X)) {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (template_960X);
      goto L32155;}
    else {
      if ((2 == spec_962X)) {
        x_964X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_964X);
        goto L32155;}
      else {
        if ((4 == spec_962X)) {
          x_965X = SvalS;
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (x_965X);
          goto L32155;}
        else {
          if ((6 == spec_962X)) {
            x_966X = SvalS;
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (x_966X);
            x_967X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (x_967X);
            goto L32155;}
          else {
            if ((5 == spec_962X)) {
              x_968X = SvalS;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_968X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (template_960X);
              goto L32155;}
            else {
              if ((7 == spec_962X)) {
                x_969X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_969X);
                x_970X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_970X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (template_960X);
                goto L32155;}
              else {
                goto L32155;}}}}}}}}
 L29496: {
  arg0K0 = (2 + nargs_924X);
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = opcode_925X;
  goto L59585;}
 L29576: {
  merged_arg4K0 = "exception handler is not a closure";
  loseD0_return_tag = 1;
  goto loseD0;
 loseD0_return_1:
  goto L29496;}
 L28241: {
  pending_interruptP_return_tag = 1;
  goto pending_interruptP;
 pending_interruptP_return_1:
  v_971X = pending_interruptP0_return_value;
  if (v_971X) {
    goto L28613;}
  else {
    goto L28248;}}
 L28248: {
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L59666: {
  v_972X = arg0K0;
  merged_arg0K0 = v_972X;
  merged_arg0K1 = stack_arg_count_889X;
  merged_arg0K2 = list_args_890X;
  merged_arg0K3 = list_arg_count_891X;
  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_948X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((total_arg_count_894X)<<2)));
  arg0K0 = skip_941X;
  goto L59615;}
 L28436: {
  n_973X = (Spending_interruptsS) & (Senabled_interruptsS);
  arg0K0 = 0;
  arg0K1 = 1;
  goto L28489;}
 L58795: {
  tag_974X = arg0K0;
  arg0K0 = tag_974X;
  goto L58799;}
 L32155: {
  Slast_code_calledS = code_958X;
  Scode_pointerS = ((((char *) (-3 + code_958X))) + (1 + used_959X));
  merged_arg0K0 = needed_stack_space_961X;
  ensure_stack_spaceB_return_tag = 1;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_1:
  v_975X = ensure_stack_spaceB0_return_value;
  if (v_975X) {
    pending_interruptP_return_tag = 2;
    goto pending_interruptP;
   pending_interruptP_return_2:
    v_976X = pending_interruptP0_return_value;
    if (v_976X) {
      goto L28613;}
    else {
      goto L32169;}}
  else {
    goto L32169;}}
 L28613: {
  x_977X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_977X);
  code_978X = current_code_vector();
  pc_979X = (Scode_pointerS) - (((char *) (-3 + code_978X)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (code_978X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((pc_979X)<<2)));
  x_980X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_980X);
  x_981X = Scurrent_threadS;
  addr_982X = (((char *) (-3 + x_981X))) + 12;S48_WRITE_BARRIER(x_981X, addr_982X, 1);
  *((long *) addr_982X) = (long) (1);
  n_983X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_983X)<<2)));
  code_984X = Sinterrupted_byte_opcode_return_codeS;
  v_985X = ((((ScontS) - (SstackS)))>>2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((4 + (((v_985X)<<2))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_984X))) + 13))));
  ScontS = (SstackS);
  goto L28436;}
 L31717: {
  code_pointer_986X = arg2K0;
  switch ((*((unsigned char *) code_pointer_986X))) {
    case 0 : 
    case 31 : 
    case 42 : {push_exception_setupB(14, 1);
      n_987X = *((unsigned char *) (Scode_pointerS));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_987X)<<2)));
      arg0K0 = 1;
      goto L29414;}
      break;
    case 1 : {
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 2 : {
      x_988X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_988X);
      SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 3 : {
      x_989X = -512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_989X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 4 : {
      template_990X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_991X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_992X = *((long *) ((((char *) (-3 + template_990X))) + (((index_991X)<<2))));
      SvalS = (*((long *) ((((char *) (-3 + location_992X))) + 4)));
      if ((17 == (255 & (SvalS)))) {push_exception_setupB(1, 5);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_992X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_990X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_991X)<<2)));
        arg0K0 = 3;
        goto L29414;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg2K0 = (Scode_pointerS);
        goto L31717;}}
      break;
    case 5 : {
      template_993X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      index_994X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      location_995X = *((long *) ((((char *) (-3 + template_993X))) + (((index_994X)<<2))));
      if ((273 == (*((long *) ((((char *) (-3 + location_995X))) + 4))))) {push_exception_setupB(1, 5);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (location_995X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (template_993X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((index_994X)<<2)));
        x_996X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_996X);
        arg0K0 = 4;
        goto L29414;}
      else {
        val_997X = SvalS;
        addr_998X = (((char *) (-3 + location_995X))) + 4;S48_WRITE_BARRIER(location_995X, addr_998X, val_997X);
        *((long *) addr_998X) = (long) (val_997X);
        SvalS = 13;
        Scode_pointerS = ((Scode_pointerS) + 5);
        arg2K0 = (Scode_pointerS);
        goto L31717;}}
      break;
    case 6 : {
      total_count_999X = *((unsigned char *) ((Scode_pointerS) + 1));
      closures_1000X = *((unsigned char *) ((Scode_pointerS) + 2));s48_make_availableAgc((((((1 + total_count_999X) + (3 * closures_1000X)))<<2)));
      len_1001X = ((total_count_999X)<<2);
      addr_1002X = s48_allocate_small((4 + len_1001X));
      *((long *) addr_1002X) = (long) ((10 + (((len_1001X)<<8))));
      new_env_1003X = 3 + (((long) (addr_1002X + 4)));
      if ((0 == closures_1000X)) {
        arg0K0 = new_env_1003X;
        arg0K1 = 0;
        arg0K2 = 2;
        arg0K3 = total_count_999X;
        goto L11371;}
      else {
        template_1004X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<2))));
        arg0K0 = closures_1000X;
        arg0K1 = 0;
        arg0K2 = 3;
        goto L21782;}}
      break;
    case 7 : {
      total_count_1005X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      closures_1006X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));s48_make_availableAgc((((((1 + total_count_1005X) + (3 * closures_1006X)))<<2)));
      len_1007X = ((total_count_1005X)<<2);
      addr_1008X = s48_allocate_small((4 + len_1007X));
      *((long *) addr_1008X) = (long) ((10 + (((len_1007X)<<8))));
      new_env_1009X = 3 + (((long) (addr_1008X + 4)));
      if ((0 == closures_1006X)) {
        arg0K0 = new_env_1009X;
        arg0K1 = 0;
        arg0K2 = 4;
        arg0K3 = total_count_1005X;
        goto L14121;}
      else {
        template_1010X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
        arg0K0 = closures_1006X;
        arg0K1 = 0;
        arg0K2 = 6;
        goto L21843;}}
      break;
    case 8 : {
      x_1011X = SvalS;
      x_1012X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
      addr_1013X = (((char *) (-3 + x_1012X))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2));S48_WRITE_BARRIER(x_1012X, addr_1013X, x_1011X);
      *((long *) addr_1013X) = (long) (x_1011X);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 9 : {
      value_1014X = SvalS;
      x_1015X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
      addr_1016X = (((char *) (-3 + x_1015X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 2))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 3)))))<<2));S48_WRITE_BARRIER(x_1015X, addr_1016X, value_1014X);
      *((long *) addr_1016X) = (long) (value_1014X);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 5);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 10 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 11 : {
      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);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 12 : {
      free_count_1017X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      size_1018X = 1 + free_count_1017X;s48_make_availableAgc((4 + (((size_1018X)<<2))));
      len_1019X = ((size_1018X)<<2);
      addr_1020X = s48_allocate_small((4 + len_1019X));
      *((long *) addr_1020X) = (long) ((14 + (((len_1019X)<<8))));
      closure_1021X = 3 + (((long) (addr_1020X + 4)));
      *((long *) (((char *) (-3 + closure_1021X)))) = (long) ((SvalS));
      arg0K0 = free_count_1017X;
      goto L34350;}
      break;
    case 13 : {
      x_1022X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1022X);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 14 : {
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (1);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 15 : {
      value_1023X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = value_1023X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 16 : {
      SstackS = ((SstackS) + (0 - ((((0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))))<<2))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 17 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      goto L60361;}
      break;
    case 18 : {
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 19 : {
      x_1024X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1024X);
      SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 20 : {
      x_1025X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1025X);
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 21 : {
      SvalS = (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 22 : {
      *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 2);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 23 : {
      *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))) = (long) ((SvalS));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 24 : {
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 25 : {
      x_1026X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1026X);
      SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 26 : {
      x_1027X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))));
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1027X);
      Scode_pointerS = ((Scode_pointerS) + 3);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 27 : {
      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);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 28 : {
      x_1028X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1028X);
      n_moves_1029X = *((unsigned char *) ((Scode_pointerS) + 1));
      arg0K0 = 0;
      goto L33684;}
      break;
    case 29 : {
      x_1030X = SvalS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1030X);
      n_moves_1031X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      arg0K0 = 0;
      goto L33601;}
      break;
    case 30 : {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
      if ((1 == (((long) (ScontS))))) {
        arg0K0 = 1;
        goto L60430;}
      else {
        v_1032X = really_preserve_continuation(0);
        arg0K0 = v_1032X;
        goto L60430;}}
      break;
    case 32 : {
      stack_arg_count_1033X = *((unsigned char *) ((Scode_pointerS) + 3));
      code_pointer_1034X = (Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      ScontS = ((SstackS) + (((stack_arg_count_1033X)<<2)));
      *((long *) (ScontS)) = (long) ((((long) code_pointer_1034X)));
      arg0K0 = stack_arg_count_1033X;
      goto L59512;}
      break;
    case 33 : {
      merged_arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      move_args_above_contB_return_tag = 0;
      goto move_args_above_contB;
     move_args_above_contB_return_0:
      arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
      goto L59512;}
      break;
    case 34 : {
      stack_arg_count_1035X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      return_pointer_offset_1036X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_1036X)) {
        merged_arg0K0 = stack_arg_count_1035X;
        move_args_above_contB_return_tag = 1;
        goto move_args_above_contB;
       move_args_above_contB_return_1:
        goto L29217;}
      else {
        code_pointer_1037X = (Scode_pointerS) + return_pointer_offset_1036X;
        ScontS = ((SstackS) + (((stack_arg_count_1035X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_1037X)));
        goto L29217;}}
      break;
    case 35 : {
      v_1038X = (s48_Sstack_limitS) == (((char *) -1));
      if (v_1038X) {
        pending_interruptP_return_tag = 3;
        goto pending_interruptP;
       pending_interruptP_return_3:
        v_1039X = pending_interruptP0_return_value;
        if (v_1039X) {
          goto L28613;}
        else {
          goto L60456;}}
      else {
        goto L60456;}}
      break;
    case 36 : {
      list_args_1040X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_1041X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
      merged_arg0K0 = list_args_1040X;
      okay_argument_list_return_tag = 0;
      goto okay_argument_list;
     okay_argument_list_return_0:
      okayP_1042X = okay_argument_list0_return_value;
      length_1043X = okay_argument_list1_return_value;
      if (okayP_1042X) {
        return_pointer_offset_1044X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
        if ((0 == return_pointer_offset_1044X)) {
          merged_arg0K0 = stack_nargs_1041X;
          move_args_above_contB_return_tag = 2;
          goto move_args_above_contB;
         move_args_above_contB_return_2:
          arg0K0 = stack_nargs_1041X;
          arg0K1 = list_args_1040X;
          arg0K2 = length_1043X;
          goto L58536;}
        else {
          code_pointer_1045X = (Scode_pointerS) + return_pointer_offset_1044X;
          ScontS = ((SstackS) + (((stack_nargs_1041X)<<2)));
          *((long *) (ScontS)) = (long) ((((long) code_pointer_1045X)));
          arg0K0 = stack_nargs_1041X;
          arg0K1 = list_args_1040X;
          arg0K2 = length_1043X;
          goto L58536;}}
      else {
        merged_arg0K0 = list_args_1040X;
        merged_arg0K1 = stack_nargs_1041X;
        pop_args_GlistSAgc_return_tag = 1;
        goto pop_args_GlistSAgc;
       pop_args_GlistSAgc_return_1:
        args_1046X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
        x_1047X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1047X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (args_1046X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 37 : {
      SstackS = ((SstackS) + 4);
      p_1048X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_1049X = ((p_1048X)>>2);
      SvalS = (*((long *) ((SstackS) + (((stack_nargs_1049X)<<2)))));
      merged_arg0K0 = stack_nargs_1049X;
      move_args_above_contB_return_tag = 3;
      goto move_args_above_contB;
     move_args_above_contB_return_3:
      rest_list_1050X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((25 == rest_list_1050X)) {
        v_1051X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1051X;
        arg0K1 = (-2 + stack_nargs_1049X);
        goto L20765;}
      else {
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_1050X))) + 4))))) {
          arg0K0 = (*((long *) (((char *) (-3 + rest_list_1050X)))));
          arg0K1 = (-1 + stack_nargs_1049X);
          goto L20765;}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_1050X))) + 4)))))) + 4)));
          arg0K1 = rest_list_1050X;
          goto L20810;}}}
      break;
    case 38 : {
      cont_1052X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & cont_1052X))) {
        if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1052X))) + -4))))>>2))))) {
          merged_arg0K0 = cont_1052X;
          merged_arg0K1 = 0;
          copy_continuation_from_heapB_return_tag = 0;
          goto copy_continuation_from_heapB;
         copy_continuation_from_heapB_return_0:
          goto L29175;}
        else {
          goto L29184;}}
      else {
        goto L29184;}}
      break;
    case 39 : {
      goto L59123;}
      break;
    case 40 : {
      arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
      arg0K1 = 25;
      arg0K2 = 0;
      goto L28842;}
      break;
    case 41 : {
      p_1053X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      p_1054X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_1055X = ((p_1054X)>>2);
      rest_list_1056X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = stack_nargs_1055X;
      arg0K1 = rest_list_1056X;
      arg0K2 = ((((p_1053X)>>2)) - stack_nargs_1055X);
      goto L28842;}
      break;
    case 43 : {
      template_1057X = *((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_1058X = *((long *) (((char *) (-3 + template_1057X))));
      nargs_1059X = *((unsigned char *) ((Scode_pointerS) + 7));
      return_pointer_offset_1060X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
      if ((0 == return_pointer_offset_1060X)) {
        merged_arg0K0 = nargs_1059X;
        move_args_above_contB_return_tag = 4;
        goto move_args_above_contB;
       move_args_above_contB_return_4:
        goto L33335;}
      else {
        code_pointer_1061X = (Scode_pointerS) + return_pointer_offset_1060X;
        ScontS = ((SstackS) + (((nargs_1059X)<<2)));
        *((long *) (ScontS)) = (long) ((((long) code_pointer_1061X)));
        goto L33335;}}
      break;
    case 44 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 3);
        arg2K0 = (Scode_pointerS);
        goto L31717;}}
      break;
    case 45 : {
      Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 46 : {
      Scode_pointerS = ((Scode_pointerS) + (0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))));
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 47 : {
      if ((0 == (3 & (SvalS)))) {
        p_1062X = SvalS;
        max_1063X = *((unsigned char *) ((Scode_pointerS) + 1));
        val_1064X = ((p_1062X)>>2);
        if ((val_1064X < 0)) {
          goto L32026;}
        else {
          if ((val_1064X < max_1063X)) {
            index_1065X = 1 + (((val_1064X)<<1));
            arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1065X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1065X)))));
            goto L32028;}
          else {
            goto L32026;}}}
      else {push_exception_setupB(5, 0);
        x_1066X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1066X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 48 : {
      stack_nargs_1067X = (((*((long *) (SstackS))))>>2);
      if ((0 == stack_nargs_1067X)) {
        rest_list_1068X = *((long *) ((SstackS) + 4));
        arg0_1069X = *((long *) ((SstackS) + 8));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_1069X);
        SvalS = (*((long *) (((char *) (-3 + rest_list_1068X)))));
        goto L32615;}
      else {
        arg0_1070X = *((long *) ((SstackS) + (4 + (((stack_nargs_1067X)<<2)))));
        arg1_1071X = *((long *) ((SstackS) + (((stack_nargs_1067X)<<2))));
        *((long *) ((SstackS) + (4 + (((stack_nargs_1067X)<<2))))) = (long) (1);
        *((long *) (SstackS)) = (long) ((-4 + (((stack_nargs_1067X)<<2))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg0_1070X);
        SvalS = arg1_1071X;
        goto L32615;}}
      break;
    case 49 : {
      stack_nargs_1072X = (((*((long *) (SstackS))))>>2);
      if ((stack_nargs_1072X == 0)) {
        rest_list_1073X = *((long *) ((SstackS) + 4));
        if ((25 == (*((long *) ((((char *) (-3 + rest_list_1073X))) + 4))))) {
          arg0K0 = 1;
          goto L31924;}
        else {
          *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_1073X))) + 4))));
          *((long *) ((SstackS) + 8)) = (long) ((SvalS));
          arg0K0 = -2;
          goto L31924;}}
      else {
        if ((stack_nargs_1072X == 1)) {
          if ((25 == (*((long *) ((SstackS) + 4))))) {
            arg0K0 = 1;
            goto L31924;}
          else {
            *((long *) (SstackS)) = (long) (0);
            *((long *) ((SstackS) + 8)) = (long) ((SvalS));
            arg0K0 = -2;
            goto L31924;}}
        else {
          *((long *) ((SstackS) + (4 + (((stack_nargs_1072X)<<2))))) = (long) ((SvalS));
          arg0K0 = -2;
          goto L31924;}}}
      break;
    case 50 : {
      if ((1 == (SvalS))) {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        x_1074X = (((*((long *) (SstackS))))>>2);
        if ((x_1074X == 0)) {
          rest_list_1075X = *((long *) ((SstackS) + 4));
          if ((25 == (*((long *) ((((char *) (-3 + rest_list_1075X))) + 4))))) {
            arg0K0 = 1;
            goto L32506;}
          else {
            *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_1075X))) + 4))));
            *((long *) ((SstackS) + 8)) = (long) ((*((long *) (((char *) (-3 + rest_list_1075X))))));
            arg0K0 = -2;
            goto L32506;}}
        else {
          if ((x_1074X == 1)) {
            if ((25 == (*((long *) ((SstackS) + 4))))) {
              arg0K0 = 1;
              goto L32506;}
            else {
              *((long *) (SstackS)) = (long) (0);
              arg0K0 = -2;
              goto L32506;}}
          else {
            arg0K0 = -2;
            goto L32506;}}}}
      break;
    case 51 : {
      arg2_1076X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1077X = SvalS;
      if ((arg2_1076X == x_1077X)) {
        arg0K0 = 5;
        goto L60501;}
      else {
        arg0K0 = 1;
        goto L60501;}}
      break;
    case 52 : {
      x_1078X = SvalS;
      if ((0 == (3 & x_1078X))) {
        arg0K0 = 5;
        goto L60513;}
      else {
        if ((3 == (3 & x_1078X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1078X))) + -4))))>>2))))) {
            arg0K0 = 5;
            goto L60513;}
          else {
            goto L18483;}}
        else {
          goto L18483;}}}
      break;
    case 53 : {
      n_1079X = SvalS;
      if ((0 == (3 & n_1079X))) {
        goto L49999;}
      else {
        if ((3 == (3 & n_1079X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1079X))) + -4))))>>2))))) {
            goto L49999;}
          else {
            goto L50000;}}
        else {
          goto L50000;}}}
      break;
    case 54 : {
      arg0K0 = (SvalS);
      goto L50133;}
      break;
    case 55 : {
      arg0K0 = (SvalS);
      goto L50133;}
      break;
    case 56 : {
      arg0K0 = (SvalS);
      goto L50133;}
      break;
    case 57 : {
      n_1080X = SvalS;
      if ((0 == (3 & n_1080X))) {
        goto L42567;}
      else {
        if ((3 == (3 & n_1080X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1080X))) + -4))))>>2))))) {
            goto L42567;}
          else {
            goto L42568;}}
        else {
          goto L42568;}}}
      break;
    case 58 : {
      x_1081X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1081X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 59 : {
      x_1082X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1082X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 60 : {
      arg2_1083X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1084X = SvalS;
      if ((0 == (3 & (arg2_1083X | y_1084X)))) {s48_make_availableAgc(16);
        x_1085X = (((arg2_1083X)>>2)) + (((y_1084X)>>2));
        if ((536870911 < x_1085X)) {
          goto L42693;}
        else {
          if ((x_1085X < -536870912)) {
            goto L42693;}
          else {
            arg0K0 = (((x_1085X)<<2));
            goto L42639;}}}
      else {
        if ((0 == (3 & arg2_1083X))) {
          goto L42645;}
        else {
          if ((3 == (3 & arg2_1083X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1083X))) + -4))))>>2))))) {
              goto L42645;}
            else {
              goto L42654;}}
          else {
            goto L42654;}}}}
      break;
    case 61 : {
      arg2_1086X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1087X = SvalS;
      if ((0 == (3 & (arg2_1086X | y_1087X)))) {
        a_1088X = ((arg2_1086X)>>2);
        b_1089X = ((y_1087X)>>2);
        if ((a_1088X < 0)) {
          arg0K0 = (0 - a_1088X);
          goto L11620;}
        else {
          arg0K0 = a_1088X;
          goto L11620;}}
      else {
        if ((0 == (3 & arg2_1086X))) {
          goto L51906;}
        else {
          if ((3 == (3 & arg2_1086X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1086X))) + -4))))>>2))))) {
              goto L51906;}
            else {
              goto L51915;}}
          else {
            goto L51915;}}}}
      break;
    case 62 : {
      arg2_1090X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1091X = SvalS;
      if ((0 == (3 & (arg2_1090X | y_1091X)))) {s48_make_availableAgc(16);
        x_1092X = (((arg2_1090X)>>2)) - (((y_1091X)>>2));
        if ((536870911 < x_1092X)) {
          goto L42982;}
        else {
          if ((x_1092X < -536870912)) {
            goto L42982;}
          else {
            arg0K0 = (((x_1092X)<<2));
            goto L42928;}}}
      else {
        if ((0 == (3 & arg2_1090X))) {
          goto L42934;}
        else {
          if ((3 == (3 & arg2_1090X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1090X))) + -4))))>>2))))) {
              goto L42934;}
            else {
              goto L42943;}}
          else {
            goto L42943;}}}}
      break;
    case 63 : {
      arg2_1093X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1094X = SvalS;
      if ((0 == y_1094X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1093X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_1094X);
        arg0K0 = 2;
        goto L29414;}
      else {
        if ((0 == (3 & (arg2_1093X | y_1094X)))) {
          if ((0 == y_1094X)) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_1093X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_1094X);
            arg0K0 = 2;
            goto L29414;}
          else {
            a_1095X = ((arg2_1093X)>>2);
            b_1096X = ((y_1094X)>>2);
            if ((a_1095X < 0)) {
              arg0K0 = (0 - a_1095X);
              goto L11878;}
            else {
              arg0K0 = a_1095X;
              goto L11878;}}}
        else {
          if ((0 == (3 & arg2_1093X))) {
            goto L52159;}
          else {
            if ((3 == (3 & arg2_1093X))) {
              if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1093X))) + -4))))>>2))))) {
                goto L52159;}
              else {
                goto L52196;}}
            else {
              goto L52196;}}}}}
      break;
    case 64 : {
      arg2_1097X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1098X = SvalS;
      if ((0 == (3 & (arg2_1097X | y_1098X)))) {
        if ((arg2_1097X == y_1098X)) {
          arg0K0 = 5;
          goto L43213;}
        else {
          arg0K0 = 1;
          goto L43213;}}
      else {
        if ((0 == (3 & arg2_1097X))) {
          goto L43219;}
        else {
          if ((3 == (3 & arg2_1097X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1097X))) + -4))))>>2))))) {
              goto L43219;}
            else {
              goto L43230;}}
          else {
            goto L43230;}}}}
      break;
    case 65 : {
      arg2_1099X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1100X = SvalS;
      if ((0 == (3 & (arg2_1099X | y_1100X)))) {
        if ((arg2_1099X < y_1100X)) {
          arg0K0 = 5;
          goto L43473;}
        else {
          arg0K0 = 1;
          goto L43473;}}
      else {
        if ((0 == (3 & arg2_1099X))) {
          goto L43479;}
        else {
          if ((3 == (3 & arg2_1099X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1099X))) + -4))))>>2))))) {
              goto L43479;}
            else {
              goto L43490;}}
          else {
            goto L43490;}}}}
      break;
    case 66 : {
      arg2_1101X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1102X = SvalS;
      if ((0 == (3 & (arg2_1101X | y_1102X)))) {
        if ((y_1102X < arg2_1101X)) {
          arg0K0 = 5;
          goto L43796;}
        else {
          arg0K0 = 1;
          goto L43796;}}
      else {
        if ((0 == (3 & arg2_1101X))) {
          goto L43802;}
        else {
          if ((3 == (3 & arg2_1101X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1101X))) + -4))))>>2))))) {
              goto L43802;}
            else {
              goto L43813;}}
          else {
            goto L43813;}}}}
      break;
    case 67 : {
      arg2_1103X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1104X = SvalS;
      if ((0 == (3 & (arg2_1103X | y_1104X)))) {
        if ((y_1104X < arg2_1103X)) {
          arg0K0 = 1;
          goto L44119;}
        else {
          arg0K0 = 5;
          goto L44119;}}
      else {
        if ((0 == (3 & arg2_1103X))) {
          goto L44125;}
        else {
          if ((3 == (3 & arg2_1103X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1103X))) + -4))))>>2))))) {
              goto L44125;}
            else {
              goto L44136;}}
          else {
            goto L44136;}}}}
      break;
    case 68 : {
      arg2_1105X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1106X = SvalS;
      if ((0 == (3 & (arg2_1105X | y_1106X)))) {
        if ((arg2_1105X < y_1106X)) {
          arg0K0 = 1;
          goto L44413;}
        else {
          arg0K0 = 5;
          goto L44413;}}
      else {
        if ((0 == (3 & arg2_1105X))) {
          goto L44419;}
        else {
          if ((3 == (3 & arg2_1105X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1105X))) + -4))))>>2))))) {
              goto L44419;}
            else {
              goto L44430;}}
          else {
            goto L44430;}}}}
      break;
    case 69 : {
      arg2_1107X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1108X = SvalS;
      if ((0 == y_1108X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1107X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_1108X);
        arg0K0 = 2;
        goto L29414;}
      else {
        if ((0 == (3 & (arg2_1107X | y_1108X)))) {
          if ((0 == y_1108X)) {
            val_1109X = Hinteger_op8341(arg2_1107X, y_1108X);
            SvalS = val_1109X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}
          else {
            a_1110X = ((arg2_1107X)>>2);
            b_1111X = ((y_1108X)>>2);
            if ((a_1110X < 0)) {
              arg0K0 = (0 - a_1110X);
              goto L12492;}
            else {
              arg0K0 = a_1110X;
              goto L12492;}}}
        else {
          if ((0 == (3 & arg2_1107X))) {
            goto L44719;}
          else {
            if ((3 == (3 & arg2_1107X))) {
              if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1107X))) + -4))))>>2))))) {
                goto L44719;}
              else {
                goto L44728;}}
            else {
              goto L44728;}}}}}
      break;
    case 70 : {
      arg2_1112X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1113X = SvalS;
      if ((0 == y_1113X)) {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1112X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (y_1113X);
        arg0K0 = 2;
        goto L29414;}
      else {
        if ((0 == (3 & (arg2_1112X | y_1113X)))) {
          if ((0 == y_1113X)) {
            val_1114X = Hinteger_op8272(arg2_1112X, y_1113X);
            SvalS = val_1114X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}
          else {
            a_1115X = ((arg2_1112X)>>2);
            if ((a_1115X < 0)) {
              arg0K0 = (0 - a_1115X);
              goto L44933;}
            else {
              arg0K0 = a_1115X;
              goto L44933;}}}
        else {
          if ((0 == (3 & arg2_1112X))) {
            goto L44895;}
          else {
            if ((3 == (3 & arg2_1112X))) {
              if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1112X))) + -4))))>>2))))) {
                goto L44895;}
              else {
                goto L44904;}}
            else {
              goto L44904;}}}}}
      break;
    case 71 : {
      n_1116X = SvalS;
      if ((0 == (3 & n_1116X))) {
        goto L45082;}
      else {
        if ((3 == (3 & n_1116X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1116X))) + -4))))>>2))))) {
            goto L45082;}
          else {
            goto L45083;}}
        else {
          goto L45083;}}}
      break;
    case 72 : {
      n_1117X = SvalS;
      if ((0 == (3 & n_1117X))) {
        goto L45137;}
      else {
        if ((3 == (3 & n_1117X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1117X))) + -4))))>>2))))) {
            goto L45137;}
          else {
            goto L45138;}}
        else {
          goto L45138;}}}
      break;
    case 73 : {
      n_1118X = SvalS;
      if ((0 == (3 & n_1118X))) {
        goto L45192;}
      else {
        if ((3 == (3 & n_1118X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1118X))) + -4))))>>2))))) {
            goto L45192;}
          else {
            goto L45195;}}
        else {
          goto L45195;}}}
      break;
    case 74 : {
      n_1119X = SvalS;
      if ((0 == (3 & n_1119X))) {
        goto L45252;}
      else {
        if ((3 == (3 & n_1119X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1119X))) + -4))))>>2))))) {
            goto L45252;}
          else {
            goto L45253;}}
        else {
          goto L45253;}}}
      break;
    case 75 : {
      n_1120X = SvalS;
      if ((0 == (3 & n_1120X))) {
        goto L45307;}
      else {
        if ((3 == (3 & n_1120X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1120X))) + -4))))>>2))))) {
            goto L45307;}
          else {
            goto L45310;}}
        else {
          goto L45310;}}}
      break;
    case 76 : {
      x_1121X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1121X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 77 : {
      x_1122X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1122X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 78 : {
      x_1123X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1123X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 79 : {
      x_1124X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1124X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 80 : {
      x_1125X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1125X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 81 : {
      x_1126X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1126X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 82 : {
      x_1127X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1127X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 83 : {
      x_1128X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1128X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 84 : {
      x_1129X = SvalS;
      if ((0 == (3 & x_1129X))) {
        goto L53486;}
      else {
        if ((3 == (3 & x_1129X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1129X))) + -4))))>>2))))) {
            goto L53486;}
          else {
            goto L53489;}}
        else {
          goto L53489;}}}
      break;
    case 85 : {
      x_1130X = SvalS;
      if ((0 == (3 & x_1130X))) {
        goto L56872;}
      else {
        if ((3 == (3 & x_1130X))) {
          if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1130X))) + -4))))>>2))))) {
            goto L56872;}
          else {
            goto L56875;}}
        else {
          goto L56875;}}}
      break;
    case 86 : {
      x_1131X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1131X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 87 : {
      arg2_1132X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1133X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_1132X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1133X);
      arg0K0 = 2;
      goto L29414;}
      break;
    case 88 : {
      arg2_1134X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1135X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_1134X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1135X);
      arg0K0 = 2;
      goto L29414;}
      break;
    case 89 : {
      arg2_1136X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1137X = SvalS;push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_1136X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1137X);
      arg0K0 = 2;
      goto L29414;}
      break;
    case 90 : {
      x_1138X = SvalS;
      if ((0 == (3 & x_1138X))) {
        SvalS = (~ (3 | x_1138X));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        if ((0 == (3 & x_1138X))) {
          goto L45453;}
        else {
          if ((3 == (3 & x_1138X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1138X))) + -4))))>>2))))) {
              goto L45453;}
            else {
              goto L45456;}}
          else {
            goto L45456;}}}}
      break;
    case 91 : {
      x_1139X = SvalS;
      if ((0 == (3 & x_1139X))) {
        x_1140X = ((x_1139X)>>2);
        if ((x_1140X < 0)) {
          arg0K0 = (~ x_1140X);
          goto L45544;}
        else {
          arg0K0 = x_1140X;
          goto L45544;}}
      else {
        if ((0 == (3 & x_1139X))) {
          goto L45527;}
        else {
          if ((3 == (3 & x_1139X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1139X))) + -4))))>>2))))) {
              goto L45527;}
            else {
              goto L45530;}}
          else {
            goto L45530;}}}}
      break;
    case 92 : {
      arg2_1141X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1142X = SvalS;
      if ((0 == (3 & (arg2_1141X | y_1142X)))) {
        SvalS = (arg2_1141X & y_1142X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        if ((0 == (3 & arg2_1141X))) {
          goto L45629;}
        else {
          if ((3 == (3 & arg2_1141X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1141X))) + -4))))>>2))))) {
              goto L45629;}
            else {
              goto L45638;}}
          else {
            goto L45638;}}}}
      break;
    case 93 : {
      arg2_1143X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1144X = SvalS;
      if ((0 == (3 & (arg2_1143X | y_1144X)))) {
        SvalS = (arg2_1143X | y_1144X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        if ((0 == (3 & arg2_1143X))) {
          goto L45792;}
        else {
          if ((3 == (3 & arg2_1143X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1143X))) + -4))))>>2))))) {
              goto L45792;}
            else {
              goto L45801;}}
          else {
            goto L45801;}}}}
      break;
    case 94 : {
      arg2_1145X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1146X = SvalS;
      if ((0 == (3 & (arg2_1145X | y_1146X)))) {
        SvalS = (arg2_1145X ^ y_1146X);
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        if ((0 == (3 & arg2_1145X))) {
          goto L45955;}
        else {
          if ((3 == (3 & arg2_1145X))) {
            if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1145X))) + -4))))>>2))))) {
              goto L45955;}
            else {
              goto L45964;}}
          else {
            goto L45964;}}}}
      break;
    case 95 : {
      arg2_1147X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      y_1148X = SvalS;
      if ((3 == (3 & y_1148X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1148X))) + -4))))>>2))))) {
          v_1149X = s48_bignum_test((((char *) (-3 + y_1148X))));
          if ((1 == v_1149X)) {push_exception_setupB(6, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_1147X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (y_1148X);
            arg0K0 = 2;
            goto L29414;}
          else {
            if ((0 == (3 & arg2_1147X))) {
              if ((arg2_1147X < 0)) {
                arg0K0 = -4;
                goto L42347;}
              else {
                arg0K0 = 0;
                goto L42347;}}
            else {
              if ((3 == (3 & arg2_1147X))) {
                if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1147X))) + -4))))>>2))))) {
                  v_1150X = s48_bignum_test((((char *) (-3 + arg2_1147X))));
                  if ((1 == v_1150X)) {
                    arg0K0 = 0;
                    goto L42363;}
                  else {
                    arg0K0 = -4;
                    goto L42363;}}
                else {
                  goto L42364;}}
              else {
                goto L42364;}}}}
        else {
          goto L52546;}}
      else {
        goto L52546;}}
      break;
    case 96 : {
      x_1151X = SvalS;
      if ((9 == (255 & x_1151X))) {
        arg0K0 = 5;
        goto L60772;}
      else {
        arg0K0 = 1;
        goto L60772;}}
      break;
    case 97 : {
      arg2_1152X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_1152X))) {
        if ((9 == (255 & (SvalS)))) {
          x_1153X = SvalS;
          if ((arg2_1152X == x_1153X)) {
            arg0K0 = 5;
            goto L49800;}
          else {
            arg0K0 = 1;
            goto L49800;}}
        else {
          goto L49771;}}
      else {
        goto L49771;}}
      break;
    case 98 : {
      arg2_1154X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((9 == (255 & arg2_1154X))) {
        if ((9 == (255 & (SvalS)))) {
          x_1155X = SvalS;
          if ((arg2_1154X < x_1155X)) {
            arg0K0 = 5;
            goto L49708;}
          else {
            arg0K0 = 1;
            goto L49708;}}
        else {
          goto L49679;}}
      else {
        goto L49679;}}
      break;
    case 99 : {
      if ((9 == (255 & (SvalS)))) {
        SvalS = (-4 & ((((SvalS))>>6)));
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {push_exception_setupB(5, 1);
        x_1156X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1156X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 100 : {
      if ((0 == (3 & (SvalS)))) {
        x_1157X = (((SvalS))>>2);
        if ((x_1157X < 0)) {
          goto L53795;}
        else {
          if ((55295 < x_1157X)) {
            if ((x_1157X < 57344)) {
              goto L53795;}
            else {
              if ((1114111 < x_1157X)) {
                goto L53795;}
              else {
                goto L53801;}}}
          else {
            goto L53801;}}}
      else {push_exception_setupB(5, 1);
        x_1158X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1158X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 101 : {
      if ((0 == (3 & (SvalS)))) {
        x_1159X = (((SvalS))>>2);
        if ((x_1159X < 0)) {
          arg0K0 = 1;
          goto L49606;}
        else {
          if ((55295 < x_1159X)) {
            if ((x_1159X < 57344)) {
              arg0K0 = 1;
              goto L49606;}
            else {
              if ((1114111 < x_1159X)) {
                arg0K0 = 1;
                goto L49606;}
              else {
                arg0K0 = 5;
                goto L49606;}}}
          else {
            arg0K0 = 5;
            goto L49606;}}}
      else {push_exception_setupB(5, 1);
        x_1160X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1160X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 102 : {
      x_1161X = SvalS;
      if ((21 == x_1161X)) {
        arg0K0 = 5;
        goto L60805;}
      else {
        arg0K0 = 1;
        goto L60805;}}
      break;
    case 103 : {
      x_1162X = SvalS;
      type_1163X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & x_1162X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + x_1162X))) + -4))))>>2))) == type_1163X)) {
          arg0K0 = 5;
          goto L60819;}
        else {
          arg0K0 = 1;
          goto L60819;}}
      else {
        arg0K0 = 1;
        goto L60819;}}
      break;
    case 104 : {
      stob_1164X = SvalS;
      type_1165X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((3 == (3 & stob_1164X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_1164X))) + -4))))>>2))) == type_1165X)) {
          SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_1164X))) + -4))))>>8))));
          Scode_pointerS = ((Scode_pointerS) + 2);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L34480;}}
      else {
        goto L34480;}}
      break;
    case 105 : {
      len_1166X = *((unsigned char *) ((Scode_pointerS) + 1));s48_make_availableAgc((4 + (((len_1166X)<<2))));
      type_1167X = *((unsigned char *) ((Scode_pointerS) + 2));
      len_1168X = ((len_1166X)<<2);
      addr_1169X = s48_allocate_small((4 + len_1168X));
      *((long *) addr_1169X) = (long) ((2 + (((((((len_1168X)<<6)) + type_1167X))<<2))));
      new_1170X = 3 + (((long) (addr_1169X + 4)));
      if ((len_1166X < 1)) {
        goto L34585;}
      else {
        *((long *) ((((char *) (-3 + new_1170X))) + (-4 + (((len_1166X)<<2))))) = (long) ((SvalS));
        arg0K0 = (-2 + len_1166X);
        goto L34569;}}
      break;
    case 106 : {
      p_1171X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      len_1172X = ((p_1171X)>>2);s48_make_availableAgc((4 + (((len_1172X)<<2))));
      type_1173X = *((unsigned char *) ((Scode_pointerS) + 1));
      len_1174X = ((len_1172X)<<2);
      addr_1175X = s48_allocate_small((4 + len_1174X));
      *((long *) addr_1175X) = (long) ((2 + (((((((len_1174X)<<6)) + type_1173X))<<2))));
      new_1176X = 3 + (((long) (addr_1175X + 4)));
      p_1177X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      stack_nargs_1178X = ((p_1177X)>>2);
      rest_list_1179X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = (-1 + stack_nargs_1178X);
      goto L34703;}
      break;
    case 107 : {
      stob_1180X = SvalS;
      type_1181X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_1182X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_1180X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_1180X))) + -4))))>>2))) == type_1181X)) {
          SvalS = (*((long *) ((((char *) (-3 + stob_1180X))) + (((offset_1182X)<<2)))));
          Scode_pointerS = ((Scode_pointerS) + 3);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L34871;}}
      else {
        goto L34871;}}
      break;
    case 108 : {
      arg2_1183X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_1184X = SvalS;
      type_1185X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_1186X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & arg2_1183X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + arg2_1183X))) + -4))))>>2))) == type_1185X)) {
          if ((3 == (3 & arg2_1183X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg2_1183X))) + -4)))))) {
              v_1187X = *((unsigned char *) ((Scode_pointerS) + 3));
              if ((0 == v_1187X)) {
                goto L34988;}
              else {
                if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                  goto L34988;}
                else {
                  merged_arg0K0 = arg2_1183X;
                  merged_arg0K1 = (((offset_1186X)<<2));
                  merged_arg0K2 = value_1184X;
                  proposal_d_write_return_tag = 0;
                  goto proposal_d_write;
                 proposal_d_write_return_0:
                  goto L34997;}}}
            else {
              goto L34998;}}
          else {
            goto L34998;}}
        else {
          goto L34998;}}
      else {
        goto L34998;}}
      break;
    case 109 : {
      arg2_1188X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      init_1189X = SvalS;
      type_1190X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_1188X))) {
        len_1191X = ((arg2_1188X)>>2);
        if ((len_1191X < 0)) {
          goto L35215;}
        else {
          if ((4194304 < len_1191X)) {
            goto L35215;}
          else {
            Stemp0S = init_1189X;
            len_1192X = ((len_1191X)<<2);
            addr_1193X = s48_allocate_tracedAgc((4 + len_1192X));
            if ((addr_1193X == NULL)) {
              arg0K0 = 1;
              goto L35232;}
            else {
              *((long *) addr_1193X) = (long) ((2 + (((((((len_1192X)<<6)) + type_1190X))<<2))));
              arg0K0 = (3 + (((long) (addr_1193X + 4))));
              goto L35232;}}}}
      else {push_exception_setupB(5, 2);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((type_1190X)<<2)));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1188X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (init_1189X);
        arg0K0 = 3;
        goto L29414;}}
      break;
    case 110 : {
      arg2_1194X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      index_1195X = SvalS;
      type_1196X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & index_1195X))) {
        if ((3 == (3 & arg2_1194X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg2_1194X))) + -4))))>>2))) == type_1196X)) {
            len_1197X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1194X))) + -4))))>>8))))>>2);
            index_1198X = ((index_1195X)>>2);
            if ((index_1198X < 0)) {
              goto L35505;}
            else {
              if ((index_1198X < len_1197X)) {
                v_1199X = *((unsigned char *) ((Scode_pointerS) + 2));
                if ((0 == v_1199X)) {
                  goto L35495;}
                else {
                  if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                    goto L35495;}
                  else {
                    merged_arg0K0 = arg2_1194X;
                    merged_arg0K1 = index_1195X;
                    proposal_d_read_return_tag = 0;
                    goto proposal_d_read;
                   proposal_d_read_return_0:
                    v_1200X = proposal_d_read0_return_value;
                    arg0K0 = v_1200X;
                    goto L35504;}}}
              else {
                goto L35505;}}}
          else {
            goto L35460;}}
        else {
          goto L35460;}}
      else {
        goto L35460;}}
      break;
    case 111 : {
      arg2_1201X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1202X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      value_1203X = SvalS;
      type_1204X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == (3 & arg2_1201X))) {
        if ((3 == (3 & arg3_1202X))) {
          if (((31 & ((((*((long *) ((((char *) (-3 + arg3_1202X))) + -4))))>>2))) == type_1204X)) {
            if ((3 == (3 & arg3_1202X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1202X))) + -4)))))) {
                len_1205X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1202X))) + -4))))>>8))))>>2);
                index_1206X = ((arg2_1201X)>>2);
                if ((index_1206X < 0)) {
                  goto L35792;}
                else {
                  if ((index_1206X < len_1205X)) {
                    v_1207X = *((unsigned char *) ((Scode_pointerS) + 2));
                    if ((0 == v_1207X)) {
                      goto L35782;}
                    else {
                      if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                        goto L35782;}
                      else {
                        merged_arg0K0 = arg3_1202X;
                        merged_arg0K1 = arg2_1201X;
                        merged_arg0K2 = value_1203X;
                        proposal_d_write_return_tag = 1;
                        goto proposal_d_write;
                       proposal_d_write_return_1:
                        goto L35791;}}}
                  else {
                    goto L35792;}}}
              else {
                goto L35745;}}
            else {
              goto L35745;}}
          else {
            goto L35745;}}
        else {
          goto L35745;}}
      else {
        goto L35745;}}
      break;
    case 112 : {
      addr_1208X = s48_allocate_untracedAgc(12);
      if ((addr_1208X == NULL)) {
        arg0K0 = 1;
        goto L60862;}
      else {
        *((long *) addr_1208X) = (long) (2122);
        arg0K0 = (3 + (((long) (addr_1208X + 4))));
        goto L60862;}}
      break;
    case 113 : {
      arg2_1209X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (arg2_1209X | (SvalS))))) {
        len_1210X = ((arg2_1209X)>>2);
        init_1211X = (((SvalS))>>2);
        if ((len_1210X < 0)) {
          goto L46237;}
        else {
          if ((4194304 < ((((3 + len_1210X))>>2)))) {
            goto L46237;}
          else {
            addr_1212X = s48_allocate_untracedAgc((4 + len_1210X));
            if ((addr_1212X == NULL)) {
              arg0K0 = 1;
              goto L46252;}
            else {
              *((long *) addr_1212X) = (long) ((70 + (((len_1210X)<<8))));
              arg0K0 = (3 + (((long) (addr_1212X + 4))));
              goto L46252;}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1209X);
        x_1213X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1213X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 114 : {
      obj_1214X = SvalS;
      if ((3 == (3 & obj_1214X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_1214X))) + -4))))>>2))))) {
          SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L58137;}}
      else {
        goto L58137;}}
      break;
    case 115 : {
      arg2_1215X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1215X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1215X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_1216X = (((SvalS))>>2);
            len_1217X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1215X))) + -4))))>>8);
            if ((index_1216X < 0)) {
              goto L53938;}
            else {
              if ((index_1216X < len_1217X)) {
                SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_1215X))) + index_1216X))))<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg2K0 = (Scode_pointerS);
                goto L31717;}
              else {
                goto L53938;}}}
          else {
            goto L57553;}}
        else {
          goto L57553;}}
      else {
        goto L57553;}}
      break;
    case 116 : {
      arg2_1218X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1219X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_1219X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1219X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_1218X | (SvalS))))) {
            index_1220X = ((arg2_1218X)>>2);
            Kchar_1221X = (((SvalS))>>2);
            if ((3 == (3 & arg3_1219X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1219X))) + -4)))))) {
                len_1222X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1219X))) + -4))))>>8);
                if ((index_1220X < 0)) {
                  goto L51118;}
                else {
                  if ((index_1220X < len_1222X)) {
                    *((unsigned char *) ((((char *) (-3 + arg3_1219X))) + index_1220X)) = (unsigned char) (Kchar_1221X);
                    SvalS = 13;
                    Scode_pointerS = ((Scode_pointerS) + 1);
                    arg2K0 = (Scode_pointerS);
                    goto L31717;}
                  else {
                    goto L51118;}}}
              else {
                goto L51097;}}
            else {
              goto L51097;}}
          else {
            goto L56192;}}
        else {
          goto L56192;}}
      else {
        goto L56192;}}
      break;
    case 117 : {
      arg2_1223X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1223X))) {
        if ((9 == (255 & (SvalS)))) {
          len_1224X = ((arg2_1223X)>>2);
          init_1225X = (((SvalS))>>8);
          if ((len_1224X < 0)) {
            goto L46422;}
          else {
            if ((4194304 < ((((3 + (((len_1224X)<<2))))>>2)))) {
              goto L46422;}
            else {
              len_1226X = ((len_1224X)<<2);
              addr_1227X = s48_allocate_untracedAgc((4 + len_1226X));
              if ((addr_1227X == NULL)) {
                arg0K0 = 1;
                goto L46437;}
              else {
                *((long *) addr_1227X) = (long) ((66 + (((len_1226X)<<8))));
                arg0K0 = (3 + (((long) (addr_1227X + 4))));
                goto L46437;}}}}
        else {
          goto L54019;}}
      else {
        goto L54019;}}
      break;
    case 118 : {
      obj_1228X = SvalS;
      if ((3 == (3 & obj_1228X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1228X))) + -4))))>>2))))) {
          x_1229X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)) / 4;
          SvalS = (((x_1229X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L58187;}}
      else {
        goto L58187;}}
      break;
    case 119 : {
      arg2_1230X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1230X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1230X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_1231X = (((SvalS))>>2);
            len_1232X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1230X))) + -4))))>>8)) / 4;
            if ((index_1231X < 0)) {
              goto L54084;}
            else {
              if ((index_1231X < len_1232X)) {
                arg0K0 = 0;
                arg0K1 = 0;
                arg0K2 = 0;
                goto L54112;}
              else {
                goto L54084;}}}
          else {
            goto L57651;}}
        else {
          goto L57651;}}
      else {
        goto L57651;}}
      break;
    case 120 : {
      arg2_1233X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1234X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_1234X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1234X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_1233X))) {
            if ((9 == (255 & (SvalS)))) {
              index_1235X = ((arg2_1233X)>>2);
              Kchar_1236X = (((SvalS))>>8);
              if ((3 == (3 & arg3_1234X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1234X))) + -4)))))) {
                  len_1237X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1234X))) + -4))))>>8)) / 4;
                  if ((index_1235X < 0)) {
                    goto L51273;}
                  else {
                    if ((index_1235X < len_1237X)) {
                      arg0K0 = 0;
                      arg0K1 = 0;
                      arg0K2 = Kchar_1236X;
                      goto L51337;}
                    else {
                      goto L51273;}}}
                else {
                  goto L51252;}}
              else {
                goto L51252;}}
            else {
              goto L56322;}}
          else {
            goto L56322;}}
        else {
          goto L56322;}}
      else {
        goto L56322;}}
      break;
    case 121 : {
      arg2_1238X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1239X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1240X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1241X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_1241X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1241X))) + -4))))>>2))))) {
          if ((0 == (3 & arg4_1240X))) {
            if ((3 == (3 & arg3_1239X))) {
              if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1239X))) + -4))))>>2))))) {
                if ((0 == (3 & (arg2_1238X | (SvalS))))) {
                  from_index_1242X = ((arg4_1240X)>>2);
                  to_index_1243X = ((arg2_1238X)>>2);
                  count_1244X = (((SvalS))>>2);
                  if ((from_index_1242X < 0)) {
                    goto L36127;}
                  else {
                    y_1245X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1241X))) + -4))))>>8)) / 4;
                    if ((y_1245X < (from_index_1242X + count_1244X))) {
                      goto L36127;}
                    else {
                      if ((to_index_1243X < 0)) {
                        goto L36127;}
                      else {
                        y_1246X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1239X))) + -4))))>>8)) / 4;
                        if ((y_1246X < (to_index_1243X + count_1244X))) {
                          goto L36127;}
                        else {
                          if ((3 == (3 & arg3_1239X))) {
                            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1239X))) + -4)))))) {
                              if ((count_1244X < 0)) {
                                goto L36127;}
                              else {
                                memmove((void *)((((char *) (-3 + arg3_1239X))) + (((to_index_1243X)<<2))), (void *)((((char *) (-3 + arg5_1241X))) + (((from_index_1242X)<<2))),(((count_1244X)<<2)));
                                SvalS = 13;
                                Scode_pointerS = ((Scode_pointerS) + 1);
                                arg2K0 = (Scode_pointerS);
                                goto L31717;}}
                            else {
                              goto L36127;}}
                          else {
                            goto L36127;}}}}}}
                else {
                  goto L41300;}}
              else {
                goto L41300;}}
            else {
              goto L41300;}}
          else {
            goto L41300;}}
        else {
          goto L41300;}}
      else {
        goto L41300;}}
      break;
    case 122 : {s48_make_availableAgc(12);
      obj_1247X = SvalS;
      if ((3 == (3 & obj_1247X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1247X))) + -4))))>>2))))) {
          table_1248X = Sthe_symbol_tableS;
          string_1249X = SvalS;
          v_1250X = Haction4940(string_1249X);
          index_1251X = 1023 & v_1250X;
          link_1252X = *((long *) ((((char *) (-3 + table_1248X))) + (((index_1251X)<<2))));
          if ((0 == (3 & link_1252X))) {
            arg0K0 = (3 + (-4 & link_1252X));
            goto L27043;}
          else {
            arg0K0 = link_1252X;
            goto L27043;}}
        else {
          goto L42509;}}
      else {
        goto L42509;}}
      break;
    case 123 : {
      obj_1253X = SvalS;
      if ((3 == (3 & obj_1253X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_1253X))) + -4))))>>2))))) {
          x_1254X = SvalS;
          descriptor_1255X = *((long *) ((((char *) (-3 + x_1254X))) + 4));
          if ((17 == (255 & descriptor_1255X))) {
            if ((529 == (*((long *) ((((char *) (-3 + x_1254X))) + 4))))) {
              arg0K0 = 5;
              goto L55886;}
            else {
              arg0K0 = 1;
              goto L55886;}}
          else {
            arg0K0 = 5;
            goto L55886;}}
        else {
          goto L55867;}}
      else {
        goto L55867;}}
      break;
    case 124 : {
      arg2_1256X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1256X))) {
        if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1256X))) + -4))))>>2))))) {
          x_1257X = SvalS;
          if ((1 == x_1257X)) {
            goto L50875;}
          else {
            if ((5 == x_1257X)) {
              goto L50875;}
            else {
              goto L50882;}}}
        else {
          goto L50882;}}
      else {
        goto L50882;}}
      break;
    case 125 : {
      x_1258X = SvalS;
      if ((3 == (3 & x_1258X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1258X))) + -4)))))) {
          arg0K0 = 1;
          goto L60924;}
        else {
          arg0K0 = 5;
          goto L60924;}}
      else {
        arg0K0 = 5;
        goto L60924;}}
      break;
    case 126 : {
      x_1259X = SvalS;
      if ((3 == (3 & x_1259X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1259X))) + -4)))))) {
          *((long *) ((((char *) (-3 + x_1259X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_1259X))) + -4)))));
          goto L54176;}
        else {
          goto L54176;}}
      else {
        goto L54176;}}
      break;
    case 127 : {s48_make_availableAgc(32);
      arg2_1260X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1261X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1262X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1260X))) {
        mode_1263X = ((arg2_1260X)>>2);
        close_silentlyP_1264X = SvalS;
        if ((1 == mode_1263X)) {
          goto L46861;}
        else {
          if ((2 == mode_1263X)) {
            goto L46861;}
          else {
            if ((3 == mode_1263X)) {
              goto L46861;}
            else {
              if ((4 == mode_1263X)) {
                goto L46861;}
              else {push_exception_setupB(5, 1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (arg4_1262X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
                arg0K0 = 2;
                goto L29414;}}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1262X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1261X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1260X);
        x_1265X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1265X);
        arg0K0 = 4;
        goto L29414;}}
      break;
    case 128 : {s48_make_availableAgc(2052);
      obj_1266X = SvalS;
      if ((3 == (3 & obj_1266X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1266X))) + -4))))>>2))))) {
          channel_1267X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_1267X))))))) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_1267X);
            arg0K0 = 1;
            goto L29414;}
          else {
            status_1268X = close_channelB(channel_1267X);
            if ((status_1268X == NO_ERRORS)) {
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg2K0 = (Scode_pointerS);
              goto L31717;}
            else {push_exception_setupB(24, 1);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_1267X);
              merged_arg0K0 = status_1268X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 0;
              goto get_error_string;
             get_error_string_return_0:
              x_1269X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_1269X);
              arg0K0 = 2;
              goto L29414;}}}
        else {
          goto L60943;}}
      else {
        goto L60943;}}
      break;
    case 129 : {s48_make_availableAgc(8);
      arg2_1270X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1271X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1272X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1273X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_1273X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1273X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg3_1271X | arg2_1270X)))) {
            x_1274X = SvalS;
            if ((1 == x_1274X)) {
              goto L54376;}
            else {
              if ((5 == x_1274X)) {
                goto L54376;}
              else {
                goto L54387;}}}
          else {
            goto L54387;}}
        else {
          goto L54387;}}
      else {
        goto L54387;}}
      break;
    case 130 : {s48_make_availableAgc(8);
      arg2_1275X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1276X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1277X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_1277X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1277X))) + -4))))>>2))))) {
          if ((0 == (3 & (arg2_1275X | (SvalS))))) {
            start_1278X = ((arg2_1275X)>>2);
            count_1279X = (((SvalS))>>2);
            v_1280X = 8 == (*((long *) (((char *) (-3 + arg4_1277X)))));
            if (v_1280X) {
              if ((3 == (3 & arg3_1276X))) {
                if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1276X))) + -4))))>>2))))) {
                  if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1276X))) + -4))))>>8)) < (start_1278X + count_1279X))) {
                    goto L47494;}
                  else {
                    got_1281X = ps_write_fd(((((*((long *) ((((char *) (-3 + arg4_1277X))) + 8))))>>2)), ((((char *) (-3 + arg3_1276X))) + start_1278X), count_1279X, &pendingP_1282X, &status_1283X);
                    if ((status_1283X == NO_ERRORS)) {
                      if (pendingP_1282X) {
                        addr_1284X = (((char *) (-3 + arg4_1277X))) + 20;S48_WRITE_BARRIER(arg4_1277X, addr_1284X, 5);
                        *((long *) addr_1284X) = (long) (5);
                        arg0K0 = 1;
                        goto L47493;}
                      else {
                        arg0K0 = (((got_1281X)<<2));
                        goto L47493;}}
                    else {
                      addr_1285X = s48_allocate_small(8);
                      *((long *) addr_1285X) = (long) (1046);
                      x_1286X = 3 + (((long) (addr_1285X + 4)));
                      *((long *) (((char *) (-3 + x_1286X)))) = (long) ((((status_1283X)<<2)));
                      arg0K0 = x_1286X;
                      goto L47493;}}}
                else {
                  goto L47494;}}
              else {
                goto L47494;}}
            else {
              goto L47494;}}
          else {
            goto L54590;}}
        else {
          goto L54590;}}
      else {
        goto L54590;}}
      break;
    case 131 : {
      if ((0 == (3 & (SvalS)))) {
        param_1287X = (((SvalS))>>2);
        if ((0 == param_1287X)) {
          x_1288X = ps_io_buffer_size();
          SvalS = (((x_1288X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          if ((1 == param_1287X)) {
            x_1289X = ps_io_crlf_p();
            if (x_1289X) {
              arg0K0 = 5;
              goto L57368;}
            else {
              arg0K0 = 1;
              goto L57368;}}
          else {push_exception_setupB(17, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((param_1287X)<<2)));
            arg0K0 = 1;
            goto L29414;}}}
      else {push_exception_setupB(5, 1);
        x_1290X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1290X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 132 : {s48_make_availableAgc(2052);
      obj_1291X = SvalS;
      if ((3 == (3 & obj_1291X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1291X))) + -4))))>>2))))) {
          channel_1292X = SvalS;
          if ((0 == (*((long *) (((char *) (-3 + channel_1292X))))))) {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (channel_1292X);
            arg0K0 = 1;
            goto L29414;}
          else {
            readyP_1293X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1292X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1292X)))))), &status_1294X);
            if ((status_1294X == NO_ERRORS)) {
              if (readyP_1293X) {
                arg0K0 = 5;
                goto L50466;}
              else {
                arg0K0 = 1;
                goto L50466;}}
            else {push_exception_setupB(24, 1);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (channel_1292X);
              merged_arg0K0 = status_1294X;
              merged_arg0K1 = 0;
              get_error_string_return_tag = 1;
              goto get_error_string;
             get_error_string_return_1:
              x_1295X = get_error_string0_return_value;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (x_1295X);
              arg0K0 = 2;
              goto L29414;}}}
        else {
          goto L60978;}}
      else {
        goto L60978;}}
      break;
    case 133 : {
      obj_1296X = SvalS;
      if ((3 == (3 & obj_1296X))) {
        if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1296X))) + -4))))>>2))))) {
          channel_1297X = SvalS;
          head_1298X = Spending_channels_headS;
          if ((1 == head_1298X)) {
            addr_1299X = (((char *) (-3 + channel_1297X))) + 20;S48_WRITE_BARRIER(channel_1297X, addr_1299X, 1);
            *((long *) addr_1299X) = (long) (1);
            n_1300X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1297X))) + 8))))>>2)));
            arg0K0 = (((n_1300X)<<2));
            goto L54738;}
          else {
            if ((channel_1297X == head_1298X)) {
              channel_1301X = Spending_channels_headS;
              next_1302X = *((long *) ((((char *) (-3 + channel_1301X))) + 16));
              Spending_channels_headS = next_1302X;
              addr_1303X = (((char *) (-3 + channel_1301X))) + 16;S48_WRITE_BARRIER(channel_1301X, addr_1303X, 1);
              *((long *) addr_1303X) = (long) (1);
              if ((1 == next_1302X)) {
                Spending_channels_tailS = 1;
                goto L14856;}
              else {
                goto L14856;}}
            else {
              arg0K0 = (*((long *) ((((char *) (-3 + head_1298X))) + 16)));
              arg0K1 = head_1298X;
              goto L14874;}}}
        else {
          goto L54721;}}
      else {
        goto L54721;}}
      break;
    case 134 : {s48_make_availableAgc(((((3 * (Snumber_of_channelsS)))<<2)));
      arg0K0 = (-1 + (Snumber_of_channelsS));
      arg0K1 = 25;
      goto L21512;}
      break;
    case 135 : {
      x_1304X = SvalS;
      addr_1305X = s48_allocate_weakAgc(8);
      *((long *) addr_1305X) = (long) (1078);
      weak_pointer_1306X = 3 + (((long) (addr_1305X + 4)));
      *((long *) (((char *) (-3 + weak_pointer_1306X)))) = (long) (x_1304X);
      SvalS = weak_pointer_1306X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 136 : {
      SvalS = (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)));
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 137 : {
      proposal_1307X = SvalS;
      if ((1 == proposal_1307X)) {
        goto L47715;}
      else {
        if ((3 == (3 & proposal_1307X))) {
          if ((2 == (31 & ((((*((long *) ((((char *) (-3 + proposal_1307X))) + -4))))>>2))))) {
            if ((4 == ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proposal_1307X))) + -4))))>>8))))>>2)))) {
              if ((1 == (*((long *) (((char *) (-3 + proposal_1307X))))))) {
                goto L47715;}
              else {
                goto L47746;}}
            else {
              goto L47746;}}
          else {
            goto L47746;}}
        else {
          goto L47746;}}}
      break;
    case 138 : {
      proposal_1308X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
      if ((1 == proposal_1308X)) {push_exception_setupB(26, 1);
        arg0K0 = 0;
        goto L29414;}
      else {GET_PROPOSAL_LOCK();
        log_1309X = *((long *) ((((char *) (-3 + proposal_1308X))) + 4));
        arg0K0 = 0;
        goto L13293;}}
      break;
    case 139 : {
      stob_1310X = SvalS;
      type_1311X = *((unsigned char *) ((Scode_pointerS) + 1));
      offset_1312X = *((unsigned char *) ((Scode_pointerS) + 2));
      if ((3 == (3 & stob_1310X))) {
        if (((31 & ((((*((long *) ((((char *) (-3 + stob_1310X))) + -4))))>>2))) == type_1311X)) {
          x_1313X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
          if ((1 == x_1313X)) {
            arg0K0 = (*((long *) ((((char *) (-3 + stob_1310X))) + (((offset_1312X)<<2)))));
            goto L36408;}
          else {
            merged_arg0K0 = stob_1310X;
            merged_arg0K1 = (((offset_1312X)<<2));
            proposal_d_read_return_tag = 1;
            goto proposal_d_read;
           proposal_d_read_return_1:
            v_1314X = proposal_d_read0_return_value;
            arg0K0 = v_1314X;
            goto L36408;}}
        else {
          goto L36409;}}
      else {
        goto L36409;}}
      break;
    case 140 : {
      arg2_1315X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1316X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1317X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1318X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg5_1318X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1318X))) + -4))))>>2))))) {
          if ((0 == (3 & arg4_1317X))) {
            if ((3 == (3 & arg3_1316X))) {
              if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1316X))) + -4))))>>2))))) {
                if ((0 == (3 & (arg2_1315X | (SvalS))))) {
                  from_index_1319X = ((arg4_1317X)>>2);
                  to_index_1320X = ((arg2_1315X)>>2);
                  count_1321X = (((SvalS))>>2);
                  v_1322X = *((unsigned char *) ((Scode_pointerS) + 1));
                  if ((from_index_1319X < 0)) {
                    goto L36502;}
                  else {
                    if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1318X))) + -4))))>>8)) < (from_index_1319X + count_1321X))) {
                      goto L36502;}
                    else {
                      if ((to_index_1320X < 0)) {
                        goto L36502;}
                      else {
                        if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1316X))) + -4))))>>8)) < (to_index_1320X + count_1321X))) {
                          goto L36502;}
                        else {
                          if ((3 == (3 & arg3_1316X))) {
                            if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1316X))) + -4)))))) {
                              if ((count_1321X < 0)) {
                                goto L36502;}
                              else {
                                if ((0 == v_1322X)) {
                                  goto L36562;}
                                else {
                                  if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                                    goto L36562;}
                                  else {
                                    arg0K0 = 4096;
                                    arg0K1 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 12)));
                                    goto L36659;}}}}
                            else {
                              goto L36502;}}
                          else {
                            goto L36502;}}}}}}
                else {
                  goto L41579;}}
              else {
                goto L41579;}}
            else {
              goto L41579;}}
          else {
            goto L41579;}}
        else {
          goto L41579;}}
      else {
        goto L41579;}}
      break;
    case 141 : {
      arg2_1323X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1323X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1323X))) + -4))))>>2))))) {
          if ((0 == (3 & (SvalS)))) {
            index_1324X = (((SvalS))>>2);
            len_1325X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1323X))) + -4))))>>8);
            if ((index_1324X < 0)) {
              goto L36928;}
            else {
              if ((index_1324X < len_1325X)) {
                x_1326X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                if ((1 == x_1326X)) {
                  arg0K0 = ((((*((unsigned char *) ((((char *) (-3 + arg2_1323X))) + index_1324X))))<<2));
                  goto L36927;}
                else {
                  index_1327X = ((index_1324X)<<2);
                  log_1328X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                  arg0K0 = 0;
                  goto L19641;}}
              else {
                goto L36928;}}}
          else {
            goto L41775;}}
        else {
          goto L41775;}}
      else {
        goto L41775;}}
      break;
    case 142 : {
      arg2_1329X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1330X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg3_1330X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1330X))) + -4))))>>2))))) {
          if ((0 == (3 & arg2_1329X))) {
            index_1331X = ((arg2_1329X)>>2);
            byte_1332X = SvalS;
            if ((3 == (3 & arg3_1330X))) {
              if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1330X))) + -4)))))) {
                if ((0 == (3 & byte_1332X))) {
                  len_1333X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1330X))) + -4))))>>8);
                  if ((index_1331X < 0)) {
                    goto L37054;}
                  else {
                    if ((index_1331X < len_1333X)) {
                      x_1334X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
                      if ((1 == x_1334X)) {
                        *((unsigned char *) ((((char *) (-3 + arg3_1330X))) + index_1331X)) = (unsigned char) ((((byte_1332X)>>2)));
                        goto L37053;}
                      else {
                        index_1335X = ((index_1331X)<<2);
                        log_1336X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
                        arg0K0 = 0;
                        goto L19817;}}
                    else {
                      goto L37054;}}}
                else {
                  goto L37019;}}
              else {
                goto L37019;}}
            else {
              goto L37019;}}
          else {
            goto L41880;}}
        else {
          goto L41880;}}
      else {
        goto L41880;}}
      break;
    case 143 : {
      SvalS = 529;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 144 : {
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 145 : {
      x_1337X = SvalS;push_exception_setupB(15, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1337X);
      arg0K0 = 1;
      goto L29414;}
      break;
    case 146 : {
      SvalS = 1;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 147 : {
      SvalS = 21;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 148 : {s48_make_availableAgc(2052);
      arg2_1338X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1339X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1340X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg4_1340X))) {
        if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1340X))) + -4))))>>2))))) {
          if ((3 == (3 & arg2_1338X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1338X))) + -4))))>>2))))) {
              obj_1341X = SvalS;
              if ((3 == (3 & obj_1341X))) {
                if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1341X))) + -4))))>>2))))) {
                  undumpables_1342X = SvalS;
                  port_1343X = ps_open_output_file((((char *)(((char *) (-3 + arg4_1340X))))), &status_1344X);
                  if ((status_1344X == NO_ERRORS)) {
                    status_1345X = ps_write_string((((char *)(((char *) (-3 + arg2_1338X))))), port_1343X);
                    if ((status_1345X == NO_ERRORS)) {
                      status_1346X = s48_write_image(arg3_1339X, undumpables_1342X, port_1343X);
                      if ((status_1346X == NO_ERRORS)) {
                        status_1347X = ps_close(port_1343X);
                        if ((status_1347X == NO_ERRORS)) {
                          SvalS = 13;
                          Scode_pointerS = ((Scode_pointerS) + 1);
                          arg2K0 = (Scode_pointerS);
                          goto L31717;}
                        else {
                          arg0K0 = 24;
                          arg0K1 = status_1347X;
                          goto L51511;}}
                      else {
                        status_1348X = ps_close(port_1343X);
                        if ((status_1348X == NO_ERRORS)) {
                          arg0K0 = 24;
                          arg0K1 = status_1346X;
                          goto L51511;}
                        else {
                          ps_write_string("Unable to close image file", (stderr));
                          { long ignoreXX;
                          PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                          arg0K0 = 24;
                          arg0K1 = status_1346X;
                          goto L51511;}}}
                    else {
                      status_1349X = ps_close(port_1343X);
                      if ((status_1349X == NO_ERRORS)) {
                        arg0K0 = 24;
                        arg0K1 = status_1345X;
                        goto L51511;}
                      else {
                        ps_write_string("Unable to close image file", (stderr));
                        { long ignoreXX;
                        PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                        arg0K0 = 24;
                        arg0K1 = status_1345X;
                        goto L51511;}}}
                  else {
                    arg0K0 = 10;
                    arg0K1 = status_1344X;
                    goto L51511;}}
                else {
                  goto L56523;}}
              else {
                goto L56523;}}
            else {
              goto L56523;}}
          else {
            goto L56523;}}
        else {
          goto L56523;}}
      else {
        goto L56523;}}
      break;
    case 149 : {
      SvalS = 13;s48_collect(1);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 150 : {
      obj_1350X = SvalS;
      if ((3 == (3 & obj_1350X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1350X))) + -4))))>>2))))) {
          x_1351X = Haction4940((SvalS));
          SvalS = (((x_1351X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L57236;}}
      else {
        goto L57236;}}
      break;
    case 151 : {s48_make_availableAgc(24);
      arg2_1352X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      proc_1353X = SvalS;
      if ((3 == (3 & arg2_1352X))) {
        if ((3 == (3 & proc_1353X))) {
          if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_1353X))) + -4))))>>2))))) {GET_PROPOSAL_LOCK();
            addr_1354X = s48_allocate_small(12);
            *((long *) addr_1354X) = (long) (2050);
            x_1355X = 3 + (((long) (addr_1354X + 4)));
            *((long *) (((char *) (-3 + x_1355X)))) = (long) (arg2_1352X);
            *((long *) ((((char *) (-3 + x_1355X))) + 4)) = (long) (proc_1353X);
            b_1356X = SHARED_REF((Sfinalizer_alistS));
            addr_1357X = s48_allocate_small(12);
            *((long *) addr_1357X) = (long) (2050);
            x_1358X = 3 + (((long) (addr_1357X + 4)));
            *((long *) (((char *) (-3 + x_1358X)))) = (long) (x_1355X);
            *((long *) ((((char *) (-3 + x_1358X))) + 4)) = (long) (b_1356X);SHARED_SETB((Sfinalizer_alistS), x_1358X);RELEASE_PROPOSAL_LOCK();
            SvalS = 13;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}
          else {
            goto L51786;}}
        else {
          goto L51786;}}
      else {
        goto L51786;}}
      break;
    case 152 : {
      arg2_1359X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1359X))) {
        key_1360X = ((arg2_1359X)>>2);
        other_1361X = SvalS;
        if ((6 == key_1360X)) {
          SvalS = (-4 & other_1361X);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          if ((0 == key_1360X)) {
            x_1362X = s48_available();
            SvalS = (((x_1362X)<<2));
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}
          else {
            if ((1 == key_1360X)) {
              bytes_1363X = s48_heap_size();
              SvalS = (-4 & (3 + bytes_1363X));
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg2K0 = (Scode_pointerS);
              goto L31717;}
            else {
              if ((2 == key_1360X)) {
                x_1364X = s48_max_heap_size();
                SvalS = (((x_1364X)<<2));
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg2K0 = (Scode_pointerS);
                goto L31717;}
              else {
                if ((3 == key_1360X)) {
                  SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
                  Scode_pointerS = ((Scode_pointerS) + 1);
                  arg2K0 = (Scode_pointerS);
                  goto L31717;}
                else {
                  if ((4 == key_1360X)) {
                    x_1365X = s48_gc_count();
                    SvalS = (((x_1365X)<<2));
                    Scode_pointerS = ((Scode_pointerS) + 1);
                    arg2K0 = (Scode_pointerS);
                    goto L31717;}
                  else {
                    if ((5 == key_1360X)) {push_exception_setupB(14, 1);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) ((((key_1360X)<<2)));
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) (other_1361X);
                      arg0K0 = 2;
                      goto L29414;}
                    else {push_exception_setupB(17, 1);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) ((((key_1360X)<<2)));
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) (other_1361X);
                      arg0K0 = 2;
                      goto L29414;}}}}}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1359X);
        x_1366X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1366X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 153 : {
      if ((0 == (3 & (SvalS)))) {
        type_1367X = (((SvalS))>>2);
        arg3K0 = 1;
        goto L54857;}
      else {push_exception_setupB(5, 1);
        x_1368X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1368X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 154 : {
      x_1369X = SvalS;
      arg3K0 = 1;
      arg0K1 = x_1369X;
      goto L61100;}
      break;
    case 155 : {
      SvalS = (Scurrent_threadS);
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 156 : {
      Scurrent_threadS = (SvalS);
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 157 : {
      val_1370X = SHARED_REF((Ssession_dataS));
      SvalS = val_1370X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 158 : {SHARED_SETB((Ssession_dataS), (SvalS));
      SvalS = 13;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 159 : {
      obj_1371X = SvalS;
      if ((3 == (3 & obj_1371X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1371X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 195)) {
            goto L33453;}
          else {
            temp_1372X = SHARED_REF((Sexception_handlersS));SHARED_SETB((Sexception_handlersS), (SvalS));
            SvalS = temp_1372X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}}
        else {
          goto L33453;}}
      else {
        goto L33453;}}
      break;
    case 160 : {
      data_1373X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_1374X = *((long *) ((((char *) (-3 + data_1373X))) + 8));
      exception_1375X = *((long *) ((((char *) (-3 + data_1373X))) + 12));
      size_1376X = *((long *) ((((char *) (-3 + data_1373X))) + 16));
      pc_1377X = (((*((long *) ((((char *) (-3 + data_1373X))) + 4))))>>2);
      opcode_1378X = *((unsigned char *) ((((char *) (-3 + code_1374X))) + pc_1377X));
      if ((opcode_1378X < 51)) {
        if ((4 == opcode_1378X)) {
          goto L31799;}
        else {
          Slast_code_calledS = code_1374X;
          Scode_pointerS = ((((char *) (-3 + code_1374X))) + pc_1377X);push_exception_setupB(28, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_1375X);
          arg0K0 = 1;
          goto L29414;}}
      else {
        goto L31799;}}
      break;
    case 161 : {
      data_1379X = 3 + (((long) (SstackS)));
      SstackS = ((SstackS) + 20);
      code_1380X = *((long *) ((((char *) (-3 + data_1379X))) + 8));
      exception_1381X = *((long *) ((((char *) (-3 + data_1379X))) + 12));
      opcode_1382X = (((*((long *) ((((char *) (-3 + data_1379X))) + 4))))>>2);
      if ((opcode_1382X < 51)) {
        if ((4 == opcode_1382X)) {
          goto L29675;}
        else {
          Slast_code_calledS = code_1380X;
          Scode_pointerS = (((char *) (-3 + code_1380X)));push_exception_setupB(28, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (exception_1381X);
          arg0K0 = 1;
          goto L29414;}}
      else {
        goto L29675;}}
      break;
    case 162 : {
      obj_1383X = SvalS;
      if ((3 == (3 & obj_1383X))) {
        if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1383X))) + -4))))>>2))))) {
          if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 6)) {
            goto L32358;}
          else {
            temp_1384X = SHARED_REF((Sinterrupt_handlersS));SHARED_SETB((Sinterrupt_handlersS), (SvalS));
            SvalS = temp_1384X;
            Scode_pointerS = ((Scode_pointerS) + 1);
            arg2K0 = (Scode_pointerS);
            goto L31717;}}
        else {
          goto L32358;}}
      else {
        goto L32358;}}
      break;
    case 163 : {
      old_1385X = Senabled_interruptsS;
      p_1386X = SvalS;
      Senabled_interruptsS = (((p_1386X)>>2));
      if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
        s48_Sstack_limitS = (Sreal_stack_limitS);
        if ((s48_Spending_eventsPS)) {
          s48_Sstack_limitS = (((char *) -1));
          goto L61148;}
        else {
          goto L61148;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L61148;}}
      break;
    case 164 : {
      SstackS = ((SstackS) + 4);
      s48_pop_interrupt_state_return_tag = 0;
      goto s48_pop_interrupt_state;
     s48_pop_interrupt_state_return_0:
      pc_1387X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      code_1388X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      Slast_code_calledS = code_1388X;
      Scode_pointerS = ((((char *) (-3 + code_1388X))) + (((pc_1387X)>>2)));
      v_1389X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = v_1389X;
      arg2K0 = (Scode_pointerS);
      goto L31717;}
      break;
    case 165 : {
      SstackS = ((SstackS) + 4);
      s48_pop_interrupt_state_return_tag = 1;
      goto s48_pop_interrupt_state;
     s48_pop_interrupt_state_return_1:
      v_1390X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = v_1390X;
      p_1391X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      v_1392X = s48_call_native_procedure((SvalS), (((p_1391X)>>2)));
      arg0K0 = v_1392X;
      goto L58795;}
      break;
    case 166 : {
      SstackS = ((SstackS) + 4);
      s48_pop_interrupt_state_return_tag = 2;
      goto s48_pop_interrupt_state;
     s48_pop_interrupt_state_return_2:
      return_address_1393X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      template_1394X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      v_1395X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      SvalS = v_1395X;
      v_1396X = s48_jump_to_native_address(return_address_1393X, template_1394X);
      arg0K0 = v_1396X;
      goto L58795;}
      break;
    case 167 : {
      if ((0 == (3 & (SvalS)))) {
        p_1397X = 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 L58352;}
          else {
            goto L58352;}}
        else {
          s48_Sstack_limitS = (((char *) -1));
          goto L58352;}}
      else {push_exception_setupB(5, 1);
        x_1398X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1398X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 168 : {
      arg2_1399X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1399X))) {
        x_1400X = SvalS;
        if ((1 == x_1400X)) {
          goto L56071;}
        else {
          if ((5 == x_1400X)) {
            goto L56071;}
          else {
            goto L56076;}}}
      else {
        goto L56076;}}
      break;
    case 169 : {
      p_1401X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      nargs_1402X = ((p_1401X)>>2);
      p_1403X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      rest_list_1404X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((14 < nargs_1402X)) {push_exception_setupB(19, 1);
        x_1405X = *((long *) ((SstackS) + (-4 + (-4 & p_1403X))));
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1405X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (nargs_1402X);
        arg0K0 = 2;
        goto L29414;}
      else {
        arg0K0 = rest_list_1404X;
        goto L37253;}}
      break;
    case 170 : {s48_make_availableAgc(20);
      arg2_1406X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1406X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1406X))) + -4))))>>2))))) {
          x_1407X = SvalS;
          if ((1 == x_1407X)) {
            goto L54952;}
          else {
            if ((5 == x_1407X)) {
              goto L54952;}
            else {
              goto L54957;}}}
        else {
          goto L54957;}}
      else {
        goto L54957;}}
      break;
    case 171 : {
      arg2_1408X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1408X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1408X))) + -4))))>>2))))) {
          x_1409X = SvalS;
          if ((1 == x_1409X)) {
            goto L40713;}
          else {
            if ((5 == x_1409X)) {
              goto L40713;}
            else {
              goto L40718;}}}
        else {
          goto L40718;}}
      else {
        goto L40718;}}
      break;
    case 172 : {
      arg3K0 = 1;
      goto L61208;}
      break;
    case 173 : {
      arg2_1410X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1410X))) {
        option_1411X = ((arg2_1410X)>>2);
        other_1412X = SvalS;
        if ((2 == option_1411X)) {
          x_1413X = CHEAP_TIME();
          SvalS = (((x_1413X)<<2));
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          if ((0 == option_1411X)) {
            seconds_1414X = s48_run_time(&mseconds_1415X);
            arg0K0 = option_1411X;
            arg0K1 = seconds_1414X;
            arg0K2 = mseconds_1415X;
            goto L57170;}
          else {
            if ((1 == option_1411X)) {
              seconds_1416X = s48_real_time(&mseconds_1417X);
              arg0K0 = option_1411X;
              arg0K1 = seconds_1416X;
              arg0K2 = mseconds_1417X;
              goto L57170;}
            else {
              if ((3 == option_1411X)) {
                seconds_1418X = s48_gc_run_time(&mseconds_1419X);
                arg0K0 = option_1411X;
                arg0K1 = seconds_1418X;
                arg0K2 = mseconds_1419X;
                goto L57170;}
              else {push_exception_setupB(17, 1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) ((((option_1411X)<<2)));
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (other_1412X);
                arg0K0 = 2;
                goto L29414;}}}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1410X);
        x_1420X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1420X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 174 : {
      if ((0 == (3 & (SvalS)))) {
        key_1421X = (((SvalS))>>2);
        if ((0 == key_1421X)) {
          string_1422X = s48_get_os_string_encoding();
          val_1423X = enter_stringAgc_n(string_1422X, (strlen((char *) string_1422X)));
          SvalS = val_1423X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {push_exception_setupB(17, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((key_1421X)<<2)));
          arg0K0 = 1;
          goto L29414;}}
      else {push_exception_setupB(5, 1);
        x_1424X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1424X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 175 : {
      arg2_1425X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1425X))) {
        key_1426X = ((arg2_1425X)>>2);
        value_1427X = SvalS;
        status_1428X = s48_extended_vm(key_1426X, value_1427X);
        if ((0 == status_1428X)) {
          SvalS = (s48_Sextension_valueS);
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          if ((1 == status_1428X)) {push_exception_setupB(22, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_1426X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_1427X);
            arg0K0 = 2;
            goto L29414;}
          else {push_exception_setupB(23, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) ((((key_1426X)<<2)));
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (value_1427X);
            arg0K0 = 2;
            goto L29414;}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1425X);
        x_1429X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1429X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 176 : {
      arg2_1430X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      x_1431X = 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 L61265;}
        else {
          goto L61265;}}
      else {
        s48_Sstack_limitS = (((char *) -1));
        goto L61265;}}
      break;
    case 177 : {
      arg2_1432X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((3 == (3 & arg2_1432X))) {
        if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1432X))) + -4))))>>2))))) {
          obj_1433X = SvalS;
          if ((3 == (3 & obj_1433X))) {
            if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1433X))) + -4))))>>2))))) {
              x_1434X = SvalS;
              len_1435X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1432X))) + -4))))>>8);
              if ((len_1435X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1434X))) + -4))))>>8)))) {
                if (((!memcmp((void *)(((char *) (-3 + x_1434X))), (void *)(((char *) (-3 + arg2_1432X))),len_1435X)))) {
                  arg0K0 = 5;
                  goto L49386;}
                else {
                  arg0K0 = 1;
                  goto L49386;}}
              else {
                arg0K0 = 1;
                goto L49386;}}
            else {
              goto L49351;}}
          else {
            goto L49351;}}
        else {
          goto L49351;}}
      else {
        goto L49351;}}
      break;
    case 178 : {s48_make_availableAgc((4 + (-4 & (3 + (-4 & (SvalS))))));
      arg2_1436X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        n_1437X = (((SvalS))>>2);
        if ((3 == (3 & arg2_1436X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1436X))) + -4))))>>2))))) {
            goto L48570;}
          else {
            goto L48522;}}
        else {
          goto L48522;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1436X);
        x_1438X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1438X);
        arg0K0 = 2;
        goto L29414;}}
      break;
    case 179 : {
      arg2_1439X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      list_1440X = SvalS;
      arg0K0 = list_1440X;
      arg0K1 = list_1440X;
      arg3K2 = 1;
      goto L50529;}
      break;
    case 180 : {
      if ((529 == (SvalS))) {push_exception_setupB(0, 1);
        arg0K0 = 0;
        goto L29414;}
      else {
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}}
      break;
    case 181 : {
      arg2_1441X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1442X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & (SvalS)))) {
        index_1443X = (((SvalS))>>2);
        if ((3 == (3 & arg3_1442X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1442X))) + -4))))>>2))))) {
            if ((arg2_1441X == (*((long *) (((char *) (-3 + arg3_1442X))))))) {
              len_1444X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1442X))) + -4))))>>8))))>>2);
              if ((index_1443X < 0)) {
                goto L37585;}
              else {
                if ((index_1443X < len_1444X)) {
                  v_1445X = *((unsigned char *) ((Scode_pointerS) + 1));
                  if ((0 == v_1445X)) {
                    goto L37575;}
                  else {
                    if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                      goto L37575;}
                    else {
                      merged_arg0K0 = arg3_1442X;
                      merged_arg0K1 = (((index_1443X)<<2));
                      proposal_d_read_return_tag = 2;
                      goto proposal_d_read;
                     proposal_d_read_return_2:
                      v_1446X = proposal_d_read0_return_value;
                      arg0K0 = v_1446X;
                      goto L37584;}}}
                else {
                  goto L37585;}}}
            else {
              goto L37605;}}
          else {
            goto L37605;}}
        else {
          goto L37605;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1442X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1441X);
        x_1447X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1447X);
        arg0K0 = 3;
        goto L29414;}}
      break;
    case 182 : {
      arg2_1448X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1449X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1450X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg2_1448X))) {
        index_1451X = ((arg2_1448X)>>2);
        value_1452X = SvalS;
        if ((3 == (3 & arg4_1450X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1450X))) + -4))))>>2))))) {
            if ((arg3_1449X == (*((long *) (((char *) (-3 + arg4_1450X))))))) {
              if ((3 == (3 & arg4_1450X))) {
                if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1450X))) + -4)))))) {
                  len_1453X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1450X))) + -4))))>>8))))>>2);
                  if ((index_1451X < 0)) {
                    goto L37843;}
                  else {
                    if ((index_1451X < len_1453X)) {
                      v_1454X = *((unsigned char *) ((Scode_pointerS) + 1));
                      if ((0 == v_1454X)) {
                        goto L37833;}
                      else {
                        if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
                          goto L37833;}
                        else {
                          merged_arg0K0 = arg4_1450X;
                          merged_arg0K1 = (((index_1451X)<<2));
                          merged_arg0K2 = value_1452X;
                          proposal_d_write_return_tag = 2;
                          goto proposal_d_write;
                         proposal_d_write_return_2:
                          goto L37842;}}}
                    else {
                      goto L37843;}}}
                else {
                  goto L37865;}}
              else {
                goto L37865;}}
            else {
              goto L37865;}}
          else {
            goto L37865;}}
        else {
          goto L37865;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1450X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg3_1449X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1448X);
        x_1455X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1455X);
        arg0K0 = 4;
        goto L29414;}}
      break;
    case 183 : {
      arg2_1456X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1457X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1458X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1459X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg5_1459X))) {
        if ((9 == (255 & arg4_1458X))) {
          if ((3 == (3 & arg3_1457X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1457X))) + -4))))>>2))))) {
              if ((0 == (3 & (arg2_1456X | (SvalS))))) {
                encoding_1460X = ((arg5_1459X)>>2);
                value_1461X = ((arg4_1458X)>>8);
                start_1462X = ((arg2_1456X)>>2);
                count_1463X = (((SvalS))>>2);
                if ((3 == (3 & arg3_1457X))) {
                  if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1457X))) + -4)))))) {
                    if ((start_1462X < 0)) {
                      goto L30033;}
                    else {
                      if ((count_1463X < 0)) {
                        goto L30033;}
                      else {
                        if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1457X))) + -4))))>>8)) < (start_1462X + count_1463X))) {
                          goto L30033;}
                        else {
                          encoding_okP_1464X = encode_scalar_value(encoding_1460X, value_1461X, ((((char *) (-3 + arg3_1457X))) + start_1462X), count_1463X, &okP_1465X, &out_of_spaceP_1466X, &count_1467X);
                          if (encoding_okP_1464X) {
                            if (okP_1465X) {
                              if (out_of_spaceP_1466X) {
                                arg0K0 = 1;
                                goto L30085;}
                              else {
                                arg0K0 = 5;
                                goto L30085;}}
                            else {
                              arg0K0 = 1;
                              goto L30085;}}
                          else {push_exception_setupB(17, 1);
                            SstackS = ((SstackS) + -4);
                            *((long *) (SstackS)) = (long) ((((encoding_1460X)<<2)));
                            arg0K0 = 1;
                            goto L29414;}}}}}
                  else {
                    goto L30033;}}
                else {
                  goto L30033;}}
              else {
                goto L30763;}}
            else {
              goto L30763;}}
          else {
            goto L30763;}}
        else {
          goto L30763;}}
      else {
        goto L30763;}}
      break;
    case 184 : {
      arg2_1468X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1469X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1470X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg5_1471X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg5_1471X))) {
        if ((9 == (255 & arg4_1470X))) {
          if ((3 == (3 & arg3_1469X))) {
            if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1469X))) + -4))))>>2))))) {
              if ((0 == (3 & (arg2_1468X | (SvalS))))) {
                encoding_1472X = ((arg5_1471X)>>2);
                value_1473X = ((arg4_1470X)>>8);
                start_1474X = ((arg2_1468X)>>2);
                count_1475X = (((SvalS))>>2);
                if ((3 == (3 & arg3_1469X))) {
                  if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1469X))) + -4)))))) {
                    if ((start_1474X < 0)) {
                      goto L48725;}
                    else {
                      if ((count_1475X < 0)) {
                        goto L48725;}
                      else {
                        if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1469X))) + -4))))>>8)) < (start_1474X + count_1475X))) {
                          goto L48725;}
                        else {
                          encoding_okP_1476X = encode_scalar_value(encoding_1472X, value_1473X, ((((char *) (-3 + arg3_1469X))) + start_1474X), count_1475X, &okP_1477X, &out_of_spaceP_1478X, &count_1479X);
                          if (encoding_okP_1476X) {
                            SvalS = 13;
                            Scode_pointerS = ((Scode_pointerS) + 1);
                            arg2K0 = (Scode_pointerS);
                            goto L31717;}
                          else {push_exception_setupB(17, 1);
                            SstackS = ((SstackS) + -4);
                            *((long *) (SstackS)) = (long) ((((encoding_1472X)<<2)));
                            arg0K0 = 1;
                            goto L29414;}}}}}
                  else {
                    goto L48725;}}
                else {
                  goto L48725;}}
              else {
                goto L55355;}}
            else {
              goto L55355;}}
          else {
            goto L55355;}}
        else {
          goto L55355;}}
      else {
        goto L55355;}}
      break;
    case 185 : {
      arg2_1480X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1481X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1482X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg4_1482X))) {
        if ((3 == (3 & arg3_1481X))) {
          if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1481X))) + -4))))>>2))))) {
            if ((0 == (3 & (arg2_1480X | (SvalS))))) {
              encoding_1483X = ((arg4_1482X)>>2);
              start_1484X = ((arg2_1480X)>>2);
              count_1485X = (((SvalS))>>2);
              if ((start_1484X < 0)) {
                goto L30318;}
              else {
                if ((count_1485X < 0)) {
                  goto L30318;}
                else {
                  if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1481X))) + -4))))>>8)) < (start_1484X + count_1485X))) {
                    goto L30318;}
                  else {
                    encoding_okP_1486X = decode_scalar_value(encoding_1483X, ((((char *) (-3 + arg3_1481X))) + start_1484X), count_1485X, &okP_1487X, &incompleteP_1488X, &value_1489X, &count_1490X);
                    if (encoding_okP_1486X) {
                      if (okP_1487X) {
                        if (incompleteP_1488X) {
                          arg0K0 = 1;
                          goto L30384;}
                        else {
                          arg0K0 = (9 + (((value_1489X)<<8)));
                          goto L30384;}}
                      else {
                        arg0K0 = 1;
                        goto L30384;}}
                    else {push_exception_setupB(17, 1);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) ((((encoding_1483X)<<2)));
                      arg0K0 = 1;
                      goto L29414;}}}}}
            else {
              goto L30959;}}
          else {
            goto L30959;}}
        else {
          goto L30959;}}
      else {
        goto L30959;}}
      break;
    case 186 : {
      arg2_1491X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg3_1492X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg4_1493X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      if ((0 == (3 & arg4_1493X))) {
        if ((3 == (3 & arg3_1492X))) {
          if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1492X))) + -4))))>>2))))) {
            if ((0 == (3 & (arg2_1491X | (SvalS))))) {
              encoding_1494X = ((arg4_1493X)>>2);
              start_1495X = ((arg2_1491X)>>2);
              count_1496X = (((SvalS))>>2);
              if ((start_1495X < 0)) {
                goto L48944;}
              else {
                if ((count_1496X < 0)) {
                  goto L48944;}
                else {
                  if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1492X))) + -4))))>>8)) < (start_1495X + count_1496X))) {
                    goto L48944;}
                  else {
                    encoding_okP_1497X = decode_scalar_value(encoding_1494X, ((((char *) (-3 + arg3_1492X))) + start_1495X), count_1496X, &okP_1498X, &incompleteP_1499X, &value_1500X, &count_1501X);
                    if (encoding_okP_1497X) {
                      SvalS = 13;
                      Scode_pointerS = ((Scode_pointerS) + 1);
                      arg2K0 = (Scode_pointerS);
                      goto L31717;}
                    else {push_exception_setupB(17, 1);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) ((((encoding_1494X)<<2)));
                      arg0K0 = 1;
                      goto L29414;}}}}}
            else {
              goto L55551;}}
          else {
            goto L55551;}}
        else {
          goto L55551;}}
      else {
        goto L55551;}}
      break;
    case 187 : {
      v_1502X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1502X)) {
        arg0K0 = (SvalS);
        goto L38122;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 0;
        goto get_current_port;
       get_current_port_return_0:
        v_1503X = get_current_port0_return_value;
        arg0K0 = v_1503X;
        goto L38122;}}
      break;
    case 188 : {
      v_1504X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1504X)) {
        arg0K0 = (SvalS);
        goto L38324;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 1;
        goto get_current_port;
       get_current_port_return_1:
        v_1505X = get_current_port0_return_value;
        arg0K0 = v_1505X;
        goto L38324;}}
      break;
    case 189 : {
      v_1506X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1506X)) {
        v_1507X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1507X;
        arg0K1 = (SvalS);
        goto L38519;}
      else {
        merged_arg0K0 = 4;
        get_current_port_return_tag = 2;
        goto get_current_port;
       get_current_port_return_2:
        v_1508X = get_current_port0_return_value;
        arg0K0 = (SvalS);
        arg0K1 = v_1508X;
        goto L38519;}}
      break;
    case 190 : {
      v_1509X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1509X)) {
        arg0K0 = (SvalS);
        goto L38788;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 3;
        goto get_current_port;
       get_current_port_return_3:
        v_1510X = get_current_port0_return_value;
        arg0K0 = v_1510X;
        goto L38788;}}
      break;
    case 191 : {
      v_1511X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1511X)) {
        arg0K0 = (SvalS);
        goto L39379;}
      else {
        merged_arg0K0 = 0;
        get_current_port_return_tag = 4;
        goto get_current_port;
       get_current_port_return_4:
        v_1512X = get_current_port0_return_value;
        arg0K0 = v_1512X;
        goto L39379;}}
      break;
    case 192 : {
      v_1513X = *((unsigned char *) ((Scode_pointerS) + 1));
      if ((0 == v_1513X)) {
        v_1514X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1514X;
        arg0K1 = (SvalS);
        goto L39890;}
      else {
        merged_arg0K0 = 4;
        get_current_port_return_tag = 5;
        goto get_current_port;
       get_current_port_return_5:
        v_1515X = get_current_port0_return_value;
        arg0K0 = (SvalS);
        arg0K1 = v_1515X;
        goto L39890;}}
      break;
    case 193 : {s48_make_availableAgc(2052);
      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_1516X = get_error_string0_return_value;
        SvalS = val_1516X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {push_exception_setupB(5, 1);
        x_1517X = SvalS;
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (x_1517X);
        arg0K0 = 1;
        goto L29414;}}
      break;
    case 194 : {
      x_1518X = SvalS;
      out_1519X = stderr;
      arg0K0 = x_1518X;
      goto L50782;}
      break;
  }}
 L28489: {
  i_1520X = arg0K0;
  m_1521X = arg0K1;
  if ((0 == (n_973X & m_1521X))) {
    arg0K0 = (1 + i_1520X);
    arg0K1 = (((m_1521X)<<1));
    goto L28489;}
  else {
    Spending_interruptsS = ((Spending_interruptsS) & (~ m_1521X));
    handlers_1522X = SHARED_REF((Sinterrupt_handlersS));
    if ((i_1520X == 0)) {
      x_1523X = Sinterrupted_templateS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_1523X);
      Sinterrupted_templateS = 1;
      n_1524X = Senabled_interruptsS;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((n_1524X)<<2)));
      arg0K0 = 2;
      goto L28446;}
    else {
      if ((i_1520X == 3)) {
        goto L15068;}
      else {
        if ((i_1520X == 2)) {
          goto L15068;}
        else {
          if ((i_1520X == 4)) {
            channel_1525X = Spending_channels_headS;
            next_1526X = *((long *) ((((char *) (-3 + channel_1525X))) + 16));
            Spending_channels_headS = next_1526X;
            addr_1527X = (((char *) (-3 + channel_1525X))) + 16;S48_WRITE_BARRIER(channel_1525X, addr_1527X, 1);
            *((long *) addr_1527X) = (long) (1);
            if ((1 == next_1526X)) {
              Spending_channels_tailS = 1;
              arg0K0 = channel_1525X;
              goto L15085;}
            else {
              arg0K0 = channel_1525X;
              goto L15085;}}
          else {
            if ((i_1520X == 5)) {
              v_1528X = (Sos_signal_ring_startS) == (Sos_signal_ring_endS);
              if (v_1528X) {
                ps_error("This cannot happen: OS signal ring empty", 0);
                goto L15280;}
              else {
                goto L15280;}}
            else {
              n_1529X = Senabled_interruptsS;
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) ((((n_1529X)<<2)));
              arg0K0 = 1;
              goto L28446;}}}}}}}
 L58799: {
  tag_1530X = arg0K0;
  if ((tag_1530X == 0)) {
    arg0K0 = (s48_Snative_protocolS);
    arg0K1 = 25;
    arg0K2 = 0;
    goto L28842;}
  else {
    if ((tag_1530X == 1)) {
      stack_arg_count_1531X = s48_Snative_protocolS;
      obj_1532X = SvalS;
      if ((3 == (3 & obj_1532X))) {
        if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1532X))) + -4))))>>2))))) {
          arg0K0 = stack_arg_count_1531X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L59585;}
        else {
          arg0K0 = 3;
          arg0K1 = stack_arg_count_1531X;
          arg0K2 = 25;
          arg0K3 = 0;
          goto L29104;}}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1531X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L29104;}}
    else {
      if ((tag_1530X == 2)) {
        template_1533X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        return_address_1534X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        pending_interruptP_return_tag = 4;
        goto pending_interruptP;
       pending_interruptP_return_4:
        v_1535X = pending_interruptP0_return_value;
        if (v_1535X) {
          x_1536X = SvalS;
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (x_1536X);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (template_1533X);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (return_address_1534X);
          x_1537X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (x_1537X);
          x_1538X = Scurrent_threadS;
          addr_1539X = (((char *) (-3 + x_1538X))) + 12;S48_WRITE_BARRIER(x_1538X, addr_1539X, 1);
          *((long *) addr_1539X) = (long) (1);
          n_1540X = Senabled_interruptsS;
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((n_1540X)<<2)));
          code_1541X = Snative_poll_return_codeS;
          v_1542X = ((((ScontS) - (SstackS)))>>2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((4 + (((v_1542X)<<2))));
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1541X))) + 13))));
          ScontS = (SstackS);
          goto L28436;}
        else {
          v_1543X = s48_jump_to_native_address(return_address_1534X, template_1533X);
          arg0K0 = v_1543X;
          goto L58799;}}
      else {
        if ((tag_1530X == 3)) {
          arg0K0 = (s48_Snative_protocolS);
          arg0K1 = 25;
          arg0K2 = 0;
          goto L28842;}
        else {
          if ((tag_1530X == 4)) {
            arg2K0 = (Scode_pointerS);
            goto L31717;}
          else {
            if ((tag_1530X == 5)) {
              maybe_cont_1544X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              stack_nargs_1545X = s48_Snative_protocolS;
              list_args_1546X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              merged_arg0K0 = list_args_1546X;
              okay_argument_list_return_tag = 1;
              goto okay_argument_list;
             okay_argument_list_return_1:
              okayP_1547X = okay_argument_list0_return_value;
              length_1548X = okay_argument_list1_return_value;
              if (okayP_1547X) {
                if ((0 == maybe_cont_1544X)) {
                  merged_arg0K0 = stack_nargs_1545X;
                  move_args_above_contB_return_tag = 5;
                  goto move_args_above_contB;
                 move_args_above_contB_return_5:
                  arg0K0 = stack_nargs_1545X;
                  arg0K1 = list_args_1546X;
                  arg0K2 = length_1548X;
                  goto L58536;}
                else {
                  ScontS = ((SstackS) + (((stack_nargs_1545X)<<2)));
                  *((long *) (ScontS)) = (long) ((((long) (((char *) maybe_cont_1544X)))));
                  arg0K0 = stack_nargs_1545X;
                  arg0K1 = list_args_1546X;
                  arg0K2 = length_1548X;
                  goto L58536;}}
              else {
                merged_arg0K0 = list_args_1546X;
                merged_arg0K1 = stack_nargs_1545X;
                pop_args_GlistSAgc_return_tag = 2;
                goto pop_args_GlistSAgc;
               pop_args_GlistSAgc_return_2:
                args_1549X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
                x_1550X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1550X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (args_1549X);
                arg0K0 = 2;
                goto L29414;}}
            else {
              if ((tag_1530X == 6)) {push_exception_setupB(15, 1);
                x_1551X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1551X);
                arg0K0 = 1;
                goto L29414;}
              else {
                ps_error("unexpected native return value", 1, tag_1530X);
                arg0K0 = v_1552X;
                goto L64089;}}}}}}}}
 L32169: {
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L11371: {
  new_env_1553X = arg0K0;
  i_1554X = arg0K1;
  offset_1555X = arg0K2;
  total_count_1556X = arg0K3;
  arg0K0 = (*((unsigned char *) ((Scode_pointerS) + (1 + offset_1555X))));
  arg0K1 = i_1554X;
  arg0K2 = (1 + offset_1555X);
  goto L11377;}
 L21782: {
  count_1557X = arg0K0;
  i_1558X = arg0K1;
  offset_1559X = arg0K2;
  if ((0 == count_1557X)) {
    arg0K0 = new_env_1003X;
    arg0K1 = i_1558X;
    arg0K2 = offset_1559X;
    arg0K3 = total_count_999X;
    goto L11371;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_1004X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1559X)))))<<2)))));
    merged_arg0K1 = new_env_1003X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 0;
    goto make_closure;
   make_closure_return_0:
    value_1560X = make_closure0_return_value;
    addr_1561X = (((char *) (-3 + new_env_1003X))) + (((i_1558X)<<2));S48_WRITE_BARRIER(new_env_1003X, addr_1561X, value_1560X);
    *((long *) addr_1561X) = (long) (value_1560X);
    arg0K0 = (-1 + count_1557X);
    arg0K1 = (1 + i_1558X);
    arg0K2 = (1 + offset_1559X);
    goto L21782;}}
 L14121: {
  new_env_1562X = arg0K0;
  i_1563X = arg0K1;
  offset_1564X = arg0K2;
  total_count_1565X = arg0K3;
  arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1564X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1564X)))));
  arg0K1 = i_1563X;
  arg0K2 = (2 + offset_1564X);
  goto L14127;}
 L21843: {
  count_1566X = arg0K0;
  i_1567X = arg0K1;
  offset_1568X = arg0K2;
  if ((0 == count_1566X)) {
    arg0K0 = new_env_1009X;
    arg0K1 = i_1567X;
    arg0K2 = offset_1568X;
    arg0K3 = total_count_1005X;
    goto L14121;}
  else {
    merged_arg0K0 = (*((long *) ((((char *) (-3 + template_1010X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1568X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1568X))))))<<2)))));
    merged_arg0K1 = new_env_1009X;
    merged_arg0K2 = 0;
    make_closure_return_tag = 1;
    goto make_closure;
   make_closure_return_1:
    value_1569X = make_closure0_return_value;
    addr_1570X = (((char *) (-3 + new_env_1009X))) + (((i_1567X)<<2));S48_WRITE_BARRIER(new_env_1009X, addr_1570X, value_1569X);
    *((long *) addr_1570X) = (long) (value_1569X);
    arg0K0 = (-1 + count_1566X);
    arg0K1 = (1 + i_1567X);
    arg0K2 = (2 + offset_1568X);
    goto L21843;}}
 L34350: {
  i_1571X = arg0K0;
  if ((0 == i_1571X)) {
    SvalS = closure_1021X;
    Scode_pointerS = ((Scode_pointerS) + 3);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    value_1572X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + closure_1021X))) + (((i_1571X)<<2)))) = (long) (value_1572X);
    arg0K0 = (-1 + i_1571X);
    goto L34350;}}
 L60361: {
  n_1573X = arg0K0;
  if ((0 == n_1573X)) {
    Scode_pointerS = ((Scode_pointerS) + 3);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    arg0K0 = (-1 + n_1573X);
    goto L60361;}}
 L33684: {
  move_1574X = arg0K0;
  if ((move_1574X == n_moves_1029X)) {
    value_1575X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = value_1575X;
    Scode_pointerS = ((Scode_pointerS) + (2 + (((n_moves_1029X)<<1))));
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    index_1576X = 1 + (((move_1574X)<<1));
    *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (2 + index_1576X)))))<<2)))) = (long) ((*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1576X)))))<<2))))));
    arg0K0 = (1 + move_1574X);
    goto L33684;}}
 L33601: {
  move_1577X = arg0K0;
  if ((move_1577X == n_moves_1031X)) {
    value_1578X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    SvalS = value_1578X;
    Scode_pointerS = ((Scode_pointerS) + (3 + (((n_moves_1031X)<<2))));
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    index_1579X = 2 + (((move_1577X)<<2));
    value_1580X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1579X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1579X))))))<<2))));
    index_1581X = 2 + index_1579X;
    *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1581X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1581X))))))<<2)))) = (long) (value_1580X);
    arg0K0 = (1 + move_1577X);
    goto L33601;}}
 L60430: {
  value_1582X = arg0K0;
  SvalS = value_1582X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L59512: {
  stack_arg_count_1583X = arg0K0;
  obj_1584X = SvalS;
  if ((3 == (3 & obj_1584X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1584X))) + -4))))>>2))))) {
      template_1585X = *((long *) (((char *) (-3 + (SvalS)))));
      code_1586X = *((long *) (((char *) (-3 + template_1585X))));
      protocol_1587X = *((unsigned char *) ((((char *) (-3 + code_1586X))) + 1));
      if ((protocol_1587X == stack_arg_count_1583X)) {
        arg0K0 = code_1586X;
        arg0K1 = 2;
        arg0K2 = 3;
        arg0K3 = template_1585X;
        goto L28230;}
      else {
        if (((127 & protocol_1587X) == stack_arg_count_1583X)) {
          if (((SstackS) < (s48_Sstack_limitS))) {
            interruptP_1588X = (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_1588X) {
                  goto L58998;}
                else {
                  goto L59005;}}
              else {
                if (interruptP_1588X) {
                  goto L58998;}
                else {
                  goto L59005;}}}
            else {
              if (interruptP_1588X) {
                goto L58998;}
              else {
                goto L59005;}}}
          else {
            goto L59005;}}
        else {
          arg0K0 = stack_arg_count_1583X;
          arg0K1 = 25;
          arg0K2 = 0;
          arg0K3 = -1;
          goto L59585;}}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1583X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L29104;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_1583X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L29104;}}
 L29217: {
  obj_1589X = SvalS;
  if ((3 == (3 & obj_1589X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1589X))) + -4))))>>2))))) {
      arg0K0 = stack_arg_count_1035X;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L59585;}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1035X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L29104;}}
  else {
    arg0K0 = 3;
    arg0K1 = stack_arg_count_1035X;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L29104;}}
 L60456: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L58536: {
  stack_arg_count_1590X = arg0K0;
  list_args_1591X = arg0K1;
  list_arg_count_1592X = arg0K2;
  if ((0 == list_arg_count_1592X)) {
    obj_1593X = SvalS;
    if ((3 == (3 & obj_1593X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1593X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1590X;
        arg0K1 = 25;
        arg0K2 = 0;
        arg0K3 = -1;
        goto L59585;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1590X;
        arg0K2 = 25;
        arg0K3 = 0;
        goto L29104;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1590X;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L29104;}}
  else {
    obj_1594X = SvalS;
    if ((3 == (3 & obj_1594X))) {
      if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1594X))) + -4))))>>2))))) {
        arg0K0 = stack_arg_count_1590X;
        arg0K1 = list_args_1591X;
        arg0K2 = list_arg_count_1592X;
        arg0K3 = -1;
        goto L59585;}
      else {
        arg0K0 = 3;
        arg0K1 = stack_arg_count_1590X;
        arg0K2 = list_args_1591X;
        arg0K3 = list_arg_count_1592X;
        goto L29104;}}
    else {
      arg0K0 = 3;
      arg0K1 = stack_arg_count_1590X;
      arg0K2 = list_args_1591X;
      arg0K3 = list_arg_count_1592X;
      goto L29104;}}}
 L20765: {
  list_args_1595X = arg0K0;
  stack_nargs_1596X = arg0K1;
  merged_arg0K0 = list_args_1595X;
  okay_argument_list_return_tag = 2;
  goto okay_argument_list;
 okay_argument_list_return_2:
  okayP_1597X = okay_argument_list0_return_value;
  list_arg_count_1598X = okay_argument_list1_return_value;
  if (okayP_1597X) {
    arg0K0 = stack_nargs_1596X;
    arg0K1 = list_args_1595X;
    arg0K2 = list_arg_count_1598X;
    goto L58536;}
  else {
    merged_arg0K0 = list_args_1595X;
    merged_arg0K1 = stack_nargs_1596X;
    pop_args_GlistSAgc_return_tag = 3;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_3:
    args_1599X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
    x_1600X = SvalS;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1600X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1599X);
    arg0K0 = 2;
    goto L29414;}}
 L20810: {
  list_1601X = arg0K0;
  follower_1602X = arg0K1;
  if ((25 == list_1601X)) {
    list_args_1603X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_1602X))) + 4)))))));
    addr_1604X = (((char *) (-3 + follower_1602X))) + 4;S48_WRITE_BARRIER(follower_1602X, addr_1604X, list_args_1603X);
    *((long *) addr_1604X) = (long) (list_args_1603X);
    arg0K0 = rest_list_1050X;
    arg0K1 = (-1 + stack_nargs_1049X);
    goto L20765;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + list_1601X))) + 4)));
    arg0K1 = (*((long *) ((((char *) (-3 + follower_1602X))) + 4)));
    goto L20810;}}
 L29175: {
  obj_1605X = SvalS;
  if ((3 == (3 & obj_1605X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1605X))) + -4))))>>2))))) {
      arg0K0 = 0;
      arg0K1 = 25;
      arg0K2 = 0;
      arg0K3 = -1;
      goto L59585;}
    else {
      arg0K0 = 3;
      arg0K1 = 0;
      arg0K2 = 25;
      arg0K3 = 0;
      goto L29104;}}
  else {
    arg0K0 = 3;
    arg0K1 = 0;
    arg0K2 = 25;
    arg0K3 = 0;
    goto L29104;}}
 L29184: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = cont_1052X;
  ScontS = (Sbottom_of_stackS);
  goto L29175;}
 L59123: {
  code_pointer_1606X = ((char *) (*((long *) (ScontS))));
  protocol_1607X = *((unsigned char *) (code_pointer_1606X + 1));
  if ((1 == protocol_1607X)) {
    goto L59140;}
  else {
    if ((66 == protocol_1607X)) {
      goto L59140;}
    else {
      if ((129 == protocol_1607X)) {
        arg0K0 = 2;
        goto L58925;}
      else {
        if ((194 == protocol_1607X)) {
          arg0K0 = 2;
          goto L58925;}
        else {
          if ((71 == protocol_1607X)) {
            cont_1608X = Sheap_continuationS;
            if ((3 == (3 & cont_1608X))) {
              if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1608X))) + -4))))>>2))))) {
                merged_arg0K0 = cont_1608X;
                merged_arg0K1 = 0;
                copy_continuation_from_heapB_return_tag = 1;
                goto copy_continuation_from_heapB;
               copy_continuation_from_heapB_return_1:
                goto L59123;}
              else {
                arg0K0 = cont_1608X;
                goto L29760;}}
            else {
              arg0K0 = cont_1608X;
              goto L29760;}}
          else {
            if ((70 == protocol_1607X)) {
              offset_1609X = ((((*((unsigned char *) (code_pointer_1606X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1606X + 3)));
              proc_1610X = *((long *) ((ScontS) + 4));
              if ((0 == offset_1609X)) {
                cont_1611X = ScontS;
                pointer_1612X = (((char *) (*((long *) cont_1611X)))) + -2;
                size_1613X = ((((*((unsigned char *) pointer_1612X)))<<8)) + (*((unsigned char *) (pointer_1612X + 1)));
                if ((65535 == size_1613X)) {
                  arg0K0 = ((((*((long *) (cont_1611X + 4))))>>2));
                  goto L59284;}
                else {
                  arg0K0 = size_1613X;
                  goto L59284;}}
              else {
                ScontS = ((ScontS) + 4);
                *((long *) (ScontS)) = (long) ((((long) (code_pointer_1606X + offset_1609X))));
                SstackS = (ScontS);
                goto L59189;}}
            else {
              if ((65 == protocol_1607X)) {
                wants_stack_args_1614X = ((((*((unsigned char *) (code_pointer_1606X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1606X + 3)));
                if ((0 == wants_stack_args_1614X)) {
                  pop_continuationB_return_tag = 0;
                  goto pop_continuationB;
                 pop_continuationB_return_0:s48_make_availableAgc(12);
                  a_1615X = SvalS;
                  addr_1616X = s48_allocate_small(12);
                  *((long *) addr_1616X) = (long) (2050);
                  x_1617X = 3 + (((long) (addr_1616X + 4)));
                  *((long *) (((char *) (-3 + x_1617X)))) = (long) (a_1615X);
                  *((long *) ((((char *) (-3 + x_1617X))) + 4)) = (long) (25);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (x_1617X);
                  Scode_pointerS = ((Scode_pointerS) + 4);
                  arg2K0 = (Scode_pointerS);
                  goto L31717;}
                else {
                  if ((1 == wants_stack_args_1614X)) {
                    pop_continuationB_return_tag = 1;
                    goto pop_continuationB;
                   pop_continuationB_return_1:
                    x_1618X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1618X);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (25);
                    Scode_pointerS = ((Scode_pointerS) + 4);
                    arg2K0 = (Scode_pointerS);
                    goto L31717;}
                  else {
                    x_1619X = SvalS;
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (x_1619X);
                    merged_arg0K0 = 25;
                    merged_arg0K1 = 1;
                    pop_args_GlistSAgc_return_tag = 4;
                    goto pop_args_GlistSAgc;
                   pop_args_GlistSAgc_return_4:
                    args_1620X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (1);
                    SstackS = ((SstackS) + -4);
                    *((long *) (SstackS)) = (long) (args_1620X);
                    arg0K0 = 2;
                    goto L29414;}}}
              else {
                x_1621X = SvalS;
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (x_1621X);
                merged_arg0K0 = 25;
                merged_arg0K1 = 1;
                pop_args_GlistSAgc_return_tag = 5;
                goto pop_args_GlistSAgc;
               pop_args_GlistSAgc_return_5:
                args_1622X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (args_1622X);
                arg0K0 = 2;
                goto L29414;}}}}}}}}
 L28842: {
  stack_nargs_1623X = arg0K0;
  list_args_1624X = arg0K1;
  list_arg_count_1625X = arg0K2;
  code_pointer_1626X = ((char *) (*((long *) (ScontS))));
  protocol_1627X = *((unsigned char *) (code_pointer_1626X + 1));
  if ((1 == protocol_1627X)) {
    if ((1 == (stack_nargs_1623X + list_arg_count_1625X))) {
      if ((1 == stack_nargs_1623X)) {
        v_1628X = *((long *) (SstackS));
        SstackS = ((SstackS) + 4);
        arg0K0 = v_1628X;
        goto L28931;}
      else {
        arg0K0 = (*((long *) (((char *) (-3 + list_args_1624X)))));
        goto L28931;}}
    else {
      arg0K0 = stack_nargs_1623X;
      arg0K1 = list_args_1624X;
      goto L29843;}}
  else {
    if ((66 == protocol_1627X)) {
      pop_continuationB_return_tag = 2;
      goto pop_continuationB;
     pop_continuationB_return_2:
      arg0K0 = 1;
      goto L32141;}
    else {
      if ((127 < protocol_1627X)) {
        if ((129 == protocol_1627X)) {
          if ((1 == (stack_nargs_1623X + list_arg_count_1625X))) {
            if ((1 == stack_nargs_1623X)) {
              v_1629X = *((long *) (SstackS));
              SstackS = ((SstackS) + 4);
              arg0K0 = v_1629X;
              goto L59469;}
            else {
              arg0K0 = (*((long *) (((char *) (-3 + list_args_1624X)))));
              goto L59469;}}
          else {
            merged_arg0K0 = list_args_1624X;
            merged_arg0K1 = stack_nargs_1623X;
            pop_args_GlistSAgc_return_tag = 6;
            goto pop_args_GlistSAgc;
           pop_args_GlistSAgc_return_6:
            args_1630X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (args_1630X);
            arg0K0 = 2;
            goto L29414;}}
        else {
          if ((194 == protocol_1627X)) {
            arg0K0 = 2;
            goto L58925;}
          else {
            ps_error("unknown native return protocol", 1, protocol_1627X);
            merged_arg0K0 = list_args_1624X;
            merged_arg0K1 = stack_nargs_1623X;
            pop_args_GlistSAgc_return_tag = 7;
            goto pop_args_GlistSAgc;
           pop_args_GlistSAgc_return_7:
            args_1631X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (args_1631X);
            arg0K0 = 2;
            goto L29414;}}}
      else {
        if ((71 == protocol_1627X)) {
          cont_1632X = Sheap_continuationS;
          if ((3 == (3 & cont_1632X))) {
            if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1632X))) + -4))))>>2))))) {
              merged_arg0K0 = cont_1632X;
              merged_arg0K1 = stack_nargs_1623X;
              copy_continuation_from_heapB_return_tag = 2;
              goto copy_continuation_from_heapB;
             copy_continuation_from_heapB_return_2:
              arg0K0 = stack_nargs_1623X;
              arg0K1 = list_args_1624X;
              arg0K2 = list_arg_count_1625X;
              goto L28842;}
            else {
              goto L28877;}}
          else {
            goto L28877;}}
        else {
          if ((70 == protocol_1627X)) {
            SvalS = (*((long *) ((ScontS) + 4)));
            offset_1633X = ((((*((unsigned char *) (code_pointer_1626X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1626X + 3)));
            if ((0 == offset_1633X)) {
              cont_1634X = ScontS;
              pointer_1635X = (((char *) (*((long *) cont_1634X)))) + -2;
              size_1636X = ((((*((unsigned char *) pointer_1635X)))<<8)) + (*((unsigned char *) (pointer_1635X + 1)));
              if ((65535 == size_1636X)) {
                arg0K0 = ((((*((long *) (cont_1634X + 4))))>>2));
                goto L28994;}
              else {
                arg0K0 = size_1636X;
                goto L28994;}}
            else {
              ScontS = ((ScontS) + 4);
              *((long *) (ScontS)) = (long) ((((long) (code_pointer_1626X + offset_1633X))));
              merged_arg0K0 = stack_nargs_1623X;
              move_args_above_contB_return_tag = 6;
              goto move_args_above_contB;
             move_args_above_contB_return_6:
              arg0K0 = stack_nargs_1623X;
              arg0K1 = list_args_1624X;
              arg0K2 = list_arg_count_1625X;
              goto L58536;}}
          else {
            if ((63 < protocol_1627X)) {
              if ((65 == protocol_1627X)) {
                count_1637X = ((((*((unsigned char *) (code_pointer_1626X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1626X + 3)));
                if (((stack_nargs_1623X + list_arg_count_1625X) < count_1637X)) {
                  merged_arg0K0 = list_args_1624X;
                  merged_arg0K1 = stack_nargs_1623X;
                  pop_args_GlistSAgc_return_tag = 8;
                  goto pop_args_GlistSAgc;
                 pop_args_GlistSAgc_return_8:
                  args_1638X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (1);
                  SstackS = ((SstackS) + -4);
                  *((long *) (SstackS)) = (long) (args_1638X);
                  arg0K0 = 2;
                  goto L29414;}
                else {
                  arg_top_1639X = SstackS;
                  pop_continuationB_return_tag = 3;
                  goto pop_continuationB;
                 pop_continuationB_return_3:
                  arg2K0 = ((SstackS) + -4);
                  arg2K1 = (arg_top_1639X + (-4 + (((stack_nargs_1623X)<<2))));
                  goto L33191;}}
              else {
                if ((64 == protocol_1627X)) {
                  arg0K0 = (((((*((unsigned char *) (code_pointer_1626X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1626X + 3))));
                  arg0K1 = 3;
                  arg0K2 = stack_nargs_1623X;
                  arg0K3 = list_args_1624X;
                  arg0K4 = list_arg_count_1625X;
                  goto L33043;}
                else {
                  ps_error("unknown protocol", 1, protocol_1627X);
                  arg0K0 = stack_nargs_1623X;
                  arg0K1 = list_args_1624X;
                  goto L29843;}}}
            else {
              arg0K0 = protocol_1627X;
              arg0K1 = 1;
              arg0K2 = stack_nargs_1623X;
              arg0K3 = list_args_1624X;
              arg0K4 = list_arg_count_1625X;
              goto L33043;}}}}}}}
 L33335: {
  if ((nargs_1059X == (*((unsigned char *) ((((char *) (-3 + code_1058X))) + 1))))) {
    arg0K0 = code_1058X;
    arg0K1 = 2;
    arg0K2 = 3;
    arg0K3 = template_1057X;
    goto L28230;}
  else {
    v_1640X = *((unsigned char *) ((((char *) (-3 + code_1058X))) + 1));
    if ((67 == v_1640X)) {
      if ((nargs_1059X == (*((unsigned char *) ((((char *) (-3 + code_1058X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_1058X))) + -4))))>>8)))))))) {
        index_1641X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_1058X))) + -4))))>>8));
        arg0K0 = code_1058X;
        arg0K1 = 2;
        arg0K2 = template_1057X;
        arg0K3 = (((((*((unsigned char *) ((((char *) (-3 + code_1058X))) + index_1641X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_1058X))) + (1 + index_1641X)))));
        goto L32151;}
      else {
        goto L33357;}}
    else {
      goto L33357;}}}
 L32026: {
  arg0K0 = (2 + (((max_1063X)<<1)));
  goto L32028;}
 L32028: {
  offset_1642X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + offset_1642X);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L32615: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L31924: {
  delta_1643X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1643X);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L32506: {
  delta_1644X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + delta_1644X);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L60501: {
  val_1645X = arg0K0;
  SvalS = val_1645X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L60513: {
  val_1646X = arg0K0;
  SvalS = val_1646X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L18483: {
  if ((3 == (3 & x_1078X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + x_1078X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L60513;}
    else {
      goto L18489;}}
  else {
    goto L18489;}}
 L49999: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L50000: {
  if ((3 == (3 & n_1079X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1079X))) + -4))))>>2))))) {
      goto L50013;}
    else {
      goto L50008;}}
  else {
    goto L50008;}}
 L50133: {
  n_1647X = arg0K0;
  if ((0 == (3 & n_1647X))) {
    goto L50166;}
  else {
    if ((3 == (3 & n_1647X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1647X))) + -4))))>>2))))) {
        goto L50166;}
      else {
        goto L50149;}}
    else {
      goto L50149;}}}
 L42567: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42568: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1080X);
  arg0K0 = 1;
  goto L29414;}
 L42693: {
  v_1648X = (char *) s48_long_to_bignum(x_1085X);
  v_1649X = enter_bignum(v_1648X);
  arg0K0 = v_1649X;
  goto L42639;}
 L42639: {
  val_1650X = arg0K0;
  SvalS = val_1650X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42645: {
  if ((0 == (3 & y_1084X))) {
    goto L42651;}
  else {
    if ((3 == (3 & y_1084X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1084X))) + -4))))>>2))))) {
        goto L42651;}
      else {
        goto L42654;}}
    else {
      goto L42654;}}}
 L42654: {
  if ((3 == (3 & arg2_1083X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1083X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1084X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1084X))) + -4))))>>2))))) {
          Stemp0S = arg2_1083X;
          Stemp1S = y_1084X;s48_make_availableAgc(12);
          value_1651X = Stemp0S;
          Stemp0S = 1;
          x_1652X = *((double *) (((char *) (-3 + value_1651X))));
          value_1653X = Stemp1S;
          Stemp1S = 1;
          y_1654X = *((double *) (((char *) (-3 + value_1653X))));
          addr_1655X = s48_allocate_small(12);
          *((long *) addr_1655X) = (long) (2122);
          Kdouble_1656X = 3 + (((long) (addr_1655X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1656X)))) = (double) ((x_1652X + y_1654X));
          SvalS = Kdouble_1656X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L42668;}}
      else {
        goto L42668;}}
    else {
      goto L42668;}}
  else {
    goto L42668;}}
 L11620: {
  a_1657X = arg0K0;
  if ((b_1089X < 0)) {
    arg0K0 = (0 - b_1089X);
    goto L11624;}
  else {
    arg0K0 = b_1089X;
    goto L11624;}}
 L51906: {
  if ((0 == (3 & y_1087X))) {
    goto L51912;}
  else {
    if ((3 == (3 & y_1087X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1087X))) + -4))))>>2))))) {
        goto L51912;}
      else {
        goto L51915;}}
    else {
      goto L51915;}}}
 L51915: {
  if ((3 == (3 & arg2_1086X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1086X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1087X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1087X))) + -4))))>>2))))) {
          Stemp0S = arg2_1086X;
          Stemp1S = y_1087X;s48_make_availableAgc(12);
          value_1658X = Stemp0S;
          Stemp0S = 1;
          x_1659X = *((double *) (((char *) (-3 + value_1658X))));
          value_1660X = Stemp1S;
          Stemp1S = 1;
          y_1661X = *((double *) (((char *) (-3 + value_1660X))));
          addr_1662X = s48_allocate_small(12);
          *((long *) addr_1662X) = (long) (2122);
          Kdouble_1663X = 3 + (((long) (addr_1662X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1663X)))) = (double) ((x_1659X * y_1661X));
          SvalS = Kdouble_1663X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L51929;}}
      else {
        goto L51929;}}
    else {
      goto L51929;}}
  else {
    goto L51929;}}
 L42982: {
  v_1664X = (char *) s48_long_to_bignum(x_1092X);
  v_1665X = enter_bignum(v_1664X);
  arg0K0 = v_1665X;
  goto L42928;}
 L42928: {
  val_1666X = arg0K0;
  SvalS = val_1666X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42934: {
  if ((0 == (3 & y_1091X))) {
    goto L42940;}
  else {
    if ((3 == (3 & y_1091X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1091X))) + -4))))>>2))))) {
        goto L42940;}
      else {
        goto L42943;}}
    else {
      goto L42943;}}}
 L42943: {
  if ((3 == (3 & arg2_1090X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1090X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1091X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1091X))) + -4))))>>2))))) {
          Stemp0S = arg2_1090X;
          Stemp1S = y_1091X;s48_make_availableAgc(12);
          value_1667X = Stemp0S;
          Stemp0S = 1;
          x_1668X = *((double *) (((char *) (-3 + value_1667X))));
          value_1669X = Stemp1S;
          Stemp1S = 1;
          y_1670X = *((double *) (((char *) (-3 + value_1669X))));
          addr_1671X = s48_allocate_small(12);
          *((long *) addr_1671X) = (long) (2122);
          Kdouble_1672X = 3 + (((long) (addr_1671X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1672X)))) = (double) ((x_1668X - y_1670X));
          SvalS = Kdouble_1672X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L42957;}}
      else {
        goto L42957;}}
    else {
      goto L42957;}}
  else {
    goto L42957;}}
 L11878: {
  a_1673X = arg0K0;
  if ((b_1096X < 0)) {
    arg0K0 = (0 - b_1096X);
    goto L11882;}
  else {
    arg0K0 = b_1096X;
    goto L11882;}}
 L52159: {
  if ((0 == (3 & y_1094X))) {
    goto L52165;}
  else {
    if ((3 == (3 & y_1094X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1094X))) + -4))))>>2))))) {
        goto L52165;}
      else {
        goto L52196;}}
    else {
      goto L52196;}}}
 L52196: {
  if ((3 == (3 & arg2_1093X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1093X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1094X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1094X))) + -4))))>>2))))) {
          Stemp0S = arg2_1093X;
          Stemp1S = y_1094X;s48_make_availableAgc(12);
          value_1674X = Stemp0S;
          Stemp0S = 1;
          x_1675X = *((double *) (((char *) (-3 + value_1674X))));
          value_1676X = Stemp1S;
          Stemp1S = 1;
          value_1677X = x_1675X / (*((double *) (((char *) (-3 + value_1676X)))));
          addr_1678X = s48_allocate_small(12);
          *((long *) addr_1678X) = (long) (2122);
          Kdouble_1679X = 3 + (((long) (addr_1678X + 4)));
          *((double *) (((char *) (-3 + Kdouble_1679X)))) = (double) (value_1677X);
          SvalS = Kdouble_1679X;
          Scode_pointerS = ((Scode_pointerS) + 1);
          arg2K0 = (Scode_pointerS);
          goto L31717;}
        else {
          goto L52210;}}
      else {
        goto L52210;}}
    else {
      goto L52210;}}
  else {
    goto L52210;}}
 L43213: {
  val_1680X = arg0K0;
  SvalS = val_1680X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43219: {
  if ((0 == (3 & y_1098X))) {
    goto L43225;}
  else {
    if ((3 == (3 & y_1098X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1098X))) + -4))))>>2))))) {
        goto L43225;}
      else {
        goto L43230;}}
    else {
      goto L43230;}}}
 L43230: {
  if ((3 == (3 & arg2_1097X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1097X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1098X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1098X))) + -4))))>>2))))) {
          b_1681X = (*((double *) (((char *) (-3 + arg2_1097X))))) == (*((double *) (((char *) (-3 + y_1098X)))));
          if (b_1681X) {
            arg0K0 = 5;
            goto L43245;}
          else {
            arg0K0 = 1;
            goto L43245;}}
        else {
          goto L43246;}}
      else {
        goto L43246;}}
    else {
      goto L43246;}}
  else {
    goto L43246;}}
 L43473: {
  val_1682X = arg0K0;
  SvalS = val_1682X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43479: {
  if ((0 == (3 & y_1100X))) {
    goto L43485;}
  else {
    if ((3 == (3 & y_1100X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1100X))) + -4))))>>2))))) {
        goto L43485;}
      else {
        goto L43490;}}
    else {
      goto L43490;}}}
 L43490: {
  if ((3 == (3 & arg2_1099X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1099X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1100X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1100X))) + -4))))>>2))))) {
          b_1683X = (*((double *) (((char *) (-3 + arg2_1099X))))) < (*((double *) (((char *) (-3 + y_1100X)))));
          if (b_1683X) {
            arg0K0 = 5;
            goto L43505;}
          else {
            arg0K0 = 1;
            goto L43505;}}
        else {
          goto L43506;}}
      else {
        goto L43506;}}
    else {
      goto L43506;}}
  else {
    goto L43506;}}
 L43796: {
  val_1684X = arg0K0;
  SvalS = val_1684X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43802: {
  if ((0 == (3 & y_1102X))) {
    goto L43808;}
  else {
    if ((3 == (3 & y_1102X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1102X))) + -4))))>>2))))) {
        goto L43808;}
      else {
        goto L43813;}}
    else {
      goto L43813;}}}
 L43813: {
  if ((3 == (3 & arg2_1101X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1101X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1102X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1102X))) + -4))))>>2))))) {
          b_1685X = (*((double *) (((char *) (-3 + y_1102X))))) < (*((double *) (((char *) (-3 + arg2_1101X)))));
          if (b_1685X) {
            arg0K0 = 5;
            goto L43828;}
          else {
            arg0K0 = 1;
            goto L43828;}}
        else {
          goto L43829;}}
      else {
        goto L43829;}}
    else {
      goto L43829;}}
  else {
    goto L43829;}}
 L44119: {
  val_1686X = arg0K0;
  SvalS = val_1686X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44125: {
  if ((0 == (3 & y_1104X))) {
    goto L44131;}
  else {
    if ((3 == (3 & y_1104X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1104X))) + -4))))>>2))))) {
        goto L44131;}
      else {
        goto L44136;}}
    else {
      goto L44136;}}}
 L44136: {
  if ((3 == (3 & arg2_1103X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1103X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1104X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1104X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + y_1104X))))) < (*((double *) (((char *) (-3 + arg2_1103X))))))) {
            arg0K0 = 1;
            goto L44151;}
          else {
            arg0K0 = 5;
            goto L44151;}}
        else {
          goto L44152;}}
      else {
        goto L44152;}}
    else {
      goto L44152;}}
  else {
    goto L44152;}}
 L44413: {
  val_1687X = arg0K0;
  SvalS = val_1687X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44419: {
  if ((0 == (3 & y_1106X))) {
    goto L44425;}
  else {
    if ((3 == (3 & y_1106X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1106X))) + -4))))>>2))))) {
        goto L44425;}
      else {
        goto L44430;}}
    else {
      goto L44430;}}}
 L44430: {
  if ((3 == (3 & arg2_1105X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1105X))) + -4))))>>2))))) {
      if ((3 == (3 & y_1106X))) {
        if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1106X))) + -4))))>>2))))) {
          if (((*((double *) (((char *) (-3 + arg2_1105X))))) < (*((double *) (((char *) (-3 + y_1106X))))))) {
            arg0K0 = 1;
            goto L44445;}
          else {
            arg0K0 = 5;
            goto L44445;}}
        else {
          goto L44446;}}
      else {
        goto L44446;}}
    else {
      goto L44446;}}
  else {
    goto L44446;}}
 L12492: {
  a_1688X = arg0K0;
  if ((b_1111X < 0)) {
    arg0K0 = (0 - b_1111X);
    goto L12496;}
  else {
    arg0K0 = b_1111X;
    goto L12496;}}
 L44719: {
  if ((0 == (3 & y_1108X))) {
    goto L44725;}
  else {
    if ((3 == (3 & y_1108X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1108X))) + -4))))>>2))))) {
        goto L44725;}
      else {
        goto L44728;}}
    else {
      goto L44728;}}}
 L44728: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1107X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1108X);
  arg0K0 = 2;
  goto L29414;}
 L44933: {
  a_1689X = arg0K0;
  n_1690X = ((y_1113X)>>2);
  if ((n_1690X < 0)) {
    arg0K0 = (0 - n_1690X);
    goto L44935;}
  else {
    arg0K0 = n_1690X;
    goto L44935;}}
 L44895: {
  if ((0 == (3 & y_1113X))) {
    goto L44901;}
  else {
    if ((3 == (3 & y_1113X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1113X))) + -4))))>>2))))) {
        goto L44901;}
      else {
        goto L44904;}}
    else {
      goto L44904;}}}
 L44904: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1112X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1113X);
  arg0K0 = 2;
  goto L29414;}
 L45082: {
  SvalS = n_1116X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45083: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1116X);
  arg0K0 = 1;
  goto L29414;}
 L45137: {
  SvalS = n_1117X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45138: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1117X);
  arg0K0 = 1;
  goto L29414;}
 L45192: {
  SvalS = 4;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45195: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1118X);
  arg0K0 = 1;
  goto L29414;}
 L45252: {
  SvalS = n_1119X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45253: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1119X);
  arg0K0 = 1;
  goto L29414;}
 L45307: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45310: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1120X);
  arg0K0 = 1;
  goto L29414;}
 L53486: {
  x_1691X = SvalS;
  if ((0 == (3 & x_1691X))) {
    if ((0 < x_1691X)) {
      goto L53515;}
    else {
      goto L53509;}}
  else {
    v_1692X = s48_bignum_test((((char *) (-3 + x_1691X))));
    if ((-1 == v_1692X)) {
      goto L53509;}
    else {
      goto L53515;}}}
 L53489: {
push_exception_setupB(5, 1);
  x_1693X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1693X);
  arg0K0 = 1;
  goto L29414;}
 L56872: {
  x_1694X = SvalS;
  if ((0 == (3 & x_1694X))) {
    n_1695X = ((x_1694X)>>2);
    if ((n_1695X < 0)) {
      arg0K0 = (0 - n_1695X);
      goto L52496;}
    else {
      arg0K0 = n_1695X;
      goto L52496;}}
  else {
    if ((0 == (3 & x_1694X))) {
      arg0K0 = 1;
      arg0K1 = 3;
      goto L23691;}
    else {
      arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1694X))) + -4))))>>8))))>>2)));
      arg0K1 = 0;
      goto L23691;}}}
 L56875: {
push_exception_setupB(5, 1);
  x_1696X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1696X);
  arg0K0 = 1;
  goto L29414;}
 L45453: {
  val_1697X = integer_bitwise_not(x_1138X);
  SvalS = val_1697X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45456: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1138X);
  arg0K0 = 1;
  goto L29414;}
 L45544: {
  x_1698X = arg0K0;
  arg0K0 = x_1698X;
  arg0K1 = 0;
  goto L45550;}
 L45527: {
  val_1699X = integer_bit_count(x_1139X);
  SvalS = val_1699X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45530: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1139X);
  arg0K0 = 1;
  goto L29414;}
 L45629: {
  if ((0 == (3 & y_1142X))) {
    goto L45635;}
  else {
    if ((3 == (3 & y_1142X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1142X))) + -4))))>>2))))) {
        goto L45635;}
      else {
        goto L45638;}}
    else {
      goto L45638;}}}
 L45638: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1141X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1142X);
  arg0K0 = 2;
  goto L29414;}
 L45792: {
  if ((0 == (3 & y_1144X))) {
    goto L45798;}
  else {
    if ((3 == (3 & y_1144X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1144X))) + -4))))>>2))))) {
        goto L45798;}
      else {
        goto L45801;}}
    else {
      goto L45801;}}}
 L45801: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1143X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1144X);
  arg0K0 = 2;
  goto L29414;}
 L45955: {
  if ((0 == (3 & y_1146X))) {
    goto L45961;}
  else {
    if ((3 == (3 & y_1146X))) {
      if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1146X))) + -4))))>>2))))) {
        goto L45961;}
      else {
        goto L45964;}}
    else {
      goto L45964;}}}
 L45964: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1145X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1146X);
  arg0K0 = 2;
  goto L29414;}
 L42347: {
  val_1700X = arg0K0;
  SvalS = val_1700X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42363: {
  val_1701X = arg0K0;
  SvalS = val_1701X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42364: {
push_exception_setupB(6, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1147X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1148X);
  arg0K0 = 2;
  goto L29414;}
 L52546: {
  if ((0 == (3 & y_1148X))) {
    if ((0 == (3 & arg2_1147X))) {
      value_1702X = ((arg2_1147X)>>2);
      count_1703X = ((y_1148X)>>2);
      if ((count_1703X < 0)) {
        PS_SHIFT_RIGHT(value_1702X, (0 - count_1703X), x_1704X)
        x_1705X = x_1704X;s48_make_availableAgc(16);
        if ((536870911 < x_1705X)) {
          goto L52666;}
        else {
          if ((x_1705X < -536870912)) {
            goto L52666;}
          else {
            arg0K0 = (((x_1705X)<<2));
            goto L52661;}}}
      else {
        PS_SHIFT_LEFT(value_1702X, count_1703X, x_1706X)
        result_1707X = x_1706X;
        PS_SHIFT_RIGHT(result_1707X, count_1703X, x_1708X)
        if ((value_1702X == x_1708X)) {
          if ((value_1702X < 0)) {
            if ((result_1707X < 0)) {s48_make_availableAgc(16);
              if ((536870911 < result_1707X)) {
                goto L52688;}
              else {
                if ((result_1707X < -536870912)) {
                  goto L52688;}
                else {
                  arg0K0 = (((result_1707X)<<2));
                  goto L52683;}}}
            else {
              arg0K0 = arg2_1147X;
              arg0K1 = y_1148X;
              goto L52559;}}
          else {
            if ((result_1707X < 0)) {
              arg0K0 = arg2_1147X;
              arg0K1 = y_1148X;
              goto L52559;}
            else {s48_make_availableAgc(16);
              if ((536870911 < result_1707X)) {
                goto L52710;}
              else {
                if ((result_1707X < -536870912)) {
                  goto L52710;}
                else {
                  arg0K0 = (((result_1707X)<<2));
                  goto L52705;}}}}}
        else {
          arg0K0 = arg2_1147X;
          arg0K1 = y_1148X;
          goto L52559;}}}
    else {
      if ((3 == (3 & arg2_1147X))) {
        if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1147X))) + -4))))>>2))))) {
          y_1709X = ((y_1148X)>>2);
          merged_arg0K0 = arg2_1147X;
          merged_arg0K1 = y_1709X;
          shift_space_return_tag = 0;
          goto shift_space;
         shift_space_return_0:
          needed_1710X = shift_space0_return_value;
          Stemp0S = arg2_1147X;s48_make_availableAgc((((needed_1710X)<<2)));
          value_1711X = Stemp0S;
          Stemp0S = 1;
          if ((0 == (3 & value_1711X))) {
            v_1712X = (char *) s48_long_to_bignum((((value_1711X)>>2)));
            arg2K0 = v_1712X;
            goto L52741;}
          else {
            arg2K0 = (((char *) (-3 + value_1711X)));
            goto L52741;}}
        else {
          goto L52568;}}
      else {
        goto L52568;}}}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_1147X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (y_1148X);
    arg0K0 = 2;
    goto L29414;}}
 L60772: {
  val_1713X = arg0K0;
  SvalS = val_1713X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L49800: {
  val_1714X = arg0K0;
  SvalS = val_1714X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L49771: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1152X);
  x_1715X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1715X);
  arg0K0 = 2;
  goto L29414;}
 L49708: {
  val_1716X = arg0K0;
  SvalS = val_1716X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L49679: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1154X);
  x_1717X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1717X);
  arg0K0 = 2;
  goto L29414;}
 L53795: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((x_1157X)<<2)));
  arg0K0 = 1;
  goto L29414;}
 L53801: {
  SvalS = (9 + (((x_1157X)<<8)));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L49606: {
  val_1718X = arg0K0;
  SvalS = val_1718X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L60805: {
  val_1719X = arg0K0;
  SvalS = val_1719X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L60819: {
  value_1720X = arg0K0;
  SvalS = value_1720X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L34480: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_1164X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1165X)<<2)));
  arg0K0 = 2;
  goto L29414;}
 L34585: {
  SvalS = new_1170X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L34569: {
  i_1721X = arg0K0;
  if ((i_1721X < 0)) {
    goto L34585;}
  else {
    value_1722X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_1170X))) + (((i_1721X)<<2)))) = (long) (value_1722X);
    arg0K0 = (-1 + i_1721X);
    goto L34569;}}
 L34703: {
  i_1723X = arg0K0;
  if ((i_1723X < 0)) {
    arg0K0 = stack_nargs_1178X;
    arg0K1 = rest_list_1179X;
    goto L34845;}
  else {
    value_1724X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    *((long *) ((((char *) (-3 + new_1176X))) + (((i_1723X)<<2)))) = (long) (value_1724X);
    arg0K0 = (-1 + i_1723X);
    goto L34703;}}
 L34871: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_1180X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1181X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_1182X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L34988: {
  addr_1725X = (((char *) (-3 + arg2_1183X))) + (((offset_1186X)<<2));S48_WRITE_BARRIER(arg2_1183X, addr_1725X, value_1184X);
  *((long *) addr_1725X) = (long) (value_1184X);
  goto L34997;}
 L34997: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L34998: {
push_exception_setupB(5, 4);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1183X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1185X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_1186X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1184X);
  arg0K0 = 4;
  goto L29414;}
 L35215: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1190X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_1191X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (init_1189X);
  arg0K0 = 3;
  goto L29414;}
 L35232: {
  x_1726X = arg0K0;
  value_1727X = Stemp0S;
  Stemp0S = 1;
  if ((1 == x_1726X)) {push_exception_setupB(8, 2);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((type_1190X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_1191X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (value_1727X);
    arg0K0 = 3;
    goto L29414;}
  else {
    arg0K0 = (-1 + len_1191X);
    goto L35258;}}
 L35505: {
push_exception_setupB(7, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1194X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1196X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_1195X);
  arg0K0 = 3;
  goto L29414;}
 L35495: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg2_1194X))) + (-4 & index_1195X))));
  goto L35504;}
 L35504: {
  value_1728X = arg0K0;
  SvalS = value_1728X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L35460: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1194X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1196X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (index_1195X);
  arg0K0 = 3;
  goto L29414;}
 L35792: {
push_exception_setupB(7, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1202X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1204X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1201X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1203X);
  arg0K0 = 4;
  goto L29414;}
 L35782: {
  addr_1729X = (((char *) (-3 + arg3_1202X))) + (-4 & arg2_1201X);S48_WRITE_BARRIER(arg3_1202X, addr_1729X, value_1203X);
  *((long *) addr_1729X) = (long) (value_1203X);
  goto L35791;}
 L35791: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L35745: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1202X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1204X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1201X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1203X);
  arg0K0 = 4;
  goto L29414;}
 L60862: {
  new_1730X = arg0K0;
  if ((1 == new_1730X)) {push_exception_setupB(8, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (72);
    arg0K0 = 1;
    goto L29414;}
  else {
    SvalS = new_1730X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L46237: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_1210X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((init_1211X)<<2)));
  arg0K0 = 2;
  goto L29414;}
 L46252: {
  vector_1731X = arg0K0;
  if ((1 == vector_1731X)) {push_exception_setupB(8, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_1210X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((init_1211X)<<2)));
    arg0K0 = 2;
    goto L29414;}
  else {
    arg0K0 = (-1 + len_1210X);
    goto L46274;}}
 L58137: {
push_exception_setupB(5, 1);
  x_1732X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1732X);
  arg0K0 = 1;
  goto L29414;}
 L53938: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1215X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1216X)<<2)));
  arg0K0 = 2;
  goto L29414;}
 L57553: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1215X);
  x_1733X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1733X);
  arg0K0 = 2;
  goto L29414;}
 L51118: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1219X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1220X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_1221X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L51097: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1219X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1220X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((Kchar_1221X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L56192: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1219X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1218X);
  x_1734X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1734X);
  arg0K0 = 3;
  goto L29414;}
 L46422: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((len_1224X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + (((init_1225X)<<8))));
  arg0K0 = 2;
  goto L29414;}
 L46437: {
  vector_1735X = arg0K0;
  if ((1 == vector_1735X)) {push_exception_setupB(8, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((len_1224X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((9 + (((init_1225X)<<8))));
    arg0K0 = 2;
    goto L29414;}
  else {
    arg0K0 = (-1 + len_1224X);
    goto L46459;}}
 L54019: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1223X);
  x_1736X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1736X);
  arg0K0 = 2;
  goto L29414;}
 L58187: {
push_exception_setupB(5, 1);
  x_1737X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1737X);
  arg0K0 = 1;
  goto L29414;}
 L54084: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1230X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1231X)<<2)));
  arg0K0 = 2;
  goto L29414;}
 L54112: {
  bits_1738X = arg0K0;
  j_1739X = arg0K1;
  scalar_value_1740X = arg0K2;
  if ((j_1739X < 4)) {
    PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + arg2_1230X))) + ((((index_1231X)<<2)) + j_1739X)))), bits_1738X, x_1741X)
    arg0K0 = (8 + bits_1738X);
    arg0K1 = (1 + j_1739X);
    arg0K2 = (x_1741X + scalar_value_1740X);
    goto L54112;}
  else {
    SvalS = (9 + (((scalar_value_1740X)<<8)));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L57651: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1230X);
  x_1742X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1742X);
  arg0K0 = 2;
  goto L29414;}
 L51273: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1234X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1235X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + (((Kchar_1236X)<<8))));
  arg0K0 = 3;
  goto L29414;}
 L51337: {
  bits_1743X = arg0K0;
  j_1744X = arg0K1;
  shifted_1745X = arg0K2;
  if ((j_1744X < 4)) {
    *((unsigned char *) ((((char *) (-3 + arg3_1234X))) + ((((index_1235X)<<2)) + j_1744X))) = (unsigned char) ((255 & shifted_1745X));
    arg0K0 = (8 + bits_1743X);
    arg0K1 = (1 + j_1744X);
    arg0K2 = ((long)(((unsigned long)shifted_1745X)>>8));
    goto L51337;}
  else {
    SvalS = 13;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L51252: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1234X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1235X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + (((Kchar_1236X)<<8))));
  arg0K0 = 3;
  goto L29414;}
 L56322: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1234X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1233X);
  x_1746X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1746X);
  arg0K0 = 3;
  goto L29414;}
 L36127: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1241X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((from_index_1242X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1239X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((to_index_1243X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1244X)<<2)));
  arg0K0 = 5;
  goto L29414;}
 L41300: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1241X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1240X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1239X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1238X);
  x_1747X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1747X);
  arg0K0 = 5;
  goto L29414;}
 L27043: {
  bucket_1748X = arg0K0;
  arg0K0 = bucket_1748X;
  goto L27049;}
 L42509: {
push_exception_setupB(5, 1);
  x_1749X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1749X);
  arg0K0 = 1;
  goto L29414;}
 L55886: {
  val_1750X = arg0K0;
  SvalS = val_1750X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L55867: {
push_exception_setupB(5, 1);
  x_1751X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1751X);
  arg0K0 = 1;
  goto L29414;}
 L50875: {
  if ((1 == (SvalS))) {
    addr_1752X = (((char *) (-3 + arg2_1256X))) + 4;S48_WRITE_BARRIER(arg2_1256X, addr_1752X, 273);
    *((long *) addr_1752X) = (long) (273);
    goto L50881;}
  else {
    if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_1256X))) + 4)))))) {
      addr_1753X = (((char *) (-3 + arg2_1256X))) + 4;S48_WRITE_BARRIER(arg2_1256X, addr_1753X, 529);
      *((long *) addr_1753X) = (long) (529);
      goto L50881;}
    else {
      goto L50881;}}}
 L50882: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1256X);
  x_1754X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1754X);
  arg0K0 = 2;
  goto L29414;}
 L60924: {
  val_1755X = arg0K0;
  SvalS = val_1755X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L54176: {
  SvalS = x_1259X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L46861: {
  if ((0 == (3 & arg4_1262X))) {
    if (((((arg4_1262X)>>2)) < 0)) {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg4_1262X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
      arg0K0 = 2;
      goto L29414;}
    else {
      arg0K0 = (((arg4_1262X)>>2));
      goto L46647;}}
  else {
    if ((3 == (3 & arg4_1262X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1262X))) + -4))))>>2))))) {
        filename_1756X = ((char *)(((char *) (-3 + arg4_1262X))));
        if ((1 == mode_1263X)) {
          goto L46709;}
        else {
          if ((3 == mode_1263X)) {
            goto L46709;}
          else {
            v_1757X = ps_open_fd(filename_1756X, 0, &v_1758X);
            arg0K0 = v_1757X;
            arg0K1 = v_1758X;
            goto L46718;}}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1262X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
        arg0K0 = 2;
        goto L29414;}}
    else {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg4_1262X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
      arg0K0 = 2;
      goto L29414;}}}
 L60943: {
push_exception_setupB(5, 1);
  x_1759X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1759X);
  arg0K0 = 1;
  goto L29414;}
 L54376: {
  if ((1 == (SvalS))) {
    arg3K0 = 0;
    goto L54386;}
  else {
    arg3K0 = 1;
    goto L54386;}}
 L54387: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1273X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1272X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1271X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1270X);
  x_1760X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1760X);
  arg0K0 = 5;
  goto L29414;}
 L47494: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1277X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1276X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1278X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1279X)<<2)));
  arg0K0 = 4;
  goto L29414;}
 L47493: {
  val_1761X = arg0K0;
  SvalS = val_1761X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L54590: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1277X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1276X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1275X);
  x_1762X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1762X);
  arg0K0 = 4;
  goto L29414;}
 L57368: {
  val_1763X = arg0K0;
  SvalS = val_1763X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L50466: {
  val_1764X = arg0K0;
  SvalS = val_1764X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L60978: {
push_exception_setupB(5, 1);
  x_1765X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1765X);
  arg0K0 = 1;
  goto L29414;}
 L54738: {
  val_1766X = arg0K0;
  SvalS = val_1766X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L14856: {
  x_1767X = Spending_channels_headS;
  if ((1 == x_1767X)) {
    Spending_interruptsS = (-17 & (Spending_interruptsS));
    goto L14868;}
  else {
    goto L14868;}}
 L14874: {
  ch_1768X = arg0K0;
  prev_1769X = arg0K1;
  if ((1 == ch_1768X)) {
    addr_1770X = (((char *) (-3 + channel_1297X))) + 20;S48_WRITE_BARRIER(channel_1297X, addr_1770X, 1);
    *((long *) addr_1770X) = (long) (1);
    n_1771X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1297X))) + 8))))>>2)));
    arg0K0 = (((n_1771X)<<2));
    goto L54738;}
  else {
    if ((ch_1768X == channel_1297X)) {
      y_1772X = Spending_channels_tailS;
      if ((ch_1768X == y_1772X)) {
        Spending_channels_tailS = prev_1769X;
        goto L14898;}
      else {
        goto L14898;}}
    else {
      arg0K0 = (*((long *) ((((char *) (-3 + ch_1768X))) + 16)));
      arg0K1 = ch_1768X;
      goto L14874;}}}
 L54721: {
push_exception_setupB(5, 1);
  x_1773X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1773X);
  arg0K0 = 1;
  goto L29414;}
 L21512: {
  i_1774X = arg0K0;
  res_1775X = arg0K1;
  if ((-1 == i_1774X)) {
    SvalS = res_1775X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    channel_1776X = *((Svm_channelsS) + i_1774X);
    if ((3 == (3 & channel_1776X))) {
      if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_1776X))) + -4))))>>2))))) {
        addr_1777X = s48_allocate_small(12);
        *((long *) addr_1777X) = (long) (2050);
        x_1778X = 3 + (((long) (addr_1777X + 4)));
        *((long *) (((char *) (-3 + x_1778X)))) = (long) (channel_1776X);
        *((long *) ((((char *) (-3 + x_1778X))) + 4)) = (long) (res_1775X);
        arg0K0 = x_1778X;
        goto L21526;}
      else {
        arg0K0 = res_1775X;
        goto L21526;}}
    else {
      arg0K0 = res_1775X;
      goto L21526;}}}
 L47715: {
  old_1779X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  if ((1 == old_1779X)) {
    goto L47731;}
  else {
    addr_1780X = ((char *) (-3 + old_1779X));S48_WRITE_BARRIER(old_1779X, addr_1780X, 1);
    *((long *) addr_1780X) = (long) (1);
    goto L47731;}}
 L47746: {
  if ((proposal_1307X == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
    SvalS = 13;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (proposal_1307X);
    arg0K0 = 1;
    goto L29414;}}
 L13293: {
  i_1781X = arg0K0;
  stob_1782X = *((long *) ((((char *) (-3 + log_1309X))) + (((i_1781X)<<2))));
  if ((1 == stob_1782X)) {
    log_1783X = *((long *) ((((char *) (-3 + proposal_1308X))) + 8));
    arg0K0 = 0;
    goto L13531;}
  else {
    value_1784X = *((long *) ((((char *) (-3 + log_1309X))) + (8 + (((i_1781X)<<2)))));
    verify_1785X = *((long *) ((((char *) (-3 + log_1309X))) + (12 + (((i_1781X)<<2)))));
    if ((29 == verify_1785X)) {
      if ((3 == (3 & stob_1782X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1782X))) + -4)))))) {
          goto L13345;}
        else {
          goto L47994;}}
      else {
        goto L47994;}}
    else {
      if ((verify_1785X == (*((long *) ((((char *) (-3 + stob_1782X))) + (-4 & (*((long *) ((((char *) (-3 + log_1309X))) + (4 + (((i_1781X)<<2)))))))))))) {
        if ((verify_1785X == value_1784X)) {
          goto L13345;}
        else {
          if ((3 == (3 & stob_1782X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1782X))) + -4)))))) {
              goto L13345;}
            else {
              goto L47994;}}
          else {
            goto L47994;}}}
      else {
        goto L47994;}}}}
 L36408: {
  value_1786X = arg0K0;
  SvalS = value_1786X;
  Scode_pointerS = ((Scode_pointerS) + 3);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L36409: {
push_exception_setupB(5, 3);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (stob_1310X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((type_1311X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((offset_1312X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L36502: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1318X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((from_index_1319X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1316X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((to_index_1320X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1321X)<<2)));
  arg0K0 = 5;
  goto L29414;}
 L36562: {
  memmove((void *)((((char *) (-3 + arg3_1316X))) + to_index_1320X), (void *)((((char *) (-3 + arg5_1318X))) + from_index_1319X),count_1321X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L36659: {
  left_1787X = arg0K0;
  copies_1788X = arg0K1;
  if ((1 == copies_1788X)) {
    if ((left_1787X < count_1321X)) {
      goto L36502;}
    else {
      from_index_1789X = ((from_index_1319X)<<2);
      to_index_1790X = ((to_index_1320X)<<2);
      count_1791X = ((count_1321X)<<2);
      Stemp0S = arg5_1318X;
      Stemp1S = arg3_1316X;
      addr_1792X = s48_allocate_tracedAgc(28);
      if ((addr_1792X == NULL)) {
        arg0K0 = 1;
        goto L13008;}
      else {
        *((long *) addr_1792X) = (long) (6154);
        arg0K0 = (3 + (((long) (addr_1792X + 4))));
        goto L13008;}}}
  else {
    arg0K0 = (left_1787X - ((((*((long *) ((((char *) (-3 + copies_1788X))) + 16))))>>2)));
    arg0K1 = (*((long *) ((((char *) (-3 + copies_1788X))) + 20)));
    goto L36659;}}
 L41579: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1318X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1317X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1316X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1315X);
  x_1793X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1793X);
  arg0K0 = 5;
  goto L29414;}
 L36928: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1323X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1324X)<<2)));
  arg0K0 = 2;
  goto L29414;}
 L36927: {
  value_1794X = arg0K0;
  SvalS = value_1794X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L19641: {
  i_1795X = arg0K0;
  next_stob_1796X = *((long *) ((((char *) (-3 + log_1328X))) + (((i_1795X)<<2))));
  if ((1 == next_stob_1796X)) {
    v_1797X = add_log_entryAgc(2, i_1795X, arg2_1323X, index_1327X, ((((*((unsigned char *) ((((char *) (-3 + arg2_1323X))) + (((index_1327X)>>2))))))<<2)), 1);
    arg0K0 = v_1797X;
    goto L36927;}
  else {
    if ((arg2_1323X == next_stob_1796X)) {
      if ((index_1327X == (*((long *) ((((char *) (-3 + log_1328X))) + (4 + (((i_1795X)<<2)))))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + log_1328X))) + (8 + (((i_1795X)<<2))))));
        goto L36927;}
      else {
        goto L19663;}}
    else {
      goto L19663;}}}
 L41775: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1323X);
  x_1798X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1798X);
  arg0K0 = 2;
  goto L29414;}
 L37054: {
push_exception_setupB(7, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1330X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1331X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_1332X);
  arg0K0 = 3;
  goto L29414;}
 L37053: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L19817: {
  i_1799X = arg0K0;
  next_stob_1800X = *((long *) ((((char *) (-3 + log_1336X))) + (((i_1799X)<<2))));
  if ((1 == next_stob_1800X)) {add_log_entryAgc(2, i_1799X, arg3_1330X, index_1335X, byte_1332X, 0);
    goto L37053;}
  else {
    if ((arg3_1330X == next_stob_1800X)) {
      if ((index_1335X == (*((long *) ((((char *) (-3 + log_1336X))) + (4 + (((i_1799X)<<2)))))))) {
        addr_1801X = (((char *) (-3 + log_1336X))) + (8 + (((i_1799X)<<2)));S48_WRITE_BARRIER(log_1336X, addr_1801X, byte_1332X);
        *((long *) addr_1801X) = (long) (byte_1332X);
        goto L37053;}
      else {
        goto L19837;}}
    else {
      goto L19837;}}}
 L37019: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1330X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1331X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_1332X);
  arg0K0 = 3;
  goto L29414;}
 L41880: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1330X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1329X);
  x_1802X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1802X);
  arg0K0 = 3;
  goto L29414;}
 L51511: {
  reason_1803X = arg0K0;
  status_1804X = arg0K1;push_exception_setupB(reason_1803X, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1340X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1339X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1338X);
  merged_arg0K0 = status_1804X;
  merged_arg0K1 = 0;
  get_error_string_return_tag = 3;
  goto get_error_string;
 get_error_string_return_3:
  x_1805X = get_error_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1805X);
  arg0K0 = 4;
  goto L29414;}
 L56523: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1340X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1339X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1338X);
  x_1806X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1806X);
  arg0K0 = 4;
  goto L29414;}
 L57236: {
push_exception_setupB(5, 1);
  x_1807X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1807X);
  arg0K0 = 1;
  goto L29414;}
 L51786: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1352X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1353X);
  arg0K0 = 2;
  goto L29414;}
 L54857: {
  firstP_1808X = arg3K0;
  vector_1809X = s48_find_all(type_1367X);
  if ((1 == vector_1809X)) {
    if (firstP_1808X) {s48_collect(1);
      arg3K0 = 0;
      goto L54857;}
    else {push_exception_setupB(8, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((type_1367X)<<2)));
      arg0K0 = 1;
      goto L29414;}}
  else {
    SvalS = vector_1809X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L61100: {
  firstP_1810X = arg3K0;
  type_1811X = arg0K1;
  vector_1812X = s48_find_all_records(type_1811X);
  if ((1 == vector_1812X)) {
    if (firstP_1810X) {
      Stemp0S = type_1811X;s48_collect(1);
      value_1813X = Stemp0S;
      Stemp0S = 1;
      arg3K0 = 0;
      arg0K1 = value_1813X;
      goto L61100;}
    else {push_exception_setupB(8, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (type_1811X);
      arg0K0 = 1;
      goto L29414;}}
  else {
    SvalS = vector_1812X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L33453: {
push_exception_setupB(5, 1);
  x_1814X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1814X);
  arg0K0 = 1;
  goto L29414;}
 L31799: {
  Slast_code_calledS = code_1374X;
  Scode_pointerS = ((((char *) (-3 + code_1374X))) + (pc_1377X + (((size_1376X)>>2))));
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L29675: {
  ps_write_string("returning to nc ", (stderr));
  ps_write_integer((*((long *) (SstackS))), (stderr));
  arg0K0 = 0;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L28842;}
 L32358: {
push_exception_setupB(5, 1);
  x_1815X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1815X);
  arg0K0 = 1;
  goto L29414;}
 L61148: {
  SvalS = (((old_1385X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L58352: {
  x_1816X = s48_schedule_alarm_interrupt((((p_1397X)>>2)));
  SvalS = (((x_1816X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L56071: {
  if ((1 == (SvalS))) {
    arg3K0 = 0;
    goto L56075;}
  else {
    arg3K0 = 1;
    goto L56075;}}
 L56076: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1399X);
  x_1817X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1817X);
  arg0K0 = 2;
  goto L29414;}
 L37253: {
  rest_list_1818X = arg0K0;
  if ((25 == rest_list_1818X)) {
    name_1819X = *((long *) ((SstackS) + (-8 + (((nargs_1402X)<<2)))));
    proc_1820X = *((long *) ((SstackS) + (-4 + (((nargs_1402X)<<2)))));
    args_1821X = SstackS;
    if ((3 == (3 & name_1819X))) {
      if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_1819X))) + -4))))>>2))))) {
        if ((3 == (3 & proc_1820X))) {
          if ((17 == (31 & ((((*((long *) ((((char *) (-3 + proc_1820X))) + -4))))>>2))))) {
            if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_1820X))) + -4))))>>8)))) {
              SstackS = (ScontS);
              result_1822X = s48_external_call(proc_1820X, name_1819X, (-2 + nargs_1402X), args_1821X);
              if ((Sexternal_exceptionPS)) {
                Sexternal_exceptionPS = 0;
                arg0K0 = (Sexternal_exception_nargsS);
                goto L29414;}
              else {
                SvalS = result_1822X;
                Scode_pointerS = ((Scode_pointerS) + 1);
                arg2K0 = (Scode_pointerS);
                goto L31717;}}
            else {
              goto L37509;}}
          else {
            goto L37509;}}
        else {
          goto L37509;}}
      else {
        goto L37509;}}
    else {
      goto L37509;}}
  else {
    x_1823X = *((long *) (((char *) (-3 + rest_list_1818X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_1823X);
    arg0K0 = (*((long *) ((((char *) (-3 + rest_list_1818X))) + 4)));
    goto L37253;}}
 L54952: {
  if ((1 == (SvalS))) {
    v_1824X = Hlookup2943((Sexported_bindingsS), arg2_1406X, 0);
    arg0K0 = v_1824X;
    goto L54993;}
  else {
    v_1825X = Hlookup2924((Simported_bindingsS), arg2_1406X, 0);
    arg0K0 = v_1825X;
    goto L54993;}}
 L54957: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1406X);
  x_1826X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1826X);
  arg0K0 = 2;
  goto L29414;}
 L40713: {
  if ((1 == (SvalS))) {
    arg0K0 = (Sexported_bindingsS);
    goto L40748;}
  else {
    arg0K0 = (Simported_bindingsS);
    goto L40748;}}
 L40718: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1408X);
  x_1827X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1827X);
  arg0K0 = 2;
  goto L29414;}
 L61208: {
  firstP_1828X = arg3K0;
  vector_1829X = s48_gather_objects(shared_binding_undefinedP, for_each_imported_binding);
  if ((1 == vector_1829X)) {
    if (firstP_1828X) {s48_collect(1);
      arg3K0 = 0;
      goto L61208;}
    else {push_exception_setupB(8, 1);
      arg0K0 = 0;
      goto L29414;}}
  else {
    SvalS = vector_1829X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L57170: {
  option_1830X = arg0K0;
  seconds_1831X = arg0K1;
  mseconds_1832X = arg0K2;
  if ((536869 < seconds_1831X)) {push_exception_setupB(6, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((option_1830X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((seconds_1831X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mseconds_1832X)<<2)));
    arg0K0 = 3;
    goto L29414;}
  else {
    SvalS = (((((1000 * seconds_1831X) + mseconds_1832X))<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L61265: {
  s48_Scallback_return_stack_blockS = arg2_1430X;
  arg0K0 = x_1431X;
  goto L64089;}
 L49386: {
  val_1833X = arg0K0;
  SvalS = val_1833X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L49351: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1432X);
  x_1834X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1834X);
  arg0K0 = 2;
  goto L29414;}
 L48570: {
  len_1835X = ((n_1437X)<<2);
  addr_1836X = s48_allocate_small((4 + len_1835X));
  *((long *) addr_1836X) = (long) ((66 + (((len_1835X)<<8))));
  obj_1837X = 3 + (((long) (addr_1836X + 4)));
  arg0K0 = arg2_1436X;
  arg0K1 = (-1 + n_1437X);
  goto L48547;}
 L48522: {
  if ((25 == arg2_1436X)) {
    goto L48570;}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_1436X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((n_1437X)<<2)));
    arg0K0 = 2;
    goto L29414;}}
 L50529: {
  list_1838X = arg0K0;
  slow_1839X = arg0K1;
  move_slowP_1840X = arg3K2;
  if ((25 == list_1838X)) {
    SvalS = 1;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    if ((3 == (3 & list_1838X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_1838X))) + -4))))>>2))))) {
        head_1841X = *((long *) (((char *) (-3 + list_1838X))));
        if ((3 == (3 & head_1841X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_1841X))) + -4))))>>2))))) {
            if (((*((long *) (((char *) (-3 + head_1841X))))) == arg2_1439X)) {
              SvalS = head_1841X;
              Scode_pointerS = ((Scode_pointerS) + 1);
              arg2K0 = (Scode_pointerS);
              goto L31717;}
            else {
              list_1842X = *((long *) ((((char *) (-3 + list_1838X))) + 4));
              if ((list_1842X == slow_1839X)) {push_exception_setupB(5, 1);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (arg2_1439X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (list_1440X);
                arg0K0 = 2;
                goto L29414;}
              else {
                if (move_slowP_1840X) {
                  arg0K0 = list_1842X;
                  arg0K1 = (*((long *) ((((char *) (-3 + slow_1839X))) + 4)));
                  arg3K2 = 0;
                  goto L50529;}
                else {
                  arg0K0 = list_1842X;
                  arg0K1 = slow_1839X;
                  arg3K2 = 1;
                  goto L50529;}}}}
          else {push_exception_setupB(5, 1);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (arg2_1439X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (list_1440X);
            arg0K0 = 2;
            goto L29414;}}
        else {push_exception_setupB(5, 1);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (arg2_1439X);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (list_1440X);
          arg0K0 = 2;
          goto L29414;}}
      else {push_exception_setupB(5, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg2_1439X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (list_1440X);
        arg0K0 = 2;
        goto L29414;}}
    else {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg2_1439X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (list_1440X);
      arg0K0 = 2;
      goto L29414;}}}
 L37585: {
push_exception_setupB(7, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1442X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1441X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1443X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L37575: {
  arg0K0 = (*((long *) ((((char *) (-3 + arg3_1442X))) + (((index_1443X)<<2)))));
  goto L37584;}
 L37584: {
  value_1843X = arg0K0;
  SvalS = value_1843X;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L37605: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1442X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1441X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1443X)<<2)));
  arg0K0 = 3;
  goto L29414;}
 L37843: {
push_exception_setupB(7, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1450X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1449X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1451X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1452X);
  arg0K0 = 4;
  goto L29414;}
 L37833: {
  addr_1844X = (((char *) (-3 + arg4_1450X))) + (((index_1451X)<<2));S48_WRITE_BARRIER(arg4_1450X, addr_1844X, value_1452X);
  *((long *) addr_1844X) = (long) (value_1452X);
  goto L37842;}
 L37842: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L37865: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1450X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1449X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((index_1451X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (value_1452X);
  arg0K0 = 4;
  goto L29414;}
 L30033: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((encoding_1460X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + (((value_1461X)<<8))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1457X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1462X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1463X)<<2)));
  arg0K0 = 5;
  goto L29414;}
 L30085: {
  x_1845X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1845X);
  if (okP_1465X) {
    arg0K0 = (((count_1467X)<<2));
    goto L30095;}
  else {
    arg0K0 = 1;
    goto L30095;}}
 L30763: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1459X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1458X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1457X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1456X);
  x_1846X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1846X);
  arg0K0 = 5;
  goto L29414;}
 L48725: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((encoding_1472X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((9 + (((value_1473X)<<8))));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1469X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1474X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1475X)<<2)));
  arg0K0 = 5;
  goto L29414;}
 L55355: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1471X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1470X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1469X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1468X);
  x_1847X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1847X);
  arg0K0 = 5;
  goto L29414;}
 L30318: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((encoding_1483X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1481X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1484X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1485X)<<2)));
  arg0K0 = 4;
  goto L29414;}
 L30384: {
  x_1848X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1848X);
  if (okP_1487X) {
    arg0K0 = (((count_1490X)<<2));
    goto L30394;}
  else {
    arg0K0 = 1;
    goto L30394;}}
 L30959: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1482X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1481X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1480X);
  x_1849X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1849X);
  arg0K0 = 4;
  goto L29414;}
 L48944: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((encoding_1494X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1492X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_1495X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_1496X)<<2)));
  arg0K0 = 4;
  goto L29414;}
 L55551: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1493X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg3_1492X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1491X);
  x_1850X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1850X);
  arg0K0 = 4;
  goto L29414;}
 L38122: {
  port_1851X = arg0K0;
  if ((3 == (3 & port_1851X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1851X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1851X))) + 12))))>>2))))) {
        goto L38179;}
      else {
        b_1852X = *((long *) ((((char *) (-3 + port_1851X))) + 24));
        if ((1 == b_1852X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1851X);
          arg0K0 = 1;
          goto L29414;}
        else {
          p_1853X = *((long *) ((((char *) (-3 + port_1851X))) + 28));
          p_1854X = *((long *) ((((char *) (-3 + port_1851X))) + 32));
          i_1855X = ((p_1853X)>>2);
          if ((i_1855X == (((p_1854X)>>2)))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1851X);
            arg0K0 = 1;
            goto L29414;}
          else {
            val_1856X = 4 + (((i_1855X)<<2));
            addr_1857X = (((char *) (-3 + port_1851X))) + 28;S48_WRITE_BARRIER(port_1851X, addr_1857X, val_1856X);
            *((long *) addr_1857X) = (long) (val_1856X);
            SvalS = ((((*((unsigned char *) ((((char *) (-3 + b_1852X))) + i_1855X))))<<2));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg2K0 = (Scode_pointerS);
            goto L31717;}}}}
    else {
      goto L38179;}}
  else {
    goto L38179;}}
 L38324: {
  port_1858X = arg0K0;
  if ((3 == (3 & port_1858X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1858X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1858X))) + 12))))>>2))))) {
        goto L38381;}
      else {
        b_1859X = *((long *) ((((char *) (-3 + port_1858X))) + 24));
        if ((1 == b_1859X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1858X);
          arg0K0 = 1;
          goto L29414;}
        else {
          p_1860X = *((long *) ((((char *) (-3 + port_1858X))) + 28));
          p_1861X = *((long *) ((((char *) (-3 + port_1858X))) + 32));
          i_1862X = ((p_1860X)>>2);
          if ((i_1862X == (((p_1861X)>>2)))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1858X);
            arg0K0 = 1;
            goto L29414;}
          else {
            SvalS = ((((*((unsigned char *) ((((char *) (-3 + b_1859X))) + i_1862X))))<<2));
            Scode_pointerS = ((Scode_pointerS) + 2);
            arg2K0 = (Scode_pointerS);
            goto L31717;}}}}
    else {
      goto L38381;}}
  else {
    goto L38381;}}
 L38519: {
  byte_1863X = arg0K0;
  port_1864X = arg0K1;
  if ((0 == (3 & byte_1863X))) {
    if ((3 == (3 & port_1864X))) {
      if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1864X))) + -4))))>>2))))) {
        if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1864X))) + 12))))>>2))))) {
          goto L38596;}
        else {
          if ((1 == (*((long *) ((((char *) (-3 + port_1864X))) + 32))))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (byte_1863X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1864X);
            arg0K0 = 2;
            goto L29414;}
          else {
            p_1865X = *((long *) ((((char *) (-3 + port_1864X))) + 28));
            b_1866X = *((long *) ((((char *) (-3 + port_1864X))) + 24));
            i_1867X = ((p_1865X)>>2);
            if ((i_1867X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1866X))) + -4))))>>8)))) {push_exception_setupB(13, 2);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (byte_1863X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (port_1864X);
              arg0K0 = 2;
              goto L29414;}
            else {
              val_1868X = 4 + (((i_1867X)<<2));
              addr_1869X = (((char *) (-3 + port_1864X))) + 28;S48_WRITE_BARRIER(port_1864X, addr_1869X, val_1868X);
              *((long *) addr_1869X) = (long) (val_1868X);
              *((unsigned char *) ((((char *) (-3 + b_1866X))) + i_1867X)) = (unsigned char) ((((byte_1863X)>>2)));
              SvalS = 13;
              Scode_pointerS = ((Scode_pointerS) + 2);
              arg2K0 = (Scode_pointerS);
              goto L31717;}}}}
      else {
        goto L38596;}}
    else {
      goto L38596;}}
  else {
    goto L38596;}}
 L38788: {
  port_1870X = arg0K0;
  if ((3 == (3 & port_1870X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1870X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1870X))) + 12))))>>2))))) {
        goto L38961;}
      else {
        b_1871X = *((long *) ((((char *) (-3 + port_1870X))) + 24));
        if ((1 == b_1871X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1870X);
          arg0K0 = 1;
          goto L29414;}
        else {
          arg0K0 = ((((*((long *) ((((char *) (-3 + port_1870X))) + 28))))>>2));
          goto L38817;}}}
    else {
      goto L38961;}}
  else {
    goto L38961;}}
 L39379: {
  port_1872X = arg0K0;
  if ((3 == (3 & port_1872X))) {
    if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1872X))) + -4))))>>2))))) {
      if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1872X))) + 12))))>>2))))) {
        goto L39552;}
      else {
        b_1873X = *((long *) ((((char *) (-3 + port_1872X))) + 24));
        if ((1 == b_1873X)) {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1872X);
          arg0K0 = 1;
          goto L29414;}
        else {
          arg0K0 = ((((*((long *) ((((char *) (-3 + port_1872X))) + 28))))>>2));
          goto L39408;}}}
    else {
      goto L39552;}}
  else {
    goto L39552;}}
 L39890: {
  Kchar_1874X = arg0K0;
  port_1875X = arg0K1;
  if ((9 == (255 & Kchar_1874X))) {
    if ((3 == (3 & port_1875X))) {
      if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1875X))) + -4))))>>2))))) {
        if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1875X))) + 12))))>>2))))) {
          goto L40109;}
        else {
          if ((1 == (*((long *) ((((char *) (-3 + port_1875X))) + 32))))) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (Kchar_1874X);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1875X);
            arg0K0 = 2;
            goto L29414;}
          else {
            codec_1876X = *((long *) ((((char *) (-3 + port_1875X))) + 4));
            if ((0 == (3 & codec_1876X))) {
              b_1877X = *((long *) ((((char *) (-3 + port_1875X))) + 24));
              i_1878X = (((*((long *) ((((char *) (-3 + port_1875X))) + 28))))>>2);
              l_1879X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1877X))) + -4))))>>8);
              if ((i_1878X == l_1879X)) {push_exception_setupB(13, 2);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (Kchar_1874X);
                SstackS = ((SstackS) + -4);
                *((long *) (SstackS)) = (long) (port_1875X);
                arg0K0 = 2;
                goto L29414;}
              else {
                x_1880X = *((long *) ((((char *) (-3 + port_1875X))) + 8));
                if ((1 == x_1880X)) {
                  goto L40055;}
                else {
                  if ((10 == (((Kchar_1874X)>>8)))) {
                    codec_okP_1881X = encode_scalar_value((((codec_1876X)>>2)), 13, ((((char *) (-3 + b_1877X))) + i_1878X), (l_1879X - i_1878X), &encoding_okP_1882X, &out_of_spaceP_1883X, &count_1884X);
                    if (codec_okP_1881X) {
                      if (encoding_okP_1882X) {
                        if (out_of_spaceP_1883X) {push_exception_setupB(13, 2);
                          SstackS = ((SstackS) + -4);
                          *((long *) (SstackS)) = (long) (Kchar_1874X);
                          SstackS = ((SstackS) + -4);
                          *((long *) (SstackS)) = (long) (port_1875X);
                          arg0K0 = 2;
                          goto L29414;}
                        else {
                          i_1885X = i_1878X + count_1884X;
                          if ((i_1885X == l_1879X)) {push_exception_setupB(13, 2);
                            SstackS = ((SstackS) + -4);
                            *((long *) (SstackS)) = (long) (Kchar_1874X);
                            SstackS = ((SstackS) + -4);
                            *((long *) (SstackS)) = (long) (port_1875X);
                            arg0K0 = 2;
                            goto L29414;}
                          else {encode_scalar_value((((codec_1876X)>>2)), 10, ((((char *) (-3 + b_1877X))) + i_1885X), (l_1879X - i_1885X), &encoding_okP_1886X, &out_of_spaceP_1887X, &count_1888X);
                            if (encoding_okP_1886X) {
                              if (out_of_spaceP_1887X) {push_exception_setupB(13, 2);
                                SstackS = ((SstackS) + -4);
                                *((long *) (SstackS)) = (long) (Kchar_1874X);
                                SstackS = ((SstackS) + -4);
                                *((long *) (SstackS)) = (long) (port_1875X);
                                arg0K0 = 2;
                                goto L29414;}
                              else {
                                val_1889X = (((i_1885X + count_1888X))<<2);
                                addr_1890X = (((char *) (-3 + port_1875X))) + 28;S48_WRITE_BARRIER(port_1875X, addr_1890X, val_1889X);
                                *((long *) addr_1890X) = (long) (val_1889X);
                                SvalS = 13;
                                Scode_pointerS = ((Scode_pointerS) + 2);
                                arg2K0 = (Scode_pointerS);
                                goto L31717;}}
                            else {push_exception_setupB(13, 2);
                              SstackS = ((SstackS) + -4);
                              *((long *) (SstackS)) = (long) (Kchar_1874X);
                              SstackS = ((SstackS) + -4);
                              *((long *) (SstackS)) = (long) (port_1875X);
                              arg0K0 = 2;
                              goto L29414;}}}}
                      else {push_exception_setupB(13, 2);
                        SstackS = ((SstackS) + -4);
                        *((long *) (SstackS)) = (long) (Kchar_1874X);
                        SstackS = ((SstackS) + -4);
                        *((long *) (SstackS)) = (long) (port_1875X);
                        arg0K0 = 2;
                        goto L29414;}}
                    else {push_exception_setupB(5, 2);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) (Kchar_1874X);
                      SstackS = ((SstackS) + -4);
                      *((long *) (SstackS)) = (long) (port_1875X);
                      arg0K0 = 2;
                      goto L29414;}}
                  else {
                    goto L40055;}}}}
            else {push_exception_setupB(13, 2);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (Kchar_1874X);
              SstackS = ((SstackS) + -4);
              *((long *) (SstackS)) = (long) (port_1875X);
              arg0K0 = 2;
              goto L29414;}}}}
      else {
        goto L40109;}}
    else {
      goto L40109;}}
  else {
    goto L40109;}}
 L50782: {
  stuff_1891X = arg0K0;
  if ((3 == (3 & stuff_1891X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_1891X))) + -4))))>>2))))) {
      thing_1892X = *((long *) (((char *) (-3 + stuff_1891X))));
      if ((0 == (3 & thing_1892X))) {
        ps_write_integer((((thing_1892X)>>2)), out_1519X);
        goto L50788;}
      else {
        if ((9 == (255 & thing_1892X))) {
          ps_write_string("#\\", out_1519X);
          { long ignoreXX;
          PS_WRITE_CHAR((((char) (((thing_1892X)>>8)))), out_1519X, ignoreXX) }
          goto L50788;}
        else {
          if ((3 == (3 & thing_1892X))) {
            if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
              if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>8))))>>2)))) {
                type_1893X = *((long *) (((char *) (-3 + thing_1892X))));
                if ((3 == (3 & type_1893X))) {
                  if ((9 == (31 & ((((*((long *) ((((char *) (-3 + type_1893X))) + -4))))>>2))))) {
                    if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_1893X))) + -4))))>>8))))>>2)))) {
                      obj_1894X = *((long *) ((((char *) (-3 + type_1893X))) + 8));
                      if ((3 == (3 & obj_1894X))) {
                        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1894X))) + -4))))>>2))))) {
                          ps_write_string("#{", out_1519X);write_vm_string((*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_1892X)))))))) + 8)))))))), out_1519X);
                          { long ignoreXX;
                          PS_WRITE_CHAR(125, out_1519X, ignoreXX) }
                          goto L50788;}
                        else {
                          goto L22834;}}
                      else {
                        goto L22834;}}
                    else {
                      goto L22834;}}
                  else {
                    goto L22834;}}
                else {
                  goto L22834;}}
              else {
                goto L22834;}}
            else {
              goto L22834;}}
          else {
            goto L22834;}}}}
    else {
      goto L50773;}}
  else {
    goto L50773;}}
 L28446: {
  arg_count_1895X = arg0K0;
  if ((3 == (3 & handlers_1522X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_1522X))) + -4))))>>2))))) {
      goto L28460;}
    else {
      goto L28502;}}
  else {
    goto L28502;}}
 L15068: {
  x_1896X = Sfinalize_theseS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1896X);
  Sfinalize_theseS = 25;
  n_1897X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_1897X)<<2)));
  if ((Sgc_in_troublePS)) {
    arg0K0 = 5;
    goto L15079;}
  else {
    arg0K0 = 1;
    goto L15079;}}
 L15085: {
  channel_1898X = arg0K0;
  x_1899X = 1 == (Spending_channels_headS);
  if (x_1899X) {
    goto L15099;}
  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 L15099;}
      else {
        goto L15099;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L15099;}}}
 L15280: {
  sig_1900X = *(Sos_signal_ringS + (Sos_signal_ring_startS));
  if ((31 == (Sos_signal_ring_startS))) {
    arg0K0 = 0;
    goto L15284;}
  else {
    arg0K0 = (1 + (Sos_signal_ring_startS));
    goto L15284;}}
 L11377: {
  count_1901X = arg0K0;
  i_1902X = arg0K1;
  offset_1903X = arg0K2;
  if ((0 == count_1901X)) {
    if ((i_1902X < total_count_1556X)) {
      arg0K0 = i_1902X;
      arg0K1 = offset_1903X;
      goto L9516;}
    else {
      arg0K0 = offset_1903X;
      goto L64106;}}
  else {
    value_1904X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1903X)))))<<2))));
    addr_1905X = (((char *) (-3 + new_env_1553X))) + (((i_1902X)<<2));S48_WRITE_BARRIER(new_env_1553X, addr_1905X, value_1904X);
    *((long *) addr_1905X) = (long) (value_1904X);
    arg0K0 = (-1 + count_1901X);
    arg0K1 = (1 + i_1902X);
    arg0K2 = (1 + offset_1903X);
    goto L11377;}}
 L14127: {
  count_1906X = arg0K0;
  i_1907X = arg0K1;
  offset_1908X = arg0K2;
  if ((0 == count_1906X)) {
    if ((i_1907X < total_count_1565X)) {
      arg0K0 = i_1907X;
      arg0K1 = offset_1908X;
      goto L10581;}
    else {
      arg0K0 = offset_1908X;
      goto L64097;}}
  else {
    value_1909X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1908X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1908X))))))<<2))));
    addr_1910X = (((char *) (-3 + new_env_1562X))) + (((i_1907X)<<2));S48_WRITE_BARRIER(new_env_1562X, addr_1910X, value_1909X);
    *((long *) addr_1910X) = (long) (value_1909X);
    arg0K0 = (-1 + count_1906X);
    arg0K1 = (1 + i_1907X);
    arg0K2 = (2 + offset_1908X);
    goto L14127;}}
 L58998: {
  pending_interruptP_return_tag = 5;
  goto pending_interruptP;
 pending_interruptP_return_5:
  v_1911X = pending_interruptP0_return_value;
  if (v_1911X) {
    arg0K0 = 2;
    goto L28702;}
  else {
    goto L59005;}}
 L59005: {
  v_1912X = s48_call_native_procedure((SvalS), 2);
  arg0K0 = v_1912X;
  goto L58795;}
 L59140: {
  pop_continuationB_return_tag = 4;
  goto pop_continuationB;
 pop_continuationB_return_4:
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L58925: {
  protocol_skip_1913X = arg0K0;
  SstackS = (ScontS);
  cont_1914X = ScontS;
  pointer_1915X = (((char *) (*((long *) cont_1914X)))) + -2;
  size_1916X = ((((*((unsigned char *) pointer_1915X)))<<8)) + (*((unsigned char *) (pointer_1915X + 1)));
  if ((65535 == size_1916X)) {
    arg0K0 = ((((*((long *) (cont_1914X + 4))))>>2));
    goto L58936;}
  else {
    arg0K0 = size_1916X;
    goto L58936;}}
 L29760: {
  cont_1917X = arg0K0;
  if ((1 == cont_1917X)) {
    if ((0 == (3 & (SvalS)))) {
      s48_Scallback_return_stack_blockS = 1;
      arg0K0 = ((((SvalS))>>2));
      goto L64089;}
    else {
      goto L29775;}}
  else {
    goto L29775;}}
 L59284: {
  v_1918X = arg0K0;
  ScontS = (cont_1611X + (4 + (((v_1918X)<<2))));
  merged_arg0K0 = 0;
  move_args_above_contB_return_tag = 7;
  goto move_args_above_contB;
 move_args_above_contB_return_7:
  goto L59189;}
 L59189: {
  x_1919X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1919X);
  SvalS = proc_1610X;
  arg0K0 = 1;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L58536;}
 L28931: {
  v_1920X = arg0K0;
  SvalS = v_1920X;
  pop_continuationB_return_tag = 5;
  goto pop_continuationB;
 pop_continuationB_return_5:
  arg0K0 = 1;
  goto L32141;}
 L29843: {
  stack_nargs_1921X = arg0K0;
  list_args_1922X = arg0K1;
  merged_arg0K0 = list_args_1922X;
  merged_arg0K1 = stack_nargs_1921X;
  pop_args_GlistSAgc_return_tag = 9;
  goto pop_args_GlistSAgc;
 pop_args_GlistSAgc_return_9:
  args_1923X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (args_1923X);
  arg0K0 = 2;
  goto L29414;}
 L32141: {
  bytes_used_1924X = arg0K0;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1924X));
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L59469: {
  v_1925X = arg0K0;
  SvalS = v_1925X;
  arg0K0 = 2;
  goto L58925;}
 L28877: {
  if ((1 == (stack_nargs_1623X + list_arg_count_1625X))) {
    if ((1 == stack_nargs_1623X)) {
      v_1926X = *((long *) (SstackS));
      SstackS = ((SstackS) + 4);
      arg0K0 = v_1926X;
      goto L28955;}
    else {
      arg0K0 = (*((long *) (((char *) (-3 + list_args_1624X)))));
      goto L28955;}}
  else {
    arg0K0 = stack_nargs_1623X;
    arg0K1 = list_args_1624X;
    goto L29843;}}
 L28994: {
  v_1927X = arg0K0;
  ScontS = (cont_1634X + (4 + (((v_1927X)<<2))));
  merged_arg0K0 = stack_nargs_1623X;
  move_args_above_contB_return_tag = 8;
  goto move_args_above_contB;
 move_args_above_contB_return_8:
  arg0K0 = stack_nargs_1623X;
  arg0K1 = list_args_1624X;
  arg0K2 = list_arg_count_1625X;
  goto L58536;}
 L33191: {
  loc_1928X = arg2K0;
  arg_1929X = arg2K1;
  if ((arg_1929X < arg_top_1639X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_1623X)<<2))));
    if ((count_1637X < stack_nargs_1623X)) {
      merged_arg0K0 = list_args_1624X;
      merged_arg0K1 = (stack_nargs_1623X - count_1637X);
      pop_args_GlistSAgc_return_tag = 10;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_10:
      v_1930X = pop_args_GlistSAgc0_return_value;
      arg0K0 = v_1930X;
      goto L33170;}
    else {
      arg0K0 = stack_nargs_1623X;
      arg0K1 = list_args_1624X;
      goto L33152;}}
  else {
    *((long *) loc_1928X) = (long) ((*((long *) arg_1929X)));
    arg2K0 = (loc_1928X + -4);
    arg2K1 = (arg_1929X + -4);
    goto L33191;}}
 L33043: {
  count_1931X = arg0K0;
  bytes_used_1932X = arg0K1;
  stack_nargs_1933X = arg0K2;
  list_args_1934X = arg0K3;
  list_arg_count_1935X = arg0K4;
  if ((count_1931X == (stack_nargs_1933X + list_arg_count_1935X))) {
    arg_top_1936X = SstackS;
    pop_continuationB_return_tag = 6;
    goto pop_continuationB;
   pop_continuationB_return_6:
    arg2K0 = ((SstackS) + -4);
    arg2K1 = (arg_top_1936X + (-4 + (((stack_nargs_1933X)<<2))));
    goto L33075;}
  else {
    merged_arg0K0 = list_args_1934X;
    merged_arg0K1 = stack_nargs_1933X;
    pop_args_GlistSAgc_return_tag = 11;
    goto pop_args_GlistSAgc;
   pop_args_GlistSAgc_return_11:
    args_1937X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (args_1937X);
    arg0K0 = 2;
    goto L29414;}}
 L33357: {
push_exception_setupB(5, 8);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (template_1057X);
  arg0K0 = 1;
  goto L29414;}
 L18489: {
  if ((3 == (3 & x_1078X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_1078X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L60513;}
    else {
      goto L18495;}}
  else {
    goto L18495;}}
 L50013: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (n_1079X);
  arg0K0 = 1;
  goto L29414;}
 L50008: {
  if ((3 == (3 & n_1079X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_1079X))) + -4))))>>2))))) {
      goto L50013;}
    else {
      goto L50014;}}
  else {
    goto L50014;}}
 L50166: {
  SvalS = 5;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L50149: {
  if ((3 == (3 & n_1647X))) {
    if ((8 == (31 & ((((*((long *) ((((char *) (-3 + n_1647X))) + -4))))>>2))))) {
      goto L50166;}
    else {
      goto L50157;}}
  else {
    goto L50157;}}
 L42651: {
  val_1938X = integer_add(arg2_1083X, y_1084X);
  SvalS = val_1938X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42668: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1083X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1084X);
  arg0K0 = 2;
  goto L29414;}
 L11624: {
  b_1939X = arg0K0;
  lo_a_1940X = 65535 & a_1657X;
  lo_b_1941X = 65535 & b_1939X;
  hi_a_1942X = 65535 & (((a_1657X)>>16));
  hi_b_1943X = 65535 & (((b_1939X)>>16));
  lo_c_1944X = SMALL_MULTIPLY(lo_a_1940X, lo_b_1941X);
  v_1945X = SMALL_MULTIPLY(lo_a_1940X, hi_b_1943X);
  v_1946X = SMALL_MULTIPLY(lo_b_1941X, hi_a_1942X);
  mid_c_1947X = v_1945X + v_1946X;
  c_1948X = lo_c_1944X + (((mid_c_1947X)<<16));
  if ((0 < hi_a_1942X)) {
    if ((0 < hi_b_1943X)) {
      val_1949X = integer_multiply(arg2_1086X, y_1087X);
      SvalS = val_1949X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
    else {
      goto L11666;}}
  else {
    goto L11666;}}
 L51912: {
  val_1950X = integer_multiply(arg2_1086X, y_1087X);
  SvalS = val_1950X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L51929: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1086X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1087X);
  arg0K0 = 2;
  goto L29414;}
 L42940: {
  val_1951X = integer_subtract(arg2_1090X, y_1091X);
  SvalS = val_1951X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L42957: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1090X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1091X);
  arg0K0 = 2;
  goto L29414;}
 L11882: {
  b_1952X = arg0K0;
  c_1953X = a_1673X / b_1952X;
  x_1954X = 0 == (a_1673X % b_1952X);
  if (x_1954X) {
    if ((a_1095X < 0)) {
      if ((b_1096X < 0)) {s48_make_availableAgc(16);
        if ((536870911 < c_1953X)) {
          goto L62253;}
        else {
          if ((c_1953X < -536870912)) {
            goto L62253;}
          else {
            arg0K0 = (((c_1953X)<<2));
            goto L62248;}}}
      else {
        goto L11928;}}
    else {
      if ((b_1096X < 0)) {
        goto L11928;}
      else {s48_make_availableAgc(16);
        if ((536870911 < c_1953X)) {
          goto L62275;}
        else {
          if ((c_1953X < -536870912)) {
            goto L62275;}
          else {
            arg0K0 = (((c_1953X)<<2));
            goto L62270;}}}}}
  else {push_exception_setupB(5, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg2_1093X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (y_1094X);
    arg0K0 = 2;
    goto L29414;}}
 L52165: {
  if ((0 == (3 & arg2_1093X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20127;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1093X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20127;}}
 L52210: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1093X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1094X);
  arg0K0 = 2;
  goto L29414;}
 L43225: {
  b_1955X = integerE(arg2_1097X, y_1098X);
  if (b_1955X) {
    arg0K0 = 5;
    goto L43229;}
  else {
    arg0K0 = 1;
    goto L43229;}}
 L43245: {
  val_1956X = arg0K0;
  SvalS = val_1956X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43246: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1097X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1098X);
  arg0K0 = 2;
  goto L29414;}
 L43485: {
  if ((0 == (3 & arg2_1099X))) {
    if ((0 == (3 & y_1100X))) {
      if ((arg2_1099X < y_1100X)) {
        arg0K0 = 5;
        goto L43489;}
      else {
        arg0K0 = 1;
        goto L43489;}}
    else {
      v_1957X = s48_bignum_test((((char *) (-3 + y_1100X))));
      if ((1 == v_1957X)) {
        arg0K0 = 5;
        goto L43489;}
      else {
        arg0K0 = 1;
        goto L43489;}}}
  else {
    if ((0 == (3 & y_1100X))) {
      v_1958X = s48_bignum_test((((char *) (-3 + arg2_1099X))));
      if ((1 == v_1958X)) {
        arg0K0 = 1;
        goto L43489;}
      else {
        arg0K0 = 5;
        goto L43489;}}
    else {
      v_1959X = s48_bignum_compare((((char *) (-3 + arg2_1099X))), (((char *) (-3 + y_1100X))));
      if ((-1 == v_1959X)) {
        arg0K0 = 5;
        goto L43489;}
      else {
        arg0K0 = 1;
        goto L43489;}}}}
 L43505: {
  val_1960X = arg0K0;
  SvalS = val_1960X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43506: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1099X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1100X);
  arg0K0 = 2;
  goto L29414;}
 L43808: {
  if ((0 == (3 & y_1102X))) {
    if ((0 == (3 & arg2_1101X))) {
      if ((y_1102X < arg2_1101X)) {
        arg0K0 = 5;
        goto L43812;}
      else {
        arg0K0 = 1;
        goto L43812;}}
    else {
      v_1961X = s48_bignum_test((((char *) (-3 + arg2_1101X))));
      if ((1 == v_1961X)) {
        arg0K0 = 5;
        goto L43812;}
      else {
        arg0K0 = 1;
        goto L43812;}}}
  else {
    if ((0 == (3 & arg2_1101X))) {
      v_1962X = s48_bignum_test((((char *) (-3 + y_1102X))));
      if ((1 == v_1962X)) {
        arg0K0 = 1;
        goto L43812;}
      else {
        arg0K0 = 5;
        goto L43812;}}
    else {
      v_1963X = s48_bignum_compare((((char *) (-3 + y_1102X))), (((char *) (-3 + arg2_1101X))));
      if ((-1 == v_1963X)) {
        arg0K0 = 5;
        goto L43812;}
      else {
        arg0K0 = 1;
        goto L43812;}}}}
 L43828: {
  val_1964X = arg0K0;
  SvalS = val_1964X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43829: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1101X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1102X);
  arg0K0 = 2;
  goto L29414;}
 L44131: {
  b_1965X = integerLE(arg2_1103X, y_1104X);
  if (b_1965X) {
    arg0K0 = 5;
    goto L44135;}
  else {
    arg0K0 = 1;
    goto L44135;}}
 L44151: {
  val_1966X = arg0K0;
  SvalS = val_1966X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44152: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1103X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1104X);
  arg0K0 = 2;
  goto L29414;}
 L44425: {
  b_1967X = integerGE(arg2_1105X, y_1106X);
  if (b_1967X) {
    arg0K0 = 5;
    goto L44429;}
  else {
    arg0K0 = 1;
    goto L44429;}}
 L44445: {
  val_1968X = arg0K0;
  SvalS = val_1968X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44446: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1105X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1106X);
  arg0K0 = 2;
  goto L29414;}
 L12496: {
  b_1969X = arg0K0;
  c_1970X = a_1688X / b_1969X;
  if ((a_1110X < 0)) {
    if ((b_1111X < 0)) {
      goto L12542;}
    else {
      goto L12541;}}
  else {
    if ((b_1111X < 0)) {
      goto L12541;}
    else {
      goto L12542;}}}
 L44725: {
  val_1971X = Hinteger_op8341(arg2_1107X, y_1108X);
  SvalS = val_1971X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44935: {
  b_1972X = arg0K0;
  c_1973X = a_1689X % b_1972X;
  if ((a_1115X < 0)) {
    arg0K0 = (0 - c_1973X);
    goto L44939;}
  else {
    arg0K0 = c_1973X;
    goto L44939;}}
 L44901: {
  val_1974X = Hinteger_op8272(arg2_1112X, y_1113X);
  SvalS = val_1974X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L53515: {
  SvalS = 0;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L53509: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_1691X);
  arg0K0 = 1;
  goto L29414;}
 L52496: {
  x_1975X = arg0K0;s48_make_availableAgc(16);
  if ((536870911 < x_1975X)) {
    goto L52522;}
  else {
    if ((x_1975X < -536870912)) {
      goto L52522;}
    else {
      arg0K0 = (((x_1975X)<<2));
      goto L52517;}}}
 L23691: {
  length_1976X = arg0K0;
  extra_1977X = arg0K1;
  Stemp0S = x_1694X;s48_make_availableAgc(((((length_1976X + extra_1977X))<<2)));
  value_1978X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1978X))) {
    v_1979X = (char *) s48_long_to_bignum((((value_1978X)>>2)));
    arg2K0 = v_1979X;
    goto L23683;}
  else {
    arg2K0 = (((char *) (-3 + value_1978X)));
    goto L23683;}}
 L45550: {
  x_1980X = arg0K0;
  count_1981X = arg0K1;
  if ((0 == x_1980X)) {
    SvalS = (((count_1981X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    arg0K0 = (((x_1980X)>>1));
    arg0K1 = (count_1981X + (1 & x_1980X));
    goto L45550;}}
 L45635: {
  val_1982X = integer_bitwise_and(arg2_1141X, y_1142X);
  SvalS = val_1982X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45798: {
  val_1983X = integer_bitwise_ior(arg2_1143X, y_1144X);
  SvalS = val_1983X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L45961: {
  val_1984X = integer_bitwise_xor(arg2_1145X, y_1146X);
  SvalS = val_1984X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L52666: {
  v_1985X = (char *) s48_long_to_bignum(x_1705X);
  v_1986X = enter_bignum(v_1985X);
  arg0K0 = v_1986X;
  goto L52661;}
 L52661: {
  val_1987X = arg0K0;
  SvalS = val_1987X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L52688: {
  v_1988X = (char *) s48_long_to_bignum(result_1707X);
  v_1989X = enter_bignum(v_1988X);
  arg0K0 = v_1989X;
  goto L52683;}
 L52683: {
  val_1990X = arg0K0;
  SvalS = val_1990X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L52559: {
  x_1991X = arg0K0;
  y_1992X = arg0K1;
  y_1993X = ((y_1992X)>>2);
  merged_arg0K0 = x_1991X;
  merged_arg0K1 = y_1993X;
  shift_space_return_tag = 1;
  goto shift_space;
 shift_space_return_1:
  needed_1994X = shift_space0_return_value;
  Stemp0S = x_1991X;s48_make_availableAgc((((needed_1994X)<<2)));
  value_1995X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_1995X))) {
    v_1996X = (char *) s48_long_to_bignum((((value_1995X)>>2)));
    arg2K0 = v_1996X;
    goto L52633;}
  else {
    arg2K0 = (((char *) (-3 + value_1995X)));
    goto L52633;}}
 L52710: {
  v_1997X = (char *) s48_long_to_bignum(result_1707X);
  v_1998X = enter_bignum(v_1997X);
  arg0K0 = v_1998X;
  goto L52705;}
 L52705: {
  val_1999X = arg0K0;
  SvalS = val_1999X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L52741: {
  x_2000X = arg2K0;
  external_bignum_2001X = (char *) s48_bignum_arithmetic_shift(x_2000X, y_1709X);
  v_2002X = s48_bignum_fits_in_word_p(external_bignum_2001X, 30, 1);
  if (v_2002X) {
    n_2003X = s48_bignum_to_long(external_bignum_2001X);
    arg0K0 = (((n_2003X)<<2));
    goto L52567;}
  else {
    v_2004X = enter_bignum(external_bignum_2001X);
    arg0K0 = v_2004X;
    goto L52567;}}
 L52568: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg2_1147X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_1148X);
  arg0K0 = 2;
  goto L29414;}
 L34845: {
  i_2005X = arg0K0;
  rest_list_2006X = arg0K1;
  if ((25 == rest_list_2006X)) {
    SvalS = new_1176X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    *((long *) ((((char *) (-3 + new_1176X))) + (((i_2005X)<<2)))) = (long) ((*((long *) (((char *) (-3 + rest_list_2006X))))));
    arg0K0 = (1 + i_2005X);
    arg0K1 = (*((long *) ((((char *) (-3 + rest_list_2006X))) + 4)));
    goto L34845;}}
 L35258: {
  i_2007X = arg0K0;
  if ((i_2007X < 0)) {
    SvalS = x_1726X;
    Scode_pointerS = ((Scode_pointerS) + 2);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    addr_2008X = (((char *) (-3 + x_1726X))) + (((i_2007X)<<2));S48_WRITE_BARRIER(x_1726X, addr_2008X, value_1727X);
    *((long *) addr_2008X) = (long) (value_1727X);
    arg0K0 = (-1 + i_2007X);
    goto L35258;}}
 L46274: {
  i_2009X = arg0K0;
  if ((i_2009X < 0)) {
    SvalS = vector_1731X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    *((unsigned char *) ((((char *) (-3 + vector_1731X))) + i_2009X)) = (unsigned char) (init_1211X);
    arg0K0 = (-1 + i_2009X);
    goto L46274;}}
 L46459: {
  i_2010X = arg0K0;
  if ((i_2010X < 0)) {
    SvalS = vector_1735X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = init_1225X;
    goto L46546;}}
 L27049: {
  foo_2011X = arg0K0;
  if ((1 == foo_2011X)) {
    if ((3 == (3 & bucket_1748X))) {
      arg0K0 = (-4 & bucket_1748X);
      goto L27054;}
    else {
      arg0K0 = bucket_1748X;
      goto L27054;}}
  else {
    s2_2012X = *((long *) (((char *) (-3 + foo_2011X))));
    len_2013X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_1249X))) + -4))))>>8);
    if ((len_2013X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_2012X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_2012X))), (void *)(((char *) (-3 + string_1249X))),len_2013X)))) {
        arg0K0 = foo_2011X;
        goto L42532;}
      else {
        goto L27069;}}
    else {
      goto L27069;}}}
 L50881: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L46647: {
  index_2014X = arg0K0;
  temp_2015X = index_2014X < (Snumber_of_channelsS);
  if (temp_2015X) {
    goto L46762;}
  else {
    x_2016X = add_more_channels(index_2014X);
    if (x_2016X) {
      goto L46762;}
    else {
      arg0K0 = 1;
      arg0K1 = 9;
      goto L46651;}}}
 L46709: {
  v_2017X = ps_open_fd(filename_1756X, 1, &v_2018X);
  arg0K0 = v_2017X;
  arg0K1 = v_2018X;
  goto L46718;}
 L46718: {
  channel_2019X = arg0K0;
  status_2020X = arg0K1;
  if ((status_2020X == NO_ERRORS)) {
    arg0K0 = channel_2019X;
    goto L46647;}
  else {push_exception_setupB(24, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg4_1262X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((status_2020X)<<2)));
    arg0K0 = 3;
    goto L29414;}}
 L54386: {
  waitP_2021X = arg3K0;
  start_2022X = ((arg3_1271X)>>2);
  count_2023X = ((arg2_1270X)>>2);
  v_2024X = 4 == (*((long *) (((char *) (-3 + arg5_1273X)))));
  if (v_2024X) {
    if ((3 == (3 & arg4_1272X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1272X))) + -4))))>>2))))) {
        if ((3 == (3 & arg4_1272X))) {
          if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1272X))) + -4)))))) {
            if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1272X))) + -4))))>>8)) < (start_2022X + count_2023X))) {
              goto L47172;}
            else {
              got_2025X = ps_read_fd(((((*((long *) ((((char *) (-3 + arg5_1273X))) + 8))))>>2)), ((((char *) (-3 + arg4_1272X))) + start_2022X), count_2023X, waitP_2021X, &eofP_2026X, &pendingP_2027X, &status_2028X);
              if ((status_2028X == NO_ERRORS)) {
                if (eofP_2026X) {
                  if (pendingP_2027X) {
                    addr_2029X = (((char *) (-3 + arg5_1273X))) + 20;S48_WRITE_BARRIER(arg5_1273X, addr_2029X, 5);
                    *((long *) addr_2029X) = (long) (5);
                    arg0K0 = 21;
                    goto L47171;}
                  else {
                    arg0K0 = 21;
                    goto L47171;}}
                else {
                  if (pendingP_2027X) {
                    addr_2030X = (((char *) (-3 + arg5_1273X))) + 20;S48_WRITE_BARRIER(arg5_1273X, addr_2030X, 5);
                    *((long *) addr_2030X) = (long) (5);
                    arg0K0 = 1;
                    goto L47171;}
                  else {
                    arg0K0 = (((got_2025X)<<2));
                    goto L47171;}}}
              else {
                addr_2031X = s48_allocate_small(8);
                *((long *) addr_2031X) = (long) (1046);
                x_2032X = 3 + (((long) (addr_2031X + 4)));
                *((long *) (((char *) (-3 + x_2032X)))) = (long) ((((status_2028X)<<2)));
                arg0K0 = x_2032X;
                goto L47171;}}}
          else {
            goto L47172;}}
        else {
          goto L47172;}}
      else {
        goto L47172;}}
    else {
      goto L47172;}}
  else {
    goto L47172;}}
 L14868: {
  arg0K0 = (*((long *) ((((char *) (-3 + channel_1297X))) + 20)));
  goto L54738;}
 L14898: {
  val_2033X = *((long *) ((((char *) (-3 + ch_1768X))) + 16));
  addr_2034X = (((char *) (-3 + prev_1769X))) + 16;S48_WRITE_BARRIER(prev_1769X, addr_2034X, val_2033X);
  *((long *) addr_2034X) = (long) (val_2033X);
  addr_2035X = (((char *) (-3 + ch_1768X))) + 16;S48_WRITE_BARRIER(ch_1768X, addr_2035X, 1);
  *((long *) addr_2035X) = (long) (1);
  arg0K0 = (*((long *) ((((char *) (-3 + ch_1768X))) + 20)));
  goto L54738;}
 L21526: {
  v_2036X = arg0K0;
  arg0K0 = (-1 + i_1774X);
  arg0K1 = v_2036X;
  goto L21512;}
 L47731: {
  if ((1 == proposal_1307X)) {
    goto L47743;}
  else {
    addr_2037X = ((char *) (-3 + proposal_1307X));S48_WRITE_BARRIER(proposal_1307X, addr_2037X, 5);
    *((long *) addr_2037X) = (long) (5);
    goto L47743;}}
 L13531: {
  i_2038X = arg0K0;
  stob_2039X = *((long *) ((((char *) (-3 + log_1783X))) + (((i_2038X)<<2))));
  if ((1 == stob_2039X)) {
    copies_2040X = *((long *) ((((char *) (-3 + proposal_1308X))) + 12));
    arg0K0 = copies_2040X;
    goto L48094;}
  else {
    value_2041X = *((long *) ((((char *) (-3 + log_1783X))) + (8 + (((i_2038X)<<2)))));
    verify_2042X = *((long *) ((((char *) (-3 + log_1783X))) + (12 + (((i_2038X)<<2)))));
    if ((29 == verify_2042X)) {
      if ((3 == (3 & stob_2039X))) {
        if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_2039X))) + -4)))))) {
          goto L13583;}
        else {
          goto L47994;}}
      else {
        goto L47994;}}
    else {
      if ((verify_2042X == ((((*((unsigned char *) ((((char *) (-3 + stob_2039X))) + ((((*((long *) ((((char *) (-3 + log_1783X))) + (4 + (((i_2038X)<<2)))))))>>2))))))<<2)))) {
        if ((verify_2042X == value_2041X)) {
          goto L13583;}
        else {
          if ((3 == (3 & stob_2039X))) {
            if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_2039X))) + -4)))))) {
              goto L13583;}
            else {
              goto L47994;}}
          else {
            goto L47994;}}}
      else {
        goto L47994;}}}}
 L13345: {
  arg0K0 = (4 + i_1781X);
  goto L13293;}
 L47994: {
RELEASE_PROPOSAL_LOCK();
  x_2043X = Scurrent_threadS;
  addr_2044X = (((char *) (-3 + x_2043X))) + 12;S48_WRITE_BARRIER(x_2043X, addr_2044X, 1);
  *((long *) addr_2044X) = (long) (1);
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L13008: {
  vector_2045X = arg0K0;
  if ((1 == vector_2045X)) {
    ps_error("Out of space, unable to allocate", 0);
    arg0K0 = vector_2045X;
    goto L12971;}
  else {
    arg0K0 = vector_2045X;
    goto L12971;}}
 L19663: {
  arg0K0 = (4 + i_1795X);
  goto L19641;}
 L19837: {
  arg0K0 = (4 + i_1799X);
  goto L19817;}
 L56075: {
  minutesP_2046X = arg3K0;
  pending_interruptP_return_tag = 6;
  goto pending_interruptP;
 pending_interruptP_return_6:
  x_2047X = pending_interruptP0_return_value;
  if (x_2047X) {
    goto L56105;}
  else {
    if ((0 == (Spending_interruptsS))) {s48_wait_for_event((((arg2_1399X)>>2)), minutesP_2046X);
      goto L56105;}
    else {
      goto L56105;}}}
 L37509: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (proc_1820X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (name_1819X);
  arg0K0 = 2;
  goto L29414;}
 L54993: {
  val_2048X = arg0K0;
  SvalS = val_2048X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L40748: {
  table_2049X = arg0K0;
  v_2050X = Haction4940(arg2_1408X);
  index_2051X = 1023 & v_2050X;
  link_2052X = *((long *) ((((char *) (-3 + table_2049X))) + (((index_2051X)<<2))));
  if ((0 == (3 & link_2052X))) {
    arg0K0 = (3 + (-4 & link_2052X));
    goto L26547;}
  else {
    arg0K0 = link_2052X;
    goto L26547;}}
 L48547: {
  l_2053X = arg0K0;
  i_2054X = arg0K1;
  if ((i_2054X < 0)) {
    SvalS = obj_1837X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    d_2055X = *((long *) (((char *) (-3 + l_2053X))));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = (((d_2055X)>>8));
    goto L48618;}}
 L30095: {
  x_2056X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2056X);
  arg0K0 = 2;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L28842;}
 L30394: {
  x_2057X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2057X);
  arg0K0 = 2;
  arg0K1 = 25;
  arg0K2 = 0;
  goto L28842;}
 L38179: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1851X);
  arg0K0 = 1;
  goto L29414;}
 L38381: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1858X);
  arg0K0 = 1;
  goto L29414;}
 L38596: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (byte_1863X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1864X);
  arg0K0 = 2;
  goto L29414;}
 L38961: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1870X);
  arg0K0 = 1;
  goto L29414;}
 L38817: {
  i_2058X = arg0K0;
  p_2059X = *((long *) ((((char *) (-3 + port_1870X))) + 32));
  codec_2060X = *((long *) ((((char *) (-3 + port_1870X))) + 4));
  l_2061X = ((p_2059X)>>2);
  if ((i_2058X == l_2061X)) {
    val_2062X = ((i_2058X)<<2);
    addr_2063X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2063X, val_2062X);
    *((long *) addr_2063X) = (long) (val_2062X);push_exception_setupB(13, 2);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (port_1870X);
    arg0K0 = 1;
    goto L29414;}
  else {
    if ((0 == (3 & codec_2060X))) {
      encoding_okP_2064X = decode_scalar_value((((codec_2060X)>>2)), ((((char *) (-3 + b_1871X))) + i_2058X), (l_2061X - i_2058X), &okP_2065X, &incompleteP_2066X, &value_2067X, &count_2068X);
      if (encoding_okP_2064X) {
        if (okP_2065X) {
          if (incompleteP_2066X) {
            val_2069X = ((i_2058X)<<2);
            addr_2070X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2070X, val_2069X);
            *((long *) addr_2070X) = (long) (val_2069X);push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1870X);
            arg0K0 = 1;
            goto L29414;}
          else {
            if ((1 == (*((long *) ((((char *) (-3 + port_1870X))) + 8))))) {
              goto L38871;}
            else {
              if ((13 == value_2067X)) {
                addr_2071X = (((char *) (-3 + port_1870X))) + 36;S48_WRITE_BARRIER(port_1870X, addr_2071X, 5);
                *((long *) addr_2071X) = (long) (5);
                val_2072X = (((i_2058X + count_2068X))<<2);
                addr_2073X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2073X, val_2072X);
                *((long *) addr_2073X) = (long) (val_2072X);
                SvalS = 2569;
                Scode_pointerS = ((Scode_pointerS) + 2);
                arg2K0 = (Scode_pointerS);
                goto L31717;}
              else {
                if ((10 == value_2067X)) {
                  if ((1 == (*((long *) ((((char *) (-3 + port_1870X))) + 36))))) {
                    goto L38871;}
                  else {
                    addr_2074X = (((char *) (-3 + port_1870X))) + 36;S48_WRITE_BARRIER(port_1870X, addr_2074X, 1);
                    *((long *) addr_2074X) = (long) (1);
                    arg0K0 = (i_2058X + count_2068X);
                    goto L38817;}}
                else {
                  goto L38871;}}}}}
        else {
          val_2075X = ((i_2058X)<<2);
          addr_2076X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2076X, val_2075X);
          *((long *) addr_2076X) = (long) (val_2075X);push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1870X);
          arg0K0 = 1;
          goto L29414;}}
      else {push_exception_setupB(5, 2);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (port_1870X);
        arg0K0 = 1;
        goto L29414;}}
    else {
      val_2077X = ((i_2058X)<<2);
      addr_2078X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2078X, val_2077X);
      *((long *) addr_2078X) = (long) (val_2077X);push_exception_setupB(13, 2);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (port_1870X);
      arg0K0 = 1;
      goto L29414;}}}
 L39552: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1872X);
  arg0K0 = 1;
  goto L29414;}
 L39408: {
  i_2079X = arg0K0;
  p_2080X = *((long *) ((((char *) (-3 + port_1872X))) + 32));
  codec_2081X = *((long *) ((((char *) (-3 + port_1872X))) + 4));
  l_2082X = ((p_2080X)>>2);
  if ((i_2079X == l_2082X)) {push_exception_setupB(13, 2);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (port_1872X);
    arg0K0 = 1;
    goto L29414;}
  else {
    if ((0 == (3 & codec_2081X))) {
      encoding_okP_2083X = decode_scalar_value((((codec_2081X)>>2)), ((((char *) (-3 + b_1873X))) + i_2079X), (l_2082X - i_2079X), &okP_2084X, &incompleteP_2085X, &value_2086X, &count_2087X);
      if (encoding_okP_2083X) {
        if (okP_2084X) {
          if (incompleteP_2085X) {push_exception_setupB(13, 2);
            SstackS = ((SstackS) + -4);
            *((long *) (SstackS)) = (long) (port_1872X);
            arg0K0 = 1;
            goto L29414;}
          else {
            if ((1 == (*((long *) ((((char *) (-3 + port_1872X))) + 8))))) {
              SvalS = (9 + (((value_2086X)<<8)));
              Scode_pointerS = ((Scode_pointerS) + 2);
              arg2K0 = (Scode_pointerS);
              goto L31717;}
            else {
              if ((13 == value_2086X)) {
                SvalS = 2569;
                Scode_pointerS = ((Scode_pointerS) + 2);
                arg2K0 = (Scode_pointerS);
                goto L31717;}
              else {
                if ((10 == value_2086X)) {
                  if ((1 == (*((long *) ((((char *) (-3 + port_1872X))) + 36))))) {
                    SvalS = (9 + (((value_2086X)<<8)));
                    Scode_pointerS = ((Scode_pointerS) + 2);
                    arg2K0 = (Scode_pointerS);
                    goto L31717;}
                  else {
                    arg0K0 = (i_2079X + count_2087X);
                    goto L39408;}}
                else {
                  SvalS = (9 + (((value_2086X)<<8)));
                  Scode_pointerS = ((Scode_pointerS) + 2);
                  arg2K0 = (Scode_pointerS);
                  goto L31717;}}}}}
        else {push_exception_setupB(13, 2);
          SstackS = ((SstackS) + -4);
          *((long *) (SstackS)) = (long) (port_1872X);
          arg0K0 = 1;
          goto L29414;}}
      else {push_exception_setupB(5, 2);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (port_1872X);
        arg0K0 = 1;
        goto L29414;}}
    else {push_exception_setupB(13, 2);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (port_1872X);
      arg0K0 = 1;
      goto L29414;}}}
 L40109: {
push_exception_setupB(5, 2);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (Kchar_1874X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (port_1875X);
  arg0K0 = 2;
  goto L29414;}
 L40055: {
  codec_okP_2088X = encode_scalar_value((((codec_1876X)>>2)), (((Kchar_1874X)>>8)), ((((char *) (-3 + b_1877X))) + i_1878X), (l_1879X - i_1878X), &encoding_okP_2089X, &out_of_spaceP_2090X, &count_2091X);
  if (codec_okP_2088X) {
    if (encoding_okP_2089X) {
      if (out_of_spaceP_2090X) {push_exception_setupB(13, 2);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (Kchar_1874X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (port_1875X);
        arg0K0 = 2;
        goto L29414;}
      else {
        val_2092X = (((i_1878X + count_2091X))<<2);
        addr_2093X = (((char *) (-3 + port_1875X))) + 28;S48_WRITE_BARRIER(port_1875X, addr_2093X, val_2092X);
        *((long *) addr_2093X) = (long) (val_2092X);
        SvalS = 13;
        Scode_pointerS = ((Scode_pointerS) + 2);
        arg2K0 = (Scode_pointerS);
        goto L31717;}}
    else {push_exception_setupB(13, 2);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (Kchar_1874X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (port_1875X);
      arg0K0 = 2;
      goto L29414;}}
  else {push_exception_setupB(5, 2);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (Kchar_1874X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (port_1875X);
    arg0K0 = 2;
    goto L29414;}}
 L50788: {
  arg0K0 = (*((long *) ((((char *) (-3 + stuff_1891X))) + 4)));
  goto L50782;}
 L22834: {
  if ((3 == (3 & thing_1892X))) {
    if ((16 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {write_vm_string(thing_1892X, out_1519X);
      goto L50788;}
    else {
      goto L22838;}}
  else {
    goto L22838;}}
 L50773: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, out_1519X, ignoreXX) }
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L28460: {
  SvalS = (*((long *) ((((char *) (-3 + handlers_1522X))) + (((i_1520X)<<2)))));
  obj_2094X = SvalS;
  if ((3 == (3 & obj_2094X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_2094X))) + -4))))>>2))))) {
      goto L28477;}
    else {
      goto L28516;}}
  else {
    goto L28516;}}
 L28502: {
  ps_error("interrupt handler is not a vector", 0);
  goto L28460;}
 L15079: {
  x_2095X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2095X);
  arg0K0 = 3;
  goto L28446;}
 L15099: {
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (channel_1898X);
  x_2096X = *((long *) ((((char *) (-3 + channel_1898X))) + 24));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2096X);
  x_2097X = *((long *) ((((char *) (-3 + channel_1898X))) + 20));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2097X);
  n_2098X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_2098X)<<2)));
  arg0K0 = 4;
  goto L28446;}
 L15284: {
  v_2099X = arg0K0;
  Sos_signal_ring_startS = v_2099X;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((sig_1900X)<<2)));
  if (((Sos_signal_ring_readyS) == (Sos_signal_ring_startS))) {
    goto L15131;}
  else {
    Spending_interruptsS = (32 | (Spending_interruptsS));
    if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
      s48_Sstack_limitS = (Sreal_stack_limitS);
      if ((s48_Spending_eventsPS)) {
        s48_Sstack_limitS = (((char *) -1));
        goto L15131;}
      else {
        goto L15131;}}
    else {
      s48_Sstack_limitS = (((char *) -1));
      goto L15131;}}}
 L9516: {
  i_2100X = arg0K0;
  offset_2101X = arg0K1;
  if ((i_2100X == total_count_1556X)) {
    arg0K0 = offset_2101X;
    goto L64106;}
  else {
    env_2102X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2101X)))))<<2))));
    count_2103X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_2101X)));
    arg0K0 = count_2103X;
    arg0K1 = i_2100X;
    arg0K2 = (2 + offset_2101X);
    goto L9533;}}
 L64106: {
  bytes_used_2104X = arg0K0;
  SvalS = new_env_1003X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_2104X));
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L10581: {
  i_2105X = arg0K0;
  offset_2106X = arg0K1;
  if ((i_2105X == total_count_1565X)) {
    arg0K0 = offset_2106X;
    goto L64097;}
  else {
    env_2107X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2106X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_2106X))))))<<2))));
    index_2108X = 2 + offset_2106X;
    count_2109X = ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_2108X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_2108X))));
    arg0K0 = count_2109X;
    arg0K1 = i_2105X;
    arg0K2 = (4 + offset_2106X);
    goto L10598;}}
 L64097: {
  bytes_used_2110X = arg0K0;
  SvalS = new_env_1009X;
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_2110X));
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L58936: {
  v_2111X = arg0K0;
  ScontS = (cont_1914X + (4 + (((v_2111X)<<2))));
  v_2112X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  v_2113X = s48_invoke_native_continuation((((long) (((char *) v_2112X)))), protocol_skip_1913X);
  arg0K0 = v_2113X;
  goto L58795;}
 L29775: {
  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);push_exception_setupB(5, 0);
  x_2114X = SvalS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2114X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (cont_1917X);
  arg0K0 = 2;
  goto L29414;}
 L28955: {
  v_2115X = arg0K0;
  SvalS = v_2115X;
  arg0K0 = cont_1632X;
  goto L29760;}
 L33170: {
  x_2116X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2116X);
  Scode_pointerS = ((Scode_pointerS) + 4);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L33152: {
  stack_nargs_2117X = arg0K0;
  l_2118X = arg0K1;
  if ((count_1637X == stack_nargs_2117X)) {
    arg0K0 = l_2118X;
    goto L33170;}
  else {
    x_2119X = *((long *) (((char *) (-3 + l_2118X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2119X);
    arg0K0 = (1 + stack_nargs_2117X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_2118X))) + 4)));
    goto L33152;}}
 L33075: {
  loc_2120X = arg2K0;
  arg_2121X = arg2K1;
  if ((arg_2121X < arg_top_1936X)) {
    SstackS = ((SstackS) + (0 - (((stack_nargs_1933X)<<2))));
    if ((0 == list_arg_count_1935X)) {
      goto L33062;}
    else {
      merged_arg0K0 = list_args_1934X;
      merged_arg0K1 = list_arg_count_1935X;
      push_list_return_tag = 3;
      goto push_list;
     push_list_return_3:
      goto L33062;}}
  else {
    *((long *) loc_2120X) = (long) ((*((long *) arg_2121X)));
    arg2K0 = (loc_2120X + -4);
    arg2K1 = (arg_2121X + -4);
    goto L33075;}}
 L18495: {
  if ((3 == (3 & x_1078X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + x_1078X))) + -4))))>>2))))) {
      arg0K0 = 5;
      goto L60513;}
    else {
      arg0K0 = 1;
      goto L60513;}}
  else {
    arg0K0 = 1;
    goto L60513;}}
 L50014: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L50157: {
  if ((3 == (3 & n_1647X))) {
    if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_1647X))) + -4))))>>2))))) {
      goto L50166;}
    else {
      goto L50167;}}
  else {
    goto L50167;}}
 L11666: {
  if ((536870911 < lo_c_1944X)) {
    val_2122X = integer_multiply(arg2_1086X, y_1087X);
    SvalS = val_2122X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    if ((lo_c_1944X < 0)) {
      val_2123X = integer_multiply(arg2_1086X, y_1087X);
      SvalS = val_2123X;
      Scode_pointerS = ((Scode_pointerS) + 1);
      arg2K0 = (Scode_pointerS);
      goto L31717;}
    else {
      if ((8192 < mid_c_1947X)) {
        val_2124X = integer_multiply(arg2_1086X, y_1087X);
        SvalS = val_2124X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        if ((a_1088X < 0)) {
          if ((b_1089X < 0)) {s48_make_availableAgc(16);
            if ((536870911 < c_1948X)) {
              goto L62150;}
            else {
              if ((c_1948X < -536870912)) {
                goto L62150;}
              else {
                arg0K0 = (((c_1948X)<<2));
                goto L62145;}}}
          else {
            goto L11694;}}
        else {
          if ((b_1089X < 0)) {
            goto L11694;}
          else {s48_make_availableAgc(16);
            if ((536870911 < c_1948X)) {
              goto L62172;}
            else {
              if ((c_1948X < -536870912)) {
                goto L62172;}
              else {
                arg0K0 = (((c_1948X)<<2));
                goto L62167;}}}}}}}}
 L62253: {
  v_2125X = (char *) s48_long_to_bignum(c_1953X);
  v_2126X = enter_bignum(v_2125X);
  arg0K0 = v_2126X;
  goto L62248;}
 L62248: {
  val_2127X = arg0K0;
  SvalS = val_2127X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L11928: {
  x_2128X = 0 - c_1953X;s48_make_availableAgc(16);
  if ((536870911 < x_2128X)) {
    goto L62231;}
  else {
    if ((x_2128X < -536870912)) {
      goto L62231;}
    else {
      arg0K0 = (((x_2128X)<<2));
      goto L62226;}}}
 L62275: {
  v_2129X = (char *) s48_long_to_bignum(c_1953X);
  v_2130X = enter_bignum(v_2129X);
  arg0K0 = v_2130X;
  goto L62270;}
 L62270: {
  val_2131X = arg0K0;
  SvalS = val_2131X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L20127: {
  length0_2132X = arg0K0;
  extra0_2133X = arg0K1;
  if ((0 == (3 & y_1094X))) {
    arg0K0 = 3;
    goto L20135;}
  else {
    arg0K0 = 0;
    goto L20135;}}
 L43229: {
  val_2134X = arg0K0;
  SvalS = val_2134X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43489: {
  val_2135X = arg0K0;
  SvalS = val_2135X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L43812: {
  val_2136X = arg0K0;
  SvalS = val_2136X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44135: {
  val_2137X = arg0K0;
  SvalS = val_2137X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44429: {
  val_2138X = arg0K0;
  SvalS = val_2138X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L12542: {
  if ((536870911 < c_1970X)) {
    val_2139X = Hinteger_op8341(arg2_1107X, y_1108X);
    SvalS = val_2139X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    SvalS = (((c_1970X)<<2));
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L12541: {
  SvalS = ((((0 - c_1970X))<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L44939: {
  n_2140X = arg0K0;
  SvalS = (((n_2140X)<<2));
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L52522: {
  v_2141X = (char *) s48_long_to_bignum(x_1975X);
  v_2142X = enter_bignum(v_2141X);
  arg0K0 = v_2142X;
  goto L52517;}
 L52517: {
  val_2143X = arg0K0;
  SvalS = val_2143X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L23683: {
  x_2144X = arg2K0;
  v_2145X = s48_bignum_test(x_2144X);
  if ((-1 == v_2145X)) {
    v_2146X = (char *) s48_bignum_negate(x_2144X);
    arg2K0 = v_2146X;
    goto L23685;}
  else {
    arg2K0 = x_2144X;
    goto L23685;}}
 L52633: {
  x_2147X = arg2K0;
  external_bignum_2148X = (char *) s48_bignum_arithmetic_shift(x_2147X, y_1993X);
  v_2149X = s48_bignum_fits_in_word_p(external_bignum_2148X, 30, 1);
  if (v_2149X) {
    n_2150X = s48_bignum_to_long(external_bignum_2148X);
    arg0K0 = (((n_2150X)<<2));
    goto L52561;}
  else {
    v_2151X = enter_bignum(external_bignum_2148X);
    arg0K0 = v_2151X;
    goto L52561;}}
 L52567: {
  val_2152X = arg0K0;
  SvalS = val_2152X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L46546: {
  bits_2153X = arg0K0;
  j_2154X = arg0K1;
  shifted_2155X = arg0K2;
  if ((j_2154X < 4)) {
    *((unsigned char *) ((((char *) (-3 + vector_1735X))) + ((((i_2010X)<<2)) + j_2154X))) = (unsigned char) ((255 & shifted_2155X));
    arg0K0 = (8 + bits_2153X);
    arg0K1 = (1 + j_2154X);
    arg0K2 = ((long)(((unsigned long)shifted_2155X)>>8));
    goto L46546;}
  else {
    arg0K0 = (-1 + i_2010X);
    goto L46459;}}
 L27054: {
  b_2156X = arg0K0;
  addr_2157X = s48_allocate_small(12);
  *((long *) addr_2157X) = (long) (2054);
  x_2158X = 3 + (((long) (addr_2157X + 4)));
  *((long *) (((char *) (-3 + x_2158X)))) = (long) (string_1249X);
  *((long *) ((((char *) (-3 + x_2158X))) + 4)) = (long) (b_2156X);
  if ((3 == (3 & x_2158X))) {
    arg0K0 = (-4 & x_2158X);
    goto L27060;}
  else {
    arg0K0 = x_2158X;
    goto L27060;}}
 L42532: {
  val_2159X = arg0K0;
  SvalS = val_2159X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L27069: {
  link_2160X = *((long *) ((((char *) (-3 + foo_2011X))) + 4));
  if ((0 == (3 & link_2160X))) {
    arg0K0 = (3 + (-4 & link_2160X));
    goto L27049;}
  else {
    arg0K0 = link_2160X;
    goto L27049;}}
 L46762: {
  if ((1 == (*((Svm_channelsS) + index_2014X)))) {
    channel_2161X = make_channel((((mode_1263X)<<2)), arg3_1261X, (((index_2014X)<<2)), close_silentlyP_1264X, 1, 1, 1, 0);
    *((Svm_channelsS) + index_2014X) = channel_2161X;
    arg0K0 = channel_2161X;
    arg0K1 = 9;
    goto L46651;}
  else {
    arg0K0 = 1;
    arg0K1 = 11;
    goto L46651;}}
 L46651: {
  channel_2162X = arg0K0;
  reason_2163X = arg0K1;
  if ((1 == channel_2162X)) {
    if ((3 == (3 & arg4_1262X))) {
      if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1262X))) + -4))))>>2))))) {
        if ((1 == mode_1263X)) {
          goto L46796;}
        else {
          if ((3 == mode_1263X)) {
            goto L46796;}
          else {
            v_2164X = ps_close_fd(index_2014X);
            arg0K0 = v_2164X;
            goto L46791;}}}
      else {push_exception_setupB(reason_2163X, 1);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) (arg4_1262X);
        SstackS = ((SstackS) + -4);
        *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
        arg0K0 = 2;
        goto L29414;}}
    else {push_exception_setupB(reason_2163X, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (arg4_1262X);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
      arg0K0 = 2;
      goto L29414;}}
  else {
    SvalS = channel_2162X;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}}
 L47172: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg5_1273X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (arg4_1272X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((start_2022X)<<2)));
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((count_2023X)<<2)));
  if (waitP_2021X) {
    arg0K0 = 5;
    goto L47188;}
  else {
    arg0K0 = 1;
    goto L47188;}}
 L47171: {
  val_2165X = arg0K0;
  SvalS = val_2165X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L47743: {
  x_2166X = Scurrent_threadS;
  addr_2167X = (((char *) (-3 + x_2166X))) + 12;S48_WRITE_BARRIER(x_2166X, addr_2167X, proposal_1307X);
  *((long *) addr_2167X) = (long) (proposal_1307X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L48094: {
  copies_2168X = arg0K0;
  if ((1 == copies_2168X)) {
    log_2169X = *((long *) ((((char *) (-3 + proposal_1308X))) + 4));
    arg0K0 = 0;
    goto L12321;}
  else {
    thing_2170X = *((long *) ((((char *) (-3 + copies_2168X))) + 8));
    if ((3 == (3 & thing_2170X))) {
      if ((0 == (128 & (*((long *) ((((char *) (-3 + thing_2170X))) + -4)))))) {
        arg0K0 = (*((long *) ((((char *) (-3 + copies_2168X))) + 20)));
        goto L48094;}
      else {
        goto L47994;}}
    else {
      goto L47994;}}}
 L13583: {
  arg0K0 = (4 + i_2038X);
  goto L13531;}
 L12971: {
  entry_2171X = arg0K0;
  proposal_2172X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  value_2173X = Stemp0S;
  Stemp0S = 1;
  addr_2174X = ((char *) (-3 + entry_2171X));S48_WRITE_BARRIER(entry_2171X, addr_2174X, value_2173X);
  *((long *) addr_2174X) = (long) (value_2173X);
  addr_2175X = (((char *) (-3 + entry_2171X))) + 4;S48_WRITE_BARRIER(entry_2171X, addr_2175X, from_index_1789X);
  *((long *) addr_2175X) = (long) (from_index_1789X);
  value_2176X = Stemp1S;
  Stemp1S = 1;
  addr_2177X = (((char *) (-3 + entry_2171X))) + 8;S48_WRITE_BARRIER(entry_2171X, addr_2177X, value_2176X);
  *((long *) addr_2177X) = (long) (value_2176X);
  addr_2178X = (((char *) (-3 + entry_2171X))) + 12;S48_WRITE_BARRIER(entry_2171X, addr_2178X, to_index_1790X);
  *((long *) addr_2178X) = (long) (to_index_1790X);
  addr_2179X = (((char *) (-3 + entry_2171X))) + 16;S48_WRITE_BARRIER(entry_2171X, addr_2179X, count_1791X);
  *((long *) addr_2179X) = (long) (count_1791X);
  value_2180X = *((long *) ((((char *) (-3 + proposal_2172X))) + 12));
  addr_2181X = (((char *) (-3 + entry_2171X))) + 20;S48_WRITE_BARRIER(entry_2171X, addr_2181X, value_2180X);
  *((long *) addr_2181X) = (long) (value_2180X);
  addr_2182X = (((char *) (-3 + proposal_2172X))) + 12;S48_WRITE_BARRIER(proposal_2172X, addr_2182X, entry_2171X);
  *((long *) addr_2182X) = (long) (entry_2171X);
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L56105: {
  SvalS = 13;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L26547: {
  bucket_2183X = arg0K0;
  arg0K0 = 1;
  arg0K1 = bucket_2183X;
  goto L26554;}
 L48618: {
  bits_2184X = arg0K0;
  j_2185X = arg0K1;
  shifted_2186X = arg0K2;
  if ((j_2185X < 4)) {
    *((unsigned char *) ((((char *) (-3 + obj_1837X))) + ((((i_2054X)<<2)) + j_2185X))) = (unsigned char) ((255 & shifted_2186X));
    arg0K0 = (8 + bits_2184X);
    arg0K1 = (1 + j_2185X);
    arg0K2 = ((long)(((unsigned long)shifted_2186X)>>8));
    goto L48618;}
  else {
    arg0K0 = (*((long *) ((((char *) (-3 + l_2053X))) + 4)));
    arg0K1 = (-1 + i_2054X);
    goto L48547;}}
 L38871: {
  addr_2187X = (((char *) (-3 + port_1870X))) + 36;S48_WRITE_BARRIER(port_1870X, addr_2187X, 1);
  *((long *) addr_2187X) = (long) (1);
  val_2188X = (((i_2058X + count_2068X))<<2);
  addr_2189X = (((char *) (-3 + port_1870X))) + 28;S48_WRITE_BARRIER(port_1870X, addr_2189X, val_2188X);
  *((long *) addr_2189X) = (long) (val_2188X);
  SvalS = (9 + (((value_2067X)<<8)));
  Scode_pointerS = ((Scode_pointerS) + 2);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L22838: {
  if ((3 == (3 & thing_1892X))) {
    if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {write_vm_string((*((long *) (((char *) (-3 + thing_1892X))))), out_1519X);
      goto L50788;}
    else {
      goto L22844;}}
  else {
    goto L22844;}}
 L28477: {
  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 L28479;}
    else {
      goto L28479;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    goto L28479;}}
 L28516: {
  ps_error("interrupt handler is not a closure", 1, i_1520X);
  goto L28477;}
 L15131: {
  n_2190X = Senabled_interruptsS;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) ((((n_2190X)<<2)));
  arg0K0 = 2;
  goto L28446;}
 L9533: {
  count_2191X = arg0K0;
  i_2192X = arg0K1;
  offset_2193X = arg0K2;
  if ((0 == count_2191X)) {
    arg0K0 = i_2192X;
    arg0K1 = offset_2193X;
    goto L9516;}
  else {
    value_2194X = *((long *) ((((char *) (-3 + env_2102X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2193X)))))<<2))));
    addr_2195X = (((char *) (-3 + new_env_1553X))) + (((i_2192X)<<2));S48_WRITE_BARRIER(new_env_1553X, addr_2195X, value_2194X);
    *((long *) addr_2195X) = (long) (value_2194X);
    arg0K0 = (-1 + count_2191X);
    arg0K1 = (1 + i_2192X);
    arg0K2 = (1 + offset_2193X);
    goto L9533;}}
 L10598: {
  count_2196X = arg0K0;
  i_2197X = arg0K1;
  offset_2198X = arg0K2;
  if ((0 == count_2196X)) {
    arg0K0 = i_2197X;
    arg0K1 = offset_2198X;
    goto L10581;}
  else {
    value_2199X = *((long *) ((((char *) (-3 + env_2107X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2198X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_2198X))))))<<2))));
    addr_2200X = (((char *) (-3 + new_env_1562X))) + (((i_2197X)<<2));S48_WRITE_BARRIER(new_env_1562X, addr_2200X, value_2199X);
    *((long *) addr_2200X) = (long) (value_2199X);
    arg0K0 = (-1 + count_2196X);
    arg0K1 = (1 + i_2197X);
    arg0K2 = (2 + offset_2198X);
    goto L10598;}}
 L33062: {
  Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1932X));
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L50167: {
  if ((3 == (3 & n_1647X))) {
    if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1647X))) + -4))))>>2))))) {push_exception_setupB(5, 1);
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (n_1647X);
      arg0K0 = 1;
      goto L29414;}
    else {
      goto L50171;}}
  else {
    goto L50171;}}
 L62150: {
  v_2201X = (char *) s48_long_to_bignum(c_1948X);
  v_2202X = enter_bignum(v_2201X);
  arg0K0 = v_2202X;
  goto L62145;}
 L62145: {
  val_2203X = arg0K0;
  SvalS = val_2203X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L11694: {
  x_2204X = 0 - c_1948X;s48_make_availableAgc(16);
  if ((536870911 < x_2204X)) {
    goto L62128;}
  else {
    if ((x_2204X < -536870912)) {
      goto L62128;}
    else {
      arg0K0 = (((x_2204X)<<2));
      goto L62123;}}}
 L62172: {
  v_2205X = (char *) s48_long_to_bignum(c_1948X);
  v_2206X = enter_bignum(v_2205X);
  arg0K0 = v_2206X;
  goto L62167;}
 L62167: {
  val_2207X = arg0K0;
  SvalS = val_2207X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L62231: {
  v_2208X = (char *) s48_long_to_bignum(x_2128X);
  v_2209X = enter_bignum(v_2208X);
  arg0K0 = v_2209X;
  goto L62226;}
 L62226: {
  val_2210X = arg0K0;
  SvalS = val_2210X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L20135: {
  extra1_2211X = arg0K0;
  Stemp0S = arg2_1093X;
  Stemp1S = y_1094X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_2132X)<<2))))>>1)))) + extra0_2133X) + extra1_2211X))<<2)));
  value_2212X = Stemp0S;
  Stemp0S = 1;
  if ((0 == (3 & value_2212X))) {
    v_2213X = (char *) s48_long_to_bignum((((value_2212X)>>2)));
    arg2K0 = v_2213X;
    goto L23519;}
  else {
    arg2K0 = (((char *) (-3 + value_2212X)));
    goto L23519;}}
 L23685: {
  external_bignum_2214X = arg2K0;
  v_2215X = s48_bignum_fits_in_word_p(external_bignum_2214X, 30, 1);
  if (v_2215X) {
    n_2216X = s48_bignum_to_long(external_bignum_2214X);
    arg0K0 = (((n_2216X)<<2));
    goto L52499;}
  else {
    val_2217X = enter_bignum(external_bignum_2214X);
    arg0K0 = val_2217X;
    goto L52499;}}
 L52561: {
  val_2218X = arg0K0;
  SvalS = val_2218X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L27060: {
  value_2219X = arg0K0;
  addr_2220X = (((char *) (-3 + table_1248X))) + (((index_1251X)<<2));S48_WRITE_BARRIER(table_1248X, addr_2220X, value_2219X);
  *((long *) addr_2220X) = (long) (value_2219X);
  arg0K0 = x_2158X;
  goto L42532;}
 L46796: {
  v_2221X = ps_close_fd(index_2014X);
  arg0K0 = v_2221X;
  goto L46791;}
 L46791: {
  status_2222X = arg0K0;
  if ((status_2222X == NO_ERRORS)) {push_exception_setupB(reason_2163X, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg4_1262X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
    arg0K0 = 2;
    goto L29414;}
  else {channel_close_error(status_2222X, index_2014X, arg4_1262X);push_exception_setupB(reason_2163X, 1);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (arg4_1262X);
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) ((((mode_1263X)<<2)));
    arg0K0 = 2;
    goto L29414;}}
 L47188: {
  x_2223X = arg0K0;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2223X);
  arg0K0 = 5;
  goto L29414;}
 L12321: {
  i_2224X = arg0K0;
  stob_2225X = *((long *) ((((char *) (-3 + log_2169X))) + (((i_2224X)<<2))));
  if ((1 == stob_2225X)) {
    log_2226X = *((long *) ((((char *) (-3 + proposal_1308X))) + 8));
    arg0K0 = 0;
    goto L15939;}
  else {
    value_2227X = *((long *) ((((char *) (-3 + log_2169X))) + (8 + (((i_2224X)<<2)))));
    verify_2228X = *((long *) ((((char *) (-3 + log_2169X))) + (12 + (((i_2224X)<<2)))));
    if ((verify_2228X == value_2227X)) {
      goto L12353;}
    else {
      addr_2229X = (((char *) (-3 + stob_2225X))) + (-4 & (*((long *) ((((char *) (-3 + log_2169X))) + (4 + (((i_2224X)<<2)))))));S48_WRITE_BARRIER(stob_2225X, addr_2229X, value_2227X);
      *((long *) addr_2229X) = (long) (value_2227X);
      goto L12353;}}}
 L26554: {
  previous_foo_2230X = arg0K0;
  foo_2231X = arg0K1;
  if ((1 == foo_2231X)) {
    goto L40750;}
  else {
    s2_2232X = *((long *) (((char *) (-3 + foo_2231X))));
    len_2233X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1408X))) + -4))))>>8);
    if ((len_2233X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_2232X))) + -4))))>>8)))) {
      if (((!memcmp((void *)(((char *) (-3 + s2_2232X))), (void *)(((char *) (-3 + arg2_1408X))),len_2233X)))) {
        if ((1 == previous_foo_2230X)) {
          value_2234X = *((long *) ((((char *) (-3 + foo_2231X))) + 12));
          addr_2235X = (((char *) (-3 + table_2049X))) + (((index_2051X)<<2));S48_WRITE_BARRIER(table_2049X, addr_2235X, value_2234X);
          *((long *) addr_2235X) = (long) (value_2234X);
          goto L40750;}
        else {
          val_2236X = *((long *) ((((char *) (-3 + foo_2231X))) + 12));
          addr_2237X = (((char *) (-3 + previous_foo_2230X))) + 12;S48_WRITE_BARRIER(previous_foo_2230X, addr_2237X, val_2236X);
          *((long *) addr_2237X) = (long) (val_2236X);
          goto L40750;}}
      else {
        goto L26613;}}
    else {
      goto L26613;}}}
 L22844: {
  if ((1 == thing_1892X)) {
    goto L22849;}
  else {
    if ((5 == thing_1892X)) {
      goto L22849;}
    else {
      if ((25 == thing_1892X)) {
        arg4K0 = "()";
        goto L22888;}
      else {
        if ((3 == (3 & thing_1892X))) {
          if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
            arg4K0 = "(...)";
            goto L22888;}
          else {
            goto L22862;}}
        else {
          goto L22862;}}}}}
 L28479: {
  arg0K0 = arg_count_1895X;
  arg0K1 = 25;
  arg0K2 = 0;
  arg0K3 = (-2 - i_1520X);
  goto L59585;}
 L50171: {
  SvalS = 1;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L62128: {
  v_2238X = (char *) s48_long_to_bignum(x_2204X);
  v_2239X = enter_bignum(v_2238X);
  arg0K0 = v_2239X;
  goto L62123;}
 L62123: {
  val_2240X = arg0K0;
  SvalS = val_2240X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L23519: {
  x_2241X = arg2K0;
  value_2242X = Stemp1S;
  Stemp1S = 1;
  if ((0 == (3 & value_2242X))) {
    v_2243X = (char *) s48_long_to_bignum((((value_2242X)>>2)));
    arg2K0 = v_2243X;
    goto L23523;}
  else {
    arg2K0 = (((char *) (-3 + value_2242X)));
    goto L23523;}}
 L52499: {
  val_2244X = arg0K0;
  SvalS = val_2244X;
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L15939: {
  i_2245X = arg0K0;
  stob_2246X = *((long *) ((((char *) (-3 + log_2226X))) + (((i_2245X)<<2))));
  if ((1 == stob_2246X)) {
    copies_2247X = *((long *) ((((char *) (-3 + proposal_1308X))) + 12));
    arg0K0 = copies_2247X;
    goto L15854;}
  else {
    value_2248X = *((long *) ((((char *) (-3 + log_2226X))) + (8 + (((i_2245X)<<2)))));
    verify_2249X = *((long *) ((((char *) (-3 + log_2226X))) + (12 + (((i_2245X)<<2)))));
    if ((verify_2249X == value_2248X)) {
      goto L15971;}
    else {
      *((unsigned char *) ((((char *) (-3 + stob_2246X))) + ((((*((long *) ((((char *) (-3 + log_2226X))) + (4 + (((i_2245X)<<2)))))))>>2)))) = (unsigned char) ((((value_2248X)>>2)));
      goto L15971;}}}
 L12353: {
  arg0K0 = (4 + i_2224X);
  goto L12321;}
 L40750: {
  Scode_pointerS = ((Scode_pointerS) + 1);
  arg2K0 = (Scode_pointerS);
  goto L31717;}
 L26613: {
  link_2250X = *((long *) ((((char *) (-3 + foo_2231X))) + 12));
  if ((0 == (3 & link_2250X))) {
    arg0K0 = foo_2231X;
    arg0K1 = (3 + (-4 & link_2250X));
    goto L26554;}
  else {
    arg0K0 = foo_2231X;
    arg0K1 = link_2250X;
    goto L26554;}}
 L22849: {
  if ((1 == thing_1892X)) {
    arg4K0 = "#f";
    goto L22888;}
  else {
    arg4K0 = "#t";
    goto L22888;}}
 L22888: {
  v_2251X = arg4K0;
  ps_write_string(v_2251X, out_1519X);
  goto L50788;}
 L22862: {
  if ((3 == (3 & thing_1892X))) {
    if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#(...)";
      goto L22888;}
    else {
      goto L22866;}}
  else {
    goto L22866;}}
 L23523: {
  y_2252X = arg2K0;
  div_by_zeroP_2253X = s48_bignum_divide(x_2241X, y_2252X, &quot_2254X, &rem_2255X);
  if (div_by_zeroP_2253X) {
    v_2256X = s48_bignum_fits_in_word_p(y_2252X, 30, 1);
    if (v_2256X) {
      n_2257X = s48_bignum_to_long(y_2252X);
      arg0K0 = (((n_2257X)<<2));
      goto L23545;}
    else {
      v_2258X = enter_bignum(y_2252X);
      arg0K0 = v_2258X;
      goto L23545;}}
  else {
    v_2259X = s48_bignum_fits_in_word_p(y_2252X, 30, 1);
    if (v_2259X) {
      n_2260X = s48_bignum_to_long(y_2252X);
      arg0K0 = (((n_2260X)<<2));
      goto L23554;}
    else {
      v_2261X = enter_bignum(y_2252X);
      arg0K0 = v_2261X;
      goto L23554;}}}
 L15854: {
  copies_2262X = arg0K0;
  if ((1 == copies_2262X)) {
    value_2263X = Sempty_logS;
    addr_2264X = (((char *) (-3 + proposal_1308X))) + 4;S48_WRITE_BARRIER(proposal_1308X, addr_2264X, value_2263X);
    *((long *) addr_2264X) = (long) (value_2263X);
    value_2265X = Sempty_logS;
    addr_2266X = (((char *) (-3 + proposal_1308X))) + 8;S48_WRITE_BARRIER(proposal_1308X, addr_2266X, value_2265X);
    *((long *) addr_2266X) = (long) (value_2265X);
    addr_2267X = (((char *) (-3 + proposal_1308X))) + 12;S48_WRITE_BARRIER(proposal_1308X, addr_2267X, 1);
    *((long *) addr_2267X) = (long) (1);RELEASE_PROPOSAL_LOCK();
    x_2268X = Scurrent_threadS;
    addr_2269X = (((char *) (-3 + x_2268X))) + 12;S48_WRITE_BARRIER(x_2268X, addr_2269X, 1);
    *((long *) addr_2269X) = (long) (1);
    SvalS = 5;
    Scode_pointerS = ((Scode_pointerS) + 1);
    arg2K0 = (Scode_pointerS);
    goto L31717;}
  else {
    stob_2270X = *((long *) ((((char *) (-3 + copies_2262X))) + 8));
    v_2271X = (((*((long *) ((((char *) (-3 + copies_2262X))) + 12))))>>2);
    stob_2272X = *((long *) (((char *) (-3 + copies_2262X))));
    v_2273X = (((*((long *) ((((char *) (-3 + copies_2262X))) + 4))))>>2);
    v_2274X = (((*((long *) ((((char *) (-3 + copies_2262X))) + 16))))>>2);
    memmove((void *)((((char *) (-3 + stob_2270X))) + v_2271X), (void *)((((char *) (-3 + stob_2272X))) + v_2273X),v_2274X);
    arg0K0 = (*((long *) ((((char *) (-3 + copies_2262X))) + 20)));
    goto L15854;}}
 L15971: {
  arg0K0 = (4 + i_2245X);
  goto L15939;}
 L22866: {
  if ((3 == (3 & thing_1892X))) {
    if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#{procedure}";
      goto L22888;}
    else {
      goto L22870;}}
  else {
    goto L22870;}}
 L23545: {
  v_2275X = arg0K0;
  v_2276X = s48_bignum_fits_in_word_p(x_2241X, 30, 1);
  if (v_2276X) {
    n_2277X = s48_bignum_to_long(x_2241X);
    arg3K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    arg0K3 = (((n_2277X)<<2));
    arg0K4 = v_2275X;
    goto L52172;}
  else {
    v_2278X = enter_bignum(x_2241X);
    arg3K0 = 1;
    arg0K1 = 0;
    arg0K2 = 0;
    arg0K3 = v_2278X;
    arg0K4 = v_2275X;
    goto L52172;}}
 L23554: {
  v_2279X = arg0K0;
  v_2280X = s48_bignum_fits_in_word_p(rem_2255X, 30, 1);
  if (v_2280X) {
    n_2281X = s48_bignum_to_long(rem_2255X);
    arg0K0 = (((n_2281X)<<2));
    goto L23550;}
  else {
    v_2282X = enter_bignum(rem_2255X);
    arg0K0 = v_2282X;
    goto L23550;}}
 L22870: {
  if ((3 == (3 & thing_1892X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#{template}";
      goto L22888;}
    else {
      goto L22874;}}
  else {
    goto L22874;}}
 L52172: {
  div_by_zeroP_2283X = arg3K0;
  quot_2284X = arg0K1;
  rem_2285X = arg0K2;
  x_2286X = arg0K3;
  y_2287X = arg0K4;
  if (div_by_zeroP_2283X) {
    goto L52195;}
  else {
    if ((0 == (3 & rem_2285X))) {
      if ((0 == rem_2285X)) {
        SvalS = quot_2284X;
        Scode_pointerS = ((Scode_pointerS) + 1);
        arg2K0 = (Scode_pointerS);
        goto L31717;}
      else {
        goto L52195;}}
    else {
      goto L52195;}}}
 L23550: {
  v_2288X = arg0K0;
  v_2289X = s48_bignum_fits_in_word_p(quot_2254X, 30, 1);
  if (v_2289X) {
    n_2290X = s48_bignum_to_long(quot_2254X);
    arg0K0 = (((n_2290X)<<2));
    goto L23548;}
  else {
    v_2291X = enter_bignum(quot_2254X);
    arg0K0 = v_2291X;
    goto L23548;}}
 L22874: {
  if ((3 == (3 & thing_1892X))) {
    if ((4 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#{location}";
      goto L22888;}
    else {
      goto L22878;}}
  else {
    goto L22878;}}
 L52195: {
push_exception_setupB(5, 1);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2286X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (y_2287X);
  arg0K0 = 2;
  goto L29414;}
 L23548: {
  v_2292X = arg0K0;
  v_2293X = s48_bignum_fits_in_word_p(x_2241X, 30, 1);
  if (v_2293X) {
    n_2294X = s48_bignum_to_long(x_2241X);
    arg3K0 = 0;
    arg0K1 = v_2292X;
    arg0K2 = v_2288X;
    arg0K3 = (((n_2294X)<<2));
    arg0K4 = v_2279X;
    goto L52172;}
  else {
    v_2295X = enter_bignum(x_2241X);
    arg3K0 = 0;
    arg0K1 = v_2292X;
    arg0K2 = v_2288X;
    arg0K3 = v_2295X;
    arg0K4 = v_2279X;
    goto L52172;}}
 L22878: {
  if ((3 == (3 & thing_1892X))) {
    if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#{code-vector}";
      goto L22888;}
    else {
      goto L22882;}}
  else {
    goto L22882;}}
 L22882: {
  if ((3 == (3 & thing_1892X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + thing_1892X))) + -4))))>>2))))) {
      arg4K0 = "#{continuation}";
      goto L22888;}
    else {
      arg4K0 = "???";
      goto L22888;}}
  else {
    arg4K0 = "???";
    goto L22888;}}
 loseD0: {
  message_887X = merged_arg4K0;{
  ps_write_string("Template UIDs: ", (stderr));
  current_code_2296X = current_code_vector();
  out_2297X = stderr;
  merged_arg2K0 = (SstackS);
  merged_arg0K1 = (((((ScontS) - (SstackS)))>>2));
  merged_arg0K2 = current_code_2296X;
  find_template_return_tag = 0;
  goto find_template;
 find_template_return_0:
  template_2298X = find_template0_return_value;
  merged_arg0K0 = template_2298X;
  merged_arg3K1 = 0;
  merged_arg5K2 = out_2297X;
  maybe_write_template_return_tag = 0;
  goto maybe_write_template;
 maybe_write_template_return_0:
  not_firstP_2299X = maybe_write_template0_return_value;
  arg2K0 = (ScontS);
  arg3K1 = not_firstP_2299X;
  goto L26499;}
 L26499: {
  cont_2300X = arg2K0;
  not_firstP_2301X = arg3K1;
  if ((cont_2300X == (Sbottom_of_stackS))) {
    cont_2302X = Sheap_continuationS;
    arg0K0 = cont_2302X;
    arg3K1 = not_firstP_2301X;
    goto L25787;}
  else {
    code_pointer_2303X = ((char *) (*((long *) cont_2300X)));
    pointer_2304X = code_pointer_2303X + -5;
    v_2305X = 3 + (((long) (code_pointer_2303X + (0 - (((((*((unsigned char *) pointer_2304X)))<<8)) + (*((unsigned char *) (pointer_2304X + 1))))))));
    pointer_2306X = (((char *) (*((long *) cont_2300X)))) + -2;
    size_2307X = ((((*((unsigned char *) pointer_2306X)))<<8)) + (*((unsigned char *) (pointer_2306X + 1)));
    if ((65535 == size_2307X)) {
      arg0K0 = ((((*((long *) (cont_2300X + 4))))>>2));
      goto L20916;}
    else {
      arg0K0 = size_2307X;
      goto L20916;}}}
 L25787: {
  cont_2308X = arg0K0;
  not_firstP_2309X = arg3K1;
  if ((3 == (3 & cont_2308X))) {
    if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_2308X))) + -4))))>>2))))) {
      merged_arg2K0 = (((char *) (-3 + cont_2308X)));
      merged_arg0K1 = ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_2308X))) + -4))))>>8))))>>2));
      merged_arg0K2 = (*((long *) ((((char *) (-3 + cont_2308X))) + 4)));
      find_template_return_tag = 1;
      goto find_template;
     find_template_return_1:
      v_2310X = find_template0_return_value;
      merged_arg0K0 = v_2310X;
      merged_arg3K1 = not_firstP_2309X;
      merged_arg5K2 = out_2297X;
      maybe_write_template_return_tag = 1;
      goto maybe_write_template;
     maybe_write_template_return_1:
      v_2311X = maybe_write_template0_return_value;
      arg0K0 = (*((long *) ((((char *) (-3 + cont_2308X))) + 8)));
      arg3K1 = v_2311X;
      goto L25787;}
    else {
      goto L29512;}}
  else {
    goto L29512;}}
 L20916: {
  v_2312X = arg0K0;
  merged_arg2K0 = (cont_2300X + 4);
  merged_arg0K1 = v_2312X;
  merged_arg0K2 = v_2305X;
  find_template_return_tag = 2;
  goto find_template;
 find_template_return_2:
  v_2313X = find_template0_return_value;
  merged_arg0K0 = v_2313X;
  merged_arg3K1 = not_firstP_2301X;
  merged_arg5K2 = out_2297X;
  maybe_write_template_return_tag = 2;
  goto maybe_write_template;
 maybe_write_template_return_2:
  v_2314X = maybe_write_template0_return_value;
  pointer_2315X = (((char *) (*((long *) cont_2300X)))) + -2;
  size_2316X = ((((*((unsigned char *) pointer_2315X)))<<8)) + (*((unsigned char *) (pointer_2315X + 1)));
  if ((65535 == size_2316X)) {
    arg0K0 = ((((*((long *) (cont_2300X + 4))))>>2));
    goto L26517;}
  else {
    arg0K0 = size_2316X;
    goto L26517;}}
 L29512: {
  { long ignoreXX;
  PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  why_2317X = (((*((long *) ((SstackS) + (((nargs_924X)<<2))))))>>2);
  if ((why_2317X == 1)) {
    if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_924X)<<2)))))))))))))) {
      ps_error(message_887X, 3, opcode_925X, why_2317X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_924X)<<2))))))))))))>>2)));
      goto loseD0_return;}
    else {
      goto L29459;}}
  else {
    goto L29459;}}
 L26517: {
  v_2318X = arg0K0;
  arg2K0 = (cont_2300X + (4 + (((v_2318X)<<2))));
  arg3K1 = v_2314X;
  goto L26499;}
 L29459: {
  ps_error(message_887X, 2, opcode_925X, why_2317X);
  goto loseD0_return;}
 loseD0_return:
  switch (loseD0_return_tag) {
  case 0: goto loseD0_return_0;
  default: goto loseD0_return_1;
  }}

 maybe_write_template: {
  template_884X = merged_arg0K0;
  not_firstP_885X = merged_arg3K1;
  out_886X = merged_arg5K2;{
  if (not_firstP_885X) {
    ps_write_string(" <- ", out_886X);
    goto L22561;}
  else {
    goto L22561;}}
 L22561: {
  if ((3 == (3 & template_884X))) {
    if ((12 == (31 & ((((*((long *) ((((char *) (-3 + template_884X))) + -4))))>>2))))) {
      name_2319X = *((long *) ((((char *) (-3 + template_884X))) + 8));
      if ((0 == (3 & name_2319X))) {
        ps_write_integer((((name_2319X)>>2)), out_886X);
        maybe_write_template0_return_value = 1;
        goto maybe_write_template_return;}
      else {
        if ((3 == (3 & name_2319X))) {
          if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2319X))) + -4))))>>2))))) {
            obj_2320X = *((long *) ((((char *) (-3 + name_2319X))) + 8));
            if ((3 == (3 & obj_2320X))) {
              if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_2320X))) + -4))))>>2))))) {write_vm_string((*((long *) ((((char *) (-3 + name_2319X))) + 8))), out_886X);
                maybe_write_template0_return_value = 1;
                goto maybe_write_template_return;}
              else {
                goto L22596;}}
            else {
              goto L22596;}}
          else {
            goto L22596;}}
        else {
          goto L22596;}}}
    else {
      goto L22619;}}
  else {
    goto L22619;}}
 L22596: {
  if ((3 == (3 & name_2319X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2319X))) + -4))))>>2))))) {
      obj_2321X = *((long *) ((((char *) (-3 + name_2319X))) + 8));
      if ((3 == (3 & obj_2321X))) {
        if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_2321X))) + -4))))>>2))))) {write_vm_string((*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + name_2319X))) + 8)))))))), out_886X);
          maybe_write_template0_return_value = 1;
          goto maybe_write_template_return;}
        else {
          goto L22616;}}
      else {
        goto L22616;}}
    else {
      goto L22616;}}
  else {
    goto L22616;}}
 L22619: {
  ps_write_string(" ?? ", out_886X);
  maybe_write_template0_return_value = 1;
  goto maybe_write_template_return;}
 L22616: {
  ps_write_string("?", out_886X);
  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_881X = merged_arg2K0;
  count_882X = merged_arg0K1;
  code_vector_883X = merged_arg0K2;{
  arg0K0 = 0;
  goto L17974;}
 L17974: {
  i_2322X = arg0K0;
  if ((i_2322X == count_882X)) {
    find_template0_return_value = 1;
    goto find_template_return;}
  else {
    next_2323X = *((long *) (start_881X + (((i_2322X)<<2))));
    if ((3 == (3 & next_2323X))) {
      if ((12 == (31 & ((((*((long *) ((((char *) (-3 + next_2323X))) + -4))))>>2))))) {
        if (((*((long *) (((char *) (-3 + next_2323X))))) == code_vector_883X)) {
          find_template0_return_value = next_2323X;
          goto find_template_return;}
        else {
          goto L17996;}}
      else {
        goto L17996;}}
    else {
      goto L17996;}}}
 L17996: {
  arg0K0 = (1 + i_2322X);
  goto L17974;}
 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_877X = merged_arg0K0;
  stack_arg_count_878X = merged_arg0K1;
  list_args_879X = merged_arg0K2;
  list_arg_count_880X = merged_arg0K3;{
  if ((stack_arg_count_878X == wants_stack_args_877X)) {
    merged_arg0K0 = list_args_879X;
    merged_arg0K1 = list_arg_count_880X;
    copy_listSAgc_return_tag = 1;
    goto copy_listSAgc;
   copy_listSAgc_return_1:
    x_2324X = copy_listSAgc0_return_value;
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2324X);
    goto rest_list_setupAgc_return;}
  else {
    if ((stack_arg_count_878X < wants_stack_args_877X)) {
      count_2325X = wants_stack_args_877X - stack_arg_count_878X;
      merged_arg0K0 = list_args_879X;
      merged_arg0K1 = count_2325X;
      push_list_return_tag = 4;
      goto push_list;
     push_list_return_4:
      v_2326X = push_list0_return_value;
      merged_arg0K0 = v_2326X;
      merged_arg0K1 = (list_arg_count_880X - count_2325X);
      copy_listSAgc_return_tag = 2;
      goto copy_listSAgc;
     copy_listSAgc_return_2:
      x_2327X = copy_listSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2327X);
      goto rest_list_setupAgc_return;}
    else {
      merged_arg0K0 = list_args_879X;
      merged_arg0K1 = list_arg_count_880X;
      copy_listSAgc_return_tag = 3;
      goto copy_listSAgc;
     copy_listSAgc_return_3:
      v_2328X = copy_listSAgc0_return_value;
      merged_arg0K0 = v_2328X;
      merged_arg0K1 = (stack_arg_count_878X - wants_stack_args_877X);
      pop_args_GlistSAgc_return_tag = 12;
      goto pop_args_GlistSAgc;
     pop_args_GlistSAgc_return_12:
      x_2329X = pop_args_GlistSAgc0_return_value;
      SstackS = ((SstackS) + -4);
      *((long *) (SstackS)) = (long) (x_2329X);
      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_875X = merged_arg0K0;
  count_876X = merged_arg0K1;{
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (list_875X);
  merged_arg0K0 = count_876X;
  ensure_stack_spaceB_return_tag = 2;
  goto ensure_stack_spaceB;
 ensure_stack_spaceB_return_2:
  v_2330X = ensure_stack_spaceB0_return_value;
  if (v_2330X) {
    s48_Sstack_limitS = (((char *) -1));
    goto L27904;}
  else {
    goto L27904;}}
 L27904: {
  list_2331X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  arg0K0 = count_876X;
  arg0K1 = list_2331X;
  goto L27913;}
 L27913: {
  i_2332X = arg0K0;
  l_2333X = arg0K1;
  if ((0 < i_2332X)) {
    x_2334X = *((long *) (((char *) (-3 + l_2333X))));
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (x_2334X);
    arg0K0 = (-1 + i_2332X);
    arg0K1 = (*((long *) ((((char *) (-3 + l_2333X))) + 4)));
    goto L27913;}
  else {
    push_list0_return_value = l_2333X;
    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_874X = merged_arg0K0;{
  if ((((SstackS) + (256 - (((need_874X)<<2)))) < (s48_Sstack_limitS))) {
    interruptP_2335X = (s48_Sstack_limitS) == (((char *) -1));
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((((SstackS) + (256 - (((need_874X)<<2)))) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
      if ((((SstackS) + (256 - (((need_874X)<<2)))) < (Sreal_stack_limitS))) {
        ps_error("VM's stack is too small (how can this happen?)", 0);
        ensure_stack_spaceB0_return_value = interruptP_2335X;
        goto ensure_stack_spaceB_return;}
      else {
        ensure_stack_spaceB0_return_value = interruptP_2335X;
        goto ensure_stack_spaceB_return;}}
    else {
      ensure_stack_spaceB0_return_value = interruptP_2335X;
      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;
  case 1: goto ensure_stack_spaceB_return_1;
  default: goto ensure_stack_spaceB_return_2;
  }}

 pop_args_GlistSAgc: {
  start_872X = merged_arg0K0;
  count_873X = merged_arg0K1;{
  Stemp0S = start_872X;s48_make_availableAgc(((((3 * count_873X))<<2)));
  value_2336X = Stemp0S;
  Stemp0S = 1;
  arg0K0 = value_2336X;
  arg0K1 = count_873X;
  goto L21715;}
 L21715: {
  args_2337X = arg0K0;
  count_2338X = arg0K1;
  if ((0 == count_2338X)) {
    pop_args_GlistSAgc0_return_value = args_2337X;
    goto pop_args_GlistSAgc_return;}
  else {
    a_2339X = *((long *) (SstackS));
    SstackS = ((SstackS) + 4);
    addr_2340X = s48_allocate_small(12);
    *((long *) addr_2340X) = (long) (2050);
    x_2341X = 3 + (((long) (addr_2340X + 4)));
    *((long *) (((char *) (-3 + x_2341X)))) = (long) (a_2339X);
    *((long *) ((((char *) (-3 + x_2341X))) + 4)) = (long) (args_2337X);
    arg0K0 = x_2341X;
    arg0K1 = (-1 + count_2338X);
    goto L21715;}}
 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;
  case 11: goto pop_args_GlistSAgc_return_11;
  default: goto pop_args_GlistSAgc_return_12;
  }}

 copy_listSAgc: {
  list_870X = merged_arg0K0;
  length_871X = merged_arg0K1;{
  if ((0 == length_871X)) {
    copy_listSAgc0_return_value = 25;
    goto copy_listSAgc_return;}
  else {
    Stemp0S = list_870X;s48_make_availableAgc(((((3 * length_871X))<<2)));
    value_2342X = Stemp0S;
    Stemp0S = 1;
    a_2343X = *((long *) (((char *) (-3 + value_2342X))));
    addr_2344X = s48_allocate_small(12);
    *((long *) addr_2344X) = (long) (2050);
    x_2345X = 3 + (((long) (addr_2344X + 4)));
    *((long *) (((char *) (-3 + x_2345X)))) = (long) (a_2343X);
    *((long *) ((((char *) (-3 + x_2345X))) + 4)) = (long) (25);
    arg0K0 = (*((long *) ((((char *) (-3 + value_2342X))) + 4)));
    arg0K1 = x_2345X;
    goto L21603;}}
 L21603: {
  l_2346X = arg0K0;
  last_2347X = arg0K1;
  if ((25 == l_2346X)) {
    copy_listSAgc0_return_value = x_2345X;
    goto copy_listSAgc_return;}
  else {
    a_2348X = *((long *) (((char *) (-3 + l_2346X))));
    addr_2349X = s48_allocate_small(12);
    *((long *) addr_2349X) = (long) (2050);
    x_2350X = 3 + (((long) (addr_2349X + 4)));
    *((long *) (((char *) (-3 + x_2350X)))) = (long) (a_2348X);
    *((long *) ((((char *) (-3 + x_2350X))) + 4)) = (long) (25);
    addr_2351X = (((char *) (-3 + last_2347X))) + 4;S48_WRITE_BARRIER(last_2347X, addr_2351X, x_2350X);
    *((long *) addr_2351X) = (long) (x_2350X);
    arg0K0 = (*((long *) ((((char *) (-3 + l_2346X))) + 4)));
    arg0K1 = x_2350X;
    goto L21603;}}
 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_2352X = ScontS;
  pointer_2353X = (((char *) (*((long *) cont_2352X)))) + -2;
  size_2354X = ((((*((unsigned char *) pointer_2353X)))<<8)) + (*((unsigned char *) (pointer_2353X + 1)));
  if ((65535 == size_2354X)) {
    arg0K0 = ((((*((long *) (cont_2352X + 4))))>>2));
    goto L21447;}
  else {
    arg0K0 = size_2354X;
    goto L21447;}}
 L21447: {
  v_2355X = arg0K0;
  ScontS = (cont_2352X + (4 + (((v_2355X)<<2))));
  v_2356X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  Scode_pointerS = (((char *) v_2356X));
  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;
  }}

 shift_space: {
  x_868X = merged_arg0K0;
  n_869X = merged_arg0K1;{
  if ((0 == (3 & x_868X))) {
    arg0K0 = 1;
    arg0K1 = 3;
    goto L20160;}
  else {
    arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_868X))) + -4))))>>8))))>>2)));
    arg0K1 = 0;
    goto L20160;}}
 L20160: {
  x_size_2357X = arg0K0;
  extra_2358X = arg0K1;
  if ((n_869X < 0)) {
    if ((x_size_2357X < 1)) {
      arg0K0 = 1;
      goto L20202;}
    else {
      arg0K0 = x_size_2357X;
      goto L20202;}}
  else {
    n_2359X = n_869X / 30;
    arg0K0 = (3 + (((((7 + (((x_size_2357X)<<2))))>>2)) + ((((7 + (((n_2359X)<<2))))>>2))));
    goto L20180;}}
 L20202: {
  v_2360X = arg0K0;
  arg0K0 = (4 + ((-2 & ((((11 + (((v_2360X)<<2))))>>1))) + ((((7 + (((x_size_2357X)<<2))))>>2))));
  goto L20180;}
 L20180: {
  v_2361X = arg0K0;
  shift_space0_return_value = (extra_2358X + v_2361X);
  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_865X = merged_arg0K0;
  index_866X = merged_arg0K1;
  value_867X = merged_arg0K2;{
  log_2362X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L19730;}
 L19730: {
  i_2363X = arg0K0;
  next_stob_2364X = *((long *) ((((char *) (-3 + log_2362X))) + (((i_2363X)<<2))));
  if ((1 == next_stob_2364X)) {add_log_entryAgc(1, i_2363X, stob_865X, index_866X, value_867X, 0);
    goto proposal_d_write_return;}
  else {
    if ((stob_865X == next_stob_2364X)) {
      if ((index_866X == (*((long *) ((((char *) (-3 + log_2362X))) + (4 + (((i_2363X)<<2)))))))) {
        addr_2365X = (((char *) (-3 + log_2362X))) + (8 + (((i_2363X)<<2)));S48_WRITE_BARRIER(log_2362X, addr_2365X, value_867X);
        *((long *) addr_2365X) = (long) (value_867X);
        goto proposal_d_write_return;}
      else {
        goto L19750;}}
    else {
      goto L19750;}}}
 L19750: {
  arg0K0 = (4 + i_2363X);
  goto L19730;}
 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_863X = merged_arg0K0;
  index_864X = merged_arg0K1;{
  log_2366X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  arg0K0 = 0;
  goto L19553;}
 L19553: {
  i_2367X = arg0K0;
  next_stob_2368X = *((long *) ((((char *) (-3 + log_2366X))) + (((i_2367X)<<2))));
  if ((1 == next_stob_2368X)) {
    v_2369X = add_log_entryAgc(1, i_2367X, stob_863X, index_864X, (*((long *) ((((char *) (-3 + stob_863X))) + (-4 & index_864X)))), 1);
    proposal_d_read0_return_value = v_2369X;
    goto proposal_d_read_return;}
  else {
    if ((stob_863X == next_stob_2368X)) {
      if ((index_864X == (*((long *) ((((char *) (-3 + log_2366X))) + (4 + (((i_2367X)<<2)))))))) {
        proposal_d_read0_return_value = (*((long *) ((((char *) (-3 + log_2366X))) + (8 + (((i_2367X)<<2))))));
        goto proposal_d_read_return;}
      else {
        goto L19575;}}
    else {
      goto L19575;}}}
 L19575: {
  arg0K0 = (4 + i_2367X);
  goto L19553;}
 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 L19524;}
  else {
    goto L19510;}}
 L19524: {
  type_2370X = s48_get_next_event(&channel_2371X, &status_2372X);
  if ((type_2370X == ALARM_EVENT)) {
    arg0K0 = 1;
    goto L19530;}
  else {
    if ((type_2370X == KEYBOARD_INTERRUPT_EVENT)) {
      arg0K0 = 2;
      goto L19530;}
    else {
      if ((type_2370X == IO_COMPLETION_EVENT)) {enqueue_channelB(channel_2371X, status_2372X, 1);
        arg0K0 = 16;
        goto L19530;}
      else {
        if ((type_2370X == IO_ERROR_EVENT)) {enqueue_channelB(channel_2371X, status_2372X, 5);
          arg0K0 = 16;
          goto L19530;}
        else {
          if ((type_2370X == OS_SIGNAL_EVENT)) {
            arg0K0 = 32;
            goto L19530;}
          else {
            if ((type_2370X == NO_EVENT)) {
              arg0K0 = 0;
              goto L19530;}
            else {
              if ((type_2370X == 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_2372X)), (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L19530;}
              else {
                ps_write_string("unknown type of event", (stderr));
                { long ignoreXX;
                PS_WRITE_CHAR(10, (stderr), ignoreXX) }
                arg0K0 = 0;
                goto L19530;}}}}}}}}
 L19510: {
  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;}}
 L19530: {
  interrupt_bit_2373X = arg0K0;
  Spending_interruptsS = ((Spending_interruptsS) | interrupt_bit_2373X);
  if ((type_2370X == NO_EVENT)) {
    goto L19510;}
  else {
    goto L19524;}}
 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;
  case 3: goto pending_interruptP_return_3;
  case 4: goto pending_interruptP_return_4;
  case 5: goto pending_interruptP_return_5;
  default: goto pending_interruptP_return_6;
  }}

 make_closure: {
  a_861X = merged_arg0K0;
  b_862X = merged_arg0K1;{
  addr_2374X = s48_allocate_small(12);
  *((long *) addr_2374X) = (long) (2062);
  x_2375X = 3 + (((long) (addr_2374X + 4)));
  *((long *) (((char *) (-3 + x_2375X)))) = (long) (a_861X);
  *((long *) ((((char *) (-3 + x_2375X))) + 4)) = (long) (b_862X);
  if ((3 == (3 & x_2375X))) {
    if ((0 == (128 & (*((long *) ((((char *) (-3 + x_2375X))) + -4)))))) {
      *((long *) ((((char *) (-3 + x_2375X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_2375X))) + -4)))));
      make_closure0_return_value = x_2375X;
      goto make_closure_return;}
    else {
      make_closure0_return_value = x_2375X;
      goto make_closure_return;}}
  else {
    make_closure0_return_value = x_2375X;
    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_860X = merged_arg0K0;{
  thread_2376X = Scurrent_threadS;
  if ((3 == (3 & thread_2376X))) {
    if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thread_2376X))) + -4))))>>2))))) {
      if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_2376X))) + -4))))>>8))))>>2)))) {
        arg0K0 = (*((long *) ((((char *) (-3 + thread_2376X))) + 4)));
        goto L17428;}
      else {
        goto L17478;}}
    else {
      goto L17478;}}
  else {
    goto L17478;}}
 L17428: {
  env_2377X = arg0K0;
  if ((3 == (3 & env_2377X))) {
    if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_2377X))) + -4))))>>2))))) {
      obj_2378X = *((long *) (((char *) (-3 + env_2377X))));
      if ((3 == (3 & obj_2378X))) {
        if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_2378X))) + -4))))>>2))))) {
          if ((marker_860X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_2377X)))))))))))) {
            get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_2377X)))))))) + 4)));
            goto get_current_port_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + env_2377X))) + 4)));
            goto L17428;}}
        else {
          goto L17500;}}
      else {
        goto L17500;}}
    else {
      goto L17500;}}
  else {
    goto L17500;}}
 L17478: {
  ps_error("current thread is not a record", 0);
  get_current_port0_return_value = v_2379X;
  goto get_current_port_return;}
 L17500: {
  if ((25 == env_2377X)) {
    if (((((marker_860X)>>2)) == 1)) {
      arg4K0 = "dynamic environment doesn't have current-output-port";
      goto L17454;}
    else {
      arg4K0 = "dynamic environment doesn't have current-input-port";
      goto L17454;}}
  else {
    ps_error("dynamic environment is not a proper list", 0);
    goto get_current_port_return;}}
 L17454: {
  v_2380X = arg4K0;
  ps_error(v_2380X, 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;
  case 2: goto get_current_port_return_2;
  case 3: goto get_current_port_return_3;
  case 4: goto get_current_port_return_4;
  default: goto get_current_port_return_5;
  }}

 okay_argument_list: {
  list_859X = merged_arg0K0;{
  arg0K0 = list_859X;
  arg0K1 = 0;
  arg0K2 = list_859X;
  arg3K3 = 0;
  goto L17295;}
 L17295: {
  fast_2381X = arg0K0;
  len_2382X = arg0K1;
  slow_2383X = arg0K2;
  move_slowP_2384X = arg3K3;
  if ((25 == fast_2381X)) {
    okay_argument_list0_return_value = 1;
    okay_argument_list1_return_value = len_2382X;
    goto okay_argument_list_return;}
  else {
    if ((3 == (3 & fast_2381X))) {
      if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_2381X))) + -4))))>>2))))) {
        if (move_slowP_2384X) {
          if ((fast_2381X == slow_2383X)) {
            okay_argument_list0_return_value = 0;
            okay_argument_list1_return_value = 0;
            goto okay_argument_list_return;}
          else {
            arg0K0 = (*((long *) ((((char *) (-3 + fast_2381X))) + 4)));
            arg0K1 = (1 + len_2382X);
            arg0K2 = (*((long *) ((((char *) (-3 + slow_2383X))) + 4)));
            arg3K3 = 0;
            goto L17295;}}
        else {
          arg0K0 = (*((long *) ((((char *) (-3 + fast_2381X))) + 4)));
          arg0K1 = (1 + len_2382X);
          arg0K2 = slow_2383X;
          arg3K3 = 1;
          goto L17295;}}
      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;
  case 1: goto okay_argument_list_return_1;
  default: goto okay_argument_list_return_2;
  }}

 copy_continuation_from_heapB: {
  cont_857X = merged_arg0K0;
  stack_arg_count_858X = merged_arg0K1;{
  stack_size_2385X = -2 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_857X))) + -4))))>>8))))>>2));
  new_cont_2386X = (Sbottom_of_stackS) + (0 - (((stack_size_2385X)<<2)));
  if ((0 == stack_arg_count_858X)) {
    SstackS = new_cont_2386X;
    goto L17124;}
  else {
    new_stack_2387X = new_cont_2386X + (0 - (((stack_arg_count_858X)<<2)));
    if ((new_stack_2387X < (SstackS))) {
      memmove((void *)new_stack_2387X, (void *)(SstackS),(((stack_arg_count_858X)<<2)));
      SstackS = new_stack_2387X;
      goto L17124;}
    else {
      goto L17124;}}}
 L17124: {
  ScontS = new_cont_2386X;
  memmove((void *)(new_cont_2386X + 4), (void *)((((char *) (-3 + cont_857X))) + 12),(-4 + (((stack_size_2385X)<<2))));
  *((long *) new_cont_2386X) = (long) ((((long) ((((char *) (-3 + (*((long *) ((((char *) (-3 + cont_857X))) + 4)))))) + ((((*((long *) (((char *) (-3 + cont_857X))))))>>2))))));
  Sheap_continuationS = (*((long *) ((((char *) (-3 + cont_857X))) + 8)));
  copy_continuation_from_heapB0_return_value = new_cont_2386X;
  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_856X = merged_arg0K0;{
  string_2388X = ps_error_string(status_856X);
  x_2389X = strlen((char *) string_2388X);
  if ((x_2389X < 512)) {
    arg0K0 = x_2389X;
    goto L16109;}
  else {
    arg0K0 = 512;
    goto L16109;}}
 L16109: {
  len_2390X = arg0K0;
  len_2391X = ((len_2390X)<<2);
  addr_2392X = s48_allocate_small((4 + len_2391X));
  *((long *) addr_2392X) = (long) ((66 + (((len_2391X)<<8))));
  new_2393X = 3 + (((long) (addr_2392X + 4)));
  arg0K0 = 0;
  goto L16119;}
 L16119: {
  i_2394X = arg0K0;
  if ((i_2394X == len_2390X)) {
    get_error_string0_return_value = new_2393X;
    goto get_error_string_return;}
  else {
    c_2395X = ((unsigned char) (*(string_2388X + i_2394X)));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = c_2395X;
    goto L16158;}}
 L16158: {
  bits_2396X = arg0K0;
  j_2397X = arg0K1;
  shifted_2398X = arg0K2;
  if ((j_2397X < 4)) {
    *((unsigned char *) ((((char *) (-3 + new_2393X))) + ((((i_2394X)<<2)) + j_2397X))) = (unsigned char) ((255 & shifted_2398X));
    arg0K0 = (8 + bits_2396X);
    arg0K1 = (1 + j_2397X);
    arg0K2 = ((long)(((unsigned long)shifted_2398X)>>8));
    goto L16158;}
  else {
    arg0K0 = (1 + i_2394X);
    goto L16119;}}
 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;
  }}

 s48_pop_interrupt_state: {
{ p_2399X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  Senabled_interruptsS = (((p_2399X)>>2));
  if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
    s48_Sstack_limitS = (Sreal_stack_limitS);
    if ((s48_Spending_eventsPS)) {
      s48_Sstack_limitS = (((char *) -1));
      goto L12177;}
    else {
      goto L12177;}}
  else {
    s48_Sstack_limitS = (((char *) -1));
    goto L12177;}}
 L12177: {
  proposal_2400X = *((long *) (SstackS));
  SstackS = ((SstackS) + 4);
  x_2401X = Scurrent_threadS;
  addr_2402X = (((char *) (-3 + x_2401X))) + 12;S48_WRITE_BARRIER(x_2401X, addr_2402X, proposal_2400X);
  *((long *) addr_2402X) = (long) (proposal_2400X);
  goto s48_pop_interrupt_state_return;}
 s48_pop_interrupt_state_return:
  switch (s48_pop_interrupt_state_return_tag) {
  case 0: goto s48_pop_interrupt_state_return_0;
  case 1: goto s48_pop_interrupt_state_return_1;
  default: goto s48_pop_interrupt_state_return_2;
  }}

 move_args_above_contB: {
  nargs_855X = merged_arg0K0;{
  top_of_args_2403X = SstackS;
  if (((ScontS) == (top_of_args_2403X + (((nargs_855X)<<2))))) {
    goto move_args_above_contB_return;}
  else {
    SstackS = (ScontS);
    arg2K0 = ((SstackS) + -4);
    arg2K1 = (top_of_args_2403X + (-4 + (((nargs_855X)<<2))));
    goto L7758;}}
 L7758: {
  loc_2404X = arg2K0;
  arg_2405X = arg2K1;
  if ((arg_2405X < top_of_args_2403X)) {
    SstackS = ((SstackS) + (0 - (((nargs_855X)<<2))));
    goto move_args_above_contB_return;}
  else {
    *((long *) loc_2404X) = (long) ((*((long *) arg_2405X)));
    arg2K0 = (loc_2404X + -4);
    arg2K1 = (arg_2405X + -4);
    goto L7758;}}
 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;
  case 7: goto move_args_above_contB_return_7;
  default: goto move_args_above_contB_return_8;
  }}

}
long s48_call_startup_procedure(char **startup_vector_2406X, long startup_vector_length_2407X)
{
  long arg0K2;
  long arg0K1;
  long arg0K0;
  long merged_arg0K1;
  char *merged_arg4K0;

  int enter_string_return_tag;
  long enter_string0_return_value;
  char *string_2408X;
  long shifted_2465X;
  long j_2464X;
  long bits_2463X;
  long c_2462X;
  long i_2461X;
  long s_2460X;
  char * addr_2459X;
  long len_2458X;
  long len_2457X;
  long v_2456X;
  long x_2455X;
  long error_encoding_2454X;
  long output_encoding_2453X;
  long input_encoding_2452X;
  long vm_channel_2451X;
  long v_2450X;
  long channel_2449X;
  long vm_channel_2448X;
  long v_2447X;
  long channel_2446X;
  long vm_channel_2445X;
  long v_2444X;
  long channel_2443X;
  char *error_encoding_2442X;
  long v_2441X;
  char *input_encoding_2440X;
  long v_2439X;
  char *output_encoding_2438X;
  long v_2437X;
  long i_2436X;
  long length_2435X;
  long *v_2434X;
  long v_2433X;
  long v_2432X;
  long y_2431X;
  long x_2430X;
  long v_2429X;
  char * addr_2428X;
  long i_2427X;
  long x_2426X;
  long y_2425X;
  long vec_2424X;
  char * addr_2423X;
  long length_2422X;
  long len_2421X;
  char *s_2420X;
  long y_2419X;
  long x_2418X;
  long i_2417X;
  long vector_2416X;
  char * addr_2415X;
  long len_2414X;
  long count_2413X;
  long i_2412X;
  long code_2411X;
  long code_2410X;
  long code_2409X;
 {  SstackS = (Sbottom_of_stackS);
  Sheap_continuationS = 1;
  ScontS = (Sbottom_of_stackS);
  code_2409X = Sinterrupted_byte_opcode_return_codeS;
  Slast_code_calledS = code_2409X;
  Scode_pointerS = (((char *) (-3 + code_2409X)));
  code_2410X = Sinterrupted_native_call_return_codeS;
  Slast_code_calledS = code_2410X;
  Scode_pointerS = (((char *) (-3 + code_2410X)));
  code_2411X = Snative_poll_return_codeS;
  Slast_code_calledS = code_2411X;
  Scode_pointerS = (((char *) (-3 + code_2411X)));
  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;
  arg0K0 = 0;
  arg0K1 = 0;
  goto L19336;}
 L19336: {
  i_2412X = arg0K0;
  count_2413X = arg0K1;
  if ((i_2412X == startup_vector_length_2407X)) {s48_make_availableAgc(((((((1 + startup_vector_length_2407X) + startup_vector_length_2407X) + ((((3 + count_2413X))>>2))))<<2)));
    len_2414X = ((startup_vector_length_2407X)<<2);
    addr_2415X = s48_allocate_small((4 + len_2414X));
    *((long *) addr_2415X) = (long) ((10 + (((len_2414X)<<8))));
    vector_2416X = 3 + (((long) (addr_2415X + 4)));
    arg0K0 = 0;
    goto L19453;}
  else {
    arg0K0 = (1 + i_2412X);
    arg0K1 = (1 + (count_2413X + (strlen((char *) (*(startup_vector_2406X + i_2412X))))));
    goto L19336;}}
 L19453: {
  i_2417X = arg0K0;
  if ((i_2417X == startup_vector_length_2407X)) {
    SstackS = ((SstackS) + -4);
    *((long *) (SstackS)) = (long) (vector_2416X);
    x_2418X = STDOUT_FD();
    y_2419X = STDERR_FD();
    if ((x_2418X < y_2419X)) {
      arg0K0 = y_2419X;
      goto L25294;}
    else {
      arg0K0 = x_2418X;
      goto L25294;}}
  else {
    s_2420X = *(startup_vector_2406X + i_2417X);
    len_2421X = strlen((char *) s_2420X);
    length_2422X = 1 + len_2421X;
    addr_2423X = s48_allocate_small((4 + length_2422X));
    *((long *) addr_2423X) = (long) ((70 + (((length_2422X)<<8))));
    vec_2424X = 3 + (((long) (addr_2423X + 4)));
    arg0K0 = 0;
    goto L19473;}}
 L25294: {
  y_2425X = arg0K0;
  x_2426X = STDIN_FD();
  if ((x_2426X < y_2425X)) {
    arg0K0 = y_2425X;
    goto L25296;}
  else {
    arg0K0 = x_2426X;
    goto L25296;}}
 L19473: {
  i_2427X = arg0K0;
  if ((len_2421X < i_2427X)) {
    addr_2428X = (((char *) (-3 + vector_2416X))) + (((i_2417X)<<2));S48_WRITE_BARRIER(vector_2416X, addr_2428X, vec_2424X);
    *((long *) addr_2428X) = (long) (vec_2424X);
    arg0K0 = (1 + i_2417X);
    goto L19453;}
  else {
    *((unsigned char *) ((((char *) (-3 + vec_2424X))) + i_2427X)) = (unsigned char) ((((unsigned char) (*(s_2420X + i_2427X)))));
    arg0K0 = (1 + i_2427X);
    goto L19473;}}
 L25296: {
  v_2429X = arg0K0;
  x_2430X = Snumber_of_channelsS;
  y_2431X = 1 + v_2429X;
  if ((x_2430X < y_2431X)) {
    arg0K0 = y_2431X;
    goto L25298;}
  else {
    arg0K0 = x_2430X;
    goto L25298;}}
 L25298: {
  v_2432X = arg0K0;
  Snumber_of_channelsS = v_2432X;
  v_2433X = 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 L25320;}
  else {
    goto L25320;}}
 L25320: {
  v_2434X = Svm_channelsS;
  length_2435X = Snumber_of_channelsS;
  arg0K0 = 0;
  goto L25420;}
 L25420: {
  i_2436X = arg0K0;
  if ((i_2436X < length_2435X)) {
    *(v_2434X + i_2436X) = 1;
    arg0K0 = (1 + i_2436X);
    goto L25420;}
  else {
    v_2437X = STDOUT_FD();
    output_encoding_2438X = ps_console_encoding(v_2437X);
    v_2439X = STDIN_FD();
    input_encoding_2440X = ps_console_encoding(v_2439X);
    v_2441X = STDERR_FD();
    error_encoding_2442X = ps_console_encoding(v_2441X);
    if ((NULL == input_encoding_2440X)) {
      goto L25357;}
    else {
      if ((NULL == output_encoding_2438X)) {
        goto L25357;}
      else {
        if ((NULL == error_encoding_2442X)) {
          goto L25357;}
        else {
          goto L25362;}}}}}
 L25357: {
  ps_error("out of memory, unable to continue", 0);
  goto L25362;}
 L25362: {
s48_make_availableAgc(((((3 * (12 + (((((((3 + ((((strlen((char *) "standard output")))<<2))))>>2)) + ((((3 + ((((strlen((char *) input_encoding_2440X)))<<2))))>>2))) + ((((3 + ((((strlen((char *) output_encoding_2438X)))<<2))))>>2))) + ((((3 + ((((strlen((char *) error_encoding_2442X)))<<2))))>>2))))))<<2)));
  channel_2443X = STDERR_FD();
  merged_arg4K0 = "standard error";
  merged_arg0K1 = 0;
  enter_string_return_tag = 0;
  goto enter_string;
 enter_string_return_0:
  v_2444X = enter_string0_return_value;
  vm_channel_2445X = make_channel(8, v_2444X, (((channel_2443X)<<2)), 1, 1, 1, 1, 0);
  *((Svm_channelsS) + channel_2443X) = vm_channel_2445X;
  channel_2446X = STDIN_FD();
  merged_arg4K0 = "standard input";
  merged_arg0K1 = 0;
  enter_string_return_tag = 1;
  goto enter_string;
 enter_string_return_1:
  v_2447X = enter_string0_return_value;
  vm_channel_2448X = make_channel(4, v_2447X, (((channel_2446X)<<2)), 1, 1, 1, 1, 0);
  *((Svm_channelsS) + channel_2446X) = vm_channel_2448X;
  channel_2449X = STDOUT_FD();
  merged_arg4K0 = "standard output";
  merged_arg0K1 = 0;
  enter_string_return_tag = 2;
  goto enter_string;
 enter_string_return_2:
  v_2450X = enter_string0_return_value;
  vm_channel_2451X = make_channel(8, v_2450X, (((channel_2449X)<<2)), 1, 1, 1, 1, 0);
  *((Svm_channelsS) + channel_2449X) = vm_channel_2451X;
  merged_arg4K0 = input_encoding_2440X;
  merged_arg0K1 = 0;
  enter_string_return_tag = 3;
  goto enter_string;
 enter_string_return_3:
  input_encoding_2452X = enter_string0_return_value;
  merged_arg4K0 = output_encoding_2438X;
  merged_arg0K1 = 0;
  enter_string_return_tag = 4;
  goto enter_string;
 enter_string_return_4:
  output_encoding_2453X = enter_string0_return_value;
  merged_arg4K0 = error_encoding_2442X;
  merged_arg0K1 = 0;
  enter_string_return_tag = 5;
  goto enter_string;
 enter_string_return_5:
  error_encoding_2454X = enter_string0_return_value;
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (vm_channel_2448X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (input_encoding_2452X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (vm_channel_2451X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (output_encoding_2453X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (vm_channel_2445X);
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (error_encoding_2454X);
  x_2455X = s48_resumer_records();
  SstackS = ((SstackS) + -4);
  *((long *) (SstackS)) = (long) (x_2455X);s48_initialization_completeB();
  v_2456X = s48_startup_procedure();
  return s48_restart(v_2456X, 8);}
 enter_string: {
  string_2408X = merged_arg4K0;{
  len_2457X = strlen((char *) string_2408X);
  len_2458X = ((len_2457X)<<2);
  addr_2459X = s48_allocate_small((4 + len_2458X));
  *((long *) addr_2459X) = (long) ((66 + (((len_2458X)<<8))));
  s_2460X = 3 + (((long) (addr_2459X + 4)));
  arg0K0 = 0;
  goto L16703;}
 L16703: {
  i_2461X = arg0K0;
  if ((i_2461X < len_2457X)) {
    c_2462X = ((unsigned char) (*(string_2408X + i_2461X)));
    arg0K0 = 0;
    arg0K1 = 0;
    arg0K2 = c_2462X;
    goto L16714;}
  else {
    enter_string0_return_value = s_2460X;
    goto enter_string_return;}}
 L16714: {
  bits_2463X = arg0K0;
  j_2464X = arg0K1;
  shifted_2465X = arg0K2;
  if ((j_2464X < 4)) {
    *((unsigned char *) ((((char *) (-3 + s_2460X))) + ((((i_2461X)<<2)) + j_2464X))) = (unsigned char) ((255 & shifted_2465X));
    arg0K0 = (8 + bits_2463X);
    arg0K1 = (1 + j_2464X);
    arg0K2 = ((long)(((unsigned long)shifted_2465X)>>8));
    goto L16714;}
  else {
    arg0K0 = (1 + i_2461X);
    goto L16703;}}
 enter_string_return:
  switch (enter_string_return_tag) {
  case 0: goto enter_string_return_0;
  case 1: goto enter_string_return_1;
  case 2: goto enter_string_return_2;
  case 3: goto enter_string_return_3;
  case 4: goto enter_string_return_4;
  default: goto enter_string_return_5;
  }}

}void
s48_init(void)
{
Snumber_of_channelsS = 100;
Spending_channels_headS = 1;
Spending_channels_tailS = 1;
Sutf_8_state_tableS = malloc(128 * sizeof(long));
Sutf_8_state_tableS[0] = 0;
Sutf_8_state_tableS[1] = 0;
Sutf_8_state_tableS[2] = 0;
Sutf_8_state_tableS[3] = 0;
Sutf_8_state_tableS[4] = 0;
Sutf_8_state_tableS[5] = 0;
Sutf_8_state_tableS[6] = 0;
Sutf_8_state_tableS[7] = 0;
Sutf_8_state_tableS[8] = 0;
Sutf_8_state_tableS[9] = 0;
Sutf_8_state_tableS[10] = 0;
Sutf_8_state_tableS[11] = 0;
Sutf_8_state_tableS[12] = 0;
Sutf_8_state_tableS[13] = 0;
Sutf_8_state_tableS[14] = 0;
Sutf_8_state_tableS[15] = 0;
Sutf_8_state_tableS[16] = -1;
Sutf_8_state_tableS[17] = -1;
Sutf_8_state_tableS[18] = -1;
Sutf_8_state_tableS[19] = -1;
Sutf_8_state_tableS[20] = -1;
Sutf_8_state_tableS[21] = -1;
Sutf_8_state_tableS[22] = -1;
Sutf_8_state_tableS[23] = -1;
Sutf_8_state_tableS[24] = 1;
Sutf_8_state_tableS[25] = 1;
Sutf_8_state_tableS[26] = 1;
Sutf_8_state_tableS[27] = 1;
Sutf_8_state_tableS[28] = 2;
Sutf_8_state_tableS[29] = 2;
Sutf_8_state_tableS[30] = 3;
Sutf_8_state_tableS[31] = -1;
Sutf_8_state_tableS[32] = -2;
Sutf_8_state_tableS[33] = -2;
Sutf_8_state_tableS[34] = -2;
Sutf_8_state_tableS[35] = -2;
Sutf_8_state_tableS[36] = -2;
Sutf_8_state_tableS[37] = -2;
Sutf_8_state_tableS[38] = -2;
Sutf_8_state_tableS[39] = -2;
Sutf_8_state_tableS[40] = -2;
Sutf_8_state_tableS[41] = -2;
Sutf_8_state_tableS[42] = -2;
Sutf_8_state_tableS[43] = -2;
Sutf_8_state_tableS[44] = -2;
Sutf_8_state_tableS[45] = -2;
Sutf_8_state_tableS[46] = -2;
Sutf_8_state_tableS[47] = -2;
Sutf_8_state_tableS[48] = 0;
Sutf_8_state_tableS[49] = 0;
Sutf_8_state_tableS[50] = 0;
Sutf_8_state_tableS[51] = 0;
Sutf_8_state_tableS[52] = 0;
Sutf_8_state_tableS[53] = 0;
Sutf_8_state_tableS[54] = 0;
Sutf_8_state_tableS[55] = 0;
Sutf_8_state_tableS[56] = -2;
Sutf_8_state_tableS[57] = -2;
Sutf_8_state_tableS[58] = -2;
Sutf_8_state_tableS[59] = -2;
Sutf_8_state_tableS[60] = -2;
Sutf_8_state_tableS[61] = -2;
Sutf_8_state_tableS[62] = -2;
Sutf_8_state_tableS[63] = -2;
Sutf_8_state_tableS[64] = -2;
Sutf_8_state_tableS[65] = -2;
Sutf_8_state_tableS[66] = -2;
Sutf_8_state_tableS[67] = -2;
Sutf_8_state_tableS[68] = -2;
Sutf_8_state_tableS[69] = -2;
Sutf_8_state_tableS[70] = -2;
Sutf_8_state_tableS[71] = -2;
Sutf_8_state_tableS[72] = -2;
Sutf_8_state_tableS[73] = -2;
Sutf_8_state_tableS[74] = -2;
Sutf_8_state_tableS[75] = -2;
Sutf_8_state_tableS[76] = -2;
Sutf_8_state_tableS[77] = -2;
Sutf_8_state_tableS[78] = -2;
Sutf_8_state_tableS[79] = -2;
Sutf_8_state_tableS[80] = 1;
Sutf_8_state_tableS[81] = 1;
Sutf_8_state_tableS[82] = 1;
Sutf_8_state_tableS[83] = 1;
Sutf_8_state_tableS[84] = 1;
Sutf_8_state_tableS[85] = 1;
Sutf_8_state_tableS[86] = 1;
Sutf_8_state_tableS[87] = 1;
Sutf_8_state_tableS[88] = -2;
Sutf_8_state_tableS[89] = -2;
Sutf_8_state_tableS[90] = -2;
Sutf_8_state_tableS[91] = -2;
Sutf_8_state_tableS[92] = -2;
Sutf_8_state_tableS[93] = -2;
Sutf_8_state_tableS[94] = -2;
Sutf_8_state_tableS[95] = -2;
Sutf_8_state_tableS[96] = -2;
Sutf_8_state_tableS[97] = -2;
Sutf_8_state_tableS[98] = -2;
Sutf_8_state_tableS[99] = -2;
Sutf_8_state_tableS[100] = -2;
Sutf_8_state_tableS[101] = -2;
Sutf_8_state_tableS[102] = -2;
Sutf_8_state_tableS[103] = -2;
Sutf_8_state_tableS[104] = -2;
Sutf_8_state_tableS[105] = -2;
Sutf_8_state_tableS[106] = -2;
Sutf_8_state_tableS[107] = -2;
Sutf_8_state_tableS[108] = -2;
Sutf_8_state_tableS[109] = -2;
Sutf_8_state_tableS[110] = -2;
Sutf_8_state_tableS[111] = -2;
Sutf_8_state_tableS[112] = 2;
Sutf_8_state_tableS[113] = 2;
Sutf_8_state_tableS[114] = 2;
Sutf_8_state_tableS[115] = 2;
Sutf_8_state_tableS[116] = 2;
Sutf_8_state_tableS[117] = 2;
Sutf_8_state_tableS[118] = 2;
Sutf_8_state_tableS[119] = 2;
Sutf_8_state_tableS[120] = -2;
Sutf_8_state_tableS[121] = -2;
Sutf_8_state_tableS[122] = -2;
Sutf_8_state_tableS[123] = -2;
Sutf_8_state_tableS[124] = -2;
Sutf_8_state_tableS[125] = -2;
Sutf_8_state_tableS[126] = -2;
Sutf_8_state_tableS[127] = -2;
Sutf_8_masksS = malloc(4 * sizeof(long));
Sutf_8_masksS[0] = 127;
Sutf_8_masksS[1] = 31;
Sutf_8_masksS[2] = 15;
Sutf_8_masksS[3] = 7;
Stemp0S = 1;
Stemp1S = 1;
Sstack_warningPS = 1;
Sgc_in_troublePS = 0;
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 = HtopD11595;
Sgc_root_procS = HtopD11606;
Snative_exception_contS = 0;
s48_Scallback_return_stack_blockS = 1;
s48_Spending_eventsPS = 0;
}
