/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmppass1-fun.lsp                */
#include <ecl/ecl-cmp.h>
#include "cmp/cmppass1-fun.eclh"
/* function definition for C1LABELS                                           */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3545c1labels(cl_object v1args)
{
 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 = L3547c1labels_flet(ECL_SYM("LABELS",453), v1args);
 return value0;
}
static cl_object L3545c1labels_va(cl_narg narg, cl_object v2args, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[0]);
 {
  return L3545c1labels(v2args);
 }
}
/* function definition for C1FLET                                             */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3546c1flet(cl_object v1args)
{
 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 = L3547c1labels_flet(ECL_SYM("FLET",375), v1args);
 return value0;
}
static cl_object L3546c1flet_va(cl_narg narg, cl_object v2args, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[3]);
 {
  return L3546c1flet(v2args);
 }
}
/* function definition for C1LABELS/FLET                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3547c1labels_flet(cl_object v1origin, cl_object v2args)
{
 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_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(3, v1origin, v2args, ecl_make_int8_t(1)) /*  CHECK-ARGS-NUMBER */;
 {
  cl_object v3;
  cl_object v4defs;
  cl_object v5local_funs;
  cl_object v6fnames;
  cl_object v7body_c1form;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(0) /*  CMP-ENV-COPY */;
  v4defs = ECL_NIL;
  v5local_funs = ECL_NIL;
  v6fnames = ECL_NIL;
  v7body_c1form = ECL_NIL;
  {
   cl_object v8;
   v8 = ecl_car(v2args);
   goto L12;
L11:;
   {
    cl_object v9def;
    v9def = ecl_car(v8);
    if (ecl_endp(v9def)) {
     goto L18;
    }
    T0 = ecl_car(v9def);
    if (Null(si_valid_function_name_p(T0))){
     goto L18;
    }
    T0 = ecl_cdr(v9def);
    if (!(ecl_endp(T0))){
     goto L16;
    }
    goto L17;
L18:;
L17:;
    (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(2, VV[9], v9def) /*  CMPERR */;
L16:;
    {
     cl_object v10;
     cl_object v11;
     cl_object v12;
     v10 = ecl_car(v9def);
     v11 = v10;
     v12 = v6fnames;
     if (Null(ecl_memql(v11,v12))){
      goto L21;
     }
    }
    T0 = ecl_car(v9def);
    (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(3, VV[10], v1origin, T0) /*  CMPERR */;
L21:;
    T0 = ecl_car(v9def);
    v6fnames = CONS(T0,v6fnames);
    {
     cl_object v10name;
     cl_object v11var;
     cl_object v12fun;
     v10name = ecl_car(v9def);
     T0 = cl_gensym(0);
     v11var = (cl_env_copy->function=ecl_fdefinition(VV[11]))->cfun.entry(4, ECL_SYM("NAME",1309), T0, VV[12], ECL_SYM("OBJECT",1315)) /*  MAKE-VAR */;
     v12fun = (cl_env_copy->function=ecl_fdefinition(VV[13]))->cfun.entry(4, ECL_SYM("NAME",1309), v10name, VV[14], v11var) /*  MAKE-FUN */;
     (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(2, v12fun, v3) /*  CMP-ENV-REGISTER-FUNCTION */;
     T0 = ecl_cdr(v9def);
     T1 = CONS(v12fun,T0);
     v4defs = CONS(T1,v4defs);
    }
   }
   v8 = ecl_cdr(v8);
L12:;
   if (Null(v8)){
    goto L36;
   }
   goto L11;
L36:;
  }
  if (!((v1origin)==(ECL_SYM("FLET",375)))){
   goto L40;
  }
  T0 = ecl_cmp_symbol_value(cl_env_copy,VV[16]);
  goto L39;
L40:;
  T0 = v3;
L39:;
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, T0) /*  CMP-ENV-COPY */;
  ecl_bds_bind(cl_env_copy,VV[16],T1);            /*  *CMP-ENV*               */
  {
   cl_object v8;
   v8 = cl_nreverse(v4defs);
   goto L45;
L44:;
   {
    cl_object v9def;
    v9def = ecl_car(v8);
    {
     cl_object v10fun;
     v10fun = ecl_car(v9def);
     T0 = ecl_cdr(v9def);
     T1 = L3548c1compile_function(3, T0, VV[18], v10fun);
     v5local_funs = CONS(T1,v5local_funs);
    }
   }
   v8 = ecl_cdr(v8);
L45:;
   if (Null(v8)){
    goto L54;
   }
   goto L44;
L54:;
   ecl_bds_unwind1(cl_env_copy);
  }
  if (!((v1origin)==(ECL_SYM("LABELS",453)))){
   goto L56;
  }
  {
   cl_object v8change;
   v8change = ECL_NIL;
L59:;
   v8change = ECL_NIL;
   {
    cl_object v9;
    cl_object v10f1;
    cl_object v11;
    {
     cl_object v12;
     v12 = v5local_funs;
     if (ecl_unlikely(!ECL_LISTP(v12))) FEtype_error_list(v12);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v9 = v12;
    }
    v10f1 = ECL_NIL;
    v11 = v9;
    {
     cl_object v12vars;
     v12vars = ECL_NIL;
     {
      cl_object v13funs;
      v13funs = ECL_NIL;
L70:;
      if (!(ecl_endp(v11))){
       goto L72;
      }
      goto L71;
L72:;
      v10f1 = ECL_CONS_CAR(v11);
      {
       cl_object v14;
       v14 = ECL_CONS_CDR(v11);
       if (ecl_unlikely(!ECL_LISTP(v14))) FEtype_error_list(v14);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v11 = v14;
      }
      v12vars = (cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v10f1) /*  FUN-REFERENCED-VARS */;
      v13funs = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v10f1) /*  FUN-REFERENCED-FUNS */;
      {
       cl_object v14;
       cl_object v15f2;
       cl_object v16;
       {
        cl_object v17;
        v17 = (cl_env_copy->function=ecl_fdefinition(VV[23]))->cfun.entry(1, v10f1) /*  FUN-REFERENCING-FUNS */;
        if (ecl_unlikely(!ECL_LISTP(v17))) FEtype_error_list(v17);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v14 = v17;
       }
       v15f2 = ECL_NIL;
       v16 = v14;
       {
        cl_object v17c1;
        v17c1 = ECL_NIL;
        {
         cl_object v18c2;
         v18c2 = ECL_NIL;
         {
          cl_object v19c3;
          v19c3 = ECL_NIL;
L93:;
          if (!(ecl_endp(v16))){
          goto L95;
          }
          goto L94;
L95:;
          v15f2 = ECL_CONS_CAR(v16);
          {
          cl_object v20;
          v20 = ECL_CONS_CDR(v16);
          if (ecl_unlikely(!ECL_LISTP(v20))) FEtype_error_list(v20);
          value0 = ECL_NIL;
          cl_env_copy->nvalues = 0;
          v16 = v20;
          }
          v17c1 = (cl_env_copy->function=ecl_fdefinition(VV[24]))->cfun.entry(2, v15f2, v12vars) /*  ADD-TO-FUN-REFERENCED-VARS */;
          v18c2 = (cl_env_copy->function=ecl_fdefinition(VV[25]))->cfun.entry(2, v15f2, v13funs) /*  ADD-TO-FUN-REFERENCED-FUNS */;
          v19c3 = (cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v15f2) /*  UPDATE-FUN-CLOSURE-TYPE */;
          if (v17c1!=ECL_NIL) {
          goto L111;
          }
          if (v18c2!=ECL_NIL) {
          goto L111;
          }
          if (Null(v19c3)){
          goto L109;
          }
          goto L110;
L111:;
L110:;
          v8change = ECL_T;
L109:;
          goto L93;
L94:;
         }
        }
       }
      }
      goto L70;
L71:;
     }
    }
   }
   if (v8change!=ECL_NIL) {
    goto L117;
   }
   goto L56;
L117:;
   goto L59;
  }
L56:;
  ecl_bds_bind(cl_env_copy,VV[16],v3);            /*  *CMP-ENV*               */
  {
   cl_object v8;                                  /*  BODY                    */
   cl_object v9;                                  /*  SS                      */
   cl_object v10;                                 /*  TS                      */
   cl_object v11;                                 /*  IS                      */
   cl_object v12;                                 /*  OTHER-DECL              */
   T0 = ecl_cdr(v2args);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[27]))->cfun.entry(2, T0, ECL_T) /*  C1BODY */;
   {
    const int v13 = cl_env_copy->nvalues;
    v8 = value0;
    cl_object v14;
    v14 = (v13<=1)? ECL_NIL : cl_env_copy->values[1];
    v9 = v14;
    v14 = (v13<=2)? ECL_NIL : cl_env_copy->values[2];
    v10 = v14;
    v14 = (v13<=3)? ECL_NIL : cl_env_copy->values[3];
    v11 = v14;
    v14 = (v13<=4)? ECL_NIL : cl_env_copy->values[4];
    v12 = v14;
   }
   {
    cl_object v13;
    v13 = ecl_fdefinition(VV[28]);
    {
     cl_object v14;
     cl_object v15;
     cl_object v16;
     {
      cl_object v17;
      v17 = v9;
      if (ecl_unlikely(!ECL_LISTP(v17))) FEtype_error_list(v17);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v14 = v17;
     }
     v15 = ECL_NIL;
     v16 = v14;
L129:;
     if (!(ecl_endp(v16))){
      goto L131;
     }
     goto L130;
L131:;
     v15 = ECL_CONS_CAR(v16);
     {
      cl_object v17;
      v17 = ECL_CONS_CDR(v16);
      if (ecl_unlikely(!ECL_LISTP(v17))) FEtype_error_list(v17);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v16 = v17;
     }
     ecl_function_dispatch(cl_env_copy,v13)(1, v15);
     goto L129;
L130:;
     goto L122;
    }
   }
L122:;
   (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(3, ECL_NIL, v10, v11) /*  CHECK-VDECL */;
   v7body_c1form = (cl_env_copy->function=ecl_fdefinition(VV[30]))->cfun.entry(2, v12, v8) /*  C1DECL-BODY */;
   ecl_bds_unwind1(cl_env_copy);
  }
  T0 = (ECL_SYM("PLUSP",645)->symbol.gfdef);
  T1 = ecl_fdefinition(VV[31]);
  v5local_funs = cl_remove_if_not(4, T0, v5local_funs, ECL_SYM("KEY",1297), T1);
L149:;
  {
   cl_object v8x;
   v8x = ECL_NIL;
   {
    cl_object v9;
    cl_object v10f;
    cl_object v11;
    {
     cl_object v12;
     v12 = v5local_funs;
     if (ecl_unlikely(!ECL_LISTP(v12))) FEtype_error_list(v12);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v9 = v12;
    }
    v10f = ECL_NIL;
    v11 = v9;
L160:;
    if (!(ecl_endp(v11))){
     goto L162;
    }
    goto L161;
L162:;
    v10f = ECL_CONS_CAR(v11);
    {
     cl_object v12;
     v12 = ECL_CONS_CDR(v11);
     if (ecl_unlikely(!ECL_LISTP(v12))) FEtype_error_list(v12);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v11 = v12;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v10f) /*  UPDATE-FUN-CLOSURE-TYPE */)){
     goto L170;
    }
    v8x = ECL_T;
L170:;
    goto L160;
L161:;
   }
   if (v8x!=ECL_NIL) {
    goto L151;
   }
  }
  goto L150;
