/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpbackend-cxx/cmpc-opt-num.lsp */
#include <ecl/ecl-cmp.h>
#include "cmp/cmpc-opt-num.eclh"
/* local function LAMBDA3                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3741__lambda3(cl_object v1return_type, cl_object v2argument, cl_object v3orig_shift)
{
 cl_object T0, T1, T2, T3, T4, T5;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v4arg_type;
  cl_object v5arg_c_type;
  cl_object v6return_c_type;
  cl_object v7shift;
  v4arg_type = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v2argument) /*  LOC-LISP-TYPE */;
  v5arg_c_type = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v4arg_type) /*  LISP-TYPE->HOST-TYPE */;
  v6return_c_type = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v1return_type) /*  LISP-TYPE->HOST-TYPE */;
  v7shift = (cl_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(1, v3orig_shift) /*  LOC-IMMEDIATE-VALUE */;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, v5arg_c_type) /*  C-INTEGER-HOST-TYPE-P */)){
   goto L8;
  }
  if ((cl_env_copy->function=ecl_fdefinition(VV[6]))->cfun.entry(1, v6return_c_type) /*  C-INTEGER-HOST-TYPE-P */!=ECL_NIL) {
   goto L6;
  }
  goto L7;
L8:;
L7:;
  T0 = cl_list(2, v2argument, v3orig_shift);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, VV[8], VV[9], VV[10], ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
  return value0;
L6:;
  {
   cl_object v8arg_bits;
   cl_object v9return_bits;
   cl_object v10max_type;
   v8arg_bits = (cl_env_copy->function=ecl_fdefinition(VV[11]))->cfun.entry(1, v5arg_c_type) /*  C-INTEGER-HOST-TYPE-BITS */;
   v9return_bits = (cl_env_copy->function=ecl_fdefinition(VV[11]))->cfun.entry(1, v6return_c_type) /*  C-INTEGER-HOST-TYPE-BITS */;
   if (!(ecl_plusp(v7shift))){
    goto L13;
   }
   if (!(ecl_lower(v8arg_bits,v9return_bits))){
    goto L13;
   }
   v10max_type = v6return_c_type;
   goto L12;
L13:;
   v10max_type = v5arg_c_type;
L12:;
   T0 = ecl_list1(v2argument);
   T1 = ecl_list1(v10max_type);
   T2 = ecl_list1(v1return_type);
   if (!(ecl_minusp(v7shift))){
    goto L17;
   }
   T3 = VV[12];
   goto L16;
L17:;
   T3 = VV[13];
L16:;
   T4 = ecl_abs(v7shift);
   T5 = cl_format(3, ECL_NIL, T3, T4);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, T1, T2, T5, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
  }
 }
}
static cl_object LC3741__lambda3_va(cl_narg narg, cl_object v11return_type, cl_object v12argument, cl_object v13orig_shift, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[2]);
 {
  return LC3741__lambda3(v11return_type, v12argument, v13orig_shift);
 }
}
/* function definition for MOST-GENERIC-NUMBER-HOST-TYPE                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3742most_generic_number_host_type(cl_object v1r1, cl_object v2r2)
{
 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 v3r1;
  cl_object v4r2;
  v3r1 = (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(1, v1r1) /*  HOST-TYPE-RECORD */;
  v4r2 = (cl_env_copy->function=ecl_fdefinition(VV[15]))->cfun.entry(1, v2r2) /*  HOST-TYPE-RECORD */;
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, v3r1) /*  HOST-TYPE-INDEX */;
  T2 = (cl_env_copy->function=ecl_fdefinition(VV[17]))->cfun.entry(1, v4r2) /*  HOST-TYPE-INDEX */;
  if (!(ecl_lower(T1,T2))){
   goto L5;
  }
  T0 = v4r2;
  goto L4;
L5:;
  T0 = v3r1;
