
/* This file was automatically generated by pclu.*/

#include "pclu_err.h"
#include "pclu_sys.h"


extern errcode exprOPget_abs();
extern errcode intOPequal();
extern errcode sequenceOPsize();
extern errcode recordOPget_2();
extern errcode stringOPequal();
extern errcode duOPget_common();
extern errcode recordOPget_1();
extern errcode parmOPmember();
extern errcode recordOPget_3();
extern errcode typespecOPget_abs();
extern errcode oneofOPis_3();
extern errcode oneofOPvalue_3();
extern errcode boolOPnot();
extern errcode parmd_op();
extern errcode oneofOPis_7();
extern errcode g_qselop();
extern errcode oneofOPvalue_7();
extern errcode all_field_types_null();
CLUREF STR__137cvt;
CLUREF STR_array;
CLUREF STR_sequence;
CLUREF STR__137vec;
CLUREF STR_debug_137print;
CLUREF STR_oneof;
CLUREF STR_equal;
CLUREF STR_record;
static int g_qinv_test_own_init = 0;

/**** BEGIN PROCEDURE g_qinv_test ****/

errcode g_qinv_test(exp, ret_1)
CLUREF exp;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF ty;
    CLUREF ct;
    CLUREF cop;
    CLUREF gen;
    CLUREF xt;
    CLUREF flist;
        if (g_qinv_test_own_init == 0) {
        stringOPcons("_cvt", CLU_1, CLU_4, &STR__137cvt);
        stringOPcons("array", CLU_1, CLU_5, &STR_array);
        stringOPcons("sequence", CLU_1, CLU_8, &STR_sequence);
        stringOPcons("_vec", CLU_1, CLU_4, &STR__137vec);
        stringOPcons("debug_print", CLU_1, CLU_11, &STR_debug_137print);
        stringOPcons("oneof", CLU_1, CLU_5, &STR_oneof);
        stringOPcons("equal", CLU_1, CLU_5, &STR_equal);
        stringOPcons("record", CLU_1, CLU_6, &STR_record);
        g_qinv_test_own_init = 1;
    }
    enter_proc(15);

  LINE(17);
    {
    CLUREF T_1_1;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_1.cell->tag) {
    case 3: 
         {CLUREF T_1_2;
        T_1_2.num = T_1_1.cell->value;
        ct.num = T_1_2.num;

  LINE(19);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            CLUREF T_2_4;
            CLUREF T_2_5;
            CLUREF T_2_6;
            CLUREF T_2_7;
            T_2_2.num = ct.vec->data[1];
            T_2_3.num = T_2_2.vec->size;
            T_2_4.num = (T_2_3.num == 0)? true : false;
            T_2_1.num = T_2_4.num;
            if (!T_2_4.num) {
                T_2_5.num = ct.vec->data[0];
                err = duOPget_common(T_2_5, &T_2_6);
                if (err != ERR_ok) goto ex_0;
                T_2_7.num = ((T_2_6.str->size != STR__137cvt.str->size)? false :
                    !(bcmp(T_2_6.str->data, STR__137cvt.str->data, T_2_6.str->size)));
                T_2_1.num = T_2_7.num;
            }
            if (T_2_1.num == true) {

  LINE(25);
                {
                {
                ret_1->tf = true;
                }
                {signal (ERR_ok);}}
                }
            else {

  LINE(28);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }}/* end if */
            break;
            }
    case 20: 
         {CLUREF T_1_3;
        T_1_3.num = T_1_1.cell->value;
        cop.num = T_1_3.num;

  LINE(31);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            T_2_1.num = cop.vec->data[2];
            err = parmOPmember(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.num == true) {

  LINE(32);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */

  LINE(33);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            T_2_1.num = cop.vec->data[2];
            err = typespecOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            ty.num = T_2_2.num;
            }

  LINE(34);
            {
            CLUREF T_2_1;
            if (ty.cell->tag == 3) T_2_1.num = true; else T_2_1.num = false;
            if (T_2_1.num == true) {

  LINE(35);
                {
                    {CLUREF T_3_1;
                    if (ty.cell->tag != 3) {err = ERR_wrong_tag; goto ex_0;}
                    T_3_1.num = ty.cell->value;
                    ct.num = T_3_1.num;
                    }
                    }

  LINE(36);
                {
                    {CLUREF T_3_1;
                    T_3_1.num = ct.vec->data[0];
                    gen.num = T_3_1.num;
                    }
                    }

  LINE(37);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                T_3_2.num = cop.vec->data[1];
                T_3_3.num = T_3_2.vec->size;
                T_3_4.num = (T_3_3.num == 0)? true : false;
                T_3_1.num = T_3_4.num;
                if (T_3_4.num) {
                    T_3_5.num = ct.vec->data[1];
                    T_3_6.num = T_3_5.vec->size;
                    T_3_7.num = (T_3_6.num == 0)? true : false;
                    T_3_1.num = T_3_7.num;
                }
                if (T_3_1.num == true) {

  LINE(38);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {signal (ERR_ok);}}
                    }
                    }/* end if */

  LINE(39);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                CLUREF T_3_8;
                err = duOPget_common(gen, &T_3_3);
                if (err != ERR_ok) goto ex_0;
                T_3_4.num = ((T_3_3.str->size != STR_array.str->size)? false :
                    !(bcmp(T_3_3.str->data, STR_array.str->data, T_3_3.str->size)));
                T_3_2.num = T_3_4.num;
                if (!T_3_4.num) {
                    err = duOPget_common(gen, &T_3_5);
                    if (err != ERR_ok) goto ex_0;
                    T_3_6.num = ((T_3_5.str->size != STR_sequence.str->size)? false :
                        !(bcmp(T_3_5.str->data, STR_sequence.str->data, T_3_5.str->size)));
                    T_3_2.num = T_3_6.num;
                }
                T_3_1.num = T_3_2.num;
                if (!T_3_2.num) {
                    err = duOPget_common(gen, &T_3_7);
                    if (err != ERR_ok) goto ex_0;
                    T_3_8.num = ((T_3_7.str->size != STR__137vec.str->size)? false :
                        !(bcmp(T_3_7.str->data, STR__137vec.str->data, T_3_7.str->size)));
                    T_3_1.num = T_3_8.num;
                }
                if (T_3_1.num == true) {

  LINE(42);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    T_4_1.num = cop.vec->data[0];
                    T_4_2.num = ((T_4_1.str->size != STR_debug_137print.str->size)? false :
                        !(bcmp(T_4_1.str->data, STR_debug_137print.str->data, T_4_1.str->size)));
                    if (T_4_2.num == true) {
                        {
                        {
                        ret_1->tf = false;
                        }
                        {signal (ERR_ok);}}
                        }
                        }/* end if */

  LINE(43);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    T_4_1.num = cop.vec->data[0];
                    err = parmd_op(gen, T_4_1, &T_4_2);
                    if (err != ERR_ok) goto ex_0;
                    T_4_3.num = T_4_2.num ^ 1;
                    if (T_4_3.num == true) {
                        {
                        {
                        ret_1->tf = true;
                        }
                        {signal (ERR_ok);}}
                        }
                        }/* end if */
                    }
                    }/* end if */

  LINE(45);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_2_2;
            if (ty.cell->tag == 7) T_2_2.num = true; else T_2_2.num = false;
            if (T_2_2.num == true) {

  LINE(48);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                T_3_1.num = cop.vec->data[0];
                err = g_qselop(T_3_1, &T_3_2);
                if (err != ERR_ok) goto ex_0;
                if (T_3_2.num == true) {

  LINE(50);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {signal (ERR_ok);}}
                    }
                    }/* end if */

  LINE(52);
                {
                    {CLUREF T_3_1;
                    if (ty.cell->tag != 7) {err = ERR_wrong_tag; goto ex_0;}
                    T_3_1.num = ty.cell->value;
                    xt.num = T_3_1.num;
                    }
                    }

  LINE(53);
                {
                    {CLUREF T_3_1;
                    T_3_1.num = xt.vec->data[0];
                    gen.num = T_3_1.num;
                    }
                    }

  LINE(54);
                {
                    {CLUREF T_3_1;
                    T_3_1.num = xt.vec->data[1];
                    flist.num = T_3_1.num;
                    }
                    }

  LINE(55);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                CLUREF T_3_8;
                T_3_3.num = xt.vec->data[0];
                err = duOPget_common(T_3_3, &T_3_4);
                if (err != ERR_ok) goto ex_0;
                T_3_5.num = ((T_3_4.str->size != STR_oneof.str->size)? false :
                    !(bcmp(T_3_4.str->data, STR_oneof.str->data, T_3_4.str->size)));
                T_3_2.num = T_3_5.num;
                if (T_3_5.num) {
                    T_3_6.num = cop.vec->data[0];
                    T_3_7.num = ((T_3_6.str->size != STR_equal.str->size)? false :
                        !(bcmp(T_3_6.str->data, STR_equal.str->data, T_3_6.str->size)));
                    T_3_2.num = T_3_7.num;
                }
                T_3_1.num = T_3_2.num;
                if (T_3_2.num) {
                    err = all_field_types_null(flist, &T_3_8);
                    if (err != ERR_ok) goto ex_0;
                    T_3_1.num = T_3_8.num;
                }
                if (T_3_1.num == true) {

  LINE(57);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {signal (ERR_ok);}}
                    }
                    }/* end if */

  LINE(58);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                T_3_2.num = xt.vec->data[0];
                err = duOPget_common(T_3_2, &T_3_3);
                if (err != ERR_ok) goto ex_0;
                T_3_4.num = ((T_3_3.str->size != STR_record.str->size)? false :
                    !(bcmp(T_3_3.str->data, STR_record.str->data, T_3_3.str->size)));
                T_3_1.num = T_3_4.num;
                if (T_3_4.num) {
                    T_3_5.num = cop.vec->data[0];
                    T_3_6.num = ((T_3_5.str->size != STR_equal.str->size)? false :
                        !(bcmp(T_3_5.str->data, STR_equal.str->data, T_3_5.str->size)));
                    T_3_1.num = T_3_6.num;
                }
                if (T_3_1.num == true) {

  LINE(59);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {signal (ERR_ok);}}
                    }
                    }/* end if */
                }
            else {

  LINE(64);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }}}/* end if */
            break;
            }
    default: {

  LINE(67);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
    }
    }
    }

  LINE(69);
    {
    {
    ret_1->tf = false;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qinv_test ****/


extern errcode g_qinv_test();
extern errcode g_qapply();
extern errcode g_qop();
extern errcode g_qsel();
extern errcode g_err();
extern errcode g_envOPputs();
extern errcode g_expr2();
extern errcode sequenceOPelements();
extern errcode g_expr_arg();
extern errcode g_envOPnewline();
extern errcode g_envOPputl();
extern errcode stringOPconcat();
extern errcode exOPget_current_ex_label();
CLUREF STR_cannot_040do_040quick_040invocation;
CLUREF STR__040_075_040;
CLUREF STR__050;
CLUREF STR__054_040;
CLUREF STR__046;
CLUREF STR__051_073;
CLUREF STR_if_040_050;
CLUREF STR__040_041_075_040ERR_137ok_051_040goto_040;
CLUREF STR__073;
static int g_qinv_own_init = 0;

/**** BEGIN PROCEDURE g_qinv ****/

errcode g_qinv(e, exp, args, results)
CLUREF e;
CLUREF exp;
CLUREF args;
CLUREF results;
    {
    errcode err;
    errcode ecode2;
    CLUREF first;
    CLUREF each_arg;
    CLUREF each_res;
        if (g_qinv_own_init == 0) {
        stringOPcons("cannot do quick invocation", CLU_1, CLU_26, &STR_cannot_040do_040quick_040invocation);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons("&", CLU_1, CLU_1, &STR__046);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != ERR_ok) goto ", CLU_1, CLU_17, &STR__040_041_075_040ERR_137ok_051_040goto_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        g_qinv_own_init = 1;
    }
    enter_proc(72);

  LINE(73);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = g_qinv_test(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    T_1_2.num = T_1_1.num ^ 1;
    if (T_1_2.num == true) {

  LINE(74);
        {
        elist[0] = STR_cannot_040do_040quick_040invocation;
        {signal (ERR_failure);}}
        }
        }/* end if */

  LINE(76);
    {
    CLUREF T_1_1;
    err = g_qapply(e, exp, args, results, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(77);
    {
    CLUREF T_1_1;
    err = g_qop(e, exp, args, results, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(78);
    {
    CLUREF T_1_1;
    err = g_qsel(e, exp, args, results, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(79);
    {
    err = g_err(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(80);
    {
    err = g_envOPputs(e, STR__040_075_040);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(81);
    {
    err = g_expr2(e, exp);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(82);
    {
    err = g_envOPputs(e, STR__050);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(83);
    {
        {first.tf = true;
        }
        }

  LINE(84);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = args.vec->size; 
        T_1_3 = args;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_arg.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(85);
            {
            CLUREF T_2_1;
            T_2_1.num = first.num ^ 1;
            if (T_2_1.num == true) {
                {
                err = g_envOPputs(e, STR__054_040);
                if (err != ERR_ok) goto ex_0;
                }
                }
            else {
                {
                first.tf = false;
                }
                }}/* end if */

  LINE(86);
            {
            err = g_expr_arg(e, each_arg);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;

  LINE(88);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = results.vec->size; 
        T_1_3 = results;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_res.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(89);
            {
            CLUREF T_2_1;
            T_2_1.num = first.num ^ 1;
            if (T_2_1.num == true) {
                {
                err = g_envOPputs(e, STR__054_040);
                if (err != ERR_ok) goto ex_0;
                }
                }
            else {
                {
                first.tf = false;
                }
                }}/* end if */

  LINE(90);
            {
            err = g_envOPputs(e, STR__046);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(91);
            {
            err = g_expr_arg(e, each_res);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_2:;

  LINE(93);
    {
    err = g_envOPputs(e, STR__051_073);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(94);
    {
    err = g_envOPnewline(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(95);
    {
    err = g_envOPputs(e, STR_if_040_050);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(96);
    {
    err = g_err(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(97);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = exOPget_current_ex_label(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(STR__040_041_075_040ERR_137ok_051_040goto_040, T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_2, STR__073, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_3);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(99);
    {
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE g_qinv ****/


extern errcode ibOPbodies();
CLUREF STR__054_040locals_054_040iecode_051_073;
CLUREF STR__054_040_046locals_054_040_046locals_056ecode2_051_073;
static int g_qiinv_own_init = 0;

/**** BEGIN PROCEDURE g_qiinv ****/

errcode g_qiinv(e, exp, args, ibname)
CLUREF e;
CLUREF exp;
CLUREF args;
CLUREF ibname;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_arg;
        if (g_qiinv_own_init == 0) {
        stringOPcons("cannot do quick invocation", CLU_1, CLU_26, &STR_cannot_040do_040quick_040invocation);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons(", locals, iecode);", CLU_1, CLU_18, &STR__054_040locals_054_040iecode_051_073);
        stringOPcons(", &locals, &locals.ecode2);", CLU_1, CLU_27, &STR__054_040_046locals_054_040_046locals_056ecode2_051_073);
        g_qiinv_own_init = 1;
    }
    enter_proc(102);

  LINE(103);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = g_qinv_test(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    T_1_2.num = T_1_1.num ^ 1;
    if (T_1_2.num == true) {

  LINE(104);
        {
        elist[0] = STR_cannot_040do_040quick_040invocation;
        {signal (ERR_failure);}}
        }
        }/* end if */

  LINE(108);
    {
    err = g_err(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(109);
    {
    err = g_envOPputs(e, STR__040_075_040);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(110);
    {
    err = g_expr2(e, exp);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(111);
    {
    err = g_envOPputs(e, STR__050);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(112);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = args.vec->size; 
        T_1_3 = args;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_arg.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(113);
            {
            err = g_expr_arg(e, each_arg);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(114);
            {
            err = g_envOPputs(e, STR__054_040);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;

  LINE(116);
    {
    CLUREF T_1_1;
    err = ibOPbodies(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {

  LINE(118);
        {
        CLUREF T_2_1;
        err = stringOPconcat(ibname, STR__054_040locals_054_040iecode_051_073, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }
        }
    else {

  LINE(120);
        {
        CLUREF T_2_1;
        err = stringOPconcat(ibname, STR__054_040_046locals_054_040_046locals_056ecode2_051_073, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }
        }}/* end if */

  LINE(122);
    {
    err = g_envOPnewline(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(123);
    {
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE g_qiinv ****/


extern errcode g_inline_iter_test_and_info();

/**** BEGIN PROCEDURE g_inline_iter_test ****/

errcode g_inline_iter_test(exp, ret_1)
CLUREF exp;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF ans;
    CLUREF junk1;
    CLUREF junk2;
    enter_proc(126);

  LINE(128);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        err = g_inline_iter_test_and_info(exp, &T_1_1, &T_1_2, &T_1_3);
        if (err != ERR_ok) goto ex_0;
        ans.num = T_1_1.num;
        junk1.num = T_1_2.num;
        junk2.num = T_1_3.num;
        }
        }

  LINE(129);
    {
    {
    ret_1->num = ans.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_inline_iter_test ****/


extern errcode g_envOPmin_inline();
CLUREF STR_;
CLUREF STR_indexes;
CLUREF STR_elements;
CLUREF STR_int;
CLUREF STR_from_137to;
CLUREF STR_from_137to_137by;
static int g_inline_iter_test_and_info_own_init = 0;

/**** BEGIN PROCEDURE g_inline_iter_test_and_info ****/

errcode g_inline_iter_test_and_info(exp, ret_1, ret_2, ret_3)
CLUREF exp;
CLUREF *ret_1;
CLUREF *ret_2;
CLUREF *ret_3;
    {
    errcode err;
    errcode ecode2;
    CLUREF ty;
    CLUREF cop;
    CLUREF ct;
    CLUREF gen;
        if (g_inline_iter_test_and_info_own_init == 0) {
        stringOPcons("", CLU_1, CLU_0, &STR_);
        stringOPcons("array", CLU_1, CLU_5, &STR_array);
        stringOPcons("indexes", CLU_1, CLU_7, &STR_indexes);
        stringOPcons("elements", CLU_1, CLU_8, &STR_elements);
        stringOPcons("sequence", CLU_1, CLU_8, &STR_sequence);
        stringOPcons("int", CLU_1, CLU_3, &STR_int);
        stringOPcons("from_to", CLU_1, CLU_7, &STR_from_137to);
        stringOPcons("from_to_by", CLU_1, CLU_10, &STR_from_137to_137by);
        g_inline_iter_test_and_info_own_init = 1;
    }
    enter_proc(132);

  LINE(139);
    {
    CLUREF T_1_1;
    err = g_envOPmin_inline(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {
        ret_2->str = STR_.str;
        }
        {
        ret_3->str = STR_.str;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(141);
    {
    CLUREF T_1_1;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_1.cell->tag) {
    case 20: 
         {CLUREF T_1_2;
        T_1_2.num = T_1_1.cell->value;
        cop.num = T_1_2.num;

  LINE(143);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            T_2_1.num = cop.vec->data[2];
            err = typespecOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            ty.num = T_2_2.num;
            }

  LINE(144);
            {
            CLUREF T_2_1;
            if (ty.cell->tag == 3) T_2_1.num = true; else T_2_1.num = false;
            if (T_2_1.num == true) {

  LINE(145);
                {
                    {CLUREF T_3_1;
                    if (ty.cell->tag != 3) {err = ERR_wrong_tag; goto ex_0;}
                    T_3_1.num = ty.cell->value;
                    ct.num = T_3_1.num;
                    }
                    }

  LINE(146);
                {
                    {CLUREF T_3_1;
                    T_3_1.num = ct.vec->data[0];
                    gen.num = T_3_1.num;
                    }
                    }

  LINE(147);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                CLUREF T_3_8;
                CLUREF T_3_9;
                CLUREF T_3_10;
                CLUREF T_3_11;
                CLUREF T_3_12;
                CLUREF T_3_13;
                CLUREF T_3_14;
                CLUREF T_3_15;
                CLUREF T_3_16;
                CLUREF T_3_17;
                CLUREF T_3_18;
                CLUREF T_3_19;
                CLUREF T_3_20;
                CLUREF T_3_21;
                CLUREF T_3_22;
                CLUREF T_3_23;
                CLUREF T_3_24;
                CLUREF T_3_25;
                CLUREF T_3_26;
                CLUREF T_3_27;
                CLUREF T_3_28;
                CLUREF T_3_29;
                CLUREF T_3_30;
                CLUREF T_3_31;
                CLUREF T_3_32;
                CLUREF T_3_33;
                CLUREF T_3_34;
                CLUREF T_3_35;
                err = duOPget_common(gen, &T_3_7);
                if (err != ERR_ok) goto ex_0;
                T_3_8.num = ((T_3_7.str->size != STR_array.str->size)? false :
                    !(bcmp(T_3_7.str->data, STR_array.str->data, T_3_7.str->size)));
                T_3_6.num = T_3_8.num;
                if (T_3_8.num) {
                    T_3_9.num = cop.vec->data[0];
                    T_3_10.num = ((T_3_9.str->size != STR_indexes.str->size)? false :
                        !(bcmp(T_3_9.str->data, STR_indexes.str->data, T_3_9.str->size)));
                    T_3_6.num = T_3_10.num;
                }
                T_3_5.num = T_3_6.num;
                if (!T_3_6.num) {
                    err = duOPget_common(gen, &T_3_12);
                    if (err != ERR_ok) goto ex_0;
                    T_3_13.num = ((T_3_12.str->size != STR_array.str->size)? false :
                        !(bcmp(T_3_12.str->data, STR_array.str->data, T_3_12.str->size)));
                    T_3_11.num = T_3_13.num;
                    if (T_3_13.num) {
                        T_3_14.num = cop.vec->data[0];
                        T_3_15.num = ((T_3_14.str->size != STR_elements.str->size)? false :
                            !(bcmp(T_3_14.str->data, STR_elements.str->data, T_3_14.str->size)));
                        T_3_11.num = T_3_15.num;
                    }
                    T_3_5.num = T_3_11.num;
                }
                T_3_4.num = T_3_5.num;
                if (!T_3_5.num) {
                    err = duOPget_common(gen, &T_3_17);
                    if (err != ERR_ok) goto ex_0;
                    T_3_18.num = ((T_3_17.str->size != STR_sequence.str->size)? false :
                        !(bcmp(T_3_17.str->data, STR_sequence.str->data, T_3_17.str->size)));
                    T_3_16.num = T_3_18.num;
                    if (T_3_18.num) {
                        T_3_19.num = cop.vec->data[0];
                        T_3_20.num = ((T_3_19.str->size != STR_indexes.str->size)? false :
                            !(bcmp(T_3_19.str->data, STR_indexes.str->data, T_3_19.str->size)));
                        T_3_16.num = T_3_20.num;
                    }
                    T_3_4.num = T_3_16.num;
                }
                T_3_3.num = T_3_4.num;
                if (!T_3_4.num) {
                    err = duOPget_common(gen, &T_3_22);
                    if (err != ERR_ok) goto ex_0;
                    T_3_23.num = ((T_3_22.str->size != STR_sequence.str->size)? false :
                        !(bcmp(T_3_22.str->data, STR_sequence.str->data, T_3_22.str->size)));
                    T_3_21.num = T_3_23.num;
                    if (T_3_23.num) {
                        T_3_24.num = cop.vec->data[0];
                        T_3_25.num = ((T_3_24.str->size != STR_elements.str->size)? false :
                            !(bcmp(T_3_24.str->data, STR_elements.str->data, T_3_24.str->size)));
                        T_3_21.num = T_3_25.num;
                    }
                    T_3_3.num = T_3_21.num;
                }
                T_3_2.num = T_3_3.num;
                if (!T_3_3.num) {
                    err = duOPget_common(gen, &T_3_27);
                    if (err != ERR_ok) goto ex_0;
                    T_3_28.num = ((T_3_27.str->size != STR_int.str->size)? false :
                        !(bcmp(T_3_27.str->data, STR_int.str->data, T_3_27.str->size)));
                    T_3_26.num = T_3_28.num;
                    if (T_3_28.num) {
                        T_3_29.num = cop.vec->data[0];
                        T_3_30.num = ((T_3_29.str->size != STR_from_137to.str->size)? false :
                            !(bcmp(T_3_29.str->data, STR_from_137to.str->data, T_3_29.str->size)));
                        T_3_26.num = T_3_30.num;
                    }
                    T_3_2.num = T_3_26.num;
                }
                T_3_1.num = T_3_2.num;
                if (!T_3_2.num) {
                    err = duOPget_common(gen, &T_3_32);
                    if (err != ERR_ok) goto ex_0;
                    T_3_33.num = ((T_3_32.str->size != STR_int.str->size)? false :
                        !(bcmp(T_3_32.str->data, STR_int.str->data, T_3_32.str->size)));
                    T_3_31.num = T_3_33.num;
                    if (T_3_33.num) {
                        T_3_34.num = cop.vec->data[0];
                        T_3_35.num = ((T_3_34.str->size != STR_from_137to_137by.str->size)? false :
                            !(bcmp(T_3_34.str->data, STR_from_137to_137by.str->data, T_3_34.str->size)));
                        T_3_31.num = T_3_35.num;
                    }
                    T_3_1.num = T_3_31.num;
                }
                if (T_3_1.num == true) {

  LINE(154);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {
                    CLUREF T_4_1;
                    err = duOPget_common(gen, &T_4_1);
                    if (err != ERR_ok) goto ex_0;
                    ret_2->num = T_4_1.num;
                    }
                    {
                    CLUREF T_4_2;
                    T_4_2.num = cop.vec->data[0];
                    ret_3->num = T_4_2.num;
                    }
                    {signal (ERR_ok);}}
                    }
                    }/* end if */
                }
                }/* end if */
            break;
            }
    default: {

  LINE(157);
        {
        {
        ret_1->tf = false;
        }
        {
        ret_2->str = STR_.str;
        }
        {
        ret_3->str = STR_.str;
        }
        {signal (ERR_ok);}}
    }
    }
    }

  LINE(159);
    {
    {
    ret_1->tf = false;
    }
    {
    ret_2->str = STR_.str;
    }
    {
    ret_3->str = STR_.str;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_inline_iter_test_and_info ****/


extern errcode loop_contextOPenter_inline_for();
extern errcode g_expr0();
extern errcode tvOPdecl_next();
extern errcode ceOPget_int_type();
extern errcode g_envOPget_comp();
extern errcode g_envOPindent();
extern errcode sequenceOPnew();
extern errcode g_expr1();
extern errcode seq_extend();
extern errcode tvOPidn_next();
extern errcode oneofOPvalue_13();
extern errcode g_c_assn();
extern errcode sequenceOPfetch();
extern errcode recordOPget_4();
extern errcode g_idn();
extern errcode g_idn_plain();
extern errcode g_expr_plain();
extern errcode g_envOPoutdent();
extern errcode oneofOPmake_2();
extern errcode oneofOPmake_1();
extern errcode compiler_logit();
extern errcode g_stmt();
extern errcode loop_contextOPget_current_inline_for_count();
extern errcode intOPunparse();
extern errcode g_envOPensure_newline();
extern errcode loop_contextOPleave();
extern struct REQS *seq_extend_of_t_reqs;
extern struct OPS *expr_ops;
extern OWN_req seq_extend_ownreqs;
struct OPS *seq_extend_of_expr_table;
struct OPS *seq_extend_of_expr_ops;
struct OPS *seq_extend_of_expr_ops;
OWNPTR seq_extend_of_expr_owns;
CLUREF STR__173;
CLUREF STR_for_040_050;
CLUREF STR__073_040;
CLUREF STR__040_074_075_040;
CLUREF STR__050_050;
CLUREF STR__040_075_075_0400_051_040_174_174_040_050_050;
CLUREF STR__040_076_0400_051_077_040_050;
CLUREF STR__051_040_072_040_050;
CLUREF STR__040_076_075_040;
CLUREF STR__051_051_051_073_040;
CLUREF STR__053_053_051_040_173;
CLUREF STR__040_053_075_040;
CLUREF STR__051_040_173;
CLUREF STR__056vec_055_076size_073_040;
CLUREF STR__056array_055_076ext_137high_073_040;
CLUREF STR__040_075_0401_073_040;
CLUREF STR__056array_055_076ext_137low_073_040;
CLUREF STR__040_076_040;
CLUREF STR__056array_055_076ext_137high_040_174_174_040;
CLUREF STR__040_074_040;
CLUREF STR__056array_055_076ext_137low_051_040_173;
CLUREF STR__040_075_040ERR_137failure_073;
CLUREF STR_elist_1330_135_056str_040_075_040array_137bounds_137exception_137STRING_073;
CLUREF STR_goto_040;
CLUREF STR__073_175;
CLUREF STR__056vec_055_076data_133;
CLUREF STR__040_055_0401_135;
CLUREF STR__056array_055_076store_055_076data_133;
CLUREF STR__040_055_040;
CLUREF STR__056array_055_076ext_137low;
CLUREF STR__040_053_040;
CLUREF STR__056array_055_076int_137low;
CLUREF STR__135;
CLUREF STR_shouldn_047t_040get_040here_072_040g_137inline_137iter_072_040;
CLUREF STR_OP;
CLUREF STR__175;
CLUREF STR_end_137inline_137for_137;
CLUREF STR__072_073;
static int g_inline_iter_own_init = 0;

/**** BEGIN PROCEDURE g_inline_iter ****/

errcode g_inline_iter(e, fstmt, ret_1)
CLUREF e;
CLUREF fstmt;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF yes;
    CLUREF typ;
    CLUREF op;
    CLUREF each_arg;
    CLUREF el;
    CLUREF new_el;
    CLUREF iter_var;
    CLUREF limit_var;
    CLUREF step_var;
    CLUREF obj_var;
    CLUREF limit_idn;
    CLUREF step_idn;
    CLUREF idns;
    CLUREF d;
    CLUREF elidn;
    CLUREF obj_idn;
    CLUREF maybe_varidn;
    CLUREF varidn;
    CLUREF s;
    CLUREF n;
        if (g_inline_iter_own_init == 0) {
        add_parm_info_type(0, expr_ops, seq_extend_of_t_reqs);
        find_prociter_instance(seq_extend, 1, &seq_extend_ownreqs, &(seq_extend_of_expr_ops));
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("from_to_by", CLU_1, CLU_10, &STR_from_137to_137by);
        stringOPcons("elements", CLU_1, CLU_8, &STR_elements);
        stringOPcons("int", CLU_1, CLU_3, &STR_int);
        stringOPcons("from_to", CLU_1, CLU_7, &STR_from_137to);
        stringOPcons("for (", CLU_1, CLU_5, &STR_for_040_050);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("; ", CLU_1, CLU_2, &STR__073_040);
        stringOPcons(" <= ", CLU_1, CLU_4, &STR__040_074_075_040);
        stringOPcons("((", CLU_1, CLU_2, &STR__050_050);
        stringOPcons(" == 0) || ((", CLU_1, CLU_12, &STR__040_075_075_0400_051_040_174_174_040_050_050);
        stringOPcons(" > 0)? (", CLU_1, CLU_8, &STR__040_076_0400_051_077_040_050);
        stringOPcons(") : (", CLU_1, CLU_5, &STR__051_040_072_040_050);
        stringOPcons(" >= ", CLU_1, CLU_4, &STR__040_076_075_040);
        stringOPcons("))); ", CLU_1, CLU_5, &STR__051_051_051_073_040);
        stringOPcons("++) {", CLU_1, CLU_5, &STR__053_053_051_040_173);
        stringOPcons(" += ", CLU_1, CLU_4, &STR__040_053_075_040);
        stringOPcons(") {", CLU_1, CLU_3, &STR__051_040_173);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("sequence", CLU_1, CLU_8, &STR_sequence);
        stringOPcons("array", CLU_1, CLU_5, &STR_array);
        stringOPcons("indexes", CLU_1, CLU_7, &STR_indexes);
        stringOPcons(".vec->size; ", CLU_1, CLU_12, &STR__056vec_055_076size_073_040);
        stringOPcons(".array->ext_high; ", CLU_1, CLU_18, &STR__056array_055_076ext_137high_073_040);
        stringOPcons(" = 1; ", CLU_1, CLU_6, &STR__040_075_0401_073_040);
        stringOPcons(".array->ext_low; ", CLU_1, CLU_17, &STR__056array_055_076ext_137low_073_040);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" > ", CLU_1, CLU_3, &STR__040_076_040);
        stringOPcons(".array->ext_high || ", CLU_1, CLU_20, &STR__056array_055_076ext_137high_040_174_174_040);
        stringOPcons(" < ", CLU_1, CLU_3, &STR__040_074_040);
        stringOPcons(".array->ext_low) {", CLU_1, CLU_18, &STR__056array_055_076ext_137low_051_040_173);
        stringOPcons(" = ERR_failure;", CLU_1, CLU_15, &STR__040_075_040ERR_137failure_073);
        stringOPcons("elist[0].str = array_bounds_exception_STRING;", CLU_1, CLU_45, &STR_elist_1330_135_056str_040_075_040array_137bounds_137exception_137STRING_073);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";}", CLU_1, CLU_2, &STR__073_175);
        stringOPcons(".vec->data[", CLU_1, CLU_11, &STR__056vec_055_076data_133);
        stringOPcons(" - 1]", CLU_1, CLU_5, &STR__040_055_0401_135);
        stringOPcons(".array->store->data[", CLU_1, CLU_20, &STR__056array_055_076store_055_076data_133);
        stringOPcons(" - ", CLU_1, CLU_3, &STR__040_055_040);
        stringOPcons(".array->ext_low", CLU_1, CLU_15, &STR__056array_055_076ext_137low);
        stringOPcons(" + ", CLU_1, CLU_3, &STR__040_053_040);
        stringOPcons(".array->int_low", CLU_1, CLU_15, &STR__056array_055_076int_137low);
        stringOPcons("]", CLU_1, CLU_1, &STR__135);
        stringOPcons("shouldn\'t get here: g_inline_iter: ", CLU_1, CLU_35, &STR_shouldn_047t_040get_040here_072_040g_137inline_137iter_072_040);
        stringOPcons("OP", CLU_1, CLU_2, &STR_OP);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("end_inline_for_", CLU_1, CLU_15, &STR_end_137inline_137for_137);
        stringOPcons(":;", CLU_1, CLU_2, &STR__072_073);
        g_inline_iter_own_init = 1;
    }
    enter_proc(162);

  LINE(166);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        CLUREF T_1_4;
        CLUREF T_1_5;
        T_1_1.num = fstmt.vec->data[2];
        T_1_2.num = T_1_1.vec->data[0];
        err = g_inline_iter_test_and_info(T_1_2, &T_1_3, &T_1_4, &T_1_5);
        if (err != ERR_ok) goto ex_0;
        yes.num = T_1_3.num;
        typ.num = T_1_4.num;
        op.num = T_1_5.num;
        }
        }

  LINE(169);
    {
    CLUREF T_1_1;
    T_1_1.num = yes.num ^ 1;
    if (T_1_1.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(170);
    {
    err = loop_contextOPenter_inline_for();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(172);
    {
    err = g_envOPputl(e, STR__173);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(175);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
        T_1_1.num = fstmt.vec->data[2];
        T_1_2.num = T_1_1.vec->data[1];
        T_1_4.num = T_1_2.vec->size; 
        T_1_5 = T_1_2;
        for (T_1_3.num = 1; T_1_3.num <= T_1_4.num; T_1_3.num++) {
            each_arg.num = T_1_5.vec->data[T_1_3.num - 1];

  LINE(176);
            {
            err = g_expr0(e, each_arg);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;

  LINE(178);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = g_envOPget_comp(e, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = ceOPget_int_type(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = tvOPdecl_next(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(179);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = g_envOPget_comp(e, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = ceOPget_int_type(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = tvOPdecl_next(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(180);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_2.num = ((op.str->size != STR_from_137to_137by.str->size)? false :
        !(bcmp(op.str->data, STR_from_137to_137by.str->data, op.str->size)));
    T_1_1.num = T_1_2.num;
    if (!T_1_2.num) {
        T_1_3.num = ((op.str->size != STR_elements.str->size)? false :
            !(bcmp(op.str->data, STR_elements.str->data, op.str->size)));
        T_1_1.num = T_1_3.num;
    }
    if (T_1_1.num == true) {

  LINE(181);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        err = g_envOPget_comp(e, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = ceOPget_int_type(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = tvOPdecl_next(e, T_2_2);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(185);
    {
    err = g_envOPindent(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(186);
    {
        {CLUREF T_1_1;
        err = sequenceOPnew(&T_1_1);
        if (err != ERR_ok) goto ex_0;
        el.num = T_1_1.num;
        }
        }

  LINE(187);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
        T_1_1.num = fstmt.vec->data[2];
        T_1_2.num = T_1_1.vec->data[1];
        T_1_4.num = T_1_2.vec->size; 
        T_1_5 = T_1_2;
        for (T_1_3.num = 1; T_1_3.num <= T_1_4.num; T_1_3.num++) {
            each_arg.num = T_1_5.vec->data[T_1_3.num - 1];

  LINE(188);
            {
                {CLUREF T_2_1;
                err = g_expr1(e, each_arg, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                new_el.num = T_2_1.num;
                }
                }

  LINE(189);
            {
            CLUREF T_2_1;
            generic_CLU_proc.type_owns = 0;
            generic_CLU_proc.op_owns = (int)seq_extend_of_expr_ops->op_owns;
            generic_CLU_proc.proc = seq_extend;
            CUR_PROC_VAR.proc = &generic_CLU_proc;
            err = seq_extend(el, new_el, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            el.num = T_2_1.num;
            }
        }
    }
    end_inline_for_2:;

  LINE(191);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        err = g_envOPget_comp(e, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        err = ceOPget_int_type(T_1_1, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        err = tvOPidn_next(T_1_2, &T_1_3);
        if (err != ERR_ok) goto ex_0;
        iter_var.num = T_1_3.num;
        }
        }

  LINE(195);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = g_envOPget_comp(e, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = ceOPget_int_type(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = tvOPidn_next(T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    limit_var.num = T_1_3.num;
    }

  LINE(196);
    {
    CLUREF T_1_1;
    T_1_1.num = ((op.str->size != STR_from_137to_137by.str->size)? false :
        !(bcmp(op.str->data, STR_from_137to_137by.str->data, op.str->size)));
    if (T_1_1.num == true) {

  LINE(197);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = g_envOPget_comp(e, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = ceOPget_int_type(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = tvOPidn_next(T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        step_var.num = T_2_3.num;
        }
        }
        }/* end if */

  LINE(199);
    {
    CLUREF T_1_1;
    T_1_1.num = ((op.str->size != STR_elements.str->size)? false :
        !(bcmp(op.str->data, STR_elements.str->data, op.str->size)));
    if (T_1_1.num == true) {

  LINE(200);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = g_envOPget_comp(e, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = ceOPget_int_type(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = tvOPidn_next(T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        obj_var.num = T_2_3.num;
        }
        }
        }/* end if */

  LINE(203);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_2.num = ((typ.str->size != STR_int.str->size)? false :
        !(bcmp(typ.str->data, STR_int.str->data, typ.str->size)));
    T_1_1.num = T_1_2.num;
    if (T_1_2.num) {
        T_1_4.num = ((op.str->size != STR_from_137to.str->size)? false :
            !(bcmp(op.str->data, STR_from_137to.str->data, op.str->size)));
        T_1_3.num = T_1_4.num;
        if (!T_1_4.num) {
            T_1_5.num = ((op.str->size != STR_from_137to_137by.str->size)? false :
                !(bcmp(op.str->data, STR_from_137to_137by.str->data, op.str->size)));
            T_1_3.num = T_1_5.num;
        }
        T_1_1.num = T_1_3.num;
    }
    if (T_1_1.num == true) {

  LINE(205);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            err = exprOPget_abs(limit_var, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            if (T_2_1.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_2.num = T_2_1.cell->value;
            limit_idn.num = T_2_2.num;
            }
            }

  LINE(206);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > el.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = el.vec->data[2 - 1];
        err = g_c_assn(e, limit_idn, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(207);
        {
        CLUREF T_2_1;
        T_2_1.num = ((op.str->size != STR_from_137to_137by.str->size)? false :
            !(bcmp(op.str->data, STR_from_137to_137by.str->data, op.str->size)));
        if (T_2_1.num == true) {

  LINE(208);
            {
                {CLUREF T_3_1;
                CLUREF T_3_2;
                err = exprOPget_abs(step_var, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                if (T_3_1.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
                T_3_2.num = T_3_1.cell->value;
                step_idn.num = T_3_2.num;
                }
                }

  LINE(209);
            {
            CLUREF T_3_1;
            if (3 < 1 || 3 > el.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = el.vec->data[3 - 1];
            err = g_c_assn(e, step_idn, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }
            }
            }/* end if */

  LINE(211);
        {
        err = g_envOPputs(e, STR_for_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(212);
        {
        err = g_expr2(e, iter_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(213);
        {
        err = g_envOPputs(e, STR__040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(214);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > el.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = el.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(215);
        {
        err = g_envOPputs(e, STR__073_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(217);
        {
        CLUREF T_2_1;
        T_2_1.num = ((op.str->size != STR_from_137to.str->size)? false :
            !(bcmp(op.str->data, STR_from_137to.str->data, op.str->size)));
        if (T_2_1.num == true) {

  LINE(219);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(220);
            {
            err = g_envOPputs(e, STR__040_074_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(221);
            {
            err = g_expr2(e, limit_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(222);
            {
            err = g_envOPputs(e, STR__073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(224);
            {
            err = g_envOPputs(e, STR__050_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(225);
            {
            err = g_expr2(e, step_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(226);
            {
            err = g_envOPputs(e, STR__040_075_075_0400_051_040_174_174_040_050_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(227);
            {
            err = g_expr2(e, step_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(228);
            {
            err = g_envOPputs(e, STR__040_076_0400_051_077_040_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(229);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(230);
            {
            err = g_envOPputs(e, STR__040_074_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(231);
            {
            err = g_expr2(e, limit_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(232);
            {
            err = g_envOPputs(e, STR__051_040_072_040_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(233);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(234);
            {
            err = g_envOPputs(e, STR__040_076_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(235);
            {
            err = g_expr2(e, limit_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(236);
            {
            err = g_envOPputs(e, STR__051_051_051_073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(239);
        {
        CLUREF T_2_1;
        T_2_1.num = ((op.str->size != STR_from_137to.str->size)? false :
            !(bcmp(op.str->data, STR_from_137to.str->data, op.str->size)));
        if (T_2_1.num == true) {

  LINE(241);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(242);
            {
            err = g_envOPputl(e, STR__053_053_051_040_173);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(244);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(245);
            {
            err = g_envOPputs(e, STR__040_053_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(246);
            {
            err = g_expr2(e, step_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(247);
            {
            err = g_envOPputl(e, STR__051_040_173);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(250);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(251);
        {
        CLUREF T_2_1;
        T_2_1.num = fstmt.vec->data[3];
        switch (T_2_1.cell->tag) {
        case 2: 
             {CLUREF T_2_2;
            T_2_2.num = T_2_1.cell->value;
            idns.num = T_2_2.num;

  LINE(253);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                T_3_1.num = idns.vec->size;
                T_3_2.num = (T_3_1.num == 0)? true : false;
                T_3_3.num = T_3_2.num ^ 1;
                if (T_3_3.num == true) {

  LINE(254);
                    {
                    CLUREF T_4_1;
                    if (1 < 1 || 1 > idns.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_1.num = idns.vec->data[1 - 1];
                    err = g_idn(e, T_4_1);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(255);
                    {
                    err = g_envOPputs(e, STR__040_075_040);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(256);
                    {
                    err = g_expr2(e, iter_var);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(257);
                    {
                    err = g_envOPputl(e, STR__073);
                    if (err != ERR_ok) goto ex_0;
                    }
                    }
                    }/* end if */
                break;
                }
        case 1: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_1.cell->value;
            d.num = T_2_3.num;

  LINE(260);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                CLUREF T_3_8;
                CLUREF T_3_9;
                T_3_2.num = d.vec->size;
                T_3_3.num = (T_3_2.num == 0)? true : false;
                T_3_4.num = T_3_3.num ^ 1;
                T_3_1.num = T_3_4.num;
                if (T_3_4.num) {
                    if (1 < 1 || 1 > d.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_3_5.num = d.vec->data[1 - 1];
                    T_3_6.num = T_3_5.vec->data[0];
                    T_3_7.num = T_3_6.vec->size;
                    T_3_8.num = (T_3_7.num == 0)? true : false;
                    T_3_9.num = T_3_8.num ^ 1;
                    T_3_1.num = T_3_9.num;
                }
                if (T_3_1.num == true) {

  LINE(261);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    if (1 < 1 || 1 > d.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_1.num = d.vec->data[1 - 1];
                    T_4_2.num = T_4_1.vec->data[0];
                    if (1 < 1 || 1 > T_4_2.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_3.num = T_4_2.vec->data[1 - 1];
                    err = g_idn(e, T_4_3);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(262);
                    {
                    err = g_envOPputs(e, STR__040_075_040);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(263);
                    {
                    err = g_expr2(e, iter_var);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(264);
                    {
                    err = g_envOPputl(e, STR__073);
                    if (err != ERR_ok) goto ex_0;
                    }
                    }
                    }/* end if */
                break;
                }
        }
        }
        }
    else {
    CLUREF T_1_6;
    CLUREF T_1_7;
    CLUREF T_1_8;
    CLUREF T_1_9;
    CLUREF T_1_10;
    CLUREF T_1_11;
    CLUREF T_1_12;
    T_1_8.num = ((typ.str->size != STR_sequence.str->size)? false :
        !(bcmp(typ.str->data, STR_sequence.str->data, typ.str->size)));
    T_1_7.num = T_1_8.num;
    if (!T_1_8.num) {
        T_1_9.num = ((typ.str->size != STR_array.str->size)? false :
            !(bcmp(typ.str->data, STR_array.str->data, typ.str->size)));
        T_1_7.num = T_1_9.num;
    }
    T_1_6.num = T_1_7.num;
    if (T_1_7.num) {
        T_1_11.num = ((op.str->size != STR_indexes.str->size)? false :
            !(bcmp(op.str->data, STR_indexes.str->data, op.str->size)));
        T_1_10.num = T_1_11.num;
        if (!T_1_11.num) {
            T_1_12.num = ((op.str->size != STR_elements.str->size)? false :
                !(bcmp(op.str->data, STR_elements.str->data, op.str->size)));
            T_1_10.num = T_1_12.num;
        }
        T_1_6.num = T_1_10.num;
    }
    if (T_1_6.num == true) {

  LINE(271);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > el.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = el.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            elidn.num = T_2_3.num;
            }
            }

  LINE(272);
        {
        err = g_expr2(e, limit_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(273);
        {
        err = g_envOPputs(e, STR__040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(274);
        {
        err = g_idn_plain(e, elidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(275);
        {
        CLUREF T_2_1;
        T_2_1.num = ((typ.str->size != STR_sequence.str->size)? false :
            !(bcmp(typ.str->data, STR_sequence.str->data, typ.str->size)));
        if (T_2_1.num == true) {

  LINE(277);
            {
            err = g_envOPputl(e, STR__056vec_055_076size_073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(279);
            {
            err = g_envOPputl(e, STR__056array_055_076ext_137high_073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(282);
        {
        CLUREF T_2_1;
        T_2_1.num = ((op.str->size != STR_elements.str->size)? false :
            !(bcmp(op.str->data, STR_elements.str->data, op.str->size)));
        if (T_2_1.num == true) {

  LINE(283);
            {
            err = g_expr_plain(e, obj_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(284);
            {
            err = g_envOPputs(e, STR__040_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(285);
            {
            err = g_idn_plain(e, elidn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(286);
            {
            err = g_envOPputl(e, STR__073);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(287);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            err = exprOPget_abs(obj_var, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            if (T_3_1.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_3_2.num = T_3_1.cell->value;
            obj_idn.num = T_3_2.num;
            }
            }
            }/* end if */

  LINE(289);
        {
        err = g_envOPputs(e, STR_for_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(290);
        {
        err = g_expr2(e, iter_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(291);
        {
        CLUREF T_2_1;
        T_2_1.num = ((typ.str->size != STR_sequence.str->size)? false :
            !(bcmp(typ.str->data, STR_sequence.str->data, typ.str->size)));
        if (T_2_1.num == true) {

  LINE(293);
            {
            err = g_envOPputs(e, STR__040_075_0401_073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(295);
            {
            err = g_envOPputs(e, STR__040_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(296);
            {
            err = g_idn_plain(e, elidn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(297);
            {
            err = g_envOPputs(e, STR__056array_055_076ext_137low_073_040);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(300);
        {
        err = g_expr2(e, iter_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(301);
        {
        err = g_envOPputs(e, STR__040_074_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(302);
        {
        err = g_expr2(e, limit_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(303);
        {
        err = g_envOPputs(e, STR__073_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(304);
        {
        err = g_expr2(e, iter_var);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(305);
        {
        err = g_envOPputl(e, STR__053_053_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(307);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(308);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        T_2_2.num = ((typ.str->size != STR_array.str->size)? false :
            !(bcmp(typ.str->data, STR_array.str->data, typ.str->size)));
        T_2_1.num = T_2_2.num;
        if (T_2_2.num) {
            T_2_3.num = ((op.str->size != STR_elements.str->size)? false :
                !(bcmp(op.str->data, STR_elements.str->data, op.str->size)));
            T_2_1.num = T_2_3.num;
        }
        if (T_2_1.num == true) {

  LINE(309);
            {
            err = g_envOPputs(e, STR_if_040_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(310);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(311);
            {
            err = g_envOPputs(e, STR__040_076_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(312);
            {
            err = g_idn_plain(e, obj_idn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(313);
            {
            err = g_envOPputs(e, STR__056array_055_076ext_137high_040_174_174_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(314);
            {
            err = g_expr2(e, iter_var);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(315);
            {
            err = g_envOPputs(e, STR__040_074_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(316);
            {
            err = g_idn_plain(e, obj_idn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(317);
            {
            err = g_envOPputl(e, STR__056array_055_076ext_137low_051_040_173);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(318);
            {
            err = g_envOPindent(e);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(319);
            {
            err = g_err(e);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(320);
            {
            err = g_envOPputl(e, STR__040_075_040ERR_137failure_073);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(321);
            {
            err = g_envOPputl(e, STR_elist_1330_135_056str_040_075_040array_137bounds_137exception_137STRING_073);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(322);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            err = exOPget_current_ex_label(&T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(STR_goto_040, T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_3_2, STR__073_175, &T_3_3);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_3);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(324);
            {
            err = g_envOPoutdent(e);
            if (err != ERR_ok) goto ex_0;
            }
            }
            }/* end if */

  LINE(326);
        {
            {CLUREF T_2_1;
            CellAlloc(2, nil, T_2_1);
            maybe_varidn.num = T_2_1.num;
            }
            }

  LINE(327);
        {
        CLUREF T_2_1;
        T_2_1.num = fstmt.vec->data[3];
        switch (T_2_1.cell->tag) {
        case 2: 
             {CLUREF T_2_2;
            T_2_2.num = T_2_1.cell->value;
            idns.num = T_2_2.num;

  LINE(329);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                T_3_1.num = idns.vec->size;
                T_3_2.num = (T_3_1.num == 0)? true : false;
                T_3_3.num = T_3_2.num ^ 1;
                if (T_3_3.num == true) {

  LINE(330);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    if (1 < 1 || 1 > idns.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_1.num = idns.vec->data[1 - 1];
                    CellAlloc(1, T_4_1.num, T_4_2);
                    maybe_varidn.num = T_4_2.num;
                    }
                    }
                    }/* end if */
                break;
                }
        case 1: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_1.cell->value;
            d.num = T_2_3.num;

  LINE(333);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                CLUREF T_3_4;
                CLUREF T_3_5;
                CLUREF T_3_6;
                CLUREF T_3_7;
                CLUREF T_3_8;
                CLUREF T_3_9;
                T_3_2.num = d.vec->size;
                T_3_3.num = (T_3_2.num == 0)? true : false;
                T_3_4.num = T_3_3.num ^ 1;
                T_3_1.num = T_3_4.num;
                if (T_3_4.num) {
                    if (1 < 1 || 1 > d.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_3_5.num = d.vec->data[1 - 1];
                    T_3_6.num = T_3_5.vec->data[0];
                    T_3_7.num = T_3_6.vec->size;
                    T_3_8.num = (T_3_7.num == 0)? true : false;
                    T_3_9.num = T_3_8.num ^ 1;
                    T_3_1.num = T_3_9.num;
                }
                if (T_3_1.num == true) {

  LINE(334);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    CLUREF T_4_4;
                    if (1 < 1 || 1 > d.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_1.num = d.vec->data[1 - 1];
                    T_4_2.num = T_4_1.vec->data[0];
                    if (1 < 1 || 1 > T_4_2.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_4_3.num = T_4_2.vec->data[1 - 1];
                    CellAlloc(1, T_4_3.num, T_4_4);
                    maybe_varidn.num = T_4_4.num;
                    }
                    }
                    }/* end if */
                break;
                }
        }
        }

  LINE(337);
        {
        switch (maybe_varidn.cell->tag) {
        case 1: 
             {CLUREF T_2_1;
            T_2_1.num = maybe_varidn.cell->value;
            varidn.num = T_2_1.num;

  LINE(339);
                {
                err = g_idn(e, varidn);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(340);
                {
                err = g_envOPputs(e, STR__040_075_040);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(341);
                {
                CLUREF T_3_1;
                T_3_1.num = ((op.str->size != STR_indexes.str->size)? false :
                    !(bcmp(op.str->data, STR_indexes.str->data, op.str->size)));
                if (T_3_1.num == true) {

  LINE(343);
                    {
                    err = g_expr2(e, iter_var);
                    if (err != ERR_ok) goto ex_0;
                    }
                    }
                else {

  LINE(345);
                    {
                    CLUREF T_4_1;
                    T_4_1.num = ((typ.str->size != STR_sequence.str->size)? false :
                        !(bcmp(typ.str->data, STR_sequence.str->data, typ.str->size)));
                    if (T_4_1.num == true) {

  LINE(347);
                        {
                        err = g_idn_plain(e, obj_idn);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(348);
                        {
                        err = g_envOPputs(e, STR__056vec_055_076data_133);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(349);
                        {
                        err = g_expr2(e, iter_var);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(350);
                        {
                        err = g_envOPputs(e, STR__040_055_0401_135);
                        if (err != ERR_ok) goto ex_0;
                        }
                        }
                    else {

  LINE(352);
                        {
                        err = g_idn_plain(e, obj_idn);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(353);
                        {
                        err = g_envOPputs(e, STR__056array_055_076store_055_076data_133);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(354);
                        {
                        err = g_expr2(e, iter_var);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(355);
                        {
                        err = g_envOPputs(e, STR__040_055_040);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(356);
                        {
                        err = g_idn_plain(e, obj_idn);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(357);
                        {
                        err = g_envOPputs(e, STR__056array_055_076ext_137low);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(358);
                        {
                        err = g_envOPputs(e, STR__040_053_040);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(359);
                        {
                        err = g_idn_plain(e, obj_idn);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(360);
                        {
                        err = g_envOPputs(e, STR__056array_055_076int_137low);
                        if (err != ERR_ok) goto ex_0;
                        }

  LINE(361);
                        {
                        err = g_envOPputs(e, STR__135);
                        if (err != ERR_ok) goto ex_0;
                        }
                        }}/* end if */
                    }}/* end if */

  LINE(364);
                {
                err = g_envOPputl(e, STR__073);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        default: {
        }
        }
        }
        }
    else {

  LINE(369);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        CLUREF T_2_5;
        T_2_1.num = 500;
        err = stringOPconcat(STR_shouldn_047t_040get_040here_072_040g_137inline_137iter_072_040, typ, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR_OP, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_3, op, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = compiler_logit(T_2_1, T_2_4, &T_2_5);
        if (err != ERR_ok) goto ex_0;
        }
        }}}/* end if */

  LINE(372);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
        T_1_1.num = fstmt.vec->data[1];
        T_1_2.num = T_1_1.vec->data[1];
        T_1_4.num = T_1_2.vec->size; 
        T_1_5 = T_1_2;
        for (T_1_3.num = 1; T_1_3.num <= T_1_4.num; T_1_3.num++) {
            s.num = T_1_5.vec->data[T_1_3.num - 1];

  LINE(373);
            {
            err = g_stmt(e, s);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_3:;

  LINE(376);
    {
    err = g_envOPoutdent(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(377);
    {
    err = g_envOPputl(e, STR__175);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(378);
    {
    err = g_envOPoutdent(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(379);
    {
    err = g_envOPputl(e, STR__175);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(380);
    {
        {CLUREF T_1_1;
        err = loop_contextOPget_current_inline_for_count(&T_1_1);
        if (err != ERR_ok) goto ex_0;
        n.num = T_1_1.num;
        }
        }

  LINE(381);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = intOPunparse(n, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(STR_end_137inline_137for_137, T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_2, STR__072_073, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_3);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(382);
    {
    err = g_envOPensure_newline(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(383);
    {
    err = loop_contextOPleave();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(384);
    {
    {
    ret_1->tf = true;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_inline_iter ****/


extern errcode stringOPindexc();
extern errcode stringOPsubstr();
CLUREF STR_get_137;
CLUREF STR_set_137;
CLUREF STR_make_137;
CLUREF STR_is_137;
CLUREF STR_change_137;
CLUREF STR_value_137;
CLUREF STR_replace_137;
static int g_qselop_own_init = 0;

/**** BEGIN PROCEDURE g_qselop ****/

errcode g_qselop(nm, ret_1)
CLUREF nm;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF loc_of_sep;
    CLUREF prefix;
        if (g_qselop_own_init == 0) {
        stringOPcons("get_", CLU_1, CLU_4, &STR_get_137);
        stringOPcons("set_", CLU_1, CLU_4, &STR_set_137);
        stringOPcons("make_", CLU_1, CLU_5, &STR_make_137);
        stringOPcons("is_", CLU_1, CLU_3, &STR_is_137);
        stringOPcons("change_", CLU_1, CLU_7, &STR_change_137);
        stringOPcons("value_", CLU_1, CLU_6, &STR_value_137);
        stringOPcons("replace_", CLU_1, CLU_8, &STR_replace_137);
        g_qselop_own_init = 1;
    }
    enter_proc(388);

  LINE(389);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.ch = '_';
        err = stringOPindexc(T_1_1, nm, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        loc_of_sep.num = T_1_2.num;
        }
        }

  LINE(390);
    {
        {CLUREF T_1_1;
        err = stringOPsubstr(nm, CLU_1, loc_of_sep, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        prefix.num = T_1_1.num;
        }
        }

  LINE(391);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    CLUREF T_1_7;
    CLUREF T_1_8;
    CLUREF T_1_9;
    CLUREF T_1_10;
    CLUREF T_1_11;
    CLUREF T_1_12;
    CLUREF T_1_13;
    T_1_7.num = ((prefix.str->size != STR_get_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_get_137.str->data, prefix.str->size)));
    T_1_6.num = T_1_7.num;
    if (!T_1_7.num) {
        T_1_8.num = ((prefix.str->size != STR_set_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_set_137.str->data, prefix.str->size)));
        T_1_6.num = T_1_8.num;
    }
    T_1_5.num = T_1_6.num;
    if (!T_1_6.num) {
        T_1_9.num = ((prefix.str->size != STR_make_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_make_137.str->data, prefix.str->size)));
        T_1_5.num = T_1_9.num;
    }
    T_1_4.num = T_1_5.num;
    if (!T_1_5.num) {
        T_1_10.num = ((prefix.str->size != STR_is_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_is_137.str->data, prefix.str->size)));
        T_1_4.num = T_1_10.num;
    }
    T_1_3.num = T_1_4.num;
    if (!T_1_4.num) {
        T_1_11.num = ((prefix.str->size != STR_change_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_change_137.str->data, prefix.str->size)));
        T_1_3.num = T_1_11.num;
    }
    T_1_2.num = T_1_3.num;
    if (!T_1_3.num) {
        T_1_12.num = ((prefix.str->size != STR_value_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_value_137.str->data, prefix.str->size)));
        T_1_2.num = T_1_12.num;
    }
    T_1_1.num = T_1_2.num;
    if (!T_1_2.num) {
        T_1_13.num = ((prefix.str->size != STR_replace_137.str->size)? false :
            !(bcmp(prefix.str->data, STR_replace_137.str->data, prefix.str->size)));
        T_1_1.num = T_1_13.num;
    }
    if (T_1_1.num == true) {

  LINE(399);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {

  LINE(401);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }}/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qselop ****/


extern errcode sequenceOPbottom();
CLUREF STR__056num_040_075_040;
static int g_qapply_own_init = 0;

/**** BEGIN PROCEDURE g_qapply ****/

errcode g_qapply(e, exp, args, results, ret_1)
CLUREF e;
CLUREF exp;
CLUREF args;
CLUREF results;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF ct;
    CLUREF residn;
        if (g_qapply_own_init == 0) {
        stringOPcons("_cvt", CLU_1, CLU_4, &STR__137cvt);
        stringOPcons(".num = ", CLU_1, CLU_7, &STR__056num_040_075_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        g_qapply_own_init = 1;
    }
    enter_proc(405);

  LINE(407);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.cell->tag == 3) T_1_2.num = true; else T_1_2.num = false;
    T_1_3.num = T_1_2.num ^ 1;
    if (T_1_3.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(408);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        err = exprOPget_abs(exp, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        if (T_1_1.cell->tag != 3) {err = ERR_wrong_tag; goto ex_0;}
        T_1_2.num = T_1_1.cell->value;
        ct.num = T_1_2.num;
        }
        }

  LINE(409);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = ct.vec->data[0];
    err = duOPget_common(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_3.num = ((T_1_2.str->size != STR__137cvt.str->size)? false :
        !(bcmp(T_1_2.str->data, STR__137cvt.str->data, T_1_2.str->size)));
    if (T_1_3.num == true) {

  LINE(411);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(412);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(413);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(414);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(args, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(415);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(416);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {

  LINE(417);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }}/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qapply ****/


extern errcode oneofOPis_20();
extern errcode oneofOPvalue_20();
extern errcode g_const_expr();
extern errcode expr_print();
extern errcode g_expr2a();
CLUREF STR_bool;
CLUREF STR_not;
CLUREF STR__040_136_0401_073;
CLUREF STR__137obj;
CLUREF STR__056num_040_075_040_050;
CLUREF STR__040_075_075_040;
CLUREF STR__051_077_040true_040_072_040false_073;
CLUREF STR__056cell_055_076tag;
CLUREF STR_char;
CLUREF STR__056ch;
CLUREF STR__056tf;
CLUREF STR_lt;
CLUREF STR_le;
CLUREF STR_ge;
CLUREF STR_gt;
CLUREF STR_c2i;
CLUREF STR__056num_040_075_040_050int_051_050;
CLUREF STR__056ch_040_046_0400xff_051_073;
CLUREF STR_low;
CLUREF STR__056array_055_076ext_137low_073;
CLUREF STR_high;
CLUREF STR__056array_055_076ext_137high_073;
CLUREF STR_empty;
CLUREF STR__056array_055_076ext_137size_040_075_075_0400_051_077_040true_040_072_040false_073;
CLUREF STR_size;
CLUREF STR__056array_055_076ext_137size_073;
CLUREF STR__056vec_055_076size_073;
CLUREF STR_string;
CLUREF STR__056num_040_075_040_050_050;
CLUREF STR__056str_055_076size_040_041_075_040;
CLUREF STR__056str_055_076size_051_077_040false_040_072;
CLUREF STR__041_050bcmp_050;
CLUREF STR__056str_055_076data_054_040;
CLUREF STR__056str_055_076size_051_051_051_073;
CLUREF STR_add;
CLUREF STR__040if_040_050_050;
CLUREF STR__056num_040_076_0400_040_046_046_040;
CLUREF STR__040_074_0400_040_046_046_040;
CLUREF STR__040_074_0400_051_040_174_174_040;
CLUREF STR__040_040_040_040_040_050;
CLUREF STR__056num_040_074_0400_040_046_046_040;
CLUREF STR__040_076_0400_040_046_046_040;
CLUREF STR__040_076_0400_051_051_040_173;
CLUREF STR__040_075_040ERR_137overflow_073;
CLUREF STR_sub;
CLUREF STR__056num_040_076_075_0400_040_046_046_040;
CLUREF STR__040_074_0400_040_046_046_040_050_055;
CLUREF STR__051_040_074_0400_051_040_174_174_040;
CLUREF STR__056num_040_074_075_0400_040_046_046_040;
CLUREF STR__040_076_0400_040_046_046_040_050_055;
CLUREF STR__051_040_076_0400_051_051_040_173;
CLUREF STR_addh;
CLUREF STR_if_040_050_050;
CLUREF STR__056array_055_076int_137low_040_053_040;
CLUREF STR__056array_055_076ext_137size_040_053_0401_051_040_074_040;
CLUREF STR__056array_055_076int_137size_051_040_173;
CLUREF STR__056array_055_076ext_137size_135_040_075_040;
CLUREF STR__056array_055_076ext_137size_053_053_073_040;
CLUREF STR__056array_055_076ext_137high_053_053_073_175;
CLUREF STR_else_040_173;
CLUREF STR__040_075_040arrayOPaddh_050;
CLUREF STR_store;
CLUREF STR__056array_055_076ext_137low_040_174_174_040;
CLUREF STR__056array_055_076ext_137high_051_040_173;
CLUREF STR__040_075_040ERR_137bounds_073;
CLUREF STR__056array_055_076int_137low_040_055_040;
CLUREF STR__056array_055_076ext_137low_135_040_075_040;
CLUREF STR__137wordvec;
CLUREF STR_fetch;
CLUREF STR__040_074_0401_040_174_174_040_050;
CLUREF STR__074_0742_051_040_076_040_050;
CLUREF STR__056str_055_076size_051_051_040_173;
CLUREF STR__040_055_0401_135_073;
CLUREF STR__056vec;
CLUREF STR__137bytevec;
CLUREF STR__056str;
CLUREF STR__056array;
CLUREF STR__040_074_0401_040_174_174_040;
CLUREF STR__055_076ext_137low_040_174_174_040;
CLUREF STR__055_076size_040_051_040_173;
CLUREF STR__055_076ext_137high_040_051_040_173;
CLUREF STR__056ch_040_075_040;
CLUREF STR__055_076data_133;
CLUREF STR__055_076store_055_076data_133;
CLUREF STR__055_076ext_137low_040_053_040;
CLUREF STR__055_076int_137low_135_073;
static int g_qop_own_init = 0;

/**** BEGIN PROCEDURE g_qop ****/

errcode g_qop(e, exp, args, results, ret_1)
CLUREF e;
CLUREF exp;
CLUREF args;
CLUREF results;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF cop;
    CLUREF gen;
    CLUREF flist;
    CLUREF ct;
    CLUREF xt;
    CLUREF op_name;
    CLUREF type_name;
    CLUREF residn;
    CLUREF o1;
    CLUREF o2;
    CLUREF i;
    CLUREF a1;
    CLUREF a2;
    CLUREF c;
    CLUREF b;
    CLUREF argidn;
    CLUREF arg1;
    CLUREF arg2;
    CLUREF arg3;
    CLUREF arg1idn;
    CLUREF tail;
        if (g_qop_own_init == 0) {
        stringOPcons("bool", CLU_1, CLU_4, &STR_bool);
        stringOPcons("not", CLU_1, CLU_3, &STR_not);
        stringOPcons(".num = ", CLU_1, CLU_7, &STR__056num_040_075_040);
        stringOPcons(" ^ 1;", CLU_1, CLU_5, &STR__040_136_0401_073);
        stringOPcons("_obj", CLU_1, CLU_4, &STR__137obj);
        stringOPcons("equal", CLU_1, CLU_5, &STR_equal);
        stringOPcons(".num = (", CLU_1, CLU_8, &STR__056num_040_075_040_050);
        stringOPcons(" == ", CLU_1, CLU_4, &STR__040_075_075_040);
        stringOPcons(")? true : false;", CLU_1, CLU_16, &STR__051_077_040true_040_072_040false_073);
        stringOPcons("oneof", CLU_1, CLU_5, &STR_oneof);
        stringOPcons(".cell->tag", CLU_1, CLU_10, &STR__056cell_055_076tag);
        stringOPcons("char", CLU_1, CLU_4, &STR_char);
        stringOPcons(".ch", CLU_1, CLU_3, &STR__056ch);
        stringOPcons(".tf", CLU_1, CLU_3, &STR__056tf);
        stringOPcons("record", CLU_1, CLU_6, &STR_record);
        stringOPcons("int", CLU_1, CLU_3, &STR_int);
        stringOPcons("lt", CLU_1, CLU_2, &STR_lt);
        stringOPcons(" < ", CLU_1, CLU_3, &STR__040_074_040);
        stringOPcons("le", CLU_1, CLU_2, &STR_le);
        stringOPcons(" <= ", CLU_1, CLU_4, &STR__040_074_075_040);
        stringOPcons("ge", CLU_1, CLU_2, &STR_ge);
        stringOPcons(" >= ", CLU_1, CLU_4, &STR__040_076_075_040);
        stringOPcons("gt", CLU_1, CLU_2, &STR_gt);
        stringOPcons(" > ", CLU_1, CLU_3, &STR__040_076_040);
        stringOPcons("c2i", CLU_1, CLU_3, &STR_c2i);
        stringOPcons(".num = (int)(", CLU_1, CLU_13, &STR__056num_040_075_040_050int_051_050);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons(".ch & 0xff);", CLU_1, CLU_12, &STR__056ch_040_046_0400xff_051_073);
        stringOPcons("array", CLU_1, CLU_5, &STR_array);
        stringOPcons("low", CLU_1, CLU_3, &STR_low);
        stringOPcons(".array->ext_low;", CLU_1, CLU_16, &STR__056array_055_076ext_137low_073);
        stringOPcons("high", CLU_1, CLU_4, &STR_high);
        stringOPcons(".array->ext_high;", CLU_1, CLU_17, &STR__056array_055_076ext_137high_073);
        stringOPcons("empty", CLU_1, CLU_5, &STR_empty);
        stringOPcons(".array->ext_size == 0)? true : false;", CLU_1, CLU_37, &STR__056array_055_076ext_137size_040_075_075_0400_051_077_040true_040_072_040false_073);
        stringOPcons("size", CLU_1, CLU_4, &STR_size);
        stringOPcons(".array->ext_size;", CLU_1, CLU_17, &STR__056array_055_076ext_137size_073);
        stringOPcons("sequence", CLU_1, CLU_8, &STR_sequence);
        stringOPcons(".vec->size;", CLU_1, CLU_11, &STR__056vec_055_076size_073);
        stringOPcons("string", CLU_1, CLU_6, &STR_string);
        stringOPcons(".num = ((", CLU_1, CLU_9, &STR__056num_040_075_040_050_050);
        stringOPcons(".str->size != ", CLU_1, CLU_14, &STR__056str_055_076size_040_041_075_040);
        stringOPcons(".str->size)? false :", CLU_1, CLU_20, &STR__056str_055_076size_051_077_040false_040_072);
        stringOPcons("!(bcmp(", CLU_1, CLU_7, &STR__041_050bcmp_050);
        stringOPcons(".str->data, ", CLU_1, CLU_12, &STR__056str_055_076data_054_040);
        stringOPcons(".str->size)));", CLU_1, CLU_14, &STR__056str_055_076size_051_051_051_073);
        stringOPcons("add", CLU_1, CLU_3, &STR_add);
        stringOPcons(" + ", CLU_1, CLU_3, &STR__040_053_040);
        stringOPcons(" if ((", CLU_1, CLU_6, &STR__040if_040_050_050);
        stringOPcons(".num > 0 && ", CLU_1, CLU_12, &STR__056num_040_076_0400_040_046_046_040);
        stringOPcons(" < 0 && ", CLU_1, CLU_8, &STR__040_074_0400_040_046_046_040);
        stringOPcons(" < 0) || ", CLU_1, CLU_9, &STR__040_074_0400_051_040_174_174_040);
        stringOPcons("     (", CLU_1, CLU_6, &STR__040_040_040_040_040_050);
        stringOPcons(".num < 0 && ", CLU_1, CLU_12, &STR__056num_040_074_0400_040_046_046_040);
        stringOPcons(" > 0 && ", CLU_1, CLU_8, &STR__040_076_0400_040_046_046_040);
        stringOPcons(" > 0)) {", CLU_1, CLU_8, &STR__040_076_0400_051_051_040_173);
        stringOPcons(" = ERR_overflow;", CLU_1, CLU_16, &STR__040_075_040ERR_137overflow_073);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";}", CLU_1, CLU_2, &STR__073_175);
        stringOPcons("sub", CLU_1, CLU_3, &STR_sub);
        stringOPcons(" - ", CLU_1, CLU_3, &STR__040_055_040);
        stringOPcons(".num >= 0 && ", CLU_1, CLU_13, &STR__056num_040_076_075_0400_040_046_046_040);
        stringOPcons(" < 0 && (-", CLU_1, CLU_10, &STR__040_074_0400_040_046_046_040_050_055);
        stringOPcons(") < 0) || ", CLU_1, CLU_10, &STR__051_040_074_0400_051_040_174_174_040);
        stringOPcons(".num <= 0 && ", CLU_1, CLU_13, &STR__056num_040_074_075_0400_040_046_046_040);
        stringOPcons(" > 0 && (-", CLU_1, CLU_10, &STR__040_076_0400_040_046_046_040_050_055);
        stringOPcons(") > 0)) {", CLU_1, CLU_9, &STR__051_040_076_0400_051_051_040_173);
        stringOPcons("addh", CLU_1, CLU_4, &STR_addh);
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("if ((", CLU_1, CLU_5, &STR_if_040_050_050);
        stringOPcons(".array->int_low + ", CLU_1, CLU_18, &STR__056array_055_076int_137low_040_053_040);
        stringOPcons(".array->ext_size + 1) < ", CLU_1, CLU_24, &STR__056array_055_076ext_137size_040_053_0401_051_040_074_040);
        stringOPcons(".array->int_size) {", CLU_1, CLU_19, &STR__056array_055_076int_137size_051_040_173);
        stringOPcons(".array->store->data[", CLU_1, CLU_20, &STR__056array_055_076store_055_076data_133);
        stringOPcons(".array->ext_size] = ", CLU_1, CLU_20, &STR__056array_055_076ext_137size_135_040_075_040);
        stringOPcons(".array->ext_size++; ", CLU_1, CLU_20, &STR__056array_055_076ext_137size_053_053_073_040);
        stringOPcons(".array->ext_high++;}", CLU_1, CLU_20, &STR__056array_055_076ext_137high_053_053_073_175);
        stringOPcons("else {", CLU_1, CLU_6, &STR_else_040_173);
        stringOPcons(" = arrayOPaddh(", CLU_1, CLU_15, &STR__040_075_040arrayOPaddh_050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != ERR_ok) goto ", CLU_1, CLU_17, &STR__040_041_075_040ERR_137ok_051_040goto_040);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("store", CLU_1, CLU_5, &STR_store);
        stringOPcons(".array->ext_low || ", CLU_1, CLU_19, &STR__056array_055_076ext_137low_040_174_174_040);
        stringOPcons(".array->ext_high) {", CLU_1, CLU_19, &STR__056array_055_076ext_137high_051_040_173);
        stringOPcons(" = ERR_bounds;", CLU_1, CLU_14, &STR__040_075_040ERR_137bounds_073);
        stringOPcons(".array->int_low - ", CLU_1, CLU_18, &STR__056array_055_076int_137low_040_055_040);
        stringOPcons(".array->ext_low] = ", CLU_1, CLU_19, &STR__056array_055_076ext_137low_135_040_075_040);
        stringOPcons("_wordvec", CLU_1, CLU_8, &STR__137wordvec);
        stringOPcons("fetch", CLU_1, CLU_5, &STR_fetch);
        stringOPcons(" < 1 || (", CLU_1, CLU_9, &STR__040_074_0401_040_174_174_040_050);
        stringOPcons("<<2) > (", CLU_1, CLU_8, &STR__074_0742_051_040_076_040_050);
        stringOPcons(".str->size)) {", CLU_1, CLU_14, &STR__056str_055_076size_051_051_040_173);
        stringOPcons(".vec->data[", CLU_1, CLU_11, &STR__056vec_055_076data_133);
        stringOPcons(" - 1];", CLU_1, CLU_6, &STR__040_055_0401_135_073);
        stringOPcons("_vec", CLU_1, CLU_4, &STR__137vec);
        stringOPcons(".vec", CLU_1, CLU_4, &STR__056vec);
        stringOPcons("_bytevec", CLU_1, CLU_8, &STR__137bytevec);
        stringOPcons(".str", CLU_1, CLU_4, &STR__056str);
        stringOPcons(".array", CLU_1, CLU_6, &STR__056array);
        stringOPcons(" < 1 || ", CLU_1, CLU_8, &STR__040_074_0401_040_174_174_040);
        stringOPcons("->ext_low || ", CLU_1, CLU_13, &STR__055_076ext_137low_040_174_174_040);
        stringOPcons("->size ) {", CLU_1, CLU_10, &STR__055_076size_040_051_040_173);
        stringOPcons("->ext_high ) {", CLU_1, CLU_14, &STR__055_076ext_137high_040_051_040_173);
        stringOPcons(".ch = ", CLU_1, CLU_6, &STR__056ch_040_075_040);
        stringOPcons("->data[", CLU_1, CLU_7, &STR__055_076data_133);
        stringOPcons("->store->data[", CLU_1, CLU_14, &STR__055_076store_055_076data_133);
        stringOPcons("->ext_low + ", CLU_1, CLU_12, &STR__055_076ext_137low_040_053_040);
        stringOPcons("->int_low];", CLU_1, CLU_11, &STR__055_076int_137low_135_073);
        g_qop_own_init = 1;
    }
    enter_proc(421);

  LINE(423);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.cell->tag == 20) T_1_2.num = true; else T_1_2.num = false;
    T_1_3.num = T_1_2.num ^ 1;
    if (T_1_3.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(424);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        err = exprOPget_abs(exp, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        if (T_1_1.cell->tag != 20) {err = ERR_wrong_tag; goto ex_0;}
        T_1_2.num = T_1_1.cell->value;
        cop.num = T_1_2.num;
        }
        }

  LINE(427);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = cop.vec->data[2];
    err = typespecOPget_abs(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_2.cell->tag) {
    case 3: 
    case 8: 
         {CLUREF T_1_3;
        T_1_3.num = T_1_2.cell->value;
        ct.num = T_1_3.num;

  LINE(429);
            {
            CLUREF T_2_1;
            T_2_1.num = ct.vec->data[0];
            gen.num = T_2_1.num;
            }
            break;
            }
    case 7: 
         {CLUREF T_1_4;
        T_1_4.num = T_1_2.cell->value;
        xt.num = T_1_4.num;

  LINE(431);
            {
            CLUREF T_2_1;
            T_2_1.num = xt.vec->data[0];
            gen.num = T_2_1.num;
            }

  LINE(432);
            {
            CLUREF T_2_1;
            T_2_1.num = xt.vec->data[1];
            flist.num = T_2_1.num;
            }
            break;
            }
    default: {

  LINE(433);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
    }
    }
    }

  LINE(435);
    {
        {CLUREF T_1_1;
        T_1_1.num = cop.vec->data[0];
        op_name.num = T_1_1.num;
        }
        }

  LINE(436);
    {
        {CLUREF T_1_1;
        err = duOPget_common(gen, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        type_name.num = T_1_1.num;
        }
        }

  LINE(437);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_2.num = ((type_name.str->size != STR_bool.str->size)? false :
        !(bcmp(type_name.str->data, STR_bool.str->data, type_name.str->size)));
    T_1_1.num = T_1_2.num;
    if (T_1_2.num) {
        T_1_3.num = ((op_name.str->size != STR_not.str->size)? false :
            !(bcmp(op_name.str->data, STR_not.str->data, op_name.str->size)));
        T_1_1.num = T_1_3.num;
    }
    if (T_1_1.num == true) {

  LINE(440);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(441);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(442);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(443);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(args, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(444);
        {
        err = g_envOPputl(e, STR__040_136_0401_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(445);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    T_1_5.num = ((type_name.str->size != STR__137obj.str->size)? false :
        !(bcmp(type_name.str->data, STR__137obj.str->data, type_name.str->size)));
    T_1_4.num = T_1_5.num;
    if (T_1_5.num) {
        T_1_6.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_4.num = T_1_6.num;
    }
    if (T_1_4.num == true) {

  LINE(449);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(450);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(451);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(452);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(453);
        {
        err = g_envOPputs(e, STR__040_075_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(454);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(455);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(456);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_7;
    CLUREF T_1_8;
    CLUREF T_1_9;
    T_1_8.num = ((type_name.str->size != STR_oneof.str->size)? false :
        !(bcmp(type_name.str->data, STR_oneof.str->data, type_name.str->size)));
    T_1_7.num = T_1_8.num;
    if (T_1_8.num) {
        T_1_9.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_7.num = T_1_9.num;
    }
    if (T_1_7.num == true) {

  LINE(460);
        {
        CLUREF T_2_1;
        err = all_field_types_null(flist, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        if (T_2_1.num == true) {

  LINE(464);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            switch (T_3_2.cell->tag) {
            case 13: 
                 {CLUREF T_3_3;
                T_3_3.num = T_3_2.cell->value;
                i.num = T_3_3.num;

  LINE(466);
                    {
                    o1.num = i.num;
                    }
                    break;
                    }
            default: {

  LINE(469);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
            }
            }
            }

  LINE(471);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[2 - 1];
            err = exprOPget_abs(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            switch (T_3_2.cell->tag) {
            case 13: 
                 {CLUREF T_3_3;
                T_3_3.num = T_3_2.cell->value;
                i.num = T_3_3.num;

  LINE(473);
                    {
                    o2.num = i.num;
                    }
                    break;
                    }
            default: {

  LINE(476);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
            }
            }
            }

  LINE(478);
            {
                {CLUREF T_3_1;
                CLUREF T_3_2;
                CLUREF T_3_3;
                err = sequenceOPbottom(results, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                err = exprOPget_abs(T_3_1, &T_3_2);
                if (err != ERR_ok) goto ex_0;
                if (T_3_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
                T_3_3.num = T_3_2.cell->value;
                residn.num = T_3_3.num;
                }
                }

  LINE(479);
            {
            err = g_idn_plain(e, residn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(480);
            {
            err = g_envOPputs(e, STR__056num_040_075_040_050);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(481);
            {
            err = g_idn_plain(e, o1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(482);
            {
            err = g_envOPputs(e, STR__056cell_055_076tag);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(483);
            {
            err = g_envOPputs(e, STR__040_075_075_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(484);
            {
            err = g_idn_plain(e, o2);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(485);
            {
            err = g_envOPputs(e, STR__056cell_055_076tag);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(486);
            {
            err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(487);
            {
            {
            ret_1->tf = true;
            }
            {signal (ERR_ok);}}
            }
        else {

  LINE(490);
            {
            {
            ret_1->tf = false;
            }
            {signal (ERR_ok);}}
            }}/* end if */
        }
    else {
    CLUREF T_1_10;
    CLUREF T_1_11;
    CLUREF T_1_12;
    T_1_11.num = ((type_name.str->size != STR_char.str->size)? false :
        !(bcmp(type_name.str->data, STR_char.str->data, type_name.str->size)));
    T_1_10.num = T_1_11.num;
    if (T_1_11.num) {
        T_1_12.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_10.num = T_1_12.num;
    }
    if (T_1_10.num == true) {

  LINE(495);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(496);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(497);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(500);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = exprOPget_abs(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        switch (T_2_2.cell->tag) {
        case 13: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_2.cell->value;
            i.num = T_2_3.num;

  LINE(502);
                {
                err = g_idn_plain(e, i);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(503);
                {
                err = g_envOPputs(e, STR__056ch);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        case 7: 
             {CLUREF T_2_4;
            T_2_4.num = T_2_2.cell->value;
            c.num = T_2_4.num;

  LINE(505);
                {
                CLUREF T_3_1;
                if (1 < 1 || 1 > args.vec->size ) {
                    err = ERR_bounds;
                    goto ex_0;}
                T_3_1.num = args.vec->data[1 - 1];
                err = g_const_expr(e, T_3_1);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        default: {

  LINE(508);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[1 - 1];
            T_3_2.num = 82;
            err = expr_print(T_3_1, T_3_2);
            if (err != ERR_ok) goto ex_0;
            }
        }
        }
        }

  LINE(510);
        {
        err = g_envOPputs(e, STR__040_075_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(511);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = exprOPget_abs(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        switch (T_2_2.cell->tag) {
        case 13: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_2.cell->value;
            i.num = T_2_3.num;

  LINE(513);
                {
                err = g_idn_plain(e, i);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(514);
                {
                err = g_envOPputs(e, STR__056ch);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        case 7: 
             {CLUREF T_2_4;
            T_2_4.num = T_2_2.cell->value;
            c.num = T_2_4.num;

  LINE(516);
                {
                CLUREF T_3_1;
                if (2 < 1 || 2 > args.vec->size ) {
                    err = ERR_bounds;
                    goto ex_0;}
                T_3_1.num = args.vec->data[2 - 1];
                err = g_const_expr(e, T_3_1);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        default: {

  LINE(519);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[2 - 1];
            T_3_2.num = 83;
            err = expr_print(T_3_1, T_3_2);
            if (err != ERR_ok) goto ex_0;
            }
        }
        }
        }

  LINE(521);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(522);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_13;
    CLUREF T_1_14;
    CLUREF T_1_15;
    T_1_14.num = ((type_name.str->size != STR_bool.str->size)? false :
        !(bcmp(type_name.str->data, STR_bool.str->data, type_name.str->size)));
    T_1_13.num = T_1_14.num;
    if (T_1_14.num) {
        T_1_15.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_13.num = T_1_15.num;
    }
    if (T_1_13.num == true) {

  LINE(526);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(527);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(528);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(531);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = exprOPget_abs(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        switch (T_2_2.cell->tag) {
        case 13: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_2.cell->value;
            i.num = T_2_3.num;

  LINE(533);
                {
                err = g_idn_plain(e, i);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(534);
                {
                err = g_envOPputs(e, STR__056tf);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        case 5: 
             {CLUREF T_2_4;
            T_2_4.num = T_2_2.cell->value;
            b.num = T_2_4.num;

  LINE(536);
                {
                CLUREF T_3_1;
                if (1 < 1 || 1 > args.vec->size ) {
                    err = ERR_bounds;
                    goto ex_0;}
                T_3_1.num = args.vec->data[1 - 1];
                err = g_const_expr(e, T_3_1);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        default: {

  LINE(539);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[1 - 1];
            T_3_2.num = 82;
            err = expr_print(T_3_1, T_3_2);
            if (err != ERR_ok) goto ex_0;
            }
        }
        }
        }

  LINE(541);
        {
        err = g_envOPputs(e, STR__040_075_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(542);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = exprOPget_abs(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        switch (T_2_2.cell->tag) {
        case 13: 
             {CLUREF T_2_3;
            T_2_3.num = T_2_2.cell->value;
            i.num = T_2_3.num;

  LINE(544);
                {
                err = g_idn_plain(e, i);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(545);
                {
                err = g_envOPputs(e, STR__056tf);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        case 5: 
             {CLUREF T_2_4;
            T_2_4.num = T_2_2.cell->value;
            b.num = T_2_4.num;

  LINE(547);
                {
                CLUREF T_3_1;
                if (2 < 1 || 2 > args.vec->size ) {
                    err = ERR_bounds;
                    goto ex_0;}
                T_3_1.num = args.vec->data[2 - 1];
                err = g_const_expr(e, T_3_1);
                if (err != ERR_ok) goto ex_0;
                }
                break;
                }
        default: {

  LINE(550);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[2 - 1];
            T_3_2.num = 83;
            err = expr_print(T_3_1, T_3_2);
            if (err != ERR_ok) goto ex_0;
            }
        }
        }
        }

  LINE(552);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(553);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_16;
    CLUREF T_1_17;
    CLUREF T_1_18;
    T_1_17.num = ((type_name.str->size != STR_record.str->size)? false :
        !(bcmp(type_name.str->data, STR_record.str->data, type_name.str->size)));
    T_1_16.num = T_1_17.num;
    if (T_1_17.num) {
        T_1_18.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_16.num = T_1_18.num;
    }
    if (T_1_16.num == true) {

  LINE(557);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(558);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(559);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(560);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(561);
        {
        err = g_envOPputs(e, STR__040_075_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(562);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(563);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(564);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_19;
    CLUREF T_1_20;
    CLUREF T_1_21;
    T_1_20.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_19.num = T_1_20.num;
    if (T_1_20.num) {
        T_1_21.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_19.num = T_1_21.num;
    }
    if (T_1_19.num == true) {

  LINE(568);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(569);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(570);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(571);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(572);
        {
        err = g_envOPputs(e, STR__040_075_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(573);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(574);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(575);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_22;
    CLUREF T_1_23;
    CLUREF T_1_24;
    T_1_23.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_22.num = T_1_23.num;
    if (T_1_23.num) {
        T_1_24.num = ((op_name.str->size != STR_lt.str->size)? false :
            !(bcmp(op_name.str->data, STR_lt.str->data, op_name.str->size)));
        T_1_22.num = T_1_24.num;
    }
    if (T_1_22.num == true) {

  LINE(579);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(580);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(581);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(582);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(583);
        {
        err = g_envOPputs(e, STR__040_074_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(584);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(585);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(586);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_25;
    CLUREF T_1_26;
    CLUREF T_1_27;
    T_1_26.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_25.num = T_1_26.num;
    if (T_1_26.num) {
        T_1_27.num = ((op_name.str->size != STR_le.str->size)? false :
            !(bcmp(op_name.str->data, STR_le.str->data, op_name.str->size)));
        T_1_25.num = T_1_27.num;
    }
    if (T_1_25.num == true) {

  LINE(590);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(591);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(592);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(593);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(594);
        {
        err = g_envOPputs(e, STR__040_074_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(595);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(596);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(597);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_28;
    CLUREF T_1_29;
    CLUREF T_1_30;
    T_1_29.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_28.num = T_1_29.num;
    if (T_1_29.num) {
        T_1_30.num = ((op_name.str->size != STR_ge.str->size)? false :
            !(bcmp(op_name.str->data, STR_ge.str->data, op_name.str->size)));
        T_1_28.num = T_1_30.num;
    }
    if (T_1_28.num == true) {

  LINE(601);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(602);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(603);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(604);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(605);
        {
        err = g_envOPputs(e, STR__040_076_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(606);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(607);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(608);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_31;
    CLUREF T_1_32;
    CLUREF T_1_33;
    T_1_32.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_31.num = T_1_32.num;
    if (T_1_32.num) {
        T_1_33.num = ((op_name.str->size != STR_gt.str->size)? false :
            !(bcmp(op_name.str->data, STR_gt.str->data, op_name.str->size)));
        T_1_31.num = T_1_33.num;
    }
    if (T_1_31.num == true) {

  LINE(612);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(613);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(614);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(615);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(616);
        {
        err = g_envOPputs(e, STR__040_076_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(617);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(618);
        {
        err = g_envOPputl(e, STR__051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(619);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_34;
    CLUREF T_1_35;
    CLUREF T_1_36;
    T_1_35.num = ((type_name.str->size != STR_char.str->size)? false :
        !(bcmp(type_name.str->data, STR_char.str->data, type_name.str->size)));
    T_1_34.num = T_1_35.num;
    if (T_1_35.num) {
        T_1_36.num = ((op_name.str->size != STR_c2i.str->size)? false :
            !(bcmp(op_name.str->data, STR_c2i.str->data, op_name.str->size)));
        T_1_34.num = T_1_36.num;
    }
    if (T_1_34.num == true) {

  LINE(623);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(624);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(625);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050int_051_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(626);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_1;}
            T_3_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_1;
            if (T_3_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_1;}
            T_3_3.num = T_3_2.cell->value;
            argidn.num = T_3_3.num;
            }
            }
            goto end_1;
            ex_1:
                if ((err == ERR_wrong_tag)) {

  LINE(628);
                    {
                    CLUREF T_3_1;
                    if (1 < 1 || 1 > args.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_3_1.num = args.vec->data[1 - 1];
                    err = g_expr2(e, T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(629);
                    {
                    err = g_envOPputl(e, STR__073);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(630);
                    {
                    {
                    ret_1->tf = true;
                    }
                    {signal (ERR_ok);}}
                }
                else {
                    goto ex_0;
                }
            end_1:;

  LINE(632);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(633);
        {
        err = g_envOPputl(e, STR__056ch_040_046_0400xff_051_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(634);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_37;
    CLUREF T_1_38;
    CLUREF T_1_39;
    T_1_38.num = ((type_name.str->size != STR_array.str->size)? false :
        !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
    T_1_37.num = T_1_38.num;
    if (T_1_38.num) {
        T_1_39.num = ((op_name.str->size != STR_low.str->size)? false :
            !(bcmp(op_name.str->data, STR_low.str->data, op_name.str->size)));
        T_1_37.num = T_1_39.num;
    }
    if (T_1_37.num == true) {

  LINE(638);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(639);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(640);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(641);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(642);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(643);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137low_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(644);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_40;
    CLUREF T_1_41;
    CLUREF T_1_42;
    T_1_41.num = ((type_name.str->size != STR_array.str->size)? false :
        !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
    T_1_40.num = T_1_41.num;
    if (T_1_41.num) {
        T_1_42.num = ((op_name.str->size != STR_high.str->size)? false :
            !(bcmp(op_name.str->data, STR_high.str->data, op_name.str->size)));
        T_1_40.num = T_1_42.num;
    }
    if (T_1_40.num == true) {

  LINE(648);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(649);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(650);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(651);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(652);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(653);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137high_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(654);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_43;
    CLUREF T_1_44;
    CLUREF T_1_45;
    T_1_44.num = ((type_name.str->size != STR_array.str->size)? false :
        !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
    T_1_43.num = T_1_44.num;
    if (T_1_44.num) {
        T_1_45.num = ((op_name.str->size != STR_empty.str->size)? false :
            !(bcmp(op_name.str->data, STR_empty.str->data, op_name.str->size)));
        T_1_43.num = T_1_45.num;
    }
    if (T_1_43.num == true) {

  LINE(658);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(659);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(660);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(661);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(662);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(663);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137size_040_075_075_0400_051_077_040true_040_072_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(664);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_46;
    CLUREF T_1_47;
    CLUREF T_1_48;
    T_1_47.num = ((type_name.str->size != STR_array.str->size)? false :
        !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
    T_1_46.num = T_1_47.num;
    if (T_1_47.num) {
        T_1_48.num = ((op_name.str->size != STR_size.str->size)? false :
            !(bcmp(op_name.str->data, STR_size.str->data, op_name.str->size)));
        T_1_46.num = T_1_48.num;
    }
    if (T_1_46.num == true) {

  LINE(668);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(669);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(670);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(671);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(672);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(673);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137size_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(674);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_49;
    CLUREF T_1_50;
    CLUREF T_1_51;
    T_1_50.num = ((type_name.str->size != STR_sequence.str->size)? false :
        !(bcmp(type_name.str->data, STR_sequence.str->data, type_name.str->size)));
    T_1_49.num = T_1_50.num;
    if (T_1_50.num) {
        T_1_51.num = ((op_name.str->size != STR_size.str->size)? false :
            !(bcmp(op_name.str->data, STR_size.str->data, op_name.str->size)));
        T_1_49.num = T_1_51.num;
    }
    if (T_1_49.num == true) {

  LINE(678);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(679);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(680);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(681);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(682);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(683);
        {
        err = g_envOPputl(e, STR__056vec_055_076size_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(684);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_52;
    err = g_envOPmin_inline(&T_1_52);
    if (err != ERR_ok) goto ex_0;
    if (T_1_52.num == true) {

  LINE(691);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_53;
    CLUREF T_1_54;
    CLUREF T_1_55;
    T_1_54.num = ((type_name.str->size != STR_string.str->size)? false :
        !(bcmp(type_name.str->data, STR_string.str->data, type_name.str->size)));
    T_1_53.num = T_1_54.num;
    if (T_1_54.num) {
        T_1_55.num = ((op_name.str->size != STR_equal.str->size)? false :
            !(bcmp(op_name.str->data, STR_equal.str->data, op_name.str->size)));
        T_1_53.num = T_1_55.num;
    }
    if (T_1_53.num == true) {

  LINE(695);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(696);
        {
            {CLUREF T_2_1;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            arg1.num = T_2_1.num;
            }
            }

  LINE(697);
        {
            {CLUREF T_2_1;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[2 - 1];
            arg2.num = T_2_1.num;
            }
            }

  LINE(698);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(699);
        {
        err = g_envOPputs(e, STR__056num_040_075_040_050_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(700);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(701);
        {
        err = g_envOPputs(e, STR__056str_055_076size_040_041_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(702);
        {
        err = g_expr_plain(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(703);
        {
        err = g_envOPputl(e, STR__056str_055_076size_051_077_040false_040_072);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(704);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(705);
        {
        err = g_envOPputs(e, STR__041_050bcmp_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(706);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(707);
        {
        err = g_envOPputs(e, STR__056str_055_076data_054_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(708);
        {
        err = g_expr_plain(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(709);
        {
        err = g_envOPputs(e, STR__056str_055_076data_054_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(710);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(711);
        {
        err = g_envOPputl(e, STR__056str_055_076size_051_051_051_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(712);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(713);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_56;
    CLUREF T_1_57;
    CLUREF T_1_58;
    T_1_57.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_56.num = T_1_57.num;
    if (T_1_57.num) {
        T_1_58.num = ((op_name.str->size != STR_add.str->size)? false :
            !(bcmp(op_name.str->data, STR_add.str->data, op_name.str->size)));
        T_1_56.num = T_1_58.num;
    }
    if (T_1_56.num == true) {

  LINE(717);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(718);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(719);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(720);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(721);
        {
        err = g_envOPputs(e, STR__040_053_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(722);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(723);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(724);
        {
        err = g_envOPputs(e, STR__040if_040_050_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(725);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(726);
        {
        err = g_envOPputs(e, STR__056num_040_076_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(727);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(728);
        {
        err = g_envOPputs(e, STR__040_074_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(729);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(730);
        {
        err = g_envOPputl(e, STR__040_074_0400_051_040_174_174_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(731);
        {
        err = g_envOPputs(e, STR__040_040_040_040_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(732);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(733);
        {
        err = g_envOPputs(e, STR__056num_040_074_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(734);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(735);
        {
        err = g_envOPputs(e, STR__040_076_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(736);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(737);
        {
        err = g_envOPputl(e, STR__040_076_0400_051_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(738);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(739);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(740);
        {
        err = g_envOPputl(e, STR__040_075_040ERR_137overflow_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(741);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(742);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(743);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_59;
    CLUREF T_1_60;
    CLUREF T_1_61;
    T_1_60.num = ((type_name.str->size != STR_int.str->size)? false :
        !(bcmp(type_name.str->data, STR_int.str->data, type_name.str->size)));
    T_1_59.num = T_1_60.num;
    if (T_1_60.num) {
        T_1_61.num = ((op_name.str->size != STR_sub.str->size)? false :
            !(bcmp(op_name.str->data, STR_sub.str->data, op_name.str->size)));
        T_1_59.num = T_1_61.num;
    }
    if (T_1_59.num == true) {

  LINE(747);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(748);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(749);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(750);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(751);
        {
        err = g_envOPputs(e, STR__040_055_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(752);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(753);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(754);
        {
        err = g_envOPputs(e, STR__040if_040_050_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(755);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(756);
        {
        err = g_envOPputs(e, STR__056num_040_076_075_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(757);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(758);
        {
        err = g_envOPputs(e, STR__040_074_0400_040_046_046_040_050_055);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(759);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(760);
        {
        err = g_envOPputl(e, STR__051_040_074_0400_051_040_174_174_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(761);
        {
        err = g_envOPputs(e, STR__040_040_040_040_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(762);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(763);
        {
        err = g_envOPputs(e, STR__056num_040_074_075_0400_040_046_046_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(764);
        {
        CLUREF T_2_1;
        if (1 < 1 || 1 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[1 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(765);
        {
        err = g_envOPputs(e, STR__040_076_0400_040_046_046_040_050_055);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(766);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(767);
        {
        err = g_envOPputl(e, STR__051_040_076_0400_051_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(768);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(769);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(770);
        {
        err = g_envOPputl(e, STR__040_075_040ERR_137overflow_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(771);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(772);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(773);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_62;
    CLUREF T_1_63;
    CLUREF T_1_64;
    T_1_63.num = ((op_name.str->size != STR_addh.str->size)? false :
        !(bcmp(op_name.str->data, STR_addh.str->data, op_name.str->size)));
    T_1_62.num = T_1_63.num;
    if (T_1_63.num) {
        T_1_64.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        T_1_62.num = T_1_64.num;
    }
    if (T_1_62.num == true) {

  LINE(777);
        {
            {CLUREF T_2_1;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            arg1.num = T_2_1.num;
            }
            }

  LINE(778);
        {
            {CLUREF T_2_1;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[2 - 1];
            arg2.num = T_2_1.num;
            }
            }

  LINE(779);
        {
        err = g_envOPputl(e, STR__173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(780);
        {
        err = g_envOPputs(e, STR_if_040_050_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(781);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(782);
        {
        err = g_envOPputs(e, STR__056array_055_076int_137low_040_053_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(783);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(784);
        {
        err = g_envOPputs(e, STR__056array_055_076ext_137size_040_053_0401_051_040_074_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(785);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(786);
        {
        err = g_envOPputl(e, STR__056array_055_076int_137size_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(787);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(788);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(789);
        {
        err = g_envOPputs(e, STR__056array_055_076store_055_076data_133);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(790);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(791);
        {
        err = g_envOPputs(e, STR__056array_055_076int_137low_040_053_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(792);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(793);
        {
        err = g_envOPputs(e, STR__056array_055_076ext_137size_135_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(794);
        {
        err = g_expr2a(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(795);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(796);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(797);
        {
        err = g_envOPputs(e, STR__056array_055_076ext_137size_053_053_073_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(798);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(799);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137high_053_053_073_175);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(800);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(801);
        {
        err = g_envOPputl(e, STR_else_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(802);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(803);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(804);
        {
        err = g_envOPputs(e, STR__040_075_040arrayOPaddh_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(805);
        {
        err = g_expr_arg(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(806);
        {
        err = g_envOPputs(e, STR__054_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(807);
        {
        err = g_expr_arg(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(808);
        {
        err = g_envOPputl(e, STR__051_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(809);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(810);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(811);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__040_041_075_040ERR_137ok_051_040goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(813);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(814);
        {
        err = g_envOPputl(e, STR__175);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(815);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_65;
    CLUREF T_1_66;
    CLUREF T_1_67;
    T_1_66.num = ((op_name.str->size != STR_store.str->size)? false :
        !(bcmp(op_name.str->data, STR_store.str->data, op_name.str->size)));
    T_1_65.num = T_1_66.num;
    if (T_1_66.num) {
        T_1_67.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        T_1_65.num = T_1_67.num;
    }
    if (T_1_65.num == true) {

  LINE(819);
        {
            {CLUREF T_2_1;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            arg1.num = T_2_1.num;
            }
            }

  LINE(820);
        {
            {CLUREF T_2_1;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[2 - 1];
            arg2.num = T_2_1.num;
            }
            }

  LINE(821);
        {
            {CLUREF T_2_1;
            if (3 < 1 || 3 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[3 - 1];
            arg3.num = T_2_1.num;
            }
            }

  LINE(823);
        {
        err = g_envOPputl(e, STR__173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(824);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(825);
        {
        err = g_expr2(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(826);
        {
        err = g_envOPputs(e, STR__040_074_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(827);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(828);
        {
        err = g_envOPputs(e, STR__056array_055_076ext_137low_040_174_174_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(829);
        {
        err = g_expr2(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(830);
        {
        err = g_envOPputs(e, STR__040_076_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(831);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(832);
        {
        err = g_envOPputl(e, STR__056array_055_076ext_137high_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(833);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(834);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(835);
        {
        err = g_envOPputl(e, STR__040_075_040ERR_137bounds_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(836);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(838);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(839);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(840);
        {
        err = g_envOPputs(e, STR__056array_055_076store_055_076data_133);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(841);
        {
        err = g_expr2(e, arg2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(842);
        {
        err = g_envOPputs(e, STR__040_053_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(843);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(844);
        {
        err = g_envOPputs(e, STR__056array_055_076int_137low_040_055_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(845);
        {
        err = g_expr_plain(e, arg1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(846);
        {
        err = g_envOPputs(e, STR__056array_055_076ext_137low_135_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(847);
        {
        err = g_expr2a(e, arg3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(848);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(849);
        {
        err = g_envOPputl(e, STR__175);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(850);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_68;
    CLUREF T_1_69;
    CLUREF T_1_70;
    T_1_69.num = ((type_name.str->size != STR__137wordvec.str->size)? false :
        !(bcmp(type_name.str->data, STR__137wordvec.str->data, type_name.str->size)));
    T_1_68.num = T_1_69.num;
    if (T_1_69.num) {
        T_1_70.num = ((op_name.str->size != STR_fetch.str->size)? false :
            !(bcmp(op_name.str->data, STR_fetch.str->data, op_name.str->size)));
        T_1_68.num = T_1_70.num;
    }
    if (T_1_68.num == true) {

  LINE(854);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(855);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            arg1idn.num = T_2_3.num;
            }
            }

  LINE(863);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(864);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(865);
        {
        err = g_envOPputs(e, STR__040_074_0401_040_174_174_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(866);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(867);
        {
        err = g_envOPputs(e, STR__074_0742_051_040_076_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(868);
        {
        err = g_idn_plain(e, arg1idn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(869);
        {
        err = g_envOPputl(e, STR__056str_055_076size_051_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(870);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(871);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(872);
        {
        err = g_envOPputl(e, STR__040_075_040ERR_137bounds_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(873);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(874);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(875);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(876);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(877);
        {
        err = g_idn_plain(e, arg1idn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(878);
        {
        err = g_envOPputs(e, STR__056vec_055_076data_133);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(879);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(880);
        {
        err = g_envOPputl(e, STR__040_055_0401_135_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(899);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_71;
    T_1_71.num = ((op_name.str->size != STR_fetch.str->size)? false :
        !(bcmp(op_name.str->data, STR_fetch.str->data, op_name.str->size)));
    if (T_1_71.num == true) {

  LINE(904);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        T_2_2.num = ((type_name.str->size != STR__137vec.str->size)? false :
            !(bcmp(type_name.str->data, STR__137vec.str->data, type_name.str->size)));
        T_2_1.num = T_2_2.num;
        if (!T_2_2.num) {
            T_2_3.num = ((type_name.str->size != STR_sequence.str->size)? false :
                !(bcmp(type_name.str->data, STR_sequence.str->data, type_name.str->size)));
            T_2_1.num = T_2_3.num;
        }
        if (T_2_1.num == true) {

  LINE(905);
            {
            tail = STR__056vec;
            }
            }
        else {
        CLUREF T_2_4;
        T_2_4.num = ((type_name.str->size != STR__137bytevec.str->size)? false :
            !(bcmp(type_name.str->data, STR__137bytevec.str->data, type_name.str->size)));
        if (T_2_4.num == true) {

  LINE(907);
            {
            tail = STR__056str;
            }
            }
        else {
        CLUREF T_2_5;
        T_2_5.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        if (T_2_5.num == true) {

  LINE(909);
            {
            tail = STR__056array;
            }
            }
        else {

  LINE(910);
            {
            {
            ret_1->tf = false;
            }
            {signal (ERR_ok);}}
            }}}}/* end if */

  LINE(911);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(912);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            arg1idn.num = T_2_3.num;
            }
            }

  LINE(913);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(914);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(915);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        T_2_2.num = T_2_1.num ^ 1;
        if (T_2_2.num == true) {

  LINE(917);
            {
            err = g_envOPputs(e, STR__040_074_0401_040_174_174_040);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(919);
            {
            err = g_envOPputs(e, STR__040_074_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(920);
            {
            err = g_idn_plain(e, arg1idn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(921);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076ext_137low_040_174_174_040, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputs(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(923);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(924);
        {
        err = g_envOPputs(e, STR__040_076_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(925);
        {
        err = g_idn_plain(e, arg1idn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(926);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        T_2_2.num = T_2_1.num ^ 1;
        if (T_2_2.num == true) {

  LINE(928);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076size_040_051_040_173, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(930);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076ext_137high_040_051_040_173, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(932);
        {
        err = g_envOPindent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(933);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(934);
        {
        err = g_envOPputl(e, STR__040_075_040ERR_137bounds_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(935);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(936);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(937);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(938);
        {
        CLUREF T_2_1;
        T_2_1.num = ((type_name.str->size != STR__137bytevec.str->size)? false :
            !(bcmp(type_name.str->data, STR__137bytevec.str->data, type_name.str->size)));
        if (T_2_1.num == true) {

  LINE(939);
            {
            err = g_envOPputs(e, STR__056ch_040_075_040);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(940);
            {
            err = g_envOPputs(e, STR__056num_040_075_040);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(941);
        {
        err = g_idn_plain(e, arg1idn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(942);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = ((type_name.str->size != STR_array.str->size)? false :
            !(bcmp(type_name.str->data, STR_array.str->data, type_name.str->size)));
        T_2_2.num = T_2_1.num ^ 1;
        if (T_2_2.num == true) {

  LINE(944);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076data_133, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputs(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(945);
            {
            CLUREF T_3_1;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[2 - 1];
            err = g_expr2(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(946);
            {
            err = g_envOPputl(e, STR__040_055_0401_135_073);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(948);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076store_055_076data_133, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputs(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(949);
            {
            CLUREF T_3_1;
            if (2 < 1 || 2 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_3_1.num = args.vec->data[2 - 1];
            err = g_expr2(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(950);
            {
            err = g_envOPputs(e, STR__040_055_040);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(951);
            {
            err = g_idn_plain(e, arg1idn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(952);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076ext_137low_040_053_040, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputs(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(953);
            {
            err = g_idn_plain(e, arg1idn);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(954);
            {
            CLUREF T_3_1;
            err = stringOPconcat(tail, STR__055_076int_137low_135_073, &T_3_1);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_1);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(956);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {

  LINE(957);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }}}}}}}}}}}}}}}}}}}}}}}}}}/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qop ****/


extern errcode field_index();
extern errcode intOPsub();
CLUREF STR__135_073;
CLUREF STR__135_040_040_075_040;
CLUREF STR__056cell_055_076tag_040_075_075_040;
CLUREF STR__051_040;
CLUREF STR__040_075_040true_073_040else_040;
CLUREF STR__040_075_040false_073;
CLUREF STR__056cell_055_076tag_040_041_075_040;
CLUREF STR__040_075_040ERR_137wrong_137tag_073_040goto_040;
CLUREF STR__056cell_055_076value_073;
CLUREF STR_CellAlloc_050;
static int g_qsel_own_init = 0;

/**** BEGIN PROCEDURE g_qsel ****/

errcode g_qsel(e, exp, args, results, ret_1)
CLUREF e;
CLUREF exp;
CLUREF args;
CLUREF results;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF cop;
    CLUREF nm;
    CLUREF loc_of_sep;
    CLUREF prefix;
    CLUREF ta;
    CLUREF op;
    CLUREF ind;
    CLUREF residn;
    CLUREF argidn;
    CLUREF arg1idn;
        if (g_qsel_own_init == 0) {
        stringOPcons("get_", CLU_1, CLU_4, &STR_get_137);
        stringOPcons(".num = ", CLU_1, CLU_7, &STR__056num_040_075_040);
        stringOPcons(".vec->data[", CLU_1, CLU_11, &STR__056vec_055_076data_133);
        stringOPcons("];", CLU_1, CLU_2, &STR__135_073);
        stringOPcons("set_", CLU_1, CLU_4, &STR_set_137);
        stringOPcons("]  = ", CLU_1, CLU_5, &STR__135_040_040_075_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("is_", CLU_1, CLU_3, &STR_is_137);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(".cell->tag == ", CLU_1, CLU_14, &STR__056cell_055_076tag_040_075_075_040);
        stringOPcons(") ", CLU_1, CLU_2, &STR__051_040);
        stringOPcons(" = true; else ", CLU_1, CLU_14, &STR__040_075_040true_073_040else_040);
        stringOPcons(" = false;", CLU_1, CLU_9, &STR__040_075_040false_073);
        stringOPcons("value_", CLU_1, CLU_6, &STR_value_137);
        stringOPcons(".cell->tag != ", CLU_1, CLU_14, &STR__056cell_055_076tag_040_041_075_040);
        stringOPcons(") {", CLU_1, CLU_3, &STR__051_040_173);
        stringOPcons(" = ERR_wrong_tag; goto ", CLU_1, CLU_23, &STR__040_075_040ERR_137wrong_137tag_073_040goto_040);
        stringOPcons(";}", CLU_1, CLU_2, &STR__073_175);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons(".cell->value;", CLU_1, CLU_13, &STR__056cell_055_076value_073);
        stringOPcons("make_", CLU_1, CLU_5, &STR_make_137);
        stringOPcons("CellAlloc(", CLU_1, CLU_10, &STR_CellAlloc_050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        g_qsel_own_init = 1;
    }
    enter_proc(961);

  LINE(963);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.cell->tag == 20) T_1_2.num = true; else T_1_2.num = false;
    T_1_3.num = T_1_2.num ^ 1;
    if (T_1_3.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(965);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        err = exprOPget_abs(exp, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        if (T_1_1.cell->tag != 20) {err = ERR_wrong_tag; goto ex_0;}
        T_1_2.num = T_1_1.cell->value;
        cop.num = T_1_2.num;
        }
        }

  LINE(966);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = cop.vec->data[2];
    err = typespecOPget_abs(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    if (T_1_2.cell->tag == 7) T_1_3.num = true; else T_1_3.num = false;
    T_1_4.num = T_1_3.num ^ 1;
    if (T_1_4.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(968);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = cop.vec->data[0];
    err = g_qselop(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_3.num = T_1_2.num ^ 1;
    if (T_1_3.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(970);
    {
        {CLUREF T_1_1;
        T_1_1.num = cop.vec->data[0];
        nm.num = T_1_1.num;
        }
        }

  LINE(971);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.ch = '_';
        err = stringOPindexc(T_1_1, nm, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        loc_of_sep.num = T_1_2.num;
        }
        }

  LINE(972);
    {
        {CLUREF T_1_1;
        err = stringOPsubstr(nm, CLU_1, loc_of_sep, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        prefix.num = T_1_1.num;
        }
        }

  LINE(973);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        T_1_1.num = cop.vec->data[2];
        err = typespecOPget_abs(T_1_1, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        if (T_1_2.cell->tag != 7) {err = ERR_wrong_tag; goto ex_0;}
        T_1_3.num = T_1_2.cell->value;
        ta.num = T_1_3.num;
        }
        }

  LINE(974);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        T_1_1.num = ta.vec->data[1];
        err = field_index(nm, T_1_1, &T_1_2, &T_1_3);
        if (err != ERR_ok) goto ex_0;
        op.num = T_1_2.num;
        ind.num = T_1_3.num;
        }
        }

  LINE(976);
    {
    CLUREF T_1_1;
    T_1_1.num = ((prefix.str->size != STR_get_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_get_137.str->data, prefix.str->size)));
    if (T_1_1.num == true) {

  LINE(978);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(results, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(979);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(980);
        {
        err = g_envOPputs(e, STR__056num_040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(981);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = sequenceOPbottom(args, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(982);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(983);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        T_2_1.num = ind.num - 1;
         if ((T_2_1.num >= 0 && ind.num < 0 && (-1) < 0) || 
             (T_2_1.num <= 0 && ind.num > 0 && (-1) > 0)) {
            err = ERR_overflow;
            goto ex_0;}
        err = intOPunparse(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__056vec_055_076data_133, T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_3, STR__135_073, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_4);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(984);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(987);
    {
    CLUREF T_1_1;
    T_1_1.num = ((prefix.str->size != STR_set_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_set_137.str->data, prefix.str->size)));
    if (T_1_1.num == true) {

  LINE(989);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            arg1idn.num = T_2_3.num;
            }
            }

  LINE(990);
        {
        err = g_idn_plain(e, arg1idn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(991);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        T_2_1.num = ind.num - 1;
         if ((T_2_1.num >= 0 && ind.num < 0 && (-1) < 0) || 
             (T_2_1.num <= 0 && ind.num > 0 && (-1) > 0)) {
            err = ERR_overflow;
            goto ex_0;}
        err = intOPunparse(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__056vec_055_076data_133, T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_3, STR__135_040_040_075_040, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputs(e, T_2_4);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(992);
        {
        CLUREF T_2_1;
        if (2 < 1 || 2 > args.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_2_1.num = args.vec->data[2 - 1];
        err = g_expr2a(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(993);
        {
        err = g_envOPputl(e, STR__073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(994);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(997);
    {
    CLUREF T_1_1;
    T_1_1.num = ((prefix.str->size != STR_is_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_is_137.str->data, prefix.str->size)));
    if (T_1_1.num == true) {

  LINE(999);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1000);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(1001);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1002);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = intOPunparse(ind, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__056cell_055_076tag_040_075_075_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__051_040, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputs(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1003);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(results, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1004);
        {
        err = g_envOPputs(e, STR__040_075_040true_073_040else_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1005);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(results, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1006);
        {
        err = g_envOPputl(e, STR__040_075_040false_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1007);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(1010);
    {
    CLUREF T_1_1;
    T_1_1.num = ((prefix.str->size != STR_value_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_value_137.str->data, prefix.str->size)));
    if (T_1_1.num == true) {

  LINE(1012);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1013);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > args.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = args.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            argidn.num = T_2_3.num;
            }
            }

  LINE(1014);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1015);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = intOPunparse(ind, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__056cell_055_076tag_040_041_075_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__051_040_173, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputs(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1016);
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1017);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = exOPget_current_ex_label(&T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__040_075_040ERR_137wrong_137tag_073_040goto_040, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073_175, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1018);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(results, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2a(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1022);
        {
        err = g_envOPputs(e, STR__040_075_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1023);
        {
        err = g_idn_plain(e, argidn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1024);
        {
        err = g_envOPputl(e, STR__056cell_055_076value_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1025);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(1028);
    {
    CLUREF T_1_1;
    T_1_1.num = ((prefix.str->size != STR_make_137.str->size)? false :
        !(bcmp(prefix.str->data, STR_make_137.str->data, prefix.str->size)));
    if (T_1_1.num == true) {

  LINE(1030);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = intOPunparse(ind, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_CellAlloc_050, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__054_040, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputs(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1031);
        {
        CLUREF T_2_1;
        err = sequenceOPbottom(args, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = g_expr2a(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1032);
        {
        err = g_envOPputs(e, STR__054_040);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1033);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            if (1 < 1 || 1 > results.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = results.vec->data[1 - 1];
            err = exprOPget_abs(T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            if (T_2_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_0;}
            T_2_3.num = T_2_2.cell->value;
            residn.num = T_2_3.num;
            }
            }

  LINE(1034);
        {
        err = g_idn_plain(e, residn);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1035);
        {
        err = g_envOPputl(e, STR__051_073);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1036);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(1039);
    {
    {
    ret_1->tf = false;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qsel ****/


extern errcode idnOPget_str();
extern errcode intOPge();
extern errcode stringOPsize();
extern errcode charOPequal();
extern errcode stringOPfetch();

/**** BEGIN PROCEDURE is_temp ****/

errcode is_temp(i, ret_1)
CLUREF i;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF nm;
    enter_proc(1050);

  LINE(1051);
    {
        {CLUREF T_1_1;
        err = idnOPget_str(i, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        nm.num = T_1_1.num;
        }
        }

  LINE(1052);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    CLUREF T_1_7;
    CLUREF T_1_8;
    CLUREF T_1_9;
    CLUREF T_1_10;
    err = stringOPsize(nm, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    T_1_4.num = (T_1_3.num >= 5)? true : false;
    T_1_2.num = T_1_4.num;
    if (T_1_4.num) {
        err = stringOPfetch(nm, CLU_1, &T_1_5);
        if (err != ERR_ok) goto ex_0;
        T_1_6.ch = 'T';
        T_1_7.num = (T_1_5.ch == T_1_6.ch)? true : false;
        T_1_2.num = T_1_7.num;
    }
    T_1_1.num = T_1_2.num;
    if (T_1_2.num) {
        err = stringOPfetch(nm, CLU_2, &T_1_8);
        if (err != ERR_ok) goto ex_0;
        T_1_9.ch = '_';
        T_1_10.num = (T_1_8.ch == T_1_9.ch)? true : false;
        T_1_1.num = T_1_10.num;
    }
    if (T_1_1.num == true) {

  LINE(1055);
        {
        {
        ret_1->tf = true;
        }
        {signal (ERR_ok);}}
        }
    else {

  LINE(1057);
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }}/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE is_temp ****/


extern errcode exprOPget_typespec();
extern errcode oneofOPis_1();
extern errcode oneofOPvalue_1();
extern errcode g_body();
CLUREF STR_variant;
CLUREF STR_tagcase_072_040not_040select_041_077;
CLUREF STR_switch_040_050;
CLUREF STR__056cell_055_076tag_051_040_173;
CLUREF STR_case_040;
CLUREF STR__072_040;
CLUREF STR__040_173;
CLUREF STR_break_073;
CLUREF STR_default_072_040_173;
static int g_qtagcase_own_init = 0;

/**** BEGIN PROCEDURE g_qtagcase ****/

errcode g_qtagcase(e, stmt, ret_1)
CLUREF e;
CLUREF stmt;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF ty;
    CLUREF sel;
    CLUREF el0;
    CLUREF flist;
    CLUREF ta;
    CLUREF tagidn;
    CLUREF t;
    CLUREF nm;
    CLUREF junk;
    CLUREF ind;
    CLUREF dl;
    CLUREF this_temp;
    CLUREF objidn;
        if (g_qtagcase_own_init == 0) {
        stringOPcons("oneof", CLU_1, CLU_5, &STR_oneof);
        stringOPcons("variant", CLU_1, CLU_7, &STR_variant);
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("tagcase: not select!?", CLU_1, CLU_21, &STR_tagcase_072_040not_040select_041_077);
        stringOPcons("switch (", CLU_1, CLU_8, &STR_switch_040_050);
        stringOPcons(".cell->tag) {", CLU_1, CLU_13, &STR__056cell_055_076tag_051_040_173);
        stringOPcons("is_", CLU_1, CLU_3, &STR_is_137);
        stringOPcons("case ", CLU_1, CLU_5, &STR_case_040);
        stringOPcons(": ", CLU_1, CLU_2, &STR__072_040);
        stringOPcons(" {", CLU_1, CLU_2, &STR__040_173);
        stringOPcons(".num = ", CLU_1, CLU_7, &STR__056num_040_075_040);
        stringOPcons(".cell->value;", CLU_1, CLU_13, &STR__056cell_055_076value_073);
        stringOPcons("break;", CLU_1, CLU_6, &STR_break_073);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("default: {", CLU_1, CLU_10, &STR_default_072_040_173);
        g_qtagcase_own_init = 1;
    }
    enter_proc(1061);

  LINE(1062);
    {

  LINE(1063);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = stmt.vec->data[1];
            err = exprOPget_typespec(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_1;
            ty.num = T_3_2.num;
            }
            }

  LINE(1064);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        err = typespecOPget_abs(ty, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        if (T_3_1.cell->tag == 7) T_3_2.num = true; else T_3_2.num = false;
        if (T_3_2.num == true) {

  LINE(1065);
            {
                {CLUREF T_4_1;
                CLUREF T_4_2;
                err = typespecOPget_abs(ty, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                if (T_4_1.cell->tag != 7) {err = ERR_wrong_tag; goto ex_1;}
                T_4_2.num = T_4_1.cell->value;
                sel.num = T_4_2.num;
                }
                }

  LINE(1066);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            CLUREF T_4_3;
            CLUREF T_4_4;
            CLUREF T_4_5;
            CLUREF T_4_6;
            CLUREF T_4_7;
            CLUREF T_4_8;
            CLUREF T_4_9;
            T_4_2.num = sel.vec->data[0];
            err = duOPget_common(T_4_2, &T_4_3);
            if (err != ERR_ok) goto ex_1;
            T_4_4.num = ((T_4_3.str->size != STR_oneof.str->size)? false :
                !(bcmp(T_4_3.str->data, STR_oneof.str->data, T_4_3.str->size)));
            T_4_5.num = T_4_4.num ^ 1;
            T_4_1.num = T_4_5.num;
            if (T_4_5.num) {
                T_4_6.num = sel.vec->data[0];
                err = duOPget_common(T_4_6, &T_4_7);
                if (err != ERR_ok) goto ex_1;
                T_4_8.num = ((T_4_7.str->size != STR_variant.str->size)? false :
                    !(bcmp(T_4_7.str->data, STR_variant.str->data, T_4_7.str->size)));
                T_4_9.num = T_4_8.num ^ 1;
                T_4_1.num = T_4_9.num;
            }
            if (T_4_1.num == true) {

  LINE(1067);
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
            }
        else {

  LINE(1068);
            {
            {
            ret_1->tf = false;
            }
            {signal (ERR_ok);}}
            }}/* end if */

  LINE(1069);
        {
        err = g_envOPputl(e, STR__173);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1070);
        {
        CLUREF T_3_1;
        T_3_1.num = stmt.vec->data[1];
        err = g_expr0(e, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1071);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = stmt.vec->data[1];
            err = g_expr1(e, T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_1;
            el0.num = T_3_2.num;
            }
            }

  LINE(1072);
        {
            {CLUREF T_3_1;
            err = sequenceOPnew(&T_3_1);
            if (err != ERR_ok) goto ex_1;
            flist.num = T_3_1.num;
            }
            }

  LINE(1073);
        {
        CLUREF T_3_1;
        err = typespecOPget_abs(ty, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        switch (T_3_1.cell->tag) {
        case 7: 
             {CLUREF T_3_2;
            T_3_2.num = T_3_1.cell->value;
            ta.num = T_3_2.num;

  LINE(1075);
                {
                CLUREF T_4_1;
                T_4_1.num = ta.vec->data[1];
                flist.num = T_4_1.num;
                }
                break;
                }
        default: {

  LINE(1077);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            T_4_1.num = 501;
            err = compiler_logit(T_4_1, STR_tagcase_072_040not_040select_041_077, &T_4_2);
            if (err != ERR_ok) goto ex_1;
            }
        }
        }
        }

  LINE(1081);
        {
        err = g_envOPputs(e, STR_switch_040_050);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1082);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            if (1 < 1 || 1 > el0.vec->size ) {
                err = ERR_bounds;
                goto ex_1;}
            T_3_1.num = el0.vec->data[1 - 1];
            err = exprOPget_abs(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_1;
            if (T_3_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_1;}
            T_3_3.num = T_3_2.cell->value;
            tagidn.num = T_3_3.num;
            }
            }

  LINE(1083);
        {
        err = g_idn_plain(e, tagidn);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1084);
        {
        err = g_envOPputl(e, STR__056cell_055_076tag_051_040_173);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1086);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = stmt.vec->data[0];
            T_3_3.num = T_3_1.vec->size; 
            T_3_4 = T_3_1;
            for (T_3_2.num = 1; T_3_2.num <= T_3_3.num; T_3_2.num++) {
                t.num = T_3_4.vec->data[T_3_2.num - 1];

  LINE(1087);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                CLUREF T_4_4;
                    T_4_1.num = t.vec->data[2];
                    T_4_3.num = T_4_1.vec->size; 
                    T_4_4 = T_4_1;
                    for (T_4_2.num = 1; T_4_2.num <= T_4_3.num; T_4_2.num++) {
                        nm.num = T_4_4.vec->data[T_4_2.num - 1];

  LINE(1088);
                        {
                            {CLUREF T_5_1;
                            CLUREF T_5_2;
                            CLUREF T_5_3;
                            err = stringOPconcat(STR_is_137, nm, &T_5_1);
                            if (err != ERR_ok) goto ex_1;
                            err = field_index(T_5_1, flist, &T_5_2, &T_5_3);
                            if (err != ERR_ok) goto ex_1;
                            junk.num = T_5_2.num;
                            ind.num = T_5_3.num;
                            }
                            }

  LINE(1089);
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        CLUREF T_5_3;
                        err = intOPunparse(ind, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(STR_case_040, T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(T_5_2, STR__072_040, &T_5_3);
                        if (err != ERR_ok) goto ex_1;
                        err = g_envOPputl(e, T_5_3);
                        if (err != ERR_ok) goto ex_1;
                        }
                    }
                }
                end_inline_for_2:;

  LINE(1091);
                {
                err = g_envOPindent(e);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1092);
                {
                err = g_envOPputs(e, STR__040_173);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1093);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.num = t.vec->data[3];
                if (T_4_1.cell->tag == 1) T_4_2.num = true; else T_4_2.num = false;
                if (T_4_2.num == true) {

  LINE(1095);
                    {
                        {CLUREF T_5_1;
                        CLUREF T_5_2;
                        T_5_1.num = t.vec->data[3];
                        if (T_5_1.cell->tag != 1) {err = ERR_wrong_tag; goto ex_1;}
                        T_5_2.num = T_5_1.cell->value;
                        dl.num = T_5_2.num;
                        }
                        }

  LINE(1096);
                    {
                    CLUREF T_5_1;
                    T_5_1.num = dl.vec->data[1];
                    err = tvOPdecl_next(e, T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(1097);
                    {
                        {CLUREF T_5_1;
                        CLUREF T_5_2;
                        T_5_1.num = dl.vec->data[1];
                        err = tvOPidn_next(T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        this_temp.num = T_5_2.num;
                        }
                        }

  LINE(1098);
                    {
                    err = g_expr_plain(e, this_temp);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(1100);
                    {
                    err = g_envOPputs(e, STR__056num_040_075_040);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(1101);
                    {
                        {CLUREF T_5_1;
                        CLUREF T_5_2;
                        CLUREF T_5_3;
                        if (1 < 1 || 1 > el0.vec->size ) {
                            err = ERR_bounds;
                            goto ex_1;}
                        T_5_1.num = el0.vec->data[1 - 1];
                        err = exprOPget_abs(T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        if (T_5_2.cell->tag != 13) {err = ERR_wrong_tag; goto ex_1;}
                        T_5_3.num = T_5_2.cell->value;
                        objidn.num = T_5_3.num;
                        }
                        }

  LINE(1102);
                    {
                    err = g_idn_plain(e, objidn);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(1103);
                    {
                    err = g_envOPputl(e, STR__056cell_055_076value_073);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(1104);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    T_5_1.num = dl.vec->data[0];
                    err = sequenceOPbottom(T_5_1, &T_5_2);
                    if (err != ERR_ok) goto ex_1;
                    err = g_c_assn(e, T_5_2, this_temp);
                    if (err != ERR_ok) goto ex_1;
                    }
                    }
                    }/* end if */

  LINE(1111);
                {
                err = g_envOPindent(e);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1112);
                {
                err = g_envOPnewline(e);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1113);
                {
                CLUREF T_4_1;
                T_4_1.num = t.vec->data[0];
                err = g_body(e, T_4_1);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1114);
                {
                err = g_envOPputl(e, STR_break_073);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1115);
                {
                err = g_envOPputl(e, STR__175);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1116);
                {
                err = g_envOPoutdent(e);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(1117);
                {
                err = g_envOPoutdent(e);
                if (err != ERR_ok) goto ex_1;
                }
            }
        }
        end_inline_for_1:;

  LINE(1119);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = stmt.vec->data[2];
        if (T_3_1.cell->tag == 1) T_3_2.num = true; else T_3_2.num = false;
        if (T_3_2.num == true) {

  LINE(1120);
            {
            err = g_envOPputl(e, STR_default_072_040_173);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(1121);
            {
            err = g_envOPindent(e);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(1122);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            T_4_1.num = stmt.vec->data[2];
            if (T_4_1.cell->tag != 1) {err = ERR_wrong_tag; goto ex_1;}
            T_4_2.num = T_4_1.cell->value;
            err = g_body(e, T_4_2);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(1123);
            {
            err = g_envOPoutdent(e);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(1124);
            {
            err = g_envOPnewline(e);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(1125);
            {
            err = g_envOPputs(e, STR__175);
            if (err != ERR_ok) goto ex_1;
            }
            }
            }/* end if */

  LINE(1127);
        {
        err = g_envOPensure_newline(e);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1128);
        {
        err = g_envOPputl(e, STR__175);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(1129);
        {
        err = g_envOPputl(e, STR__175);
        if (err != ERR_ok) goto ex_1;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(1132);
    {
    {
    ret_1->tf = true;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE g_qtagcase ****/


extern errcode g_string_name();
CLUREF STR_g_137expr_137plain_040doesn_047t_040support_040this_040expr;
static int g_expr_plain_own_init = 0;

/**** BEGIN PROCEDURE g_expr_plain ****/

errcode g_expr_plain(e, exp)
CLUREF e;
CLUREF exp;
    {
    errcode err;
    errcode ecode2;
    CLUREF i;
    CLUREF s;
        if (g_expr_plain_own_init == 0) {
        stringOPcons("g_expr_plain doesn\'t support this expr", CLU_1, CLU_38, &STR_g_137expr_137plain_040doesn_047t_040support_040this_040expr);
        g_expr_plain_own_init = 1;
    }
    enter_proc(1135);

  LINE(1136);
    {
    CLUREF T_1_1;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_1.cell->tag) {
    case 13: 
         {CLUREF T_1_2;
        T_1_2.num = T_1_1.cell->value;
        i.num = T_1_2.num;

  LINE(1138);
            {
            err = g_idn_plain(e, i);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 24: 
         {CLUREF T_1_3;
        T_1_3.num = T_1_1.cell->value;
        s.num = T_1_3.num;

  LINE(1140);
            {
            err = g_string_name(e, s);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 19: 
    case 5: 
    case 15: 
    case 21: 
    case 7: 
         {

  LINE(1142);
            {
            err = g_const_expr(e, exp);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    default: {

  LINE(1144);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = 502;
        err = compiler_logit(T_2_1, STR_g_137expr_137plain_040doesn_047t_040support_040this_040expr, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(1145);
        {
        err = expr_print(exp, CLU_19);
        if (err != ERR_ok) goto ex_0;
        }
    }
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE g_expr_plain ****/


CLUREF STR__056num;
static int g_expr2a_own_init = 0;

/**** BEGIN PROCEDURE g_expr2a ****/

errcode g_expr2a(e, exp)
CLUREF e;
CLUREF exp;
    {
    errcode err;
    errcode ecode2;
    CLUREF i;
        if (g_expr2a_own_init == 0) {
        stringOPcons(".num", CLU_1, CLU_4, &STR__056num);
        g_expr2a_own_init = 1;
    }
    enter_proc(1154);

  LINE(1155);
    {
    CLUREF T_1_1;
    err = exprOPget_abs(exp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_1.cell->tag) {
    case 13: 
         {CLUREF T_1_2;
        T_1_2.num = T_1_1.cell->value;
        i.num = T_1_2.num;

  LINE(1157);
            {
            err = g_idn_plain(e, i);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(1158);
            {
            err = g_envOPputs(e, STR__056num);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    default: {

  LINE(1160);
        {
        err = g_expr2(e, exp);
        if (err != ERR_ok) goto ex_0;
        }
    }
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE g_expr2a ****/