L151:;
  goto L149;
L150:;
  if (Null(v5local_funs)){
   goto L175;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[34]))->cfun.entry(1, v7body_c1form) /*  C1FORM-TYPE */;
  {
   bool v8;
   v8 = (v1origin)==(ECL_SYM("LABELS",453));
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(7, VV[33], ECL_SYM("TYPE",1356), T0, VV[35], v5local_funs, v7body_c1form, ecl_make_bool(v8)) /*  MAKE-C1FORM* */;
   return value0;
  }
L175:;
  value0 = v7body_c1form;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L3547c1labels_flet_va(cl_narg narg, cl_object v8origin, cl_object v9args, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[1]);
 {
  return L3547c1labels_flet(v8origin, v9args);
 }
}
/* function definition for C1COMPILE-FUNCTION                                 */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3548c1compile_function(cl_narg narg, cl_object v1lambda_list_and_body, ...)
{
 cl_object T0, T1, T2, T3;
 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<1)) FEwrong_num_arguments(VV[17]);
 {
  cl_object v2fun;
  cl_object v3name;
  ecl_va_list args; ecl_va_start(args,v1lambda_list_and_body,narg,1);
  {
   cl_object keyvars[4];
   cl_parse_key(args,2,L3548c1compile_functionkeys,keyvars,NULL,FALSE);
   ecl_va_end(args);
   if (Null(keyvars[2])) {
    v2fun = (cl_env_copy->function=ecl_fdefinition(VV[13]))->cfun.entry(0) /*  MAKE-FUN */;
   } else {
    v2fun = keyvars[0];
   }
   if (Null(keyvars[3])) {
    v3name = (cl_env_copy->function=ecl_fdefinition(VV[37]))->cfun.entry(1, v2fun) /*  FUN-NAME */;
   } else {
    v3name = keyvars[1];
   }
  }
  {
   cl_object v4lambda;
   if (Null(v3name)){
    goto L5;
   }
   v4lambda = cl_listX(3, ECL_SYM("LAMBDA-BLOCK",1377), v3name, v1lambda_list_and_body);
   goto L4;
L5:;
   v4lambda = CONS(ECL_SYM("LAMBDA",454),v1lambda_list_and_body);
L4:;
   ecl_structure_set(v2fun,VV[38],(cl_fixnum)(0),v3name);
   ecl_structure_set(v2fun,VV[38],(cl_fixnum)(16),v4lambda);
   {
    cl_object v5;
    v5 = ecl_cmp_symbol_value(cl_env_copy,VV[39]);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(20),v5);
   }
  }
  if (Null(ecl_cmp_symbol_value(cl_env_copy,VV[39]))){
   goto L10;
  }
  {
   cl_object v4;
   cl_object v5;
   v4 = ecl_cmp_symbol_value(cl_env_copy,VV[39]);
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[40]))->cfun.entry(1, v4) /*  FUN-CHILD-FUNS */;
   v5 = CONS(v2fun,T0);
   ecl_structure_set(v4,VV[38],(cl_fixnum)(25),v5);
  }