L4:;
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[16]))->cfun.entry(1, T0) /*  HOST-TYPE-NAME */;
  return value0;
 }
}
static cl_object L3742most_generic_number_host_type_va(cl_narg narg, cl_object v5r1, cl_object v6r2, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[14]);
 {
  return L3742most_generic_number_host_type(v5r1, v6r2);
 }
}
/* function definition for INLINE-BINOP                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3743inline_binop(cl_object v1expected_type, cl_object v2arg1, cl_object v3arg2, cl_object v4consing, cl_object v5non_consing)
{
 cl_object T0, T1, T2, T3, T4, T5;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v6;
  cl_object v7;
  v6 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v2arg1) /*  LOC-LISP-TYPE */;
  v7 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v3arg2) /*  LOC-LISP-TYPE */;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[20]))->cfun.entry(0) /*  POLICY-ASSUME-RIGHT-TYPE */)){
   goto L4;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v1expected_type) /*  C-NUMBER-TYPE-P */)){
   goto L4;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v6) /*  C-NUMBER-TYPE-P */)){
   goto L4;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v7) /*  C-NUMBER-TYPE-P */)){
   goto L4;
  }
  {
   cl_object v8arg1_rep;
   cl_object v9arg2_rep;
   cl_object v10out_rep;
   cl_object v11max_rep;
   cl_object v12max_name;
   v8arg1_rep = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v6) /*  LISP-TYPE->HOST-TYPE */;
   v9arg2_rep = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v7) /*  LISP-TYPE->HOST-TYPE */;
   v10out_rep = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v1expected_type) /*  LISP-TYPE->HOST-TYPE */;
   T0 = L3742most_generic_number_host_type(v8arg1_rep, v9arg2_rep);
   v11max_rep = L3742most_generic_number_host_type(T0, v10out_rep);
   v12max_name = (cl_env_copy->function=ecl_fdefinition(VV[22]))->cfun.entry(1, v11max_rep) /*  HOST-TYPE->C-NAME */;
   T0 = cl_list(2, v2arg1, v3arg2);
   T1 = cl_list(2, v8arg1_rep, v9arg2_rep);
   T2 = ecl_list1(v11max_rep);
   if ((v8arg1_rep)==(v11max_rep)) {
    goto L15;
   }
   T3 = v12max_name;
   goto L14;
L15:;
   T3 = ECL_NIL;
L14:;
   if ((v9arg2_rep)==(v11max_rep)) {
    goto L18;
   }
   T4 = v12max_name;
   goto L17;
L18:;
   T4 = ECL_NIL;
L17:;
   T5 = cl_format(5, ECL_NIL, VV[23], T3, v5non_consing, T4);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, T1, T2, T5, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
  }
L4:;
  T0 = cl_list(2, v2arg1, v3arg2);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, VV[24], VV[9], v4consing, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
  return value0;
 }
}
static cl_object L3743inline_binop_va(cl_narg narg, cl_object v13expected_type, cl_object v14arg1, cl_object v15arg2, cl_object v16consing, cl_object v17non_consing, ...)
{
 if (ecl_unlikely(narg!=5)) FEwrong_num_arguments(VV[19]);
 {
  return L3743inline_binop(v13expected_type, v14arg1, v15arg2, v16consing, v17non_consing);
 }
}
/* function definition for INLINE-ARITH-UNOP                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3744inline_arith_unop(cl_object v1expected_type, cl_object v2arg1, cl_object v3consing, cl_object v4non_consing)
{
 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 v5arg1_type;
  v5arg1_type = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v2arg1) /*  LOC-LISP-TYPE */;
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[20]))->cfun.entry(0) /*  POLICY-ASSUME-RIGHT-TYPE */)){
   goto L3;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v1expected_type) /*  C-NUMBER-TYPE-P */)){
   goto L3;
  }
  if (Null((cl_env_copy->function=ecl_fdefinition(VV[21]))->cfun.entry(1, v5arg1_type) /*  C-NUMBER-TYPE-P */)){
   goto L3;
  }
  T0 = ecl_list1(v2arg1);
  T1 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v5arg1_type) /*  LISP-TYPE->HOST-TYPE */;
  T2 = ecl_list1(T1);
  T3 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v1expected_type) /*  LISP-TYPE->HOST-TYPE */;
  T4 = ecl_list1(T3);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, T2, T4, v4non_consing, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
  return value0;
L3:;
  T0 = ecl_list1(v2arg1);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, VV[24], VV[9], v3consing, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
  return value0;
 }
}
static cl_object L3744inline_arith_unop_va(cl_narg narg, cl_object v6expected_type, cl_object v7arg1, cl_object v8consing, cl_object v9non_consing, ...)
{
 if (ecl_unlikely(narg!=4)) FEwrong_num_arguments(VV[26]);
 {
  return L3744inline_arith_unop(v6expected_type, v7arg1, v8consing, v9non_consing);
 }
}
/* local function LAMBDA13                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3745__lambda13(cl_narg narg, cl_object v1return_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[28]);
 {
  cl_object v2arguments;
  ecl_va_list args; ecl_va_start(args,v1return_type,narg,1);
  v2arguments = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v3arg1;
   cl_object v4arg2;
   v3arg1 = ECL_NIL;
   v4arg2 = ECL_NIL;
   if (!(v2arguments==ECL_NIL)){
    goto L3;
   }
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(4, VV[30], ECL_SYM("FIXNUM",1409), ECL_SYM("VALUE",2074), ecl_make_int8_t(1)) /*  MAKE-VV */;
   return value0;
L3:;
   {
    cl_object v5;
    v5 = v2arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L11;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v2arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L11:;
    v3arg1 = v5;
   }
   if (!(v2arguments==ECL_NIL)){
    goto L17;
   }
   value0 = v3arg1;
   cl_env_copy->nvalues = 1;
   return value0;
