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

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


extern struct dbg_info* dbg_info_array_replace;
#undef MY_TRACE_FLAG
#define MY_TRACE_FLAG array_replace_TRACE
int array_replace_TRACE;
extern struct OPS *int_ops;
static Vlist0 owns_array_replace = {0, 0};

typedef struct {
int count;
} array_replace_of_t_REQS;

array_replace_of_t_REQS array_replace_of_t_reqs_actual = {0};

struct REQS * array_replace_of_t_reqs = (struct REQS *)&array_replace_of_t_reqs_actual;


typedef struct {
    int count;
    OWNPTR type_owns;
    OWNPTR op_owns;
    } array_replace_of_t_OPS;

extern errcode intOPsub();
extern errcode arrayOPlow();
extern errcode arrayOPsize();
extern errcode intOPlt();
extern errcode _eventOPdefer();
extern errcode _advOPget_vector();
extern errcode _cvt();
extern errcode intOPequal();
extern errcode _eventOPundefer();
extern errcode intOPadd();
extern errcode _advOPget_start();
extern errcode _advOPset_start();
extern errcode intOPgt();
extern errcode _vecOPmove_lr();
extern errcode _advOPset_size();
extern errcode intOPge();
extern errcode _vecOPequal();
extern errcode _vecOPcreate();
extern errcode _vecOPsize();
extern errcode _advOPset_vector();
extern errcode _vecOPmove_rl();
extern struct REQS *array_of_t_reqs;
extern OWN_req array_ownreqs;
extern struct OPS *array_ops;
extern OWN_req int_ownreqs;
extern struct REQS *_adv_of_t_reqs;
extern OWN_req _adv_ownreqs;
extern struct OPS *_adv_ops;
extern struct REQS *_vec_of_t_reqs;
extern OWN_req _vec_ownreqs;
extern struct OPS *_vec_ops;

typedef struct {
    int array_replace_own_init;
    array_replace_of_t_OPS *t_ops;
    struct OPS *array_of_t_table;
    struct OPS *array_of_t_ops;
    OWNPTR array_of_t_owns;
    struct OPS *_adv_of_t_table;
    struct OPS *_adv_of_t_ops;
    OWNPTR _adv_of_t_owns;
    struct OPS *_vec_of_t_table;
    struct OPS *_vec_of_t_ops;
    OWNPTR _vec_of_t_owns;
    } array_replace_OWN_DEFN;
OWN_req array_replace_ownreqs = {sizeof(array_replace_OWN_DEFN), 1};


/**** BEGIN PROCEDURE array_replace ****/

