/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpbackend-cxx/cmppass2-fun.lsp */
#include <ecl/ecl-cmp.h>
#include "cmp/cmppass2-fun.eclh"
/* function definition for C2LOCALS                                           */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3944c2locals(cl_object v1c1form, cl_object v2funs, cl_object v3body, cl_object v4labels)
{
 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:;
 ecl_bds_push(cl_env_copy,VV[0]);                 /*  *ENV*                   */
 ecl_bds_bind(cl_env_copy,VV[1],ecl_make_int8_t(0)); /*  *INLINE-BLOCKS*      */
 ecl_bds_push(cl_env_copy,VV[2]);                 /*  *ENV-LVL*               */
 {
  cl_object v5env_grows;
  v5env_grows = ECL_NIL;
  {
   cl_object v6closed_vars;
   v6closed_vars = ECL_NIL;
   {
    cl_object v7;
    cl_object v8fun;
    cl_object v9;
    {
     cl_object v10;
     v10 = v2funs;
     if (ecl_unlikely(!ECL_LISTP(v10))) FEtype_error_list(v10);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v7 = v10;
    }
    v8fun = ECL_NIL;
    v9 = v7;
    {
     cl_object v10var;
     v10var = ECL_NIL;
L11:;
     if (!(ecl_endp(v9))){
      goto L13;
     }
     goto L12;
L13:;
     v8fun = ECL_CONS_CAR(v9);
     {
      cl_object v11;
      v11 = ECL_CONS_CDR(v9);
      if (ecl_unlikely(!ECL_LISTP(v11))) FEtype_error_list(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v9 = v11;
     }
     v10var = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, v8fun) /*  FUN-VAR */;
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(1, v10var) /*  VAR-REF */;
     if (!(ecl_plusp(T0))){
      goto L23;
     }
     {
      cl_object v11;
      v11 = (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, v10var) /*  VAR-KIND */;
      if (!((v11)==(VV[10]))){
       goto L31;
      }
      goto L28;
L31:;
      goto L29;
L29:;
      if (!((v11)==(VV[11]))){
       goto L26;
      }
      goto L27;
L28:;
L27:;
      v6closed_vars = CONS(v10var,v6closed_vars);
      if (v5env_grows!=ECL_NIL) {
       goto L23;
      }
      v5env_grows = (cl_env_copy->function=ecl_fdefinition(VV[13]))->cfun.entry(1, v10var) /*  VAR-REF-CCB */;
      goto L23;
L26:;
      (cl_env_copy->function=ecl_fdefinition(VV[14]))->cfun.entry(0) /*  MAYBE-OPEN-INLINE-BLOCK */;
      T0 = (cl_env_copy->function=ecl_fdefinition(VV[16]))->cfun.entry(0) /*  NEXT-LCL */;
      (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, T0, v10var) /*  BIND */;
      (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(4, VV[18], ecl_cmp_symbol_value(cl_env_copy,VV[19]), v10var, VV[20]) /*  WT-NL */;
     }
L23:;
     goto L11;
L12:;
     if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v5env_grows) /*  ENV-GROWS */)){
      goto L42;
     }
     (cl_env_copy->function=ecl_fdefinition(VV[14]))->cfun.entry(0) /*  MAYBE-OPEN-INLINE-BLOCK */;
     {
      cl_object v11env_lvl;
      v11env_lvl = ecl_cmp_symbol_value(cl_env_copy,VV[2]);
      T0 = ecl_cmp_symbol_value(cl_env_copy,VV[19]);
      T2 = ecl_plus(ecl_cmp_symbol_value(cl_env_copy,VV[2]),ecl_make_int8_t(1));
      ecl_cmp_setq(cl_env_copy,VV[2],T2);
      T1 = ecl_cmp_symbol_value(cl_env_copy,VV[2]);
      (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(7, VV[18], T0, VV[23], T1, VV[24], v11env_lvl, VV[20]) /*  WT */;
     }
L42:;
     {
      cl_object v11;
      cl_object v12var;
      cl_object v13;
      {
       cl_object v14;
       v14 = v6closed_vars;
       if (ecl_unlikely(!ECL_LISTP(v14))) FEtype_error_list(v14);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v11 = v14;
      }
      v12var = ECL_NIL;
      v13 = v11;
L54:;
      if (!(ecl_endp(v13))){
       goto L56;
      }
      goto L55;
L56:;
      v12var = ECL_CONS_CAR(v13);
      {
       cl_object v14;
       v14 = ECL_CONS_CDR(v13);
       if (ecl_unlikely(!ECL_LISTP(v14))) FEtype_error_list(v14);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v13 = v14;
      }
      (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, ecl_cmp_symbol_value(cl_env_copy,VV[25]), v12var) /*  BIND */;
      goto L54;
L55:;
     }
    }
   }
  }
 }
 T0 = ecl_fdefinition(VV[26]);
 cl_map(3, ECL_NIL, T0, v2funs);
 {
  cl_object v5;
  cl_object v6fun;
  cl_object v7;
  {
   cl_object v8;
   v8 = v2funs;
   if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 0;
   v5 = v8;
  }
  v6fun = ECL_NIL;
  v7 = v5;
  {
   cl_object v8var;
   v8var = ECL_NIL;
L75:;
   if (!(ecl_endp(v7))){
    goto L77;
   }
   goto L76;
L77:;
   v6fun = ECL_CONS_CAR(v7);
   {
    cl_object v9;
    v9 = ECL_CONS_CDR(v7);
    if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v7 = v9;
   }
   v8var = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, v6fun) /*  FUN-VAR */;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(1, v8var) /*  VAR-REF */;
   if (!(ecl_plusp(T0))){
    goto L87;
   }
   T0 = cl_list(2, VV[28], v6fun);
   (cl_env_copy->function=ecl_fdefinition(VV[27]))->cfun.entry(2, T0, v8var) /*  SET-VAR */;
L87:;
   goto L75;
L76:;
  }
 }
 (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v3body) /*  C2EXPR */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[30]))->cfun.entry(0) /*  CLOSE-INLINE-BLOCKS */;
 ecl_bds_unwind1(cl_env_copy);
 ecl_bds_unwind1(cl_env_copy);
 ecl_bds_unwind1(cl_env_copy);
 return value0;
}
static cl_object L3944c2locals_va(cl_narg narg, cl_object v5c1form, cl_object v6funs, cl_object v7body, cl_object v8labels, ...)
{
 if (ecl_unlikely(narg!=4)) FEwrong_num_arguments(VV[3]);
 {
  return L3944c2locals(v5c1form, v6funs, v7body, v8labels);
 }
}
/* function definition for UPDATE-FUNCTION-ENV                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3945update_function_env(cl_object v1fun)
{
 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;
  v2 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(1, v1fun) /*  FUN-CLOSURE */;
  if (!((v2)==(VV[11]))){
   goto L4;
  }
  ecl_structure_set(v1fun,VV[33],(cl_fixnum)(7),ecl_make_int8_t(0));
  {
   cl_object v3;
   v3 = ecl_cmp_symbol_value(cl_env_copy,VV[0]);
   ecl_structure_set(v1fun,VV[33],(cl_fixnum)(8),v3);
   goto L2;
  }
