/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpprop-num.lsp                 */
#include <ecl/ecl-cmp.h>
#include "cmp/cmpprop-num.eclh"
/* local function LAMBDA3                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3595__lambda3(cl_narg narg, cl_object v1fname, ...)
{
 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[1]);
 {
  cl_object v2args;
  ecl_va_list args; ecl_va_start(args,v1fname,narg,1);
  v2args = cl_grab_rest_args(args);
  ecl_va_end(args);
  if (Null(v2args)){
   goto L2;
  }
  {
   cl_object v3;
   v3 = VV[2];
   goto L7;
L6:;
   {
    cl_object v4int_type;
    v4int_type = ecl_car(v3);
    {
     cl_object v5;
     cl_object v6value;
     cl_object v7;
     {
      cl_object v8;
      v8 = v2args;
      if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v5 = v8;
     }
     v6value = ECL_NIL;
     v7 = v5;
L18:;
     if (!(ecl_endp(v7))){
      goto L20;
     }
     goto L19;
L20:;
     v6value = ECL_CONS_CAR(v7);
     {
      cl_object v8;
      v8 = ECL_CONS_CDR(v7);
      if (ecl_unlikely(!ECL_LISTP(v8))) FEtype_error_list(v8);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v7 = v8;
     }
     if (cl_subtypep(3, v6value, v4int_type, ecl_cmp_symbol_value(cl_env_copy,VV[5]))!=ECL_NIL) {
      goto L28;
     }
     goto L11;
L28:;
     goto L18;
L19:;
     goto L12;
    }
L12:;
    T0 = v4int_type;
    goto L1;
L11:;
   }
   v3 = ecl_cdr(v3);
L7:;
   if (Null(v3)){
    goto L34;
   }
   goto L6;
L34:;
   T0 = ECL_SYM("INTEGER",439);
   goto L1;
  }
L2:;
  T0 = ECL_SYM("FIXNUM",374);
L1:;
  cl_env_copy->nvalues = 2;
  cl_env_copy->values[1] = T0;
  cl_env_copy->values[0] = v2args;
  return cl_env_copy->values[0];
 }
}
/* function definition for MAXIMUM-NUMBER-TYPE                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3596maximum_number_type(cl_narg narg, cl_object v1type1, cl_object v2type2, ...)
{
 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);
 if (ecl_unlikely(narg<2)) FEwrong_num_arguments(VV[6]);
 {
  cl_object v3only_real;
  cl_object v4integer_result;
  ecl_va_list args; ecl_va_start(args,v2type2,narg,2);
  {
   cl_object keyvars[4];
   cl_parse_key(args,2,L3596maximum_number_typekeys,keyvars,NULL,FALSE);
   ecl_va_end(args);
   v3only_real = keyvars[0];
   v4integer_result = keyvars[1];
  }
  {
   cl_object v5;
   cl_object v6t1_eq;
   cl_object v7t2_eq;
   cl_object v8t1;
   cl_object v9t2;
   cl_object v10output;
   cl_object v11complex_t1;
   cl_object v12complex_t2;
   if (Null(v3only_real)){
    goto L2;
   }
   v5 = ECL_SYM("REAL",706);
   goto L1;
L2:;
   v5 = ECL_SYM("NUMBER",608);
L1:;
   v6t1_eq = ECL_NIL;
   v7t2_eq = ECL_NIL;
   v8t1 = v1type1;
   v9t2 = v2type2;
   v10output = ECL_NIL;
   v11complex_t1 = ECL_NIL;
   v12complex_t2 = ECL_NIL;
   if (!(ECL_CONSP(v8t1))){
    goto L11;
   }
   T0 = ecl_car(v8t1);
   if (!((T0)==(ECL_SYM("COMPLEX",243)))){
    goto L11;
   }
   v8t1 = ecl_cadr(v8t1);
   v11complex_t1 = ECL_T;
L11:;
   if (!(ECL_CONSP(v9t2))){
    goto L17;
   }
   T0 = ecl_car(v9t2);
   if (!((T0)==(ECL_SYM("COMPLEX",243)))){
    goto L17;
   }
   v9t2 = ecl_cadr(v9t2);
   v12complex_t2 = ECL_T;
L17:;
   if (Null(v3only_real)){
    goto L23;
   }
   if (v11complex_t1!=ECL_NIL) {
    goto L26;
   }
   if (Null(v12complex_t2)){
    goto L23;
   }
   goto L24;
L26:;
L24:;
   cl_env_copy->nvalues = 3;
   cl_env_copy->values[2] = v5;
   cl_env_copy->values[1] = v5;
   cl_env_copy->values[0] = v5;
   return cl_env_copy->values[0];
L23:;
   {
    cl_object v13;
    cl_fixnum v14;
    cl_fixnum v15;
    cl_object v16i;
    cl_fixnum v17;
    cl_fixnum v18;
    v13 = VV[7];
    v14 = (cl_fixnum)(0);
    v15 = (cl_fixnum)(0);
    v16i = ECL_NIL;
    v17 = v14;
    v18 = v15;
    v18 = ecl_length(v13);
L35:;
    if (!((v17)>=(v18))){
     goto L39;
    }
    goto L36;
L39:;
    {
     cl_object v19;
     v19 = v13;
     T0 = v19;
     {
      cl_fixnum v20;
      v20 = v17;
      if (ecl_unlikely((v20)>=(v19)->vector.dim))
           FEwrong_index(ECL_NIL,v19,-1,ecl_make_fixnum(v20),(v19)->vector.dim);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T1 = ecl_make_fixnum(v20);
     }
     v16i = ecl_aref_unsafe(T0,ecl_fixnum(T1));
    }
    {
     cl_object v19;
     v19 = ecl_make_integer((v17)+1);
     {
      bool v20;
      v20 = ECL_FIXNUMP(v19);
      if (ecl_unlikely(!(v20)))
         FEwrong_type_argument(ECL_SYM("FIXNUM",374),v19);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
     v17 = ecl_fixnum(v19);
    }
    if (!(v6t1_eq==ECL_NIL)){
     goto L54;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, v16i, v8t1, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
     goto L54;
    }
    if (!(ecl_equalp(v8t1,v9t2))){
     goto L57;
    }
    v7t2_eq = v16i;
L57:;
    v6t1_eq = v16i;
    v10output = v16i;
L54:;
    if (!(v7t2_eq==ECL_NIL)){
     goto L53;
    }
    if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, v16i, v9t2, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
     goto L53;
    }
    v7t2_eq = v16i;
    v10output = v16i;
L53:;
    goto L35;
L36:;
   }
   if (Null(v6t1_eq)){
    goto L72;
   }
   if (Null(v7t2_eq)){
    goto L72;
   }
   if (v10output!=ECL_NIL) {
    goto L69;
   }
   goto L70;
L72:;
   goto L70;
L70:;
   v10output = v5;
L69:;
   if (Null(v4integer_result)){
    goto L76;
   }
   if ((v10output)==(ECL_SYM("FIXNUM",374))) {
    goto L79;
   }
   if (!((v10output)==(ECL_SYM("INTEGER",439)))){
    goto L76;
   }
   goto L77;
L79:;
L77:;
   v10output = v4integer_result;
L76:;
   if (v11complex_t1!=ECL_NIL) {
    goto L85;
   }
   if (Null(v12complex_t2)){
    goto L82;
   }
   goto L84;
L85:;
L84:;
   if ((v10output)==(ECL_SYM("NUMBER",608))) {
    goto L82;
   }
   if (!((v10output)==(ECL_SYM("REAL",706)))){
    goto L88;
   }
   v10output = ECL_SYM("COMPLEX",243);
   goto L87;
L88:;
   v10output = cl_list(2, ECL_SYM("COMPLEX",243), v10output);
L87:;
L82:;
   if (Null(v6t1_eq)){
    goto L91;
   }
   T0 = v1type1;
   goto L90;
L91:;
   T0 = v5;
L90:;
   if (Null(v7t2_eq)){
    goto L94;
   }
   T1 = v2type2;
   goto L93;
L94:;
   T1 = v5;
L93:;
   cl_env_copy->nvalues = 3;
   cl_env_copy->values[2] = T1;
   cl_env_copy->values[1] = T0;
   cl_env_copy->values[0] = v10output;
   return cl_env_copy->values[0];
  }
 }
}
/* function definition for ENSURE-NUMBER-TYPE                                 */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3597ensure_number_type(cl_narg narg, cl_object v1general_type, ...)
{
 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[12]);
 {
  cl_object v2integer_result;
  ecl_va_list args; ecl_va_start(args,v1general_type,narg,1);
  {
   cl_object keyvars[2];
   cl_parse_key(args,1,L3597ensure_number_typekeys,keyvars,NULL,FALSE);
   ecl_va_end(args);
   v2integer_result = keyvars[0];
  }
  value0 = L3596maximum_number_type(4, v1general_type, v1general_type, VV[13], v2integer_result);
  return value0;
 }
}
/* function definition for ENSURE-NONRATIONAL-TYPE                            */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3598ensure_nonrational_type(cl_object v1general_type)
{
 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 = L3596maximum_number_type(2, v1general_type, ECL_SYM("SINGLE-FLOAT",781));
 return value0;
}
static cl_object L3598ensure_nonrational_type_va(cl_narg narg, cl_object v2general_type, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[15]);
 {
  return L3598ensure_nonrational_type(v2general_type);
 }
}
/* function definition for ENSURE-REAL-TYPE                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3599ensure_real_type(cl_object v1general_type)
{
 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 = L3596maximum_number_type(4, v1general_type, ECL_SYM("INTEGER",439), VV[18], ECL_T);
 return value0;
}
static cl_object L3599ensure_real_type_va(cl_narg narg, cl_object v2general_type, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[17]);
 {
  return L3599ensure_real_type(v2general_type);
 }
}
/* function definition for ARITHMETIC-PROPAGATOR                              */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3600arithmetic_propagator(cl_object v1op1_type, cl_object v2others, cl_object v3integer_result)
{
 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 v4;                                   /*  RESULT-TYPE             */
  cl_object v5;                                   /*  OP1-TYPE                */
  value0 = L3597ensure_number_type(3, v1op1_type, VV[13], v3integer_result);
  {
   const int v6 = cl_env_copy->nvalues;
   v4 = value0;
   cl_object v7;
   v7 = (v6<=1)? ECL_NIL : cl_env_copy->values[1];
   v5 = v7;
  }
  {
   cl_object v6arg_types;
   v6arg_types = ecl_list1(v5);
   {
    cl_object v7;
    cl_object v8x;
    cl_object v9;
    {
     cl_object v10;
     v10 = v2others;
     if (ecl_unlikely(!ECL_LISTP(v10))) FEtype_error_list(v10);
     value0 = ECL_NIL;
     cl_env_copy->nvalues = 0;
     v7 = v10;
    }
    v8x = ECL_NIL;
    v9 = v7;
    {
     cl_object v10op2_type;
     v10op2_type = ECL_NIL;
L10:;
     if (!(ecl_endp(v9))){
      goto L12;
     }
     goto L11;
L12:;
     v8x = ECL_CONS_CAR(v9);
     {
      cl_object v11;
      v11 = ECL_CONS_CDR(v9);
      if (ecl_unlikely(!ECL_LISTP(v11))) FEtype_error_list(v11);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      v9 = v11;
     }
     v10op2_type = v8x;
     value0 = L3596maximum_number_type(4, v4, v10op2_type, VV[13], v3integer_result);
     {
      const int v11 = cl_env_copy->nvalues;
      v4 = value0;
      cl_object v12;
      v12 = (v11<=1)? ECL_NIL : cl_env_copy->values[1];
      v5 = v12;
      v12 = (v11<=2)? ECL_NIL : cl_env_copy->values[2];
      v10op2_type = v12;
     }
     v6arg_types = CONS(v10op2_type,v6arg_types);
     goto L10;
L11:;
     T0 = cl_nreverse(v6arg_types);
     cl_env_copy->nvalues = 2;
     cl_env_copy->values[1] = v4;
     cl_env_copy->values[0] = T0;
     return cl_env_copy->values[0];
    }
   }
  }
 }
}
static cl_object L3600arithmetic_propagator_va(cl_narg narg, cl_object v4op1_type, cl_object v5others, cl_object v6integer_result, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[20]);
 {
  return L3600arithmetic_propagator(v4op1_type, v5others, v6integer_result);
 }
}
/* local function LAMBDA51                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3601__lambda51(cl_narg narg, cl_object v1fname, cl_object v2op1, ...)
{
 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[22]);
 {
  cl_object v3others;
  ecl_va_list args; ecl_va_start(args,v2op1,narg,2);
  v3others = cl_grab_rest_args(args);
  ecl_va_end(args);
  value0 = L3600arithmetic_propagator(v2op1, v3others, ECL_SYM("INTEGER",439));
  return value0;
 }
}
/* local function LAMBDA56                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3602__lambda56(cl_narg narg, cl_object v1fname, cl_object v2op1, ...)
{
 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[24]);
 {
  cl_object v3others;
  ecl_va_list args; ecl_va_start(args,v2op1,narg,2);
  v3others = cl_grab_rest_args(args);
  ecl_va_end(args);
  value0 = L3600arithmetic_propagator(v2op1, v3others, ECL_SYM("RATIONAL",690));
  return value0;
 }
}
/* local function LAMBDA62                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3603__lambda62(cl_narg narg, cl_object v1fname, cl_object v2op1_type, ...)
{
 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<2)) FEwrong_num_arguments(VV[25]);
 {
  va_list args; va_start(args,v2op1_type);
  va_end(args);
  {
   cl_object v3;                                  /*  OUTPUT-TYPE             */
   cl_object v4;                                  /*  OP1-TYPE                */
   value0 = L3598ensure_nonrational_type(v2op1_type);
   {
    const int v5 = cl_env_copy->nvalues;
    v3 = value0;
    cl_object v6;
    v6 = (v5<=1)? ECL_NIL : cl_env_copy->values[1];
    v4 = v6;
   }
   T0 = ecl_list1(v4);
   cl_env_copy->nvalues = 2;
   cl_env_copy->values[1] = v3;
   cl_env_copy->values[0] = T0;
   return cl_env_copy->values[0];
  }
 }
}
/* local function LAMBDA68                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3604__lambda68(cl_narg narg, cl_object v1fname, cl_object v2op1_type, ...)
{
 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<2)) FEwrong_num_arguments(VV[26]);
 {
  va_list args; va_start(args,v2op1_type);
  va_end(args);
  {
   cl_object v3;                                  /*  OP1-TYPE                */
   value0 = L3598ensure_nonrational_type(v2op1_type);
   {
    const int v4 = cl_env_copy->nvalues;
    cl_object v5;
    v5 = (v4<=1)? ECL_NIL : cl_env_copy->values[1];
    v3 = v5;
   }
   T0 = ecl_list1(v3);
   cl_env_copy->nvalues = 2;
   cl_env_copy->values[1] = ECL_SYM("NUMBER",608);
   cl_env_copy->values[0] = T0;
   return cl_env_copy->values[0];
  }
 }
}
/* local function LAMBDA74                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3605__lambda74(cl_narg narg, cl_object v1fname, cl_object v2op1_type, ...)
{
 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<2)) FEwrong_num_arguments(VV[27]);
 {
  cl_object v3op2_type;
  cl_object v4op2_p;
  va_list args; va_start(args,v2op1_type);
  {
   int i = 2;
   if (i >= narg) {
    v3op2_type = ECL_T;
    v4op2_p = ECL_NIL;
   } else {
    i++;
    v3op2_type = va_arg(args,cl_object);
    v4op2_p = ECL_T;
   }
  }
  va_end(args);
  {
   cl_object v5;                                  /*  FLOAT-T1                */
   cl_object v6;                                  /*  T1                      */
   value0 = L3598ensure_nonrational_type(v2op1_type);
   {
    const int v7 = cl_env_copy->nvalues;
    v5 = value0;
    cl_object v8;
    v8 = (v7<=1)? ECL_NIL : cl_env_copy->values[1];
    v6 = v8;
   }
   if (Null(v4op2_p)){
    goto L3;
   }
   {
    cl_object v7;                                 /*  RESULT                  */
    cl_object v8;                                 /*  T1                      */
    cl_object v9;                                 /*  T2                      */
    value0 = L3596maximum_number_type(4, v6, v3op2_type, VV[18], ECL_T);
    {
     const int v10 = cl_env_copy->nvalues;
     v7 = value0;
     cl_object v11;
     v11 = (v10<=1)? ECL_NIL : cl_env_copy->values[1];
     v8 = v11;
     v11 = (v10<=2)? ECL_NIL : cl_env_copy->values[2];
     v9 = v11;
    }
    T0 = cl_list(2, v8, v9);
    cl_env_copy->nvalues = 2;
    cl_env_copy->values[1] = v7;
    cl_env_copy->values[0] = T0;
    return cl_env_copy->values[0];
   }
