/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpform.lsp                     */
#include <ecl/ecl-cmp.h>
#include "cmp/cmpform.eclh"
/* function definition for MAKE-C1FORM                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3352make_c1form(cl_narg narg, cl_object v1name, cl_object v2subform, ...)
{
 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);
 if (ecl_unlikely(narg<2)) FEwrong_num_arguments(VV[0]);
 {
  cl_object v3args;
  ecl_va_list args; ecl_va_start(args,v2subform,narg,2);
  v3args = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v4form;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v2subform) /*  INFO-TYPE */;
   T1 = (cl_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(1, v2subform) /*  INFO-SP-CHANGE */;
   T2 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(1, v2subform) /*  INFO-VOLATILE */;
   v4form = (cl_env_copy->function=ecl_fdefinition(VV[1]))->cfun.entry(18, ECL_SYM("NAME",1309), v1name, VV[2], v3args, ECL_SYM("TYPE",1356), T0, VV[4], T1, VV[6], T2, VV[8], ecl_cmp_symbol_value(cl_env_copy,VV[9]), VV[10], ecl_cmp_symbol_value(cl_env_copy,VV[11]), ECL_SYM("FILE",1269), ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("*COMPILE-FILE-TRUENAME*",29)), VV[12], ecl_cmp_symbol_value(cl_env_copy,VV[13])) /*  DO-MAKE-C1FORM */;
   L3355c1form_add_info(v4form, v3args);
   value0 = v4form;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
}
/* function definition for MAKE-C1FORM*                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3353make_c1form_(cl_narg narg, cl_object v1name, ...)
{
 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);
 if (ecl_unlikely(narg<1)) FEwrong_num_arguments(VV[16]);
 {
  cl_object v2args;
  ecl_va_list args; ecl_va_start(args,v1name,narg,1);
  v2args = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v3info_args;
   cl_object v4form_args;
   v3info_args = ECL_NIL;
   v4form_args = ECL_NIL;
   {
    cl_object v5l;
    v5l = v2args;
    goto L7;
L6:;
    {
     cl_object v6key;
     v6key = ecl_car(v5l);
     if (cl_keywordp(v6key)!=ECL_NIL) {
      goto L11;
     }
     T0 = ecl_list1(v6key);
     (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[18], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
     goto L9;
L11:;
     if (!((v6key)==(VV[2]))){
      goto L13;
     }
     v4form_args = ecl_cdr(v5l);
     goto L3;
L13:;
     T0 = ecl_cadr(v5l);
     v3info_args = cl_listX(3, v6key, T0, v3info_args);
     v5l = ecl_cdr(v5l);
    }
L9:;
    v5l = ecl_cdr(v5l);
L7:;
    if (ecl_endp(v5l)) {
     goto L22;
    }
    goto L6;
L22:;
   }
L3:;
   {
    cl_object v5form;
    T0 = ecl_fdefinition(VV[1]);
    v5form = cl_apply(14, T0, ECL_SYM("NAME",1309), v1name, VV[2], v4form_args, VV[8], ecl_cmp_symbol_value(cl_env_copy,VV[9]), VV[10], ecl_cmp_symbol_value(cl_env_copy,VV[11]), ECL_SYM("FILE",1269), ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("*COMPILE-FILE-TRUENAME*",29)), VV[12], ecl_cmp_symbol_value(cl_env_copy,VV[13]), v3info_args);
    L3355c1form_add_info(v5form, v4form_args);
    value0 = v5form;
    cl_env_copy->nvalues = 1;
    return value0;
   }
  }
 }
}
/* function definition for C1FORM-ADD-INFO-LOOP                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3354c1form_add_info_loop(cl_object v1form, cl_object v2dependents)
{
 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 v3subform;
  v3subform = ECL_NIL;
L3:;
  if (ECL_CONSP(v2dependents)) {
   goto L5;
  }
  goto L4;
L5:;
  {
   cl_object v4;
   v4 = v2dependents;
   {
    cl_object v5;
    v5 = v4;
    {
     bool v6;
     v6 = ECL_LISTP(v5);
     if (ecl_unlikely(!(v6)))
         FEwrong_type_argument(VV[25],v5);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
    }
   }
   if (Null(v4)){
    goto L14;
   }
   {
    cl_object v5;
    v5 = ECL_CONS_CDR(v4);
    v2dependents = v5;
    v4 = ECL_CONS_CAR(v4);
   }
L14:;
   v3subform = v4;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v3subform) /*  C1FORM-P */)){
   goto L7;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v3subform) /*  C1FORM-SP-CHANGE */)){
   goto L20;
  }
  ecl_structure_set(v1form,VV[27],(cl_fixnum)(2),ECL_T);
  ecl_structure_set(v1form,VV[27],(cl_fixnum)(8),ECL_T);