L4:;
  if (!((v2)==(VV[10]))){
   goto L8;
  }
  {
   cl_object v4;
   if (!(ecl_plusp(ecl_cmp_symbol_value(cl_env_copy,VV[34])))){
    goto L12;
   }
   v4 = ecl_one_plus(ecl_cmp_symbol_value(cl_env_copy,VV[35]));
   goto L11;
L12:;
   v4 = ecl_cmp_symbol_value(cl_env_copy,VV[35]);
L11:;
   ecl_structure_set(v1fun,VV[33],(cl_fixnum)(7),v4);
  }
  ecl_structure_set(v1fun,VV[33],(cl_fixnum)(8),ecl_make_int8_t(0));
  goto L2;
L8:;
  ecl_structure_set(v1fun,VV[33],(cl_fixnum)(7),ecl_make_int8_t(0));
  ecl_structure_set(v1fun,VV[33],(cl_fixnum)(8),ecl_make_int8_t(0));
 }
L2:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1fun) /*  REGISTER-FUNCTION */;
 return value0;
}
static cl_object L3945update_function_env_va(cl_narg narg, cl_object v2fun, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[26]);
 {
  return L3945update_function_env(v2fun);
 }
}
/* function definition for C2LAMBDA-EXPR                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3949c2lambda_expr(cl_object v1lambda_list, cl_object v2body, cl_object v3cfun, cl_object v4fname, cl_object v5description, cl_object v6use_narg, cl_object v7required_lcls, cl_object v8closure_type, cl_object v9optional_type_check_forms, cl_object v10keyword_type_check_forms, cl_object v11c_compatible_variadic_signature)
{
 cl_object T0, T1, T2;
 volatile cl_object lex0[3];
 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);
 lex0[0] = v7required_lcls;                       /*  REQUIRED-LCLS           */
 lex0[1] = v8closure_type;                        /*  CLOSURE-TYPE            */
 lex0[2] = v11c_compatible_variadic_signature;    /*  C-COMPATIBLE-VARIADIC-SIGNATURE */
L1:;
 {
  cl_object v12requireds;
  cl_object v13optionals;
  cl_object v14rest;
  cl_object v15rest_loc;
  cl_object v16key_flag;
  cl_object v17keywords;
  cl_object v18allow_other_keys;
  cl_fixnum v19nreq;
  cl_object v20nopt;
  cl_fixnum v21nkey;
  cl_object v22varargs;
  cl_object v23fname_in_ihs_p;
  cl_object v24simple_varargs;
  v12requireds = ecl_car(v1lambda_list);
  v13optionals = ecl_cadr(v1lambda_list);
  v14rest = ecl_caddr(v1lambda_list);
  v15rest_loc = ECL_NIL;
  v16key_flag = ecl_cadddr(v1lambda_list);
  T0 = ecl_cddddr(v1lambda_list);
  v17keywords = ecl_car(T0);
  T0 = ecl_cddddr(v1lambda_list);
  v18allow_other_keys = ecl_cadr(T0);
  {
   cl_object v25;
   v25 = ecl_make_fixnum(ecl_length(v12requireds));
   {
    bool v26;
    v26 = ECL_FIXNUMP(v25);
    if (ecl_unlikely(!(v26)))
         FEwrong_type_argument(ECL_SYM("FIXNUM",374),v25);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
   }
   v19nreq = ecl_fixnum(v25);
  }
  {
   cl_fixnum v25;
   v25 = ecl_length(v13optionals);
   v20nopt = ecl_divide(ecl_make_fixnum(v25),ecl_make_int8_t(3));
  }
  {
   cl_object v25;
   {
    cl_fixnum v26;
    v26 = ecl_length(v17keywords);
    v25 = ecl_divide(ecl_make_fixnum(v26),ecl_make_int8_t(4));
   }
   {
    bool v26;
    v26 = ECL_FIXNUMP(v25);
    if (ecl_unlikely(!(v26)))
         FEwrong_type_argument(ECL_SYM("FIXNUM",374),v25);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
   }
   v21nkey = ecl_fixnum(v25);
  }
  value0 = v13optionals;
  if (value0!=ECL_NIL) {
   goto L18;
  }
  value0 = v14rest;
  if (value0!=ECL_NIL) {
   goto L18;
  }
  value0 = v16key_flag;
  if (value0!=ECL_NIL) {
   goto L18;
  }
  value0 = v18allow_other_keys;
  if (value0!=ECL_NIL) {
   goto L18;
  }
  if (Null(lex0[2])){
   goto L24;
  }
  v22varargs = v12requireds;
  goto L16;
L24:;
  v22varargs = ECL_NIL;
  goto L16;
L18:;
  v22varargs = value0;
  goto L16;
L16:;
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[38]))->cfun.entry(0) /*  POLICY-DEBUG-VARIABLE-BINDINGS */;
  if (value0!=ECL_NIL) {
   goto L28;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[39]))->cfun.entry(0) /*  POLICY-DEBUG-IHS-FRAME */)){
   goto L31;
  }
  value0 = v5description;
  if (value0!=ECL_NIL) {
   goto L34;
  }
  v23fname_in_ihs_p = v4fname;
  goto L26;
