/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpbackend-cxx/cmppass2-exit.lsp */
#include <ecl/ecl-cmp.h>
#include "cmp/cmppass2-exit.eclh"
/* function definition for UNWIND-EXIT                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3829unwind_exit(cl_object v1loc)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (Null(LC3826unwind_cond_p())){
  goto L2;
 }
 value0 = L3842unwind_cjump(v1loc);
 return value0;
L2:;
 if (Null(LC3827unwind_jump_p())){
  goto L4;
 }
 value0 = L3841unwind_label(v1loc);
 return value0;
L4:;
 if (Null(LC3828unwind_exit_p())){
  goto L6;
 }
 value0 = L3840unwind_leave(v1loc);
 return value0;
L6:;
 value0 = L3835baboon_exit_invalid(ecl_cmp_symbol_value(cl_env_copy,VV[9]));
 return value0;
}
static cl_object L3829unwind_exit_va(cl_narg narg, cl_object v2loc, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[0]);
 {
  return L3829unwind_exit(v2loc);
 }
}
/* function definition for UNWIND-JUMP                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3830unwind_jump(cl_object v1exit)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[19]))->cfun.entry(1, v1exit) /*  LABEL-DENV */;
 L3844_unwind(T0, ecl_cmp_symbol_value(cl_env_copy,VV[20]));
 value0 = L3848_goto(v1exit);
 return value0;
}
static cl_object L3830unwind_jump_va(cl_narg narg, cl_object v2exit, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[17]);
 {
  return L3830unwind_jump(v2exit);
 }
}
/* function definition for UNWIND-CONT                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3831unwind_cont(cl_object v1exit)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[19]))->cfun.entry(1, v1exit) /*  LABEL-DENV */;
 L3844_unwind(T0, ecl_cmp_symbol_value(cl_env_copy,VV[20]));
 value0 = L3848_goto(v1exit);
 return value0;
}
static cl_object L3831unwind_cont_va(cl_narg narg, cl_object v2exit, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[23]);
 {
  return L3831unwind_cont(v2exit);
 }
}
/* function definition for UNWIND-FLEE                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3832unwind_flee(cl_object v1exit, cl_object v2kind)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = L3846_escape(v1exit, v2kind);
 return value0;
}
static cl_object L3832unwind_flee_va(cl_narg narg, cl_object v3exit, cl_object v4kind, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[25]);
 {
  return L3832unwind_flee(v3exit, v4kind);
 }
}
/* function definition for UNWIND-COND                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3833unwind_cond(cl_narg narg, cl_object v1exit, cl_object v2kind, ...)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 if (ecl_unlikely(narg<2)) FEwrong_num_arguments(VV[28]);
 {
  cl_object v3args;
  ecl_va_list args; ecl_va_start(args,v2kind,narg,2);
  v3args = cl_grab_rest_args(args);
  ecl_va_end(args);
  value0 = L3845_branch(v1exit, ecl_cmp_symbol_value(cl_env_copy,VV[20]), v2kind, v3args);
  return value0;
 }
}
/* function definition for BABOON-EXIT-NOT-FOUND                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3834baboon_exit_not_found(cl_object v1exit)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = cl_list(2, v1exit, ecl_cmp_symbol_value(cl_env_copy,VV[20]));
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[33], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
 return value0;
}
static cl_object L3834baboon_exit_not_found_va(cl_narg narg, cl_object v2exit, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[31]);
 {
  return L3834baboon_exit_not_found(v2exit);
 }
}
/* function definition for BABOON-EXIT-INVALID                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3835baboon_exit_invalid(cl_object v1exit)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = ecl_list1(v1exit);
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[35], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
 return value0;
}
static cl_object L3835baboon_exit_invalid_va(cl_narg narg, cl_object v2exit, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[15]);
 {
  return L3835baboon_exit_invalid(v2exit);
 }
}
/* function definition for BABOON-UNWIND-INVALID                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3836baboon_unwind_invalid(cl_object v1unwind_to, cl_object v2unwind_from)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = cl_list(2, v1unwind_to, v2unwind_from);
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[38], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
 return value0;
}
static cl_object L3836baboon_unwind_invalid_va(cl_narg narg, cl_object v3unwind_to, cl_object v4unwind_from, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[37]);
 {
  return L3836baboon_unwind_invalid(v3unwind_to, v4unwind_from);
 }
}
/* function definition for BABOON-UNWIND-EXIT                                 */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3837baboon_unwind_exit(cl_object v1exit)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = cl_list(2, v1exit, ecl_cmp_symbol_value(cl_env_copy,VV[20]));
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[41], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
 return value0;
}
static cl_object L3837baboon_unwind_exit_va(cl_narg narg, cl_object v2exit, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[40]);
 {
  return L3837baboon_unwind_exit(v2exit);
 }
}
/* function definition for DESTINATION-VALUE-MATTERS-P                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3838destination_value_matters_p(cl_object v1dest)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!(ECL_ATOM(v1dest))){
  goto L2;
 }
 {
  bool v2;
  v2 = (v1dest)==(VV[44]);
  value0 = (v2)?ECL_NIL:ECL_T;
  cl_env_copy->nvalues = 1;
  return value0;
 }
L2:;
 {
  cl_object v2;
  v2 = ecl_car(v1dest);
  if (!((v2)==(VV[4]))){
   goto L10;
  }
  value0 = VV[3];
  goto L8;
L10:;
  value0 = ECL_NIL;
  goto L8;
L8:;
  if (value0!=ECL_NIL) {
   goto L7;
  }
  if (!((v2)==(VV[5]))){
   goto L13;
  }
  T0 = VV[6];
  goto L4;
L13:;
  T0 = ECL_NIL;
  goto L4;
L7:;
  T0 = value0;
  goto L4;
 }
L4:;
 value0 = Null(T0)?ECL_T:ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
/* function definition for COMPUTE-UNWIND                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3839compute_unwind(cl_object v1unwind_to, cl_object v2unwind_from)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (cl_tailp(v1unwind_to, v2unwind_from)!=ECL_NIL) {
  goto L2;
 }
 L3836baboon_unwind_invalid(v1unwind_to, v2unwind_from);
L2:;
 {
  cl_object v3bds_lcl;
  v3bds_lcl = ECL_NIL;
  {
   cl_object v4bds_bind;
   v4bds_bind = ecl_make_int8_t(0);
   {
    cl_object v5stack_frame;
    v5stack_frame = ECL_NIL;
    {
     cl_object v6ihs_p;
     v6ihs_p = ECL_NIL;
     {
      cl_object v7frs_bind;
      v7frs_bind = ecl_make_int8_t(0);
      {
       cl_object v8jump_p;
       v8jump_p = ECL_NIL;
       {
        cl_object v9exit_p;
        v9exit_p = ECL_NIL;
        {
         cl_object v10unwind_exit;
         v10unwind_exit = v2unwind_from;
         {
          cl_object v11ue;
          v11ue = ECL_NIL;
L13:;
          if (!(ECL_ATOM(v10unwind_exit))){
          goto L15;
          }
          goto L14;
L15:;
          v11ue = ecl_car(v10unwind_exit);
          if (!((v10unwind_exit)==(v1unwind_to))){
          goto L19;
          }
          goto L14;
L19:;
          if (!(ECL_CONSP(v11ue))){
          goto L22;
          }
          {
          cl_object v12;
          v12 = ecl_car(v11ue);
          if (!((v12)==(VV[48]))){
          goto L25;
          }
          v5stack_frame = ecl_cadr(v11ue);
          goto L21;
L25:;
          if (!((v12)==(VV[49]))){
          goto L28;
          }
          v3bds_lcl = v11ue;
          v4bds_bind = ecl_make_int8_t(0);
          goto L21;
L28:;
          L3837baboon_unwind_exit(v11ue);
          goto L21;
          }
L22:;
          if (Null((cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, v11ue) /*  LABELP */)){
          goto L33;
          }
          v8jump_p = ECL_T;
          goto L21;