L20:;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v3subform) /*  C1FORM-SIDE-EFFECTS */)){
   goto L23;
  }
  ecl_structure_set(v1form,VV[27],(cl_fixnum)(8),ECL_T);
L23:;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v3subform) /*  C1FORM-NAME */;
  if ((T0)==(VV[30])) {
   goto L7;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v3subform) /*  C1FORM-PARENTS */;
  if (Null(ecl_cdr(T0))){
   goto L26;
  }
  cl_error(1, VV[32]);
L26:;
  {
   cl_object v4;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v3subform) /*  C1FORM-PARENTS */;
   T1 = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v1form) /*  C1FORM-PARENTS */;
   v4 = ecl_nconc(T0,T1);
   ecl_structure_set(v3subform,VV[27],(cl_fixnum)(5),v4);
  }
L7:;
  if (!(ECL_CONSP(v3subform))){
   goto L29;
  }
  L3354c1form_add_info_loop(v1form, v3subform);
L29:;
  goto L3;
L4:;
  value0 = ECL_NIL;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L3354c1form_add_info_loop_va(cl_narg narg, cl_object v4form, cl_object v5dependents, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[20]);
 {
  return L3354c1form_add_info_loop(v4form, v5dependents);
 }
}
/* function definition for C1FORM-ADD-INFO                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3355c1form_add_info(cl_object v1form, cl_object v2dependents)
{
 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 v3record;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
  v3record = ecl_gethash_safe(T0,ecl_cmp_symbol_value(cl_env_copy,VV[34]),ECL_NIL);
  if (v3record!=ECL_NIL) {
   goto L4;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
  cl_error(2, VV[35], T0);
L4:;
  {
   cl_object v4;
   cl_object v5;
   cl_object v6;
   v4 = ecl_car(v3record);
   v5 = (cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v1form) /*  C1FORM-SP-CHANGE */;
   v6 = ecl_cadr(v3record);
   {
    cl_object v7;
    value0 = (cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v1form) /*  C1FORM-SIDE-EFFECTS */;
    if (value0!=ECL_NIL) {
     goto L13;
    }
    value0 = v5;
    if (value0!=ECL_NIL) {
     goto L13;
    }
    v7 = v6;
    goto L11;
L13:;
    v7 = value0;
    goto L11;
L11:;
    ecl_structure_set(v1form,VV[27],(cl_fixnum)(8),v7);
   }
   {
    cl_object v7;
    v7 = ecl_list1(v1form);
    ecl_structure_set(v1form,VV[27],(cl_fixnum)(5),v7);
   }
   if (v4==ECL_NIL) {
    goto L2;
   }
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
   {
    cl_fixnum v7;
    v7 = ecl_length(T0);
    if (ecl_number_equalp(v4,ecl_make_fixnum(v7))) {
     goto L2;
    }
   }
   cl_error(2, VV[37], v1form);
  }
 }
L2:;
 value0 = L3354c1form_add_info_loop(v1form, v2dependents);
 return value0;
}
static cl_object L3355c1form_add_info_va(cl_narg narg, cl_object v3form, cl_object v4dependents, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[14]);
 {
  return L3355c1form_add_info(v3form, v4dependents);
 }
}
/* local function C1FORM-ARG                                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3356c1form_arg(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 v4nth;
  cl_object v5form;
  v3 = ecl_cdr(v1);
  if (!(v3==ECL_NIL)){
   goto L4;
  }
  si_dm_too_few_arguments(v1);
L4:;
  {
   cl_object v6;
   v6 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v4nth = v6;
  }
  if (!(v3==ECL_NIL)){
   goto L10;
  }
  si_dm_too_few_arguments(v1);
L10:;
  {
   cl_object v6;
   v6 = ecl_car(v3);
   v3 = ecl_cdr(v3);
   v5form = v6;
  }
  if (Null(v3)){
   goto L15;
  }
  si_dm_too_many_arguments(v1);
L15:;
  if (!((v4nth)==(ecl_make_int8_t(0)))){
   goto L17;
  }
  T0 = cl_list(2, VV[36], v5form);
  value0 = cl_list(2, ECL_SYM("FIRST",373), T0);
  return value0;
L17:;
  if (!((v4nth)==(ecl_make_int8_t(1)))){
   goto L19;
  }
  T0 = cl_list(2, VV[36], v5form);
  value0 = cl_list(2, ECL_SYM("SECOND",743), T0);
  return value0;
L19:;
  T0 = cl_list(2, VV[36], v5form);
  value0 = cl_list(3, ECL_SYM("NTH",604), v4nth, T0);
  return value0;
 }
}
static cl_object LC3356c1form_arg_va(cl_narg narg, cl_object v6, cl_object v7, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[40]);
 {
  return LC3356c1form_arg(v6, v7);
 }
}
/* function definition for C1FORM-VOLATILE*                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3357c1form_volatile_(cl_object v1form)
{
 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[44]))->cfun.entry(1, v1form) /*  C1FORM-VOLATILE */)){
  goto L2;
 }
 value0 = VV[45];
 cl_env_copy->nvalues = 1;
 return value0;