L10:;
  {
   cl_object v4setjmps;
   cl_object v5decl;
   cl_object v6global;
   cl_object v7no_entry;
   cl_object v8cfun;
   cl_object v9exported;
   cl_object v10minarg;
   cl_object v11maxarg;
   cl_object v12proclamation_found_p;
   ecl_bds_bind(cl_env_copy,VV[39],v2fun);        /*  *CURRENT-FUNCTION*      */
   {
    cl_object v13;
    v13 = (cl_env_copy->function=ecl_fdefinition(VV[41]))->cfun.entry(1, ECL_SYM("FUNCTION-BOUNDARY",1947)) /*  CMP-ENV-MARK */;
    T0 = ecl_structure_set(v2fun,VV[38],(cl_fixnum)(28),v13);
   }
   ecl_bds_bind(cl_env_copy,VV[16],T0);           /*  *CMP-ENV*               */
   v4setjmps = ecl_cmp_symbol_value(cl_env_copy,VV[42]);
   T0 = ecl_cdr(v1lambda_list_and_body);
   v5decl = si_process_declarations(1, T0);
   if (Null(ecl_cmp_symbol_value(cl_env_copy,VV[43]))){
    goto L20;
   }
   {
    cl_object v13;
    cl_object v14;
    v13 = VV[44];
    v14 = v5decl;
    if (Null(ecl_assql(v13,v14))){
     goto L20;
    }
   }
   v6global = ecl_structure_set(v2fun,VV[38],(cl_fixnum)(9),ECL_T);
   goto L18;
L20:;
   v6global = ECL_NIL;
   goto L18;
L18:;
   {
    cl_object v13;
    cl_object v14;
    v13 = VV[45];
    v14 = v5decl;
    v7no_entry = ecl_assql(v13,v14);
   }
   v8cfun = ECL_NIL;
   v9exported = ECL_NIL;
   v10minarg = ECL_NIL;
   v11maxarg = ECL_NIL;
   v12proclamation_found_p = ECL_NIL;
   {
    cl_object v13;                                /*  LAMBDA-EXPR             */
    cl_object v14;                                /*  OPTIONAL-TYPE-CHECKS    */
    cl_object v15;                                /*  KEYWORD-TYPE-CHECKS     */
    T0 = si_function_block_name(v3name);
    value0 = L3551c1lambda_expr(v1lambda_list_and_body, v3name, T0);
    {
     const int v16 = cl_env_copy->nvalues;
     v13 = value0;
     cl_object v17;
     v17 = (v16<=1)? ECL_NIL : cl_env_copy->values[1];
     v14 = v17;
     v17 = (v16<=2)? ECL_NIL : cl_env_copy->values[2];
     v15 = v17;
    }
    if (Null(v7no_entry)){
     goto L35;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[47]))->cfun.entry(0) /*  POLICY-DEBUG-IHS-FRAME */)){
     goto L35;
    }
    v7no_entry = ECL_NIL;
    (cl_env_copy->function=ecl_fdefinition(VV[48]))->cfun.entry(2, VV[49], v3name) /*  CMPNOTE */;
L35:;
    if (ecl_eql(v4setjmps,ecl_cmp_symbol_value(cl_env_copy,VV[42]))) {
     goto L40;
    }
    ecl_structure_set(v13,VV[50],(cl_fixnum)(3),ECL_T);
L40:;
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(15),v13);
    if (Null(v6global)){
     goto L44;
    }
    value0 = (cl_env_copy->function=ecl_fdefinition(VV[51]))->cfun.entry(1, v3name) /*  EXPORTED-FNAME */;
    {
     const int v16 = cl_env_copy->nvalues;
     v8cfun = value0;
     cl_object v17;
     v17 = (v16<=1)? ECL_NIL : cl_env_copy->values[1];
     v9exported = v17;
    }
    goto L43;
L44:;
    v8cfun = (cl_env_copy->function=ecl_fdefinition(VV[52]))->cfun.entry(2, VV[53], v3name) /*  NEXT-CFUN */;
    v9exported = ECL_NIL;
L43:;
    if (Null(v9exported)){
     goto L51;
    }
    value0 = (cl_env_copy->function=ecl_fdefinition(VV[54]))->cfun.entry(1, v3name) /*  GET-PROCLAIMED-NARG */;
    {
     const int v16 = cl_env_copy->nvalues;
     v10minarg = value0;
     cl_object v17;
     v17 = (v16<=1)? ECL_NIL : cl_env_copy->values[1];
     v11maxarg = v17;
     v17 = (v16<=2)? ECL_NIL : cl_env_copy->values[2];
     v12proclamation_found_p = v17;
    }
    (cl_env_copy->function=ecl_fdefinition(VV[55]))->cfun.entry(4, VV[56], v3name, v10minarg, v11maxarg) /*  CMPDEBUG */;
    {
     cl_object v16;                               /*  FOUND-MINARG            */
     cl_object v17;                               /*  FOUND-MAXARG            */
     value0 = L3554lambda_form_allowed_nargs(v13);
     {
      const int v18 = cl_env_copy->nvalues;
      v16 = value0;
      cl_object v19;
      v19 = (v18<=1)? ECL_NIL : cl_env_copy->values[1];
      v17 = v19;
     }
     if (Null(v12proclamation_found_p)){
      goto L57;
     }
     if (!ecl_number_equalp(v10minarg,v16)) {
      goto L60;
     }
     if (!(!ecl_number_equalp(v11maxarg,v17))){
      goto L50;
     }
     goto L59;
L60:;
L59:;
     (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(6, VV[58], v3name, v16, v17, v10minarg, v11maxarg) /*  CMPERR */;
     goto L50;
L57:;
     v10minarg = v16;
     goto L50;
    }
L51:;
    value0 = L3554lambda_form_allowed_nargs(v13);
    {
     const int v16 = cl_env_copy->nvalues;
     v10minarg = value0;
     cl_object v17;
     v17 = (v16<=1)? ECL_NIL : cl_env_copy->values[1];
     v11maxarg = v17;
    }
L50:;
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(5),v8cfun);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(10),v9exported);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(12),ECL_NIL);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(17),v10minarg);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(18),v11maxarg);
    {
     cl_object v16;
     value0 = (cl_env_copy->function=ecl_fdefinition(VV[59]))->cfun.entry(1, v5decl) /*  FUNCTION-BLOCK-NAME-DECLARATION */;
     if (value0!=ECL_NIL) {
      goto L73;
     }
     v16 = v3name;
     goto L71;
L73:;
     v16 = value0;
     goto L71;
L71:;
     ecl_structure_set(v2fun,VV[38],(cl_fixnum)(14),v16);
    }
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(11),v7no_entry);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(30),v14);
    ecl_structure_set(v2fun,VV[38],(cl_fixnum)(31),v15);
    {
     cl_object v16;
     cl_object v17child;
     cl_object v18;
     {
      cl_object v19;
      v19 = (cl_env_copy->function=ecl_fdefinition(VV[40]))->cfun.entry(1, v2fun) /*  FUN-CHILD-FUNS */;
      if (ecl_unlikely(!ECL_LISTP(v19))) FEtype_error_list(v19);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v16 = v19;
     }
     v17child = ECL_NIL;
     v18 = v16;
L83:;
     if (!(ecl_endp(v18))){
      goto L85;
     }
     goto L84;
L85:;
     v17child = ECL_CONS_CAR(v18);
     {
      cl_object v19;
      v19 = ECL_CONS_CDR(v18);
      if (ecl_unlikely(!ECL_LISTP(v19))) FEtype_error_list(v19);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v18 = v19;
     }
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v17child) /*  FUN-REFERENCED-VARS */;
     (cl_env_copy->function=ecl_fdefinition(VV[24]))->cfun.entry(2, v2fun, T0) /*  ADD-TO-FUN-REFERENCED-VARS */;
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v17child) /*  FUN-REFERENCED-FUNS */;
     (cl_env_copy->function=ecl_fdefinition(VV[25]))->cfun.entry(2, v2fun, T0) /*  ADD-TO-FUN-REFERENCED-FUNS */;
     goto L83;
