static int sp_f_mux4(char *t1, char *t2)
{
    char t5[16];
    char t6[8];
    char t7[8];
    char t12[8];
    char t45[16];
    char t49[16];
    char t97[8];
    char t98[8];
    char t99[8];
    char t131[8];
    char t132[16];
    char t143[16];
    char t184[8];
    char t185[8];
    char t186[8];
    char t195[8];
    int t0;
    char *t3;
    char *t4;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t13;
    char *t14;
    unsigned int t15;
    unsigned int t16;
    unsigned int t17;
    unsigned int t18;
    unsigned int t19;
    unsigned int t20;
    unsigned int t21;
    unsigned int t22;
    unsigned int t23;
    unsigned int t24;
    unsigned int t25;
    unsigned int t26;
    char *t27;
    char *t28;
    unsigned int t29;
    unsigned int t30;
    unsigned int t31;
    unsigned int t32;
    unsigned int t33;
    char *t34;
    char *t35;
    unsigned int t36;
    unsigned int t37;
    unsigned int t38;
    char *t39;
    unsigned int t40;
    unsigned int t41;
    unsigned int t42;
    unsigned int t43;
    char *t44;
    char *t46;
    char *t47;
    char *t48;
    unsigned int t50;
    unsigned int t51;
    unsigned int t52;
    char *t53;
    char *t54;
    char *t55;
    unsigned int t56;
    unsigned int t57;
    unsigned int t58;
    unsigned int t59;
    unsigned int t60;
    char *t61;
    unsigned int t62;
    char *t63;
    unsigned int t64;
    char *t65;
    unsigned int t66;
    unsigned int t67;
    unsigned int t68;
    unsigned int t69;
    unsigned int t70;
    unsigned int t71;
    unsigned int t72;
    unsigned int t73;
    char *t74;
    unsigned int t75;
    char *t76;
    char *t77;
    unsigned int t78;
    char *t79;
    unsigned int t80;
    unsigned int t81;
    unsigned int t82;
    unsigned int t83;
    unsigned int t84;
    unsigned int t85;
    unsigned int t86;
    unsigned int t87;
    int t88;
    int t89;
    unsigned int t90;
    unsigned int t91;
    unsigned int t92;
    unsigned int t93;
    unsigned int t94;
    unsigned int t95;
    char *t96;
    char *t100;
    char *t101;
    char *t102;
    char *t103;
    char *t104;
    char *t105;
    unsigned int t106;
    int t107;
    char *t108;
    unsigned int t109;
    int t110;
    int t111;
    char *t112;
    unsigned int t113;
    int t114;
    int t115;
    unsigned int t116;
    int t117;
    unsigned int t118;
    unsigned int t119;
    int t120;
    int t121;
    char *t122;
    char *t123;
    char *t124;
    char *t125;
    char *t126;
    char *t127;
    char *t128;
    char *t129;
    char *t130;
    char *t133;
    char *t134;
    char *t135;
    char *t136;
    char *t137;
    char *t138;
    char *t139;
    char *t140;
    char *t141;
    char *t142;
    unsigned int t144;
    unsigned int t145;
    char *t146;
    char *t147;
    char *t148;
    unsigned int t149;
    unsigned int t150;
    unsigned int t151;
    unsigned int t152;
    unsigned int t153;
    char *t154;
    unsigned int t155;
    char *t156;
    unsigned int t157;
    char *t158;
    unsigned int t159;
    unsigned int t160;
    unsigned int t161;
    unsigned int t162;
    unsigned int t163;
    unsigned int t164;
    unsigned int t165;
    unsigned int t166;
    char *t167;
    unsigned int t168;
    char *t169;
    char *t170;
    unsigned int t171;
    char *t172;
    unsigned int t173;
    unsigned int t174;
    unsigned int t175;
    unsigned int t176;
    unsigned int t177;
    unsigned int t178;
    unsigned int t179;
    unsigned int t180;
    unsigned int t181;
    unsigned int t182;
    char *t183;
    char *t187;
    char *t188;
    char *t189;
    char *t190;
    char *t191;
    char *t192;
    char *t193;
    char *t194;
    char *t196;
    unsigned int t197;
    char *t198;
    unsigned int t199;
    char *t200;
    unsigned int t201;
    unsigned int t202;
    unsigned int t203;
    unsigned int t204;
    int t205;
    int t206;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    xsi_set_current_line(109, ng0);

LAB4:    xsi_set_current_line(110, ng0);
    t4 = ((char*)((ng1)));
    t8 = (t1 + 4888);
    t9 = (t8 + 56U);
    t10 = *((char **)t9);
    t11 = ((char*)((ng2)));
    memset(t12, 0, 8);
    t13 = (t10 + 4);
    t14 = (t11 + 4);
    t15 = *((unsigned int *)t10);
    t16 = *((unsigned int *)t11);
    t17 = (t15 ^ t16);
    t18 = *((unsigned int *)t13);
    t19 = *((unsigned int *)t14);
    t20 = (t18 ^ t19);
    t21 = (t17 | t20);
    t22 = *((unsigned int *)t13);
    t23 = *((unsigned int *)t14);
    t24 = (t22 | t23);
    t25 = (~(t24));
    t26 = (t21 & t25);
    if (t26 != 0)
        goto LAB8;

LAB5:    if (t24 != 0)
        goto LAB7;

LAB6:    *((unsigned int *)t12) = 1;

LAB8:    memset(t7, 0, 8);
    t28 = (t12 + 4);
    t29 = *((unsigned int *)t28);
    t30 = (~(t29));
    t31 = *((unsigned int *)t12);
    t32 = (t31 & t30);
    t33 = (t32 & 1U);
    if (t33 != 0)
        goto LAB9;

LAB10:    if (*((unsigned int *)t28) != 0)
        goto LAB11;

LAB12:    t35 = (t7 + 4);
    t36 = *((unsigned int *)t7);
    t37 = *((unsigned int *)t35);
    t38 = (t36 || t37);
    if (t38 > 0)
        goto LAB13;

LAB14:    t40 = *((unsigned int *)t7);
    t41 = (~(t40));
    t42 = *((unsigned int *)t35);
    t43 = (t41 || t42);
    if (t43 > 0)
        goto LAB15;

LAB16:    if (*((unsigned int *)t35) > 0)
        goto LAB17;

LAB18:    if (*((unsigned int *)t7) > 0)
        goto LAB19;

LAB20:    memcpy(t6, t44, 8);

LAB21:    xsi_vlog_mul_concat(t5, 39, 1, t4, 1U, t6, 1);
    t46 = (t1 + 5048);
    t47 = (t46 + 56U);
    t48 = *((char **)t47);
    xsi_vlog_get_part_select_value(t45, 39, t48, 38, 0);
    t50 = 0;

LAB25:    t51 = (t50 < 2);
    if (t51 == 1)
        goto LAB26;

LAB27:    t96 = (t1 + 5528);
    t100 = (t1 + 5528);
    t101 = (t100 + 72U);
    t102 = *((char **)t101);
    t103 = ((char*)((ng5)));
    t104 = ((char*)((ng2)));
    xsi_vlog_convert_partindices(t97, t98, t99, ((int*)(t102)), 2, t103, 32, 1, t104, 32, 1);
    t105 = (t97 + 4);
    t106 = *((unsigned int *)t105);
    t107 = (!(t106));
    t108 = (t98 + 4);
    t109 = *((unsigned int *)t108);
    t110 = (!(t109));
    t111 = (t107 && t110);
    t112 = (t99 + 4);
    t113 = *((unsigned int *)t112);
    t114 = (!(t113));
    t115 = (t111 && t114);
    if (t115 == 1)
        goto LAB28;

LAB29:    xsi_set_current_line(111, ng0);
    xsi_set_current_line(111, ng0);
    t4 = ((char*)((ng6)));
    t8 = (t1 + 5368);
    xsi_vlogvar_assign_value(t8, t4, 0, 0, 32);

LAB30:    t4 = (t1 + 5368);
    t8 = (t4 + 56U);
    t9 = *((char **)t8);
    t10 = ((char*)((ng7)));
    memset(t6, 0, 8);
    xsi_vlog_signed_less(t6, 32, t9, 32, t10, 32);
    t11 = (t6 + 4);
    t15 = *((unsigned int *)t11);
    t16 = (~(t15));
    t17 = *((unsigned int *)t6);
    t18 = (t17 & t16);
    t19 = (t18 != 0);
    if (t19 > 0)
        goto LAB31;

LAB32:    xsi_set_current_line(116, ng0);
    t4 = (t1 + 5528);
    t8 = (t4 + 56U);
    t9 = *((char **)t8);
    xsi_vlog_get_part_select_value(t5, 39, t9, 155, 117);
    t10 = (t1 + 5208);
    xsi_vlogvar_assign_value(t10, t5, 0, 0, 39);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;

LAB1:    return t0;
LAB7:    t27 = (t12 + 4);
    *((unsigned int *)t12) = 1;
    *((unsigned int *)t27) = 1;
    goto LAB8;

LAB9:    *((unsigned int *)t7) = 1;
    goto LAB12;

LAB11:    t34 = (t7 + 4);
    *((unsigned int *)t7) = 1;
    *((unsigned int *)t34) = 1;
    goto LAB12;

LAB13:    t39 = ((char*)((ng3)));
    goto LAB14;

LAB15:    t44 = ((char*)((ng4)));
    goto LAB16;

LAB17:    xsi_vlog_unsigned_bit_combine(t6, 1, t39, 1, t44, 1);
    goto LAB21;

LAB19:    memcpy(t6, t39, 8);
    goto LAB21;

LAB22:    t71 = (t50 * 8);
    t72 = *((unsigned int *)t55);
    t73 = *((unsigned int *)t65);
    *((unsigned int *)t55) = (t72 | t73);
    t74 = (t5 + t71);
    t75 = (t71 + 4);
    t76 = (t5 + t75);
    t77 = (t45 + t71);
    t78 = (t71 + 4);
    t79 = (t45 + t78);
    t80 = *((unsigned int *)t74);
    t81 = (~(t80));
    t82 = *((unsigned int *)t76);
    t83 = (~(t82));
    t84 = *((unsigned int *)t77);
    t85 = (~(t84));
    t86 = *((unsigned int *)t79);
    t87 = (~(t86));
    t88 = (t81 & t83);
    t89 = (t85 & t87);
    t90 = (~(t88));
    t91 = (~(t89));
    t92 = *((unsigned int *)t65);
    *((unsigned int *)t65) = (t92 & t90);
    t93 = *((unsigned int *)t65);
    *((unsigned int *)t65) = (t93 & t91);
    t94 = *((unsigned int *)t55);
    *((unsigned int *)t55) = (t94 & t90);
    t95 = *((unsigned int *)t55);
    *((unsigned int *)t55) = (t95 & t91);

LAB24:    t50 = (t50 + 1);
    goto LAB25;

LAB23:    goto LAB24;

LAB26:    t52 = (t50 * 8);
    t53 = (t5 + t52);
    t54 = (t45 + t52);
    t55 = (t49 + t52);
    t56 = *((unsigned int *)t53);
    t57 = *((unsigned int *)t54);
    t58 = (t56 & t57);
    *((unsigned int *)t55) = t58;
    t59 = (t50 * 8);
    t60 = (t59 + 4);
    t61 = (t5 + t60);
    t62 = (t59 + 4);
    t63 = (t45 + t62);
    t64 = (t59 + 4);
    t65 = (t49 + t64);
    t66 = *((unsigned int *)t61);
    t67 = *((unsigned int *)t63);
    t68 = (t66 | t67);
    *((unsigned int *)t65) = t68;
    t69 = *((unsigned int *)t65);
    t70 = (t69 != 0);
    if (t70 == 1)
        goto LAB22;
    else
        goto LAB23;

LAB28:    t116 = *((unsigned int *)t99);
    t117 = (t116 + 0);
    t118 = *((unsigned int *)t97);
    t119 = *((unsigned int *)t98);
    t120 = (t118 - t119);
    t121 = (t120 + 1);
    xsi_vlogvar_assign_value(t96, t49, t117, *((unsigned int *)t98), t121);
    goto LAB29;

LAB31:    xsi_set_current_line(111, ng0);

LAB33:    t13 = (t1 + 576);
    xsi_vlog_namedbase_setdisablestate(t13, &&LAB34);
    xsi_vlog_namedbase_pushprocess(t13, t2);

LAB35:    xsi_set_current_line(112, ng0);
    t14 = (t1 + 5528);
    t27 = (t14 + 56U);
    t28 = *((char **)t27);
    t34 = (t1 + 5528);
    t35 = (t34 + 72U);
    t39 = *((char **)t35);
    t44 = (t1 + 5368);
    t46 = (t44 + 56U);
    t47 = *((char **)t46);
    t48 = ((char*)((ng6)));
    memset(t7, 0, 8);
    xsi_vlog_signed_minus(t7, 32, t47, 32, t48, 32);
    t53 = (t1 + 1472);
    t54 = *((char **)t53);
    memset(t12, 0, 8);
    xsi_vlog_signed_multiply(t12, 32, t7, 32, t54, 32);
    t53 = ((char*)((ng1)));
    xsi_vlog_get_indexed_partselect(t5, 39, t28, ((int*)(t39)), 2, t12, 32, 1, t53, 32, 1, 1);
    t55 = ((char*)((ng1)));
    t61 = (t1 + 4888);
    t63 = (t61 + 56U);
    t65 = *((char **)t63);
    t74 = (t1 + 5368);
    t76 = (t74 + 56U);
    t77 = *((char **)t76);
    memset(t99, 0, 8);
    t79 = (t65 + 4);
    t96 = (t77 + 4);
    t20 = *((unsigned int *)t65);
    t21 = *((unsigned int *)t77);
    t22 = (t20 ^ t21);
    t23 = *((unsigned int *)t79);
    t24 = *((unsigned int *)t96);
    t25 = (t23 ^ t24);
    t26 = (t22 | t25);
    t29 = *((unsigned int *)t79);
    t30 = *((unsigned int *)t96);
    t31 = (t29 | t30);
    t32 = (~(t31));
    t33 = (t26 & t32);
    if (t33 != 0)
        goto LAB39;

LAB36:    if (t31 != 0)
        goto LAB38;

LAB37:    *((unsigned int *)t99) = 1;

LAB39:    memset(t98, 0, 8);
    t101 = (t99 + 4);
    t36 = *((unsigned int *)t101);
    t37 = (~(t36));
    t38 = *((unsigned int *)t99);
    t40 = (t38 & t37);
    t41 = (t40 & 1U);
    if (t41 != 0)
        goto LAB40;

LAB41:    if (*((unsigned int *)t101) != 0)
        goto LAB42;

LAB43:    t103 = (t98 + 4);
    t42 = *((unsigned int *)t98);
    t43 = *((unsigned int *)t103);
    t50 = (t42 || t43);
    if (t50 > 0)
        goto LAB44;

LAB45:    t51 = *((unsigned int *)t98);
    t52 = (~(t51));
    t56 = *((unsigned int *)t103);
    t57 = (t52 || t56);
    if (t57 > 0)
        goto LAB46;

LAB47:    if (*((unsigned int *)t103) > 0)
        goto LAB48;

LAB49:    if (*((unsigned int *)t98) > 0)
        goto LAB50;

LAB51:    memcpy(t97, t105, 8);

LAB52:    xsi_vlog_mul_concat(t45, 39, 1, t55, 1U, t97, 1);
    t108 = (t1 + 5048);
    t112 = (t108 + 56U);
    t122 = *((char **)t112);
    t123 = (t1 + 5048);
    t124 = (t123 + 72U);
    t125 = *((char **)t124);
    t126 = (t1 + 5368);
    t127 = (t126 + 56U);
    t128 = *((char **)t127);
    t129 = (t1 + 1472);
    t130 = *((char **)t129);
    memset(t131, 0, 8);
    xsi_vlog_signed_multiply(t131, 32, t128, 32, t130, 32);
    t129 = ((char*)((ng1)));
    xsi_vlog_get_indexed_partselect(t49, 39, t122, ((int*)(t125)), 2, t131, 32, 1, t129, 32, 1, 1);
    t58 = 0;

LAB56:    t59 = (t58 < 2);
    if (t59 == 1)
        goto LAB57;

LAB58:    t119 = 0;

LAB62:    t144 = (t119 < 2);
    if (t144 == 1)
        goto LAB63;

LAB64:    t183 = (t1 + 5528);
    t187 = (t1 + 5528);
    t188 = (t187 + 72U);
    t189 = *((char **)t188);
    t190 = (t1 + 5368);
    t191 = (t190 + 56U);
    t192 = *((char **)t191);
    t193 = (t1 + 1472);
    t194 = *((char **)t193);
    memset(t195, 0, 8);
    xsi_vlog_signed_multiply(t195, 32, t192, 32, t194, 32);
    t193 = ((char*)((ng1)));
    xsi_vlog_convert_indexed_partindices(t184, t185, t186, ((int*)(t189)), 2, t195, 32, 1, t193, 32, 1, 1);
    t196 = (t184 + 4);
    t197 = *((unsigned int *)t196);
    t111 = (!(t197));
    t198 = (t185 + 4);
    t199 = *((unsigned int *)t198);
    t114 = (!(t199));
    t115 = (t111 && t114);
    t200 = (t186 + 4);
    t201 = *((unsigned int *)t200);
    t117 = (!(t201));
    t120 = (t115 && t117);
    if (t120 == 1)
        goto LAB65;

LAB66:    t4 = (t1 + 576);
    xsi_vlog_namedbase_popprocess(t4);

LAB34:    xsi_vlog_dispose_subprogram_invocation(t2);
    xsi_set_current_line(111, ng0);
    t4 = (t1 + 5368);
    t8 = (t4 + 56U);
    t9 = *((char **)t8);
    t10 = ((char*)((ng6)));
    memset(t6, 0, 8);
    xsi_vlog_signed_add(t6, 32, t9, 32, t10, 32);
    t11 = (t1 + 5368);
    xsi_vlogvar_assign_value(t11, t6, 0, 0, 32);
    goto LAB30;

LAB38:    t100 = (t99 + 4);
    *((unsigned int *)t99) = 1;
    *((unsigned int *)t100) = 1;
    goto LAB39;

LAB40:    *((unsigned int *)t98) = 1;
    goto LAB43;

LAB42:    t102 = (t98 + 4);
    *((unsigned int *)t98) = 1;
    *((unsigned int *)t102) = 1;
    goto LAB43;

LAB44:    t104 = ((char*)((ng3)));
    goto LAB45;

LAB46:    t105 = ((char*)((ng4)));
    goto LAB47;

LAB48:    xsi_vlog_unsigned_bit_combine(t97, 1, t104, 1, t105, 1);
    goto LAB52;

LAB50:    memcpy(t97, t104, 8);
    goto LAB52;

LAB53:    t80 = (t58 * 8);
    t81 = *((unsigned int *)t135);
    t82 = *((unsigned int *)t138);
    *((unsigned int *)t135) = (t81 | t82);
    t139 = (t45 + t80);
    t83 = (t80 + 4);
    t140 = (t45 + t83);
    t141 = (t49 + t80);
    t84 = (t80 + 4);
    t142 = (t49 + t84);
    t85 = *((unsigned int *)t139);
    t86 = (~(t85));
    t87 = *((unsigned int *)t140);
    t90 = (~(t87));
    t91 = *((unsigned int *)t141);
    t92 = (~(t91));
    t93 = *((unsigned int *)t142);
    t94 = (~(t93));
    t88 = (t86 & t90);
    t89 = (t92 & t94);
    t95 = (~(t88));
    t106 = (~(t89));
    t109 = *((unsigned int *)t138);
    *((unsigned int *)t138) = (t109 & t95);
    t113 = *((unsigned int *)t138);
    *((unsigned int *)t138) = (t113 & t106);
    t116 = *((unsigned int *)t135);
    *((unsigned int *)t135) = (t116 & t95);
    t118 = *((unsigned int *)t135);
    *((unsigned int *)t135) = (t118 & t106);

LAB55:    t58 = (t58 + 1);
    goto LAB56;

LAB54:    goto LAB55;

LAB57:    t60 = (t58 * 8);
    t133 = (t45 + t60);
    t134 = (t49 + t60);
    t135 = (t132 + t60);
    t62 = *((unsigned int *)t133);
    t64 = *((unsigned int *)t134);
    t66 = (t62 & t64);
    *((unsigned int *)t135) = t66;
    t67 = (t58 * 8);
    t68 = (t67 + 4);
    t136 = (t45 + t68);
    t69 = (t67 + 4);
    t137 = (t49 + t69);
    t70 = (t67 + 4);
    t138 = (t132 + t70);
    t71 = *((unsigned int *)t136);
    t72 = *((unsigned int *)t137);
    t73 = (t71 | t72);
    *((unsigned int *)t138) = t73;
    t75 = *((unsigned int *)t138);
    t78 = (t75 != 0);
    if (t78 == 1)
        goto LAB53;
    else
        goto LAB54;

LAB59:    t164 = (t119 * 8);
    t165 = *((unsigned int *)t148);
    t166 = *((unsigned int *)t158);
    *((unsigned int *)t148) = (t165 | t166);
    t167 = (t5 + t164);
    t168 = (t164 + 4);
    t169 = (t5 + t168);
    t170 = (t132 + t164);
    t171 = (t164 + 4);
    t172 = (t132 + t171);
    t173 = *((unsigned int *)t169);
    t174 = (~(t173));
    t175 = *((unsigned int *)t167);
    t107 = (t175 & t174);
    t176 = *((unsigned int *)t172);
    t177 = (~(t176));
    t178 = *((unsigned int *)t170);
    t110 = (t178 & t177);
    t179 = (~(t107));
    t180 = (~(t110));
    t181 = *((unsigned int *)t158);
    *((unsigned int *)t158) = (t181 & t179);
    t182 = *((unsigned int *)t158);
    *((unsigned int *)t158) = (t182 & t180);

LAB61:    t119 = (t119 + 1);
    goto LAB62;

LAB60:    goto LAB61;

LAB63:    t145 = (t119 * 8);
    t146 = (t5 + t145);
    t147 = (t132 + t145);
    t148 = (t143 + t145);
    t149 = *((unsigned int *)t146);
    t150 = *((unsigned int *)t147);
    t151 = (t149 | t150);
    *((unsigned int *)t148) = t151;
    t152 = (t119 * 8);
    t153 = (t152 + 4);
    t154 = (t5 + t153);
    t155 = (t152 + 4);
    t156 = (t132 + t155);
    t157 = (t152 + 4);
    t158 = (t143 + t157);
    t159 = *((unsigned int *)t154);
    t160 = *((unsigned int *)t156);
    t161 = (t159 | t160);
    *((unsigned int *)t158) = t161;
    t162 = *((unsigned int *)t158);
    t163 = (t162 != 0);
    if (t163 == 1)
        goto LAB59;
    else
        goto LAB60;

LAB65:    t202 = *((unsigned int *)t186);
    t121 = (t202 + 0);
    t203 = *((unsigned int *)t184);
    t204 = *((unsigned int *)t185);
    t205 = (t203 - t204);
    t206 = (t205 + 1);
    xsi_vlogvar_assign_value(t183, t143, t121, *((unsigned int *)t185), t206);
    goto LAB66;

}
static int sp_Read_Data(char *t1, char *t2)
{
    char t18[8];
    char t19[8];
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    int t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    char *t20;
    char *t21;
    char *t22;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t27;
    char *t28;
    char *t29;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 2144);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(93, ng0);