L2:;
 value0 = VV[46];
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3357c1form_volatile__va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[43]);
 {
  return L3357c1form_volatile_(v2form);
 }
}
/* function definition for C1FORM-PRIMARY-TYPE                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3358c1form_primary_type(cl_object v1form)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[50]))->cfun.entry(1, v1form) /*  C1FORM-TYPE */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[49]))->cfun.entry(1, T0) /*  VALUES-TYPE-PRIMARY-TYPE */;
 return value0;
}
static cl_object L3358c1form_primary_type_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[48]);
 {
  return L3358c1form_primary_type(v2form);
 }
}
/* function definition for LOCATION-PRIMARY-TYPE                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3359location_primary_type(cl_object v1form)
{
 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 = L3358c1form_primary_type(v1form);
 return value0;
}
static cl_object L3359location_primary_type_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[52]);
 {
  return L3359location_primary_type(v2form);
 }
}
/* function definition for FIND-FORM-IN-NODE-LIST                             */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3360find_form_in_node_list(cl_object v1form, cl_object v2list)
{
 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 v4;
  {
   cl_object v5form_parents;
   v5form_parents = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v1form) /*  C1FORM-PARENTS */;
   {
    cl_object v6;
    cl_object v7presumed_child_parents;
    cl_object v8;
    {
     cl_object v9;
     v9 = v2list;
     if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v6 = v9;
    }
    v7presumed_child_parents = ECL_NIL;
    v8 = v6;
    {
     cl_object v9;
     v9 = ECL_NIL;
L10:;
     if (!(ecl_endp(v8))){
      goto L12;
     }
     goto L11;
L12:;
     v7presumed_child_parents = ECL_CONS_CAR(v8);
     {
      cl_object v10;
      v10 = ECL_CONS_CDR(v8);
      if (ecl_unlikely(!ECL_LISTP(v10))) FEtype_error_list(v10);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v8 = v10;
     }
     v9 = cl_tailp(v5form_parents, v7presumed_child_parents);
     if (Null(v9)){
      goto L20;
     }
     v3 = v9;
     goto L2;
L20:;
     goto L10;
L11:;
     v3 = ECL_NIL;
    }
   }
  }
L2:;
  {
   cl_object v5;
   cl_object v6presumed_child_parents;
   cl_object v7;
   {
    cl_object v8;
    v8 = v2list;
    if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    v5 = v8;
   }
   v6presumed_child_parents = ECL_NIL;
   v7 = v5;
   {
    cl_object v8;
    v8 = ECL_NIL;
L31:;
    if (!(ecl_endp(v7))){
     goto L33;
    }
    goto L32;
L33:;
    v6presumed_child_parents = 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;
    }
    {
     cl_object v9;
     cl_object v10;
     cl_object v11;
     v9 = (ECL_SYM("EQ",335)->symbol.gfdef);
     v10 = v1form;
     v11 = v6presumed_child_parents;
     v8 = si_memq(v10,v11);
    }
    if (Null(v8)){
     goto L41;
    }
    v4 = v8;
    goto L24;
L41:;
    goto L31;
L32:;
    v4 = ECL_NIL;
   }
  }
L24:;
  if (Null(v3)){
   goto L52;
  }
  T0 = ECL_T;
  goto L50;
L52:;
  T0 = ECL_NIL;
  goto L50;
L50:;
  if (Null(v4)){
   goto L56;
  }
  T1 = ECL_T;
  goto L54;
L56:;
  T1 = ECL_NIL;
  goto L54;