L34:;
  v23fname_in_ihs_p = value0;
  goto L26;
L31:;
  v23fname_in_ihs_p = ECL_NIL;
  goto L26;
L28:;
  v23fname_in_ihs_p = value0;
  goto L26;
L26:;
  v24simple_varargs = ECL_NIL;
  ecl_bds_bind(cl_env_copy,VV[40],ECL_T);         /*  *PERMANENT-DATA*        */
  ecl_bds_push(cl_env_copy,VV[41]);               /*  *UNWIND-EXIT*           */
  ecl_bds_push(cl_env_copy,VV[0]);                /*  *ENV*                   */
  ecl_bds_bind(cl_env_copy,VV[1],ecl_make_int8_t(0)); /*  *INLINE-BLOCKS*     */
  if (Null(v4fname)){
   goto L38;
  }
  {
   cl_object v25;
   v25 = v12requireds;
   goto L45;
L44:;
   {
    cl_object v26var;
    {
     cl_object v27;
     v27 = ecl_car(v25);
     T0 = si_of_class_p(2, v27, VV[43]);
     if (ecl_unlikely(!((T0)!=ECL_NIL)))
         FEwrong_type_argument(VV[43],v27);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v26var = v27;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[13]))->cfun.entry(1, v26var) /*  VAR-REF-CCB */)){
     goto L51;
    }
    goto L38;
L51:;
   }
   v25 = ecl_cdr(v25);
L45:;
   if (Null(v25)){
    goto L55;
   }
   goto L44;
L55:;
  }
  if (!(v13optionals==ECL_NIL)){
   goto L38;
  }
  if (!(v14rest==ECL_NIL)){
   goto L38;
  }
  if (!(v16key_flag==ECL_NIL)){
   goto L38;
  }
  T0 = CONS(ecl_cmp_symbol_value(cl_env_copy,VV[44]),v12requireds);
  ecl_cmp_setq(cl_env_copy,VV[44],T0);
  goto L37;
L38:;
  T0 = ECL_NIL;
  ecl_cmp_setq(cl_env_copy,VV[44],T0);
L37:;
  if (v14rest!=ECL_NIL) {
   goto L65;
  }
  if (v16key_flag!=ECL_NIL) {
   goto L65;
  }
  if (Null(v18allow_other_keys)){
   goto L63;
  }
  goto L64;
L65:;
L64:;
  T0 = ECL_NIL;
  goto L62;
L63:;
  T0 = ecl_plus(ecl_make_fixnum(v19nreq),v20nopt);
L62:;
  L3951wt_maybe_check_num_arguments(v6use_narg, ecl_make_fixnum(v19nreq), T0, v4fname);
  if (!((v19nreq)>(ecl_fixnum(ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("C-ARGUMENTS-LIMIT",1056)))))){
   goto L68;
  }
  T0 = ecl_minus(ecl_make_fixnum(v19nreq),ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("C-ARGUMENTS-LIMIT",1056)));
  v20nopt = ecl_plus(v20nopt,T0);
  v19nreq = (cl_fixnum)(63);
  {
   cl_object v25;
   cl_object v26var;
   cl_object v27;
   {
    cl_object v28;
    v28 = cl_subseq(2, v12requireds, ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("C-ARGUMENTS-LIMIT",1056)));
    if (ecl_unlikely(!ECL_LISTP(v28))) FEtype_error_list(v28);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v25 = v28;
   }
   v26var = ECL_NIL;
   v27 = v25;
   {
    cl_object v28;
    cl_object v29;
    v28 = ecl_list1(ECL_NIL);
    v29 = v28;
L84:;
    if (!(ecl_endp(v27))){
     goto L86;
    }
    goto L85;
L86:;
    v26var = ECL_CONS_CAR(v27);
    {
     cl_object v30;
     v30 = ECL_CONS_CDR(v27);
     if (ecl_unlikely(!ECL_LISTP(v30))) FEtype_error_list(v30);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v27 = v30;
    }
    {
     cl_object v30;
     T2 = (cl_env_copy->function=ecl_fdefinition(VV[48]))->cfun.entry(0) /*  C1NIL */;
     v30 = cl_list(3, v26var, T2, ECL_NIL);
     {
      cl_object v31;
      v31 = v29;
      if (ecl_unlikely(ECL_ATOM(v31))) FEtype_error_cons(v31);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T2 = v31;
     }
     (ECL_CONS_CDR(T2)=v30,T2);
     T1 = v30;
    }
    v29 = ecl_cddr(T1);
    goto L84;
L85:;
    T0 = ecl_cdr(v28);
    goto L76;
   }
  }