L84:;
    }
    {
     cl_object v16;
     cl_object v17f;
     cl_object v18;
     {
      cl_object v19;
      v19 = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v2fun) /*  FUN-REFERENCED-FUNS */;
      if (ecl_unlikely(!ECL_LISTP(v19))) FEtype_error_list(v19);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v16 = v19;
     }
     v17f = ECL_NIL;
     v18 = v16;
L102:;
     if (!(ecl_endp(v18))){
      goto L104;
     }
     goto L103;
L104:;
     v17f = ECL_CONS_CAR(v18);
     {
      cl_object v19;
      v19 = ECL_CONS_CDR(v18);
      if (ecl_unlikely(!ECL_LISTP(v19))) FEtype_error_list(v19);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v18 = v19;
     }
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v17f) /*  FUN-REFERENCED-VARS */;
     (cl_env_copy->function=ecl_fdefinition(VV[24]))->cfun.entry(2, v2fun, T0) /*  ADD-TO-FUN-REFERENCED-VARS */;
     goto L102;
L103:;
    }
    (cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v2fun) /*  UPDATE-FUN-CLOSURE-TYPE */;
    if (Null(v6global)){
     goto L33;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[60]))->cfun.entry(1, v2fun) /*  FUN-CLOSURE */)){
     goto L116;
    }
    T0 = (cl_env_copy->function=ecl_fdefinition(VV[37]))->cfun.entry(1, v2fun) /*  FUN-NAME */;
    {
     cl_object v16;
     v16 = ecl_fdefinition(VV[62]);
     {
      cl_object v17;
      cl_object v18;
      cl_object v19;
      {
       cl_object v20;
       v20 = (cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v2fun) /*  FUN-REFERENCED-VARS */;
       if (ecl_unlikely(!ECL_LISTP(v20))) FEtype_error_list(v20);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v17 = v20;
      }
      v18 = ECL_NIL;
      v19 = v17;
      {
       cl_object v20;
       cl_object v21;
       v20 = ecl_list1(ECL_NIL);
       v21 = v20;
L127:;
       if (!(ecl_endp(v19))){
        goto L129;
       }
       goto L128;
L129:;
       v18 = ECL_CONS_CAR(v19);
       {
        cl_object v22;
        v22 = ECL_CONS_CDR(v19);
        if (ecl_unlikely(!ECL_LISTP(v22))) FEtype_error_list(v22);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v19 = v22;
       }
       {
        cl_object v22;
        v22 = v21;
        if (ecl_unlikely(ECL_ATOM(v22))) FEtype_error_cons(v22);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        T2 = v22;
       }
       T3 = ecl_function_dispatch(cl_env_copy,v16)(1, v18);
       v21 = ecl_list1(T3);
       (ECL_CONS_CDR(T2)=v21,T2);
       goto L127;
L128:;
       T1 = ecl_cdr(v20);
       goto L118;
      }
     }
    }
L118:;
    (cl_env_copy->function=ecl_fdefinition(VV[48]))->cfun.entry(3, VV[61], T0, T1) /*  CMPNOTE */;
    goto L33;
L116:;
    T0 = CONS(v2fun,ecl_cmp_symbol_value(cl_env_copy,VV[66]));
    ecl_cmp_setq(cl_env_copy,VV[66],T0);
   }
L33:;
   value0 = v2fun;
   cl_env_copy->nvalues = 1;
   ecl_bds_unwind1(cl_env_copy);
   ecl_bds_unwind1(cl_env_copy);
   return value0;
  }
 }
}
/* function definition for C1LAMBDA-EXPR                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3551c1lambda_expr(cl_object v1lambda_expr, cl_object v2function_name, cl_object v3block_name)
{
 cl_object T0, T1, T2, T3, T4, T5;
 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 v4doc;
  cl_object v5body;
  cl_object v6ss;
  cl_object v7is;
  cl_object v8ts;
  cl_object v9other_decls;
  cl_object v10type_checks;
  cl_object v11old_env;
  v4doc = ECL_NIL;
  v5body = ECL_NIL;
  v6ss = ECL_NIL;
  v7is = ECL_NIL;
  v8ts = ECL_NIL;
  v9other_decls = ECL_NIL;
  v10type_checks = ECL_NIL;
  ecl_bds_bind(cl_env_copy,VV[68],ECL_T);         /*  *PERMANENT-DATA*        */
  v11old_env = ecl_cmp_symbol_value(cl_env_copy,VV[16]);
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(0) /*  CMP-ENV-COPY */;
  ecl_bds_bind(cl_env_copy,VV[16],T0);            /*  *CMP-ENV*               */
  if (!(ecl_endp(v1lambda_expr))){
   goto L10;
  }
  T0 = CONS(ECL_SYM("LAMBDA",454),v1lambda_expr);
  (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(2, VV[69], T0) /*  CMPERR */;
L10:;
  T0 = ecl_cdr(v1lambda_expr);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[27]))->cfun.entry(2, T0, ECL_T) /*  C1BODY */;
  {
   const int v12 = cl_env_copy->nvalues;
   v5body = value0;
   cl_object v13;
   v13 = (v12<=1)? ECL_NIL : cl_env_copy->values[1];
   v6ss = v13;
   v13 = (v12<=2)? ECL_NIL : cl_env_copy->values[2];
   v8ts = v13;
   v13 = (v12<=3)? ECL_NIL : cl_env_copy->values[3];
   v7is = v13;
   v13 = (v12<=4)? ECL_NIL : cl_env_copy->values[4];
   v9other_decls = v13;
   v13 = (v12<=5)? ECL_NIL : cl_env_copy->values[5];
   v4doc = v13;
  }
  if (Null(v3block_name)){
   goto L14;
  }
  T0 = cl_listX(3, ECL_SYM("BLOCK",139), v3block_name, v5body);
  v5body = ecl_list1(T0);