L54:;
  if ((T0)==(T1)) {
   goto L48;
  }
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(2, ECL_SYM("FORMAT-CONTROL",1272), VV[56]) /*  BABOON */;
L48:;
  value0 = v3;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L3360find_form_in_node_list_va(cl_narg narg, cl_object v5form, cl_object v6list, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[54]);
 {
  return L3360find_form_in_node_list(v5form, v6list);
 }
}
/* function definition for ADD-FORM-TO-NODE-LIST                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3361add_form_to_node_list(cl_object v1form, cl_object v2list)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v1form) /*  C1FORM-PARENTS */;
 value0 = CONS(T0,v2list);
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3361add_form_to_node_list_va(cl_narg narg, cl_object v3form, cl_object v4list, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[58]);
 {
  return L3361add_form_to_node_list(v3form, v4list);
 }
}
/* function definition for DELETE-FORM-FROM-NODE-LIST                         */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3362delete_form_from_node_list(cl_object v1form, cl_object v2list)
{
 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 v3parents;
  v3parents = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v1form) /*  C1FORM-PARENTS */;
  {
   cl_object v4;
   cl_object v5;
   v4 = v3parents;
   v5 = v2list;
   if (ecl_memql(v4,v5)!=ECL_NIL) {
    goto L3;
   }
  }
  T0 = cl_list(2, v1form, v2list);
  (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[61], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
L3:;
  value0 = cl_delete(2, v3parents, v2list);
  return value0;
 }
}
static cl_object L3362delete_form_from_node_list_va(cl_narg narg, cl_object v4form, cl_object v5list, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[60]);
 {
  return L3362delete_form_from_node_list(v4form, v5list);
 }
}
/* function definition for TRAVERSE-C1FORM-TREE                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3363traverse_c1form_tree(cl_object v1tree, cl_object v2function)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!(ECL_CONSP(v1tree))){
  goto L2;
 }
 {
  cl_object v3;
  cl_object v4f;
  cl_object v5;
  {
   cl_object v6;
   v6 = v1tree;
   if (ecl_unlikely(!ECL_LISTP(v6))) FEtype_error_list(v6);
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 0;
   v3 = v6;
  }
  v4f = ECL_NIL;
  v5 = v3;
L9:;
  if (!(ecl_endp(v5))){
   goto L11;
  }
  goto L10;
L11:;
  v4f = ECL_CONS_CAR(v5);
  {
   cl_object v6;
   v6 = ECL_CONS_CDR(v5);
   if (ecl_unlikely(!ECL_LISTP(v6))) FEtype_error_list(v6);
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 0;
   v5 = v6;
  }
  L3363traverse_c1form_tree(v4f, v2function);
  goto L9;
L10:;
  value0 = ECL_NIL;
  cl_env_copy->nvalues = 1;
  return value0;
 }
L2:;
 if (Null((cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v1tree) /*  C1FORM-P */)){
  goto L21;
 }
 {
  cl_object v6;
  cl_object v7f;
  cl_object v8;
  {
   cl_object v9;
   v9 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1tree) /*  C1FORM-ARGS */;
   if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 0;
   v6 = v9;
  }
  v7f = ECL_NIL;
  v8 = v6;
L29:;
  if (!(ecl_endp(v8))){
   goto L31;
  }
  goto L30;
L31:;
  v7f = ECL_CONS_CAR(v8);
  {
   cl_object v9;
   v9 = ECL_CONS_CDR(v8);
   if (ecl_unlikely(!ECL_LISTP(v9))) FEtype_error_list(v9);
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 0;
   v8 = v9;
  }
  L3363traverse_c1form_tree(v7f, v2function);
  goto L29;
L30:;
 }
 value0 = ecl_function_dispatch(cl_env_copy,v2function)(1, v1tree);
 return value0;
