aboutsummaryrefslogtreecommitdiff
path: root/tests/fuzz/3.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fuzz/3.c')
-rw-r--r--tests/fuzz/3.c1043
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]