L33:;
          if (!((v11ue)==(VV[50]))){
          goto L36;
          }
          v4bds_bind = ecl_plus(v4bds_bind,ecl_make_int8_t(1));
          goto L21;
L36:;
          if (!((v11ue)==(VV[51]))){
          goto L39;
          }
          v7frs_bind = ecl_plus(v7frs_bind,ecl_make_int8_t(1));
          goto L21;
L39:;
          if (!((v11ue)==(VV[52]))){
          goto L42;
          }
          v6ihs_p = v11ue;
          goto L21;
L42:;
          if (!((v11ue)==(VV[53]))){
          goto L45;
          }
          value0 = v6ihs_p;
          if (value0!=ECL_NIL) {
          goto L49;
          }
          v6ihs_p = v11ue;
          goto L47;
L49:;
          v6ihs_p = value0;
          goto L47;
L47:;
          goto L21;
L45:;
          if (!((v11ue)==(VV[11]))){
          goto L51;
          }
          v9exit_p = ECL_T;
          goto L21;
L51:;
          L3837baboon_unwind_exit(v11ue);
L21:;
          v10unwind_exit = ECL_CONS_CDR(v10unwind_exit);
          goto L13;
L14:;
          cl_env_copy->nvalues = 7;
          cl_env_copy->values[6] = v9exit_p;
          cl_env_copy->values[5] = v8jump_p;
          cl_env_copy->values[4] = v6ihs_p;
          cl_env_copy->values[3] = v5stack_frame;
          cl_env_copy->values[2] = v4bds_bind;
          cl_env_copy->values[1] = v3bds_lcl;
          cl_env_copy->values[0] = v7frs_bind;
          return cl_env_copy->values[0];
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
/* function definition for UNWIND-LEAVE                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3840unwind_leave(cl_object v1loc)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!((v1loc)==(VV[55]))){
  goto L6;
 }
 goto L2;
L6:;
 goto L4;
L4:;
 if (!((v1loc)==(VV[11]))){
  goto L9;
 }
 goto L2;
L9:;
 goto L3;
L3:;
 (cl_env_copy->function=ecl_fdefinition(VV[57]))->cfun.entry(2, VV[11], v1loc) /*  SET-LOC */;
 v1loc = VV[11];