L3:;
   T0 = ecl_list1(v6);
   cl_env_copy->nvalues = 2;
   cl_env_copy->values[1] = v5;
   cl_env_copy->values[0] = T0;
   return cl_env_copy->values[0];
  }
 }
}
/* local function LAMBDA80                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3606__lambda80(cl_narg narg, cl_object v1fname, cl_object v2base, cl_object v3exponent, ...)
{
 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<3)) FEwrong_num_arguments(VV[28]);
 {
  va_list args; va_start(args,v3exponent);
  va_end(args);
  T0 = cl_list(2, v2base, v3exponent);
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[29], v2base, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
   goto L2;
  }
  T1 = L3596maximum_number_type(2, v2base, v3exponent);
  goto L1;
L2:;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[30], v2base, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
   goto L4;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[31], v3exponent, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
   goto L6;
  }
  T1 = L3596maximum_number_type(4, v2base, ECL_SYM("INTEGER",439), VV[13], ECL_SYM("INTEGER",439));
  goto L1;
L6:;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[32]))->cfun.entry(2, v3exponent, ECL_SYM("INTEGER",439)) /*  TYPE-AND */)){
   goto L8;
  }
  T1 = ECL_SYM("NUMBER",608);
  goto L1;
L8:;
  T2 = L3598ensure_nonrational_type(v3exponent);
  T1 = L3596maximum_number_type(2, T2, v2base);
  goto L1;