LAB5:    xsi_set_current_line(94, ng0);
    t5 = ((char*)((ng3)));
    t6 = (t5 + 4);
    t7 = *((unsigned int *)t6);
    t8 = (~(t7));
    t9 = *((unsigned int *)t5);
    t10 = (t9 & t8);
    t11 = (t1 + 8856);
    *((int *)t11) = t10;

LAB6:    t12 = (t1 + 8856);
    if (*((int *)t12) > 0)
        goto LAB7;

LAB8:    xsi_set_current_line(99, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t6 = (t2 + 56U);
    t11 = *((char **)t6);
    xsi_vlog_subprograminvocation_setJumpstate(t2, t11, &&LAB11);
    t12 = (t2 + 56U);
    t13 = *((char **)t12);
    t14 = (t1 + 848);
    t15 = xsi_create_subprogram_invocation(t13, 0, t1, t14, 0, t2);
    xsi_vlog_subprogram_pushinvocation(t14, t15);

LAB13:    t16 = (t2 + 64U);
    t17 = *((char **)t16);
    t20 = (t17 + 80U);
    t21 = *((char **)t20);
    t22 = (t21 + 272U);
    t23 = *((char **)t22);
    t24 = (t23 + 0U);
    t25 = *((char **)t24);
    t10 = ((int  (*)(char *, char *))t25)(t1, t17);
    if (t10 == -1)
        goto LAB14;

LAB15:    if (t10 != 0)
        goto LAB16;

LAB11:    t17 = (t1 + 848);
    xsi_vlog_subprogram_popinvocation(t17);

LAB12:    t26 = (t2 + 64U);
    t27 = *((char **)t26);
    t26 = (t1 + 848);
    t28 = (t2 + 56U);
    t29 = *((char **)t28);
    xsi_delete_subprogram_invocation(t26, t27, t1, t29, t2);
    xsi_set_current_line(100, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t1 + 2144);
    xsi_vlogfile_write(1, 0, 0, ng5, 2, t11, (char)118, t6, 8);
    xsi_set_current_line(101, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t1 + 3496);
    xsi_vlogvar_assign_value(t11, t6, 0, 0, 8);

LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;

LAB1:    return t0;
LAB7:    xsi_set_current_line(94, ng0);

LAB9:    xsi_set_current_line(95, ng0);
    t13 = (t2 + 88U);
    t14 = *((char **)t13);
    t15 = (t14 + 0U);
    xsi_wp_set_status(t15, 1);
    *((char **)t3) = &&LAB10;
    goto LAB1;

LAB10:    xsi_set_current_line(96, ng0);
    t16 = (t1 + 2776U);
    t17 = *((char **)t16);
    t16 = (t1 + 4776);
    xsi_vlogvar_assign_value(t16, t17, 0, 0, 1);
    xsi_set_current_line(97, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t1 + 4776);
    t12 = (t11 + 56U);
    t13 = *((char **)t12);
    xsi_vlogtype_concat(t18, 9, 9, 2U, t13, 1, t6, 8);
    t14 = ((char*)((ng4)));
    memset(t19, 0, 8);
    xsi_vlog_unsigned_rshift(t19, 9, t18, 9, t14, 32);
    t15 = (t1 + 3656);
    xsi_vlogvar_assign_value(t15, t19, 0, 0, 8);
    t4 = (t1 + 8856);
    t10 = *((int *)t4);
    *((int *)t4) = (t10 - 1);
    goto LAB6;

LAB14:    t0 = -1;
    goto LAB1;

LAB16:    t16 = (t2 + 48U);
    *((char **)t16) = &&LAB13;
    goto LAB1;

}
static int sp_Check_Address(char *t1, char *t2)
{
    char t18[8];
    char t19[8];
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    int t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    unsigned int t20;
    unsigned int t21;
    unsigned int t22;
    unsigned int t23;
    unsigned int t24;
    unsigned int t25;
    unsigned int t26;
    unsigned int t27;
    unsigned int t28;
    unsigned int t29;
    unsigned int t30;
    unsigned int t31;
    unsigned int t32;
    unsigned int t33;
    char *t34;
    char *t35;
    char *t36;
    char *t37;
    char *t38;
    char *t39;
    char *t40;
    char *t41;
    char *t42;
    char *t43;
    char *t44;
    char *t45;
    char *t46;
    char *t47;
    char *t48;
    char *t49;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 1280);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(54, ng0);