L21:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3363traverse_c1form_tree_va(cl_narg narg, cl_object v6tree, cl_object v7function, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[63]);
 {
  return L3363traverse_c1form_tree(v6tree, v7function);
 }
}
/* function definition for C1FORM-PURE-P                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3364c1form_pure_p(cl_object v1form)
{
 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 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 T1 = cl_gethash(2, T0, ecl_cmp_symbol_value(cl_env_copy,VV[34]));
 value0 = ecl_caddr(T1);
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3364c1form_pure_p_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[65]);
 {
  return L3364c1form_pure_p(v2form);
 }
}
/* function definition for C1FORM-MOVABLE-P                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3366c1form_movable_p(cl_object volatile v1form)
{
 cl_object volatile env0 = ECL_NIL;
 volatile struct ecl_cclosure aux_closure;
 cl_object volatile CLV0;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  env0 = ECL_NIL;
  CLV0 = env0 = CONS(ECL_NEW_FRAME_ID(cl_env_copy),env0); /*  C1FORM-MOVABLE-P */
  {
   ecl_frs_push(cl_env_copy,ECL_CONS_CAR(CLV0));
   if (__ecl_frs_push_result!=0) {
   ecl_frs_pop_n(cl_env_copy, 1);
   return cl_env_copy->values[0];
   } else {
   value0 = (aux_closure.env=env0,cl_env_copy->function=(cl_object)&aux_closure,LC3365abort_on_not_pure(1, v1form));
   ecl_frs_pop_n(cl_env_copy, 1);
   return value0;
   }
  }
 }
}
static cl_object L3366c1form_movable_p_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[67]);
 {
  return L3366c1form_movable_p(v2form);
 }
}
/* function definition for C1FORM-UNMODIFIED-P                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3368c1form_unmodified_p(cl_object volatile v1form, cl_object volatile v2rest_form)
{
 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);
 env0 = ECL_NIL;
 CLV0 = env0 = CONS(v2rest_form,env0);            /*  REST-FORM               */
 {
  CLV1 = env0 = CONS(ECL_NEW_FRAME_ID(cl_env_copy),env0); /*  C1FORM-UNMODIFIED-P */
  {
   ecl_frs_push(cl_env_copy,ECL_CONS_CAR(CLV1));
   if (__ecl_frs_push_result!=0) {
   ecl_frs_pop_n(cl_env_copy, 1);
   return cl_env_copy->values[0];
   } else {
   {
    cl_object volatile v3;
    v3 = ecl_make_cclosure_va((cl_objectfn)LC3367abort_on_not_pure,env0,Cblock,1);
    L3363traverse_c1form_tree(v1form, v3);
    value0 = ECL_T;
    cl_env_copy->nvalues = 1;
    ecl_frs_pop_n(cl_env_copy, 1);
    return value0;
   }
   }
  }
 }
}
static cl_object L3368c1form_unmodified_p_va(cl_narg narg, cl_object v3form, cl_object v4rest_form, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[72]);
 {
  return L3368c1form_unmodified_p(v3form, v4rest_form);
 }
}
/* function definition for C1FORM-VALUES-NUMBER                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3369c1form_values_number(cl_object v1form)
{
 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 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 T1 = ecl_gethash_safe(T0,ecl_cmp_symbol_value(cl_env_copy,VV[34]),ECL_NIL);
 if (Null(ecl_cadddr(T1))){
  goto L2;
 }
 cl_env_copy->nvalues = 2;
 cl_env_copy->values[1] = ecl_make_int8_t(1);
 cl_env_copy->values[0] = ecl_make_int8_t(1);
 return cl_env_copy->values[0];
L2:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[50]))->cfun.entry(1, v1form) /*  C1FORM-TYPE */;
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[76]))->cfun.entry(1, T0) /*  VALUES-NUMBER-FROM-TYPE */;
 return value0;
}
static cl_object L3369c1form_values_number_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[75]);
 {
  return L3369c1form_values_number(v2form);
 }
}
/* function definition for C1FORM-SINGLE-VALUED-P                             */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3370c1form_single_valued_p(cl_object v1form)
{
 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 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 T1 = ecl_gethash_safe(T0,ecl_cmp_symbol_value(cl_env_copy,VV[34]),ECL_NIL);
 value0 = ecl_cadddr(T1);
 if (value0!=ECL_NIL) {
  goto L3;
 }
 {
  struct ecl_stack_frame _ecl_inner_frame_aux;
  cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
  cl_env_copy->values[0] = L3369c1form_values_number(v1form);
  ecl_stack_frame_push_values(_ecl_inner_frame);
  T0 = ecl_apply_from_stack_frame(_ecl_inner_frame,ECL_SYM("LIST",483));
  ecl_stack_frame_close(_ecl_inner_frame);
 }
 T1 = ecl_cadr(T0);
 value0 = ecl_make_bool(ecl_number_equalp(T1,ecl_make_int8_t(1)));
 cl_env_copy->nvalues = 1;
 return value0;
L3:;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3370c1form_single_valued_p_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[78]);
 {
  return L3370c1form_single_valued_p(v2form);
 }
}
/* local function WITH-C1FORM-ENV                                             */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3371with_c1form_env(cl_object v1, cl_object v2)
{
 cl_object T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12;
 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 v4;
  cl_object v5;
  cl_object v6form;
  cl_object v7value;
  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);
   v4 = v8;
  }
  v5 = v4;
  if (!(v5==ECL_NIL)){
   goto L11;
  }
  si_dm_too_few_arguments(v1);
L11:;
  {
   cl_object v8;
   v8 = ecl_car(v5);
   v5 = ecl_cdr(v5);
   v6form = v8;
  }
  if (!(v5==ECL_NIL)){
   goto L17;
  }
  si_dm_too_few_arguments(v1);
L17:;
  {
   cl_object v8;
   v8 = ecl_car(v5);
   v5 = ecl_cdr(v5);
   v7value = v8;
  }
  if (Null(v5)){
   goto L22;
  }
  si_dm_too_many_arguments(v1);