L4:;
  if ((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[33], v2base, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */!=ECL_NIL) {
   goto L12;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[33], v3exponent, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
   goto L10;
  }
  goto L11;
L12:;
L11:;
  T1 = L3596maximum_number_type(2, v3exponent, v2base);
  goto L1;
L10:;
  T1 = ECL_SYM("NUMBER",608);
L1:;
  cl_env_copy->nvalues = 2;
  cl_env_copy->values[1] = T1;
  cl_env_copy->values[0] = T0;
  return cl_env_copy->values[0];
 }
}
/* local function LAMBDA86                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3607__lambda86(cl_narg narg, cl_object v1fname, cl_object v2arg, ...)
{
 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[34]);
 {
  va_list args; va_start(args,v2arg);
  va_end(args);
  {
   cl_object v3;                                  /*  OUTPUT                  */
   cl_object v4;                                  /*  ARG                     */
   value0 = L3597ensure_number_type(1, v2arg);
   {
    const int v5 = cl_env_copy->nvalues;
    v3 = value0;
    cl_object v6;
    v6 = (v5<=1)? ECL_NIL : cl_env_copy->values[1];
    v4 = v6;
   }
   T0 = ecl_list1(v4);
   {
    cl_object v5;
    cl_object v6;
    v5 = v3;
    v6 = VV[35];
    T2 = ecl_assql(v5,v6);
   }
   value0 = ecl_cdr(T2);
   if (value0!=ECL_NIL) {
    goto L4;
   }
   T1 = v3;
   goto L2;