L14:;
  {
   cl_object v12;                                 /*  REQUIREDS               */
   cl_object v13;                                 /*  OPTIONALS               */
   cl_object v14;                                 /*  REST                    */
   cl_object v15;                                 /*  KEY-FLAG                */
   cl_object v16;                                 /*  KEYWORDS                */
   cl_object v17;                                 /*  ALLOW-OTHER-KEYS        */
   cl_object v18;                                 /*  AUX-VARS                */
   T0 = ecl_car(v1lambda_expr);
   value0 = L3553cmp_process_lambda_list(T0);
   {
    const int v19 = cl_env_copy->nvalues;
    v12 = value0;
    cl_object v20;
    v20 = (v19<=1)? ECL_NIL : cl_env_copy->values[1];
    v13 = v20;
    v20 = (v19<=2)? ECL_NIL : cl_env_copy->values[2];
    v14 = v20;
    v20 = (v19<=3)? ECL_NIL : cl_env_copy->values[3];
    v15 = v20;
    v20 = (v19<=4)? ECL_NIL : cl_env_copy->values[4];
    v16 = v20;
    v20 = (v19<=5)? ECL_NIL : cl_env_copy->values[5];
    v17 = v20;
    v20 = (v19<=6)? ECL_NIL : cl_env_copy->values[6];
    v18 = v20;
   }
   {
    cl_object v19specs;
    v12 = ecl_cdr(v12);
    v19specs = v12;
    goto L23;
L22:;
    {
     cl_object v20name;
     cl_object v21var;
     v20name = ecl_car(v19specs);
     v21var = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v20name, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
     v10type_checks = CONS(v21var,v10type_checks);
     {
      cl_object v22;
      v22 = v21var;
      {
       cl_object v23;
       v23 = v19specs;
       if (ecl_unlikely(ECL_ATOM(v23))) FEtype_error_cons(v23);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v23;
      }
      (ECL_CONS_CAR(T0)=v22,T0);
     }
     (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v21var) /*  CMP-ENV-REGISTER-VAR */;
    }
    v19specs = ecl_cdr(v19specs);
L23:;
    if (ecl_endp(v19specs)) {
     goto L38;
    }
    goto L22;
L38:;
   }
   {
    cl_object v19specs;
    v13 = ecl_cdr(v13);
    v19specs = v13;
    goto L45;
L44:;
    {
     cl_object v20name;
     cl_object v21var;
     cl_object v22init;
     cl_object v23flag;
     v20name = ecl_car(v19specs);
     v21var = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v20name, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
     v22init = ecl_cadr(v19specs);
     v23flag = ecl_caddr(v19specs);
     if (Null(v22init)){
      goto L54;
     }
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[74]))->cfun.entry(1, v21var) /*  VAR-TYPE */;
     T1 = (cl_env_copy->function=ecl_fdefinition(VV[75]))->cfun.entry(1, v22init) /*  C1EXPR */;
     v22init = (cl_env_copy->function=ecl_fdefinition(VV[73]))->cfun.entry(6, T0, T1, v22init, VV[76], VV[77], v2function_name) /*  AND-FORM-TYPE */;
     goto L53;
L54:;
     v22init = (cl_env_copy->function=ecl_fdefinition(VV[78]))->cfun.entry(1, v21var) /*  DEFAULT-INIT */;
L53:;
     v10type_checks = CONS(v21var,v10type_checks);
     (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v21var) /*  CMP-ENV-REGISTER-VAR */;
     if (Null(v23flag)){
      goto L59;
     }
     v23flag = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v23flag, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
     (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v23flag) /*  CMP-ENV-REGISTER-VAR */;
L59:;
     {
      cl_object v24;
      v24 = v21var;
      {
       cl_object v25;
       v25 = v19specs;
       if (ecl_unlikely(ECL_ATOM(v25))) FEtype_error_cons(v25);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v25;
      }
      (ECL_CONS_CAR(T0)=v24,T0);
     }
     {
      cl_object v24;
      v24 = v22init;
      {
       cl_object v25;
       v25 = ecl_cdr(v19specs);
       if (ecl_unlikely(ECL_ATOM(v25))) FEtype_error_cons(v25);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v25;
      }
      (ECL_CONS_CAR(T0)=v24,T0);
     }
     {
      cl_object v24;
      v24 = v23flag;
      {
       cl_object v25;
       v25 = ecl_cddr(v19specs);
       if (ecl_unlikely(ECL_ATOM(v25))) FEtype_error_cons(v25);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v25;
      }
      (ECL_CONS_CAR(T0)=v24,T0);
     }
    }
    v19specs = ecl_cdddr(v19specs);
L45:;
    if (ecl_endp(v19specs)) {
     goto L82;
    }
    goto L44;
L82:;
   }
   if (Null(v14)){
    goto L84;
   }
   v14 = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v14, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
   (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v14) /*  CMP-ENV-REGISTER-VAR */;
L84:;
   {
    cl_object v19specs;
    v16 = ecl_cdr(v16);
    v19specs = v16;
    goto L93;
L92:;
    {
     cl_object v20key;
     cl_object v21name;
     cl_object v22var;
     cl_object v23init;
     cl_object v24flag;
     v20key = ecl_car(v19specs);
     v21name = ecl_cadr(v19specs);
     v22var = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v21name, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
     v23init = ecl_caddr(v19specs);
     v24flag = ecl_cadddr(v19specs);
     if (Null(v23init)){
      goto L103;
     }
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[74]))->cfun.entry(1, v22var) /*  VAR-TYPE */;
     T1 = (cl_env_copy->function=ecl_fdefinition(VV[75]))->cfun.entry(1, v23init) /*  C1EXPR */;
     v23init = (cl_env_copy->function=ecl_fdefinition(VV[73]))->cfun.entry(6, T0, T1, v23init, VV[76], VV[77], v2function_name) /*  AND-FORM-TYPE */;
     goto L102;
L103:;
     v23init = (cl_env_copy->function=ecl_fdefinition(VV[78]))->cfun.entry(1, v22var) /*  DEFAULT-INIT */;
L102:;
     v10type_checks = CONS(v22var,v10type_checks);
     (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v22var) /*  CMP-ENV-REGISTER-VAR */;
     if (Null(v24flag)){
      goto L108;
     }
     v24flag = (cl_env_copy->function=ecl_fdefinition(VV[71]))->cfun.entry(4, v24flag, v6ss, v7is, v8ts) /*  C1MAKE-VAR */;
     (cl_env_copy->function=ecl_fdefinition(VV[72]))->cfun.entry(1, v24flag) /*  CMP-ENV-REGISTER-VAR */;
L108:;
     {
      cl_object v25;
      v25 = v22var;
      {
       cl_object v26;
       v26 = ecl_cdr(v19specs);
       if (ecl_unlikely(ECL_ATOM(v26))) FEtype_error_cons(v26);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v26;
      }
      (ECL_CONS_CAR(T0)=v25,T0);
     }
     {
      cl_object v25;
      v25 = v23init;
      {
       cl_object v26;
       v26 = ecl_cddr(v19specs);
       if (ecl_unlikely(ECL_ATOM(v26))) FEtype_error_cons(v26);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v26;
      }
      (ECL_CONS_CAR(T0)=v25,T0);
     }
     {
      cl_object v25;
      v25 = v24flag;
      {
       cl_object v26;
       v26 = ecl_cdddr(v19specs);
       if (ecl_unlikely(ECL_ATOM(v26))) FEtype_error_cons(v26);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v26;
      }
      (ECL_CONS_CAR(T0)=v25,T0);
     }
    }
    v19specs = ecl_cddddr(v19specs);