L2:;
 L3844_unwind(ECL_NIL, ecl_cmp_symbol_value(cl_env_copy,VV[20]));
 value0 = L3849_exit(v1loc);
 return value0;
}
/* function definition for UNWIND-LABEL                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3841unwind_label(cl_object v1loc)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v2exit;
  cl_object v3dest;
  cl_object v4from;
  cl_object v5exit_denv;
  v2exit = ecl_cmp_symbol_value(cl_env_copy,VV[9]);
  v3dest = ecl_cmp_symbol_value(cl_env_copy,VV[2]);
  v4from = ecl_cmp_symbol_value(cl_env_copy,VV[20]);
  {
   cl_object v6;
   cl_object v7;
   cl_object v8;
   v6 = (ECL_SYM("EQ",335)->symbol.gfdef);
   v7 = v2exit;
   v8 = v4from;
   v5exit_denv = si_memq(v7,v8);
  }
  if (v5exit_denv!=ECL_NIL) {
   goto L9;
  }
  L3834baboon_exit_not_found(v2exit);
L9:;
  if (Null(L3838destination_value_matters_p(v3dest))){
   goto L12;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[59]))->cfun.entry(1, v3dest) /*  LOC-REFERS-TO-SPECIAL-P */)){
   goto L12;
  }
  {
   cl_object v6temp;
   ecl_bds_push(cl_env_copy,VV[60]);              /*  *TEMP*                  */
   v6temp = (cl_env_copy->function=ecl_fdefinition(VV[61]))->cfun.entry(0) /*  MAKE-TEMP-VAR */;
   (cl_env_copy->function=ecl_fdefinition(VV[57]))->cfun.entry(2, v6temp, v1loc) /*  SET-LOC */;
   L3844_unwind(v5exit_denv, v4from);
   (cl_env_copy->function=ecl_fdefinition(VV[57]))->cfun.entry(2, v3dest, v6temp) /*  SET-LOC */;
   ecl_bds_unwind1(cl_env_copy);
   goto L11;
  }