L76:;
  v13optionals = ecl_nconc(T0,v13optionals);
  v12requireds = cl_subseq(3, v12requireds, ecl_make_int8_t(0), ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("C-ARGUMENTS-LIMIT",1056)));
  v22varargs = ECL_T;
L68:;
  {
   cl_object v25;
   cl_object v26var;
   cl_object v27;
   {
    cl_object v28;
    v28 = v12requireds;
    if (ecl_unlikely(!ECL_LISTP(v28))) FEtype_error_list(v28);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v25 = v28;
   }
   v26var = ECL_NIL;
   v27 = v25;
L114:;
   if (!(ecl_endp(v27))){
    goto L116;
   }
   goto L115;
L116:;
   v26var = ECL_CONS_CAR(v27);
   {
    cl_object v28;
    v28 = ECL_CONS_CDR(v27);
    if (ecl_unlikely(!ECL_LISTP(v28))) FEtype_error_list(v28);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v27 = v28;
   }
   if ((cl_env_copy->function=ecl_fdefinition(VV[57]))->cfun.entry(1, v26var) /*  UNBOXED-VAR-P */!=ECL_NIL) {
    goto L126;
   }
   if (Null(lex0[2])){
    goto L124;
   }
   goto L125;
L126:;
L125:;
   LC3947do_decl(v26var);
L124:;
   goto L114;
L115:;
  }
  if (Null(v14rest)){
   goto L129;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(1, v14rest) /*  VAR-REF */;
  if (!(ecl_lower(T0,ecl_make_int8_t(1)))){
   goto L129;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(1, v14rest) /*  VAR-KIND */;
  if ((T0)==(ECL_SYM("SPECIAL",792))) {
   goto L129;
  }
  v14rest = ECL_NIL;
  value0 = v22varargs;
  if (value0!=ECL_NIL) {
   goto L137;
  }
  value0 = v13optionals;
  if (value0!=ECL_NIL) {
   goto L137;
  }
  value0 = v16key_flag;
  if (value0!=ECL_NIL) {
   goto L137;
  }
  v22varargs = v18allow_other_keys;
  goto L135;
L137:;
  v22varargs = value0;
  goto L135;
L135:;
L129:;
  {
   cl_object v25opt;
   v25opt = v13optionals;
   goto L145;
L144:;
   T0 = ecl_car(v25opt);
   LC3947do_decl(T0);
   if (Null(ecl_caddr(v25opt))){
    goto L148;
   }
   T0 = ecl_caddr(v25opt);
   LC3947do_decl(T0);
L148:;
   v25opt = ecl_cdddr(v25opt);
L145:;
   if (ecl_endp(v25opt)) {
    goto L152;
   }
   goto L144;
L152:;
  }
  if (Null(v14rest)){
   goto L154;
  }
  v15rest_loc = LC3946wt_decl(v14rest);
L154:;
  {
   cl_object v25key;
   v25key = v17keywords;
   goto L160;
L159:;
   T0 = ecl_cadr(v25key);
   LC3947do_decl(T0);
   if (Null(ecl_cadddr(v25key))){
    goto L163;
   }
   T0 = ecl_cadddr(v25key);
   LC3947do_decl(T0);
L163:;
   v25key = ecl_cddddr(v25key);
L160:;
   if (ecl_endp(v25key)) {
    goto L167;
   }
   goto L159;
L167:;
  }
  if (Null(v22varargs)){
   goto L169;
  }
  if (v14rest!=ECL_NIL) {
   goto L176;
  }
  if (v16key_flag!=ECL_NIL) {
   goto L176;
  }
  if (v18allow_other_keys!=ECL_NIL) {
   goto L176;
  }
  T0 = ecl_plus(ecl_make_fixnum(v19nreq),v20nopt);
  v24simple_varargs = ecl_make_bool(ecl_lowereq(T0,ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("C-ARGUMENTS-LIMIT",1056))));
  goto L174;
L176:;
  v24simple_varargs = ECL_NIL;
  goto L174;
L174:;
  if (Null(v24simple_varargs)){
   goto L172;
  }
  T0 = LC3948last_variable(lex0);
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[61], T0, VV[62]) /*  WT-NL */;
  goto L171;
L172:;
  T0 = LC3948last_variable(lex0);
  if (Null(lex0[2])){
   goto L183;
  }
  T1 = ecl_make_int8_t(0);
  goto L182;
L183:;
  T1 = ecl_make_fixnum(v19nreq);
L182:;
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(5, VV[63], T0, VV[64], T1, VV[62]) /*  WT-NL */;
L171:;
  if (Null(lex0[2])){
   goto L169;
  }
  {
   cl_object v25;
   v25 = ecl_make_fixnum(v19nreq);
   {
    cl_object v26;
    cl_object v27;
    v26 = ecl_list1(ECL_NIL);
    v27 = v26;
L190:;
    v25 = ecl_minus(v25,ecl_make_int8_t(1));
    T0 = v25;
    if (!(ecl_minusp(T0))){
     goto L192;
    }
    goto L191;
L192:;
    {
     cl_object v28;
     v28 = v27;
     if (ecl_unlikely(ECL_ATOM(v28))) FEtype_error_cons(v28);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     T0 = v28;
    }
    if (Null(v24simple_varargs)){
     goto L202;
    }
    T1 = VV[66];
    goto L201;
L202:;
    T1 = VV[67];
L201:;
    v27 = ecl_list1(T1);
    (ECL_CONS_CDR(T0)=v27,T0);
    goto L190;
L191:;
    lex0[0] = ecl_cdr(v26);
    goto L186;
   }
  }