LAB5:    xsi_set_current_line(55, ng0);
    t5 = ((char*)((ng3)));
    t6 = (t5 + 4);
    t7 = *((unsigned int *)t6);
    t8 = (~(t7));
    t9 = *((unsigned int *)t5);
    t10 = (t9 & t8);
    t11 = (t1 + 8848);
    *((int *)t11) = t10;

LAB6:    t12 = (t1 + 8848);
    if (*((int *)t12) > 0)
        goto LAB7;

LAB8:    xsi_set_current_line(60, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t1 + 3816);
    t12 = (t11 + 56U);
    t13 = *((char **)t12);
    memset(t18, 0, 8);
    t14 = (t6 + 4);
    t15 = (t13 + 4);
    t7 = *((unsigned int *)t6);
    t8 = *((unsigned int *)t13);
    t9 = (t7 ^ t8);
    t20 = *((unsigned int *)t14);
    t21 = *((unsigned int *)t15);
    t22 = (t20 ^ t21);
    t23 = (t9 | t22);
    t24 = *((unsigned int *)t14);
    t25 = *((unsigned int *)t15);
    t26 = (t24 | t25);
    t27 = (~(t26));
    t28 = (t23 & t27);
    if (t28 != 0)
        goto LAB14;

LAB11:    if (t26 != 0)
        goto LAB13;