L12:;
  (cl_env_copy->function=ecl_fdefinition(VV[57]))->cfun.entry(2, v3dest, v1loc) /*  SET-LOC */;
  L3844_unwind(v5exit_denv, v4from);
L11:;
  value0 = L3847_jump(v2exit, v4from);
  return value0;
 }
}
/* function definition for UNWIND-CJUMP                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3842unwind_cjump(cl_object v1loc)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v2;                                   /*  CONSTANTP               */
  cl_object v3;                                   /*  VALUE                   */
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[63]))->cfun.entry(1, v1loc) /*  LOC-IMMEDIATE-VALUE-P */;
  {
   const int v4 = cl_env_copy->nvalues;
   v2 = value0;
   cl_object v5;
   v5 = (v4<=1)? ECL_NIL : cl_env_copy->values[1];
   v3 = v5;
  }
  {
   cl_object v4;
   cl_object v5;
   cl_object v6target;
   cl_object v7label;
   v4 = ecl_cmp_symbol_value(cl_env_copy,VV[2]);
   v5 = v4;
   if (!(v5==ECL_NIL)){
    goto L6;
   }
   si_dm_too_few_arguments(v4);
L6:;
   {
    cl_object v8;
    v8 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v6target = v8;
   }
   if (!(v5==ECL_NIL)){
    goto L12;
   }
   si_dm_too_few_arguments(v4);
L12:;
   {
    cl_object v8;
    v8 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v7label = v8;
   }
   if (Null(v5)){
    goto L17;
   }
   si_dm_too_many_arguments(v4);
L17:;
   if (!((v6target)==(VV[5]))){
    goto L19;
   }
   if (v2!=ECL_NIL) {
    goto L22;
   }
   L3833unwind_cond(3, v7label, VV[66], v1loc);
   goto L21;
L22:;
   if (v3==ECL_NIL) {
    goto L21;
   }
   L3830unwind_jump(v7label);
L21:;
   if (Null(v2)){
    goto L28;
   }
   if (!(v3==ECL_NIL)){
    goto L25;
   }
   goto L26;
L28:;
   goto L26;
L26:;
   ecl_bds_bind(cl_env_copy,VV[2],VV[44]);        /*  *DESTINATION*           */
   if (Null((cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, ecl_cmp_symbol_value(cl_env_copy,VV[9])) /*  LABELP */)){
    goto L30;
   }
   value0 = L3841unwind_label(ecl_cmp_symbol_value(cl_env_copy,VV[67]));
   ecl_bds_unwind1(cl_env_copy);
   return value0;
L30:;
   value0 = L3840unwind_leave(ecl_cmp_symbol_value(cl_env_copy,VV[67]));
   ecl_bds_unwind1(cl_env_copy);
   return value0;
L25:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
L19:;
   if (!((v6target)==(VV[4]))){
    goto L32;
   }
   if (v2!=ECL_NIL) {
    goto L35;
   }
   L3833unwind_cond(3, v7label, VV[68], v1loc);
   goto L34;
L35:;
   if (!(v3==ECL_NIL)){
    goto L34;
   }
   L3830unwind_jump(v7label);
L34:;
   if (Null(v2)){
    goto L41;
   }
   if (v3==ECL_NIL) {
    goto L38;
   }
   goto L39;
L41:;
   goto L39;
L39:;
   ecl_bds_bind(cl_env_copy,VV[2],VV[44]);        /*  *DESTINATION*           */
   if (Null((cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, ecl_cmp_symbol_value(cl_env_copy,VV[9])) /*  LABELP */)){
    goto L43;
   }
   value0 = L3841unwind_label(ecl_cmp_symbol_value(cl_env_copy,VV[69]));
   ecl_bds_unwind1(cl_env_copy);
   return value0;
L43:;
   value0 = L3840unwind_leave(ecl_cmp_symbol_value(cl_env_copy,VV[69]));
   ecl_bds_unwind1(cl_env_copy);
   return value0;
L38:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
L32:;
   value0 = si_ecase_error(v6target, VV[70]);
   return value0;
  }
 }
}
/* function definition for PERFORM-UNWIND                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3843perform_unwind(cl_object v1frs_bind, cl_object v2bds_lcl, cl_object v3bds_bind, cl_object v4stack_frame, cl_object v5ihs_p)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 cl_fixnum v6frs_bind;
 cl_fixnum v7bds_bind;
 v6frs_bind = ecl_to_fixnum(v1frs_bind);
 v7bds_bind = ecl_to_fixnum(v3bds_bind);
L1:;
 if (!((v6frs_bind)>0)){
  goto L2;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[73], ecl_make_fixnum(v6frs_bind), VV[74]) /*  WT-NL */;