L186:;
L169:;
  {
   cl_object v25;
   v25 = ecl_fdefinition(VV[15]);
   {
    cl_object v26;
    cl_object v27;
    cl_object v28;
    {
     cl_object v29;
     v29 = lex0[0];
     if (ecl_unlikely(!ECL_LISTP(v29))) FEtype_error_list(v29);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v26 = v29;
    }
    v27 = ECL_NIL;
    v28 = v26;
    {
     cl_object v29;
     cl_object v30;
     cl_object v31;
     {
      cl_object v32;
      v32 = v12requireds;
      if (ecl_unlikely(!ECL_LISTP(v32))) FEtype_error_list(v32);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v29 = v32;
     }
     v30 = ECL_NIL;
     v31 = v29;
L218:;
     if (!(ecl_endp(v28))){
      goto L220;
     }
     goto L219;
L220:;
     v27 = ECL_CONS_CAR(v28);
     {
      cl_object v32;
      v32 = ECL_CONS_CDR(v28);
      if (ecl_unlikely(!ECL_LISTP(v32))) FEtype_error_list(v32);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v28 = v32;
     }
     if (!(ecl_endp(v31))){
      goto L228;
     }
     goto L219;
L228:;
     v30 = ECL_CONS_CAR(v31);
     {
      cl_object v32;
      v32 = ECL_CONS_CDR(v31);
      if (ecl_unlikely(!ECL_LISTP(v32))) FEtype_error_list(v32);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v31 = v32;
     }
     ecl_function_dispatch(cl_env_copy,v25)(2, v27, v30);
     goto L218;
L219:;
     goto L206;
    }
   }
  }
L206:;
  if (Null(v23fname_in_ihs_p)){
   goto L239;
  }
  {
   cl_object v25fname;
   value0 = v5description;
   if (value0!=ECL_NIL) {
    goto L244;
   }
   T0 = v4fname;
   goto L242;
L244:;
   T0 = value0;
   goto L242;
L242:;
   T1 = (ECL_SYM("EQUAL",337)->symbol.gfdef);
   v25fname = (cl_env_copy->function=ecl_fdefinition(VV[68]))->cfun.entry(3, T0, ECL_SYM("TEST",1353), T1) /*  GET-OBJECT */;
   (cl_env_copy->function=ecl_fdefinition(VV[69]))->cfun.entry(0) /*  OPEN-INLINE-BLOCK */;
   T0 = ECL_T;
   ecl_cmp_setq(cl_env_copy,VV[70],T0);
   T0 = CONS(VV[71],ecl_cmp_symbol_value(cl_env_copy,VV[41]));
   ecl_cmp_setq(cl_env_copy,VV[41],T0);
   if (Null((cl_env_copy->function=ecl_fdefinition(VV[38]))->cfun.entry(0) /*  POLICY-DEBUG-VARIABLE-BINDINGS */)){
    goto L252;
   }
   T0 = cl_reverse(v12requireds);
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(2, T0, ECL_T) /*  BUILD-DEBUG-LEXICAL-ENV */;
L252:;
   (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[73], v25fname, VV[74]) /*  WT-NL */;
  }
L239:;
  if (Null(v13optionals)){
   goto L254;
  }
  {
   cl_object v25va_arg_loc;
   if (Null(v24simple_varargs)){
    goto L257;
   }
   v25va_arg_loc = VV[66];
   goto L256;
L257:;
   v25va_arg_loc = VV[67];
L256:;
   {
    cl_object v26;
    cl_object v27;
    v26 = ecl_cmp_symbol_value(cl_env_copy,VV[77]);
    v27 = ecl_cmp_symbol_value(cl_env_copy,VV[78]);
    ecl_bds_bind(cl_env_copy,VV[1],ecl_make_int8_t(0)); /*  *INLINE-BLOCKS*   */
    ecl_bds_bind(cl_env_copy,VV[77],v26);         /*  *TEMP*                  */
    ecl_bds_bind(cl_env_copy,VV[78],v27);         /*  *LCL*                   */
    (cl_env_copy->function=ecl_fdefinition(VV[69]))->cfun.entry(0) /*  OPEN-INLINE-BLOCK */;
    (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[79], ecl_make_fixnum(v19nreq), VV[20]) /*  WT-NL */;
    {
     cl_object v28opt;
     cl_object v29type_check;
     v28opt = v13optionals;
     v29type_check = v9optional_type_check_forms;
     goto L268;
L267:;
     (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[80]) /*  WT-NL */;
     T0 = ecl_one_plus(ecl_cmp_symbol_value(cl_env_copy,VV[81]));
     ecl_bds_bind(cl_env_copy,VV[81],T0);         /*  *OPENED-C-BRACES*       */
     T0 = ecl_cadr(v28opt);
     T1 = ecl_car(v28opt);
     (cl_env_copy->function=ecl_fdefinition(VV[82]))->cfun.entry(2, T0, T1) /*  BIND-INIT */;
     if (Null(ecl_caddr(v28opt))){
      ecl_bds_unwind1(cl_env_copy);
      goto L271;
     }
     T0 = ecl_cmp_symbol_value(cl_env_copy,VV[25]);
     T1 = ecl_caddr(v28opt);
     (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, T0, T1) /*  BIND */;
     ecl_bds_unwind1(cl_env_copy);
L271:;
     (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[83]) /*  WT-NL */;
     {
      cl_object v30;
      cl_object v31;
      v30 = ecl_one_plus(ecl_cmp_symbol_value(cl_env_copy,VV[81]));
      v31 = ecl_cmp_symbol_value(cl_env_copy,VV[41]);
      ecl_bds_bind(cl_env_copy,VV[81],v30);       /*  *OPENED-C-BRACES*       */
      ecl_bds_bind(cl_env_copy,VV[41],v31);       /*  *UNWIND-EXIT*           */
      (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[84]) /*  WT-NL */;
      T0 = ecl_car(v28opt);
      (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, v25va_arg_loc, T0) /*  BIND */;
      if (Null(ecl_car(v29type_check))){
       goto L281;
      }
      T0 = ecl_car(v29type_check);
      (cl_env_copy->function=ecl_fdefinition(VV[85]))->cfun.entry(1, T0) /*  C2EXPR* */;
L281:;
      if (Null(ecl_caddr(v28opt))){
       ecl_bds_unwind1(cl_env_copy);
       ecl_bds_unwind1(cl_env_copy);
       goto L276;
      }
      T0 = ecl_cmp_symbol_value(cl_env_copy,VV[86]);
      T1 = ecl_caddr(v28opt);
      (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, T0, T1) /*  BIND */;
      ecl_bds_unwind1(cl_env_copy);
      ecl_bds_unwind1(cl_env_copy);
     }
L276:;
     (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[87]) /*  WT-NL */;
     v28opt = ecl_cdddr(v28opt);
     v29type_check = ecl_cdr(v29type_check);
L268:;
     if (ecl_endp(v28opt)) {
      goto L289;
     }
     goto L267;
L289:;
    }
    (cl_env_copy->function=ecl_fdefinition(VV[30]))->cfun.entry(0) /*  CLOSE-INLINE-BLOCKS */;
    ecl_bds_unwind1(cl_env_copy);
    ecl_bds_unwind1(cl_env_copy);
    ecl_bds_unwind1(cl_env_copy);
   }
  }