L17:;
   {
    cl_object v5;
    v5 = v2arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L25;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v2arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L25:;
    v4arg2 = v5;
   }
   if (!(v2arguments==ECL_NIL)){
    goto L31;
   }
   value0 = L3743inline_binop(v1return_type, v3arg1, v4arg2, VV[34], ECL_CODE_CHAR(42));
   return value0;
L31:;
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[35]))->cfun.entry(1, VV[36]) /*  CMPERR */;
   return value0;
  }
 }
}
/* local function LAMBDA24                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3746__lambda24(cl_narg narg, cl_object v1return_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[37]);
 {
  cl_object v2arguments;
  ecl_va_list args; ecl_va_start(args,v1return_type,narg,1);
  v2arguments = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v3arg1;
   cl_object v4arg2;
   v3arg1 = ECL_NIL;
   v4arg2 = ECL_NIL;
   if (!(v2arguments==ECL_NIL)){
    goto L3;
   }
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[29]))->cfun.entry(4, VV[30], ECL_SYM("FIXNUM",1409), ECL_SYM("VALUE",2074), ecl_make_int8_t(0)) /*  MAKE-VV */;
   return value0;
L3:;
   {
    cl_object v5;
    v5 = v2arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L11;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v2arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L11:;
    v3arg1 = v5;
   }
   if (!(v2arguments==ECL_NIL)){
    goto L17;
   }
   value0 = v3arg1;
   cl_env_copy->nvalues = 1;
   return value0;
L17:;
   {
    cl_object v5;
    v5 = v2arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L25;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v2arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L25:;
    v4arg2 = v5;
   }
   if (!(v2arguments==ECL_NIL)){
    goto L31;
   }
   value0 = L3743inline_binop(v1return_type, v3arg1, v4arg2, VV[38], ECL_CODE_CHAR(43));
   return value0;
L31:;
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[35]))->cfun.entry(1, VV[39]) /*  CMPERR */;
   return value0;
  }
 }
}
/* local function LAMBDA35                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3747__lambda35(cl_narg narg, cl_object v1return_type, cl_object v2arg1, ...)
{
 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[40]);
 {
  cl_object v3arguments;
  ecl_va_list args; ecl_va_start(args,v2arg1,narg,2);
  v3arguments = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v4arg2;
   v4arg2 = ECL_NIL;
   if (!(v3arguments==ECL_NIL)){
    goto L2;
   }
   value0 = L3744inline_arith_unop(v1return_type, v2arg1, VV[41], VV[42]);
   return value0;
L2:;
   {
    cl_object v5;
    v5 = v3arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L10;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v3arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L10:;
    v4arg2 = v5;
   }
   if (!(v3arguments==ECL_NIL)){
    goto L16;
   }
   value0 = L3743inline_binop(v1return_type, v2arg1, v4arg2, VV[43], ECL_CODE_CHAR(45));
   return value0;
L16:;
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[35]))->cfun.entry(1, VV[44]) /*  CMPERR */;
   return value0;
  }
 }
}
/* local function LAMBDA43                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3748__lambda43(cl_narg narg, cl_object v1return_type, cl_object v2arg1, ...)
{
 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[45]);
 {
  cl_object v3arguments;
  ecl_va_list args; ecl_va_start(args,v2arg1,narg,2);
  v3arguments = cl_grab_rest_args(args);
  ecl_va_end(args);
  {
   cl_object v4arg2;
   v4arg2 = ECL_NIL;
   if (!(v3arguments==ECL_NIL)){
    goto L2;
   }
   value0 = L3744inline_arith_unop(v1return_type, v2arg1, VV[46], VV[47]);
   return value0;
L2:;
   {
    cl_object v5;
    v5 = v3arguments;
    {
     cl_object v6;
     v6 = v5;
     {
      bool v7;
      v7 = ECL_LISTP(v6);
      if (ecl_unlikely(!(v7)))
         FEwrong_type_argument(VV[33],v6);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
    }
    if (Null(v5)){
     goto L10;
    }
    {
     cl_object v6;
     v6 = ECL_CONS_CDR(v5);
     v3arguments = v6;
     v5 = ECL_CONS_CAR(v5);
    }
L10:;
    v4arg2 = v5;
   }
   if (!(v3arguments==ECL_NIL)){
    goto L16;
   }
   value0 = L3743inline_binop(v1return_type, v2arg1, v4arg2, VV[48], ECL_CODE_CHAR(47));
   return value0;
L16:;
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[35]))->cfun.entry(1, VV[49]) /*  CMPERR */;
   return value0;
  }
 }
}
/* local function LAMBDA51                                                    */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3749__lambda51(cl_narg narg, cl_object v1return_type, cl_object v2arg, ...)
{
 cl_object T0, T1, T2, T3;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
 if (ecl_unlikely(narg<2)) FEwrong_num_arguments(VV[50]);
 if (ecl_unlikely(narg>3)) FEwrong_num_arguments(VV[50]);
 {
  cl_object v3float;
  va_list args; va_start(args,v2arg);
  {
   int i = 2;
   if (i >= narg) {
    v3float = ECL_NIL;
   } else {
    i++;
    v3float = va_arg(args,cl_object);
   }
  }
  va_end(args);
  {
   cl_object v4;
   cl_object v5;
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v2arg) /*  LOC-LISP-TYPE */;
   v4 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, T0) /*  LISP-TYPE->HOST-TYPE */;
   if (Null(v3float)){
    goto L5;
   }
   T0 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(1, v3float) /*  LOC-LISP-TYPE */;
   v5 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, T0) /*  LISP-TYPE->HOST-TYPE */;
   goto L3;