L93:;
    if (ecl_endp(v19specs)) {
     goto L131;
    }
    goto L92;
L131:;
   }
   T0 = ecl_fdefinition(VV[79]);
   T1 = cl_reduce(4, T0, v9other_decls, VV[80], ecl_cmp_symbol_value(cl_env_copy,VV[16]));
   ecl_cmp_setq(cl_env_copy,VV[16],T1);
   {
    cl_object v19;                                /*  REQUIRED-TYPE-CHECK-FORMS */
    cl_object v20;                                /*  OPTIONAL-TYPE-CHECK-FORMS */
    cl_object v21;                                /*  KEYWORD-TYPE-CHECK-FORMS */
    cl_object v22;                                /*  NEW-AUXS                */
    value0 = (cl_env_copy->function=ecl_fdefinition(VV[81]))->cfun.entry(6, v2function_name, v12, v13, v16, v8ts, v9other_decls) /*  EXTRACT-LAMBDA-TYPE-CHECKS */;
    {
     const int v23 = cl_env_copy->nvalues;
     v19 = value0;
     cl_object v24;
     v24 = (v23<=1)? ECL_NIL : cl_env_copy->values[1];
     v20 = v24;
     v24 = (v23<=2)? ECL_NIL : cl_env_copy->values[2];
     v21 = v24;
     v24 = (v23<=3)? ECL_NIL : cl_env_copy->values[3];
     v22 = v24;
    }
    {
     cl_object v23declarations;
     cl_object v24let_vars;
     cl_object v25new_variables;
     cl_object v26already_declared_names;
     v23declarations = v9other_decls;
     {
      cl_object v27spec;
      T0 = ecl_cdr(v18);
      v27spec = ecl_nconc(v22,T0);
      {
       cl_object v28name;
       v28name = ECL_NIL;
       {
        cl_object v29init;
        v29init = ECL_NIL;
        {
         cl_object v30;
         cl_object v31;
         v30 = ecl_list1(ECL_NIL);
         v31 = v30;
L144:;
         if (!(ECL_ATOM(v27spec))){
          goto L146;
         }
         goto L145;
L146:;
         v28name = ecl_car(v27spec);
         v29init = ecl_cadr(v27spec);
         {
          cl_object v32;
          v32 = v31;
          if (ecl_unlikely(ECL_ATOM(v32))) FEtype_error_cons(v32);
          value0 = ECL_NIL;
          cl_env_copy->nvalues = 0;
          T0 = v32;
         }
         T1 = cl_list(2, v28name, v29init);
         v31 = ecl_list1(T1);
         (ECL_CONS_CDR(T0)=v31,T0);
         v27spec = ecl_cddr(v27spec);
         goto L144;
L145:;
         v24let_vars = ecl_cdr(v30);
         goto L138;
        }
       }
      }
     }
L138:;
     v25new_variables = (cl_env_copy->function=ecl_fdefinition(VV[82]))->cfun.entry(2, ecl_cmp_symbol_value(cl_env_copy,VV[16]), v11old_env) /*  CMP-ENV-NEW-VARIABLES */;
     {
      cl_object v27;
      v27 = ecl_fdefinition(VV[62]);
      {
       cl_object v28;
       cl_object v29;
       cl_object v30;
       {
        cl_object v31;
        v31 = v25new_variables;
        if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v28 = v31;
       }
       v29 = ECL_NIL;
       v30 = v28;
       {
        cl_object v31;
        cl_object v32;
        v31 = ecl_list1(ECL_NIL);
        v32 = v31;
L172:;
        if (!(ecl_endp(v30))){
         goto L174;
        }
        goto L173;
L174:;
        v29 = ECL_CONS_CAR(v30);
        {
         cl_object v33;
         v33 = ECL_CONS_CDR(v30);
         if (ecl_unlikely(!ECL_LISTP(v33))) FEtype_error_list(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         v30 = v33;
        }
        {
         cl_object v33;
         v33 = v32;
         if (ecl_unlikely(ECL_ATOM(v33))) FEtype_error_cons(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T1 = v33;
        }
        T2 = ecl_function_dispatch(cl_env_copy,v27)(1, v29);
        v32 = ecl_list1(T2);
        (ECL_CONS_CDR(T1)=v32,T1);
        goto L172;
L173:;
        T0 = ecl_cdr(v31);
        goto L163;
       }
      }
     }
L163:;
     {
      cl_object v27;
      v27 = (ECL_SYM("CAR",182)->symbol.gfdef);
      {
       cl_object v28;
       cl_object v29;
       cl_object v30;
       {
        cl_object v31;
        v31 = v24let_vars;
        if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v28 = v31;
       }
       v29 = ECL_NIL;
       v30 = v28;
       {
        cl_object v31;
        cl_object v32;
        v31 = ecl_list1(ECL_NIL);
        v32 = v31;
L199:;
        if (!(ecl_endp(v30))){
         goto L201;
        }
        goto L200;
L201:;
        v29 = ECL_CONS_CAR(v30);
        {
         cl_object v33;
         v33 = ECL_CONS_CDR(v30);
         if (ecl_unlikely(!ECL_LISTP(v33))) FEtype_error_list(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         v30 = v33;
        }
        {
         cl_object v33;
         v33 = v32;
         if (ecl_unlikely(ECL_ATOM(v33))) FEtype_error_cons(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T2 = v33;
        }
        T3 = ecl_function_dispatch(cl_env_copy,v27)(1, v29);
        v32 = ecl_list1(T3);
        (ECL_CONS_CDR(T2)=v32,T2);
        goto L199;
L200:;
        T1 = ecl_cdr(v31);
        goto L190;
       }
      }
     }
L190:;
     v26already_declared_names = cl_set_difference(2, T0, T1);
     {
      cl_object v27specials;
      v27specials = cl_set_difference(2, v6ss, v26already_declared_names);
      if (Null(v27specials)){
       goto L217;
      }
      T0 = CONS(ECL_SYM("SPECIAL",792),v27specials);
      v23declarations = CONS(T0,v23declarations);
     }
L217:;
     {
      cl_object v27ignorables;
      {
       cl_object v28;
       cl_object v29var;
       cl_object v30expected_uses;
       cl_object v31;
       {
        cl_object v32;
        v32 = v7is;
        if (ecl_unlikely(!ECL_LISTP(v32))) FEtype_error_list(v32);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v28 = v32;
       }
       v29var = ECL_NIL;
       v30expected_uses = ECL_NIL;
       v31 = v28;
       {
        cl_object v32;
        cl_object v33;
        v32 = ecl_list1(ECL_NIL);
        v33 = v32;
L231:;
        if (!(ecl_endp(v31))){
         goto L233;
        }
        goto L232;
L233:;
        {
         cl_object v34;
         v34 = ECL_CONS_CAR(v31);
         v29var = ecl_car(v34);
         v34 = ecl_cdr(v34);
         v30expected_uses = v34;
        }
        {
         cl_object v34;
         v34 = ECL_CONS_CDR(v31);
         if (ecl_unlikely(!ECL_LISTP(v34))) FEtype_error_list(v34);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         v31 = v34;
        }
        {
         cl_object v34;
         cl_object v35;
         v34 = v29var;
         v35 = v26already_declared_names;
         if (ecl_memql(v34,v35)!=ECL_NIL) {
          goto L246;
         }
        }
        {
         cl_object v34;
         v34 = v33;
         if (ecl_unlikely(ECL_ATOM(v34))) FEtype_error_cons(v34);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T0 = v34;
        }
        v33 = ecl_list1(v29var);
        (ECL_CONS_CDR(T0)=v33,T0);
L246:;
        goto L231;
L232:;
        v27ignorables = ecl_cdr(v32);
        goto L222;
       }
      }
L222:;
      if (Null(v27ignorables)){
       goto L221;
      }
      T0 = CONS(ECL_SYM("IGNORABLE",429),v27ignorables);
      v23declarations = CONS(T0,v23declarations);
     }
L221:;
     {
      cl_object v27;
      cl_object v28var;
      cl_object v29type;
      cl_object v30;
      {
       cl_object v31;
       v31 = v8ts;
       if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v27 = v31;
      }
      v28var = ECL_NIL;
      v29type = ECL_NIL;
      v30 = v27;
L265:;
      if (!(ecl_endp(v30))){
       goto L267;
      }
      goto L266;
L267:;
      {
       cl_object v31;
       v31 = ECL_CONS_CAR(v30);
       v28var = ecl_car(v31);
       v31 = ecl_cdr(v31);
       v29type = v31;
      }
      {
       cl_object v31;
       v31 = ECL_CONS_CDR(v30);
       if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v30 = v31;
      }
      {
       cl_object v31;
       cl_object v32;
       v31 = v28var;
       v32 = v26already_declared_names;
       if (ecl_memql(v31,v32)!=ECL_NIL) {
        goto L280;
       }
      }
      T0 = cl_list(3, ECL_SYM("TYPE",872), v29type, v28var);
      v23declarations = CONS(T0,v23declarations);
L280:;
      goto L265;
L266:;
     }
     if (v24let_vars!=ECL_NIL) {
      goto L288;
     }
     if (Null(v23declarations)){
      goto L286;
     }
     goto L287;
L288:;
L287:;
     T0 = CONS(ECL_SYM("DECLARE",276),v23declarations);
     T1 = cl_listX(4, ECL_SYM("LET*",480), v24let_vars, T0, v5body);
     v5body = ecl_list1(T1);
L286:;
     T0 = cl_delete(2, ECL_NIL, v19);
     v5body = ecl_nconc(T0,v5body);
     T0 = (cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, ecl_cmp_symbol_value(cl_env_copy,VV[16])) /*  CMP-ENV-COPY */;
     ecl_bds_bind(cl_env_copy,VV[16],T0);         /*  *CMP-ENV*               */
     v5body = (cl_env_copy->function=ecl_fdefinition(VV[83]))->cfun.entry(1, v5body) /*  C1PROGN */;
     ecl_bds_unwind1(cl_env_copy);
     {
      cl_object v27;
      v27 = v25new_variables;
      goto L299;
L298:;
      {
       cl_object v28var;
       v28var = ecl_car(v27);
       (cl_env_copy->function=ecl_fdefinition(VV[84]))->cfun.entry(1, v28var) /*  CHECK-VREF */;
      }
      v27 = ecl_cdr(v27);
L299:;
      if (Null(v27)){
       goto L306;
      }
      goto L298;
L306:;
     }
     T0 = cl_list(6, v12, v13, v14, v15, v16, v17);
     T1 = (cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(7, ECL_SYM("LAMBDA",454), VV[85], v25new_variables, VV[35], T0, v4doc, v5body) /*  MAKE-C1FORM* */;
     {
      cl_object v27;
      {
       cl_object v28;
       v28 = ecl_make_cfun_va((cl_objectfn)LC3549__lambda201_va,ECL_NIL,Cblock,1);
       v27 = v28;
      }
      {
       cl_object v28;
       cl_object v29;
       cl_object v30;
       {
        cl_object v31;
        v31 = v20;
        if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v28 = v31;
       }
       v29 = ECL_NIL;
       v30 = v28;
       {
        cl_object v31;
        cl_object v32;
        v31 = ecl_list1(ECL_NIL);
        v32 = v31;
L317:;
        if (!(ecl_endp(v30))){
         goto L319;
        }
        goto L318;
L319:;
        v29 = ECL_CONS_CAR(v30);
        {
         cl_object v33;
         v33 = ECL_CONS_CDR(v30);
         if (ecl_unlikely(!ECL_LISTP(v33))) FEtype_error_list(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         v30 = v33;
        }
        {
         cl_object v33;
         v33 = v32;
         if (ecl_unlikely(ECL_ATOM(v33))) FEtype_error_cons(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T3 = v33;
        }
        T4 = ecl_function_dispatch(cl_env_copy,v27)(1, v29);
        v32 = ecl_list1(T4);
        (ECL_CONS_CDR(T3)=v32,T3);
        goto L317;
L318:;
        T2 = ecl_cdr(v31);
        goto L308;
       }
      }
     }
L308:;
     {
      cl_object v27;
      {
       cl_object v28;
       v28 = ecl_make_cfun_va((cl_objectfn)LC3550__lambda210_va,ECL_NIL,Cblock,1);
       v27 = v28;
      }
      {
       cl_object v28;
       cl_object v29;
       cl_object v30;
       {
        cl_object v31;
        v31 = v21;
        if (ecl_unlikely(!ECL_LISTP(v31))) FEtype_error_list(v31);
        value0 = ECL_NIL;
        cl_env_copy->nvalues = 0;
        v28 = v31;
       }
       v29 = ECL_NIL;
       v30 = v28;
       {
        cl_object v31;
        cl_object v32;
        v31 = ecl_list1(ECL_NIL);
        v32 = v31;
L344:;
        if (!(ecl_endp(v30))){
         goto L346;
        }
        goto L345;
L346:;
        v29 = ECL_CONS_CAR(v30);
        {
         cl_object v33;
         v33 = ECL_CONS_CDR(v30);
         if (ecl_unlikely(!ECL_LISTP(v33))) FEtype_error_list(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         v30 = v33;
        }
        {
         cl_object v33;
         v33 = v32;
         if (ecl_unlikely(ECL_ATOM(v33))) FEtype_error_cons(v33);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T4 = v33;
        }
        T5 = ecl_function_dispatch(cl_env_copy,v27)(1, v29);
        v32 = ecl_list1(T5);
        (ECL_CONS_CDR(T4)=v32,T4);
        goto L344;
L345:;
        T3 = ecl_cdr(v31);
        goto L335;
       }
      }
     }
L335:;
     cl_env_copy->nvalues = 3;
     cl_env_copy->values[2] = T3;
     cl_env_copy->values[1] = T2;
     cl_env_copy->values[0] = T1;
     ecl_bds_unwind1(cl_env_copy);
     ecl_bds_unwind1(cl_env_copy);
     return cl_env_copy->values[0];
    }
   }
  }
 }
}
/* function definition for CMP-PROCESS-LAMBDA-LIST                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3553cmp_process_lambda_list(cl_object volatile v1list)
{
 cl_object T0, T1, T2, T3;
 cl_object volatile env0 = ECL_NIL;
 cl_object volatile CLV0, CLV1;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  volatile cl_object env1 = env0;
  env1 = ECL_NIL;
  CLV0 = env1 = CONS(ECL_NIL,env1);
  {
   volatile cl_object env2 = env1;
   CLV1 = env2 = CONS(ECL_NEW_FRAME_ID(cl_env_copy),env2); /*  TAGBODY        */
   {
    ecl_frs_push(cl_env_copy,ECL_CONS_CAR(CLV1));
    if (__ecl_frs_push_result!=0) {
    if (cl_env_copy->values[0]==ecl_make_int8_t(0)) {
     goto L2;
    }
    ecl_internal_error("GO found an inexistent tag");
    } else {
    {
     cl_object v2;
     v2 = ecl_make_cclosure_va((cl_objectfn)LC3552__lambda218,env2,Cblock,1);
     T0 = v2;
    }
    T1 = CONS(ECL_SYM("ERROR",339),T0);
    T2 = ecl_list1(T1);
    T3 = CONS(T2,ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("*HANDLER-CLUSTERS*",6)));
    ecl_bds_bind(cl_env_copy,ECL_SYM("*HANDLER-CLUSTERS*",6),T3); /*  *HANDLER-CLUSTERS* */
    value0 = si_process_lambda_list(v1list, ECL_SYM("FUNCTION",398));
    ecl_frs_pop_n(cl_env_copy, 1);
    ecl_bds_unwind1(cl_env_copy);
    return value0;
L2:;
    {
     cl_object v2c;
     v2c = ECL_CONS_CAR(CLV0);
     value0 = (cl_env_copy->function=ecl_fdefinition(VV[8]))->cfun.entry(3, VV[90], v1list, v2c) /*  CMPERR */;
     ecl_frs_pop_n(cl_env_copy, 1);
     return value0;
    }
    }
   }
  }
 }
}
static cl_object L3553cmp_process_lambda_list_va(cl_narg narg, cl_object v2list, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[70]);
 {
  return L3553cmp_process_lambda_list(v2list);
 }
}
/* function definition for LAMBDA-FORM-ALLOWED-NARGS                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3554lambda_form_allowed_nargs(cl_object v1lambda)
{
 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:;
 {
  cl_object v2minarg;
  cl_object v3maxarg;
  v2minarg = ecl_make_int8_t(0);
  v3maxarg = ecl_make_fixnum(65536);
  {
   cl_object v4;
   cl_object v5;
   cl_object v6requireds;
   cl_object v7optionals;
   cl_object v8rest;
   cl_object v9key_flag;
   cl_object v10keywords;
   cl_object v11a_o_k;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[93]))->cfun.entry(1, v1lambda) /*  C1FORM-ARGS */;
   v4 = ecl_car(T0);
   v5 = v4;
   if (!(v5==ECL_NIL)){
    goto L8;
   }
   si_dm_too_few_arguments(v4);