L254:;
  if (v14rest!=ECL_NIL) {
   goto L293;
  }
  if (v16key_flag!=ECL_NIL) {
   goto L293;
  }
  if (Null(v18allow_other_keys)){
   goto L291;
  }
  goto L292;
L293:;
L292:;
  if (v16key_flag!=ECL_NIL) {
   goto L297;
  }
  if (v18allow_other_keys!=ECL_NIL) {
   goto L297;
  }
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(2, v15rest_loc, VV[88]) /*  WT-NL */;
  goto L296;
L297:;
  if (Null(v17keywords)){
   goto L301;
  }
  (cl_env_copy->function=ecl_fdefinition(VV[89]))->cfun.entry(0) /*  WT-NL-OPEN-BRACE */;
  T0 = ecl_times(ecl_make_int8_t(2),ecl_make_fixnum(v21nkey));
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[90], T0, VV[91]) /*  WT-NL */;
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(5, VV[92], ecl_make_fixnum(v21nkey), VV[93], v3cfun, VV[94]) /*  WT-NL */;
  goto L300;
L301:;
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[95]) /*  WT-NL */;
L300:;
  if (Null(v14rest)){
   goto L306;
  }
  (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(2, VV[96], v15rest_loc) /*  WT */;
  goto L305;
L306:;
  (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, VV[97]) /*  WT */;
L305:;
  if (Null(v18allow_other_keys)){
   goto L309;
  }
  T0 = VV[98];
  goto L308;
L309:;
  T0 = VV[99];
L308:;
  (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, T0) /*  WT   */;
L296:;
  if (Null(v14rest)){
   goto L291;
  }
  (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, v15rest_loc, v14rest) /*  BIND */;
L291:;
  if (Null(v22varargs)){
   goto L312;
  }
  if (Null(v24simple_varargs)){
   goto L315;
  }
  T0 = VV[100];
  goto L314;
L315:;
  T0 = VV[101];
L314:;
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, T0) /*  WT-NL */;
L312:;
  {
   cl_fixnum v25;
   cl_object v26kwd;
   cl_object v27all_kwd;
   cl_fixnum v28i;
   cl_object v29type_check;
   v25 = (cl_fixnum)(0);
   v26kwd = v17keywords;
   v27all_kwd = ECL_NIL;
   v28i = v25;
   v29type_check = v10keyword_type_check_forms;
   goto L325;
L324:;
   T0 = ecl_car(v26kwd);
   v27all_kwd = CONS(T0,v27all_kwd);
   {
    cl_object v30;
    cl_object v31;
    cl_object v32;
    cl_object v33;
    v30 = ecl_car(v26kwd);
    v31 = ecl_cadr(v26kwd);
    v32 = ecl_caddr(v26kwd);
    v33 = ecl_cadddr(v26kwd);
    T0 = (cl_env_copy->function=ecl_fdefinition(VV[103]))->cfun.entry(1, v32) /*  C1FORM-NAME */;
    if (!((T0)==(VV[104]))){
     goto L335;
    }
    T0 = (cl_env_copy->function=ecl_fdefinition(VV[106]))->cfun.entry(1, v32) /*  C1FORM-ARGS */;
    T1 = ecl_car(T0);
    if (!((T1)==(ecl_cmp_symbol_value(cl_env_copy,VV[25])))){
     goto L335;
    }
    {
     cl_object v34;
     v34 = ecl_make_fixnum(v28i);
     {
      cl_object v35;
      v35 = ecl_cdr(VV[102]);
      if (ecl_unlikely(ECL_ATOM(v35))) FEtype_error_cons(v35);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T0 = v35;
     }
     (ECL_CONS_CAR(T0)=v34,T0);
    }
    (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, VV[102], v31) /*  BIND */;
    if (Null(ecl_car(v29type_check))){
     goto L334;
    }
    T0 = ecl_car(v29type_check);
    (cl_env_copy->function=ecl_fdefinition(VV[85]))->cfun.entry(1, T0) /*  C2EXPR* */;
    goto L334;
L335:;
    {
     cl_object v34;
     v34 = ecl_plus(ecl_make_fixnum(v21nkey),ecl_make_fixnum(v28i));
     {
      cl_object v35;
      v35 = ecl_cdr(VV[102]);
      if (ecl_unlikely(ECL_ATOM(v35))) FEtype_error_cons(v35);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T0 = v35;
     }
     (ECL_CONS_CAR(T0)=v34,T0);
    }
    (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[107]) /*  WT-NL */;
    (cl_env_copy->function=ecl_fdefinition(VV[108]))->cfun.entry(1, VV[102]) /*  WT-LOC */;
    (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, VV[109]) /*  WT */;
    {
     cl_object v34;
     cl_object v35;
     v34 = ecl_cmp_symbol_value(cl_env_copy,VV[41]);
     v35 = ecl_one_plus(ecl_cmp_symbol_value(cl_env_copy,VV[81]));
     ecl_bds_bind(cl_env_copy,VV[41],v34);        /*  *UNWIND-EXIT*           */
     ecl_bds_bind(cl_env_copy,VV[81],v35);        /*  *OPENED-C-BRACES*       */
     (cl_env_copy->function=ecl_fdefinition(VV[82]))->cfun.entry(2, v32, v31) /*  BIND-INIT */;
     ecl_bds_unwind1(cl_env_copy);
     ecl_bds_unwind1(cl_env_copy);
    }
    (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[83]) /*  WT-NL */;
    T0 = ecl_one_plus(ecl_cmp_symbol_value(cl_env_copy,VV[81]));
    ecl_bds_bind(cl_env_copy,VV[81],T0);          /*  *OPENED-C-BRACES*       */
    {
     cl_object v34;
     v34 = ecl_make_fixnum(v28i);
     {
      cl_object v35;
      v35 = ecl_cdr(VV[102]);
      if (ecl_unlikely(ECL_ATOM(v35))) FEtype_error_cons(v35);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T0 = v35;
     }
     (ECL_CONS_CAR(T0)=v34,T0);
    }
    (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, VV[102], v31) /*  BIND */;
    if (Null(ecl_car(v29type_check))){
     ecl_bds_unwind1(cl_env_copy);
     goto L359;
    }
    T0 = ecl_car(v29type_check);
    (cl_env_copy->function=ecl_fdefinition(VV[85]))->cfun.entry(1, T0) /*  C2EXPR* */;
    ecl_bds_unwind1(cl_env_copy);
L359:;
    (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, VV[87]) /*  WT-NL */;
L334:;
    if (Null(v33)){
     goto L329;
    }
    {
     cl_object v34;
     v34 = ecl_plus(ecl_make_fixnum(v21nkey),ecl_make_fixnum(v28i));
     {
      cl_object v35;
      v35 = ecl_cdr(VV[102]);
      if (ecl_unlikely(ECL_ATOM(v35))) FEtype_error_cons(v35);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T0 = v35;
     }
     (ECL_CONS_CAR(T0)=v34,T0);
    }
    (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, VV[102], v33) /*  BIND */;
   }
L329:;
   v26kwd = ecl_cddddr(v26kwd);
   {
    cl_object v30;
    v30 = ecl_make_integer((v28i)+1);
    {
     bool v31;
     v31 = ECL_FIXNUMP(v30);
     if (ecl_unlikely(!(v31)))
         FEwrong_type_argument(ECL_SYM("FIXNUM",374),v30);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
    }
    v28i = ecl_fixnum(v30);
   }
   v29type_check = ecl_cdr(v29type_check);
L325:;
   if (ecl_endp(v26kwd)) {
    goto L381;
   }
   goto L324;
L381:;
   if (Null(v27all_kwd)){
    goto L317;
   }
   T0 = cl_nreverse(v27all_kwd);
   T1 = (cl_env_copy->function=ecl_fdefinition(VV[113]))->cfun.entry(1, T0) /*  ADD-KEYWORDS */;
   (cl_env_copy->function=ecl_fdefinition(VV[110]))->cfun.entry(5, VV[111], v3cfun, VV[112], T1, VV[114]) /*  WT-NL-H */;
   (cl_env_copy->function=ecl_fdefinition(VV[115]))->cfun.entry(0) /*  WT-NL-CLOSE-BRACE */;
  }