L2:;
 if (Null(v4stack_frame)){
  goto L4;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[75], v4stack_frame, VV[74]) /*  WT-NL */;
L4:;
 if (Null(v2bds_lcl)){
  goto L6;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[76], v2bds_lcl, VV[74]) /*  WT-NL */;
L6:;
 if (!((v7bds_bind)<((cl_fixnum)(4)))){
  goto L9;
 }
 {
  cl_fixnum v8n;
  v8n = (cl_fixnum)(0);
  goto L13;
L12:;
  (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, VV[77]) /*  WT-NL */;
  v8n = (v8n)+1;
L13:;
  if (!((v8n)<(v7bds_bind))){
   goto L18;
  }
  goto L12;
L18:;
  goto L8;
 }
L9:;
 (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[78], ecl_make_fixnum(v7bds_bind), VV[74]) /*  WT-NL */;
L8:;
 if (!((v5ihs_p)==(VV[52]))){
  goto L20;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, VV[79]) /*  WT-NL */;
 return value0;
L20:;
 if (!((v5ihs_p)==(VV[53]))){
  goto L22;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, VV[80]) /*  WT-NL */;
 return value0;
L22:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
/* function definition for %UNWIND                                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3844_unwind(cl_object v1into, cl_object v2from)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v3;                                   /*  FRS-BIND                */
  cl_object v4;                                   /*  BDS-LCL                 */
  cl_object v5;                                   /*  BDS-BIND                */
  cl_object v6;                                   /*  STACK-FRAME             */
  cl_object v7;                                   /*  IHS-P                   */
  value0 = L3839compute_unwind(v1into, v2from);
  {
   const int v8 = cl_env_copy->nvalues;
   v3 = value0;
   cl_object v9;
   v9 = (v8<=1)? ECL_NIL : cl_env_copy->values[1];
   v4 = v9;
   v9 = (v8<=2)? ECL_NIL : cl_env_copy->values[2];
   v5 = v9;
   v9 = (v8<=3)? ECL_NIL : cl_env_copy->values[3];
   v6 = v9;
   v9 = (v8<=4)? ECL_NIL : cl_env_copy->values[4];
   v7 = v9;
  }
  value0 = L3843perform_unwind(v3, v4, v5, v6, v7);
  return value0;
 }
}
/* function definition for %BRANCH                                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3845_branch(cl_object v1exit, cl_object v2from, cl_object v3kind, cl_object v4args)
{
 cl_object T0, T1;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!((v3kind)==(VV[66]))){
  goto L3;
 }
 {
  cl_object v5;
  cl_object v6loc;
  v5 = v4args;
  if (!(v5==ECL_NIL)){
   goto L7;
  }
  si_dm_too_few_arguments(v4args);
L7:;
  {
   cl_object v7;
   v7 = ecl_car(v5);
   v5 = ecl_cdr(v5);
   v6loc = v7;
  }
  if (Null(v5)){
   goto L12;
  }
  si_dm_too_many_arguments(v4args);
L12:;
  {
   cl_object v7;
   v7 = (cl_env_copy->function=ecl_fdefinition(VV[81]))->cfun.entry(1, v6loc) /*  LOC-HOST-TYPE */;
   if (!((v7)==(VV[82]))){
    goto L15;
   }
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[83], v6loc, VV[84]) /*  WT-NL */;
   goto L2;