L22:;
  T0 = cl_list(2, v6form, v7value);
  T1 = cl_list(2, VV[81], v6form);
  T2 = cl_list(2, VV[82], v6form);
  T3 = cl_list(2, ECL_SYM("*COMPILE-FILE-TRUENAME*",29), T2);
  T4 = cl_list(2, VV[83], v6form);
  T5 = cl_list(2, VV[13], T4);
  T6 = cl_list(2, VV[84], v6form);
  T7 = cl_list(2, VV[11], T6);
  T8 = cl_list(2, VV[85], v6form);
  T9 = cl_list(2, VV[9], T8);
  T10 = cl_list(2, VV[87], v6form);
  T11 = cl_list(2, VV[86], T10);
  T12 = cl_list(7, T0, T1, T3, T5, T7, T9, T11);
  value0 = cl_listX(3, ECL_SYM("LET*",480), T12, v3);
  return value0;
 }
}
static cl_object LC3371with_c1form_env_va(cl_narg narg, cl_object v8, cl_object v9, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[80]);
 {
  return LC3371with_c1form_env(v8, v9);
 }
}
/* function definition for RELOCATE-PARENTS-LIST                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3372relocate_parents_list(cl_object v1dest, cl_object v2new_fields)
{
 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 v3old;
  cl_object v4first_cons;
  v3old = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v1dest) /*  C1FORM-PARENTS */;
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v2new_fields) /*  C1FORM-PARENTS */;
  if (value0!=ECL_NIL) {
   goto L5;
  }
  v4first_cons = v3old;
  goto L3;
L5:;
  v4first_cons = value0;
  goto L3;
L3:;
  {
   cl_object v5;
   v5 = v1dest;
   {
    cl_object v6;
    v6 = v4first_cons;
    if (ecl_unlikely(ECL_ATOM(v6))) FEtype_error_cons(v6);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    T0 = v6;
   }
   (ECL_CONS_CAR(T0)=v5,T0);
  }
  {
   cl_object v5;
   v5 = ecl_cdr(v3old);
   {
    cl_object v6;
    v6 = v4first_cons;
    if (ecl_unlikely(ECL_ATOM(v6))) FEtype_error_cons(v6);
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 0;
    T0 = v6;
   }
   (ECL_CONS_CDR(T0)=v5,T0);
  }
  ecl_structure_set(v2new_fields,VV[27],(cl_fixnum)(5),ECL_NIL);
  value0 = ecl_structure_set(v1dest,VV[27],(cl_fixnum)(5),v4first_cons);
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L3372relocate_parents_list_va(cl_narg narg, cl_object v5dest, cl_object v6new_fields, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[89]);
 {
  return L3372relocate_parents_list(v5dest, v6new_fields);
 }
}
/* function definition for C1FORM-REPLACE-WITH                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3373c1form_replace_with(cl_object v1dest, cl_object v2new_fields)
{
 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((cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v2new_fields) /*  C1FORM-SIDE-EFFECTS */)){
  goto L2;
 }
 (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(2, ECL_SYM("FORMAT-CONTROL",1272), VV[92]) /*  BABOON */;
L2:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1dest) /*  C1FORM-NAME */;
 if ((T0)==(ECL_SYM("VARIABLE",901))) {
  goto L4;
 }
 T0 = ecl_list1(v1dest);
 (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(4, ECL_SYM("FORMAT-CONTROL",1272), VV[93], ECL_SYM("FORMAT-ARGUMENTS",1271), T0) /*  BABOON */;
L4:;
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v2new_fields) /*  C1FORM-NAME */;
  if ((v3)==(VV[30])) {
   goto L6;
  }
  if (!((v3)==(ECL_SYM("VARIABLE",901)))){
   goto L9;
  }
  {
   cl_object v4var;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v2new_fields) /*  C1FORM-ARGS */;
   v4var = ecl_car(T0);
   if (Null((cl_env_copy->function=ecl_fdefinition(VV[31]))->cfun.entry(1, v2new_fields) /*  C1FORM-PARENTS */)){
    goto L12;
   }
   (cl_env_copy->function=ecl_fdefinition(VV[94]))->cfun.entry(2, v4var, v2new_fields) /*  DELETE-FROM-READ-NODES */;
L12:;
   L3372relocate_parents_list(v1dest, v2new_fields);
   (cl_env_copy->function=ecl_fdefinition(VV[95]))->cfun.entry(2, v4var, v1dest) /*  ADD-TO-READ-NODES */;
   goto L6;
  }
L9:;
  L3372relocate_parents_list(v1dest, v2new_fields);
 }