L317:;
  if (Null(ecl_cmp_symbol_value(cl_env_copy,VV[44]))){
   goto L385;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[117]))->cfun.entry(1, ECL_T) /*  NEXT-LABEL */;
  ecl_cmp_setq(cl_env_copy,VV[116],T0);
  T0 = CONS(ecl_cmp_symbol_value(cl_env_copy,VV[116]),ecl_cmp_symbol_value(cl_env_copy,VV[41]));
  ecl_cmp_setq(cl_env_copy,VV[41],T0);
  (cl_env_copy->function=ecl_fdefinition(VV[118]))->cfun.entry(1, ecl_cmp_symbol_value(cl_env_copy,VV[116])) /*  WT-LABEL */;
L385:;
  (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v2body) /*  C2EXPR */;
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[30]))->cfun.entry(0) /*  CLOSE-INLINE-BLOCKS */;
  ecl_bds_unwind_n(cl_env_copy,4);
  return value0;
 }
}
static cl_object L3949c2lambda_expr_va(cl_narg narg, cl_object v25lambda_list, cl_object v26body, cl_object v27cfun, cl_object v28fname, cl_object v29description, cl_object v30use_narg, cl_object v31required_lcls, cl_object v32closure_type, cl_object v33optional_type_check_forms, cl_object v34keyword_type_check_forms, cl_object v35c_compatible_variadic_signature, ...)
{
 if (ecl_unlikely(narg!=11)) FEwrong_num_arguments(VV[42]);
 {
  return L3949c2lambda_expr(v25lambda_list, v26body, v27cfun, v28fname, v29description, v30use_narg, v31required_lcls, v32closure_type, v33optional_type_check_forms, v34keyword_type_check_forms, v35c_compatible_variadic_signature);
 }
}
/* function definition for WT-MAYBE-CHECK-NUM-ARGUMENTS                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3951wt_maybe_check_num_arguments(cl_object v1use_narg, cl_object v2minarg, cl_object v3maxarg, cl_object v4fname)
{
 volatile cl_object lex0[1];
 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);
 lex0[0] = v4fname;                               /*  FNAME                   */
