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

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

extern errcode compiler_logit();
extern errcode stringOPconcat();
extern errcode intOPunparse();
extern errcode stmtOPget_line();
extern errcode g_envOPset_lineno();
extern errcode stmt_print();
extern errcode tvOPenter();
extern errcode stmtOPget_abs();
extern errcode dbg_infoOPactive();
extern errcode g_decl_debug();
extern errcode g_declinit();
extern errcode g_assn();
extern errcode g_sinvoke();
extern errcode g_while();
extern errcode g_for();
extern errcode g_if();
extern errcode g_tagcase();
extern errcode g_return();
extern errcode g_yield();
extern errcode g_signal();
extern errcode g_exit();
extern errcode g_break();
extern errcode g_continue();
extern errcode g_beginend();
extern errcode g_except();
extern errcode g_resignal();
extern errcode tvOPleave();
extern errcode g_envOPnewline();
CLUREF STR__012_057_052_052_052_052_040;
CLUREF STR__040_052_052_052_052_057_012;
static int g_stmt_own_init = 0;

/**** BEGIN PROCEDURE g_stmt ****/

errcode g_stmt(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
    CLUREF sa;
        if (g_stmt_own_init == 0) {
        stringOPcons("\n/**** ", CLU_1, CLU_7, &STR__012_057_052_052_052_052_040);
        stringOPcons(" ****/\n", CLU_1, CLU_7, &STR__040_052_052_052_052_057_012);
        g_stmt_own_init = 1;
    }
    enter_proc(7);

  LINE(8);
    {
    if (false == true) {

  LINE(9);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        CLUREF T_2_5;
        T_2_1.num = 800;
        err = stmtOPget_line(s, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = intOPunparse(T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__012_057_052_052_052_052_040, T_2_3, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_4, STR__040_052_052_052_052_057_012, &T_2_5);
        if (err != ERR_ok) goto ex_0;
        err = compiler_logit(T_2_1, T_2_5);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(10);
    {
    CLUREF T_1_1;
    err = stmtOPget_line(s, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPset_lineno(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(11);
    {
    if (false == true) {
        {
        err = stmt_print(s);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(12);
    {
    err = tvOPenter();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(13);
    {
    CLUREF T_1_1;
    err = stmtOPget_abs(s, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    switch (T_1_1.cell->tag) {
    case 6: 
         {CLUREF T_1_2;
        T_1_2.num = T_1_1.cell->value;
        sa.num = T_1_2.num;

  LINE(16);
            {
            CLUREF T_2_1;
            err = dbg_infoOPactive(&T_2_1);
            if (err != ERR_ok) goto ex_0;
            if (T_2_1.num == true) {

  LINE(17);
                {
                err = g_decl_debug(e, sa);
                if (err != ERR_ok) goto ex_0;
                }
                }
                }/* end if */
            break;
            }
    case 7: 
         {CLUREF T_1_3;
        T_1_3.num = T_1_1.cell->value;
        sa.num = T_1_3.num;

  LINE(20);
            {
            err = g_declinit(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 1: 
         {CLUREF T_1_4;
        T_1_4.num = T_1_1.cell->value;
        sa.num = T_1_4.num;

  LINE(22);
            {
            err = g_assn(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 13: 
         {CLUREF T_1_5;
        T_1_5.num = T_1_1.cell->value;
        sa.num = T_1_5.num;

  LINE(24);
            {
            err = g_sinvoke(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 19: 
         {CLUREF T_1_6;
        T_1_6.num = T_1_1.cell->value;
        sa.num = T_1_6.num;

  LINE(26);
            {
            err = g_while(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 10: 
         {CLUREF T_1_7;
        T_1_7.num = T_1_1.cell->value;
        sa.num = T_1_7.num;

  LINE(28);
            {
            err = g_for(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 12: 
         {CLUREF T_1_8;
        T_1_8.num = T_1_1.cell->value;
        sa.num = T_1_8.num;

  LINE(30);
            {
            err = g_if(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 18: 
         {CLUREF T_1_9;
        T_1_9.num = T_1_1.cell->value;
        sa.num = T_1_9.num;

  LINE(32);
            {
            err = g_tagcase(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 15: 
         {CLUREF T_1_10;
        T_1_10.num = T_1_1.cell->value;
        sa.num = T_1_10.num;

  LINE(34);
            {
            err = g_return(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 20: 
         {CLUREF T_1_11;
        T_1_11.num = T_1_1.cell->value;
        sa.num = T_1_11.num;

  LINE(36);
            {
            err = g_yield(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 16: 
         {CLUREF T_1_12;
        T_1_12.num = T_1_1.cell->value;
        sa.num = T_1_12.num;

  LINE(38);
            {
            err = g_signal(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 9: 
         {CLUREF T_1_13;
        T_1_13.num = T_1_1.cell->value;
        sa.num = T_1_13.num;

  LINE(40);
            {
            err = g_exit(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 4: 
         {

  LINE(42);
            {
            err = g_break(e);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 5: 
         {

  LINE(44);
            {
            err = g_continue(e);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 3: 
         {CLUREF T_1_14;
        T_1_14.num = T_1_1.cell->value;
        sa.num = T_1_14.num;

  LINE(46);
            {
            err = g_beginend(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 8: 
         {CLUREF T_1_15;
        T_1_15.num = T_1_1.cell->value;
        sa.num = T_1_15.num;

  LINE(48);
            {
            err = g_except(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    case 14: 
         {CLUREF T_1_16;
        T_1_16.num = T_1_1.cell->value;
        sa.num = T_1_16.num;

  LINE(50);
            {
            err = g_resignal(e, sa);
            if (err != ERR_ok) goto ex_0;
            }
            break;
            }
    default: {
    }
    }
    }

  LINE(53);
    {
    err = tvOPleave();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(54);
    {
    err = g_envOPnewline(e);
    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_stmt ****/


extern errcode sequenceOPelements();
extern errcode g_decl();

/**** BEGIN PROCEDURE g_decllist ****/

errcode g_decllist(e, decls)
CLUREF e;
CLUREF decls;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_d;
    enter_proc(57);

  LINE(59);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = decls.vec->size; 
        T_1_3 = decls;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_d.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(60);
            {
            err = g_decl(e, each_d);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(61);
            {
            err = g_envOPnewline(e);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;
    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_decllist ****/


extern errcode recordOPget_1();
extern errcode g_decl_typespec();
extern errcode recordOPget_2();
extern errcode idnlit();

/**** BEGIN PROCEDURE g_decl ****/

errcode g_decl(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_i;
    enter_proc(65);

  LINE(67);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_i.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(68);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            T_2_1.num = stmnt.vec->data[1];
            err = idnlit(each_i, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            err = g_decl_typespec(e, T_2_1, T_2_2);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;
    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_decl ****/


extern errcode g_idn_plain();
extern errcode g_envOPputl();
CLUREF STR__056num_040_075_040UNINIT_073;
static int g_decl_debug_own_init = 0;

/**** BEGIN PROCEDURE g_decl_debug ****/

errcode g_decl_debug(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_i;
        if (g_decl_debug_own_init == 0) {
        stringOPcons(".num = UNINIT;", CLU_1, CLU_14, &STR__056num_040_075_040UNINIT_073);
        g_decl_debug_own_init = 1;
    }
    enter_proc(72);

  LINE(74);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_i.num = T_1_4.vec->data[T_1_2.num - 1];

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

  LINE(76);
            {
            err = g_envOPputl(e, STR__056num_040_075_040UNINIT_073);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;
    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_decl_debug ****/


extern errcode g_envOPputs();
extern errcode g_envOPindent();
extern errcode g_expr0();
extern errcode recordOPget_3();
extern errcode g_expr1();
extern errcode g_c_assn();
extern errcode sequenceOPfetch();
extern errcode intOPadd();
extern errcode g_anys();
extern errcode g_envOPoutdent();
CLUREF STR__173;
CLUREF STR__175;
static int g_declinit_own_init = 0;

/**** BEGIN PROCEDURE g_declinit ****/

errcode g_declinit(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF el;
    CLUREF i;
    CLUREF d;
    CLUREF each_idn;
        if (g_declinit_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_declinit_own_init = 1;
    }
    enter_proc(80);

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

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

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

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

  LINE(88);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[2];
    err = g_expr0(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(89);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = stmnt.vec->data[2];
        err = g_expr1(e, T_1_1, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        el.num = T_1_2.num;
        }
        }

  LINE(90);
    {
        {i.num = 1;
        }
        }

  LINE(91);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[1];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            d.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(92);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            CLUREF T_2_4;
                T_2_1.num = d.vec->data[0];
                T_2_3.num = T_2_1.vec->size; 
                T_2_4 = T_2_1;
                for (T_2_2.num = 1; T_2_2.num <= T_2_3.num; T_2_2.num++) {
                    each_idn.num = T_2_4.vec->data[T_2_2.num - 1];

  LINE(93);
                    {
                    CLUREF T_3_1;
                    if (i.num < 1 || i.num > el.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_3_1.num = el.vec->data[i.num - 1];
                    err = g_c_assn(e, each_idn, T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(98);
                    {
                    CLUREF T_3_1;
                    T_3_1.num = i.num + 1;
                     if ((T_3_1.num > 0 && i.num < 0 && 1 < 0) || 
                         (T_3_1.num < 0 && i.num > 0 && 1 > 0)) {
                        err = ERR_overflow;
                        goto ex_0;}
                    i.num = T_3_1.num;
                    }
                }
            }
            end_inline_for_2:;
        }
    }
    end_inline_for_1:;

  LINE(101);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[0];
    err = g_anys(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(104);
    {
    err = g_envOPoutdent(e);
    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_declinit ****/


extern errcode sequenceOPsize();
extern errcode sequenceOPnew();
extern errcode sequenceOPindexes();
extern errcode intOPfrom_to();
extern errcode exprOPget_abs();
extern errcode idnOPsimilar();
extern errcode exprOPget_typespec();
extern errcode tvOPdecl_next();
extern errcode tvOPidn_next();
extern errcode sequenceOPaddh();
extern errcode oneofOPmake_2();
extern errcode oneofOPmake_1();
extern errcode oneofOPis_2();
extern errcode g_expr_plain();
extern errcode oneofOPvalue_2();
extern errcode seq_extend();
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__040_075_040;
CLUREF STR__073;
static int g_assn_own_init = 0;

/**** BEGIN PROCEDURE g_assn ****/

errcode g_assn(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_e;
    CLUREF rsize;
    CLUREF altlist;
    CLUREF ind;
    CLUREF ind2;
    CLUREF i;
    CLUREF et;
    CLUREF tvi;
    CLUREF ex;
    CLUREF newright;
    CLUREF each_idn;
        if (g_assn_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(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_assn_own_init = 1;
    }
    enter_proc(107);

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

  LINE(114);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[2];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

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

  LINE(122);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = stmnt.vec->data[2];
        T_1_2.num = T_1_1.vec->size;
        rsize.num = T_1_2.num;
        }
        }

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

  LINE(124);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_1.num = stmnt.vec->data[1];
        T_1_3.num = T_1_1.vec->size; 
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            ind.num = T_1_2.num;

  LINE(125);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
                T_2_2.num = rsize.num;
                for (T_2_1.num = ind.num; T_2_1.num <= T_2_2.num; T_2_1.num++) {
                    ind2.num = T_2_1.num;

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

  LINE(128);
                            {
                            CLUREF T_4_1;
                            CLUREF T_4_2;
                            CLUREF T_4_3;
                            T_4_1.num = stmnt.vec->data[1];
                            if (ind.num < 1 || ind.num > T_4_1.vec->size ) {
                                err = ERR_bounds;
                                goto ex_0;}
                            T_4_2.num = T_4_1.vec->data[ind.num - 1];
                            err = idnOPsimilar(T_4_2, i, &T_4_3);
                            if (err != ERR_ok) goto ex_0;
                            if (T_4_3.num == true) {

  LINE(130);
                                {
                                    {CLUREF T_5_1;
                                    CLUREF T_5_2;
                                    CLUREF T_5_3;
                                    T_5_1.num = stmnt.vec->data[2];
                                    if (ind2.num < 1 || ind2.num > T_5_1.vec->size ) {
                                        err = ERR_bounds;
                                        goto ex_0;}
                                    T_5_2.num = T_5_1.vec->data[ind2.num - 1];
                                    err = exprOPget_typespec(T_5_2, &T_5_3);
                                    if (err != ERR_ok) goto ex_0;
                                    et.num = T_5_3.num;
                                    }
                                    }

  LINE(131);
                                {
                                err = tvOPdecl_next(e, et);
                                if (err != ERR_ok) goto ex_0;
                                }

  LINE(132);
                                {
                                    {CLUREF T_5_1;
                                    err = tvOPidn_next(et, &T_5_1);
                                    if (err != ERR_ok) goto ex_0;
                                    tvi.num = T_5_1.num;
                                    }
                                    }

  LINE(133);
                                {
                                CLUREF T_5_1;
                                CLUREF T_5_2;
                                CellAlloc(2, tvi.num, T_5_1);
                                err = sequenceOPaddh(altlist, T_5_1, &T_5_2);
                                if (err != ERR_ok) goto ex_0;
                                altlist.num = T_5_2.num;
                                }
                                }
                            else {

  LINE(135);
                                {
                                CLUREF T_5_1;
                                CLUREF T_5_2;
                                CellAlloc(1, nil, T_5_1);
                                err = sequenceOPaddh(altlist, T_5_1, &T_5_2);
                                if (err != ERR_ok) goto ex_0;
                                altlist.num = T_5_2.num;
                                }
                                }}/* end if */
                            break;
                            }
                    default: {

  LINE(138);
                        {
                        CLUREF T_4_1;
                        CLUREF T_4_2;
                        CellAlloc(1, nil, T_4_1);
                        err = sequenceOPaddh(altlist, T_4_1, &T_4_2);
                        if (err != ERR_ok) goto ex_0;
                        altlist.num = T_4_2.num;
                        }
                    }
                    }
                    }
                }
            }
            end_inline_for_3:;
        }
    }
    end_inline_for_2:;

  LINE(143);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
        T_1_2.num = altlist.vec->size; 
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            ind.num = T_1_1.num;

  LINE(144);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            if (ind.num < 1 || ind.num > altlist.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_1.num = altlist.vec->data[ind.num - 1];
            if (T_2_1.cell->tag == 2) T_2_2.num = true; else T_2_2.num = false;
            if (T_2_2.num == true) {

  LINE(146);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                if (ind.num < 1 || ind.num > altlist.vec->size ) {
                    err = ERR_bounds;
                    goto ex_0;}
                T_3_1.num = altlist.vec->data[ind.num - 1];
                if (T_3_1.cell->tag != 2) {err = ERR_wrong_tag; goto ex_0;}
                T_3_2.num = T_3_1.cell->value;
                err = g_expr_plain(e, T_3_2);
                if (err != ERR_ok) goto ex_0;
                }

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

  LINE(148);
                {
                    {CLUREF T_3_1;
                    CLUREF T_3_2;
                    T_3_1.num = stmnt.vec->data[2];
                    if (ind.num < 1 || ind.num > T_3_1.vec->size ) {
                        err = ERR_bounds;
                        goto ex_0;}
                    T_3_2.num = T_3_1.vec->data[ind.num - 1];
                    ex.num = T_3_2.num;
                    }
                    }

  LINE(149);
                {
                CLUREF T_3_1;
                err = exprOPget_abs(ex, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                switch (T_3_1.cell->tag) {
                case 13: 
                     {CLUREF T_3_2;
                    T_3_2.num = T_3_1.cell->value;
                    i.num = T_3_2.num;

  LINE(151);
                        {
                        err = g_idn_plain(e, i);
                        if (err != ERR_ok) goto ex_0;
                        }
                        break;
                        }
                default: {
                }
                }
                }

  LINE(154);
                {
                err = g_envOPputl(e, STR__073);
                if (err != ERR_ok) goto ex_0;
                }
                }
                }/* end if */
        }
    }
    end_inline_for_4:;

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

  LINE(162);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[2];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(163);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            err = g_expr1(e, each_e, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            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(newright, T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            newright.num = T_2_2.num;
            }
        }
    }
    end_inline_for_5:;

  LINE(166);
    {
        {i.num = 1;
        }
        }

  LINE(167);
    {
    CLUREF T_2_1;
    CLUREF T_2_2;
    CLUREF T_2_3;
    CLUREF T_2_4;
        T_2_1.num = stmnt.vec->data[1];
        T_2_3.num = T_2_1.vec->size; 
        T_2_4 = T_2_1;
        for (T_2_2.num = 1; T_2_2.num <= T_2_3.num; T_2_2.num++) {
            each_idn.num = T_2_4.vec->data[T_2_2.num - 1];

  LINE(170);
            {
            CLUREF T_4_1;
            if (i.num < 1 || i.num > altlist.vec->size ) {
                err = ERR_bounds;
                goto ex_2;}
            T_4_1.num = altlist.vec->data[i.num - 1];
            switch (T_4_1.cell->tag) {
            case 1: 
                 {

  LINE(173);
                    {
                    CLUREF T_5_1;
                    if (i.num < 1 || i.num > newright.vec->size ) {
                        err = ERR_bounds;
                        goto ex_2;}
                    T_5_1.num = newright.vec->data[i.num - 1];
                    err = g_c_assn(e, each_idn, T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }
                    break;
                    }
            case 2: 
                 {

  LINE(176);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    if (i.num < 1 || i.num > altlist.vec->size ) {
                        err = ERR_bounds;
                        goto ex_2;}
                    T_5_1.num = altlist.vec->data[i.num - 1];
                    if (T_5_1.cell->tag != 2) {err = ERR_wrong_tag; goto ex_2;}
                    T_5_2.num = T_5_1.cell->value;
                    err = g_c_assn(e, each_idn, T_5_2);
                    if (err != ERR_ok) goto ex_2;
                    }
                    break;
                    }
            }
            }
                goto end_2;
                ex_2:
                    if ((err == ERR_bounds)) {

  LINE(180);
                        {
                        CLUREF T_4_1;
                        if (i.num < 1 || i.num > newright.vec->size ) {
                            err = ERR_bounds;
                            goto ex_1;}
                        T_4_1.num = newright.vec->data[i.num - 1];
                        err = g_c_assn(e, each_idn, T_4_1);
                        if (err != ERR_ok) goto ex_1;
                        }
                    }
                    else {
                        goto ex_1;
                    }
                end_2:;

  LINE(182);
            {
            CLUREF T_3_1;
            T_3_1.num = i.num + 1;
             if ((T_3_1.num > 0 && i.num < 0 && 1 < 0) || 
                 (T_3_1.num < 0 && i.num > 0 && 1 > 0)) {
                err = ERR_overflow;
                goto ex_1;}
            i.num = T_3_1.num;
            }
        }
    }
    end_inline_for_6:;
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(185);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[0];
    err = g_anys(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(186);
    {
    err = g_envOPputl(e, STR__175);
    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_assn ****/


extern errcode exprOPcreate();
extern errcode oneofOPmake_16();
extern errcode g_einvoke();
static int g_sinvoke_own_init = 0;

/**** BEGIN PROCEDURE g_sinvoke ****/

errcode g_sinvoke(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF exp;
        if (g_sinvoke_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_sinvoke_own_init = 1;
    }
    enter_proc(189);

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

  LINE(191);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        CLUREF T_1_4;
        CellAlloc(16, stmnt.num, T_1_1);
        T_1_2.num = stmnt.vec->data[0];
        err = exprOPget_typespec(T_1_2, &T_1_3);
        if (err != ERR_ok) goto ex_0;
        err = exprOPcreate(T_1_1, T_1_3, &T_1_4);
        if (err != ERR_ok) goto ex_0;
        exp.num = T_1_4.num;
        }
        }

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

  LINE(193);
    {
    CLUREF T_1_1;
    err = g_einvoke(e, stmnt, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(194);
    {
    err = g_envOPputl(e, STR__175);
    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_sinvoke ****/



/**** BEGIN PROCEDURE g_temp_decl ****/

errcode g_temp_decl(e, n)
CLUREF e;
CLUREF n;
    {
    errcode err;
    errcode ecode2;
    enter_proc(197);

  LINE(198);
    {
    {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_temp_decl ****/


extern errcode loop_contextOPenter_while();
extern errcode g_expr2();
extern errcode sequenceOPbottom();
extern errcode g_body();
extern errcode loop_contextOPget_current_while_count();
extern errcode g_envOPensure_newline();
extern errcode loop_contextOPleave();
CLUREF STR_for_040_050_073_073_051_040_173;
CLUREF STR_if_040_050;
CLUREF STR__040_041_075_040true_051_040_173_040break_073_040_175;
CLUREF STR_end_137while_137;
CLUREF STR__072_073;
static int g_while_own_init = 0;

/**** BEGIN PROCEDURE g_while ****/

errcode g_while(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF el;
    CLUREF n;
        if (g_while_own_init == 0) {
        stringOPcons("for (;;) {", CLU_1, CLU_10, &STR_for_040_050_073_073_051_040_173);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != true) { break; }", CLU_1, CLU_20, &STR__040_041_075_040true_051_040_173_040break_073_040_175);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("end_while_", CLU_1, CLU_10, &STR_end_137while_137);
        stringOPcons(":;", CLU_1, CLU_2, &STR__072_073);
        g_while_own_init = 1;
    }
    enter_proc(201);

  LINE(207);
    {
    err = loop_contextOPenter_while();
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(210);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[1];
    err = g_expr0(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(211);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = stmnt.vec->data[1];
        err = g_expr1(e, T_1_1, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        el.num = T_1_2.num;
        }
        }

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

  LINE(213);
    {
    CLUREF T_1_1;
    err = sequenceOPbottom(el, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = g_expr2(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(215);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[0];
    err = g_body(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(218);
    {
    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_137while_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(219);
    {
    err = g_envOPensure_newline(e);
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(221);
    {
    err = loop_contextOPleave();
    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_while ****/


extern errcode g_inline_iter();
extern errcode g_expr_arg0();
extern errcode boolOPnot();
extern errcode g_qinv_test();
extern errcode g_inv0();
extern errcode g_expr_arg1();
extern errcode ibOPnext_name();
extern errcode current_applyOPis_iter();
extern errcode g_locals();
extern errcode g_qiinv();
extern errcode g_inv1();
extern errcode g_inv();
extern errcode g_expr_arg();
extern errcode ibOPbodies();
extern errcode g_err();
extern errcode exOPget_current_ex_label();
extern errcode current_applyOPget_val_count();
extern errcode intOPsub();
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_body_137ctrl_137req_040_075_040false_073;
CLUREF STR__054_040;
CLUREF STR__054_040locals_054_040iecode_051_073;
CLUREF STR__054_040_046locals_054_040_046locals_056ecode2_051_073;
CLUREF STR__040_041_075_040ERR_137ok_051_040_173;
CLUREF STR__040_075_075_040ERR_137iterbodyreturn_051_040_173signal_050ERR_137iterbodyreturn_051_073_175;
CLUREF STR__040_075_075_040ERR_137iterbodysignal_051_040_173signal_050ERR_137iterbodysignal_051_073_175;
CLUREF STR__040_075_075_040ERR_137break_051_040;
CLUREF STR__040_075_040ERR_137ok_073;
CLUREF STR__040_075_075_040ERR_137iterbodyexit_051_040;
CLUREF STR__040_075_040_052iecode_073;
CLUREF STR__040_041_075_040ERR_137ok_051_040;
CLUREF STR_goto_040;
CLUREF STR__040_075_075_040ERR_137iterbodyexit_051_040_173signal_050ERR_137iterbodyexit_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodyreturn_051_040_173signal_050ERR_137iteriterbodyreturn_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173signal_050ERR_137iteriterbodysignal_051_073_175;
CLUREF STR__040_075_075_040ERR_137break_040_046_046_040_041;
CLUREF STR_body_137ctrl_137req_051_040_173signal_050ERR_137break_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodyexit_040_046_046_040_041;
CLUREF STR_body_137ctrl_137req_051_040_173signal_050ERR_137iteriterbodyexit_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodyexit_051_040;
CLUREF STR__040_075_075_040ERR_137iterbodysignal_051_040_173;
CLUREF STR__052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iterbodysignal_051_073_175;
CLUREF STR__040_075_075_040ERR_137iterbodyexit_051_040_173;
CLUREF STR__052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iterbodyexit_051_073_175;
CLUREF STR_body_137ctrl_137req_040_075_075_040true_051_040_173;
CLUREF STR__040_075_075_040ERR_137iteriterbodyreturn_051_040_173signal_050ERR_137ok_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173signal_050locals_056ecode2_051_073_175;
CLUREF STR__040_075_040locals_056ecode2_073;
CLUREF STR_else_040_173;
CLUREF STR__040_075_075_040ERR_137break_051_040_173signal_050ERR_137break_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173;
CLUREF STR__040_040_040_040_040_040_052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iteriterbodysignal_051_073_175;
CLUREF STR__040_075_075_040ERR_137iteriterbodyexit_051_040_173;
CLUREF STR__040_040_040_040_040_040_052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iteriterbodyexit_051_073_175;
CLUREF STR__040_041_075_040ERR_137ok_051_040goto_040;
CLUREF STR__040_075_075_040ERR_137iterbodyreturn_051_040_173;
CLUREF STR_ret_137;
CLUREF STR__055_076num_040_075_040;
CLUREF STR_elist_133;
CLUREF STR__135_056num_073;
CLUREF STR_signal_050ERR_137ok_051_073_175;
CLUREF STR__040_075_075_040ERR_137iterbodysignal_051_040_173signal_050locals_056ecode2_051_073_175;
static int g_for_own_init = 0;

/**** BEGIN PROCEDURE g_for ****/

errcode g_for(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_arg;
    CLUREF el;
    CLUREF new_el;
    CLUREF quick;
    CLUREF proc_id;
    CLUREF ibname;
    CLUREF iterp;
    CLUREF gen_proc_id;
    CLUREF count;
    CLUREF i;
        if (g_for_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("body_ctrl_req = false;", CLU_1, CLU_22, &STR_body_137ctrl_137req_040_075_040false_073);
        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);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != ERR_ok) {", CLU_1, CLU_13, &STR__040_041_075_040ERR_137ok_051_040_173);
        CLU_string_size.num = 53;
        stringOPcons(" == ERR_iterbodyreturn) {signal(ERR_iterbodyreturn);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iterbodyreturn_051_040_173signal_050ERR_137iterbodyreturn_051_073_175);
        CLU_string_size.num = 53;
        stringOPcons(" == ERR_iterbodysignal) {signal(ERR_iterbodysignal);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iterbodysignal_051_040_173signal_050ERR_137iterbodysignal_051_073_175);
        stringOPcons(" == ERR_break) ", CLU_1, CLU_15, &STR__040_075_075_040ERR_137break_051_040);
        stringOPcons(" = ERR_ok;", CLU_1, CLU_10, &STR__040_075_040ERR_137ok_073);
        stringOPcons(" == ERR_iterbodyexit) ", CLU_1, CLU_22, &STR__040_075_075_040ERR_137iterbodyexit_051_040);
        stringOPcons(" = *iecode;", CLU_1, CLU_11, &STR__040_075_040_052iecode_073);
        stringOPcons(" != ERR_ok) ", CLU_1, CLU_12, &STR__040_041_075_040ERR_137ok_051_040);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons(" == ERR_iterbodyexit) {signal(ERR_iterbodyexit);}", CLU_1, CLU_49, &STR__040_075_075_040ERR_137iterbodyexit_051_040_173signal_050ERR_137iterbodyexit_051_073_175);
        CLU_string_size.num = 61;
        stringOPcons(" == ERR_iteriterbodyreturn) {signal(ERR_iteriterbodyreturn);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iteriterbodyreturn_051_040_173signal_050ERR_137iteriterbodyreturn_051_073_175);
        CLU_string_size.num = 61;
        stringOPcons(" == ERR_iteriterbodysignal) {signal(ERR_iteriterbodysignal);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173signal_050ERR_137iteriterbodysignal_051_073_175);
        stringOPcons(" == ERR_break && !", CLU_1, CLU_18, &STR__040_075_075_040ERR_137break_040_046_046_040_041);
        stringOPcons("body_ctrl_req) {signal(ERR_break);}", CLU_1, CLU_35, &STR_body_137ctrl_137req_051_040_173signal_050ERR_137break_051_073_175);
        stringOPcons(" == ERR_iteriterbodyexit && !", CLU_1, CLU_29, &STR__040_075_075_040ERR_137iteriterbodyexit_040_046_046_040_041);
        stringOPcons("body_ctrl_req) {signal(ERR_iteriterbodyexit);}", CLU_1, CLU_46, &STR_body_137ctrl_137req_051_040_173signal_050ERR_137iteriterbodyexit_051_073_175);
        stringOPcons(" == ERR_iteriterbodyexit) ", CLU_1, CLU_26, &STR__040_075_075_040ERR_137iteriterbodyexit_051_040);
        stringOPcons(" == ERR_iterbodysignal) {", CLU_1, CLU_25, &STR__040_075_075_040ERR_137iterbodysignal_051_040_173);
        CLU_string_size.num = 53;
        stringOPcons("*iecode = locals.ecode2; signal(ERR_iterbodysignal);}", CLU_1, CLU_string_size, &STR__052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iterbodysignal_051_073_175);
        stringOPcons(" == ERR_iterbodyexit) {", CLU_1, CLU_23, &STR__040_075_075_040ERR_137iterbodyexit_051_040_173);
        CLU_string_size.num = 51;
        stringOPcons("*iecode = locals.ecode2; signal(ERR_iterbodyexit);}", CLU_1, CLU_string_size, &STR__052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iterbodyexit_051_073_175);
        stringOPcons("body_ctrl_req == true) {", CLU_1, CLU_24, &STR_body_137ctrl_137req_040_075_075_040true_051_040_173);
        stringOPcons(" == ERR_iteriterbodyreturn) {signal(ERR_ok);}", CLU_1, CLU_45, &STR__040_075_075_040ERR_137iteriterbodyreturn_051_040_173signal_050ERR_137ok_051_073_175);
        CLU_string_size.num = 52;
        stringOPcons(" == ERR_iteriterbodysignal) {signal(locals.ecode2);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173signal_050locals_056ecode2_051_073_175);
        stringOPcons(" = locals.ecode2;", CLU_1, CLU_17, &STR__040_075_040locals_056ecode2_073);
        stringOPcons("else {", CLU_1, CLU_6, &STR_else_040_173);
        stringOPcons(" == ERR_break) {signal(ERR_break);}", CLU_1, CLU_35, &STR__040_075_075_040ERR_137break_051_040_173signal_050ERR_137break_051_073_175);
        stringOPcons(" == ERR_iteriterbodysignal) {", CLU_1, CLU_29, &STR__040_075_075_040ERR_137iteriterbodysignal_051_040_173);
        CLU_string_size.num = 63;
        stringOPcons("      *iecode = locals.ecode2; signal(ERR_iteriterbodysignal);}", CLU_1, CLU_string_size, &STR__040_040_040_040_040_040_052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iteriterbodysignal_051_073_175);
        stringOPcons(" == ERR_iteriterbodyexit) {", CLU_1, CLU_27, &STR__040_075_075_040ERR_137iteriterbodyexit_051_040_173);
        CLU_string_size.num = 61;
        stringOPcons("      *iecode = locals.ecode2; signal(ERR_iteriterbodyexit);}", CLU_1, CLU_string_size, &STR__040_040_040_040_040_040_052iecode_040_075_040locals_056ecode2_073_040signal_050ERR_137iteriterbodyexit_051_073_175);
        stringOPcons(" != ERR_ok) goto ", CLU_1, CLU_17, &STR__040_041_075_040ERR_137ok_051_040goto_040);
        stringOPcons(" == ERR_iterbodyreturn) {", CLU_1, CLU_25, &STR__040_075_075_040ERR_137iterbodyreturn_051_040_173);
        stringOPcons("ret_", CLU_1, CLU_4, &STR_ret_137);
        stringOPcons("->num = ", CLU_1, CLU_8, &STR__055_076num_040_075_040);
        stringOPcons("elist[", CLU_1, CLU_6, &STR_elist_133);
        stringOPcons("].num;", CLU_1, CLU_6, &STR__135_056num_073);
        stringOPcons("signal(ERR_ok);}", CLU_1, CLU_16, &STR_signal_050ERR_137ok_051_073_175);
        stringOPcons(" == ERR_iterbodysignal) {signal(locals.ecode2);}", CLU_1, CLU_48, &STR__040_075_075_040ERR_137iterbodysignal_051_040_173signal_050locals_056ecode2_051_073_175);
        g_for_own_init = 1;
    }
    enter_proc(224);

  LINE(226);
    {
    CLUREF T_1_1;
    err = g_inline_iter(e, stmnt, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

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

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

  LINE(229);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
        T_1_1.num = stmnt.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(230);
            {
            err = g_expr_arg0(e, each_arg);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;

  LINE(232);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = stmnt.vec->data[2];
    T_1_2.num = T_1_1.vec->data[0];
    err = g_qinv_test(T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    T_1_4.num = T_1_3.num ^ 1;
    if (T_1_4.num == true) {

  LINE(233);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = stmnt.vec->data[2];
        T_2_2.num = T_2_1.vec->data[0];
        err = g_inv0(e, T_2_2);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

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

  LINE(239);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
        T_1_1.num = stmnt.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(240);
            {
                {CLUREF T_2_1;
                err = g_expr_arg1(e, each_arg, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                new_el.num = T_2_1.num;
                }
                }

  LINE(241);
            {
            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(246);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        T_1_1.num = stmnt.vec->data[2];
        T_1_2.num = T_1_1.vec->data[0];
        err = g_qinv_test(T_1_2, &T_1_3);
        if (err != ERR_ok) goto ex_0;
        quick.num = T_1_3.num;
        }
        }

  LINE(247);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = stmnt.vec->data[2];
        T_1_2.num = T_1_1.vec->data[0];
        proc_id.num = T_1_2.num;
        }
        }

  LINE(250);
    {
        {CLUREF T_1_1;
        err = ibOPnext_name(&T_1_1);
        if (err != ERR_ok) goto ex_0;
        ibname.num = T_1_1.num;
        }
        }

  LINE(251);
    {
        {CLUREF T_1_1;
        err = current_applyOPis_iter(&T_1_1);
        if (err != ERR_ok) goto ex_0;
        iterp.num = T_1_1.num;
        }
        }

  LINE(252);
    {
    if (iterp.num == true) {
        {
        err = g_locals(e);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_envOPputl(e, STR_body_137ctrl_137req_040_075_040false_073);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(253);
    {
    if (quick.num == true) {

  LINE(255);
        {
        err = g_qiinv(e, proc_id, el, ibname);
        if (err != ERR_ok) goto ex_0;
        }
        }
    else {

  LINE(257);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            CLUREF T_2_4;
            T_2_1.num = stmnt.vec->data[2];
            T_2_2.num = T_2_1.vec->data[0];
            err = g_inv1(e, T_2_2, &T_2_3);
            if (err != ERR_ok) goto ex_0;
            err = sequenceOPbottom(T_2_3, &T_2_4);
            if (err != ERR_ok) goto ex_0;
            gen_proc_id.num = T_2_4.num;
            }
            }

  LINE(258);
        {
        err = g_inv(e, gen_proc_id, proc_id);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(260);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
            T_2_2.num = el.vec->size; 
            T_2_3 = el;
            for (T_2_1.num = 1; T_2_1.num <= T_2_2.num; T_2_1.num++) {
                each_arg.num = T_2_3.vec->data[T_2_1.num - 1];

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

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

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

  LINE(266);
            {
            CLUREF T_3_1;
            err = stringOPconcat(ibname, STR__054_040locals_054_040iecode_051_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;
            }
            }
        else {

  LINE(268);
            {
            CLUREF T_3_1;
            err = stringOPconcat(ibname, STR__054_040_046locals_054_040_046locals_056ecode2_051_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 */
        }}/* end if */

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

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

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

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

  LINE(281);
        {
        CLUREF T_2_1;
        T_2_1.num = iterp.num ^ 1;
        if (T_2_1.num == true) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(303);
            {
            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, &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(304);
            {
            err = g_envOPputl(e, STR__175);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(318);
            {
            err = g_envOPputs(e, STR_if_040_050);
            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_075_040ERR_137iteriterbodysignal_051_040_173signal_050ERR_137iteriterbodysignal_051_073_175);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

  LINE(325);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

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

  LINE(332);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(347);
            {
            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, &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(348);
            {
            err = g_envOPputl(e, STR__175);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */
        }
    else {

  LINE(351);
        {
        if (iterp.num == true) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(375);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(426);
            {
            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__040_041_075_040ERR_137ok_051_040goto_040, T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_3_2, STR__073, &T_3_3);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_3);
            if (err != ERR_ok) goto ex_0;
            }
            }
        else {

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

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

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

  LINE(431);
            {
                {CLUREF T_3_1;
                err = current_applyOPget_val_count(&T_3_1);
                if (err != ERR_ok) goto ex_0;
                count.num = T_3_1.num;
                }
                }

  LINE(432);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
                T_3_2.num = count.num;
                for (T_3_1.num = 1; T_3_1.num <= T_3_2.num; T_3_1.num++) {
                    i.num = T_3_1.num;

  LINE(433);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    err = intOPunparse(i, &T_4_1);
                    if (err != ERR_ok) goto ex_0;
                    err = stringOPconcat(STR_ret_137, T_4_1, &T_4_2);
                    if (err != ERR_ok) goto ex_0;
                    err = stringOPconcat(T_4_2, STR__055_076num_040_075_040, &T_4_3);
                    if (err != ERR_ok) goto ex_0;
                    err = g_envOPputs(e, T_4_3);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(434);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    CLUREF T_4_4;
                    T_4_1.num = i.num - 1;
                     if ((T_4_1.num >= 0 && i.num < 0 && (-1) < 0) || 
                         (T_4_1.num <= 0 && i.num > 0 && (-1) > 0)) {
                        err = ERR_overflow;
                        goto ex_0;}
                    err = intOPunparse(T_4_1, &T_4_2);
                    if (err != ERR_ok) goto ex_0;
                    err = stringOPconcat(STR_elist_133, T_4_2, &T_4_3);
                    if (err != ERR_ok) goto ex_0;
                    err = stringOPconcat(T_4_3, STR__135_056num_073, &T_4_4);
                    if (err != ERR_ok) goto ex_0;
                    err = g_envOPputl(e, T_4_4);
                    if (err != ERR_ok) goto ex_0;
                    }
                }
            }
            end_inline_for_4:;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  LINE(455);
            {
            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__040_041_075_040ERR_137ok_051_040goto_040, T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_3_2, STR__073, &T_3_3);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_3);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */
        }}/* end if */

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

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

  LINE(462);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[0];
    err = g_anys(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(463);
    {
    err = g_envOPnewline(e);
    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_for ****/


extern errcode oneofOPis_1();
extern errcode oneofOPvalue_1();
CLUREF STR__040_075_075_040true_051_040_173;
CLUREF STR__057_052_040end_040if_040_052_057;
static int g_if_own_init = 0;

/**** BEGIN PROCEDURE g_if ****/

errcode g_if(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF el;
    CLUREF i;
        if (g_if_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" == true) {", CLU_1, CLU_11, &STR__040_075_075_040true_051_040_173);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("else {", CLU_1, CLU_6, &STR_else_040_173);
        stringOPcons("/* end if */", CLU_1, CLU_12, &STR__057_052_040end_040if_040_052_057);
        g_if_own_init = 1;
    }
    enter_proc(467);

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

  LINE(481);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = stmnt.vec->data[0];
    if (1 < 1 || 1 > T_1_1.vec->size ) {
        err = ERR_bounds;
        goto ex_0;}
    T_1_2.num = T_1_1.vec->data[1 - 1];
    T_1_3.num = T_1_2.vec->data[2];
    err = g_expr0(e, T_1_3);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(482);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        if (1 < 1 || 1 > T_1_1.vec->size ) {
            err = ERR_bounds;
            goto ex_0;}
        T_1_2.num = T_1_1.vec->data[1 - 1];
        T_1_3.num = T_1_2.vec->data[2];
        err = g_expr1(e, T_1_3, &T_1_4);
        if (err != ERR_ok) goto ex_0;
        el.num = T_1_4.num;
        }
        }

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

  LINE(484);
    {
    CLUREF T_1_1;
    err = sequenceOPbottom(el, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = g_expr2(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(487);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = stmnt.vec->data[0];
    if (1 < 1 || 1 > T_1_1.vec->size ) {
        err = ERR_bounds;
        goto ex_0;}
    T_1_2.num = T_1_1.vec->data[1 - 1];
    T_1_3.num = T_1_2.vec->data[0];
    err = g_body(e, T_1_3);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(490);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_2.num = T_1_1.vec->size;
        T_1_4.num = T_1_2.num;
        for (T_1_3.num = 2; T_1_3.num <= T_1_4.num; T_1_3.num++) {
            i.num = T_1_3.num;

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

  LINE(492);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            T_2_1.num = stmnt.vec->data[0];
            if (i.num < 1 || i.num > T_2_1.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_2.num = T_2_1.vec->data[i.num - 1];
            T_2_3.num = T_2_2.vec->data[2];
            err = g_expr0(e, T_2_3);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(493);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            CLUREF T_2_4;
            T_2_1.num = stmnt.vec->data[0];
            if (i.num < 1 || i.num > T_2_1.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_2.num = T_2_1.vec->data[i.num - 1];
            T_2_3.num = T_2_2.vec->data[2];
            err = g_expr1(e, T_2_3, &T_2_4);
            if (err != ERR_ok) goto ex_0;
            el.num = T_2_4.num;
            }

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

  LINE(495);
            {
            CLUREF T_2_1;
            err = sequenceOPbottom(el, &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(496);
            {
            err = g_envOPputl(e, STR__040_075_075_040true_051_040_173);
            if (err != ERR_ok) goto ex_0;
            }

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

  LINE(498);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            T_2_1.num = stmnt.vec->data[0];
            if (i.num < 1 || i.num > T_2_1.vec->size ) {
                err = ERR_bounds;
                goto ex_0;}
            T_2_2.num = T_2_1.vec->data[i.num - 1];
            T_2_3.num = T_2_2.vec->data[0];
            err = g_body(e, T_2_3);
            if (err != ERR_ok) goto ex_0;
            }

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

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

  LINE(502);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = stmnt.vec->data[1];
    if (T_1_1.cell->tag == 1) T_1_2.num = true; else T_1_2.num = false;
    if (T_1_2.num == true) {

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

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

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

  LINE(506);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = stmnt.vec->data[1];
        if (T_2_1.cell->tag != 1) {err = ERR_wrong_tag; goto ex_0;}
        T_2_2.num = T_2_1.cell->value;
        err = g_body(e, T_2_2);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

  LINE(511);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_2.num = T_1_1.vec->size;
        T_1_4.num = T_1_2.num;
        for (T_1_3.num = 1; T_1_3.num <= T_1_4.num; T_1_3.num++) {
            i.num = T_1_3.num;

  LINE(512);
            {
            err = g_envOPputs(e, STR__175);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_2:;

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

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

  LINE(515);
    {
    err = g_envOPoutdent(e);
    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_if ****/


extern errcode g_qtagcase();
extern errcode typespecOPget_abs();
extern errcode typespec_print();
extern errcode ceOPget_bool_type();
extern errcode g_envOPget_comp();
extern errcode field_index();
extern errcode g_typespec();
extern errcode g_term_typespec();
extern errcode recordOPget_4();
extern errcode g_idn();
CLUREF STR_tagcase_072_040not_040select_041_077;
CLUREF STR_;
CLUREF STR_is_137;
CLUREF STR_OPis_137;
CLUREF STR__050;
CLUREF STR__054_040_046;
CLUREF STR__051_073;
CLUREF STR_else_040if_040_050;
CLUREF STR__040_174_174_040;
CLUREF STR__040_075_075_040true;
CLUREF STR__051;
CLUREF STR_OPvalue_050;
CLUREF STR_OPvalue_137;
static int g_tagcase_own_init = 0;

/**** BEGIN PROCEDURE g_tagcase ****/

errcode g_tagcase(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF ty;
    CLUREF is_clutype;
    CLUREF flist;
    CLUREF ta;
    CLUREF ct;
    CLUREF t;
    CLUREF nm;
    CLUREF el0;
    CLUREF tlist;
    CLUREF junk;
    CLUREF ind;
    CLUREF next_idn;
    CLUREF tindex;
    CLUREF first;
    CLUREF nth;
    CLUREF el2;
    CLUREF dl;
    CLUREF this_temp;
    CLUREF index;
    CLUREF each_nm;
    CLUREF each_expr;
        if (g_tagcase_own_init == 0) {
        stringOPcons("tagcase: not select!?", CLU_1, CLU_21, &STR_tagcase_072_040not_040select_041_077);
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        stringOPcons("is_", CLU_1, CLU_3, &STR_is_137);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("OPis_", CLU_1, CLU_5, &STR_OPis_137);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(", &", CLU_1, CLU_3, &STR__054_040_046);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != ERR_ok) ", CLU_1, CLU_12, &STR__040_041_075_040ERR_137ok_051_040);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("else if (", CLU_1, CLU_9, &STR_else_040if_040_050);
        stringOPcons(" || ", CLU_1, CLU_4, &STR__040_174_174_040);
        stringOPcons(" == true", CLU_1, CLU_8, &STR__040_075_075_040true);
        stringOPcons(")", CLU_1, CLU_1, &STR__051);
        stringOPcons("OPvalue(", CLU_1, CLU_8, &STR_OPvalue_050);
        stringOPcons(" == true) {", CLU_1, CLU_11, &STR__040_075_075_040true_051_040_173);
        stringOPcons("OPvalue_", CLU_1, CLU_8, &STR_OPvalue_137);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("else {", CLU_1, CLU_6, &STR_else_040_173);
        g_tagcase_own_init = 1;
    }
    enter_proc(518);

  LINE(550);
    {
    CLUREF T_1_1;
    err = g_qtagcase(e, stmnt, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(551);
    {

  LINE(553);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = stmnt.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(554);
        {
            {is_clutype.tf = false;
            }
            }

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

  LINE(556);
        {
        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(558);
                {
                CLUREF T_4_1;
                T_4_1.num = ta.vec->data[1];
                flist.num = T_4_1.num;
                }
                break;
                }
        case 3: 
             {CLUREF T_3_3;
            T_3_3.num = T_3_1.cell->value;
            ct.num = T_3_3.num;

  LINE(560);
                {
                is_clutype.tf = true;
                }
                break;
                }
        default: {

  LINE(562);
            {
            CLUREF T_4_1;
            T_4_1.num = 801;
            err = compiler_logit(T_4_1, STR_tagcase_072_040not_040select_041_077);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(563);
            {
            err = typespec_print(ty);
            if (err != ERR_ok) goto ex_1;
            }
        }
        }
        }

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

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

  LINE(568);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = stmnt.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(569);
                {
                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(570);
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        err = g_envOPget_comp(e, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        err = ceOPget_bool_type(T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        err = tvOPdecl_next(e, T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        }
                    }
                }
                end_inline_for_2:;
            }
        }
        end_inline_for_1:;

  LINE(573);
        {
            {CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = stmnt.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(574);
        {
            {CLUREF T_3_1;
            err = sequenceOPnew(&T_3_1);
            if (err != ERR_ok) goto ex_1;
            tlist.num = T_3_1.num;
            }
            }

  LINE(575);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = stmnt.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(576);
                {
                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(577);
                        {
                            {junk = STR_;
                            }
                            }

  LINE(578);
                        {
                            {ind.num = 0;
                            }
                            }

  LINE(579);
                        {
                        CLUREF T_5_1;
                        T_5_1.num = is_clutype.num ^ 1;
                        if (T_5_1.num == true) {

  LINE(580);
                            {
                            CLUREF T_6_1;
                            CLUREF T_6_2;
                            CLUREF T_6_3;
                            err = stringOPconcat(STR_is_137, nm, &T_6_1);
                            if (err != ERR_ok) goto ex_1;
                            err = field_index(T_6_1, flist, &T_6_2, &T_6_3);
                            if (err != ERR_ok) goto ex_1;
                            junk.num = T_6_2.num;
                            ind.num = T_6_3.num;
                            }
                            }
                            }/* end if */

  LINE(582);
                        {
                        err = g_err(e);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(584);
                        {
                        if (is_clutype.num == true) {

  LINE(586);
                            {
                            CLUREF T_6_1;
                            CLUREF T_6_2;
                            T_6_1.num = stmnt.vec->data[1];
                            err = exprOPget_typespec(T_6_1, &T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            err = g_typespec(e, T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            }

  LINE(587);
                            {
                            CLUREF T_6_1;
                            CLUREF T_6_2;
                            err = stringOPconcat(STR_OPis_137, nm, &T_6_1);
                            if (err != ERR_ok) goto ex_1;
                            err = stringOPconcat(T_6_1, STR__050, &T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            err = g_envOPputs(e, T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            }
                            }
                        else {

  LINE(589);
                            {
                            CLUREF T_6_1;
                            CLUREF T_6_2;
                            T_6_1.num = stmnt.vec->data[1];
                            err = exprOPget_typespec(T_6_1, &T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            err = g_term_typespec(e, T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            }

  LINE(590);
                            {
                            CLUREF T_6_1;
                            CLUREF T_6_2;
                            CLUREF T_6_3;
                            err = intOPunparse(ind, &T_6_1);
                            if (err != ERR_ok) goto ex_1;
                            err = stringOPconcat(STR_OPis_137, T_6_1, &T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            err = stringOPconcat(T_6_2, STR__050, &T_6_3);
                            if (err != ERR_ok) goto ex_1;
                            err = g_envOPputs(e, T_6_3);
                            if (err != ERR_ok) goto ex_1;
                            }
                            }}/* end if */

  LINE(592);
                        {
                        CLUREF T_5_1;
                        err = sequenceOPbottom(el0, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        err = g_expr_arg(e, T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(594);
                        {
                            {CLUREF T_5_1;
                            CLUREF T_5_2;
                            CLUREF T_5_3;
                            err = g_envOPget_comp(e, &T_5_1);
                            if (err != ERR_ok) goto ex_1;
                            err = ceOPget_bool_type(T_5_1, &T_5_2);
                            if (err != ERR_ok) goto ex_1;
                            err = tvOPidn_next(T_5_2, &T_5_3);
                            if (err != ERR_ok) goto ex_1;
                            next_idn.num = T_5_3.num;
                            }
                            }

  LINE(595);
                        {
                        err = g_expr_arg(e, next_idn);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(597);
                        {
                        CLUREF T_5_1;
                        err = sequenceOPaddh(tlist, next_idn, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        tlist.num = T_5_1.num;
                        }

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

  LINE(599);
                        {
                        err = g_err(e);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(601);
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        CLUREF T_5_3;
                        err = exOPget_current_ex_label(&T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(STR_goto_040, T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(T_5_2, STR__073, &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_4:;
            }
        }
        end_inline_for_3:;

  LINE(604);
        {
            {tindex.num = 1;
            }
            }

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

  LINE(606);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = stmnt.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(607);
                {
                if (first.num == true) {

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

  LINE(609);
                    {
                    first.tf = false;
                    }
                    }
                else {

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

  LINE(613);
                {
                    {nth.tf = false;
                    }
                    }

  LINE(614);
                {
                    {CLUREF T_4_1;
                    err = sequenceOPnew(&T_4_1);
                    if (err != ERR_ok) goto ex_1;
                    el2.num = T_4_1.num;
                    }
                    }

  LINE(615);
                {
                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(617);
                        {
                        if (nth.num == true) {
                            {
                            err = g_envOPputs(e, STR__040_174_174_040);
                            if (err != ERR_ok) goto ex_1;
                            }
                            }
                        else {

  LINE(618);
                            {
                            nth.tf = true;
                            }
                            }}/* end if */

  LINE(619);
                        {
                        CLUREF T_5_1;
                        if (tindex.num < 1 || tindex.num > tlist.vec->size ) {
                            err = ERR_bounds;
                            goto ex_1;}
                        T_5_1.num = tlist.vec->data[tindex.num - 1];
                        err = g_expr2(e, T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        }

  LINE(620);
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        if (tindex.num < 1 || tindex.num > tlist.vec->size ) {
                            err = ERR_bounds;
                            goto ex_1;}
                        T_5_1.num = tlist.vec->data[tindex.num - 1];
                        err = sequenceOPaddh(el2, T_5_1, &T_5_2);
                        if (err != ERR_ok) goto ex_1;
                        el2.num = T_5_2.num;
                        }

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

  LINE(622);
                        {
                        CLUREF T_5_1;
                        T_5_1.num = tindex.num + 1;
                         if ((T_5_1.num > 0 && tindex.num < 0 && 1 < 0) || 
                             (T_5_1.num < 0 && tindex.num > 0 && 1 > 0)) {
                            err = ERR_overflow;
                            goto ex_1;}
                        tindex.num = T_5_1.num;
                        }
                    }
                }
                end_inline_for_6:;

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

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

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

  LINE(627);
                {
                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(629);
                    {
                        {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(630);
                    {
                    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(631);
                    {
                        {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(632);
                    {
                    CLUREF T_5_1;
                    T_5_1.num = is_clutype.num ^ 1;
                    if (T_5_1.num == true) {

  LINE(634);
                        {
                            {CLUREF T_6_1;
                            CLUREF T_6_2;
                            CLUREF T_6_3;
                            CLUREF T_6_4;
                            CLUREF T_6_5;
                            T_6_1.num = t.vec->data[2];
                            err = sequenceOPbottom(T_6_1, &T_6_2);
                            if (err != ERR_ok) goto ex_1;
                            err = stringOPconcat(STR_is_137, T_6_2, &T_6_3);
                            if (err != ERR_ok) goto ex_1;
                            err = field_index(T_6_3, flist, &T_6_4, &T_6_5);
                            if (err != ERR_ok) goto ex_1;
                            junk.num = T_6_4.num;
                            ind.num = T_6_5.num;
                            }
                            }

  LINE(636);
                        {
                        err = g_err(e);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(638);
                        {
                        CLUREF T_6_1;
                        CLUREF T_6_2;
                        T_6_1.num = stmnt.vec->data[1];
                        err = exprOPget_typespec(T_6_1, &T_6_2);
                        if (err != ERR_ok) goto ex_1;
                        err = g_term_typespec(e, T_6_2);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(640);
                        {
                        CLUREF T_6_1;
                        err = sequenceOPbottom(el0, &T_6_1);
                        if (err != ERR_ok) goto ex_1;
                        err = g_expr_arg(e, T_6_1);
                        if (err != ERR_ok) goto ex_1;
                        }

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

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

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

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

  LINE(645);
                        {
                        err = g_err(e);
                        if (err != ERR_ok) goto ex_1;
                        }

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

  LINE(647);
                        {
                        CLUREF T_6_1;
                        CLUREF T_6_2;
                        CLUREF T_6_3;
                        err = exOPget_current_ex_label(&T_6_1);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(STR_goto_040, T_6_1, &T_6_2);
                        if (err != ERR_ok) goto ex_1;
                        err = stringOPconcat(T_6_2, STR__073, &T_6_3);
                        if (err != ERR_ok) goto ex_1;
                        err = g_envOPputl(e, T_6_3);
                        if (err != ERR_ok) goto ex_1;
                        }
                        }
                    else {

  LINE(649);
                        {
                        CLUREF T_6_1;
                        CLUREF T_6_2;
                        CLUREF T_6_3;
                            T_6_1.num = t.vec->data[2];
                            T_6_3.num = T_6_1.vec->size; 
                            for (T_6_2.num = 1; T_6_2.num <= T_6_3.num; T_6_2.num++) {
                                index.num = T_6_2.num;

  LINE(650);
                                {
                                    {CLUREF T_7_1;
                                    CLUREF T_7_2;
                                    T_7_1.num = t.vec->data[2];
                                    if (index.num < 1 || index.num > T_7_1.vec->size ) {
                                        err = ERR_bounds;
                                        goto ex_1;}
                                    T_7_2.num = T_7_1.vec->data[index.num - 1];
                                    each_nm.num = T_7_2.num;
                                    }
                                    }

  LINE(651);
                                {
                                    {CLUREF T_7_1;
                                    if (index.num < 1 || index.num > el2.vec->size ) {
                                        err = ERR_bounds;
                                        goto ex_1;}
                                    T_7_1.num = el2.vec->data[index.num - 1];
                                    each_expr.num = T_7_1.num;
                                    }
                                    }

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

  LINE(653);
                                {
                                err = g_expr2(e, each_expr);
                                if (err != ERR_ok) goto ex_1;
                                }

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

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

  LINE(656);
                                {
                                err = g_err(e);
                                if (err != ERR_ok) goto ex_1;
                                }

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

  LINE(658);
                                {
                                CLUREF T_7_1;
                                CLUREF T_7_2;
                                T_7_1.num = stmnt.vec->data[1];
                                err = exprOPget_typespec(T_7_1, &T_7_2);
                                if (err != ERR_ok) goto ex_1;
                                err = g_typespec(e, T_7_2);
                                if (err != ERR_ok) goto ex_1;
                                }

  LINE(659);
                                {
                                CLUREF T_7_1;
                                CLUREF T_7_2;
                                CLUREF T_7_3;
                                CLUREF T_7_4;
                                T_7_1.num = t.vec->data[2];
                                err = sequenceOPbottom(T_7_1, &T_7_2);
                                if (err != ERR_ok) goto ex_1;
                                err = stringOPconcat(STR_OPvalue_137, T_7_2, &T_7_3);
                                if (err != ERR_ok) goto ex_1;
                                err = stringOPconcat(T_7_3, STR__050, &T_7_4);
                                if (err != ERR_ok) goto ex_1;
                                err = g_envOPputs(e, T_7_4);
                                if (err != ERR_ok) goto ex_1;
                                }

  LINE(661);
                                {
                                CLUREF T_7_1;
                                err = sequenceOPbottom(el0, &T_7_1);
                                if (err != ERR_ok) goto ex_1;
                                err = g_expr_arg(e, T_7_1);
                                if (err != ERR_ok) goto ex_1;
                                }

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

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

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

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

  LINE(666);
                                {
                                err = g_err(e);
                                if (err != ERR_ok) goto ex_1;
                                }

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

  LINE(668);
                                {
                                CLUREF T_7_1;
                                CLUREF T_7_2;
                                CLUREF T_7_3;
                                err = exOPget_current_ex_label(&T_7_1);
                                if (err != ERR_ok) goto ex_1;
                                err = stringOPconcat(STR_goto_040, T_7_1, &T_7_2);
                                if (err != ERR_ok) goto ex_1;
                                err = stringOPconcat(T_7_2, STR__073, &T_7_3);
                                if (err != ERR_ok) goto ex_1;
                                err = g_envOPputl(e, T_7_3);
                                if (err != ERR_ok) goto ex_1;
                                }

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

  LINE(670);
                                {
                                err = g_envOPoutdent(e);
                                if (err != ERR_ok) goto ex_1;
                                }
                            }
                        }
                        end_inline_for_7:;
                        }}/* end if */

  LINE(673);
                    {
                    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_idn(e, T_5_2);
                    if (err != ERR_ok) goto ex_1;
                    }

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

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

  LINE(676);
                    {
                    err = g_envOPputl(e, STR__073);
                    if (err != ERR_ok) goto ex_1;
                    }
                    }
                    }/* end if */

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

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

  LINE(680);
                {
                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(681);
                {
                err = g_envOPputl(e, STR__175);
                if (err != ERR_ok) goto ex_1;
                }

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

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

  LINE(685);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = stmnt.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(686);
            {
            err = g_envOPputl(e, STR_else_040_173);
            if (err != ERR_ok) goto ex_1;
            }

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

  LINE(688);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            T_4_1.num = stmnt.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(689);
            {
            err = g_envOPoutdent(e);
            if (err != ERR_ok) goto ex_1;
            }

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

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

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

  LINE(694);
        {
        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:;
    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_tagcase ****/


extern errcode g_sig_assn();
extern errcode intOPequal();
extern errcode g_ret_assn();
CLUREF STR_body_137ctrl_137req_040_075_040true_073;
CLUREF STR__173signal_050ERR_137iteriterbodyreturn_051_073_175;
CLUREF STR__052iecode_040_075_040ERR_137ok_073;
CLUREF STR__173signal_050ERR_137iterbodyreturn_051_073_175;
CLUREF STR_Non_055empty_040return_040list_040for_040an_040iterator_077_041;
CLUREF STR__173signal_040_050ERR_137ok_051_073_175;
static int g_return_own_init = 0;

/**** BEGIN PROCEDURE g_return ****/

errcode g_return(e, exp)
CLUREF e;
CLUREF exp;
    {
    errcode err;
    errcode ecode2;
    CLUREF iterp;
    CLUREF i;
    CLUREF each_e;
    CLUREF el;
        if (g_return_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("body_ctrl_req = true;", CLU_1, CLU_21, &STR_body_137ctrl_137req_040_075_040true_073);
        stringOPcons("{signal(ERR_iteriterbodyreturn);}", CLU_1, CLU_33, &STR__173signal_050ERR_137iteriterbodyreturn_051_073_175);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("*iecode = ERR_ok;", CLU_1, CLU_17, &STR__052iecode_040_075_040ERR_137ok_073);
        stringOPcons("{signal(ERR_iterbodyreturn);}", CLU_1, CLU_29, &STR__173signal_050ERR_137iterbodyreturn_051_073_175);
        stringOPcons("Non-empty return list for an iterator?!", CLU_1, CLU_39, &STR_Non_055empty_040return_040list_040for_040an_040iterator_077_041);
        stringOPcons("{signal (ERR_ok);}", CLU_1, CLU_18, &STR__173signal_040_050ERR_137ok_051_073_175);
        g_return_own_init = 1;
    }
    enter_proc(699);

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

  LINE(704);
    {
    CLUREF T_2_1;
    err = ibOPbodies(&T_2_1);
    if (err != ERR_ok) goto ex_1;
    if (T_2_1.num == true) {

  LINE(706);
        {
            {CLUREF T_3_1;
            err = current_applyOPis_iter(&T_3_1);
            if (err != ERR_ok) goto ex_1;
            iterp.num = T_3_1.num;
            }
            }

  LINE(707);
        {
        if (iterp.num == true) {

  LINE(709);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_1;
            }

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

  LINE(711);
            {
            err = g_envOPputl(e, STR__173signal_050ERR_137iteriterbodyreturn_051_073_175);
            if (err != ERR_ok) goto ex_1;
            }
            }
        else {

  LINE(714);
            {
                {i.num = 0;
                }
                }

  LINE(715);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            CLUREF T_4_3;
                T_4_2.num = exp.vec->size; 
                T_4_3 = exp;
                for (T_4_1.num = 1; T_4_1.num <= T_4_2.num; T_4_1.num++) {
                    each_e.num = T_4_3.vec->data[T_4_1.num - 1];

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

  LINE(717);
                    {
                    err = g_expr0(e, each_e);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(718);
                    {
                        {CLUREF T_5_1;
                        err = g_expr1(e, each_e, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        el.num = T_5_1.num;
                        }
                        }

  LINE(719);
                    {
                    CLUREF T_5_1;
                    err = sequenceOPbottom(el, &T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    err = g_sig_assn(e, i, T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    }

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

  LINE(725);
                    {
                    CLUREF T_5_1;
                    T_5_1.num = i.num + 1;
                     if ((T_5_1.num > 0 && i.num < 0 && 1 < 0) || 
                         (T_5_1.num < 0 && i.num > 0 && 1 > 0)) {
                        err = ERR_overflow;
                        goto ex_1;}
                    i.num = T_5_1.num;
                    }
                }
            }
            end_inline_for_1:;

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

  LINE(728);
            {
            err = g_envOPputl(e, STR__173signal_050ERR_137iterbodyreturn_051_073_175);
            if (err != ERR_ok) goto ex_1;
            }
            }}/* end if */
        }
    else {

  LINE(732);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
        CLUREF T_3_5;
        err = current_applyOPis_iter(&T_3_2);
        if (err != ERR_ok) goto ex_1;
        T_3_1.num = T_3_2.num;
        if (T_3_2.num) {
            T_3_3.num = exp.vec->size;
            T_3_4.num = (T_3_3.num == 0)? true : false;
            T_3_5.num = T_3_4.num ^ 1;
            T_3_1.num = T_3_5.num;
        }
        if (T_3_1.num == true) {

  LINE(733);
            {
            CLUREF T_4_1;
            T_4_1.num = 802;
            err = compiler_logit(T_4_1, STR_Non_055empty_040return_040list_040for_040an_040iterator_077_041);
            if (err != ERR_ok) goto ex_1;
            }
            }
            }/* end if */

  LINE(734);
        {
            {i.num = 1;
            }
            }

  LINE(735);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
            T_3_2.num = exp.vec->size; 
            T_3_3 = exp;
            for (T_3_1.num = 1; T_3_1.num <= T_3_2.num; T_3_1.num++) {
                each_e.num = T_3_3.vec->data[T_3_1.num - 1];

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

  LINE(737);
                {
                err = g_expr0(e, each_e);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(738);
                {
                    {CLUREF T_4_1;
                    err = g_expr1(e, each_e, &T_4_1);
                    if (err != ERR_ok) goto ex_1;
                    el.num = T_4_1.num;
                    }
                    }

  LINE(739);
                {
                CLUREF T_4_1;
                err = sequenceOPbottom(el, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                err = g_ret_assn(e, i, T_4_1);
                if (err != ERR_ok) goto ex_1;
                }

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

  LINE(744);
                {
                CLUREF T_4_1;
                T_4_1.num = i.num + 1;
                 if ((T_4_1.num > 0 && i.num < 0 && 1 < 0) || 
                     (T_4_1.num < 0 && i.num > 0 && 1 > 0)) {
                    err = ERR_overflow;
                    goto ex_1;}
                i.num = T_4_1.num;
                }
            }
        }
        end_inline_for_2:;

  LINE(746);
        {
        err = g_envOPputs(e, STR__173signal_040_050ERR_137ok_051_073_175);
        if (err != ERR_ok) goto ex_1;
        }
        }}/* end if */
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(749);
    {
    err = g_envOPputl(e, STR__175);
    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_return ****/


extern errcode g_proc();
extern errcode g_user_locals();
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_iecode_051_073;
CLUREF STR_if_040_050_050;
CLUREF STR_body_137ctrl_137req_040_075_075_040true_051_040_046_046_040_050;
CLUREF STR__040_075_075_040ERR_137iteriterbodyexit_051_051_040_173;
CLUREF STR__073_175;
CLUREF STR_signal_050;
CLUREF STR__173signal_050;
CLUREF STR__175_175;
static int g_yield_own_init = 0;

/**** BEGIN PROCEDURE g_yield ****/

errcode g_yield(e, exp)
CLUREF e;
CLUREF exp;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_exp;
    CLUREF el;
    CLUREF new_el;
        if (g_yield_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(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons("iecode);", CLU_1, CLU_8, &STR_iecode_051_073);
        stringOPcons("if ((", CLU_1, CLU_5, &STR_if_040_050_050);
        stringOPcons("body_ctrl_req == true) && (", CLU_1, CLU_27, &STR_body_137ctrl_137req_040_075_075_040true_051_040_046_046_040_050);
        stringOPcons(" == ERR_iteriterbodyexit)) {", CLU_1, CLU_28, &STR__040_075_075_040ERR_137iteriterbodyexit_051_051_040_173);
        stringOPcons(" = *iecode;", CLU_1, CLU_11, &STR__040_075_040_052iecode_073);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";}", CLU_1, CLU_2, &STR__073_175);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons(" != ERR_ok) {", CLU_1, CLU_13, &STR__040_041_075_040ERR_137ok_051_040_173);
        stringOPcons("signal(", CLU_1, CLU_7, &STR_signal_050);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons(" == ERR_break) {signal(ERR_break);}", CLU_1, CLU_35, &STR__040_075_075_040ERR_137break_051_040_173signal_050ERR_137break_051_073_175);
        CLU_string_size.num = 53;
        stringOPcons(" == ERR_iterbodyreturn) {signal(ERR_iterbodyreturn);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iterbodyreturn_051_040_173signal_050ERR_137iterbodyreturn_051_073_175);
        stringOPcons(" == ERR_iterbodyexit) {signal(ERR_iterbodyexit);}", CLU_1, CLU_49, &STR__040_075_075_040ERR_137iterbodyexit_051_040_173signal_050ERR_137iterbodyexit_051_073_175);
        CLU_string_size.num = 53;
        stringOPcons(" == ERR_iterbodysignal) {signal(ERR_iterbodysignal);}", CLU_1, CLU_string_size, &STR__040_075_075_040ERR_137iterbodysignal_051_040_173signal_050ERR_137iterbodysignal_051_073_175);
        stringOPcons("{signal(", CLU_1, CLU_8, &STR__173signal_050);
        stringOPcons("}}", CLU_1, CLU_2, &STR__175_175);
        g_yield_own_init = 1;
    }
    enter_proc(752);

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

  LINE(759);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = exp.vec->size; 
        T_1_3 = exp;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_exp.num = T_1_3.vec->data[T_1_1.num - 1];

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

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

  LINE(763);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = exp.vec->size; 
        T_1_3 = exp;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_exp.num = T_1_3.vec->data[T_1_1.num - 1];

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

  LINE(765);
            {
            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(767);
    {
    err = g_err(e);
    if (err != ERR_ok) goto ex_0;
    }

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

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

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

  LINE(771);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = el.vec->size; 
        T_1_3 = el;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_exp.num = T_1_3.vec->data[T_1_1.num - 1];

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

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

  LINE(775);
    {
    err = g_user_locals(e);
    if (err != ERR_ok) goto ex_0;
    }

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

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

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

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

  LINE(785);
        {
        err = g_locals(e);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

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

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

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

  LINE(792);
        {
        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(793);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

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

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

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

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

  LINE(810);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_envOPputl(e, STR__040_041_075_040ERR_137ok_051_040_173);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(811);
        {
        err = g_envOPputs(e, STR_if_040_050);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_envOPputl(e, STR__040_075_075_040ERR_137break_051_040_173signal_050ERR_137break_051_073_175);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

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

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

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

  LINE(818);
        {
        err = g_envOPputs(e, STR__173signal_050);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_err(e);
        if (err != ERR_ok) goto ex_0;
        }
        {
        err = g_envOPputl(e, STR__051_073);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

  LINE(823);
    {
    err = g_envOPputl(e, STR__175);
    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_yield ****/


extern errcode sigOPname();
CLUREF STR__173signal_040_050;
CLUREF STR__051_073_175;
CLUREF STR__052iecode_040_075_040;
CLUREF STR__173signal_050ERR_137iteriterbodysignal_051_073_175;
CLUREF STR__173signal_050ERR_137iterbodysignal_051_073_175;
static int g_signal_own_init = 0;

/**** BEGIN PROCEDURE g_signal ****/

errcode g_signal(e, cond)
CLUREF e;
CLUREF cond;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_e;
    CLUREF i;
    CLUREF el;
    CLUREF iterp;
        if (g_signal_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("{signal (", CLU_1, CLU_9, &STR__173signal_040_050);
        stringOPcons(");}", CLU_1, CLU_3, &STR__051_073_175);
        stringOPcons("*iecode = ", CLU_1, CLU_10, &STR__052iecode_040_075_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("body_ctrl_req = true;", CLU_1, CLU_21, &STR_body_137ctrl_137req_040_075_040true_073);
        stringOPcons("{signal(ERR_iteriterbodysignal);}", CLU_1, CLU_33, &STR__173signal_050ERR_137iteriterbodysignal_051_073_175);
        stringOPcons("{signal(ERR_iterbodysignal);}", CLU_1, CLU_29, &STR__173signal_050ERR_137iterbodysignal_051_073_175);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_signal_own_init = 1;
    }
    enter_proc(827);

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

  LINE(832);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = cond.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

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

  LINE(835);
    {
        {i.num = 0;
        }
        }

  LINE(836);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = cond.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(837);
            {
                {CLUREF T_2_1;
                err = g_expr1(e, each_e, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                el.num = T_2_1.num;
                }
                }

  LINE(838);
            {
            CLUREF T_2_1;
            err = sequenceOPbottom(el, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = g_sig_assn(e, i, T_2_1);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(843);
            {
            CLUREF T_2_1;
            T_2_1.num = i.num + 1;
             if ((T_2_1.num > 0 && i.num < 0 && 1 < 0) || 
                 (T_2_1.num < 0 && i.num > 0 && 1 > 0)) {
                err = ERR_overflow;
                goto ex_0;}
            i.num = T_2_1.num;
            }
        }
    }
    end_inline_for_2:;

  LINE(845);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = ibOPbodies(&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(847);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        T_2_1.num = cond.vec->data[1];
        err = sigOPname(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR__173signal_040_050, T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_3, STR__051_073_175, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputs(e, T_2_4);
        if (err != ERR_ok) goto ex_0;
        }
        }
    else {

  LINE(849);
        {
            {CLUREF T_2_1;
            err = current_applyOPis_iter(&T_2_1);
            if (err != ERR_ok) goto ex_0;
            iterp.num = T_2_1.num;
            }
            }

  LINE(850);
        {
        if (iterp.num == true) {

  LINE(852);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            CLUREF T_3_4;
            T_3_1.num = cond.vec->data[1];
            err = sigOPname(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(STR__052iecode_040_075_040, T_3_2, &T_3_3);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_3_3, STR__073, &T_3_4);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_4);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(853);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_0;
            }

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

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

  LINE(857);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            CLUREF T_3_4;
            T_3_1.num = cond.vec->data[1];
            err = sigOPname(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(STR__052iecode_040_075_040, T_3_2, &T_3_3);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_3_3, STR__073, &T_3_4);
            if (err != ERR_ok) goto ex_0;
            err = g_envOPputl(e, T_3_4);
            if (err != ERR_ok) goto ex_0;
            }

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

  LINE(861);
    {
    err = g_envOPputl(e, STR__175);
    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_signal ****/


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__135_056num_040_075_040;
static int g_exit_own_init = 0;

/**** BEGIN PROCEDURE g_exit ****/

errcode g_exit(e, cond)
CLUREF e;
CLUREF cond;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_e;
    CLUREF el;
    CLUREF new_el;
    CLUREF i;
        if (g_exit_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("elist[", CLU_1, CLU_6, &STR_elist_133);
        stringOPcons("].num = ", CLU_1, CLU_8, &STR__135_056num_040_075_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons(" = ", CLU_1, CLU_3, &STR__040_075_040);
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_exit_own_init = 1;
    }
    enter_proc(864);

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

  LINE(869);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = cond.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

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

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

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

  LINE(874);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = cond.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_e.num = T_1_4.vec->data[T_1_2.num - 1];

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

  LINE(876);
            {
            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(878);
    {
        {i.num = 0;
        }
        }

  LINE(879);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = el.vec->size; 
        T_1_3 = el;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_e.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(880);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = intOPunparse(i, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(STR_elist_133, T_2_1, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            err = stringOPconcat(T_2_2, STR__135_056num_040_075_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(882);
            {
            err = g_expr2(e, each_e);
            if (err != ERR_ok) goto ex_0;
            }

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

  LINE(884);
            {
            CLUREF T_2_1;
            T_2_1.num = i.num + 1;
             if ((T_2_1.num > 0 && i.num < 0 && 1 < 0) || 
                 (T_2_1.num < 0 && i.num > 0 && 1 > 0)) {
                err = ERR_overflow;
                goto ex_0;}
            i.num = T_2_1.num;
            }
        }
    }
    end_inline_for_3:;

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

  LINE(888);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = cond.vec->data[1];
    err = sigOPname(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(STR__040_075_040, T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_3, STR__073, &T_1_4);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_4);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(889);
    {
    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_goto_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(890);
    {
    err = g_envOPputl(e, STR__175);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(891);
    {
    err = g_envOPoutdent(e);
    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_exit ****/


extern errcode loop_contextOPis_while();
extern errcode loop_contextOPis_inline_for();
extern errcode loop_contextOPget_current_inline_for_count();
CLUREF STR_goto_040end_137while_137;
CLUREF STR_goto_040end_137inline_137for_137;
CLUREF STR_body_137ctrl_137req_040_075_040true_073_040;
CLUREF STR__173signal_050ERR_137break_051_073_175_175;
CLUREF STR__173signal_050ERR_137break_051_073_175;
static int g_break_own_init = 0;

/**** BEGIN PROCEDURE g_break ****/

errcode g_break(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF n;
    CLUREF iterp;
        if (g_break_own_init == 0) {
        stringOPcons("goto end_while_", CLU_1, CLU_15, &STR_goto_040end_137while_137);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons("goto end_inline_for_", CLU_1, CLU_20, &STR_goto_040end_137inline_137for_137);
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("body_ctrl_req = true; ", CLU_1, CLU_22, &STR_body_137ctrl_137req_040_075_040true_073_040);
        stringOPcons("{signal(ERR_break);}}", CLU_1, CLU_21, &STR__173signal_050ERR_137break_051_073_175_175);
        stringOPcons("{signal(ERR_break);}", CLU_1, CLU_20, &STR__173signal_050ERR_137break_051_073_175);
        g_break_own_init = 1;
    }
    enter_proc(894);

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

  LINE(900);
        {
            {CLUREF T_2_1;
            err = loop_contextOPget_current_while_count(&T_2_1);
            if (err != ERR_ok) goto ex_0;
            n.num = T_2_1.num;
            }
            }

  LINE(901);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = intOPunparse(n, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040end_137while_137, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }
        }
    else {
    CLUREF T_1_2;
    err = loop_contextOPis_inline_for(&T_1_2);
    if (err != ERR_ok) goto ex_0;
    if (T_1_2.num == true) {

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

  LINE(905);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = intOPunparse(n, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(STR_goto_040end_137inline_137for_137, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        err = stringOPconcat(T_2_2, STR__073, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = g_envOPputl(e, T_2_3);
        if (err != ERR_ok) goto ex_0;
        }
        }
    else {

  LINE(907);
        {
            {CLUREF T_2_1;
            err = current_applyOPis_iter(&T_2_1);
            if (err != ERR_ok) goto ex_0;
            iterp.num = T_2_1.num;
            }
            }

  LINE(908);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        err = ibOPbodies(&T_2_2);
        if (err != ERR_ok) goto ex_0;
        T_2_1.num = T_2_2.num;
        if (T_2_2.num) {
            T_2_1.num = iterp.num;
        }
        if (T_2_1.num == true) {

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

  LINE(911);
            {
            err = g_locals(e);
            if (err != ERR_ok) goto ex_0;
            }

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

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

  LINE(915);
            {
            err = g_envOPputl(e, STR__173signal_050ERR_137break_051_073_175);
            if (err != ERR_ok) goto ex_0;
            }
            }}/* end if */
        }}}/* end if */
    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_break ****/


CLUREF STR_continue_073;
CLUREF STR__173signal_050ERR_137ok_051_073_175;
static int g_continue_own_init = 0;

/**** BEGIN PROCEDURE g_continue ****/

errcode g_continue(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_continue_own_init == 0) {
        stringOPcons("continue;", CLU_1, CLU_9, &STR_continue_073);
        stringOPcons("{signal(ERR_ok);}", CLU_1, CLU_17, &STR__173signal_050ERR_137ok_051_073_175);
        g_continue_own_init = 1;
    }
    enter_proc(920);

  LINE(924);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    err = loop_contextOPis_while(&T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_1.num = T_1_2.num;
    if (!T_1_2.num) {
        err = loop_contextOPis_inline_for(&T_1_3);
        if (err != ERR_ok) goto ex_0;
        T_1_1.num = T_1_3.num;
    }
    if (T_1_1.num == true) {

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

  LINE(928);
        {
        err = g_envOPputl(e, STR__173signal_050ERR_137ok_051_073_175);
        if (err != ERR_ok) goto ex_0;
        }
        }}/* end if */
    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_continue ****/


static int g_beginend_own_init = 0;

/**** BEGIN PROCEDURE g_beginend ****/

errcode g_beginend(e, bod)
CLUREF e;
CLUREF bod;
    {
    errcode err;
    errcode ecode2;
        if (g_beginend_own_init == 0) {
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        g_beginend_own_init = 1;
    }
    enter_proc(932);

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

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

  LINE(942);
    {
    err = g_body(e, bod);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(945);
    {
    err = g_envOPensure_newline(e);
    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_beginend ****/


extern errcode g_stmt();

/**** BEGIN PROCEDURE g_body ****/

errcode g_body(e, bod)
CLUREF e;
CLUREF bod;
    {
    errcode err;
    errcode ecode2;
    CLUREF s;
    enter_proc(948);

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

  LINE(953);
            {
            err = g_stmt(e, s);
            if (err != ERR_ok) goto ex_0;
            }
        }
    }
    end_inline_for_1:;
    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_body ****/


extern errcode exOPenter();
extern errcode exOPget_current_end_label();
extern errcode exOPleave();
extern errcode sigOPlookup();
extern errcode g_decllist();
CLUREF STR__072;
CLUREF STR__040_075_075_040;
CLUREF STR_errcmp_050;
CLUREF STR__051_040_173;
CLUREF STR__040_075_040elist_133;
CLUREF STR__135_056num;
CLUREF STR_else_040;
CLUREF STR__040_075_040_137pclu_137erstr_050;
static int g_except_own_init = 0;

/**** BEGIN PROCEDURE g_except ****/

errcode g_except(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF el;
    CLUREF firsth;
    CLUREF h;
    CLUREF nthn;
    CLUREF each_name;
    CLUREF dlist;
    CLUREF i;
    CLUREF each_d;
    CLUREF each_idn;
    CLUREF arm;
    CLUREF d;
        if (g_except_own_init == 0) {
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons(":", CLU_1, CLU_1, &STR__072);
        stringOPcons("if (", CLU_1, CLU_4, &STR_if_040_050);
        stringOPcons("else if (", CLU_1, CLU_9, &STR_else_040if_040_050);
        stringOPcons(" || ", CLU_1, CLU_4, &STR__040_174_174_040);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(" == ", CLU_1, CLU_4, &STR__040_075_075_040);
        stringOPcons(")", CLU_1, CLU_1, &STR__051);
        stringOPcons("errcmp(", CLU_1, CLU_7, &STR_errcmp_050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons(") {", CLU_1, CLU_3, &STR__051_040_173);
        stringOPcons(" = elist[", CLU_1, CLU_9, &STR__040_075_040elist_133);
        stringOPcons("].num", CLU_1, CLU_5, &STR__135_056num);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons("else ", CLU_1, CLU_5, &STR_else_040);
        stringOPcons("{", CLU_1, CLU_1, &STR__173);
        stringOPcons(" = _pclu_erstr(", CLU_1, CLU_15, &STR__040_075_040_137pclu_137erstr_050);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons(":;", CLU_1, CLU_2, &STR__072_073);
        g_except_own_init = 1;
    }
    enter_proc(957);

  LINE(967);
    {
    err = exOPenter();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(968);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[2];
    err = g_stmt(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

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

  LINE(971);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = stringOPconcat(STR_goto_040, el, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__073, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(972);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = exOPget_current_ex_label(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__072, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(973);
    {
    err = exOPleave();
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(975);
    {
        {firsth.tf = true;
        }
        }

  LINE(976);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            h.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(977);
            {
            if (firsth.num == true) {
                {
                err = g_envOPputs(e, STR_if_040_050);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(978);
                {
                firsth.tf = false;
                }
                }
            else {

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

  LINE(980);
            {
                {nthn.tf = false;
                }
                }

  LINE(981);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            CLUREF T_2_4;
                T_2_1.num = h.vec->data[2];
                T_2_3.num = T_2_1.vec->size; 
                T_2_4 = T_2_1;
                for (T_2_2.num = 1; T_2_2.num <= T_2_3.num; T_2_2.num++) {
                    each_name.num = T_2_4.vec->data[T_2_2.num - 1];

  LINE(982);
                    {
                    if (nthn.num == true) {

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

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

  LINE(985);
                        {
                        nthn.tf = true;
                        }
                        }}/* end if */

  LINE(986);
                    {
                    CLUREF T_3_1;
                    err = sigOPlookup(each_name, &T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    if (T_3_1.num == true) {

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

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

  LINE(990);
                        {
                        CLUREF T_4_1;
                        CLUREF T_4_2;
                        CLUREF T_4_3;
                        err = sigOPname(each_name, &T_4_1);
                        if (err != ERR_ok) goto ex_0;
                        err = stringOPconcat(STR__040_075_075_040, T_4_1, &T_4_2);
                        if (err != ERR_ok) goto ex_0;
                        err = stringOPconcat(T_4_2, STR__051, &T_4_3);
                        if (err != ERR_ok) goto ex_0;
                        err = g_envOPputs(e, T_4_3);
                        if (err != ERR_ok) goto ex_0;
                        }
                        }
                    else {

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

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

  LINE(994);
                        {
                        CLUREF T_4_1;
                        CLUREF T_4_2;
                        CLUREF T_4_3;
                        err = sigOPname(each_name, &T_4_1);
                        if (err != ERR_ok) goto ex_0;
                        err = stringOPconcat(STR__054_040, T_4_1, &T_4_2);
                        if (err != ERR_ok) goto ex_0;
                        err = stringOPconcat(T_4_2, STR__051, &T_4_3);
                        if (err != ERR_ok) goto ex_0;
                        err = g_envOPputs(e, T_4_3);
                        if (err != ERR_ok) goto ex_0;
                        }
                        }}/* end if */
                }
            }
            end_inline_for_2:;

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

  LINE(998);
            {
            CLUREF T_2_1;
            T_2_1.num = h.vec->data[3];
            switch (T_2_1.cell->tag) {
            case 1: 
                 {CLUREF T_2_2;
                T_2_2.num = T_2_1.cell->value;
                dlist.num = T_2_2.num;

  LINE(1000);
                    {
                    err = g_decllist(e, dlist);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(1001);
                    {
                        {i.num = 0;
                        }
                        }

  LINE(1002);
                    {
                    CLUREF T_3_1;
                    CLUREF T_3_2;
                    CLUREF T_3_3;
                        T_3_2.num = dlist.vec->size; 
                        T_3_3 = dlist;
                        for (T_3_1.num = 1; T_3_1.num <= T_3_2.num; T_3_1.num++) {
                            each_d.num = T_3_3.vec->data[T_3_1.num - 1];

  LINE(1003);
                            {
                            CLUREF T_4_1;
                            CLUREF T_4_2;
                            CLUREF T_4_3;
                            CLUREF T_4_4;
                                T_4_1.num = each_d.vec->data[0];
                                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++) {
                                    each_idn.num = T_4_4.vec->data[T_4_2.num - 1];

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

  LINE(1005);
                                    {
                                    CLUREF T_5_1;
                                    CLUREF T_5_2;
                                    CLUREF T_5_3;
                                    err = intOPunparse(i, &T_5_1);
                                    if (err != ERR_ok) goto ex_0;
                                    err = stringOPconcat(STR__040_075_040elist_133, T_5_1, &T_5_2);
                                    if (err != ERR_ok) goto ex_0;
                                    err = stringOPconcat(T_5_2, STR__135_056num, &T_5_3);
                                    if (err != ERR_ok) goto ex_0;
                                    err = g_envOPputs(e, T_5_3);
                                    if (err != ERR_ok) goto ex_0;
                                    }

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

  LINE(1008);
                                    {
                                    CLUREF T_5_1;
                                    T_5_1.num = i.num + 1;
                                     if ((T_5_1.num > 0 && i.num < 0 && 1 < 0) || 
                                         (T_5_1.num < 0 && i.num > 0 && 1 > 0)) {
                                        err = ERR_overflow;
                                        goto ex_0;}
                                    i.num = T_5_1.num;
                                    }
                                }
                            }
                            end_inline_for_4:;
                        }
                    }
                    end_inline_for_3:;
                    break;
                    }
            case 3: 
                 {
                    break;
                    }
            default: {
            }
            }
            }

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

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

  LINE(1016);
            {
            CLUREF T_2_1;
            T_2_1.num = h.vec->data[0];
            err = g_body(e, T_2_1);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

  LINE(1021);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = stmnt.vec->data[0];
    T_1_2.num = T_1_1.vec->size;
    T_1_3.num = (T_1_2.num == 0)? true : false;
    T_1_4.num = T_1_3.num ^ 1;
    if (T_1_4.num == true) {

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

  LINE(1023);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = stmnt.vec->data[1];
    if (T_1_1.cell->tag == 1) T_1_2.num = true; else T_1_2.num = false;
    if (T_1_2.num == true) {

  LINE(1024);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            T_2_1.num = stmnt.vec->data[1];
            if (T_2_1.cell->tag != 1) {err = ERR_wrong_tag; goto ex_0;}
            T_2_2.num = T_2_1.cell->value;
            arm.num = T_2_2.num;
            }
            }

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

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

  LINE(1027);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = arm.vec->data[1];
        if (T_2_1.cell->tag == 1) T_2_2.num = true; else T_2_2.num = false;
        if (T_2_2.num == true) {

  LINE(1029);
            {
                {CLUREF T_3_1;
                CLUREF T_3_2;
                T_3_1.num = arm.vec->data[1];
                if (T_3_1.cell->tag != 1) {err = ERR_wrong_tag; goto ex_0;}
                T_3_2.num = T_3_1.cell->value;
                d.num = T_3_2.num;
                }
                }

  LINE(1030);
            {
            err = g_decl(e, d);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(1033);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = d.vec->data[0];
            err = sequenceOPbottom(T_3_1, &T_3_2);
            if (err != ERR_ok) goto ex_0;
            err = g_idn_plain(e, T_3_2);
            if (err != ERR_ok) goto ex_0;
            }

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

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

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

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

  LINE(1039);
        {
        CLUREF T_2_1;
        T_2_1.num = arm.vec->data[0];
        err = g_body(e, T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

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

  LINE(1045);
        {
        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, &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(1046);
        {
        err = g_envOPoutdent(e);
        if (err != ERR_ok) goto ex_0;
        }

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

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

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

  LINE(1051);
    {
    CLUREF T_1_1;
    err = stringOPconcat(el, STR__072_073, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputs(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(1053);
    {
    err = g_envOPoutdent(e);
    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_except ****/


CLUREF STR_if_040;
CLUREF STR_else_040if_040;
CLUREF STR__051_051;
CLUREF STR__173_052iecode_040_075_040;
CLUREF STR__173signal_050ERR_137iteriterbodysignal_051_073_175_175;
CLUREF STR__040_173_052iecode_040_075_040;
CLUREF STR__040_173signal_050ERR_137iterbodysignal_051_073_175_175;
CLUREF STR__040_173signal_050;
static int g_resignal_own_init = 0;

/**** BEGIN PROCEDURE g_resignal ****/

errcode g_resignal(e, stmnt)
CLUREF e;
CLUREF stmnt;
    {
    errcode err;
    errcode ecode2;
    CLUREF el;
    CLUREF first;
    CLUREF each_sig;
    CLUREF sig_name;
    CLUREF iterp;
        if (g_resignal_own_init == 0) {
        stringOPcons("goto ", CLU_1, CLU_5, &STR_goto_040);
        stringOPcons(";", CLU_1, CLU_1, &STR__073);
        stringOPcons(":", CLU_1, CLU_1, &STR__072);
        stringOPcons("if ", CLU_1, CLU_3, &STR_if_040);
        stringOPcons("else if ", CLU_1, CLU_8, &STR_else_040if_040);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(" == ", CLU_1, CLU_4, &STR__040_075_075_040);
        stringOPcons(")", CLU_1, CLU_1, &STR__051);
        stringOPcons("errcmp(", CLU_1, CLU_7, &STR_errcmp_050);
        stringOPcons(", ", CLU_1, CLU_2, &STR__054_040);
        stringOPcons("))", CLU_1, CLU_2, &STR__051_051);
        stringOPcons("{*iecode = ", CLU_1, CLU_11, &STR__173_052iecode_040_075_040);
        stringOPcons("body_ctrl_req = true;", CLU_1, CLU_21, &STR_body_137ctrl_137req_040_075_040true_073);
        stringOPcons("{signal(ERR_iteriterbodysignal);}}", CLU_1, CLU_34, &STR__173signal_050ERR_137iteriterbodysignal_051_073_175_175);
        stringOPcons(" {*iecode = ", CLU_1, CLU_12, &STR__040_173_052iecode_040_075_040);
        stringOPcons(" {signal(ERR_iterbodysignal);}}", CLU_1, CLU_31, &STR__040_173signal_050ERR_137iterbodysignal_051_073_175_175);
        stringOPcons(" {signal(", CLU_1, CLU_9, &STR__040_173signal_050);
        stringOPcons(");}", CLU_1, CLU_3, &STR__051_073_175);
        stringOPcons("else {", CLU_1, CLU_6, &STR_else_040_173);
        stringOPcons("}", CLU_1, CLU_1, &STR__175);
        stringOPcons(":;", CLU_1, CLU_2, &STR__072_073);
        g_resignal_own_init = 1;
    }
    enter_proc(1057);

  LINE(1063);
    {
    err = exOPenter();
    if (err != ERR_ok) goto ex_0;
    }

  LINE(1066);
    {
    CLUREF T_1_1;
    T_1_1.num = stmnt.vec->data[1];
    err = g_stmt(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(1072);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = stringOPconcat(STR_goto_040, el, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__073, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(1075);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = exOPget_current_ex_label(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_1, STR__072, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputl(e, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(1079);
    {
    err = exOPleave();
    if (err != ERR_ok) goto ex_0;
    }

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

  LINE(1084);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = stmnt.vec->data[0];
        T_1_3.num = T_1_1.vec->size; 
        T_1_4 = T_1_1;
        for (T_1_2.num = 1; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            each_sig.num = T_1_4.vec->data[T_1_2.num - 1];

  LINE(1085);
            {
            if (first.num == true) {

  LINE(1087);
                {
                err = g_envOPputs(e, STR_if_040);
                if (err != ERR_ok) goto ex_0;
                }
                {
                first.tf = false;
                }
                }
            else {

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

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

  LINE(1092);
            {
                {CLUREF T_2_1;
                err = sigOPname(each_sig, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                sig_name.num = T_2_1.num;
                }
                }

  LINE(1093);
            {
            CLUREF T_2_1;
            err = sigOPlookup(each_sig, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            if (T_2_1.num == true) {

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

  LINE(1096);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                err = stringOPconcat(STR__040_075_075_040, sig_name, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                err = stringOPconcat(T_3_1, STR__051, &T_3_2);
                if (err != ERR_ok) goto ex_0;
                err = g_envOPputs(e, T_3_2);
                if (err != ERR_ok) goto ex_0;
                }
                }
            else {

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

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

  LINE(1100);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                err = stringOPconcat(STR__054_040, sig_name, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                err = stringOPconcat(T_3_1, STR__051_051, &T_3_2);
                if (err != ERR_ok) goto ex_0;
                err = g_envOPputs(e, T_3_2);
                if (err != ERR_ok) goto ex_0;
                }
                }}/* end if */

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

  LINE(1104);
                {
                    {CLUREF T_3_1;
                    err = current_applyOPis_iter(&T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    iterp.num = T_3_1.num;
                    }
                    }

  LINE(1105);
                {
                if (iterp.num == true) {

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

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

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

  LINE(1110);
                    {
                    err = g_locals(e);
                    if (err != ERR_ok) goto ex_0;
                    }

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

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

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

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

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

  LINE(1117);
                    {
                    err = g_envOPputl(e, STR__040_173signal_050ERR_137iterbodysignal_051_073_175_175);
                    if (err != ERR_ok) goto ex_0;
                    }
                    }}/* end if */
                }
            else {

  LINE(1120);
                {
                CLUREF T_3_1;
                CLUREF T_3_2;
                err = stringOPconcat(STR__040_173signal_050, sig_name, &T_3_1);
                if (err != ERR_ok) goto ex_0;
                err = stringOPconcat(T_3_1, STR__051_073_175, &T_3_2);
                if (err != ERR_ok) goto ex_0;
                err = g_envOPputl(e, T_3_2);
                if (err != ERR_ok) goto ex_0;
                }
                }}/* end if */
        }
    }
    end_inline_for_1:;

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

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

  LINE(1127);
    {
    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_goto_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_envOPputs(e, T_1_3);
    if (err != ERR_ok) goto ex_0;
    }

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

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

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

  LINE(1133);
    {
    CLUREF T_1_1;
    err = stringOPconcat(el, STR__072_073, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = g_envOPputs(e, T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(1134);
    {
    err = g_envOPensure_newline(e);
    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_resignal ****/

