/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/lsp/cmuutil.lsp                     */
#include <ecl/ecl-cmp.h>
#include "lsp/cmuutil.eclh"
/* function definition for COLLECT-NORMAL-EXPANDER                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L72collect_normal_expander(cl_object v1n_value, cl_object v2fun, cl_object v3forms)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 cl_object CLV0, CLV1;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 env0 = ECL_NIL;
 CLV0 = env0 = CONS(v1n_value,env0);              /*  N-VALUE                 */
 CLV1 = env0 = CONS(v2fun,env0);                  /*  FUN                     */
 {
  cl_object v4;
  {
   cl_object v5;
   v5 = ecl_make_cclosure_va((cl_objectfn)LC71__lambda6,env0,Cblock,1);
   v4 = v5;
  }
  {
   cl_object v5;
   cl_object v6;
   cl_object v7;
   {
    cl_object v8;
    v8 = v3forms;
    if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v5 = v8;
   }
   v6 = ECL_NIL;
   v7 = v5;
   {
    cl_object v8;
    cl_object v9;
    v8 = ecl_list1(ECL_NIL);
    v9 = v8;
L10:;
    if (!(ecl_endp(v7))){
     goto L12;
    }
    goto L11;
L12:;
    v6 = ECL_CONS_CAR(v7);
    {
     cl_object v10;
     v10 = ECL_CONS_CDR(v7);
     if (ecl_unlikely(!ECL_LISTP(v10))) FEtype_error_list(v10);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v7 = v10;
    }
    {
     cl_object v10;
     v10 = v9;
     if (ecl_unlikely(ECL_ATOM(v10))) FEtype_error_cons(v10);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     T1 = v10;
    }
    T2 = ecl_function_dispatch(cl_env_copy,v4)(1, v6);
    v9 = ecl_list1(T2);
    (ECL_CONS_CDR(T1)=v9,T1);
    goto L10;
L11:;
    T0 = ecl_cdr(v8);
    goto L1;
   }
  }
 }