L4:;
   T1 = value0;
   goto L2;
L2:;
   cl_env_copy->nvalues = 2;
   cl_env_copy->values[1] = T1;
   cl_env_copy->values[0] = T0;
   return cl_env_copy->values[0];
  }
 }
}
/* local function LAMBDA102                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3608__lambda102(cl_narg narg, cl_object v1fname, cl_object v2arg, ...)
{
 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);
 if (ecl_unlikely(narg<2)) FEwrong_num_arguments(VV[36]);
 {
  va_list args; va_start(args,v2arg);
  va_end(args);
  {
   cl_object v3;                                  /*  OUTPUT                  */
   cl_object v4;                                  /*  ARG                     */
   value0 = L3598ensure_nonrational_type(v2arg);
   {
    const int v5 = cl_env_copy->nvalues;
    v3 = value0;
    cl_object v6;
    v6 = (v5<=1)? ECL_NIL : cl_env_copy->values[1];
    v4 = v6;
   }
   T0 = ecl_list1(v4);
   if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, VV[37], v4, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
    goto L3;
   }
   T1 = v3;
   goto L2;
L3:;
   T1 = ECL_SYM("NUMBER",608);
L2:;
   cl_env_copy->nvalues = 2;
   cl_env_copy->values[1] = T1;
   cl_env_copy->values[0] = T0;
   return cl_env_copy->values[0];
  }
 }
}
/* local function LAMBDA108                                                   */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3609__lambda108(cl_narg narg, cl_object v1fname, cl_object v2arg, ...)
{
 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[38]);
 {
  va_list args; va_start(args,v2arg);
  va_end(args);
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[10]))->cfun.entry(3, ECL_SYM("NON-NEGATIVE-FIXNUM",1960), v2arg, ecl_cmp_symbol_value(cl_env_copy,VV[5])) /*  TYPE>= */)){
   goto L1;
  }
  cl_env_copy->nvalues = 2;
  cl_env_copy->values[1] = ECL_SYM("NON-NEGATIVE-FIXNUM",1960);
  cl_env_copy->values[0] = VV[39];
  return cl_env_copy->values[0];