L15:;
   if (!((v7)==(ECL_SYM("OBJECT",1315)))){
    goto L17;
   }
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[83], v6loc, VV[85]) /*  WT-NL */;
   goto L2;
L17:;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[87]))->cfun.entry(2, ECL_SYM("OBJECT",1315), v6loc) /*  COERCE-LOC */;
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[86], T0, VV[88]) /*  WT-NL */;
   goto L2;
  }
 }
L3:;
 if (!((v3kind)==(VV[68]))){
  goto L19;
 }
 {
  cl_object v8;
  cl_object v9loc;
  v8 = v4args;
  if (!(v8==ECL_NIL)){
   goto L23;
  }
  si_dm_too_few_arguments(v4args);
L23:;
  {
   cl_object v10;
   v10 = ecl_car(v8);
   v8 = ecl_cdr(v8);
   v9loc = v10;
  }
  if (Null(v8)){
   goto L28;
  }
  si_dm_too_many_arguments(v4args);
L28:;
  {
   cl_object v10;
   v10 = (cl_env_copy->function=ecl_fdefinition(VV[81]))->cfun.entry(1, v9loc) /*  LOC-HOST-TYPE */;
   if (!((v10)==(VV[82]))){
    goto L31;
   }
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[89], v9loc, VV[90]) /*  WT-NL */;
   goto L2;
L31:;
   if (!((v10)==(ECL_SYM("OBJECT",1315)))){
    goto L33;
   }
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[91], v9loc, VV[90]) /*  WT-NL */;
   goto L2;
L33:;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[87]))->cfun.entry(2, ECL_SYM("OBJECT",1315), v9loc) /*  COERCE-LOC */;
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[91], T0, VV[90]) /*  WT-NL */;
   goto L2;
  }
 }
L19:;
 if (!((v3kind)==(VV[92]))){
  goto L35;
 }
 {
  cl_object v11;
  cl_object v12x;
  cl_object v13y;
  v11 = v4args;
  if (!(v11==ECL_NIL)){
   goto L39;
  }
  si_dm_too_few_arguments(v4args);
L39:;
  {
   cl_object v14;
   v14 = ecl_car(v11);
   v11 = ecl_cdr(v11);
   v12x = v14;
  }
  if (!(v11==ECL_NIL)){
   goto L45;
  }
  si_dm_too_few_arguments(v4args);
L45:;
  {
   cl_object v14;
   v14 = ecl_car(v11);
   v11 = ecl_cdr(v11);
   v13y = v14;
  }
  if (Null(v11)){
   goto L50;
  }
  si_dm_too_many_arguments(v4args);
L50:;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[87]))->cfun.entry(2, ECL_SYM("OBJECT",1315), v12x) /*  COERCE-LOC */;
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[87]))->cfun.entry(2, ECL_SYM("OBJECT",1315), v13y) /*  COERCE-LOC */;
  (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(5, VV[83], T0, VV[93], T1, VV[84]) /*  WT-NL */;
  goto L2;
 }
L35:;
 si_ecase_error(v3kind, VV[94]);