L1:;
 T1 = ecl_list1(ECL_CONS_CAR(CLV0));
 T2 = ecl_append(T0,T1);
 value0 = CONS(ECL_SYM("PROGN",674),T2);
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L72collect_normal_expander_va(cl_narg narg, cl_object v4n_value, cl_object v5fun, cl_object v6forms, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[0]);
 {
  return L72collect_normal_expander(v4n_value, v5fun, v6forms);
 }
}
/* function definition for COLLECT-LIST-EXPANDER                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L74collect_list_expander(cl_object v1n_value, cl_object v2n_tail, cl_object v3forms)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 cl_object CLV0, CLV1, CLV2;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 env0 = ECL_NIL;
 CLV0 = env0 = CONS(v1n_value,env0);              /*  N-VALUE                 */
 CLV1 = env0 = CONS(v2n_tail,env0);               /*  N-TAIL                  */
 {
  cl_object env1 = env0;
  T0 = cl_gensym(0);
  CLV2 = env1 = CONS(T0,env1);                    /*  N-RES                   */
  {
   cl_object v4;
   {
    cl_object v5;
    v5 = ecl_make_cclosure_va((cl_objectfn)LC73__lambda16,env1,Cblock,1);
    v4 = v5;
   }
   {
    cl_object v5;
    cl_object v6;
    cl_object v7;
    {
     cl_object v8;
     v8 = v3forms;
     if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v5 = v8;
    }
    v6 = ECL_NIL;
    v7 = v5;
    {
     cl_object v8;
     cl_object v9;
     v8 = ecl_list1(ECL_NIL);
     v9 = v8;
L10:;
     if (!(ecl_endp(v7))){
      goto L12;
     }
     goto L11;
L12:;
     v6 = ECL_CONS_CAR(v7);
     {
      cl_object v10;
      v10 = ECL_CONS_CDR(v7);
      if (ecl_unlikely(!ECL_LISTP(v10))) FEtype_error_list(v10);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v7 = v10;
     }
     {
      cl_object v10;
      v10 = v9;
      if (ecl_unlikely(ECL_ATOM(v10))) FEtype_error_cons(v10);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T1 = v10;
     }
     T2 = ecl_function_dispatch(cl_env_copy,v4)(1, v6);
     v9 = ecl_list1(T2);
     (ECL_CONS_CDR(T1)=v9,T1);
     goto L10;
L11:;
     T0 = ecl_cdr(v8);
     goto L1;
    }
   }
  }
L1:;
  T1 = ecl_list1(ECL_CONS_CAR(CLV0));
  T2 = ecl_append(T0,T1);
  value0 = CONS(ECL_SYM("PROGN",674),T2);
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L74collect_list_expander_va(cl_narg narg, cl_object v4n_value, cl_object v5n_tail, cl_object v6forms, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[8]);
 {
  return L74collect_list_expander(v4n_value, v5n_tail, v6forms);
 }
}
/* local function COLLECT                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC75collect(cl_object v1, cl_object v2)
{
 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);
L1:;
 {
  cl_object v3;
  cl_object v4collections;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4collections = v5;
  }
  {
   cl_object v5macros;
   cl_object v6binds;
   v5macros = ECL_NIL;
   v6binds = ECL_NIL;
   {
    cl_object v7;
    v7 = v4collections;
    goto L15;
L14:;
    {
     cl_object v8spec;
     v8spec = ecl_car(v7);
     if (!(ECL_ATOM(v8spec))){
      goto L20;
     }
     v8spec = ecl_list1(v8spec);
     goto L19;
L20:;
     {
      cl_fixnum v9;
      v9 = ecl_length(v8spec);
      if ((((cl_fixnum)(1))<=(v9) && (v9)<=((cl_fixnum)(3)))) {
       goto L19;
      }
     }
     cl_error(2, VV[12], v8spec);
L19:;
     {
      cl_object v9;
      cl_object v10;
      cl_object v11;
      cl_object v12;
      v9 = cl_gensym(0);
      v10 = ecl_car(v8spec);
      v11 = ecl_cadr(v8spec);
      value0 = ecl_caddr(v8spec);
      if (value0!=ECL_NIL) {
       goto L30;
      }
      v12 = ECL_SYM("COLLECT",1823);
      goto L28;
L30:;
      v12 = value0;
      goto L28;
L28:;
      T0 = cl_list(2, v9, v11);
      v6binds = CONS(T0,v6binds);
      if (!((v12)==(ECL_SYM("COLLECT",1823)))){
       goto L34;
      }
      {
       cl_object v13n_tail;
       v13n_tail = cl_gensym(0);
       if (Null(v11)){
        goto L38;
       }
       T0 = cl_list(2, ECL_SYM("LAST",457), v9);
       T1 = cl_list(2, v13n_tail, T0);
       v6binds = CONS(T1,v6binds);
       goto L37;
L38:;
       v6binds = CONS(v13n_tail,v6binds);
L37:;
       T0 = cl_list(2, ECL_SYM("QUOTE",682), v9);
       T1 = cl_list(2, ECL_SYM("QUOTE",682), v13n_tail);
       T2 = cl_list(4, VV[8], T0, T1, VV[14]);
       T3 = cl_list(3, v10, VV[13], T2);
       v5macros = CONS(T3,v5macros);
       goto L24;
      }
L34:;
      T0 = cl_list(2, ECL_SYM("QUOTE",682), v9);
      T1 = cl_list(2, ECL_SYM("QUOTE",682), v12);
      T2 = cl_list(4, VV[0], T0, T1, VV[14]);
      T3 = cl_list(3, v10, VV[13], T2);
      v5macros = CONS(T3,v5macros);
     }
L24:;
    }
    v7 = ecl_cdr(v7);
L15:;
    if (Null(v7)){
     goto L46;
    }
    goto L14;
L46:;
   }
   T0 = cl_nreverse(v6binds);
   T1 = cl_listX(3, ECL_SYM("LET*",480), T0, v3);
   value0 = cl_list(3, ECL_SYM("MACROLET",523), v5macros, T1);
   return value0;
  }
 }
}
static cl_object LC75collect_va(cl_narg narg, cl_object v7, cl_object v8, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[15]);
 {
  return LC75collect(v7, v8);
 }
}
/* local function ONCE-ONLY                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC77once_only(cl_object v1, cl_object v2)
{
 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;
  cl_object v4specs;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4specs = v5;
  }
  value0 = LC76frob(v4specs, v3);
  return value0;
 }
}
static cl_object LC77once_only_va(cl_narg narg, cl_object v5, cl_object v6, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[20]);
 {
  return LC77once_only(v5, v6);
 }
}
/* local function WITH-UNIQUE-NAMES                                           */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC79with_unique_names(cl_object v1, cl_object v2)
{
 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:;
 {
  cl_object v3;
  cl_object v4symbols;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4symbols = v5;
  }
  {
   cl_object v5;
   {
    cl_object v6;
    v6 = ecl_make_cfun_va((cl_objectfn)LC78__lambda104_va,ECL_NIL,Cblock,1);
    v5 = v6;
   }
   {
    cl_object v6;
    cl_object v7;
    cl_object v8;
    {
     cl_object v9;
     v9 = v4symbols;
     if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v6 = v9;
    }
    v7 = ECL_NIL;
    v8 = v6;
    {
     cl_object v9;
     cl_object v10;
     v9 = ecl_list1(ECL_NIL);
     v10 = v9;
L18:;
     if (!(ecl_endp(v8))){
      goto L20;
     }
     goto L19;
L20:;
     v7 = ECL_CONS_CAR(v8);
     {
      cl_object v11;
      v11 = ECL_CONS_CDR(v8);
      if (ecl_unlikely(!ECL_LISTP(v11))) FEtype_error_list(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v8 = v11;
     }
     {
      cl_object v11;
      v11 = v10;
      if (ecl_unlikely(ECL_ATOM(v11))) FEtype_error_cons(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T1 = v11;
     }
     T2 = ecl_function_dispatch(cl_env_copy,v5)(1, v7);
     v10 = ecl_list1(T2);
     (ECL_CONS_CDR(T1)=v10,T1);
     goto L18;
L19:;
     T0 = ecl_cdr(v9);
     goto L9;
    }
   }
  }
L9:;
  value0 = cl_listX(3, ECL_SYM("LET*",480), T0, v3);
  return value0;
 }
}
static cl_object LC79with_unique_names_va(cl_narg narg, cl_object v5, cl_object v6, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[22]);
 {
  return LC79with_unique_names(v5, v6);
 }
}
/* local function WITH-GENSYMS                                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC80with_gensyms(cl_object v1, cl_object v2)
{
 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;
  cl_object v4symbols;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4symbols = v5;
  }
  value0 = cl_listX(3, ECL_SYM("WITH-UNIQUE-NAMES",1824), v4symbols, v3);
  return value0;
 }
}
static cl_object LC80with_gensyms_va(cl_narg narg, cl_object v5, cl_object v6, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[23]);
 {
  return LC80with_gensyms(v5, v6);
 }
}
/* local function WITH-CLEAN-SYMBOLS                                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC82with_clean_symbols(cl_object v1, cl_object v2)
{
 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:;
 {
  cl_object v3;
  cl_object v4symbols;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4symbols = v5;
  }
  {
   cl_object v5;
   {
    cl_object v6;
    v6 = ecl_make_cfun_va((cl_objectfn)LC81__lambda129_va,ECL_NIL,Cblock,1);
    v5 = v6;
   }
   {
    cl_object v6;
    cl_object v7;
    cl_object v8;
    {
     cl_object v9;
     v9 = v4symbols;
     if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v6 = v9;
    }
    v7 = ECL_NIL;
    v8 = v6;
    {
     cl_object v9;
     cl_object v10;
     v9 = ecl_list1(ECL_NIL);
     v10 = v9;
L18:;
     if (!(ecl_endp(v8))){
      goto L20;
     }
     goto L19;
L20:;
     v7 = ECL_CONS_CAR(v8);
     {
      cl_object v11;
      v11 = ECL_CONS_CDR(v8);
      if (ecl_unlikely(!ECL_LISTP(v11))) FEtype_error_list(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v8 = v11;
     }
     {
      cl_object v11;
      v11 = v10;
      if (ecl_unlikely(ECL_ATOM(v11))) FEtype_error_cons(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T1 = v11;
     }
     T2 = ecl_function_dispatch(cl_env_copy,v5)(1, v7);
     v10 = ecl_list1(T2);
     (ECL_CONS_CDR(T1)=v10,T1);
     goto L18;
L19:;
     T0 = ecl_cdr(v9);
     goto L9;
    }
   }
  }
L9:;
  T1 = cl_sublis(2, T0, v3);
  value0 = CONS(ECL_SYM("PROGN",674),T1);
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object LC82with_clean_symbols_va(cl_narg narg, cl_object v5, cl_object v6, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[25]);
 {
  return LC82with_clean_symbols(v5, v6);
 }
}
/* local function IF-LET                                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC83if_let(cl_object v1, cl_object v2)
{
 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 v3;
  cl_object v4bindings;
  cl_object v5;
  cl_object v6then_form;
  cl_object v7else_form;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v8;
   v8 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4bindings = v8;
  }
  v5 = v3;
  if (!(v5==ECL_NIL)){
   goto L11;
  }
  si_dm_too_few_arguments(v1);
L11:;
  {
   cl_object v8;
   v8 = ecl_car(v5);
   v5 = ecl_cdr(v5);
   v6then_form = v8;
  }
  if (Null(v5)){
   goto L17;
  }
  {
   cl_object v8;
   v8 = ecl_car(v5);
   v5 = ecl_cdr(v5);
   v7else_form = v8;
   goto L16;
  }
L17:;
  v7else_form = ECL_NIL;
L16:;
  if (Null(v5)){
   goto L22;
  }
  si_dm_too_many_arguments(v1);
L22:;
  {
   cl_object v8binding_list;
   cl_object v9variables;
   if (!(ECL_CONSP(v4bindings))){
    goto L25;
   }
   T0 = ecl_car(v4bindings);
   if (!(ECL_SYMBOLP(T0))){
    goto L25;
   }
   v8binding_list = ecl_list1(v4bindings);
   goto L24;
L25:;
   v8binding_list = v4bindings;
L24:;
   {
    cl_object v10;
    v10 = (ECL_SYM("CAR",182)->symbol.gfdef);
    {
     cl_object v11;
     cl_object v12;
     cl_object v13;
     {
      cl_object v14;
      v14 = v8binding_list;
      if (ecl_unlikely(!ECL_LISTP(v14))) FEtype_error_list(v14);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v11 = v14;
     }
     v12 = ECL_NIL;
     v13 = v11;
     {
      cl_object v14;
      cl_object v15;
      v14 = ecl_list1(ECL_NIL);
      v15 = v14;
L37:;
      if (!(ecl_endp(v13))){
       goto L39;
      }
      goto L38;
L39:;
      v12 = ECL_CONS_CAR(v13);
      {
       cl_object v16;
       v16 = ECL_CONS_CDR(v13);
       if (ecl_unlikely(!ECL_LISTP(v16))) FEtype_error_list(v16);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       v13 = v16;
      }
      {
       cl_object v16;
       v16 = v15;
       if (ecl_unlikely(ECL_ATOM(v16))) FEtype_error_cons(v16);
       value0 = ECL_NIL;
       cl_env_copy->nvalues = 0;
       T0 = v16;
      }
      T1 = ecl_function_dispatch(cl_env_copy,v10)(1, v12);
      v15 = ecl_list1(T1);
      (ECL_CONS_CDR(T0)=v15,T0);
      goto L37;
L38:;
      v9variables = ecl_cdr(v14);
      goto L28;
     }
    }
   }
L28:;
   T0 = CONS(ECL_SYM("AND",89),v9variables);
   T1 = cl_list(4, ECL_SYM("IF",950), T0, v6then_form, v7else_form);
   value0 = cl_list(3, ECL_SYM("LET",479), v8binding_list, T1);
   return value0;
  }
 }
}
static cl_object LC83if_let_va(cl_narg narg, cl_object v10, cl_object v11, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[27]);
 {
  return LC83if_let(v10, v11);
 }
}
/* local function WHEN-LET                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC84when_let(cl_object v1, cl_object v2)
{
 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 v3;
  cl_object v4bindings;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4bindings = v5;
  }
  T0 = CONS(ECL_SYM("PROGN",674),v3);
  value0 = cl_list(3, ECL_SYM("IF-LET",1827), v4bindings, T0);
  return value0;
 }
}
static cl_object LC84when_let_va(cl_narg narg, cl_object v5, cl_object v6, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[28]);
 {
  return LC84when_let(v5, v6);
 }
}
/* local function WHEN-LET*                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC86when_let_(cl_object v1, cl_object v2)
{
 cl_object T0, T1, T2, T3, T4;
 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;
  cl_object v4bindings;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v5;
   v5 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4bindings = v5;
  }
  {
   cl_object v5binding_list;
   if (!(ECL_CONSP(v4bindings))){
    goto L10;
   }
   T0 = ecl_car(v4bindings);
   if (!(ECL_SYMBOLP(T0))){
    goto L10;
   }
   v5binding_list = ecl_list1(v4bindings);
   goto L9;
L10:;
   v5binding_list = v4bindings;
L9:;
   T0 = ecl_car(v5binding_list);
   T1 = ecl_list1(T0);
   T2 = ecl_caar(v5binding_list);
   T4 = ecl_cdr(v5binding_list);
   T3 = LC85bind(T4, v3);
   T4 = cl_listX(3, ECL_SYM("WHEN",909), T2, T3);
   value0 = cl_list(3, ECL_SYM("LET",479), T1, T4);
   return value0;
  }
 }
}
static cl_object LC86when_let__va(cl_narg narg, cl_object v6, cl_object v7, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[30]);
 {
  return LC86when_let_(v6, v7);
 }
}
/* closure LAMBDA6                                                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC71__lambda6(cl_narg narg, cl_object v1form, ...)
{
 cl_object T0;
 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;                                     /*  FUN                     */
 CLV0 = _ecl_cdr(CLV1);
 { /* ... closure scanning finished */
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[1]);
 {
L1:;
  T0 = cl_list(3, ECL_CONS_CAR(CLV1), v1form, ECL_CONS_CAR(CLV0));
  value0 = cl_list(3, ECL_SYM("SETQ",754), ECL_CONS_CAR(CLV0), T0);
  return value0;
 }
 }
}
/* closure LAMBDA16                                                           */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC73__lambda16(cl_narg narg, cl_object v1form, ...)
{
 cl_object T0, T1, T2, T3, T4, T5, T6, T7, T8;
 cl_object CLV0, CLV1, CLV2;
 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 ... */
 CLV2 = env0;                                     /*  N-RES                   */
 CLV1 = _ecl_cdr(CLV2);
 CLV0 = _ecl_cdr(CLV1);
 { /* ... closure scanning finished */
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[9]);
 {
L1:;
  T0 = cl_list(3, ECL_SYM("CONS",253), v1form, ECL_NIL);
  T1 = cl_list(2, ECL_CONS_CAR(CLV2), T0);
  T2 = ecl_list1(T1);
  T3 = cl_list(3, ECL_SYM("RPLACD",736), ECL_CONS_CAR(CLV1), ECL_CONS_CAR(CLV2));
  T4 = cl_list(3, ECL_SYM("SETQ",754), ECL_CONS_CAR(CLV1), ECL_CONS_CAR(CLV2));
  T5 = cl_list(3, ECL_CONS_CAR(CLV1), T3, T4);
  T6 = cl_list(5, ECL_SYM("SETQ",754), ECL_CONS_CAR(CLV1), ECL_CONS_CAR(CLV2), ECL_CONS_CAR(CLV0), ECL_CONS_CAR(CLV2));
  T7 = cl_list(2, ECL_T, T6);
  T8 = cl_list(3, ECL_SYM("COND",249), T5, T7);
  value0 = cl_list(3, ECL_SYM("LET",479), T2, T8);
  return value0;
 }
 }
}
/* local function FROB                                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC76frob(cl_object v1specs, cl_object v2body)
{
 cl_object T0, T1, T2, T3, T4, T5, T6, T7;
 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 (!(v1specs==ECL_NIL)){
  goto L2;
 }
 value0 = CONS(ECL_SYM("PROGN",674),v2body);
 cl_env_copy->nvalues = 1;
 return value0;
L2:;
 {
  cl_object v3spec;
  v3spec = ecl_car(v1specs);
  if (!(ECL_ATOM(v3spec))){
   goto L6;
  }
  v3spec = cl_list(2, v3spec, v3spec);
  goto L5;
L6:;
  {
   cl_fixnum v4;
   v4 = ecl_length(v3spec);
   if (!((v4)!=((cl_fixnum)(2)))){
    goto L5;
   }
  }
  cl_error(2, VV[17], v3spec);
L5:;
  {
   cl_object v4;
   cl_object v5;
   v4 = ecl_car(v3spec);
   v5 = cl_gensym(0);
   T0 = ecl_cadr(v3spec);
   T1 = cl_list(2, v5, T0);
   T2 = cl_list(2, v4, VV[18]);
   T3 = cl_list(2, T1, T2);
   T4 = cl_list(3, ECL_SYM("LIST",483), v4, v5);
   T5 = cl_list(2, ECL_SYM("LIST",483), T4);
   T7 = ecl_cdr(v1specs);
   T6 = LC76frob(T7, v2body);
   T7 = cl_list(4, ECL_SYM("LIST",483), VV[19], T5, T6);
   value0 = cl_list(3, ECL_SYM("LET",479), T3, T7);
   return value0;
  }
 }
}
static cl_object LC76frob_va(cl_narg narg, cl_object v6specs, cl_object v7body, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[16]);
 {
  return LC76frob(v6specs, v7body);
 }
}
/* local function LAMBDA104                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC78__lambda104(cl_object v1symbol)
{
 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 v2symbol_name;
  v2symbol_name = ecl_symbol_name(v1symbol);
  T0 = cl_list(2, ECL_SYM("GENSYM",402), v2symbol_name);
  value0 = cl_list(2, v1symbol, T0);
  return value0;
 }
}
static cl_object LC78__lambda104_va(cl_narg narg, cl_object v3symbol, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[21]);
 {
  return LC78__lambda104(v3symbol);
 }
}
/* local function LAMBDA129                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC81__lambda129(cl_object v1s)
{
 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_symbol_name(v1s);
 T1 = cl_make_symbol(T0);
 value0 = CONS(v1s,T1);
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC81__lambda129_va(cl_narg narg, cl_object v2s, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[24]);
 {
  return LC81__lambda129(v2s);
 }
}
/* local function BIND                                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC85bind(cl_object v1bindings, cl_object v2body)
{
 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:;
 if (Null(v1bindings)){
  goto L2;
 }
 T0 = ecl_car(v1bindings);
 T1 = ecl_list1(T0);
 T2 = ecl_caar(v1bindings);
 T4 = ecl_cdr(v1bindings);
 T3 = LC85bind(T4, v2body);
 T4 = cl_listX(3, ECL_SYM("WHEN",909), T2, T3);
 T5 = cl_list(3, ECL_SYM("LET",479), T1, T4);
 value0 = ecl_list1(T5);
 cl_env_copy->nvalues = 1;
 return value0;
L2:;
 value0 = v2body;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC85bind_va(cl_narg narg, cl_object v3bindings, cl_object v4body, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[29]);
 {
  return LC85bind(v3bindings, v4body);
 }
}
#include "lsp/cmuutil.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclZOaRomWYHUho9_9TbzL881(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:LSP;CMUUTIL.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclZOaRomWYHUho9_9TbzL881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(VVtemp[0]);
  ecl_cmp_defun(VV[31]);                          /*  COLLECT-NORMAL-EXPANDER */
  ecl_cmp_defun(VV[32]);                          /*  COLLECT-LIST-EXPANDER   */
  ecl_cmp_defmacro(VV[33]);                       /*  COLLECT                 */
  ecl_cmp_defmacro(VV[34]);                       /*  ONCE-ONLY               */
  ecl_cmp_defmacro(VV[35]);                       /*  WITH-UNIQUE-NAMES       */
  ecl_cmp_defmacro(VV[36]);                       /*  WITH-GENSYMS            */
  ecl_cmp_defmacro(VV[37]);                       /*  WITH-CLEAN-SYMBOLS      */
  ecl_cmp_defmacro(VV[38]);                       /*  IF-LET                  */
  ecl_cmp_defmacro(VV[39]);                       /*  WHEN-LET                */
  ecl_cmp_defmacro(VV[40]);                       /*  WHEN-LET*               */
}