L1:;
  cl_env_copy->nvalues = 2;
  cl_env_copy->values[1] = VV[31];
  cl_env_copy->values[0] = VV[40];
  return cl_env_copy->values[0];
 }
}
#include "cmp/cmpprop-num.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclAyU2vZQPm1Lh9_IDW0M881(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;CMPPROP-NUM.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclAyU2vZQPm1Lh9_IDW0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
 {
  cl_object T0;
  cl_object volatile env0 = ECL_NIL;
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(VVtemp[0]);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3595__lambda3,ECL_NIL,Cblock,1);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("LOGAND",494), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  ecl_cmp_defun(VV[41]);                          /*  MAXIMUM-NUMBER-TYPE     */
  ecl_cmp_defun(VV[42]);                          /*  ENSURE-NUMBER-TYPE      */
  ecl_cmp_defun(VV[43]);                          /*  ENSURE-NONRATIONAL-TYPE */
  ecl_cmp_defun(VV[44]);                          /*  ENSURE-REAL-TYPE        */
  ecl_cmp_defun(VV[45]);                          /*  ARITHMETIC-PROPAGATOR   */
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3601__lambda51,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("*",20), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  (cl_env_copy->function=ecl_fdefinition(VV[23]))->cfun.entry(2, ECL_SYM("*",20), VVtemp[1]) /*  COPY-TYPE-PROPAGATOR */;
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3602__lambda56,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("/",23), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3603__lambda62,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("COS",266), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  (cl_env_copy->function=ecl_fdefinition(VV[23]))->cfun.entry(2, ECL_SYM("COS",266), VVtemp[2]) /*  COPY-TYPE-PROPAGATOR */;
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3604__lambda68,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("ACOS",82), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3605__lambda74,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("ATAN",119), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3606__lambda80,ECL_NIL,Cblock,3);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("EXPT",347), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3607__lambda86,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("ABS",80), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3608__lambda102,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("SQRT",795), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3609__lambda108,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("ISQRT",450), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
 }
}
