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 void Cont_126_1(char *t0)
{
    char t21[16];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    int t17;
    char *t18;
    char *t19;
    char *t20;
    char *t22;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t27;
    char *t28;
    char *t29;
    char *t30;

LAB0:    t1 = (t0 + 6688U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(126, ng0);
    t2 = (t0 + 3048U);
    t3 = *((char **)t2);
    t2 = (t0 + 3208U);
    t4 = *((char **)t2);
    t2 = (t0 + 6496);
    t5 = (t0 + 1984);
    t6 = xsi_create_subprogram_invocation(t2, 0, t0, t5, 0, 0);
    t7 = (t0 + 4088);
    xsi_vlogvar_assign_value(t7, t3, 0, 0, 1);
    t8 = (t0 + 4248);
    xsi_vlogvar_assign_value(t8, t4, 0, 0, 78);

LAB4:    t9 = (t0 + 6592);
    t10 = *((char **)t9);
    t11 = (t10 + 80U);
    t12 = *((char **)t11);
    t13 = (t12 + 272U);
    t14 = *((char **)t13);
    t15 = (t14 + 0U);
    t16 = *((char **)t15);
    t17 = ((int  (*)(char *, char *))t16)(t0, t10);
    if (t17 != 0)
        goto LAB6;

LAB5:    t10 = (t0 + 6592);
    t18 = *((char **)t10);
    t10 = (t0 + 4408);
    t19 = (t10 + 56U);
    t20 = *((char **)t19);
    memcpy(t21, t20, 16);
    t22 = (t0 + 1984);
    t23 = (t0 + 6496);
    t24 = 0;
    xsi_delete_subprogram_invocation(t22, t18, t0, t23, t24);
    t25 = (t0 + 7168);
    t26 = (t25 + 56U);
    t27 = *((char **)t26);
    t28 = (t27 + 56U);
    t29 = *((char **)t28);
    xsi_vlog_bit_copy(t29, 0, t21, 0, 39);
    xsi_driver_vfirst_trans(t25, 0, 38);
    t30 = (t0 + 7024);
    *((int *)t30) = 1;

LAB1:    return;
LAB6:    t9 = (t0 + 6688U);
    *((char **)t9) = &&LAB4;
    goto LAB1;

}
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 void Always_113_2(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    unsigned int t9;
    unsigned int t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    int t18;
    char *t19;
    char *t20;
    char *t21;
    char *t22;

LAB0:    t1 = (t0 + 6192U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(113, ng0);
    t2 = (t0 + 6872);
    *((int *)t2) = 1;
    t3 = (t0 + 6224);
    *((char **)t3) = t2;
    *((char **)t1) = &&LAB4;

LAB1:    return;
LAB4:    xsi_set_current_line(113, ng0);

LAB5:    xsi_set_current_line(114, ng0);
    t4 = (t0 + 2936U);
    t5 = *((char **)t4);
    t4 = (t5 + 4);
    t6 = *((unsigned int *)t4);
    t7 = (~(t6));
    t8 = *((unsigned int *)t5);
    t9 = (t8 & t7);
    t10 = (t9 != 0);
    if (t10 > 0)
        goto LAB6;

LAB7:
LAB8:    goto LAB2;

LAB6:    xsi_set_current_line(114, ng0);

LAB9:    xsi_set_current_line(115, ng0);
    t11 = ((char*)((ng1)));
    t12 = (t0 + 4136);
    xsi_vlogvar_assign_value(t12, t11, 0, 0, 1);
    xsi_set_current_line(116, ng0);
    t2 = (t0 + 6000);
    t3 = (t0 + 1280);
    t4 = xsi_create_subprogram_invocation(t2, 0, t0, t3, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t3, t4);

LAB12:    t5 = (t0 + 6096);
    t11 = *((char **)t5);
    t12 = (t11 + 80U);
    t13 = *((char **)t12);
    t14 = (t13 + 272U);
    t15 = *((char **)t14);
    t16 = (t15 + 0U);
    t17 = *((char **)t16);
    t18 = ((int  (*)(char *, char *))t17)(t0, t11);

LAB14:    if (t18 != 0)
        goto LAB15;

LAB10:    t11 = (t0 + 1280);
    xsi_vlog_subprogram_popinvocation(t11);

LAB11:    t19 = (t0 + 6096);
    t20 = *((char **)t19);
    t19 = (t0 + 1280);
    t21 = (t0 + 6000);
    t22 = 0;
    xsi_delete_subprogram_invocation(t19, t20, t0, t21, t22);
    goto LAB8;

LAB13:;
LAB15:    t5 = (t0 + 6192U);
    *((char **)t5) = &&LAB12;
    goto LAB1;

}
static void Cont_138_0(char *t0)
{
    char t19[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    int t15;
    char *t16;
    char *t17;
    char *t18;
    char *t20;
    char *t21;
    char *t22;
    char *t23;
    char *t24;
    char *t25;
    char *t26;
    char *t27;
    unsigned int t28;
    unsigned int t29;
    char *t30;
    unsigned int t31;
    unsigned int t32;
    char *t33;
    unsigned int t34;
    unsigned int t35;
    char *t36;

LAB0:    t1 = (t0 + 6360U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(138, ng0);
    t2 = (t0 + 4400U);
    t3 = *((char **)t2);
    t2 = (t0 + 6168);
    t4 = (t0 + 1528);
    t5 = xsi_create_subprogram_invocation(t2, 0, t0, t4, 0, 0);
    t6 = (t0 + 5120);
    xsi_vlogvar_assign_value(t6, t3, 0, 0, 1);

LAB4:    t7 = (t0 + 6264);
    t8 = *((char **)t7);
    t9 = (t8 + 80U);
    t10 = *((char **)t9);
    t11 = (t10 + 272U);
    t12 = *((char **)t11);
    t13 = (t12 + 0U);
    t14 = *((char **)t13);
    t15 = ((int  (*)(char *, char *))t14)(t0, t8);
    if (t15 != 0)
        goto LAB6;

LAB5:    t8 = (t0 + 6264);
    t16 = *((char **)t8);
    t8 = (t0 + 5280);
    t17 = (t8 + 56U);
    t18 = *((char **)t17);
    memcpy(t19, t18, 8);
    t20 = (t0 + 1528);
    t21 = (t0 + 6168);
    t22 = 0;
    xsi_delete_subprogram_invocation(t20, t16, t0, t21, t22);
    t23 = (t0 + 8080);
    t24 = (t23 + 56U);
    t25 = *((char **)t24);
    t26 = (t25 + 56U);
    t27 = *((char **)t26);
    memset(t27, 0, 8);
    t28 = 3U;
    t29 = t28;
    t30 = (t19 + 4);
    t31 = *((unsigned int *)t19);
    t28 = (t28 & t31);
    t32 = *((unsigned int *)t30);
    t29 = (t29 & t32);
    t33 = (t27 + 4);
    t34 = *((unsigned int *)t27);
    *((unsigned int *)t27) = (t34 | t28);
    t35 = *((unsigned int *)t33);
    *((unsigned int *)t33) = (t35 | t29);
    xsi_driver_vfirst_trans(t23, 0, 1);
    t36 = (t0 + 7920);
    *((int *)t36) = 1;

LAB1:    return;
LAB6:    t7 = (t0 + 6360U);
    *((char **)t7) = &&LAB4;
    goto LAB1;

}
static void Cont_31_0(char *t0)
{
    char t24[8];
    char t28[8];
    char t31[8];
    char t33[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    int t20;
    char *t21;
    char *t22;
    char *t23;
    char *t25;
    char *t26;
    char *t27;
    char *t29;
    char *t30;
    char *t32;
    char *t34;
    char *t35;
    char *t36;
    char *t37;
    char *t38;

LAB0:    t1 = (t0 + 4880U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(31, ng0);
    t2 = (t0 + 1480U);
    t3 = *((char **)t2);
    t2 = (t0 + 1640U);
    t4 = *((char **)t2);
    t2 = (t0 + 1800U);
    t5 = *((char **)t2);
    t2 = (t0 + 1960U);
    t6 = *((char **)t2);
    t2 = (t0 + 4688);
    t7 = (t0 + 848);
    t8 = xsi_create_subprogram_invocation(t2, 0, t0, t7, 0, 0);
    t9 = (t0 + 3640);
    xsi_vlogvar_assign_value(t9, t4, 0, 0, 32);
    t10 = (t0 + 3800);
    xsi_vlogvar_assign_value(t10, t5, 0, 0, 32);
    t11 = (t0 + 3960);
    xsi_vlogvar_assign_value(t11, t6, 0, 0, 32);

LAB4:    t12 = (t0 + 4784);
    t13 = *((char **)t12);
    t14 = (t13 + 80U);
    t15 = *((char **)t14);
    t16 = (t15 + 272U);
    t17 = *((char **)t16);
    t18 = (t17 + 0U);
    t19 = *((char **)t18);
    t20 = ((int  (*)(char *, char *))t19)(t0, t13);
    if (t20 != 0)
        goto LAB6;

LAB5:    t13 = (t0 + 4784);
    t21 = *((char **)t13);
    t13 = (t0 + 3480);
    t22 = (t13 + 56U);
    t23 = *((char **)t22);
    memcpy(t24, t23, 8);
    t25 = (t0 + 848);
    t26 = (t0 + 4688);
    t27 = 0;
    xsi_delete_subprogram_invocation(t25, t21, t0, t26, t27);
    memset(t28, 0, 8);
    xsi_vlog_unsigned_add(t28, 32, t3, 32, t24, 32);
    t29 = (t0 + 2120U);
    t30 = *((char **)t29);
    memset(t31, 0, 8);
    xsi_vlog_unsigned_add(t31, 32, t28, 32, t30, 32);
    t29 = (t0 + 2280U);
    t32 = *((char **)t29);
    memset(t33, 0, 8);
    xsi_vlog_unsigned_add(t33, 32, t31, 32, t32, 32);
    t29 = (t0 + 6072);
    t34 = (t29 + 56U);
    t35 = *((char **)t34);
    t36 = (t35 + 56U);
    t37 = *((char **)t36);
    memcpy(t37, t33, 8);
    xsi_driver_vfirst_trans(t29, 0, 31);
    t38 = (t0 + 5944);
    *((int *)t38) = 1;

LAB1:    return;
LAB6:    t12 = (t0 + 4880U);
    *((char **)t12) = &&LAB4;
    goto LAB1;

}
static void Forked_57_2(char *t0)
{
    char t10[8];
    char *t1;
    char *t2;
    char *t3;
    char *t4;
    char *t5;
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t11;
    char *t12;
    unsigned int t13;
    unsigned int 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;
    char *t25;
    char *t26;
    unsigned int t27;
    unsigned int t28;
    unsigned int t29;
    unsigned int t30;
    unsigned int t31;
    char *t32;
    char *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;
    int t46;
    char *t47;
    char *t48;
    char *t49;
    char *t50;
    char *t51;
    char *t52;

LAB0:    t1 = (t0 + 72U);
    t2 = *((char **)t1);
    t3 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t4 = (t3 + 192U);
    t5 = *((char **)t4);
    if (t5 == 0)
        goto LAB2;

LAB3:    goto *t5;

LAB2:    t5 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    xsi_vlog_process_setdisablestate(t5, &&LAB4);
    xsi_set_current_line(57, ng0);
    xsi_wp_set_status_fork_inside_sp(t0, 0, 1, 1);
    *((char **)t4) = &&LAB5;

LAB1:    return;
LAB4:    t1 = xsi_get_forkvar_inside_subprogram_invocation(t0, 0);
    t3 = (t1 + 56U);
    t5 = *((char **)t3);
    memcpy(t10, t5, 8);
    t13 = *((unsigned int *)t10);
    *((unsigned int *)t10) = (t13 - 1);
    xsi_vlogvar_assign_value(t1, t10, 0, 0, 32);
    goto LAB1;

LAB5:    xsi_set_current_line(58, ng0);
    t6 = (t2 + 4616);
    t7 = (t6 + 56U);
    t8 = *((char **)t7);
    t9 = ((char*)((ng2)));
    memset(t10, 0, 8);
    t11 = (t8 + 4);
    t12 = (t9 + 4);
    t13 = *((unsigned int *)t8);
    t14 = *((unsigned int *)t9);
    t15 = (t13 ^ t14);
    t16 = *((unsigned int *)t11);
    t17 = *((unsigned int *)t12);
    t18 = (t16 ^ t17);
    t19 = (t15 | t18);
    t20 = *((unsigned int *)t11);
    t21 = *((unsigned int *)t12);
    t22 = (t20 | t21);
    t23 = (~(t22));
    t24 = (t19 & t23);
    if (t24 != 0)
        goto LAB9;

LAB6:    if (t22 != 0)
        goto LAB8;

LAB7:    *((unsigned int *)t10) = 1;

LAB9:    t26 = (t10 + 4);
    t27 = *((unsigned int *)t26);
    t28 = (~(t27));
    t29 = *((unsigned int *)t10);
    t30 = (t29 & t28);
    t31 = (t30 != 0);
    if (t31 > 0)
        goto LAB10;

LAB11:
LAB12:    goto LAB4;

LAB8:    t25 = (t10 + 4);
    *((unsigned int *)t10) = 1;
    *((unsigned int *)t25) = 1;
    goto LAB9;

LAB10:    xsi_set_current_line(59, ng0);
    t32 = ((char*)((ng8)));
    t33 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t34 = (t2 + 848);
    t35 = xsi_create_subprogram_invocation(t33, 0, t2, t34, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t34, t35);
    t36 = (t2 + 4456);
    xsi_vlogvar_assign_value(t36, t32, 0, 0, 1);

LAB15:    t37 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t38 = (t37 + 96U);
    t39 = *((char **)t38);
    t40 = (t39 + 80U);
    t41 = *((char **)t40);
    t42 = (t41 + 272U);
    t43 = *((char **)t42);
    t44 = (t43 + 0U);
    t45 = *((char **)t44);
    t46 = ((int  (*)(char *, char *))t45)(t2, t39);

LAB17:    if (t46 != 0)
        goto LAB18;

LAB13:    t47 = (t2 + 848);
    xsi_vlog_subprogram_popinvocation(t47);

LAB14:    t48 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t49 = (t48 + 96U);
    t50 = *((char **)t49);
    t49 = (t2 + 848);
    t51 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t52 = 0;
    xsi_delete_subprogram_invocation(t49, t50, t2, t51, t52);
    goto LAB12;

LAB16:;
LAB18:    t38 = xsi_get_forkjoin_process_inside_subprogram(t0, 0);
    t39 = (t38 + 192U);
    *((char **)t39) = &&LAB15;
    goto LAB1;

}
static void Initial_94_1(char *t0)
{
    char *t1;
    char *t2;
    char *t3;
    unsigned int t4;
    unsigned int t5;
    unsigned int t6;
    unsigned int t7;
    unsigned int t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;
    char *t13;
    char *t14;
    char *t15;
    char *t16;
    char *t17;
    char *t18;
    char *t19;
    int t20;
    char *t21;
    char *t22;
    char *t23;
    char *t24;

LAB0:    t1 = (t0 + 5784U);
    t2 = *((char **)t1);
    if (t2 == 0)
        goto LAB2;

LAB3:    goto *t2;

LAB2:    xsi_set_current_line(94, ng0);

LAB4:    xsi_set_current_line(95, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 3656);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 8, 0LL);
    xsi_set_current_line(96, ng0);
    t2 = ((char*)((ng2)));
    t3 = (t0 + 3816);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 8, 0LL);
    xsi_set_current_line(97, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 3976);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 1, 0LL);
    xsi_set_current_line(98, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 4136);
    xsi_vlogvar_wait_assign_value(t3, t2, 0, 0, 1, 0LL);
    xsi_set_current_line(100, ng0);

LAB5:    t2 = (t0 + 3096U);
    t3 = *((char **)t2);
    t2 = (t3 + 4);
    t4 = *((unsigned int *)t2);
    t5 = (~(t4));
    t6 = *((unsigned int *)t3);
    t7 = (t6 & t5);
    t8 = (t7 != 0);
    if (t8 > 0)
        goto LAB7;

LAB6:    t9 = (t0 + 6216);
    *((int *)t9) = 1;
    t10 = (t0 + 5784U);
    *((char **)t10) = &&LAB5;

LAB1:    return;
LAB7:    t11 = (t0 + 6216);
    *((int *)t11) = 0;
    xsi_set_current_line(100, ng0);

LAB8:    xsi_set_current_line(101, ng0);
    t12 = (t0 + 3096U);
    t13 = *((char **)t12);
    t12 = (t0 + 3816);
    xsi_vlogvar_assign_value(t12, t13, 0, 0, 8);
    xsi_set_current_line(102, ng0);
    t2 = (t0 + 2776U);
    t3 = *((char **)t2);
    t2 = (t0 + 3656);
    xsi_vlogvar_assign_value(t2, t3, 0, 0, 8);
    xsi_set_current_line(103, ng0);
    t2 = ((char*)((ng8)));
    t3 = (t0 + 5592);
    t9 = (t0 + 848);
    t10 = xsi_create_subprogram_invocation(t3, 0, t0, t9, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t9, t10);
    t11 = (t0 + 4456);
    xsi_vlogvar_assign_value(t11, t2, 0, 0, 1);

LAB11:    t12 = (t0 + 5688);
    t13 = *((char **)t12);
    t14 = (t13 + 80U);
    t15 = *((char **)t14);
    t16 = (t15 + 272U);
    t17 = *((char **)t16);
    t18 = (t17 + 0U);
    t19 = *((char **)t18);
    t20 = ((int  (*)(char *, char *))t19)(t0, t13);

LAB13:    if (t20 != 0)
        goto LAB14;

LAB9:    t13 = (t0 + 848);
    xsi_vlog_subprogram_popinvocation(t13);

LAB10:    t21 = (t0 + 5688);
    t22 = *((char **)t21);
    t21 = (t0 + 848);
    t23 = (t0 + 5592);
    t24 = 0;
    xsi_delete_subprogram_invocation(t21, t22, t0, t23, t24);
    xsi_set_current_line(104, ng0);
    t2 = (t0 + 5592);
    t3 = (t0 + 1712);
    t9 = xsi_create_subprogram_invocation(t2, 0, t0, t3, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t3, t9);

LAB17:    t10 = (t0 + 5688);
    t11 = *((char **)t10);
    t12 = (t11 + 80U);
    t13 = *((char **)t12);
    t14 = (t13 + 272U);
    t15 = *((char **)t14);
    t16 = (t15 + 0U);
    t17 = *((char **)t16);
    t20 = ((int  (*)(char *, char *))t17)(t0, t11);

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

LAB15:    t11 = (t0 + 1712);
    xsi_vlog_subprogram_popinvocation(t11);

LAB16:    t18 = (t0 + 5688);
    t19 = *((char **)t18);
    t18 = (t0 + 1712);
    t21 = (t0 + 5592);
    t22 = 0;
    xsi_delete_subprogram_invocation(t18, t19, t0, t21, t22);
    xsi_set_current_line(105, ng0);
    t2 = (t0 + 5592);
    t3 = (t0 + 2144);
    t9 = xsi_create_subprogram_invocation(t2, 0, t0, t3, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t3, t9);

LAB23:    t10 = (t0 + 5688);
    t11 = *((char **)t10);
    t12 = (t11 + 80U);
    t13 = *((char **)t12);
    t14 = (t13 + 272U);
    t15 = *((char **)t14);
    t16 = (t15 + 0U);
    t17 = *((char **)t16);
    t20 = ((int  (*)(char *, char *))t17)(t0, t11);

LAB25:    if (t20 != 0)
        goto LAB26;

LAB21:    t11 = (t0 + 2144);
    xsi_vlog_subprogram_popinvocation(t11);

LAB22:    t18 = (t0 + 5688);
    t19 = *((char **)t18);
    t18 = (t0 + 2144);
    t21 = (t0 + 5592);
    t22 = 0;
    xsi_delete_subprogram_invocation(t18, t19, t0, t21, t22);
    xsi_set_current_line(107, ng0);
    t2 = ((char*)((ng1)));
    t3 = (t0 + 5592);
    t9 = (t0 + 848);
    t10 = xsi_create_subprogram_invocation(t3, 0, t0, t9, 0, 0);
    xsi_vlog_subprogram_pushinvocation(t9, t10);
    t11 = (t0 + 4456);
    xsi_vlogvar_assign_value(t11, t2, 0, 0, 1);

LAB29:    t12 = (t0 + 5688);
    t13 = *((char **)t12);
    t14 = (t13 + 80U);
    t15 = *((char **)t14);
    t16 = (t15 + 272U);
    t17 = *((char **)t16);
    t18 = (t17 + 0U);
    t19 = *((char **)t18);
    t20 = ((int  (*)(char *, char *))t19)(t0, t13);

LAB31:    if (t20 != 0)
        goto LAB32;

LAB27:    t13 = (t0 + 848);
    xsi_vlog_subprogram_popinvocation(t13);

LAB28:    t21 = (t0 + 5688);
    t22 = *((char **)t21);
    t21 = (t0 + 848);
    t23 = (t0 + 5592);
    t24 = 0;
    xsi_delete_subprogram_invocation(t21, t22, t0, t23, t24);
    goto LAB1;

LAB12:;
LAB14:    t12 = (t0 + 5784U);
    *((char **)t12) = &&LAB11;
    goto LAB1;

LAB18:;
LAB20:    t10 = (t0 + 5784U);
    *((char **)t10) = &&LAB17;
    goto LAB1;

LAB24:;
LAB26:    t10 = (t0 + 5784U);
    *((char **)t10) = &&LAB23;
    goto LAB1;

LAB30:;
LAB32:    t12 = (t0 + 5784U);
    *((char **)t12) = &&LAB29;
    goto LAB1;

}
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;

}