L2:;
 (cl_env_copy->function=ecl_fdefinition(VV[95]))->cfun.entry(0) /*  WT-OPEN-BRACE */;
 {
  cl_object v5;                                   /*  FRS-BIND                */
  cl_object v6;                                   /*  BDS-LCL                 */
  cl_object v7;                                   /*  BDS-BIND                */
  cl_object v8;                                   /*  STACK-FRAME             */
  cl_object v9;                                   /*  IHS-P                   */
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[19]))->cfun.entry(1, v1exit) /*  LABEL-DENV */;
  value0 = L3839compute_unwind(T0, v2from);
  {
   const int v10 = cl_env_copy->nvalues;
   v5 = value0;
   cl_object v11;
   v11 = (v10<=1)? ECL_NIL : cl_env_copy->values[1];
   v6 = v11;
   v11 = (v10<=2)? ECL_NIL : cl_env_copy->values[2];
   v7 = v11;
   v11 = (v10<=3)? ECL_NIL : cl_env_copy->values[3];
   v8 = v11;
   v11 = (v10<=4)? ECL_NIL : cl_env_copy->values[4];
   v9 = v11;
  }
  L3843perform_unwind(v5, v6, v7, v8, v9);
  (cl_env_copy->function=ecl_fdefinition(VV[96]))->cfun.entry(1, v1exit) /*  WT-NL-GO */;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[97]))->cfun.entry(0) /*  WT-NL-CLOSE-BRACE */;
 return value0;
}
static cl_object L3845_branch_va(cl_narg narg, cl_object v5exit, cl_object v6from, cl_object v7kind, cl_object v8args, ...)
{
 if (ecl_unlikely(narg!=4)) FEwrong_num_arguments(VV[29]);
 {
  return L3845_branch(v5exit, v6from, v7kind, v8args);
 }
}
/* function definition for %ESCAPE                                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3846_escape(cl_object v1exit, cl_object v2kind)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!((v2kind)==(VV[99]))){
  goto L2;
 }
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[101]))->cfun.entry(1, v1exit) /*  TAG-VAR */;
 T1 = (cl_env_copy->function=ecl_fdefinition(VV[103]))->cfun.entry(1, v1exit) /*  TAG-INDEX */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(5, VV[100], T0, VV[102], T1, VV[104]) /*  WT-NL */;
 return value0;
L2:;
 if (!((v2kind)==(VV[105]))){
  goto L4;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[106], v1exit, VV[74]) /*  WT-NL */;
 return value0;
L4:;
 if (!((v2kind)==(VV[107]))){
  goto L6;
 }
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[109]))->cfun.entry(1, v1exit) /*  BLK-VAR */;
 T1 = (cl_env_copy->function=ecl_fdefinition(VV[112]))->cfun.entry(1, v1exit) /*  BLK-NAME */;
 T2 = (cl_env_copy->function=ecl_fdefinition(VV[111]))->cfun.entry(1, T1) /*  GET-OBJECT */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(5, VV[108], T0, VV[110], T2, VV[74]) /*  WT-NL */;
 return value0;