L6:;
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v2new_fields) /*  C1FORM-NAME */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(4),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[96]))->cfun.entry(1, v2new_fields) /*  C1FORM-LOCAL-VARS */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(0),v3);
 }
 {
  cl_object v3;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[50]))->cfun.entry(1, v2new_fields) /*  C1FORM-TYPE */;
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[50]))->cfun.entry(1, v1dest) /*  C1FORM-TYPE */;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[97]))->cfun.entry(2, T0, T1) /*  VALUES-TYPE-AND */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(1),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[26]))->cfun.entry(1, v2new_fields) /*  C1FORM-SP-CHANGE */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(2),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v2new_fields) /*  C1FORM-SIDE-EFFECTS */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(8),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[44]))->cfun.entry(1, v2new_fields) /*  C1FORM-VOLATILE */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(3),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v2new_fields) /*  C1FORM-ARGS */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(7),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[87]))->cfun.entry(1, v2new_fields) /*  C1FORM-ENV */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(6),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[85]))->cfun.entry(1, v2new_fields) /*  C1FORM-FORM */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(9),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[84]))->cfun.entry(1, v2new_fields) /*  C1FORM-TOPLEVEL-FORM */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(10),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[82]))->cfun.entry(1, v2new_fields) /*  C1FORM-FILE */;
  ecl_structure_set(v1dest,VV[27],(cl_fixnum)(11),v3);
 }
 {
  cl_object v3;
  v3 = (cl_env_copy->function=ecl_fdefinition(VV[83]))->cfun.entry(1, v2new_fields) /*  C1FORM-FILE-POSITION */;
  value0 = ecl_structure_set(v1dest,VV[27],(cl_fixnum)(12),v3);
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L3373c1form_replace_with_va(cl_narg narg, cl_object v4dest, cl_object v5new_fields, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[91]);
 {
  return L3373c1form_replace_with(v4dest, v5new_fields);
 }
}
/* function definition for DELETE-C1FORMS                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3375delete_c1forms(cl_object v1form)
{
 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 = ecl_make_cfun_va((cl_objectfn)LC3374eliminate_references_va,ECL_NIL,Cblock,1);
  value0 = L3363traverse_c1form_tree(v1form, v2);
  return value0;
 }
}
static cl_object L3375delete_c1forms_va(cl_narg narg, cl_object v3form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[99]);
 {
  return L3375delete_c1forms(v3form);
 }
}
/* function definition for C1FORM-CONSTANT-P                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3376c1form_constant_p(cl_object v1form)
{
 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 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 if (!((T0)==(ECL_SYM("VARIABLE",901)))){
  goto L2;
 }
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
 if (Null(ecl_cadr(T0))){
  goto L2;
 }
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
 T1 = ecl_cadr(T0);
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[103]))->cfun.entry(1, T1) /*  LOC-IMMEDIATE-VALUE-P */;
 return value0;
L2:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 if (!((T0)==(VV[30]))){
  goto L5;
 }
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
 T1 = ecl_car(T0);
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[103]))->cfun.entry(1, T1) /*  LOC-IMMEDIATE-VALUE-P */;
 return value0;
L5:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L3376c1form_constant_p_va(cl_narg narg, cl_object v2form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[102]);
 {
  return L3376c1form_constant_p(v2form);
 }
}
/* closure ABORT-ON-NOT-PURE                                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3365abort_on_not_pure(cl_narg narg, cl_object v1form, ...)
{
 cl_object T0;
 cl_object CLV0;
 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 ... */
 CLV0 = env0;                                     /*  C1FORM-MOVABLE-P        */
 { /* ... closure scanning finished */
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[68]);
 {
L1:;
  {
   cl_object v2name;
   v2name = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
   if (!((v2name)==(ECL_SYM("VARIABLE",901)))){
    goto L3;
   }
   {
    cl_object v3var;
    T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
    v3var = ecl_car(T0);
    if ((cl_env_copy->function=ecl_fdefinition(VV[69]))->cfun.entry(1, v3var) /*  GLOBAL-VAR-P */!=ECL_NIL) {
     goto L8;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[70]))->cfun.entry(1, v3var) /*  VAR-SET-NODES */)){
     goto L6;
    }
    goto L7;
L8:;
L7:;
    cl_env_copy->values[0] = ECL_NIL;
    cl_env_copy->nvalues = 1;
    cl_return_from(ECL_CONS_CAR(CLV0),VV[67]);
L6:;
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 1;
    return value0;
   }
L3:;
   if ((cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v1form) /*  C1FORM-SIDE-EFFECTS */!=ECL_NIL) {
    goto L13;
   }
   if (L3364c1form_pure_p(v1form)!=ECL_NIL) {
    goto L11;
   }
   goto L12;
L13:;
L12:;
   cl_env_copy->values[0] = ECL_NIL;
   cl_env_copy->nvalues = 1;
   cl_return_from(ECL_CONS_CAR(CLV0),VV[67]);