L8:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v6requireds = v12;
   }
   if (!(v5==ECL_NIL)){
    goto L14;
   }
   si_dm_too_few_arguments(v4);
L14:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v7optionals = v12;
   }
   if (!(v5==ECL_NIL)){
    goto L20;
   }
   si_dm_too_few_arguments(v4);
L20:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v8rest = v12;
   }
   if (!(v5==ECL_NIL)){
    goto L26;
   }
   si_dm_too_few_arguments(v4);
L26:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v9key_flag = v12;
   }
   if (!(v5==ECL_NIL)){
    goto L32;
   }
   si_dm_too_few_arguments(v4);
L32:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v10keywords = v12;
   }
   if (!(v5==ECL_NIL)){
    goto L38;
   }
   si_dm_too_few_arguments(v4);
L38:;
   {
    cl_object v12;
    v12 = ecl_car(v5);
    v5 = ecl_cdr(v5);
    v11a_o_k = v12;
   }
   if (Null(v5)){
    goto L43;
   }
   si_dm_too_many_arguments(v4);
L43:;
   v2minarg = ecl_make_fixnum(ecl_length(v6requireds));
   if (!(v8rest==ECL_NIL)){
    goto L4;
   }
   if (v9key_flag!=ECL_NIL) {
    goto L4;
   }
   if (v11a_o_k!=ECL_NIL) {
    goto L4;
   }
   {
    cl_fixnum v12;
    v12 = ecl_length(v7optionals);
    T0 = ecl_divide(ecl_make_fixnum(v12),ecl_make_int8_t(3));
    v3maxarg = ecl_plus(v2minarg,T0);
   }
  }