L6:;
 value0 = si_ecase_error(v2kind, VV[113]);
 return value0;
}
static cl_object L3846_escape_va(cl_narg narg, cl_object v3exit, cl_object v4kind, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[26]);
 {
  return L3846_escape(v3exit, v4kind);
 }
}
/* function definition for %JUMP                                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3847_jump(cl_object v1label, cl_object v2from)
{
 cl_object T0, T1;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = ecl_fdefinition(VV[8]);
 T1 = cl_find_if(2, T0, v2from);
 if ((v1label)==(T1)) {
  goto L2;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[96]))->cfun.entry(1, v1label) /*  WT-NL-GO */;
 return value0;
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3847_jump_va(cl_narg narg, cl_object v3label, cl_object v4from, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[62]);
 {
  return L3847_jump(v3label, v4from);
 }
}
/* function definition for %GOTO                                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3848_goto(cl_object v1label)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[96]))->cfun.entry(1, v1label) /*  WT-NL-GO */;
 return value0;
}
static cl_object L3848_goto_va(cl_narg narg, cl_object v2label, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[21]);
 {
  return L3848_goto(v2label);
 }
}
/* function definition for %EXIT                                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3849_exit(cl_object v1loc)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(3, VV[117], v1loc, VV[118]) /*  WT-NL */;
 return value0;
}
static cl_object L3849_exit_va(cl_narg narg, cl_object v2loc, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[58]);
 {
  return L3849_exit(v2loc);
 }
}
/* local function UNWIND-EXIT-P                                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3828unwind_exit_p()
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = ecl_make_bool((ecl_cmp_symbol_value(cl_env_copy,VV[9]))==(VV[11]));
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3828unwind_exit_p_va(cl_narg narg, ...)
{
 if (ecl_unlikely(narg!=0)) FEwrong_num_arguments(VV[10]);
 {
  return LC3828unwind_exit_p();
 }
}
/* local function UNWIND-JUMP-P                                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3827unwind_jump_p()
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, ecl_cmp_symbol_value(cl_env_copy,VV[9])) /*  LABELP */;
 return value0;
}
static cl_object LC3827unwind_jump_p_va(cl_narg narg, ...)
{
 if (ecl_unlikely(narg!=0)) FEwrong_num_arguments(VV[7]);
 {
  return LC3827unwind_jump_p();
 }
}
/* local function UNWIND-COND-P                                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3826unwind_cond_p()
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!(ECL_CONSP(ecl_cmp_symbol_value(cl_env_copy,VV[2])))){
  goto L3;
 }
 {
  cl_object v1;
  v1 = ECL_CONS_CAR(ecl_cmp_symbol_value(cl_env_copy,VV[2]));
  if (!((v1)==(VV[4]))){
   goto L10;
  }
  value0 = VV[3];
  goto L8;
L10:;
  value0 = ECL_NIL;
  goto L8;
L8:;
  if (value0!=ECL_NIL) {
   goto L7;
  }
  if (!((v1)==(VV[5]))){
   goto L13;
  }
  value0 = VV[6];
  cl_env_copy->nvalues = 1;
  return value0;
L13:;
  value0 = ECL_NIL;
  cl_env_copy->nvalues = 1;
  return value0;
L7:;
  cl_env_copy->nvalues = 1;
  return value0;
 }
L3:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3826unwind_cond_p_va(cl_narg narg, ...)
{
 if (ecl_unlikely(narg!=0)) FEwrong_num_arguments(VV[1]);
 {
  return LC3826unwind_cond_p();
 }
}
#include "cmp/cmppass2-exit.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclkAvmoGyJzbWk9_ira0M881(cl_object flag)
{
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 cl_object *VVtemp;
 if (flag != OBJNULL){
 Cblock = flag;
 #ifndef ECL_DYNAMIC_VV
 flag->cblock.data = VV;
 #endif
 flag->cblock.data_size = VM;
 flag->cblock.temp_data_size = VMtemp;
 flag->cblock.data_text = compiler_data_text;
 flag->cblock.cfuns_size = compiler_cfuns_size;
 flag->cblock.cfuns = compiler_cfuns;
 flag->cblock.source = ecl_make_constant_base_string("SRC:CMP;CMPBACKEND-CXX;CMPPASS2-EXIT.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclkAvmoGyJzbWk9_ira0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(VVtemp[0]);
  ecl_cmp_defun(VV[120]);                         /*  UNWIND-EXIT             */
  ecl_cmp_defun(VV[121]);                         /*  UNWIND-JUMP             */
  ecl_cmp_defun(VV[122]);                         /*  UNWIND-CONT             */
  ecl_cmp_defun(VV[123]);                         /*  UNWIND-FLEE             */
  ecl_cmp_defun(VV[124]);                         /*  UNWIND-COND             */
  ecl_cmp_defun(VV[125]);                         /*  BABOON-EXIT-NOT-FOUND   */
  ecl_cmp_defun(VV[126]);                         /*  BABOON-EXIT-INVALID     */
  ecl_cmp_defun(VV[127]);                         /*  BABOON-UNWIND-INVALID   */
  ecl_cmp_defun(VV[128]);                         /*  BABOON-UNWIND-EXIT      */
  (void)0; /* No entry created for DESTINATION-VALUE-MATTERS-P */
  (void)0; /* No entry created for COMPUTE-UNWIND */
  (void)0; /* No entry created for UNWIND-LEAVE */
  (void)0; /* No entry created for UNWIND-LABEL */
  (void)0; /* No entry created for UNWIND-CJUMP */
  (void)0; /* No entry created for PERFORM-UNWIND */
  (void)0; /* No entry created for %UNWIND */
  ecl_cmp_defun(VV[129]);                         /*  %BRANCH                 */
  ecl_cmp_defun(VV[130]);                         /*  %ESCAPE                 */
  ecl_cmp_defun(VV[131]);                         /*  %JUMP                   */
  ecl_cmp_defun(VV[132]);                         /*  %GOTO                   */
  ecl_cmp_defun(VV[133]);                         /*  %EXIT                   */
}