L11:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
 }
}
/* closure ABORT-ON-NOT-PURE                                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3367abort_on_not_pure(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;                                     /*  C1FORM-UNMODIFIED-P     */
 CLV0 = _ecl_cdr(CLV1);
 { /* ... closure scanning finished */
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[68]);
 {
L1:;
  {
   cl_object v2name;
   v2name = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
   if (!((v2name)==(ECL_SYM("VARIABLE",901)))){
    goto L3;
   }
   {
    cl_object v3var;
    T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
    v3var = ecl_car(T0);
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[73]))->cfun.entry(2, v3var, ECL_CONS_CAR(CLV0)) /*  VAR-CHANGED-IN-FORM-LIST */)){
     goto L6;
    }
    cl_env_copy->values[0] = ECL_NIL;
    cl_env_copy->nvalues = 1;
    cl_return_from(ECL_CONS_CAR(CLV1),VV[72]);
L6:;
    value0 = ECL_NIL;
    cl_env_copy->nvalues = 1;
    return value0;
   }
L3:;
   if ((cl_env_copy->function=ecl_fdefinition(VV[28]))->cfun.entry(1, v1form) /*  C1FORM-SIDE-EFFECTS */!=ECL_NIL) {
    goto L11;
   }
   if (L3364c1form_pure_p(v1form)!=ECL_NIL) {
    goto L9;
   }
   goto L10;
L11:;
L10:;
   cl_env_copy->values[0] = ECL_NIL;
   cl_env_copy->nvalues = 1;
   cl_return_from(ECL_CONS_CAR(CLV1),VV[72]);
L9:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
 }
}
/* local function ELIMINATE-REFERENCES                                        */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3374eliminate_references(cl_object v1form)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(1, v1form) /*  C1FORM-NAME */;
 if (!((T0)==(ECL_SYM("VARIABLE",901)))){
  goto L2;
 }
 {
  cl_object v2var;
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[36]))->cfun.entry(1, v1form) /*  C1FORM-ARGS */;
  v2var = ecl_car(T0);
  if (Null(v2var)){
   goto L5;
  }
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[94]))->cfun.entry(2, v2var, v1form) /*  DELETE-FROM-READ-NODES */;
  return value0;
L5:;
  value0 = ECL_NIL;
  cl_env_copy->nvalues = 1;
  return value0;
 }
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object LC3374eliminate_references_va(cl_narg narg, cl_object v3form, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[100]);
 {
  return LC3374eliminate_references(v3form);
 }
}
#include "cmp/cmpform.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclVxvUKYFISxfj9_QRR0M881(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;CMPFORM.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclVxvUKYFISxfj9_QRR0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(VVtemp[0]);
  ecl_cmp_defun(VV[105]);                         /*  MAKE-C1FORM             */
  ecl_cmp_defun(VV[106]);                         /*  MAKE-C1FORM*            */
  ecl_cmp_defun(VV[107]);                         /*  C1FORM-ADD-INFO-LOOP    */
  ecl_cmp_defun(VV[108]);                         /*  C1FORM-ADD-INFO         */
  ecl_cmp_defmacro(VV[109]);                      /*  C1FORM-ARG              */
  ecl_cmp_defun(VV[110]);                         /*  C1FORM-VOLATILE*        */
  ecl_cmp_defun(VV[111]);                         /*  C1FORM-PRIMARY-TYPE     */
  ecl_cmp_defun(VV[112]);                         /*  LOCATION-PRIMARY-TYPE   */
  ecl_cmp_defun(VV[113]);                         /*  FIND-FORM-IN-NODE-LIST  */
  ecl_cmp_defun(VV[114]);                         /*  ADD-FORM-TO-NODE-LIST   */
  ecl_cmp_defun(VV[115]);                         /*  DELETE-FORM-FROM-NODE-LIST */
  ecl_cmp_defun(VV[116]);                         /*  TRAVERSE-C1FORM-TREE    */
  ecl_cmp_defun(VV[117]);                         /*  C1FORM-PURE-P           */
  ecl_cmp_defun(VV[118]);                         /*  C1FORM-MOVABLE-P        */
  ecl_cmp_defun(VV[119]);                         /*  C1FORM-UNMODIFIED-P     */
  ecl_cmp_defun(VV[120]);                         /*  C1FORM-VALUES-NUMBER    */
  ecl_cmp_defun(VV[121]);                         /*  C1FORM-SINGLE-VALUED-P  */
  ecl_cmp_defmacro(VV[122]);                      /*  WITH-C1FORM-ENV         */
  ecl_cmp_defun(VV[123]);                         /*  RELOCATE-PARENTS-LIST   */
  ecl_cmp_defun(VV[124]);                         /*  C1FORM-REPLACE-WITH     */
  ecl_cmp_defun(VV[125]);                         /*  DELETE-C1FORMS          */
  ecl_cmp_defun(VV[126]);                         /*  C1FORM-CONSTANT-P       */
}