errcode array_replace(a1, b1, w1, a2, b2, w2)
CLUREF a1;
CLUREF b1;
CLUREF w1;
CLUREF a2;
CLUREF b2;
CLUREF w2;
    {
    struct {
        struct dbg_info *DBG_INFO;
        int DBG_LINE;
        errcode err;
        errcode ecode2;
        array_replace_OWN_DEFN *op_own_ptr;
        CLUREF f1;
        CLUREF r1;
        CLUREF f2;
        CLUREF r2;
        CLUREF v1;
        CLUREF s1;
        CLUREF v2;
        CLUREF w3;
        CLUREF tot;
        CLUREF s2;
        CLUREF s3;
        CLUREF nv;
        CLUREF v3;
        CLUREF df;
        CLUREF s0;
        CLUREF a1;
        CLUREF b1;
        CLUREF w1;
        CLUREF a2;
        CLUREF b2;
        CLUREF w2;
        } locals;
    locals.f1.num = UNINIT;
    locals.r1.num = UNINIT;
    locals.f2.num = UNINIT;
    locals.r2.num = UNINIT;
    locals.v1.num = UNINIT;
    locals.s1.num = UNINIT;
    locals.v2.num = UNINIT;
    locals.w3.num = UNINIT;
    locals.tot.num = UNINIT;
    locals.s2.num = UNINIT;
    locals.s3.num = UNINIT;
    locals.nv.num = UNINIT;
    locals.v3.num = UNINIT;
    locals.df.num = UNINIT;
    locals.s0.num = UNINIT;
    locals.a1.num = UNINIT;
    locals.b1.num = UNINIT;
    locals.w1.num = UNINIT;
    locals.a2.num = UNINIT;
    locals.b2.num = UNINIT;
    locals.w2.num = UNINIT;
    locals.DBG_INFO = dbg_info_array_replace;
    locals.a1 = a1;
    locals.b1 = b1;
    locals.w1 = w1;
    locals.a2 = a2;
    locals.b2 = b2;
    locals.w2 = w2;
    locals.op_own_ptr = (array_replace_OWN_DEFN*) CUR_PROC_VAR.proc->op_owns;
        if (locals.op_own_ptr->array_replace_own_init == 0) {
        add_parm_info_type(0, locals.op_own_ptr->t_ops, array_of_t_reqs);
        find_type_instance(array_ops, 1, &array_ownreqs, &(locals.op_own_ptr->array_of_t_ops));
        add_parm_info_type(0, locals.op_own_ptr->t_ops, _adv_of_t_reqs);
        find_type_instance(_adv_ops, 1, &_adv_ownreqs, &(locals.op_own_ptr->_adv_of_t_ops));
        add_parm_info_type(0, locals.op_own_ptr->t_ops, _vec_of_t_reqs);
        find_type_instance(_vec_ops, 1, &_vec_ownreqs, &(locals.op_own_ptr->_vec_of_t_ops));
        }
        if (locals.op_own_ptr->array_replace_own_init == 0) {
        locals.op_own_ptr->array_replace_own_init = 1;
    }
    enter_proc(3);

  LINE(8);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a1.array->ext_low;
        locals.err = intOPsub(locals.b1, T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.f1.num = T_1_2.num;
        }
        }

  LINE(9);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a1.array->ext_size;
        locals.err = intOPsub(T_1_1, locals.f1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.r1.num = T_1_2.num;
        }
        }

  LINE(10);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a2.array->ext_low;
        locals.err = intOPsub(locals.b2, T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.f2.num = T_1_2.num;
        }
        }

  LINE(11);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a2.array->ext_size;
        locals.err = intOPsub(T_1_1, locals.f2, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.r2.num = T_1_2.num;
        }
        }

  LINE(12);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    CLUREF T_1_7;
    T_1_4.num = (locals.f1.num < 0)? true : false;
    T_1_3.num = T_1_4.num;
    if (!T_1_4.num) {
        T_1_5.num = (locals.r1.num < 0)? true : false;
        T_1_3.num = T_1_5.num;
    }
    T_1_2.num = T_1_3.num;
    if (!T_1_3.num) {
        T_1_6.num = (locals.f2.num < 0)? true : false;
        T_1_2.num = T_1_6.num;
    }
    T_1_1.num = T_1_2.num;
    if (!T_1_2.num) {
        T_1_7.num = (locals.r2.num < 0)? true : false;
        T_1_1.num = T_1_7.num;
    }
    if (T_1_1.num == true) {

  LINE(13);
        {
        {signal (ERR_bounds);}}
        }
        }/* end if */

  LINE(14);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_2.num = (locals.w1.num < 0)? true : false;
    T_1_1.num = T_1_2.num;
    if (!T_1_2.num) {
        T_1_3.num = (locals.w2.num < 0)? true : false;
        T_1_1.num = T_1_3.num;
    }
    if (T_1_1.num == true) {

  LINE(15);
        {
        {signal (ERR_negative_size);}}
        }
        }/* end if */

  LINE(16);
    {
    locals.err = _eventOPdefer();
    if (locals.err != ERR_ok) goto ex_0;
    }

  LINE(17);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPget_vector;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPget_vector(T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.v1.num = T_1_2.num;
        }
        }

  LINE(18);
    {
    CLUREF T_1_1;
    T_1_1.num = (locals.r1.num < locals.w1.num)? true : false;
    if (T_1_1.num == true) {

  LINE(19);
        {
        locals.w1.num = locals.r1.num;
        }
        }
        }/* end if */

  LINE(20);
    {
    CLUREF T_1_1;
    T_1_1.num = (locals.r2.num < locals.w2.num)? true : false;
    if (T_1_1.num == true) {

  LINE(21);
        {
        locals.w2.num = locals.r2.num;
        }
        }
        }/* end if */

  LINE(22);
    {
    CLUREF T_1_1;
    T_1_1.num = (locals.w2.num == 0)? true : false;
    if (T_1_1.num == true) {

  LINE(23);
        {
        CLUREF T_2_1;
        T_2_1.num = (locals.w1.num == 0)? true : false;
        if (T_2_1.num == true) {

  LINE(24);
            {
            locals.err = _eventOPundefer();
            if (locals.err != ERR_ok) goto ex_0;
            }

  LINE(25);
            {
            {signal (ERR_ok);}}
            }
            }/* end if */

  LINE(27);
        {
            {CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            T_2_1.num = locals.a1.num;
            generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
            generic_CLU_proc.proc = _advOPget_start;
            CUR_PROC_VAR.proc = &generic_CLU_proc;
            locals.err = _advOPget_start(T_2_1, &T_2_2);
            if (locals.err != ERR_ok) goto ex_0;
            locals.err = intOPadd(T_2_2, locals.f1, &T_2_3);
            if (locals.err != ERR_ok) goto ex_0;
            locals.s1.num = T_2_3.num;
            }
            }

  LINE(28);
        {
        CLUREF T_2_1;
        T_2_1.num = (locals.f1.num == 0)? true : false;
        if (T_2_1.num == true) {

  LINE(29);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.num = locals.a1.num;
            locals.err = intOPadd(locals.s1, locals.w1, &T_3_2);
            if (locals.err != ERR_ok) goto ex_0;
            generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
            generic_CLU_proc.proc = _advOPset_start;
            CUR_PROC_VAR.proc = &generic_CLU_proc;
            locals.err = _advOPset_start(T_3_1, T_3_2);
            if (locals.err != ERR_ok) goto ex_0;
            }
            }
        else {

  LINE(30);
            {
            CLUREF T_3_1;
            T_3_1.num = (locals.r1.num > locals.w1.num)? true : false;
            if (T_3_1.num == true) {

  LINE(31);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                locals.err = intOPadd(locals.s1, locals.w1, &T_4_1);
                if (locals.err != ERR_ok) goto ex_0;
                locals.err = intOPsub(locals.r1, locals.w1, &T_4_2);
                if (locals.err != ERR_ok) goto ex_0;
                locals.err = _vecOPmove_lr(locals.v1, T_4_1, locals.v1, locals.s1, T_4_2);
                if (locals.err != ERR_ok) goto ex_0;
                }
                }
                }/* end if */

  LINE(32);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            T_3_1.num = locals.a1.num;
            T_3_2.num = locals.a1.array->ext_size;
            locals.err = intOPsub(T_3_2, locals.w1, &T_3_3);
            if (locals.err != ERR_ok) goto ex_0;
            generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
            generic_CLU_proc.proc = _advOPset_size;
            CUR_PROC_VAR.proc = &generic_CLU_proc;
            locals.err = _advOPset_size(T_3_1, T_3_3);
            if (locals.err != ERR_ok) goto ex_0;
            }
            }}/* end if */

  LINE(34);
        {
        locals.err = _eventOPundefer();
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(35);
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(37);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a2.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPget_vector;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPget_vector(T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.v2.num = T_1_2.num;
        }
        }

  LINE(38);
    {
        {CLUREF T_1_1;
        locals.err = intOPsub(locals.r1, locals.w1, &T_1_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.w3.num = T_1_1.num;
        }
        }

  LINE(39);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        locals.err = intOPadd(locals.f1, locals.w2, &T_1_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = intOPadd(T_1_1, locals.w3, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.tot.num = T_1_2.num;
        }
        }

  LINE(40);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPget_start;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPget_start(T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.s1.num = T_1_2.num;
        }
        }

  LINE(41);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        T_1_1.num = locals.a2.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPget_start;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPget_start(T_1_1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = intOPadd(T_1_2, locals.f2, &T_1_3);
        if (locals.err != ERR_ok) goto ex_0;
        locals.s2.num = T_1_3.num;
        }
        }

  LINE(42);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        locals.err = intOPadd(locals.s1, locals.f1, &T_1_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = intOPadd(T_1_1, locals.w1, &T_1_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.s3.num = T_1_2.num;
        }
        }

  LINE(43);
    {
    CLUREF T_1_1;
    T_1_1.num = (locals.w1.num >= locals.w2.num)? true : false;
    if (T_1_1.num == true) {

  LINE(44);
        {
        CLUREF T_2_1;
        locals.err = _vecOPequal(locals.v1, locals.v2, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        if (T_2_1.num == true) {

  LINE(45);
            {
                {CLUREF T_3_1;
                locals.err = _vecOPcreate(locals.w2, &T_3_1);
                if (locals.err != ERR_ok) goto ex_0;
                locals.nv.num = T_3_1.num;
                }
                }

  LINE(46);
            {
            locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.nv, CLU_1, locals.w2);
            if (locals.err != ERR_ok) goto ex_0;
            }

  LINE(47);
            {
            locals.v2.num = locals.nv.num;
            }

  LINE(48);
            {
            locals.s2.num = 1;
            }
            }
            }/* end if */

  LINE(50);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.s1, locals.f1, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.v1, T_2_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(51);
        {
        CLUREF T_2_1;
        T_2_1.num = (locals.w1.num > locals.w2.num)? true : false;
        if (T_2_1.num == true) {

  LINE(52);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            locals.err = intOPsub(locals.s3, locals.w1, &T_3_1);
            if (locals.err != ERR_ok) goto ex_0;
            locals.err = intOPadd(T_3_1, locals.w2, &T_3_2);
            if (locals.err != ERR_ok) goto ex_0;
            locals.err = _vecOPmove_lr(locals.v1, locals.s3, locals.v1, T_3_2, locals.w3);
            if (locals.err != ERR_ok) goto ex_0;
            }

  LINE(53);
            {
            CLUREF T_3_1;
            T_3_1.num = locals.a1.num;
            generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
            generic_CLU_proc.proc = _advOPset_size;
            CUR_PROC_VAR.proc = &generic_CLU_proc;
            locals.err = _advOPset_size(T_3_1, locals.tot);
            if (locals.err != ERR_ok) goto ex_0;
            }
            }
            }/* end if */

  LINE(55);
        {
        locals.err = _eventOPundefer();
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(56);
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(58);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    locals.err = _vecOPsize(locals.v1, &T_1_1);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_2.num = (T_1_1.num < locals.tot.num)? true : false;
    if (T_1_2.num == true) {

  LINE(59);
        {
            {CLUREF T_2_1;
            locals.err = _vecOPcreate(locals.tot, &T_2_1);
            if (locals.err != ERR_ok) goto ex_0;
            locals.v3.num = T_2_1.num;
            }
            }

  LINE(60);
        {
        locals.err = _vecOPmove_lr(locals.v1, locals.s1, locals.v3, CLU_1, locals.f1);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(61);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.f1, CLU_1, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.v3, T_2_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(62);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        locals.err = intOPadd(locals.f1, locals.w2, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = intOPadd(T_2_1, CLU_1, &T_2_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v1, locals.s3, locals.v3, T_2_2, locals.w3);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(63);
        {
        CLUREF T_2_1;
        T_2_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPset_vector;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPset_vector(T_2_1, locals.v3);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(64);
        {
        locals.err = _eventOPundefer();
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(65);
        {
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(67);
    {
    CLUREF T_1_1;
    locals.err = _vecOPequal(locals.v1, locals.v2, &T_1_1);
    if (locals.err != ERR_ok) goto ex_0;
    if (T_1_1.num == true) {

  LINE(68);
        {
            {CLUREF T_2_1;
            locals.err = _vecOPcreate(locals.w2, &T_2_1);
            if (locals.err != ERR_ok) goto ex_0;
            locals.nv.num = T_2_1.num;
            }
            }

  LINE(69);
        {
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.nv, CLU_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(70);
        {
        locals.v2.num = locals.nv.num;
        }

  LINE(71);
        {
        locals.s2.num = 1;
        }
        }
        }/* end if */

  LINE(73);
    {
        {CLUREF T_1_1;
        locals.err = intOPsub(locals.w2, locals.w1, &T_1_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.df.num = T_1_1.num;
        }
        }

  LINE(74);
    {
    CLUREF T_1_1;
    T_1_1.num = (locals.s1.num > locals.df.num)? true : false;
    if (T_1_1.num == true) {

  LINE(75);
        {
            {CLUREF T_2_1;
            locals.err = intOPsub(locals.s1, locals.df, &T_2_1);
            if (locals.err != ERR_ok) goto ex_0;
            locals.s0.num = T_2_1.num;
            }
            }

  LINE(76);
        {
        CLUREF T_2_1;
        T_2_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPset_start;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPset_start(T_2_1, locals.s0);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(77);
        {
        locals.err = _vecOPmove_lr(locals.v1, locals.s1, locals.v1, locals.s0, locals.f1);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(78);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.s0, locals.f1, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.v1, T_2_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }
        }
    else {
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    CLUREF T_1_7;
    locals.err = _vecOPsize(locals.v1, &T_1_2);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPsub(T_1_2, locals.s1, &T_1_3);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_4.num = locals.a1.array->ext_size;
    locals.err = intOPsub(T_1_3, T_1_4, &T_1_5);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPadd(T_1_5, CLU_1, &T_1_6);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_7.num = (T_1_6.num >= locals.df.num)? true : false;
    if (T_1_7.num == true) {

  LINE(80);
        {
        CLUREF T_2_1;
        T_2_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPset_size;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPset_size(T_2_1, locals.tot);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(81);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.s3, locals.df, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_rl(locals.v1, locals.s3, locals.v1, T_2_1, locals.w3);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(82);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.s1, locals.f1, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.v1, T_2_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }
        }
    else {

  LINE(83);
        {
        CLUREF T_2_1;
        T_2_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPset_vector;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPset_vector(T_2_1, locals.v1);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(84);
        {
        locals.err = _vecOPmove_lr(locals.v1, locals.s1, locals.v1, CLU_1, locals.f1);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(85);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        locals.err = intOPadd(locals.f1, locals.w2, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = intOPadd(T_2_1, CLU_1, &T_2_2);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_rl(locals.v1, locals.s3, locals.v1, T_2_2, locals.w3);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(86);
        {
        CLUREF T_2_1;
        locals.err = intOPadd(locals.f1, CLU_1, &T_2_1);
        if (locals.err != ERR_ok) goto ex_0;
        locals.err = _vecOPmove_lr(locals.v2, locals.s2, locals.v1, T_2_1, locals.w2);
        if (locals.err != ERR_ok) goto ex_0;
        }

  LINE(87);
        {
        CLUREF T_2_1;
        T_2_1.num = locals.a1.num;
        generic_CLU_proc.type_owns = locals.op_own_ptr->_adv_of_t_ops->type_owns;
        generic_CLU_proc.proc = _advOPset_size;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        locals.err = _advOPset_size(T_2_1, locals.tot);
        if (locals.err != ERR_ok) goto ex_0;
        }
        }}}/* end if */

  LINE(89);
    {
    locals.err = _eventOPundefer();
    if (locals.err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (locals.err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(locals.err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE array_replace ****/

typedef struct {
    int hdr;
    int count;
    char *name;
    char *fname;
    bool is_iter;
    int is_parmd;
    int addr;
    int nargs;
    Vlist0 *vals;
    siglist2 *sigs;
    Vlist24 *locals;
    Vlist0 *owns;
    Vlist0 *ptowns;
    Vlist11 *popowns;
    Slist0 *type_formals;
    Slist1 *op_formals;
    } dbg_info_array_replace_actual;
static Vlist0 vals_array_replace = {0, 0};
static sig_desc0 sig_array_replace_1 = {0, 3, "bounds", {0, 0
}};
static sig_desc0 sig_array_replace_2 = {0, 3, "negative_size", {0, 0
}};
static siglist2 sigs_array_replace = {0, 2, (sig_desc*)&sig_array_replace_1, (sig_desc*)&sig_array_replace_2};
static Vlist24 locals_array_replace = {0, 24,{ {0, 2, "err", &int_ops},  {0, 2, "ecode2", &int_ops},  {0, 2, "op_own_ptr", &int_ops},  {0, 2, "f1", &int_ops},  {0, 2, "r1", &int_ops},  {0, 2, "f2", &int_ops},  {0, 2, "r2", &int_ops},  {0, 2, "v1", zero_ops, "_vec_of_t_ops"},  {0, 2, "s1", &int_ops},  {0, 2, "v2", zero_ops, "_vec_of_t_ops"},  {0, 2, "w3", &int_ops},  {0, 2, "tot", &int_ops},  {0, 2, "s2", &int_ops},  {0, 2, "s3", &int_ops},  {0, 2, "nv", zero_ops, "_vec_of_t_ops"},  {0, 2, "v3", zero_ops, "_vec_of_t_ops"},  {0, 2, "df", &int_ops},  {0, 2, "s0", &int_ops},  {0, 2, "a1", zero_ops, "array_of_t_ops"},  {0, 2, "b1", &int_ops},  {0, 2, "w1", &int_ops},  {0, 2, "a2", zero_ops, "array_of_t_ops"},  {0, 2, "b2", &int_ops},  {0, 2, "w2", &int_ops}}
};
static Vlist11 popowns_array_replace = {0, 11,{ {0, 2, "array_replace_init", &int_ops}
, {0, 2, "t_ops", &NULL_OPS}, {0, 2, "array_of_t_table", &NULL_OPS}, {0, 2, "array_of_t_ops", &NULL_OPS}, {0, 2, "array_of_t_owns", &NULL_OPS}, {0, 2, "_adv_of_t_table", &NULL_OPS}, {0, 2, "_adv_of_t_ops", &NULL_OPS}, {0, 2, "_adv_of_t_owns", &NULL_OPS}, {0, 2, "_vec_of_t_table", &NULL_OPS}, {0, 2, "_vec_of_t_ops", &NULL_OPS}, {0, 2, "_vec_of_t_owns", &NULL_OPS}}};
Slist0 tformals_array_replace = {0, 0};
Slist1 opformals_array_replace = {0, 1, "t"};
dbg_info_array_replace_actual dbg_info_array_replace_data = {0, 12, 
    "array_replace", "/common/pub/dcurtis-temp/pclu/lib/clu/array_replace.clu", 0, 1, (int)array_replace, 6, 
    &vals_array_replace, &sigs_array_replace, &locals_array_replace, &NO_VALS, &NO_VALS, &popowns_array_replace, &NO_PARMS, &opformals_array_replace};
    struct dbg_info *dbg_info_array_replace = (struct dbg_info*)&dbg_info_array_replace_data;