L1:;
 if (Null((cl_env_copy->function=ecl_fdefinition(VV[120]))->cfun.entry(0) /*  POLICY-CHECK-NARGS */)){
  goto L2;
 }
 if (Null(v1use_narg)){
  goto L2;
 }
 if (Null(v3maxarg)){
  goto L6;
 }
 if (!(ecl_number_equalp(v2minarg,v3maxarg))){
  goto L6;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[124], v2minarg, VV[125]) /*  WT-NL */;
 LC3950wrong_num_arguments(lex0);
 goto L5;
L6:;
 if (!(ecl_plusp(v2minarg))){
  goto L10;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[126], v2minarg, VV[125]) /*  WT-NL */;
 LC3950wrong_num_arguments(lex0);
L10:;
 if (Null(v3maxarg)){
  goto L5;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(3, VV[127], v3maxarg, VV[125]) /*  WT-NL */;
 LC3950wrong_num_arguments(lex0);
L5:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[69]))->cfun.entry(0) /*  OPEN-INLINE-BLOCK */;
 return value0;
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3951wt_maybe_check_num_arguments_va(cl_narg narg, cl_object v5use_narg, cl_object v6minarg, cl_object v7maxarg, cl_object v8fname, ...)
{
 if (ecl_unlikely(narg!=4)) FEwrong_num_arguments(VV[45]);
 {
  return L3951wt_maybe_check_num_arguments(v5use_narg, v6minarg, v7maxarg, v8fname);
 }
}
/* local function DO-DECL                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3947do_decl(cl_object v1var)
{
 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((cl_env_copy->function=ecl_fdefinition(VV[56]))->cfun.entry(1, v1var) /*  LOCAL-VAR-P */)){
  goto L2;
 }
 {
  cl_object v2;
  v2 = LC3946wt_decl(v1var);
  value0 = ecl_structure_set(v1var,VV[43],(cl_fixnum)(10),v2);
  cl_env_copy->nvalues = 1;
  return value0;
 }
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3947do_decl_va(cl_narg narg, cl_object v3var, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[55]);
 {
  return LC3947do_decl(v3var);
 }
}
/* local function WT-DECL                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3946wt_decl(cl_object v1var)
{
 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:;
 {
  cl_object v2lcl;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[51]))->cfun.entry(1, v1var) /*  VAR-NAME */;
  v2lcl = (cl_env_copy->function=ecl_fdefinition(VV[16]))->cfun.entry(1, T0) /*  NEXT-LCL */;
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(0) /*  WT-NL    */;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[53]))->cfun.entry(1, v1var) /*  VAR-HOST-TYPE */;
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[52]))->cfun.entry(1, T0) /*  HOST-TYPE->C-NAME */;
  (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(5, T1, VV[54], ecl_cmp_symbol_value(cl_env_copy,VV[19]), v2lcl, VV[20]) /*  WT */;
  value0 = v2lcl;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object LC3946wt_decl_va(cl_narg narg, cl_object v3var, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[50]);
 {
  return LC3946wt_decl(v3var);
 }
}
/* local function LAST-VARIABLE                                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3948last_variable(volatile cl_object *lex0)
{
 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 (Null(lex0[0])){
  goto L2;
 }
 if (lex0[2]!=ECL_NIL) {
  goto L2;
 }
 T0 = ecl_last(lex0[0],1);
 value0 = ecl_car(T0);
 cl_env_copy->nvalues = 1;
 return value0;
L2:;
 if (!((lex0[1])==(VV[10]))){
  goto L5;
 }
 T0 = ecl_one_minus(ecl_cmp_symbol_value(cl_env_copy,VV[35]));
 value0 = cl_format(3, ECL_NIL, VV[59], T0);
 return value0;
L5:;
 value0 = VV[60];
 cl_env_copy->nvalues = 1;
 return value0;
}
/* local function WRONG-NUM-ARGUMENTS                                         */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3950wrong_num_arguments(volatile cl_object *lex0)
{
 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 (Null(lex0[0])){
  goto L2;
 }
 T0 = (ECL_SYM("EQUAL",337)->symbol.gfdef);
 T1 = (cl_env_copy->function=ecl_fdefinition(VV[68]))->cfun.entry(3, lex0[0], ECL_SYM("TEST",1353), T0) /*  GET-OBJECT */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(3, VV[122], T1, VV[62]) /*  WT */;
 return value0;
L2:;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, VV[123]) /*  WT */;
 return value0;
}
#include "cmp/cmppass2-fun.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _ecl2icqJx7ODWvk9_L4d0M881(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-FUN.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_ecl2icqJx7ODWvk9_L4d0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(_ecl_static_0);
  ecl_cmp_defun(VV[129]);                         /*  C2LOCALS                */
  ecl_cmp_defun(VV[130]);                         /*  UPDATE-FUNCTION-ENV     */
  ecl_cmp_defun(VV[131]);                         /*  C2LAMBDA-EXPR           */
  ecl_cmp_defun(VV[132]);                         /*  WT-MAYBE-CHECK-NUM-ARGUMENTS */
}