L5:;
   v5 = ECL_NIL;
   goto L3;
L3:;
   if (!((v4)==(ECL_SYM("FLOAT",1410)))){
    goto L12;
   }
   goto L9;
L12:;
   goto L10;
L10:;
   if (!((v4)==(ECL_SYM("DOUBLE",1408)))){
    goto L16;
   }
   goto L9;
L16:;
   goto L14;
L14:;
   if (!((v4)==(ECL_SYM("LONG-DOUBLE",1417)))){
    goto L7;
   }
   goto L8;
L9:;
L8:;
   if (v3float==ECL_NIL) {
    goto L21;
   }
   if (!((v4)==(v5))){
    goto L19;
   }
   goto L20;
L21:;
L20:;
   value0 = v2arg;
   cl_env_copy->nvalues = 1;
   return value0;
L19:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
L7:;
   if (!((v5)==(ECL_SYM("FLOAT",1410)))){
    goto L28;
   }
   goto L25;
L28:;
   goto L26;
L26:;
   if (!((v5)==(ECL_SYM("DOUBLE",1408)))){
    goto L32;
   }
   goto L25;
L32:;
   goto L30;
L30:;
   if (!((v5)==(ECL_SYM("LONG-DOUBLE",1417)))){
    goto L23;
   }
   goto L24;
L25:;
L24:;
   T0 = ecl_list1(v2arg);
   T1 = ecl_list1(ECL_SYM("OBJECT",1315));
   T2 = ecl_list1(v5);
   if (!((v5)==(ECL_SYM("FLOAT",1410)))){
    goto L36;
   }
   T3 = VV[54];
   goto L35;
L36:;
   if (!((v5)==(ECL_SYM("DOUBLE",1408)))){
    goto L38;
   }
   T3 = VV[55];
   goto L35;
L38:;
   if (!((v5)==(ECL_SYM("LONG-DOUBLE",1417)))){
    goto L40;
   }
   T3 = VV[56];
   goto L35;
L40:;
   T3 = si_ecase_error(v5, VV[51]);
L35:;
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[7]))->cfun.entry(6, T0, T1, T2, T3, ECL_NIL, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
L23:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
}
#include "cmp/cmpc-opt-num.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclEtwsI94t1qZn9_ogY0M881(cl_object flag)
{
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 cl_object *VVtemp;
 if (flag != OBJNULL){
 Cblock = flag;
 #ifndef ECL_DYNAMIC_VV
 flag->cblock.data = VV;
 #endif
 flag->cblock.data_size = VM;
 flag->cblock.temp_data_size = VMtemp;
 flag->cblock.data_text = compiler_data_text;
 flag->cblock.cfuns_size = compiler_cfuns_size;
 flag->cblock.cfuns = compiler_cfuns;
 flag->cblock.source = ecl_make_constant_base_string("SRC:CMP;CMPBACKEND-CXX;CMPC-OPT-NUM.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclEtwsI94t1qZn9_ogY0M881@";
 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)LC3741__lambda3_va,ECL_NIL,Cblock,3);
   T0 = v1;
  }
  si_hash_set(VV[0], ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
  ecl_cmp_defun(VV[57]);                          /*  MOST-GENERIC-NUMBER-HOST-TYPE */
  ecl_cmp_defun(VV[58]);                          /*  INLINE-BINOP            */
  ecl_cmp_defun(VV[59]);                          /*  INLINE-ARITH-UNOP       */
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3745__lambda13,ECL_NIL,Cblock,1);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("*",20), ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3746__lambda24,ECL_NIL,Cblock,1);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("+",16), ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3747__lambda35,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("-",19), ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3748__lambda43,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("/",23), ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
  {
   cl_object volatile v1;
   v1 = ecl_make_cfun_va((cl_objectfn)LC3749__lambda51,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("FLOAT",376), ecl_cmp_symbol_value(cl_env_copy,VV[1]), T0);
 }
}
