void work_a_4130681894_3212880686_sub_3316276298_3057020925(char *t0, char *t1, char *t2, char *t3)
{
    char t4[80];
    char t5[24];
    char t18[16];
    char *t6;
    char *t7;
    char *t8;
    char *t9;
    char *t10;
    char *t11;
    char *t12;
    unsigned char t13;
    char *t14;
    char *t15;
    unsigned int t16;
    char *t17;
    int t19;
    int64 t20;

LAB0:
    t6 = (t4 + 4U);
    t7 = ((STD_TEXTIO) + 3280);
    t8 = (t6 + 56U);
    *((char **)t8) = t7;
    t9 = (t6 + 40U);
    *((char **)t9) = 0;
    t10 = (t6 + 64U);
    *((int *)t10) = 1;
    t11 = (t6 + 48U);
    *((char **)t11) = 0;
    t12 = (t5 + 4U);
    t13 = (t2 != 0);
    if (t13 == 1)
        goto LAB3;

LAB2:
    t14 = (t5 + 12U);
    *((char **)t14) = t3;
    t15 = (t3 + 12U);
    t16 = *((unsigned int *)t15);
    t16 = (t16 * 1U);
    t17 = (char *)alloca(t16);
    memcpy(t17, t2, t16);
    std_textio_write7(STD_TEXTIO, t1, t6, t17, t3, (unsigned char)0, 0);
    t7 = (t0 + 12716);
    t9 = (t18 + 0U);
    t10 = (t9 + 0U);
    *((int *)t10) = 1;
    t10 = (t9 + 4U);
    *((int *)t10) = 1;
    t10 = (t9 + 8U);
    *((int *)t10) = 1;
    t19 = (1 - 1);
    t16 = (t19 * 1);
    t16 = (t16 + 1);
    t10 = (t9 + 12U);
    *((unsigned int *)t10) = t16;
    std_textio_write7(STD_TEXTIO, t1, t6, t7, t18, (unsigned char)0, 0);
    t20 = xsi_get_sim_current_time();
    std_textio_write8(STD_TEXTIO, t1, t6, t20, (unsigned char)0, 0, 1000LL);
    t7 = ((STD_TEXTIO) + 1480U);
    std_textio_writeline(STD_TEXTIO, t1, t7, t6);

LAB1:
    xsi_access_variable_delete(t6);
    return;
LAB3:
    *((char **)t12) = t2;
    goto LAB2;

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

LAB0:    t6 = ((STD_TEXTIO) + 1996);
    t7 = (t3 + 12U);
    t8 = *((unsigned int *)t7);
    t8 = (t8 * 1U);
    t9 = (t4 + 4U);
    t10 = xsi_create_file_variable_in_buffer(0, ng1, t6, t2, t8, 1);
    *((char **)t9) = t10;
    t11 = (t4 + 8U);
    t12 = ((STD_TEXTIO) + 1908);
    t13 = (t11 + 32U);
    *((char **)t13) = t12;
    t14 = (t11 + 24U);
    *((char **)t14) = 0;
    t15 = (t11 + 36U);
    *((int *)t15) = 1;
    t16 = (t11 + 28U);
    *((char **)t16) = 0;
    t18 = (t17 + 0U);
    t19 = (t18 + 0U);
    *((int *)t19) = 31;
    t19 = (t18 + 4U);
    *((int *)t19) = 0;
    t19 = (t18 + 8U);
    *((int *)t19) = -1;
    t20 = (0 - 31);
    t21 = (t20 * -1);
    t21 = (t21 + 1);
    t19 = (t18 + 12U);
    *((unsigned int *)t19) = t21;
    t19 = (t4 + 48U);
    t22 = ((STD_STANDARD) + 712);
    t23 = (t19 + 52U);
    *((char **)t23) = t22;
    t25 = (t19 + 36U);
    *((char **)t25) = t24;
    xsi_type_set_default_value(t22, t24, t17);
    t26 = (t19 + 40U);
    *((char **)t26) = t17;
    t27 = (t19 + 48U);
    *((unsigned int *)t27) = 32U;
    t29 = (t28 + 0U);
    t30 = (t29 + 0U);
    *((int *)t30) = 0;
    t30 = (t29 + 4U);
    *((int *)t30) = 31;
    t30 = (t29 + 8U);
    *((int *)t30) = 1;
    t31 = (31 - 0);
    t21 = (t31 * 1);
    t21 = (t21 + 1);
    t30 = (t29 + 12U);
    *((unsigned int *)t30) = t21;
    t30 = (t28 + 16U);
    t32 = (t30 + 0U);
    *((int *)t32) = 31;
    t32 = (t30 + 4U);
    *((int *)t32) = 0;
    t32 = (t30 + 8U);
    *((int *)t32) = -1;
    t33 = (0 - 31);
    t21 = (t33 * -1);
    t21 = (t21 + 1);
    t32 = (t30 + 12U);
    *((unsigned int *)t32) = t21;
    t32 = (t4 + 116U);
    t34 = (t1 + 2016);
    t35 = (t32 + 52U);
    *((char **)t35) = t34;
    t37 = (t32 + 36U);
    *((char **)t37) = t36;
    xsi_type_set_default_value(t34, t36, 0);
    t38 = (t32 + 40U);
    t39 = (t34 + 44U);
    t40 = *((char **)t39);
    *((char **)t38) = t40;
    t41 = (t32 + 48U);
    *((unsigned int *)t41) = 1024U;
    t42 = (t5 + 4U);
    t43 = (t2 != 0);
    if (t43 == 1)
        goto LAB3;

LAB2:    t44 = (t5 + 8U);
    *((char **)t44) = t3;
    t45 = 0;
    t46 = 31;

LAB4:    if (t45 <= t46)
        goto LAB5;

LAB7:    t6 = (t32 + 36U);
    t7 = *((char **)t6);
    t43 = (1024U != 1024U);
    if (t43 == 1)
        goto LAB9;

LAB10:    t0 = xsi_get_transient_memory(1024U);
    memcpy(t0, t7, 1024U);

LAB1:    xsi_access_variable_delete(t11);
    t6 = (t4 + 4U);
    t7 = *((char **)t6);
    xsi_delete_file_variable(t7);
    return t0;
LAB3:    *((char **)t42) = t2;
    goto LAB2;

LAB5:    t47 = (t4 + 4U);
    t48 = *((char **)t47);
    std_textio_readline(STD_TEXTIO, (char *)0, t48, t11);
    t6 = (t19 + 36U);
    t7 = *((char **)t6);
    std_textio_read4(STD_TEXTIO, (char *)0, t11, t7, t17);
    t6 = (t19 + 36U);
    t7 = *((char **)t6);
    t6 = ieee_p_2592010699_sub_393209765_503743352(IEEE_P_2592010699, t49, t7, t17);
    t9 = (t32 + 36U);
    t10 = *((char **)t9);
    t20 = (t45 - 0);
    t8 = (t20 * 1);
    xsi_vhdl_check_range_of_index(0, 31, 1, t45);
    t21 = (32U * t8);
    t50 = (0 + t21);
    t9 = (t10 + t50);
    t12 = (t49 + 12U);
    t51 = *((unsigned int *)t12);
    t51 = (t51 * 1U);
    memcpy(t9, t6, t51);

LAB6:    if (t45 == t46)
        goto LAB7;

LAB8:    t20 = (t45 + 1);
    t45 = t20;
    goto LAB4;

LAB9:    xsi_size_not_matching(1024U, 1024U, 0);
    goto LAB10;

LAB11:;
}