L4:;
  cl_env_copy->nvalues = 2;
  cl_env_copy->values[1] = v3maxarg;
  cl_env_copy->values[0] = v2minarg;
  return cl_env_copy->values[0];
 }
}
static cl_object L3554lambda_form_allowed_nargs_va(cl_narg narg, cl_object v4lambda, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[57]);
 {
  return L3554lambda_form_allowed_nargs(v4lambda);
 }
}
/* local function LAMBDA201                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3549__lambda201(cl_object v1x)
{
 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(v1x)){
  goto L2;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[75]))->cfun.entry(1, v1x) /*  C1EXPR */;
 return value0;
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3549__lambda201_va(cl_narg narg, cl_object v2x, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[86]);
 {
  return LC3549__lambda201(v2x);
 }
}
/* local function LAMBDA210                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3550__lambda210(cl_object v1x)
{
 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(v1x)){
  goto L2;
 }
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[75]))->cfun.entry(1, v1x) /*  C1EXPR */;
 return value0;
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3550__lambda210_va(cl_narg narg, cl_object v2x, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[87]);
 {
  return LC3550__lambda210(v2x);
 }
}
/* closure LAMBDA218                                                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3552__lambda218(cl_narg narg, cl_object v1si__temp, ...)
{
 cl_object CLV0, CLV1;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object env0 = cl_env_copy->function->cclosure.env;
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 /* Scanning closure data ... */
 CLV1 = env0;                                     /*  TAGBODY                 */
 CLV0 = _ecl_cdr(CLV1);
 { /* ... closure scanning finished */
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[89]);
 {
L1:;
  ECL_CONS_CAR(CLV0) = v1si__temp;
  cl_go(ECL_CONS_CAR(CLV1),ecl_make_fixnum(0));
 }
 }
}
#include "cmp/cmppass1-fun.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclxFaA3AHbozZk9_NvU0M881(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;CMPPASS1-FUN.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclxFaA3AHbozZk9_NvU0M881@";
 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[97]);                          /*  C1LABELS                */
  ecl_cmp_defun(VV[98]);                          /*  C1FLET                  */
  ecl_cmp_defun(VV[99]);                          /*  C1LABELS/FLET           */
  ecl_cmp_defun(VV[100]);                         /*  C1COMPILE-FUNCTION      */
  (void)0; /* No entry created for C1LAMBDA-EXPR */
  ecl_cmp_defun(VV[101]);                         /*  CMP-PROCESS-LAMBDA-LIST */
  ecl_cmp_defun(VV[102]);                         /*  LAMBDA-FORM-ALLOWED-NARGS */
}