LAB12:    *((unsigned int *)t18) = 1;

LAB14:    t17 = (t18 + 4);
    t29 = *((unsigned int *)t17);
    t30 = (~(t29));
    t31 = *((unsigned int *)t18);
    t32 = (t31 & t30);
    t33 = (t32 != 0);
    if (t33 > 0)
        goto LAB15;

LAB16:
LAB17:
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;

LAB1:    return t0;
LAB7:    xsi_set_current_line(55, ng0);

LAB9:    xsi_set_current_line(56, ng0);
    t13 = (t2 + 88U);
    t14 = *((char **)t13);
    t15 = (t14 + 0U);
    xsi_wp_set_status(t15, 1);
    *((char **)t3) = &&LAB10;
    goto LAB1;

LAB10:    xsi_set_current_line(57, ng0);
    t16 = (t1 + 2776U);
    t17 = *((char **)t16);
    t16 = (t1 + 4616);
    xsi_vlogvar_assign_value(t16, t17, 0, 0, 1);
    xsi_set_current_line(58, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t1 + 4616);
    t12 = (t11 + 56U);
    t13 = *((char **)t12);
    xsi_vlogtype_concat(t18, 9, 9, 2U, t13, 1, t6, 8);
    t14 = ((char*)((ng4)));
    memset(t19, 0, 8);
    xsi_vlog_unsigned_rshift(t19, 9, t18, 9, t14, 32);
    t15 = (t1 + 3656);
    xsi_vlogvar_assign_value(t15, t19, 0, 0, 8);
    t4 = (t1 + 8848);
    t10 = *((int *)t4);
    *((int *)t4) = (t10 - 1);
    goto LAB6;

