diff options
Diffstat (limited to 'tests/fuzz/3.c')
-rw-r--r-- | tests/fuzz/3.c | 1043 |
1 files changed, 1043 insertions, 0 deletions
diff --git a/tests/fuzz/3.c b/tests/fuzz/3.c new file mode 100644 index 00000000..b2dcac2e --- /dev/null +++ b/tests/fuzz/3.c @@ -0,0 +1,1043 @@ +/* + * This is a RANDOMLY GENERATED PROGRAM. + * + * Generator: csmith 2.2.0 + * Git version: 2751ded + * Options: --no-volatiles --no-math64 + * Seed: 1532285979 + */ + +#include "csmith.h" + + +static long __undefined; + +/* --- Struct/Union Declarations --- */ +union U0 { + int8_t f0; + const uint8_t f1; +}; + +union U1 { + int8_t * f0; +}; + +union U2 { + int32_t f0; + uint32_t f1; + uint8_t f2; + uint32_t f3; + int8_t * f4; +}; + +/* --- GLOBAL VARIABLES --- */ +static uint8_t g_23 = 0x67L; +static int32_t g_25 = 1L; +static uint16_t g_34 = 0x451DL; +static union U2 g_42 = {-1L}; +static int32_t g_61[8][6][4] = {{{0xE281B1D0L,8L,9L,0xC90ACEFCL},{0xC369029EL,8L,0x63978472L,0x55BBB785L},{0x23D12EF6L,(-1L),0x23D12EF6L,8L},{0x55BBB785L,0xE4FCD58FL,0L,1L},{0xDD4F9520L,0xBF567D71L,0x9117A540L,0xE4FCD58FL},{4L,0L,0x9117A540L,9L}},{{0xDD4F9520L,(-1L),0L,0L},{0x55BBB785L,(-1L),0x23D12EF6L,0xDD4F9520L},{0x23D12EF6L,0xDD4F9520L,0x63978472L,0L},{0xC369029EL,9L,9L,0xC369029EL},{0xE281B1D0L,6L,0x55BBB785L,0x70A6219FL},{0L,0x63978472L,0xE281B1D0L,8L}},{{4L,9L,(-1L),8L},{0x63978472L,1L,0xC90ACEFCL,(-1L)},{0x9117A540L,(-1L),0x63978472L,0xE281B1D0L},{0L,0x9117A540L,0xC35C241EL,0x55F5DDA3L},{0x3A29ADD9L,(-1L),0x5DD88BA5L,(-1L)},{0xE4FCD58FL,8L,9L,0xBF567D71L}},{{0x55BBB785L,0xDD4F9520L,0xBF567D71L,0x9117A540L},{0x55F5DDA3L,0x3A29ADD9L,8L,1L},{0x55F5DDA3L,4L,0xBF567D71L,0x55BBB785L},{0x55BBB785L,1L,9L,0L},{0xE4FCD58FL,0L,0x5DD88BA5L,8L},{0x3A29ADD9L,0x5DD88BA5L,0xC35C241EL,0xC35C241EL}},{{0L,0L,0x63978472L,0xDD4F9520L},{0x9117A540L,6L,0xC90ACEFCL,(-1L)},{0x63978472L,0xC369029EL,(-1L),0xC90ACEFCL},{4L,0xC369029EL,0xE281B1D0L,(-1L)},{0xC369029EL,6L,8L,0xDD4F9520L},{0L,0L,0x9117A540L,0xC35C241EL}},{{0xE281B1D0L,0x5DD88BA5L,1L,8L},{6L,0L,6L,0L},{8L,1L,0x3A29ADD9L,0x55BBB785L},{(-1L),4L,0x70A6219FL,1L},{0x23D12EF6L,0x3A29ADD9L,0x70A6219FL,0x9117A540L},{(-1L),0xBF567D71L,0x55BBB785L,(-1L)}},{{0x9117A540L,0x23D12EF6L,0xE4FCD58FL,4L},{0xE4FCD58FL,4L,0x3A29ADD9L,(-1L)},{0x63978472L,0L,0L,0x63978472L},{1L,1L,0x9117A540L,0L},{0xC35C241EL,0x3A29ADD9L,0x63978472L,0x23D12EF6L},{8L,8L,4L,0x23D12EF6L}},{{0L,0x3A29ADD9L,0xC369029EL,0L},{0L,1L,0L,0x63978472L},{0x70A6219FL,0L,0xE281B1D0L,(-1L)},{0x55BBB785L,4L,6L,4L},{(-1L),0x23D12EF6L,8L,(-1L)},{9L,0xBF567D71L,(-1L),0L}}}; +static int32_t *g_60 = &g_61[3][1][1]; +static int8_t g_70 = 1L; +static int8_t *g_69 = &g_70; +static int32_t g_78 = 1L; +static union U1 g_84 = {0}; +static int32_t **g_95 = &g_60; +static int32_t ***g_94[1] = {&g_95}; +static int8_t g_117 = 7L; +static union U0 g_163 = {0xE2L}; +static uint16_t g_165[7] = {0xB953L,0xB953L,0xB953L,0xB953L,0xB953L,0xB953L,0xB953L}; +static const uint8_t g_171[4][8][3] = {{{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL}},{{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL}},{{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL}},{{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL},{8UL,8UL,8UL},{1UL,1UL,1UL}}}; +static const uint8_t *g_170 = &g_171[2][3][0]; +static uint8_t g_218 = 0xB9L; +static int16_t g_234 = 1L; +static int16_t g_246 = 0x3B2BL; +static int16_t *g_248 = &g_246; +static int16_t *g_249 = &g_246; +static int32_t g_255 = (-8L); +static int16_t g_380 = 0L; +static int16_t g_387 = 1L; +static union U2 *g_397 = &g_42; +static union U2 **g_396 = &g_397; +static const int32_t *g_404 = &g_25; +static union U0 g_405[4][1] = {{{0xD5L}},{{0xD5L}},{{0xD5L}},{{0xD5L}}}; +static int8_t g_471 = (-2L); +static uint16_t **g_505 = (void*)0; +static const int32_t g_555 = 0x72195204L; +static uint16_t g_556[9] = {8UL,0x32E2L,8UL,8UL,0x32E2L,8UL,8UL,0x32E2L,8UL}; +static int32_t *g_588 = &g_61[3][1][2]; +static uint8_t *g_616 = &g_42.f2; +static union U1 *g_644 = &g_84; +static union U1 **g_643 = &g_644; + + +/* --- FORWARD DECLARATIONS --- */ +static int32_t func_1(void); +static uint8_t func_4(int8_t * p_5, uint16_t p_6, int8_t * p_7); +static int8_t * func_8(uint8_t p_9, const uint32_t p_10, const int8_t * p_11, union U0 p_12); +static const int8_t func_16(union U0 p_17, uint8_t p_18, int8_t * p_19, int8_t * p_20); +static union U0 func_21(uint32_t p_22); +static int8_t func_27(uint16_t p_28, int32_t * p_29, union U2 p_30, int32_t * const p_31, int32_t p_32); +static int32_t * func_37(const uint16_t p_38, union U2 p_39, int32_t * p_40, int32_t p_41); +static int32_t * func_43(uint8_t p_44, int8_t p_45, int8_t * p_46); +static uint16_t func_50(int32_t * p_51, uint16_t p_52, int8_t p_53, int32_t * p_54, union U2 p_55); +static int32_t * func_56(int8_t * p_57, int32_t * p_58); + + +/* --- FUNCTIONS --- */ +/* ------------------------------------------ */ +/* + * reads : g_23 g_34 g_42 g_60 g_61 g_42.f3 g_69 g_70 g_42.f2 g_78 g_94 g_117 g_95 g_163 g_163.f0 g_42.f1 g_218 g_170 g_171 g_163.f1 g_84 g_248 g_246 g_234 g_249 g_405 g_255 g_387 g_25 g_396 g_397 g_380 g_471 g_165 g_404 g_505 g_588 g_643 + * writes: g_25 g_34 g_60 g_78 g_61 g_117 g_170 g_70 g_163.f0 g_218 g_165 g_234 g_42.f1 g_404 g_255 g_387 g_396 g_471 g_42.f2 g_616 + */ +static int32_t func_1(void) +{ /* block id: 0 */ + int32_t l_13[8] = {1L,1L,1L,1L,1L,1L,1L,1L}; + uint16_t *l_33 = &g_34; + uint32_t l_47 = 0xF844BA92L; + int8_t *l_59 = (void*)0; + union U2 l_64 = {-8L}; + int32_t l_175[3][5] = {{0xEB591F11L,0xEB591F11L,(-9L),4L,0xE9867546L},{(-1L),1L,1L,(-1L),0xEB591F11L},{(-1L),4L,0L,0L,4L}}; + int32_t l_509[9][6] = {{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L},{0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L,0xDF92247FL,0x59DF3EF6L,0x59DF3EF6L}}; + uint32_t l_528 = 6UL; + uint8_t *l_576[8] = {&g_23,&g_23,&g_23,&g_23,&g_23,&g_23,&g_23,&g_23}; + int32_t l_635 = 0x6AE51A9FL; + int i, j; + if (((safe_add_func_uint16_t_u_u((l_509[1][5] ^= (func_4(func_8(l_13[7], (((safe_mul_func_uint8_t_u_u((func_16(func_21(g_23), (((*g_69) = func_27((++(*l_33)), func_37(l_13[7], g_42, func_43(l_47, (safe_div_func_uint8_t_u_u((func_50(func_56(l_59, g_60), g_61[6][5][1], l_13[2], &g_61[3][1][1], l_64) <= l_64.f1), g_42.f3)), g_69), l_47), l_64, &l_13[1], l_175[0][2])) < l_13[7]), l_59, g_69) >= g_171[1][6][2]), 0x43L)) < l_64.f2) != 5UL), g_69, g_405[3][0]), l_64.f0, l_59) >= l_64.f1)), l_64.f3)) > 0x66CCL)) + { /* block id: 365 */ + int32_t l_524 = (-9L); + union U2 l_580 = {0xF3A458B5L}; + int8_t *l_581 = (void*)0; + int32_t l_589 = 0x34F78B18L; + uint32_t l_605 = 0xE76FF136L; + for (g_234 = (-16); (g_234 >= 13); g_234 = safe_add_func_int32_t_s_s(g_234, 6)) + { /* block id: 368 */ + union U2 l_520 = {0x03E6CC5CL}; + int32_t l_529 = (-7L); + int32_t *l_566 = &l_175[0][0]; + const uint8_t *l_577 = &g_171[2][4][1]; + uint32_t *l_584 = &l_580.f1; + uint8_t l_587 = 0x74L; + if (l_64.f1) + { /* block id: 369 */ + uint32_t l_516 = 0UL; + uint8_t *l_519 = &g_42.f2; + union U2 *l_521 = &l_64; + int32_t *l_525 = (void*)0; + int32_t *l_526 = &g_61[3][1][1]; + int32_t *l_527[7][2] = {{&l_13[4],&l_13[4]},{(void*)0,&l_13[4]},{&l_13[4],(void*)0},{&l_13[4],&l_13[4]},{(void*)0,&l_13[4]},{&l_13[4],(void*)0},{&l_13[4],&l_13[4]}}; + int16_t l_554 = 0xB066L; + uint16_t *l_571 = &g_165[6]; + int i, j; + l_529 = (safe_div_func_int16_t_s_s((safe_rshift_func_uint16_t_u_s(l_516, (safe_rshift_func_int8_t_s_u(l_516, ((*l_519) = 0x47L))))), (((*l_521) = l_520) , ((l_528 = ((*l_526) = (safe_lshift_func_uint16_t_u_s((func_16(g_163, l_524, l_519, &g_70) && 1L), 8)))) | l_520.f0)))); + if ((*l_526)) + break; + for (g_34 = 0; (g_34 <= 5); g_34 = safe_add_func_int16_t_s_s(g_34, 5)) + { /* block id: 378 */ + uint32_t l_534 = 0x9C38BE8CL; + int8_t **l_537 = &g_69; + int32_t *l_565 = &l_13[0]; + } + } + else + { /* block id: 394 */ + return l_175[0][1]; + } + l_589 = ((*g_588) = (safe_mod_func_uint16_t_u_u(((((l_576[2] = &g_218) == l_577) && (~(safe_mul_func_uint8_t_u_u((l_13[5] >= (l_580 , g_165[5])), (*l_566))))) > 0x0256L), l_47))); + (*g_588) ^= (*l_566); + } + for (g_117 = (-29); (g_117 != (-7)); g_117 = safe_add_func_int8_t_s_s(g_117, 5)) + { /* block id: 407 */ + int32_t *l_592 = &l_13[7]; + int32_t *l_593 = &l_13[0]; + int32_t *l_594 = &l_175[0][2]; + int32_t *l_595 = &l_509[1][5]; + int32_t *l_596 = &l_175[0][2]; + int32_t *l_597 = &l_509[1][5]; + int32_t *l_598 = &l_175[1][2]; + int32_t *l_599 = (void*)0; + int32_t *l_600 = &g_255; + int32_t *l_601 = &g_25; + int32_t *l_602 = &g_255; + int32_t l_603 = 0x83DE74D8L; + int32_t *l_604[5][7] = {{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&l_175[0][2],&g_61[3][1][0],&l_509[3][2],&g_61[3][1][0],&l_175[0][2],(void*)0,&l_175[0][2]},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,&g_255,(void*)0},{&l_509[3][2],&g_255,&l_509[3][2],(void*)0,&l_509[8][3],(void*)0,&l_509[3][2]},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}}; + int i, j; + ++l_605; + } + } + else + { /* block id: 410 */ + int32_t *l_608[10] = {&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2],&l_175[0][2]}; + uint8_t *l_612 = (void*)0; + uint8_t **l_613 = (void*)0; + uint8_t **l_614 = &l_612; + uint8_t **l_615[10] = {&l_576[5],&l_576[2],&l_576[5],&l_576[2],&l_576[5],&l_576[2],&l_576[5],&l_576[2],&l_576[5],&l_576[2]}; + uint32_t l_617 = 0xA732A71CL; + const int8_t *l_618 = &g_70; + int32_t *l_622 = (void*)0; + union U1 l_641 = {0}; + int i; + if (func_50(func_56(&g_70, l_608[8]), (safe_lshift_func_uint8_t_u_s(l_13[7], 7)), (((safe_unary_minus_func_int8_t_s(((*g_69) = ((*g_248) ^ (l_175[0][3] > ((g_616 = ((*l_614) = l_612)) != (l_576[4] = &g_23))))))) | l_64.f1) && g_165[4]), &l_175[0][0], (**g_396))) + { /* block id: 415 */ + return l_528; + } + else + { /* block id: 417 */ + int8_t l_619 = 0xF5L; + const int32_t *l_627[7][2] = {{&g_42.f0,&g_42.f0},{&g_42.f0,&g_42.f0},{&g_42.f0,&g_42.f0},{&l_64.f0,&l_64.f0},{&l_64.f0,&g_42.f0},{&g_42.f0,&g_42.f0},{&g_42.f0,&g_42.f0}}; + const int32_t **l_626 = &l_627[3][0]; + int32_t l_628[6] = {0xF3CEC250L,0xF3CEC250L,0xF3CEC250L,0xF3CEC250L,0xF3CEC250L,0xF3CEC250L}; + int16_t l_636 = 0xA7CDL; + uint8_t l_637 = 0x6EL; + int i, j; + for (g_387 = 7; (g_387 >= 0); g_387 -= 1) + { /* block id: 420 */ + int8_t *l_620[4][4][9] = {{{&g_163.f0,&l_619,(void*)0,&g_163.f0,&g_163.f0,(void*)0,&l_619,&g_163.f0,&g_405[3][0].f0},{&g_70,&g_471,(void*)0,&g_70,&l_619,&g_70,(void*)0,&g_117,&g_471},{&g_405[3][0].f0,&l_619,&g_163.f0,&g_471,(void*)0,&g_471,&g_163.f0,&l_619,&g_405[3][0].f0},{&g_163.f0,&g_471,&l_619,&g_70,&g_70,(void*)0,&g_471,(void*)0,&g_405[3][0].f0}},{{&g_163.f0,(void*)0,(void*)0,&g_163.f0,(void*)0,(void*)0,(void*)0,&g_163.f0,&g_163.f0},{&g_70,&g_405[3][0].f0,&g_70,&g_471,(void*)0,(void*)0,(void*)0,&g_471,&g_163.f0},{&l_619,(void*)0,&g_471,&g_163.f0,&g_163.f0,&g_117,&g_163.f0,&g_163.f0,&g_471},{&g_405[3][0].f0,&g_405[3][0].f0,&g_405[3][0].f0,&g_163.f0,&l_619,&g_117,&g_471,&g_70,&g_70}},{{&g_471,&g_163.f0,&l_619,&g_163.f0,(void*)0,&l_619,&l_619,(void*)0,&g_163.f0},{&g_405[3][0].f0,&g_117,&g_405[3][0].f0,(void*)0,&g_471,(void*)0,&g_70,&g_70,&l_619},{&g_117,&l_619,&g_471,&g_163.f0,(void*)0,&g_405[3][0].f0,&g_163.f0,&g_405[3][0].f0,(void*)0},{(void*)0,&g_70,&g_70,(void*)0,&g_117,(void*)0,&g_70,&l_619,&g_70}},{{&g_163.f0,&g_117,&g_163.f0,&g_163.f0,&l_619,&g_163.f0,&g_117,&g_117,&g_163.f0},{&g_117,&g_163.f0,(void*)0,&g_163.f0,&g_117,&l_619,&g_405[3][0].f0,&g_471,&g_70},{&l_619,&g_163.f0,&g_405[3][0].f0,&g_163.f0,(void*)0,&g_117,(void*)0,&g_163.f0,(void*)0},{&g_70,&l_619,&l_619,&l_619,&l_619,&g_70,(void*)0,&g_117,&g_70}}}; + int32_t l_629 = 0x94DF55BDL; + int32_t l_630 = 0x78F2A151L; + int32_t l_631 = 0x108DD9F6L; + int32_t l_632 = 1L; + int32_t l_633 = 0x9920FA05L; + int32_t l_634 = 8L; + int32_t *l_650 = &g_255; + int i, j, k; + for (g_163.f0 = 0; (g_163.f0 <= 3); g_163.f0 += 1) + { /* block id: 423 */ + int32_t *l_621[7][7] = {{&l_175[0][2],&g_61[3][4][2],&l_509[1][5],&l_175[0][2],&l_13[7],&l_175[0][2],&l_509[1][5]},{&g_255,&g_255,&l_13[7],&l_509[1][5],&g_61[3][4][2],(void*)0,&g_255},{&g_255,&l_509[1][5],&l_509[1][5],&g_61[3][4][2],&g_255,&g_255,&g_61[3][4][2]},{&l_175[0][2],&l_13[7],&l_175[0][2],&l_509[1][5],&g_61[3][4][2],&l_175[0][2],&l_175[0][2]},{&g_61[3][4][2],&l_13[7],&l_509[1][5],&l_509[1][5],&l_13[7],&l_13[7],&l_13[7]},{(void*)0,&l_509[1][5],&l_509[1][5],(void*)0,&l_175[0][2],&l_175[0][2],&g_61[3][4][2]},{&g_255,&g_255,&l_509[1][5],&l_509[1][5],&g_61[3][4][2],&g_255,&g_255}}; + const int32_t *l_624 = &g_78; + const int32_t **l_623[5]; + int i, j; + for (i = 0; i < 5; i++) + l_623[i] = &l_624; + for (g_78 = 3; (g_78 >= 0); g_78 -= 1) + { /* block id: 426 */ + int i, j, k; + g_61[(g_78 + 1)][(g_163.f0 + 1)][g_163.f0] ^= l_619; + (*g_95) = func_56(l_620[0][2][7], l_621[0][2]); + (*g_95) = (*g_95); + l_622 = l_621[0][2]; + } + for (l_619 = 1; (l_619 <= 7); l_619 += 1) + { /* block id: 434 */ + const int32_t ***l_625[2]; + int i; + for (i = 0; i < 2; i++) + l_625[i] = &l_623[1]; + l_626 = l_623[4]; + } + } + --l_637; + for (l_47 = 0; (l_47 <= 3); l_47 += 1) + { /* block id: 441 */ + int32_t l_640 = 0xEDD92DAAL; + int32_t *l_642 = (void*)0; + int8_t *l_649 = (void*)0; + (*g_588) |= (((g_165[2] = l_640) >= l_640) | ((((l_641 , (*g_170)) | (l_628[0] = (l_13[2] >= (func_50(l_642, (func_50(&l_628[2], (((g_643 == ((safe_rshift_func_uint8_t_u_s(l_628[2], 6)) , &g_644)) == 0x572EL) & 0L), l_634, l_608[7], (**g_396)) ^ 9UL), (*g_69), l_608[0], (*g_397)) || 0x10DDA243L)))) < l_13[7]) > l_13[g_387])); + for (l_636 = 0; (l_636 <= 3); l_636 += 1) + { /* block id: 447 */ + int32_t *l_651 = &l_628[2]; + l_650 = &l_628[2]; + (*g_95) = l_651; + if ((**g_95)) + break; + } + for (g_163.f0 = 5; (g_163.f0 >= 2); g_163.f0 -= 1) + { /* block id: 455 */ + int i, j, k; + g_61[g_387][l_47][l_47] = (safe_unary_minus_func_int16_t_s(l_509[(l_47 + 4)][l_47])); + l_509[3][0] ^= (*l_650); + return (*g_588); + } + for (l_528 = 2; (l_528 <= 7); l_528 += 1) + { /* block id: 462 */ + return (*g_404); + } + } + } + for (l_637 = 0; (l_637 == 3); l_637++) + { /* block id: 469 */ + uint32_t l_655[6]; + int i; + for (i = 0; i < 6; i++) + l_655[i] = 0x4CE808BAL; + (*g_95) = l_622; + if (l_655[4]) + continue; + } + } + } + for (g_218 = 3; (g_218 == 24); g_218++) + { /* block id: 477 */ + for (l_635 = 24; (l_635 <= 1); l_635 = safe_sub_func_int32_t_s_s(l_635, 2)) + { /* block id: 480 */ + (*g_588) = ((&g_78 == &g_78) ^ 0x108FL); + } + } + return (*g_588); +} + + +/* ------------------------------------------ */ +/* + * reads : g_387 g_95 g_84 g_61 g_170 g_171 g_163.f1 g_25 g_396 g_397 g_42 g_42.f3 g_117 g_248 g_246 g_255 g_380 g_471 g_249 g_165 g_163 g_69 g_70 g_42.f1 g_218 g_404 g_505 + * writes: g_387 g_60 g_404 g_218 g_25 g_117 g_396 g_255 g_61 g_471 g_170 g_34 + */ +static uint8_t func_4(int8_t * p_5, uint16_t p_6, int8_t * p_7) +{ /* block id: 299 */ + int32_t *l_430[6][9] = {{&g_61[3][1][1],&g_61[3][1][1],(void*)0,&g_61[1][1][0],&g_25,(void*)0,&g_25,&g_61[1][1][0],(void*)0},{&g_25,&g_25,&g_61[3][5][3],(void*)0,&g_61[5][0][1],&g_61[3][5][3],&g_61[5][0][1],(void*)0,&g_61[3][5][3]},{&g_61[3][1][1],&g_61[3][1][1],(void*)0,&g_61[1][1][0],&g_25,(void*)0,&g_25,&g_61[1][1][0],(void*)0},{&g_25,&g_25,&g_61[3][5][3],(void*)0,&g_61[5][0][1],&g_61[3][5][3],&g_61[5][0][1],(void*)0,&g_61[3][5][3]},{&g_61[3][1][1],&g_61[3][1][1],(void*)0,&g_61[3][1][1],&g_61[1][1][0],(void*)0,&g_61[1][1][0],&g_61[3][1][1],(void*)0},{&g_61[5][0][1],&g_61[5][0][1],&g_25,&g_25,(void*)0,&g_25,(void*)0,&g_25,&g_25}}; + uint32_t l_437[7][6] = {{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL},{0x73C76190L,0x73C76190L,1UL,0x73C76190L,0x73C76190L,1UL}}; + union U0 l_439 = {0x5BL}; + union U2 l_464 = {0x013712E9L}; + int8_t *l_468 = (void*)0; + union U2 l_470 = {0xFCE83381L}; + const union U1 l_504 = {0}; + int i, j; + for (g_387 = 10; (g_387 > (-15)); g_387--) + { /* block id: 302 */ + union U0 l_438[9][10] = {{{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L},{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L}},{{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L},{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L}},{{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L},{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L}},{{0x4FL},{0x2CL},{0x2CL},{0x4FL},{-6L},{0x4FL},{0x2CL},{0x6AL},{0x2CL},{-5L}},{{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L},{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L}},{{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L},{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L}},{{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L},{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L}},{{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L},{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L}},{{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L},{0x2CL},{0x6AL},{0x6AL},{0x2CL},{-5L}}}; + int8_t *l_444 = &l_438[8][2].f0; + uint8_t *l_445 = (void*)0; + uint8_t *l_446 = (void*)0; + uint8_t *l_447 = (void*)0; + int32_t *l_448 = &g_25; + int i, j; + (*l_448) = func_50(((*g_95) = l_430[0][6]), (safe_lshift_func_uint8_t_u_u((safe_mod_func_int32_t_s_s((safe_mul_func_int16_t_s_s((l_437[5][3] , ((g_218 = func_16(l_438[8][2], func_16(l_439, (g_84 , func_16(l_439, (safe_rshift_func_uint8_t_u_s(0x01L, (safe_rshift_func_int16_t_s_s(0xFC91L, 13)))), p_7, l_444)), p_7, p_7), p_7, l_444)) ^ (*g_170))), g_387)), g_25)), 3)), l_438[8][2].f1, l_448, (**g_396)); + (*l_448) &= 9L; + if (p_6) + break; + } + for (g_117 = (-26); (g_117 < 23); g_117++) + { /* block id: 311 */ + int16_t l_469 = (-9L); + uint32_t *l_486 = &l_470.f1; + uint32_t **l_485[4] = {&l_486,&l_486,&l_486,&l_486}; + int8_t l_497 = 0L; + int32_t l_501 = 1L; + uint16_t l_508 = 0x4BC4L; + int i; + if (p_6) + { /* block id: 312 */ + int32_t *l_451[8] = {&g_255,&g_255,&g_255,&g_255,&g_255,&g_255,&g_255,&g_255}; + int32_t *l_452 = (void*)0; + const union U1 l_472 = {0}; + union U0 l_479 = {0xB8L}; + int i; + for (l_439.f0 = 3; (l_439.f0 >= 0); l_439.f0 -= 1) + { /* block id: 315 */ + union U2 ***l_453 = &g_396; + int32_t l_465 = 0xAF964579L; + uint16_t *l_482 = &g_165[0]; + l_452 = ((*g_95) = func_56(p_5, l_451[0])); + (*l_453) = &g_397; + for (g_387 = 5; (g_387 >= 0); g_387 -= 1) + { /* block id: 321 */ + union U0 l_454 = {8L}; + int i, j, k; + if (g_61[l_439.f0][g_387][l_439.f0]) + { /* block id: 322 */ + int32_t *l_463 = &g_255; + uint16_t l_466[9] = {0xBF85L,0xBF85L,0x789FL,0xBF85L,0xBF85L,0x789FL,0xBF85L,0xBF85L,0x789FL}; + uint16_t *l_467[1]; + int i, j, k; + for (i = 0; i < 1; i++) + l_467[i] = &g_165[4]; + g_61[(l_439.f0 + 3)][g_387][l_439.f0] = (func_16(l_454, (safe_rshift_func_uint16_t_u_u(((*l_463) ^= ((safe_sub_func_int16_t_s_s(((safe_sub_func_uint16_t_u_u(l_437[(l_439.f0 + 3)][(l_439.f0 + 2)], (l_466[1] = (func_16(l_454, (func_16(func_21(((*p_5) != (safe_sub_func_uint8_t_u_u((func_50(l_463, g_387, (*p_5), l_463, ((255UL == 0xC5L) , l_464)) || p_6), 1L)))), l_465, p_5, &g_70) == 0xC5F1L), p_5, p_5) ^ 0x5022C929L)))) != (-9L)), (*g_248))) ^ 0x01E9L)), g_380)), l_468, l_468) >= l_469); + } + else + { /* block id: 326 */ + (*l_452) ^= (-1L); + } + (*l_452) = ((g_84 , (((l_470 , (*g_170)) == g_471) ^ ((((func_50(&g_61[l_439.f0][g_387][l_439.f0], p_6, (g_61[l_439.f0][g_387][l_439.f0] = 0L), (l_472 , l_452), l_464) != 0UL) | 0x92L) | (*g_249)) > (*g_170)))) != (*g_249)); + } + for (g_471 = 0; (g_471 <= 3); g_471 += 1) + { /* block id: 334 */ + uint16_t *l_480 = (void*)0; + int32_t l_484 = 0x0E90AE7DL; + for (g_387 = 0; (g_387 <= 6); g_387 += 1) + { /* block id: 337 */ + uint16_t **l_481 = &l_480; + union U2 l_483 = {4L}; + int i, j, k; + (*g_95) = func_37((safe_rshift_func_int8_t_s_u(0xCBL, g_61[(l_439.f0 + 3)][(l_439.f0 + 1)][g_471])), (***l_453), &g_61[(l_439.f0 + 3)][(l_439.f0 + 1)][g_471], ((l_439 , ((safe_mod_func_uint32_t_u_u(((((*l_481) = (((safe_sub_func_int32_t_s_s(g_165[g_471], p_6)) , l_479) , l_480)) == l_482) & (*g_170)), p_6)) , l_483)) , l_484)); + } + for (l_465 = 3; (l_465 >= 0); l_465 -= 1) + { /* block id: 343 */ + int i, j, k; + return g_61[(g_471 + 1)][(l_439.f0 + 2)][l_465]; + } + } + } + return (*g_170); + } + else + { /* block id: 349 */ + uint32_t ***l_487 = (void*)0; + uint32_t ***l_488 = &l_485[3]; + int32_t l_495[9][9][2] = {{{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L}},{{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L}},{{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L}},{{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L}},{{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L}},{{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L},{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x40CE7CD7L},{0xADA7BC83L,0x50ED6328L}},{{0L,0x40CE7CD7L},{1L,0x40CE7CD7L},{0L,0x50ED6328L},{0xADA7BC83L,0x40CE7CD7L},{0L,0x50ED6328L},{1L,0xD0A14D25L},{0L,0x50ED6328L},{(-9L),0x50ED6328L},{0L,0xD0A14D25L}},{{1L,0x50ED6328L},{0x1F85E5ACL,0x50ED6328L},{1L,0xD0A14D25L},{0L,0x50ED6328L},{(-9L),0x50ED6328L},{0L,0xD0A14D25L},{1L,0x50ED6328L},{0x1F85E5ACL,0x50ED6328L},{1L,0xD0A14D25L}},{{0L,0x50ED6328L},{(-9L),0x50ED6328L},{0L,0xD0A14D25L},{1L,0x50ED6328L},{0x1F85E5ACL,0x50ED6328L},{1L,0xD0A14D25L},{0L,0x50ED6328L},{(-9L),0x50ED6328L},{0L,0xD0A14D25L}}}; + uint16_t *l_496 = &g_34; + int i, j, k; + (*l_488) = l_485[1]; + (*g_95) = func_37((p_6 ^ 0xE2F4L), (**g_396), l_430[0][6], ((safe_sub_func_uint32_t_u_u((safe_lshift_func_uint16_t_u_u(((*l_496) = (safe_mul_func_uint8_t_u_u(func_16(l_439, l_495[1][7][1], p_5, &g_70), 0UL))), g_25)), g_42.f1)) <= l_469)); + for (g_218 = 0; (g_218 <= 5); g_218 += 1) + { /* block id: 355 */ + uint32_t l_498[10][6][2] = {{{0UL,0x4710D315L},{0xC89510DFL,18446744073709551614UL},{18446744073709551615UL,0x32FB2497L},{18446744073709551615UL,0UL},{1UL,0xA19F4CA6L},{18446744073709551614UL,1UL}},{{0UL,1UL},{0x243448FFL,0x243448FFL},{18446744073709551615UL,18446744073709551614UL},{0x0D81DB8EL,0x78E1239EL},{1UL,0x4710D315L},{1UL,1UL}},{{0x32FB2497L,18446744073709551615UL},{0x32FB2497L,1UL},{1UL,0x4710D315L},{1UL,0x78E1239EL},{0x0D81DB8EL,18446744073709551614UL},{18446744073709551615UL,0x243448FFL}},{{0x243448FFL,1UL},{0UL,1UL},{18446744073709551614UL,0xA19F4CA6L},{1UL,0UL},{18446744073709551615UL,0x32FB2497L},{18446744073709551615UL,18446744073709551614UL}},{{0xC89510DFL,0x4710D315L},{0xFF073B46L,18446744073709551614UL},{0UL,1UL},{18446744073709551615UL,0UL},{0xF99EA8BEL,0xFF073B46L},{0x78E1239EL,18446744073709551615UL}},{{1UL,18446744073709551615UL},{0x78E1239EL,0xFF073B46L},{0xF99EA8BEL,0UL},{18446744073709551615UL,1UL},{0UL,18446744073709551614UL},{0xFF073B46L,0x53B970BDL}},{{0x78E1239EL,18446744073709551610UL},{0xC89510DFL,18446744073709551615UL},{0UL,0xFF073B46L},{0x76FB5125L,18446744073709551614UL},{18446744073709551610UL,1UL},{0UL,18446744073709551612UL}},{{0xF99EA8BEL,0xF99EA8BEL},{0UL,18446744073709551610UL},{0xA19F4CA6L,18446744073709551615UL},{18446744073709551612UL,0x53B970BDL},{0x76FB5125L,18446744073709551612UL},{18446744073709551615UL,0xC89510DFL}},{{18446744073709551615UL,18446744073709551612UL},{0x76FB5125L,0x53B970BDL},{18446744073709551612UL,18446744073709551615UL},{0xA19F4CA6L,18446744073709551610UL},{0UL,0xF99EA8BEL},{0xF99EA8BEL,18446744073709551612UL}},{{0UL,1UL},{18446744073709551610UL,18446744073709551614UL},{0x76FB5125L,0xFF073B46L},{0UL,18446744073709551615UL},{0xC89510DFL,18446744073709551610UL},{0x78E1239EL,0x53B970BDL}}}; + int i, j, k; + if ((*g_404)) + break; + l_498[0][0][0]--; + l_501 = l_498[0][0][0]; + } + } + l_501 &= (func_21((((~p_6) , (safe_div_func_int32_t_s_s(p_6, ((l_504 , 0L) | ((void*)0 == g_505))))) , (safe_rshift_func_int8_t_s_u(0x75L, l_508)))) , p_6); + } + return (*g_170); +} + + +/* ------------------------------------------ */ +/* + * reads : g_95 g_60 g_234 g_249 g_246 g_61 g_69 g_70 g_42.f3 g_42.f1 g_218 g_170 g_171 g_163.f1 g_34 g_163.f0 g_42 g_84 g_248 g_255 + * writes: g_60 g_70 g_78 g_34 g_163.f0 g_61 g_218 g_165 g_234 g_117 g_42.f1 g_255 + */ +static int8_t * func_8(uint8_t p_9, const uint32_t p_10, const int8_t * p_11, union U0 p_12) +{ /* block id: 293 */ + int8_t l_406[2][8] = {{0x4CL,0x4CL,(-6L),0x4CL,0x4CL,(-6L),0x4CL,0x4CL},{0x31L,0x4CL,0x31L,0x31L,0x4CL,0x31L,0x31L,0x4CL}}; + int32_t *l_407 = &g_61[1][3][0]; + int32_t *l_408 = (void*)0; + int32_t *l_409 = &g_61[3][1][1]; + int32_t *l_410 = &g_25; + int32_t *l_411 = (void*)0; + int32_t *l_412 = &g_25; + int32_t *l_413 = &g_61[3][1][1]; + int32_t *l_414 = &g_255; + int32_t *l_415 = &g_61[3][1][1]; + int32_t *l_416 = (void*)0; + int32_t l_417[3][4][5]; + int32_t *l_418[6][10][1] = {{{(void*)0},{(void*)0},{(void*)0},{&g_61[1][4][2]},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{&g_61[1][4][2]},{(void*)0}},{{(void*)0},{(void*)0},{(void*)0},{(void*)0},{&g_25},{&g_25},{(void*)0},{(void*)0},{(void*)0},{(void*)0}},{{(void*)0},{(void*)0},{(void*)0},{&g_25},{&g_25},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0}},{{(void*)0},{(void*)0},{&g_25},{&g_25},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0}},{{(void*)0},{&g_25},{&g_25},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0}},{{&g_25},{&g_25},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{&g_25}}}; + int16_t l_419 = 0x46F3L; + int32_t l_420 = 0xEFAEA218L; + int32_t l_421 = 0xF0C3CF87L; + int32_t l_422 = 0xF5496424L; + int8_t l_423 = (-7L); + uint32_t l_424 = 0xBE103C84L; + union U2 l_427 = {0x21442813L}; + int i, j, k; + for (i = 0; i < 3; i++) + { + for (j = 0; j < 4; j++) + { + for (k = 0; k < 5; k++) + l_417[i][j][k] = 0xF85FD576L; + } + } + l_406[1][3] ^= p_9; + (*g_95) = l_407; + l_424--; + (*l_414) &= func_27(p_9, (*g_95), l_427, (*g_95), ((&g_387 == (l_427 , &g_380)) != ((((p_12.f1 <= (0x201B5C96L > p_9)) >= g_234) ^ (*g_249)) , 0x9438L))); + return &g_117; +} + + +/* ------------------------------------------ */ +/* + * reads : g_61 + * writes: g_404 + */ +static const int8_t func_16(union U0 p_17, uint8_t p_18, int8_t * p_19, int8_t * p_20) +{ /* block id: 197 */ + uint16_t l_302[6][3] = {{1UL,1UL,1UL},{0UL,0UL,0UL},{1UL,1UL,1UL},{0UL,0UL,0UL},{1UL,1UL,1UL},{0UL,0UL,0UL}}; + int32_t *l_342[5][7][4] = {{{&g_255,&g_61[3][1][1],&g_61[2][3][3],&g_25},{&g_61[3][1][1],&g_25,&g_255,&g_255},{&g_255,&g_255,&g_255,&g_255},{&g_255,&g_255,&g_255,&g_255},{&g_255,&g_25,&g_61[3][1][1],&g_25},{&g_61[2][3][3],&g_61[3][1][1],&g_255,&g_61[3][1][1]},{&g_61[2][3][3],&g_255,&g_61[3][1][1],(void*)0}},{{&g_61[5][4][3],&g_255,&g_61[4][5][1],&g_25},{&g_255,(void*)0,&g_255,&g_25},{&g_61[4][5][1],&g_255,&g_61[5][4][3],(void*)0},{&g_61[2][3][3],&g_25,&g_255,&g_255},{&g_25,(void*)0,&g_255,&g_61[3][1][1]},{&g_61[2][3][3],&g_25,&g_61[5][4][3],&g_25},{&g_61[4][5][1],&g_25,&g_255,&g_25}},{{&g_255,&g_25,&g_61[4][5][1],&g_25},{&g_61[5][4][3],&g_25,&g_61[2][3][3],&g_61[3][1][1]},{&g_255,(void*)0,&g_25,&g_255},{&g_255,&g_25,&g_61[2][3][3],(void*)0},{&g_61[5][4][3],&g_255,&g_61[4][5][1],&g_25},{&g_255,(void*)0,&g_255,&g_25},{&g_61[4][5][1],&g_255,&g_61[5][4][3],(void*)0}},{{&g_61[2][3][3],&g_25,&g_255,&g_255},{&g_25,(void*)0,&g_255,&g_61[3][1][1]},{&g_61[2][3][3],&g_25,&g_61[5][4][3],&g_25},{&g_61[4][5][1],&g_25,&g_255,&g_25},{&g_255,&g_25,&g_61[4][5][1],&g_25},{&g_61[5][4][3],&g_25,&g_61[2][3][3],&g_61[3][1][1]},{&g_255,(void*)0,&g_25,&g_255}},{{&g_255,&g_25,&g_61[2][3][3],(void*)0},{&g_61[5][4][3],&g_255,&g_61[4][5][1],&g_25},{&g_255,(void*)0,&g_61[4][5][1],&g_255},{&g_61[3][1][1],&g_61[3][1][1],&g_25,&g_25},{&g_255,&g_61[3][1][1],&g_255,&g_61[3][1][1]},{&g_61[5][1][3],&g_25,&g_255,&g_255},{&g_255,(void*)0,&g_25,&g_61[3][1][1]}}}; + const union U2 *l_352 = &g_42; + uint16_t *l_377 = &g_165[1]; + uint16_t **l_376[4][4] = {{&l_377,(void*)0,&l_377,(void*)0},{&l_377,(void*)0,&l_377,(void*)0},{&l_377,(void*)0,&l_377,(void*)0},{&l_377,(void*)0,&l_377,(void*)0}}; + uint32_t l_393 = 4294967290UL; + const uint8_t *l_398 = &g_42.f2; + int8_t **l_401 = &g_69; + int8_t ***l_402 = &l_401; + const int32_t *l_403 = &g_61[3][1][1]; + int i, j, k; + for (p_18 = 25; (p_18 < 17); p_18 = safe_sub_func_uint32_t_u_u(p_18, 5)) + { /* block id: 200 */ + int32_t l_308 = 0xDC603431L; + int32_t l_309 = 0x1C33B4EEL; + union U1 *l_336 = &g_84; + int32_t l_388 = 4L; + uint8_t * const l_399 = &g_42.f2; + int8_t **l_400 = &g_69; + } + (*l_402) = l_401; + g_404 = (p_17.f1 , l_403); + return (*l_403); +} + + +/* ------------------------------------------ */ +/* + * reads : + * writes: g_25 + */ +static union U0 func_21(uint32_t p_22) +{ /* block id: 1 */ + int32_t *l_24 = &g_25; + union U0 l_26 = {-3L}; + (*l_24) = p_22; + return l_26; +} + + +/* ------------------------------------------ */ +/* + * reads : g_61 g_69 g_70 g_42.f3 g_42.f1 g_218 g_170 g_171 g_163.f1 g_95 g_34 g_163.f0 g_42 g_84 g_248 g_246 g_234 g_249 g_78 g_117 + * writes: g_70 g_78 g_34 g_163.f0 g_61 g_60 g_218 g_165 g_234 g_117 g_42.f1 + */ +static int8_t func_27(uint16_t p_28, int32_t * p_29, union U2 p_30, int32_t * const p_31, int32_t p_32) +{ /* block id: 106 */ + union U1 *l_177 = &g_84; + union U1 **l_176 = &l_177; + int32_t *l_178 = &g_61[3][1][1]; + int8_t *l_181[8] = {&g_163.f0,&g_163.f0,&g_163.f0,&g_163.f0,&g_163.f0,&g_163.f0,&g_163.f0,&g_163.f0}; + int32_t *l_182 = &g_61[3][1][1]; + union U2 l_252 = {8L}; + int32_t l_275 = 0x343AA78CL; + int32_t l_277 = 0xE7E876F0L; + int32_t l_289 = 0x3867B030L; + int32_t l_290 = 0x04B24578L; + int32_t l_291 = (-6L); + int32_t l_292 = 0xE153FDD8L; + int i; +lbl_256: + if (((+0x7E10L) ^ ((l_176 != (((*g_69) &= (*l_182)) , &l_177)) || (*l_178)))) + { /* block id: 108 */ + uint32_t l_193 = 18446744073709551606UL; + int32_t l_194 = 3L; + for (g_78 = 0; (g_78 <= (-16)); g_78 = safe_sub_func_int32_t_s_s(g_78, 2)) + { /* block id: 111 */ + int8_t l_192 = 0L; + for (g_34 = 0; (g_34 <= 7); g_34 += 1) + { /* block id: 114 */ + return (*l_178); + } + for (p_32 = 25; (p_32 == (-30)); p_32 = safe_sub_func_int32_t_s_s(p_32, 2)) + { /* block id: 119 */ + for (g_163.f0 = 0; (g_163.f0 != (-23)); g_163.f0 = safe_sub_func_int16_t_s_s(g_163.f0, 4)) + { /* block id: 122 */ + int8_t l_189 = (-3L); + for (g_34 = 0; (g_34 <= 3); g_34 += 1) + { /* block id: 125 */ + (*l_176) = &g_84; + } + if (l_189) + break; + } + if ((*l_178)) + break; + } + (*l_178) = (*p_31); + for (g_70 = 0; (g_70 < 3); ++g_70) + { /* block id: 135 */ + l_192 = 0x42813DB6L; + } + } + for (p_32 = 7; (p_32 >= 0); p_32 -= 1) + { /* block id: 141 */ + return p_30.f0; + } + l_194 = (~l_193); + return l_194; + } + else + { /* block id: 146 */ + int8_t l_197[10] = {1L,0x3CL,1L,(-1L),(-1L),1L,0x3CL,1L,(-1L),(-1L)}; + int32_t *l_198 = &g_61[3][1][1]; + union U0 l_199[1] = {{0xDFL}}; + int32_t *l_200 = (void*)0; + union U2 l_201[10] = {{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L},{0x8373BB44L}}; + uint16_t *l_224 = &g_34; + uint8_t *l_232 = (void*)0; + uint8_t ** const l_231 = &l_232; + union U1 l_240 = {0}; + int i; + if (((*l_178) = (safe_mul_func_uint16_t_u_u(((l_197[9] && func_50(l_198, (*l_182), (l_199[0] , p_30.f2), l_200, l_201[2])) >= (safe_mul_func_int8_t_s_s((*l_178), 0x2EL))), (*l_198))))) + { /* block id: 148 */ + return (*l_198); + } + else + { /* block id: 150 */ + uint8_t l_204 = 0xA3L; + uint32_t *l_217[3]; + union U2 l_223 = {0x3A80E33CL}; + uint16_t **l_225 = &l_224; + int i; + for (i = 0; i < 3; i++) + l_217[i] = &l_201[2].f1; +lbl_226: + l_204--; + if (g_42.f3) + goto lbl_256; + if (((*l_178) = (safe_sub_func_uint8_t_u_u((safe_add_func_uint16_t_u_u(g_42.f1, (g_165[6] = ((*l_198) >= ((safe_add_func_int32_t_s_s(0xBBEC7243L, (safe_lshift_func_int8_t_s_u(((((safe_mul_func_uint16_t_u_u(1UL, (*l_198))) < (++g_218)) && ((*g_170) ^ ((*g_69) = (safe_add_func_uint8_t_u_u(0UL, (l_223 , (((*l_225) = l_224) == &g_34))))))) == 0UL), (*g_170))))) , 0xACD3L))))), (*l_198))))) + { /* block id: 157 */ + return (*l_182); + } + else + { /* block id: 159 */ + int16_t *l_233 = &g_234; + int32_t l_235 = (-9L); + if (g_218) + goto lbl_226; + (*l_198) = (func_50(((*g_95) = l_217[0]), g_61[0][4][3], ((((safe_add_func_uint32_t_u_u(g_42.f3, (p_30 , (((*l_224) ^= (*l_182)) ^ g_163.f0)))) , (((*l_198) | ((((*l_233) = ((safe_add_func_uint16_t_u_u((((l_231 == &g_170) && 1L) != p_28), 0x6AFEL)) , p_30.f3)) , (*g_69)) > (*l_178))) ^ 0xE3L)) == (*g_69)) > l_235), l_178, g_42) , 0x23B8671DL); + } + } + for (g_117 = (-4); (g_117 <= 25); ++g_117) + { /* block id: 169 */ + int16_t *l_245 = &g_246; + int16_t **l_247[2]; + int32_t *l_250 = &g_61[3][1][1]; + int32_t l_253[6] = {0x4B38AC99L,0x4B38AC99L,0x12668D6FL,0x4B38AC99L,0x4B38AC99L,0x12668D6FL}; + int32_t *l_254 = &g_255; + int i; + for (i = 0; i < 2; i++) + l_247[i] = &l_245; + } + } + for (p_32 = 0; (p_32 > (-13)); p_32 = safe_sub_func_int32_t_s_s(p_32, 5)) + { /* block id: 181 */ + uint8_t l_264 = 0x45L; + int32_t l_272 = (-8L); + int32_t l_287[1][4] = {{0L,0L,0L,0L}}; + int16_t l_288 = (-1L); + uint32_t l_293 = 0xA6770327L; + int i, j; + for (p_28 = 1; (p_28 <= 7); p_28 += 1) + { /* block id: 184 */ + const union U1 *l_263[9] = {&g_84,&g_84,&g_84,&g_84,&g_84,&g_84,&g_84,&g_84,&g_84}; + int32_t l_265 = 0x3B5E6BF7L; + uint32_t *l_268 = &l_252.f1; + int16_t *l_271 = &g_234; + int32_t l_273 = 0x7167734CL; + int32_t *l_274 = (void*)0; + int32_t *l_276 = &g_255; + int32_t *l_278 = &l_273; + int32_t *l_279 = &g_255; + int32_t *l_280 = (void*)0; + int32_t *l_281 = &g_61[4][3][1]; + int32_t *l_282 = &l_275; + int32_t *l_283 = &l_265; + int32_t *l_284 = &l_275; + int32_t *l_285 = &l_277; + int32_t *l_286[9][2] = {{&l_275,&g_255},{&g_61[3][1][1],&g_61[3][1][1]},{&g_255,&l_275},{&g_61[4][1][1],&l_275},{&g_255,&g_61[3][1][1]},{&g_61[3][1][1],&g_255},{&l_275,&g_255},{&l_265,&l_275},{&g_255,&g_255}}; + int i, j; + l_273 |= ((p_32 ^ (p_32 != (safe_lshift_func_uint16_t_u_u(((safe_rshift_func_uint16_t_u_s((((void*)0 != l_263[4]) != ((*l_177) , (l_264 = ((g_42.f1 = p_28) | (*p_31))))), 14)) | l_265), ((safe_add_func_uint16_t_u_u(((++(*l_268)) , (((*l_271) ^= (*g_248)) <= l_272)), (*g_249))) || l_272))))) || 0x9B2CL); + if ((*l_182)) + continue; + l_293++; + (*l_182) |= l_272; + } + } + return (*l_182); +} + + +/* ------------------------------------------ */ +/* + * reads : g_117 g_163 g_61 g_69 g_70 g_42 g_42.f3 + * writes: g_170 g_61 g_60 + */ +static int32_t * func_37(const uint16_t p_38, union U2 p_39, int32_t * p_40, int32_t p_41) +{ /* block id: 101 */ + int32_t ***l_159 = &g_95; + int32_t l_160 = 0x1B0D62F1L; + uint16_t *l_164 = &g_165[4]; + const uint8_t *l_168 = &g_163.f1; + const uint8_t **l_169[5]; + const uint8_t l_172[4] = {0x82L,0x82L,0x82L,0x82L}; + int32_t *l_173 = &g_61[3][1][1]; + uint32_t l_174 = 18446744073709551614UL; + int i; + for (i = 0; i < 5; i++) + l_169[i] = &l_168; + (*l_173) = ((safe_div_func_uint8_t_u_u(p_39.f3, (safe_lshift_func_int16_t_s_u(g_117, ((((void*)0 != l_159) <= l_160) == (safe_lshift_func_int16_t_s_u((((g_163 , l_164) == &p_38) && (safe_lshift_func_uint16_t_u_s(((g_170 = l_168) != (void*)0), 0))), 6))))))) >= l_172[3]); + (*l_173) = ((*l_173) & ((func_50(p_40, ((*g_69) , l_174), (*g_69), &l_160, g_42) != (g_61[7][0][3] , p_39.f2)) <= 0xEEL)); + return p_40; +} + + +/* ------------------------------------------ */ +/* + * reads : g_69 g_70 g_61 g_60 g_42.f3 g_42.f2 g_78 g_94 g_23 g_117 g_95 + * writes: g_78 g_61 g_60 g_117 + */ +static int32_t * func_43(uint8_t p_44, int8_t p_45, int8_t * p_46) +{ /* block id: 15 */ + int32_t *l_71 = &g_61[3][1][1]; + int32_t *l_72 = (void*)0; + int32_t *l_73[9][8] = {{&g_61[3][1][1],(void*)0,(void*)0,&g_61[1][4][3],&g_61[0][3][1],&g_61[4][3][1],&g_61[6][4][2],&g_61[4][2][0]},{&g_61[2][4][2],(void*)0,(void*)0,&g_61[0][3][1],&g_61[0][3][1],(void*)0,(void*)0,&g_61[2][4][2]},{&g_61[3][1][1],&g_61[2][4][2],&g_61[3][1][2],&g_61[4] |