/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpbackend-cxx/cmpc-opt-printer.lsp */
#include <ecl/ecl-cmp.h>
#include "cmp/cmpc-opt-printer.eclh"
/* local function LAMBDA3                                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object LC3753__lambda3(cl_narg narg, cl_object v1return_type, cl_object v2expression, ...)
{
 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[1]);
 if (ecl_unlikely(narg>3)) FEwrong_num_arguments(VV[1]);
 {
  cl_object v3stream;
  va_list args; va_start(args,v2expression);
  {
   int i = 2;
   if (i >= narg) {
    v3stream = ECL_NIL;
   } else {
    i++;
    v3stream = va_arg(args,cl_object);
   }
  }
  va_end(args);
  if (v3stream!=ECL_NIL) {
   goto L2;
  }
  T0 = (cl_env_copy->function=ecl_fdefinition(VV[3]))->cfun.entry(0) /*  C1NIL */;
  v3stream = (cl_env_copy->function=ecl_fdefinition(VV[2]))->cfun.entry(2, T0, ECL_NIL) /*  EMIT-INLINE-FORM */;
L2:;
  {
   cl_object v4;                                  /*  FOUNDP                  */
   cl_object v5;                                  /*  VALUE                   */
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, v2expression) /*  LOC-IMMEDIATE-VALUE-P */;
   {
    const int v6 = cl_env_copy->nvalues;
    v4 = value0;
    cl_object v7;
    v7 = (v6<=1)? ECL_NIL : cl_env_copy->values[1];
    v5 = v7;
   }
   if (Null(v4)){
    goto L6;
   }
   if (!(ECL_CHARACTERP(v5))){
    goto L6;
   }
   T0 = cl_list(2, v2expression, v3stream);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(6, T0, VV[6], VV[7], VV[8], ECL_T, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
L6:;
   if (Null(v4)){
    goto L9;
   }
   if (!(ECL_BASE_STRING_P(v5))){
    goto L9;
   }
   {
    cl_fixnum v6;
    v6 = ecl_length(v5);
    if (!((v6)<((cl_fixnum)(80)))){
     goto L9;
    }
   }
   T0 = cl_list(2, v2expression, v3stream);
   T1 = (cl_env_copy->function=ecl_fdefinition(VV[12]))->cfun.entry(1, v5) /*  C-INLINE-SAFE-STRING */;
   T2 = cl_concatenate(4, ECL_SYM("STRING",808), VV[11], T1, VV[13]);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(6, T0, VV[9], VV[10], T2, ECL_T, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
L9:;
   T0 = cl_list(2, v2expression, v3stream);
   value0 = (cl_env_copy->function=ecl_fdefinition(VV[5]))->cfun.entry(6, T0, VV[9], VV[10], VV[14], ECL_T, ECL_T) /*  PRODUCE-INLINE-LOC */;
   return value0;
  }
 }
}
#include "cmp/cmpc-opt-printer.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _ecleP8yTnmYYHCk9_SEZ0M881(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-PRINTER.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_ecleP8yTnmYYHCk9_SEZ0M881@";
 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)LC3753__lambda3,ECL_NIL,Cblock,2);
   T0 = v1;
  }
  si_hash_set(ECL_SYM("PRINC",663), ecl_cmp_symbol_value(cl_env_copy,VV[0]), T0);
 }
}