LAB13:    t16 = (t18 + 4);
    *((unsigned int *)t18) = 1;
    *((unsigned int *)t16) = 1;
    goto LAB14;

LAB15:    xsi_set_current_line(60, ng0);

LAB18:    xsi_set_current_line(61, ng0);
    t34 = (t1 + 3656);
    t35 = (t34 + 56U);
    t36 = *((char **)t35);
    t37 = (t1 + 4296);
    xsi_vlogvar_assign_value(t37, t36, 0, 0, 1);
    xsi_set_current_line(62, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t6 = (t2 + 56U);
    t11 = *((char **)t6);
    xsi_vlog_subprograminvocation_setJumpstate(t2, t11, &&LAB19);
    t12 = (t2 + 56U);
    t13 = *((char **)t12);
    t14 = (t1 + 848);
    t15 = xsi_create_subprogram_invocation(t13, 0, t1, t14, 0, t2);
    xsi_vlog_subprogram_pushinvocation(t14, t15);

LAB21:    t16 = (t2 + 64U);
    t17 = *((char **)t16);
    t34 = (t17 + 80U);
    t35 = *((char **)t34);
    t36 = (t35 + 272U);
    t37 = *((char **)t36);
    t38 = (t37 + 0U);
    t39 = *((char **)t38);
    t10 = ((int  (*)(char *, char *))t39)(t1, t17);
    if (t10 == -1)
        goto LAB22;

LAB23:    if (t10 != 0)
        goto LAB24;

LAB19:    t17 = (t1 + 848);
    xsi_vlog_subprogram_popinvocation(t17);

LAB20:    t40 = (t2 + 64U);
    t41 = *((char **)t40);
    t40 = (t1 + 848);
    t42 = (t2 + 56U);
    t43 = *((char **)t42);
    xsi_delete_subprogram_invocation(t40, t41, t1, t43, t2);
    xsi_set_current_line(63, ng0);
    t4 = (t1 + 4296);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = (t6 + 4);
    t7 = *((unsigned int *)t11);
    t8 = (~(t7));
    t9 = *((unsigned int *)t6);
    t20 = (t9 & t8);
    t21 = (t20 != 0);
    if (t21 > 0)
        goto LAB25;

LAB26:    xsi_set_current_line(70, ng0);

LAB47:    xsi_set_current_line(71, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 7000LL);
    *((char **)t3) = &&LAB48;
    t0 = 1;
    goto LAB1;

LAB22:    t0 = -1;
    goto LAB1;

LAB24:    t16 = (t2 + 48U);
    *((char **)t16) = &&LAB21;
    goto LAB1;

LAB25:    xsi_set_current_line(63, ng0);

LAB28:    xsi_set_current_line(64, ng0);
    t12 = (t2 + 56U);
    t13 = *((char **)t12);
    xsi_process_wait(t13, 2000LL);
    *((char **)t3) = &&LAB29;
    t0 = 1;
    goto LAB1;

LAB27:    goto LAB17;

LAB29:    xsi_set_current_line(64, ng0);
    t14 = ((char*)((ng1)));
    t15 = (t1 + 3976);
    xsi_vlogvar_assign_value(t15, t14, 0, 0, 1);
    xsi_set_current_line(64, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 5000LL);
    *((char **)t3) = &&LAB30;
    t0 = 1;
    goto LAB1;

LAB30:    xsi_set_current_line(65, ng0);

LAB31:    t4 = (t1 + 4136);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    memset(t18, 0, 8);
    t11 = (t6 + 4);
    t7 = *((unsigned int *)t11);
    t8 = (~(t7));
    t9 = *((unsigned int *)t6);
    t20 = (t9 & t8);
    t21 = (t20 & 1U);
    if (t21 != 0)
        goto LAB35;

LAB33:    if (*((unsigned int *)t11) == 0)
        goto LAB32;

LAB34:    t12 = (t18 + 4);
    *((unsigned int *)t18) = 1;
    *((unsigned int *)t12) = 1;

LAB35:    t13 = (t18 + 4);
    t22 = *((unsigned int *)t13);
    t23 = (~(t22));
    t24 = *((unsigned int *)t18);
    t25 = (t24 & t23);
    t26 = (t25 != 0);
    if (t26 > 0)
        goto LAB36;

LAB37:    goto LAB27;

LAB32:    *((unsigned int *)t18) = 1;
    goto LAB35;

LAB36:    xsi_set_current_line(65, ng0);

LAB38:    xsi_set_current_line(66, ng0);
    t14 = (t2 + 56U);
    t15 = *((char **)t14);
    t16 = (t2 + 56U);
    t17 = *((char **)t16);
    xsi_vlog_subprograminvocation_setJumpstate(t2, t17, &&LAB39);
    t34 = (t2 + 56U);
    t35 = *((char **)t34);
    t36 = (t1 + 2144);
    t37 = xsi_create_subprogram_invocation(t35, 0, t1, t36, 0, t2);
    xsi_vlog_subprogram_pushinvocation(t36, t37);

LAB41:    t38 = (t2 + 64U);
    t39 = *((char **)t38);
    t40 = (t39 + 80U);
    t41 = *((char **)t40);
    t42 = (t41 + 272U);
    t43 = *((char **)t42);
    t44 = (t43 + 0U);
    t45 = *((char **)t44);
    t10 = ((int  (*)(char *, char *))t45)(t1, t39);
    if (t10 == -1)
        goto LAB42;

LAB43:    if (t10 != 0)
        goto LAB44;

LAB39:    t39 = (t1 + 2144);
    xsi_vlog_subprogram_popinvocation(t39);

LAB40:    t46 = (t2 + 64U);
    t47 = *((char **)t46);
    t46 = (t1 + 2144);
    t48 = (t2 + 56U);
    t49 = *((char **)t48);
    xsi_delete_subprogram_invocation(t46, t47, t1, t49, t2);
    xsi_set_current_line(67, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 2000LL);
    *((char **)t3) = &&LAB45;
    t0 = 1;
    goto LAB1;

LAB42:    t0 = -1;
    goto LAB1;

LAB44:    t38 = (t2 + 48U);
    *((char **)t38) = &&LAB41;
    goto LAB1;

LAB45:    xsi_set_current_line(67, ng0);
    t6 = ((char*)((ng1)));
    t11 = (t1 + 3976);
    xsi_vlogvar_assign_value(t11, t6, 0, 0, 1);
    xsi_set_current_line(67, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 5000LL);
    *((char **)t3) = &&LAB46;
    t0 = 1;
    goto LAB1;

LAB46:    goto LAB31;

LAB48:    xsi_set_current_line(71, ng0);
    t6 = (t1 + 3096U);
    t11 = *((char **)t6);
    t6 = (t1 + 3656);
    xsi_vlogvar_assign_value(t6, t11, 0, 0, 8);
    xsi_set_current_line(72, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t6 = (t2 + 56U);
    t11 = *((char **)t6);
    xsi_vlog_subprograminvocation_setJumpstate(t2, t11, &&LAB49);
    t12 = (t2 + 56U);
    t13 = *((char **)t12);
    t14 = (t1 + 1712);
    t15 = xsi_create_subprogram_invocation(t13, 0, t1, t14, 0, t2);
    xsi_vlog_subprogram_pushinvocation(t14, t15);

LAB51:    t16 = (t2 + 64U);
    t17 = *((char **)t16);
    t34 = (t17 + 80U);
    t35 = *((char **)t34);
    t36 = (t35 + 272U);
    t37 = *((char **)t36);
    t38 = (t37 + 0U);
    t39 = *((char **)t38);
    t10 = ((int  (*)(char *, char *))t39)(t1, t17);
    if (t10 == -1)
        goto LAB52;

LAB53:    if (t10 != 0)
        goto LAB54;

LAB49:    t17 = (t1 + 1712);
    xsi_vlog_subprogram_popinvocation(t17);

LAB50:    t40 = (t2 + 64U);
    t41 = *((char **)t40);
    t40 = (t1 + 1712);
    t42 = (t2 + 56U);
    t43 = *((char **)t42);
    xsi_delete_subprogram_invocation(t40, t41, t1, t43, t2);
    goto LAB27;

LAB52:    t0 = -1;
    goto LAB1;

LAB54:    t16 = (t2 + 48U);
    *((char **)t16) = &&LAB51;
    goto LAB1;

}
static int sp_Send_Data(char *t1, char *t2)
{
    char t21[8];
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    int t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    char *t20;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 1712);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(79, ng0);

LAB5:    xsi_set_current_line(80, ng0);
    t5 = ((char*)((ng2)));
    t6 = (t1 + 3976);
    xsi_vlogvar_assign_value(t6, t5, 0, 0, 1);
    xsi_set_current_line(81, ng0);
    t4 = ((char*)((ng3)));
    t5 = (t4 + 4);
    t7 = *((unsigned int *)t5);
    t8 = (~(t7));
    t9 = *((unsigned int *)t4);
    t10 = (t9 & t8);
    t6 = (t1 + 8852);
    *((int *)t6) = t10;

LAB6:    t11 = (t1 + 8852);
    if (*((int *)t11) > 0)
        goto LAB7;

LAB8:    xsi_set_current_line(87, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 16U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB13;

LAB1:    return t0;
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;
    goto LAB1;

LAB7:    xsi_set_current_line(81, ng0);

LAB9:    xsi_set_current_line(82, ng0);
    t12 = (t2 + 88U);
    t13 = *((char **)t12);
    t14 = (t13 + 0U);
    xsi_wp_set_status(t14, 1);
    *((char **)t3) = &&LAB10;
    goto LAB1;

LAB10:    xsi_set_current_line(82, ng0);

LAB11:    xsi_set_current_line(83, ng0);
    t15 = (t2 + 56U);
    t16 = *((char **)t15);
    xsi_process_wait(t16, 1000LL);
    *((char **)t3) = &&LAB12;
    t0 = 1;
    goto LAB1;

LAB12:    xsi_set_current_line(83, ng0);
    t17 = (t1 + 3656);
    t18 = (t17 + 56U);
    t19 = *((char **)t18);
    t20 = (t1 + 4456);
    xsi_vlogvar_assign_value(t20, t19, 0, 0, 1);
    xsi_set_current_line(85, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = ((char*)((ng4)));
    memset(t21, 0, 8);
    xsi_vlog_unsigned_rshift(t21, 8, t6, 8, t11, 32);
    t12 = (t1 + 3656);
    xsi_vlogvar_assign_value(t12, t21, 0, 0, 8);
    t4 = (t1 + 8852);
    t10 = *((int *)t4);
    *((int *)t4) = (t10 - 1);
    goto LAB6;

LAB13:    xsi_set_current_line(87, ng0);
    t11 = (t2 + 56U);
    t12 = *((char **)t11);
    xsi_process_wait(t12, 1000LL);
    *((char **)t3) = &&LAB14;
    t0 = 1;
    goto LAB1;

LAB14:    xsi_set_current_line(87, ng0);
    t13 = ((char*)((ng2)));
    t14 = (t1 + 4456);
    xsi_vlogvar_assign_value(t14, t13, 0, 0, 1);
    goto LAB4;

}
static int sp_Acknowledgement(char *t1, char *t2)
{
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 848);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(44, ng0);

LAB5:    xsi_set_current_line(45, ng0);
    t5 = ((char*)((ng1)));
    t6 = (t1 + 4456);
    xsi_vlogvar_assign_value(t6, t5, 0, 0, 1);
    xsi_set_current_line(46, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 0U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB6;

LAB1:    return t0;
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;
    goto LAB1;

LAB6:    xsi_set_current_line(47, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 1000LL);
    *((char **)t3) = &&LAB7;
    t0 = 1;
    goto LAB1;

LAB7:    xsi_set_current_line(47, ng0);
    t6 = ((char*)((ng2)));
    t7 = (t1 + 3976);
    xsi_vlogvar_assign_value(t7, t6, 0, 0, 1);
    xsi_set_current_line(48, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 16U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB8;
    goto LAB1;

LAB8:    goto LAB4;

}
static int sp_Acknowledgement(char *t1, char *t2)
{
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    int t9;
    char *t10;
    char *t11;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 1280);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(52, ng0);

LAB5:    xsi_set_current_line(53, ng0);
    t5 = (t2 + 56U);
    t6 = *((char **)t5);
    xsi_process_wait(t6, 1000LL);
    *((char **)t3) = &&LAB6;
    t0 = 1;

LAB1:    return t0;
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;
    goto LAB1;

LAB6:    xsi_set_current_line(53, ng0);
    t7 = ((char*)((ng2)));
    t8 = (t1 + 4136);
    xsi_vlogvar_assign_value(t8, t7, 0, 0, 1);
    xsi_set_current_line(54, ng0);
    t4 = ((char*)((ng2)));
    t5 = (t1 + 4616);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 1);
    xsi_set_current_line(55, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 0U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB7;
    goto LAB1;

LAB7:    xsi_set_current_line(56, ng0);
    t9 = xsi_create_forkvar_inside_subprogram_invocation(t2, 2, 0);
    t4 = (t2 + 80U);
    t5 = *((char **)t4);
    xsi_create_forkjoin_process_inside_subprogram(0, (void *)Forked_57_2, t2, t5);
    t6 = (t2 + 80U);
    t7 = *((char **)t6);
    xsi_create_forkjoin_process_inside_subprogram(0, (void *)Forked_60_3, t2, t7);
    xsi_set_forkwaitinfo_inside_subprogram_status(t2, 0, 1);
    *((char **)t3) = &&LAB8;
    goto LAB1;

LAB8:    t8 = xsi_get_forkvar_inside_subprogram_invocation(t2, 0);
    t10 = (t8 + 56U);
    t11 = *((char **)t10);
    if (*((int *)t11) > 0)
        goto LAB9;

LAB10:    xsi_clean_active_fork_process_list(t2);
    xsi_set_current_line(63, ng0);
    t4 = ((char*)((ng2)));
    t5 = (t1 + 3976);
    xsi_vlogvar_assign_value(t5, t4, 0, 0, 1);
    xsi_set_current_line(64, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    xsi_process_wait(t5, 2000LL);
    *((char **)t3) = &&LAB11;
    t0 = 1;
    goto LAB1;

LAB9:    xsi_set_forkwaitinfo_inside_subprogram_status(t2, 0, 1);
    goto LAB1;

LAB11:    xsi_set_current_line(64, ng0);
    t6 = ((char*)((ng1)));
    t7 = (t1 + 4136);
    xsi_vlogvar_assign_value(t7, t6, 0, 0, 1);
    goto LAB4;

}
static int sp_START_STOP(char *t1, char *t2)
{
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 848);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(43, ng0);

LAB5:    xsi_set_current_line(44, ng0);
    t5 = ((char*)((ng1)));
    t6 = (t1 + 4136);
    xsi_vlogvar_assign_value(t6, t5, 0, 0, 1);
    xsi_set_current_line(45, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 0U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB6;

LAB1:    return t0;
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;
    goto LAB1;

LAB6:    xsi_set_current_line(46, ng0);
    t7 = (t2 + 56U);
    t8 = *((char **)t7);
    xsi_process_wait(t8, 1000LL);
    *((char **)t3) = &&LAB7;
    t0 = 1;
    goto LAB1;

LAB7:    xsi_set_current_line(46, ng0);
    t9 = (t1 + 4456);
    t10 = (t9 + 56U);
    t11 = *((char **)t10);
    t12 = (t1 + 3976);
    xsi_vlogvar_assign_value(t12, t11, 0, 0, 1);
    goto LAB4;

}
static int sp_Send_Data(char *t1, char *t2)
{
    char t22[8];
    int t0;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    int t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    char *t20;
    char *t21;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t27;
    char *t28;

LAB0:    t0 = 1;
    t3 = (t2 + 48U);
    t4 = *((char **)t3);
    if (t4 == 0)
        goto LAB2;

LAB3:    goto *t4;

LAB2:    t4 = (t1 + 2144);
    xsi_vlog_subprogram_setdisablestate(t4, &&LAB4);
    xsi_set_current_line(82, ng0);

LAB5:    xsi_set_current_line(83, ng0);
    t5 = ((char*)((ng5)));
    t6 = (t5 + 4);
    t7 = *((unsigned int *)t6);
    t8 = (~(t7));
    t9 = *((unsigned int *)t5);
    t10 = (t9 & t8);
    t11 = (t1 + 8196);
    *((int *)t11) = t10;

LAB6:    t12 = (t1 + 8196);
    if (*((int *)t12) > 0)
        goto LAB7;

LAB8:    xsi_set_current_line(89, ng0);
    t4 = (t2 + 88U);
    t5 = *((char **)t4);
    t6 = (t5 + 16U);
    xsi_wp_set_status(t6, 1);
    *((char **)t3) = &&LAB13;

LAB1:    return t0;
LAB4:    xsi_vlog_dispose_subprogram_invocation(t2);
    t4 = (t2 + 48U);
    *((char **)t4) = &&LAB2;
    t0 = 0;
    goto LAB1;

LAB7:    xsi_set_current_line(83, ng0);

LAB9:    xsi_set_current_line(84, ng0);
    t13 = (t2 + 88U);
    t14 = *((char **)t13);
    t15 = (t14 + 0U);
    xsi_wp_set_status(t15, 1);
    *((char **)t3) = &&LAB10;
    goto LAB1;

LAB10:    xsi_set_current_line(84, ng0);

LAB11:    xsi_set_current_line(85, ng0);
    t16 = (t2 + 56U);
    t17 = *((char **)t16);
    xsi_process_wait(t17, 1000LL);
    *((char **)t3) = &&LAB12;
    t0 = 1;
    goto LAB1;

LAB12:    xsi_set_current_line(85, ng0);
    t18 = (t1 + 3656);
    t19 = (t18 + 56U);
    t20 = *((char **)t19);
    t21 = (t1 + 3976);
    xsi_vlogvar_assign_value(t21, t20, 0, 0, 1);
    xsi_set_current_line(87, ng0);
    t4 = (t1 + 3656);
    t5 = (t4 + 56U);
    t6 = *((char **)t5);
    t11 = ((char*)((ng6)));
    memset(t22, 0, 8);
    xsi_vlog_unsigned_rshift(t22, 8, t6, 8, t11, 32);
    t12 = (t1 + 3656);
    xsi_vlogvar_assign_value(t12, t22, 0, 0, 8);
    t4 = (t1 + 8196);
    t10 = *((int *)t4);
    *((int *)t4) = (t10 - 1);
    goto LAB6;

LAB13:    xsi_set_current_line(89, ng0);
    t11 = (t2 + 56U);
    t12 = *((char **)t11);
    xsi_process_wait(t12, 1000LL);
    *((char **)t3) = &&LAB14;
    t0 = 1;
    goto LAB1;

LAB14:    xsi_set_current_line(89, ng0);
    t13 = ((char*)((ng1)));
    t14 = (t1 + 3976);
    xsi_vlogvar_assign_value(t14, t13, 0, 0, 1);
    xsi_set_current_line(90, ng0);
    t4 = (t2 + 56U);
    t5 = *((char **)t4);
    t6 = (t2 + 56U);
    t11 = *((char **)t6);
    xsi_vlog_subprograminvocation_setJumpstate(t2, t11, &&LAB15);
    t12 = (t2 + 56U);
    t13 = *((char **)t12);
    t14 = (t1 + 1280);
    t15 = xsi_create_subprogram_invocation(t13, 0, t1, t14, 0, t2);
    xsi_vlog_subprogram_pushinvocation(t14, t15);

LAB17:    t16 = (t2 + 64U);
    t17 = *((char **)t16);
    t18 = (t17 + 80U);
    t19 = *((char **)t18);
    t20 = (t19 + 272U);
    t21 = *((char **)t20);
    t23 = (t21 + 0U);
    t24 = *((char **)t23);
    t10 = ((int  (*)(char *, char *))t24)(t1, t17);
    if (t10 == -1)
        goto LAB18;

LAB19:    if (t10 != 0)
        goto LAB20;

LAB15:    t17 = (t1 + 1280);
    xsi_vlog_subprogram_popinvocation(t17);

LAB16:    t25 = (t2 + 64U);
    t26 = *((char **)t25);
    t25 = (t1 + 1280);
    t27 = (t2 + 56U);
    t28 = *((char **)t27);
    xsi_delete_subprogram_invocation(t25, t26, t1, t28, t2);
    goto LAB4;

LAB18:    t0 = -1;
    goto LAB1;

LAB20:    t16 = (t2 + 48U);
    *((char **)t16) = &&LAB17;
    goto LAB1;

}