[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-dev] (no subject)



hi,
we have been working on adding a computed goto extension to csmith code base as,
void foo(void){
void *target[] ={&&label1,&&label2};
...code
label1:
        ...code
     goto *target[0];
label2:
      ....code
          goto *target[1];

}

in printing the array of address of labels at the start of function,
the find_contained_labels() function from the Statement.cpp is called
and the labels inside the main block of function are stored in a
vector datastructure.
The elements inside the array,while the array contains the labels
which are not even the function.
Following is .diff file and sample code file attached (   func_20()
) is getting error in it.
Thanks,
Sameeran Joshi
Shubham Narlawar
diff --git a/csmith-master/src/Block.h b/csmith-master/src/Block.h
index bb87af5..36edf2c 100644
--- a/csmith-master/src/Block.h
+++ b/csmith-master/src/Block.h
@@ -77,9 +77,14 @@ public:
 
 	void OutputTmpVariableList(std::ostream &out, int indent) const;
 
-    Block* random_parent_block(void);
+	    Block* random_parent_block(void);
 
 	int block_size() { return block_size_; }
+	//*changehere*//
+	std::vector<string> addr_labels;
+	std::vector<string> try_only_labels;
+	void print_label_addr_array(std::ostream&, int) const;
+
 	// These are currently accessed directly.
 	std::vector<Statement *> stms;
 	std::vector<Statement *> deleted_stms;
@@ -119,11 +124,10 @@ public:
 	bool need_revisit;
 
 	std::vector<const Statement*> break_stms;
-
 private:
 
 	bool depth_protect;
-
+	
 	// maximum block size
 	const int block_size_;
 
diff --git a/csmith-master/src/Block.cpp b/csmith-master/src/Block.cpp
index 798f276..f4cda34 100644
--- a/csmith-master/src/Block.cpp
+++ b/csmith-master/src/Block.cpp
@@ -64,7 +64,8 @@
 #include "CFGEdge.h"
 #include "Expression.h"
 #include "VectorFilter.h"
-
+#include <string>
+#include <vector>
 using namespace std;
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -148,6 +149,7 @@ Block::make_random(CGContext &cg_context, bool looping)
 
 	unsigned int max = BlockProbability(*b);
 	if (Error::get_error() != SUCCESS) {
+		cout << "\nerror" ;
 		curr_func->stack.pop_back();
 		delete b;
 		return NULL;
@@ -160,13 +162,29 @@ Block::make_random(CGContext &cg_context, bool looping)
 		// In the exhaustive mode, Statement::make_random could return NULL;
 		if (!s)
 			break;
-		b->stms.push_back(s);
+		b->stms.push_back(s);//*the s is surely correct*//
 		if (s->must_return()) {
 			break;
 		}
 	}
 
+
+//*changehere*//
+	if(curr_func->blocks[0]->stm_id==b->stm_id){
+
+		vector<string> labels;
+		int count=0;
+		count=curr_func->blocks[0]->find_contained_labels(labels);//*this 'b' is the one of the main block of function and not of inner blocks as we checked the condition above*//
+		string ss="";
+		for (std::vector<string>::iterator itr=labels.begin();itr!= labels.end();itr++) {
+			ss.clear();
+			ss += "&&";
+			ss += *itr;
+			curr_func->blocks[0]->addr_labels.push_back(ss);//only adds in the main array related to function.
+		}
+	}
 	if (Error::get_error() != SUCCESS) {
+		cout << "\nerror";
 		curr_func->stack.pop_back();
 		delete b;
 		return NULL;
@@ -181,6 +199,7 @@ Block::make_random(CGContext &cg_context, bool looping)
 	b->post_creation_analysis(cg_context, pre_effect);
 
 	if (Error::get_error() != SUCCESS) {
+		cout << "\nerror" ;
 		curr_func->stack.pop_back();
 		delete b;
 		return NULL;
@@ -188,6 +207,7 @@ Block::make_random(CGContext &cg_context, bool looping)
 
 	curr_func->stack.pop_back();
 	if (Error::get_error() != SUCCESS) {
+		cout << "\nerror" ;
 		//curr_func->stack.pop_back();
 		delete b;
 		return NULL;
@@ -197,6 +217,8 @@ Block::make_random(CGContext &cg_context, bool looping)
 	// if the last statement is not?
 	Error::set_error(SUCCESS);
 	return b;
+
+      	
 }
 
 /*
@@ -294,6 +316,9 @@ Block::Output(std::ostream &out, FactMgr* fm, int indent) const
 	std::ostringstream ss;
 	ss << "block id: " << stm_id;
 	output_comment_line(out, ss.str());
+//*changehere*//
+	if(!this->addr_labels.empty())
+        	this->print_label_addr_array(out,indent);
 
 	if (CGOptions::depth_protect()) {
 		out << "DEPTH++;" << endl;
@@ -805,6 +830,23 @@ Block::post_creation_analysis(CGContext& cg_context, const Effect& pre_effect)
 	}
 }
 
+void 
+Block::print_label_addr_array(std::ostream &out , int indent) const{
+	ostringstream ss;
+	cout << "/*\nNUMBER OF GOTO'S IN ABOVEE BLOCK:" << addr_labels.size()  << "*\/";
+/*     cout << "/nonly_labels[ = { ";
+       for(auto i=0;i<try_only_labels.size();i++)
+               cout << try_only_labels[i];
+       cout << "};\n";
+*/   
+	cout << "\nvoid *target[] = { ";
+	for(auto i=0;i<addr_labels.size();i++){
+		i!=0 ? cout << ", " : cout << ""; 
+		cout << addr_labels[i];
+	}
+
+	cout << "};\n";
+}
 ///////////////////////////////////////////////////////////////////////////////
 
 // Local Variables:
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.4.0
 * Git version: 8ade51f
 * Options:   (none)
 * Seed:      1688441398
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
union U0 {
   signed f0 : 9;
   const uint32_t  f1;
   int8_t  f2;
   int8_t * volatile  f3;
   volatile uint32_t  f4;
};

union U1 {
   uint32_t  f0;
};

/* --- GLOBAL VARIABLES --- */
static volatile int32_t g_2 = 0x9C5A654FL;/* VOLATILE GLOBAL g_2 */
static volatile int32_t g_3 = 0x3F467215L;/* VOLATILE GLOBAL g_3 */
static volatile int32_t g_4 = (-1L);/* VOLATILE GLOBAL g_4 */
static volatile int32_t g_5 = 0x9EA41449L;/* VOLATILE GLOBAL g_5 */
static int32_t g_6 = 1L;
static int32_t g_19 = 1L;
static int16_t g_49 = (-1L);
static int32_t g_63[7][10] = {{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)}};
static uint16_t g_73[4] = {0UL,0UL,0UL,0UL};
static uint32_t g_75[3] = {5UL,5UL,5UL};
static uint32_t g_80 = 4294967291UL;
static uint8_t g_118 = 0x91L;
static int8_t g_122 = (-10L);
static int8_t g_125 = 0xE5L;
static uint64_t g_132 = 0x0459850BAFF8C079LL;
static volatile uint64_t g_138 = 9UL;/* VOLATILE GLOBAL g_138 */
static volatile uint64_t g_139 = 0UL;/* VOLATILE GLOBAL g_139 */
static volatile uint64_t g_140 = 0x31699C01AE01D719LL;/* VOLATILE GLOBAL g_140 */
static volatile uint64_t g_141[3][8][6] = {{{0x128C3FF06EEF2C45LL,18446744073709551615UL,0x6797DE492F91EA85LL,0x2223408E39048C16LL,0x0C3003DDA2826399LL,0x4CD45573AC2B9889LL},{0x013F0835FF7BA7B7LL,0x128C3FF06EEF2C45LL,0x0C3003DDA2826399LL,0x4CD45573AC2B9889LL,0x0C3003DDA2826399LL,0x128C3FF06EEF2C45LL},{18446744073709551615UL,18446744073709551615UL,18446744073709551615UL,0x4CD45573AC2B9889LL,0x82407D1D32CE05B3LL,18446744073709551615UL},{0x2223408E39048C16LL,18446744073709551615UL,18446744073709551615UL,0x128C3FF06EEF2C45LL,0UL,0x0C3003DDA2826399LL},{0x0C3003DDA2826399LL,0x6797DE492F91EA85LL,0x4CD45573AC2B9889LL,18446744073709551615UL,0x128C3FF06EEF2C45LL,8UL},{0x4CD45573AC2B9889LL,0UL,0x013F0835FF7BA7B7LL,0x0C3003DDA2826399LL,18446744073709551606UL,18446744073709551615UL},{0x82407D1D32CE05B3LL,0x4CD45573AC2B9889LL,18446744073709551606UL,8UL,8UL,0x4CD45573AC2B9889LL},{18446744073709551615UL,0UL,0UL,8UL,0x0C3003DDA2826399LL,0x013F0835FF7BA7B7LL}},{{0x128C3FF06EEF2C45LL,0x013F0835FF7BA7B7LL,0UL,0x4CD45573AC2B9889LL,0x6797DE492F91EA85LL,18446744073709551606UL},{8UL,0x013F0835FF7BA7B7LL,18446744073709551615UL,0x64C2DCCA57987148LL,0x4CD45573AC2B9889LL,0UL},{8UL,0x6797DE492F91EA85LL,0x82407D1D32CE05B3LL,18446744073709551606UL,18446744073709551615UL,0UL},{0x4CD45573AC2B9889LL,8UL,18446744073709551615UL,18446744073709551615UL,18446744073709551615UL,8UL},{0x64C2DCCA57987148LL,0x64C2DCCA57987148LL,18446744073709551615UL,0UL,18446744073709551606UL,0x82407D1D32CE05B3LL},{0x4CD45573AC2B9889LL,0x82407D1D32CE05B3LL,0x6797DE492F91EA85LL,8UL,0x2223408E39048C16LL,18446744073709551615UL},{18446744073709551615UL,0x128C3FF06EEF2C45LL,0UL,0x82407D1D32CE05B3LL,8UL,18446744073709551615UL},{18446744073709551615UL,0x013F0835FF7BA7B7LL,0x4CD45573AC2B9889LL,18446744073709551615UL,0UL,18446744073709551615UL}},{{8UL,18446744073709551615UL,0UL,18446744073709551615UL,0UL,0UL},{0x2223408E39048C16LL,0x2223408E39048C16LL,0x64C2DCCA57987148LL,18446744073709551615UL,18446744073709551615UL,0x0C3003DDA2826399LL},{18446744073709551615UL,0x0C3003DDA2826399LL,0x013F0835FF7BA7B7LL,0UL,0x128C3FF06EEF2C45LL,0UL},{0UL,0x4CD45573AC2B9889LL,18446744073709551615UL,0x0C3003DDA2826399LL,0UL,0x64C2DCCA57987148LL},{18446744073709551615UL,0x82407D1D32CE05B3LL,8UL,0UL,0x6797DE492F91EA85LL,0x013F0835FF7BA7B7LL},{18446744073709551615UL,18446744073709551615UL,0x6797DE492F91EA85LL,0x64C2DCCA57987148LL,0x64C2DCCA57987148LL,18446744073709551615UL},{0x0C3003DDA2826399LL,0x128C3FF06EEF2C45LL,0x82407D1D32CE05B3LL,0x64C2DCCA57987148LL,0UL,8UL},{0UL,8UL,0x82407D1D32CE05B3LL,18446744073709551615UL,0x4CD45573AC2B9889LL,0x6797DE492F91EA85LL}}};
static volatile uint64_t g_142 = 0x1E146C4C103C77F6LL;/* VOLATILE GLOBAL g_142 */
static volatile uint64_t g_143 = 0x04F9BF6F6D5B1292LL;/* VOLATILE GLOBAL g_143 */
static volatile uint64_t g_144 = 1UL;/* VOLATILE GLOBAL g_144 */
static volatile uint64_t g_145 = 0x2449837FEA80240ELL;/* VOLATILE GLOBAL g_145 */
static volatile uint64_t g_146 = 9UL;/* VOLATILE GLOBAL g_146 */
static volatile uint64_t g_147[2] = {0xE87808701CCAA109LL,0xE87808701CCAA109LL};
static volatile uint64_t g_148 = 0xC6ED5E1251B00836LL;/* VOLATILE GLOBAL g_148 */
static volatile uint64_t *g_137[3][7][3] = {{{&g_146,&g_141[2][3][4],&g_147[0]},{&g_138,&g_139,&g_141[2][3][4]},{&g_139,&g_147[0],&g_145},{&g_138,&g_141[2][3][4],(void*)0},{(void*)0,&g_145,&g_144},{&g_140,(void*)0,&g_140},{&g_143,&g_144,&g_146}},{{&g_144,&g_140,&g_138},{(void*)0,&g_146,(void*)0},{&g_139,&g_138,&g_148},{&g_145,(void*)0,(void*)0},{(void*)0,&g_138,&g_139},{&g_148,(void*)0,(void*)0},{(void*)0,&g_139,&g_143}},{{&g_144,(void*)0,(void*)0},{&g_138,&g_144,(void*)0},{&g_141[2][3][4],(void*)0,&g_144},{(void*)0,(void*)0,&g_147[0]},{&g_141[2][3][4],&g_144,&g_148},{&g_148,(void*)0,&g_147[0]},{(void*)0,&g_148,&g_143}}};
static uint64_t g_150 = 0UL;
static volatile int32_t g_162 = 0xFB61F0D9L;/* VOLATILE GLOBAL g_162 */
static volatile int32_t *g_161[4] = {&g_162,&g_162,&g_162,&g_162};
static union U0 g_172 = {0L};/* VOLATILE GLOBAL g_172 */
static uint32_t *g_186 = (void*)0;
static uint64_t g_197 = 3UL;
static uint8_t g_198 = 0x2EL;
static int16_t g_212 = (-1L);
static uint32_t g_230 = 0x4447EB15L;
static volatile union U0 g_262[3][1] = {{{0x6CCC60F6L}},{{0x6CCC60F6L}},{{0x6CCC60F6L}}};
static volatile union U0 *g_261 = &g_262[1][0];
static volatile union U0 **g_260 = &g_261;
static uint16_t g_267 = 65533UL;
static union U1 g_271 = {4294967293UL};
static const union U1 g_292 = {0x2E917E6EL};
static int32_t *g_335 = &g_6;
static int32_t g_345[5] = {0L,0L,0L,0L,0L};
static volatile int32_t g_389 = 0xCEBED782L;/* VOLATILE GLOBAL g_389 */
static volatile int32_t *g_388 = &g_389;
static int64_t g_476 = (-7L);
static const uint32_t g_478 = 0x93E6F234L;
static union U0 g_489 = {0xEE4C59F3L};/* VOLATILE GLOBAL g_489 */
static uint8_t g_525 = 0x78L;
static uint32_t g_569 = 4294967287UL;
static volatile union U0 ** volatile **g_594 = (void*)0;
static union U0 g_618[4][6][2] = {{{{-1L},{-6L}},{{-1L},{0L}},{{0x752FDA74L},{-1L}},{{0x0A16BF02L},{0x58C4E30DL}},{{-1L},{0x58C4E30DL}},{{0x637533C6L},{-1L}}},{{{0x4B188B56L},{-6L}},{{0L},{0L}},{{0x0A16BF02L},{0L}},{{0x637533C6L},{-6L}},{{0xD45A2690L},{-1L}},{{0xEF439672L},{0x4B188B56L}}},{{{-1L},{0xD45A2690L}},{{-1L},{-1L}},{{0L},{0xEF439672L}},{{0L},{0L}},{{0xD45A2690L},{0x58C4E30DL}},{{0xD45A2690L},{-1L}}},{{{0L},{0x0A16BF02L}},{{0L},{0x58C4E30DL}},{{-6L},{-6L}},{{-1L},{0xD45A2690L}},{{-1L},{-1L}},{{0x20490F9EL},{0x9D30963AL}}}};
static union U0 g_619 = {0x81837315L};/* VOLATILE GLOBAL g_619 */
static union U0 g_620[10] = {{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L}};
static union U0 g_621 = {0x39570C8EL};/* VOLATILE GLOBAL g_621 */
static union U0 g_622 = {0xE25FF4C7L};/* VOLATILE GLOBAL g_622 */
static union U0 g_623[7] = {{0xB805DFF0L},{0xB805DFF0L},{-10L},{0xA340562BL},{-10L},{0xB805DFF0L},{-10L}};
static union U0 g_624[10] = {{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L},{0x0D8C35D4L}};
static union U0 g_625 = {0x3C1C5B0AL};/* VOLATILE GLOBAL g_625 */
static union U0 g_626 = {0xA3B14207L};/* VOLATILE GLOBAL g_626 */
static union U0 g_627[7] = {{0x8C4D1A89L},{0x8C4D1A89L},{0x8C4D1A89L},{0x8C4D1A89L},{0x8C4D1A89L},{0x8C4D1A89L},{0x8C4D1A89L}};
static union U0 g_628[3][7][3] = {{{{0x7526983BL},{-1L},{0L}},{{0L},{-1L},{0x7797C078L}},{{0x1AAD8187L},{0x41812C18L},{0x33D08E09L}},{{0x33D08E09L},{0xFD4D7B97L},{3L}},{{-6L},{0x1AAD8187L},{0x85E18F30L}},{{-6L},{1L},{0xC14E1AA4L}},{{0x7526983BL},{0x72E51143L},{0x33D08E09L}}},{{{0x6477C956L},{-3L},{0x1AAD8187L}},{{0x41812C18L},{0xC14E1AA4L},{0L}},{{3L},{0x1AAD8187L},{0x33D08E09L}},{{0x7797C078L},{0x39F6E73FL},{0L}},{{3L},{3L},{0x6477C956L}},{{0L},{0x7A199397L},{0xD1AE5F86L}},{{0xFD4D7B97L},{0x85E18F30L},{0x39F6E73FL}}},{{{0xF4BE78A0L},{-1L},{0x35AB4B9EL}},{{0x7A199397L},{-1L},{-1L}},{{-1L},{0x85E18F30L},{0x0C994732L}},{{0xFD4D7B97L},{-6L},{1L}},{{0x57C87512L},{0x1AAD8187L},{0x72E51143L}},{{3L},{-10L},{0x35AB4B9EL}},{{0xFD4D7B97L},{0xF4BE78A0L},{1L}}}};
static union U0 g_629 = {2L};/* VOLATILE GLOBAL g_629 */
static union U0 g_630 = {-5L};/* VOLATILE GLOBAL g_630 */
static union U0 g_631 = {0x11B2FD69L};/* VOLATILE GLOBAL g_631 */
static union U0 g_632 = {-6L};/* VOLATILE GLOBAL g_632 */
static union U0 g_633 = {7L};/* VOLATILE GLOBAL g_633 */
static union U0 g_634 = {-2L};/* VOLATILE GLOBAL g_634 */
static union U1 *g_697 = &g_271;
static volatile union U0 g_720 = {0x30859ACBL};/* VOLATILE GLOBAL g_720 */
static uint32_t g_752 = 0xE52BA5B1L;
static const int32_t *g_796[6][10][4] = {{{(void*)0,&g_6,&g_63[0][2],&g_63[0][2]},{&g_63[3][5],&g_63[6][3],&g_63[6][4],(void*)0},{(void*)0,&g_63[0][2],&g_63[5][5],(void*)0},{&g_63[0][2],&g_6,&g_63[3][5],(void*)0},{&g_6,&g_63[5][5],&g_63[3][8],&g_6},{(void*)0,(void*)0,(void*)0,&g_63[0][2]},{&g_63[0][2],&g_63[0][2],(void*)0,(void*)0},{(void*)0,&g_63[0][2],&g_63[1][0],&g_63[3][0]},{(void*)0,&g_63[3][8],&g_6,&g_63[0][2]},{&g_63[0][2],&g_63[1][4],&g_63[0][4],&g_63[3][8]}},{{&g_63[2][3],&g_6,(void*)0,&g_63[3][8]},{&g_63[1][0],&g_63[0][2],&g_63[0][2],(void*)0},{&g_6,&g_63[0][4],&g_63[3][3],(void*)0},{&g_63[0][2],&g_63[1][4],&g_6,&g_6},{&g_63[0][2],(void*)0,&g_6,(void*)0},{(void*)0,&g_63[0][2],&g_63[0][2],&g_63[0][2]},{(void*)0,&g_63[0][2],&g_63[6][9],(void*)0},{&g_63[0][2],&g_6,&g_63[5][5],&g_6},{(void*)0,&g_63[0][2],&g_63[3][3],&g_63[6][0]},{&g_63[0][2],(void*)0,&g_63[6][0],&g_63[6][7]}},{{&g_63[1][4],(void*)0,&g_6,&g_63[1][4]},{&g_63[0][4],(void*)0,&g_63[0][4],&g_63[0][2]},{&g_6,&g_63[0][2],&g_6,&g_6},{&g_6,(void*)0,(void*)0,&g_63[0][2]},{(void*)0,&g_63[1][4],(void*)0,&g_63[2][3]},{&g_6,&g_63[6][7],(void*)0,&g_63[3][8]},{(void*)0,&g_63[0][2],(void*)0,(void*)0},{(void*)0,&g_63[0][2],&g_63[3][5],&g_63[0][2]},{&g_6,&g_6,&g_6,&g_63[1][4]},{&g_63[3][8],&g_63[6][9],&g_63[0][2],(void*)0}},{{(void*)0,&g_63[2][3],&g_63[0][2],&g_63[0][2]},{&g_63[3][3],&g_63[0][2],&g_63[6][3],&g_63[1][4]},{(void*)0,&g_63[0][2],&g_6,(void*)0},{&g_63[1][4],&g_63[3][5],&g_63[3][8],&g_63[2][3]},{&g_63[0][2],(void*)0,(void*)0,(void*)0},{&g_6,(void*)0,&g_6,&g_63[0][2]},{&g_63[0][2],(void*)0,&g_63[0][2],&g_63[0][2]},{(void*)0,(void*)0,(void*)0,&g_63[6][0]},{&g_63[3][5],(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,&g_63[6][0]}},{{&g_6,(void*)0,&g_63[6][0],&g_63[3][0]},{&g_63[4][2],&g_63[6][4],&g_63[0][2],(void*)0},{&g_63[0][2],&g_63[0][2],&g_63[6][4],&g_63[0][2]},{(void*)0,&g_6,&g_63[0][2],(void*)0},{(void*)0,&g_63[3][8],&g_63[0][2],&g_63[0][4]},{(void*)0,&g_63[6][0],&g_63[0][2],(void*)0},{&g_6,&g_63[6][3],&g_63[0][2],&g_63[4][2]},{&g_63[0][2],&g_63[3][7],(void*)0,(void*)0},{&g_63[6][7],&g_63[3][8],&g_63[3][8],&g_63[3][8]},{(void*)0,&g_63[0][2],&g_6,&g_63[4][2]}},{{&g_63[0][2],&g_63[0][4],&g_6,&g_6},{&g_63[0][2],(void*)0,(void*)0,(void*)0},{&g_63[0][2],&g_6,(void*)0,&g_6},{&g_63[6][0],(void*)0,&g_6,&g_6},{&g_63[6][0],&g_6,&g_6,(void*)0},{&g_63[0][2],&g_63[6][7],&g_63[6][9],(void*)0},{&g_63[4][2],&g_63[3][8],&g_63[0][2],&g_6},{&g_63[2][3],&g_6,&g_63[0][2],&g_63[0][2]},{&g_6,&g_63[4][2],&g_63[4][2],(void*)0},{&g_63[0][2],&g_63[0][2],&g_6,&g_6}}};
static volatile uint32_t g_800 = 4294967295UL;/* VOLATILE GLOBAL g_800 */
static volatile uint32_t *g_799 = &g_800;
static volatile uint32_t ** volatile g_798 = &g_799;/* VOLATILE GLOBAL g_798 */
static volatile uint32_t ** volatile *g_797 = &g_798;
static int32_t *g_833 = (void*)0;
static int32_t **g_832 = &g_833;
static int8_t g_863 = (-7L);
static int64_t *g_912 = &g_476;
static uint32_t g_917 = 0UL;
static int32_t * volatile *g_958 = &g_335;
static int32_t * volatile * volatile *g_957 = &g_958;
static uint64_t g_1046 = 0x6467070C682E84E6LL;
static uint64_t **g_1124 = (void*)0;
static union U0 g_1168[1] = {{-6L}};
static union U0 g_1197 = {0L};/* VOLATILE GLOBAL g_1197 */
static const int64_t g_1227[9] = {0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL,0xFD6C13CDF088356FLL};
static const int64_t g_1229 = (-7L);
static const int64_t *g_1228 = &g_1229;
static const int16_t g_1292[1][3][5] = {{{0x300BL,0x6A8BL,0xF3B6L,(-3L),1L},{0L,0xFB18L,0x6A8BL,(-3L),(-3L)},{0xF3B6L,0xF3B6L,(-3L),0x300BL,1L}}};
static uint16_t g_1294 = 0xAD7AL;
static union U0 g_1338 = {3L};/* VOLATILE GLOBAL g_1338 */
static union U0 g_1636 = {-3L};/* VOLATILE GLOBAL g_1636 */
static volatile uint16_t g_1743 = 6UL;/* VOLATILE GLOBAL g_1743 */
static volatile uint16_t * volatile g_1742 = &g_1743;/* VOLATILE GLOBAL g_1742 */
static volatile uint16_t * volatile *g_1741 = &g_1742;
static volatile uint16_t g_1747 = 0x181EL;/* VOLATILE GLOBAL g_1747 */
static volatile uint16_t * volatile g_1746[2] = {&g_1747,&g_1747};
static const union U1 *g_1767 = &g_271;
static union U1 g_1856 = {1UL};
static union U1 * const g_1855[3][2][2] = {{{&g_1856,&g_1856},{&g_1856,&g_1856}},{{&g_1856,&g_1856},{&g_1856,&g_1856}},{{&g_1856,&g_1856},{&g_1856,&g_1856}}};
static union U1 * const *g_1854 = &g_1855[2][1][1];
static union U1 * const ** const g_1853[4] = {&g_1854,&g_1854,&g_1854,&g_1854};
static union U1 * const ** const *g_1852 = &g_1853[0];
static uint32_t *g_1900 = &g_75[2];
static uint32_t **g_1899 = &g_1900;
static volatile uint32_t g_1904 = 4294967288UL;/* VOLATILE GLOBAL g_1904 */
static volatile uint32_t *g_1903[9] = {(void*)0,(void*)0,(void*)0,&g_1904,&g_1904,&g_1904,(void*)0,(void*)0,(void*)0};
static volatile uint32_t **g_1902 = &g_1903[0];
static int64_t g_2012 = 0xD5DAC54A4252CA40LL;
static int16_t g_2022[1][5] = {{(-5L),(-5L),(-5L),(-5L),(-5L)}};
static union U0 g_2094 = {0xCA63F201L};/* VOLATILE GLOBAL g_2094 */
static union U0 g_2096 = {-1L};/* VOLATILE GLOBAL g_2096 */
static union U0 g_2097[8][1][2] = {{{{0x1A9C7B77L},{0xFAF3C10BL}}},{{{0L},{0x1A9C7B77L}}},{{{0L},{0L}}},{{{1L},{1L}}},{{{0L},{0L}}},{{{0L},{0x1A9C7B77L}}},{{{0L},{0x6DC6B3CDL}}},{{{0x6DC6B3CDL},{0x1A9C7B77L}}}};
static union U0 g_2098 = {0x73E47508L};/* VOLATILE GLOBAL g_2098 */
static union U0 g_2099 = {0x12D1366FL};/* VOLATILE GLOBAL g_2099 */
static union U0 g_2100 = {0L};/* VOLATILE GLOBAL g_2100 */
static union U0 g_2101[4] = {{0x3DD133CAL},{0x3DD133CAL},{0x3DD133CAL},{0x3DD133CAL}};
static union U0 g_2102 = {1L};/* VOLATILE GLOBAL g_2102 */
static union U0 g_2103 = {0x1A6B2F36L};/* VOLATILE GLOBAL g_2103 */
static union U0 g_2104 = {0x77D1EE11L};/* VOLATILE GLOBAL g_2104 */
static union U0 g_2105 = {-10L};/* VOLATILE GLOBAL g_2105 */
static union U0 g_2106 = {0xDF3034D9L};/* VOLATILE GLOBAL g_2106 */
static union U0 g_2107 = {0x615DD678L};/* VOLATILE GLOBAL g_2107 */
static union U0 g_2108 = {0L};/* VOLATILE GLOBAL g_2108 */
static union U0 g_2109 = {0x9A60153FL};/* VOLATILE GLOBAL g_2109 */
static union U0 g_2110[4][9][5] = {{{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}}},{{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}}},{{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}}},{{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}},{{-4L},{-4L},{-4L},{-4L},{-4L}},{{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L},{0x2E165D72L}}}};
static union U0 g_2111 = {0x4F700821L};/* VOLATILE GLOBAL g_2111 */
static union U0 g_2112[2] = {{0x06903680L},{0x06903680L}};
static union U0 g_2261[8] = {{0L},{0L},{0L},{0L},{0L},{0L},{0L},{0L}};
static union U0 g_2262 = {0x407E4841L};/* VOLATILE GLOBAL g_2262 */
static union U0 g_2263 = {-9L};/* VOLATILE GLOBAL g_2263 */
static union U0 g_2265 = {-1L};/* VOLATILE GLOBAL g_2265 */
static union U0 *g_2264 = &g_2265;
static uint32_t g_2305 = 0x1F298E60L;
static int16_t * const *g_2432 = (void*)0;
static int16_t * const **g_2431[2][6] = {{&g_2432,&g_2432,&g_2432,&g_2432,&g_2432,&g_2432},{&g_2432,&g_2432,&g_2432,&g_2432,&g_2432,&g_2432}};
static uint32_t g_2507 = 1UL;
static union U0 g_2562 = {0x0F5D11C6L};/* VOLATILE GLOBAL g_2562 */
static uint8_t *g_2631 = &g_525;
static uint8_t * volatile * const g_2630 = &g_2631;
static int16_t *g_2650 = &g_49;
static int16_t ** const g_2649 = &g_2650;
static int16_t ** const * const g_2648 = &g_2649;
static int16_t ** const * const *g_2647 = &g_2648;
static int16_t ** const * const **g_2646 = &g_2647;
static union U0 g_2683 = {0xC9FD4076L};/* VOLATILE GLOBAL g_2683 */
static int64_t **g_2684[6][2] = {{&g_912,&g_912},{&g_912,&g_912},{&g_912,&g_912},{&g_912,&g_912},{&g_912,&g_912},{&g_912,&g_912}};
static uint8_t g_2762 = 0xAEL;
static int32_t *g_2869 = (void*)0;
static uint16_t g_2881 = 65531UL;
static int32_t ***g_2887 = (void*)0;
static int32_t ****g_2886 = &g_2887;
static uint16_t *g_2906 = (void*)0;
static uint16_t * volatile *g_2905 = &g_2906;
static uint16_t * volatile **g_2904 = &g_2905;
static uint16_t * volatile ***g_2903 = &g_2904;
static int32_t g_2907 = 0x7A70CB1AL;
static uint32_t g_2939 = 0x299E36A9L;
static uint8_t **g_2977 = &g_2631;
static uint8_t ***g_2976 = &g_2977;
static uint8_t ****g_2975[6][6][2] = {{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}},{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}},{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}},{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}},{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}},{{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976},{&g_2976,&g_2976}}};
static volatile union U0 g_3124 = {0x2386A4DEL};/* VOLATILE GLOBAL g_3124 */
static volatile union U0 g_3141 = {-5L};/* VOLATILE GLOBAL g_3141 */
static volatile union U0 g_3144 = {1L};/* VOLATILE GLOBAL g_3144 */
static volatile uint32_t * volatile * volatile * volatile * volatile * volatile g_3194 = (void*)0;/* VOLATILE GLOBAL g_3194 */
static int32_t g_3226 = 0x7C8FD7A6L;
static const union U0 g_3237 = {-5L};/* VOLATILE GLOBAL g_3237 */
static uint8_t *****g_3283 = (void*)0;
static const uint8_t *g_3335 = &g_2762;
static const uint8_t **g_3334 = &g_3335;
static const uint8_t ***g_3333[5] = {&g_3334,&g_3334,&g_3334,&g_3334,&g_3334};
static const uint8_t ****g_3332[8][10][3] = {{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}},{{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]},{&g_3333[0],&g_3333[0],&g_3333[0]}}};
static const uint8_t *****g_3331 = &g_3332[5][0][2];
static union U1 ** volatile g_3338 = &g_697;/* VOLATILE GLOBAL g_3338 */
static const union U1 **g_3344 = (void*)0;
static const union U1 *** const g_3343 = &g_3344;
static const union U1 *** const *g_3342 = &g_3343;
static union U0 g_3354 = {0xFD74186AL};/* VOLATILE GLOBAL g_3354 */
static union U0 * const *g_3358[3] = {&g_2264,&g_2264,&g_2264};
static union U0 * const **g_3357[3] = {&g_3358[2],&g_3358[2],&g_3358[2]};
static union U0 * const ***g_3356 = &g_3357[1];
static union U0 * const ****g_3355 = &g_3356;
static volatile union U0 g_3417[4] = {{1L},{1L},{1L},{1L}};
static volatile union U0 g_3435 = {-1L};/* VOLATILE GLOBAL g_3435 */
static union U0 g_3439 = {0x36B556E5L};/* VOLATILE GLOBAL g_3439 */
static union U1 **g_3500 = &g_697;
static union U1 ***g_3499[9][3] = {{&g_3500,(void*)0,&g_3500},{(void*)0,(void*)0,(void*)0},{&g_3500,&g_3500,&g_3500},{&g_3500,(void*)0,&g_3500},{&g_3500,&g_3500,&g_3500},{(void*)0,&g_3500,&g_3500},{&g_3500,&g_3500,&g_3500},{&g_3500,&g_3500,&g_3500},{&g_3500,&g_3500,(void*)0}};
static union U1 ****g_3498 = &g_3499[8][2];
static const uint64_t g_3527 = 7UL;
static const uint64_t *g_3526 = &g_3527;
static union U0 g_3591 = {-6L};/* VOLATILE GLOBAL g_3591 */
static union U0 g_3600[10] = {{0x96BD7537L},{0xBF7EB958L},{0x96BD7537L},{0x96BD7537L},{0x96BD7537L},{0xBF7EB958L},{0x19F2E41CL},{0xBF7EB958L},{0xBF7EB958L},{0xBF7EB958L}};
static const volatile uint8_t g_3619 = 4UL;/* VOLATILE GLOBAL g_3619 */
static union U0 **g_3646 = &g_2264;
static union U0 ***g_3645 = &g_3646;
static union U0 g_3667 = {-7L};/* VOLATILE GLOBAL g_3667 */
static union U0 g_3668 = {0x54D2EB37L};/* VOLATILE GLOBAL g_3668 */
static union U0 g_3695 = {-1L};/* VOLATILE GLOBAL g_3695 */
static union U0 g_3723[7][3] = {{{-1L},{-1L},{-1L}},{{5L},{1L},{5L}},{{-1L},{-1L},{-1L}},{{5L},{1L},{5L}},{{-1L},{-1L},{-1L}},{{5L},{1L},{5L}},{{-1L},{-1L},{-1L}}};
static const volatile int64_t g_3749 = 0L;/* VOLATILE GLOBAL g_3749 */
static volatile union U0 g_3833 = {0x066D1196L};/* VOLATILE GLOBAL g_3833 */
static int16_t g_3881 = 0x6575L;
static uint32_t g_3890 = 0xC04CEC87L;
static volatile union U0 g_3923 = {0x038EBDAEL};/* VOLATILE GLOBAL g_3923 */
static union U0 g_3956 = {0x8FB0D0C1L};/* VOLATILE GLOBAL g_3956 */
static volatile uint32_t g_3963 = 2UL;/* VOLATILE GLOBAL g_3963 */
static union U0 g_3973 = {0L};/* VOLATILE GLOBAL g_3973 */
static union U0 g_3976 = {7L};/* VOLATILE GLOBAL g_3976 */
static union U0 g_3977[5] = {{0x00E5974EL},{0x00E5974EL},{0x00E5974EL},{0x00E5974EL},{0x00E5974EL}};


/* --- FORWARD DECLARATIONS --- */
static const uint32_t  func_1(void);
static union U0  func_10(uint16_t  p_11, int8_t * p_12);
static uint16_t  func_13(int32_t  p_14, int32_t * p_15, int32_t * p_16, int32_t * p_17);
static int32_t * func_20(int32_t * p_21, int64_t  p_22);
static int32_t * func_23(const uint64_t  p_24, union U1  p_25);
static uint8_t  func_29(uint32_t  p_30, const int8_t * p_31, int8_t * p_32, int32_t  p_33);
static uint32_t  func_34(int32_t  p_35, uint8_t  p_36, int16_t  p_37, uint32_t  p_38, int32_t  p_39);
static uint8_t  func_52(uint32_t  p_53);
static uint64_t  func_56(uint32_t  p_57);
static uint16_t  func_60(uint32_t  p_61);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_6 g_4 g_2 g_19 g_49 g_63 g_75 g_73 g_137 g_80 g_161 g_132 g_118 g_197 g_122 g_172.f0 g_212 g_150 g_230 g_260 g_198 g_271.f0 g_335 g_292.f0 g_594 g_476 g_633.f0 g_624.f0 g_569 g_628.f0 g_630.f0 g_629.f0 g_625.f0 g_345 g_619.f0 g_623.f0 g_261 g_627.f0 g_618.f0 g_271 g_634.f0 g_797 g_267 g_525 g_832 g_622.f0 g_632.f0 g_292 g_833 g_620.f0 g_3338 g_2907 g_388 g_389 g_162 g_798 g_799 g_800 g_3342 g_3355 g_2977 g_2631 g_2647 g_2648 g_2649 g_2650 g_917 g_912 g_1899 g_1900 g_3498 g_3331 g_3332 g_3333 g_3334 g_2939 g_143 g_1228 g_1229 g_3335 g_2762 g_125 g_489.f0 g_3591 g_3600 g_3356 g_3357 g_3358 g_2264 g_2265 g_863 g_3619 g_958 g_147 g_3667 g_3668 g_262 g_3435.f0 g_3723 g_2976 g_3749 g_2646 g_957 g_3923 g_2263.f0 g_1741 g_1742 g_1743 g_3956 g_144 g_3963 g_1747 g_3973 g_3646 g_3976 g_3977 g_1902 g_1903 g_2109.f0
 * writes: g_6 g_19 g_49 g_73 g_63 g_80 g_75 g_122 g_125 g_132 g_186 g_118 g_197 g_198 g_172.f0 g_212 g_150 g_230 g_335 g_525 g_388 g_697 g_631.f0 g_752 g_623.f0 g_630.f0 g_629.f0 g_271.f0 g_796 g_267 g_832 g_622.f0 g_1904 g_2939 g_2881 g_3342 g_3355 g_2975 g_2507 g_2907 g_476 g_3498 g_3526 g_863 g_2105.f0 g_2012 g_389 g_162 g_1294 g_3645 g_1856.f0 g_2762 g_1900
 */
static const uint32_t  func_1(void)
{ /* block id: 0 */
    int32_t l_9 = 0L;
    int32_t l_3506 = 9L;
    int32_t *l_3978 = &g_63[0][2];
    for (g_6 = (-7); (g_6 < 14); g_6++)
    { /* block id: 3 */
        int32_t *l_18 = &g_19;
        const int32_t l_28[7] = {1L,1L,0L,0L,0L,1L,0x67356A0BL};
        int16_t *l_48 = &g_49;
        const int8_t *l_861 = (void*)0;
        int8_t *l_862 = &g_863;
        int32_t *l_3032 = &g_2907;
        uint16_t *l_3504 = (void*)0;
        uint16_t *l_3505[7] = {(void*)0,(void*)0,(void*)0,(void*)0,&g_1294,&g_1294,(void*)0};
        int i;
        l_9 &= g_4;
        (**g_957) = (func_10((l_3506 = func_13(((*l_18) ^= g_2), (((void*)0 != &l_9) , (g_6 , func_20(func_23((1UL && ((safe_mod_func_int8_t_s_s((l_28[1] , (func_29(func_34(((((*l_48) |= (safe_sub_func_uint8_t_u_u(((safe_rshift_func_int16_t_s_u((((l_9 > (safe_lshift_func_uint8_t_u_s((safe_mul_func_int8_t_s_s(g_6, g_6)), g_6))) >= 65535UL) , l_9), 10)) >= 0x6121589AL), 0x62L))) != l_9) || l_28[0]), l_9, g_6, g_6, g_6), l_861, l_862, l_28[1]) && l_28[2])), l_9)) & g_625.f0)), g_292), g_620[2].f0))), l_3032, &l_9)), &g_863) , l_3978);
    }
    for (g_197 = 0; (g_197 <= 1); g_197 += 1)
    { /* block id: 1746 */
        uint32_t l_3979 = 0x63CCEE96L;
        int32_t l_3986 = 0x16EB804CL;
        int32_t l_3993 = 0x0492E42FL;
        if (l_3979)
            break;
        for (g_125 = 1; (g_125 >= 0); g_125 -= 1)
        { /* block id: 1750 */
            return (*l_3978);
        }
        for (l_9 = 0; (l_9 <= 1); l_9 += 1)
        { /* block id: 1755 */
            uint16_t l_3989 = 65531UL;
            int32_t l_3992 = 0xCA3C7508L;
            l_3993 |= (safe_lshift_func_uint16_t_u_s((safe_rshift_func_int16_t_s_u(((*g_912) , (safe_unary_minus_func_uint16_t_u((+(*l_3978))))), ((((l_3986 = (*****g_2646)) <= (((((*g_1902) != ((*g_1899) = (*g_1899))) <= ((l_3989 = l_3979) > ((****g_2647) < (safe_mod_func_int32_t_s_s((l_3992 != (((((*l_3978) == 1L) || l_3979) || 0x2E41L) , l_3979)), (*g_388)))))) >= (*l_3978)) && (*g_1900))) == 0x50L) | g_2109.f0))), 2));
        }
    }
    (*g_388) |= (*l_3978);
    return (**g_1899);
}


/* ------------------------------------------ */
/* 
 * reads : g_1899 g_1900 g_75 g_2939 g_63 g_143 g_917 g_912 g_476 g_1228 g_1229 g_3334 g_3335 g_2762 g_125 g_489.f0 g_73 g_388 g_389 g_162 g_2647 g_2648 g_3591 g_3600 g_3355 g_3356 g_3357 g_3358 g_2264 g_2265 g_863 g_3619 g_2649 g_2650 g_632.f0 g_1856.f0 g_958 g_147 g_3667 g_3668 g_49 g_261 g_262 g_2907 g_3435.f0 g_260 g_3723 g_267 g_2976 g_2977 g_2631 g_3749 g_212 g_150 g_525 g_2646 g_957 g_80 g_335 g_3923 g_2263.f0 g_1741 g_1742 g_1743 g_832 g_833 g_3956 g_144 g_3963 g_1747 g_3973 g_3646 g_3976 g_3977
 * writes: g_75 g_3526 g_2939 g_63 g_863 g_2105.f0 g_476 g_2012 g_389 g_162 g_1294 g_2507 g_796 g_150 g_3645 g_49 g_1856.f0 g_335 g_2762 g_2907 g_267 g_525 g_212 g_80 g_132
 */
static union U0  func_10(uint16_t  p_11, int8_t * p_12)
{ /* block id: 1532 */
/*
NUMBER OF GOTO'S IN ABOVEE BLOCK:1*/
void *target[] = { &&lbl_3666};
    int64_t l_3513 = (-1L);
    uint64_t * const l_3522 = &g_150;
    const uint64_t *l_3523[3][3][9] = {{{&g_1046,&g_132,&g_1046,&g_1046,&g_1046,&g_150,(void*)0,(void*)0,(void*)0},{&g_132,&g_1046,&g_1046,&g_1046,&g_132,&g_150,(void*)0,&g_150,&g_150},{&g_1046,&g_1046,(void*)0,&g_1046,&g_150,(void*)0,&g_132,&g_1046,&g_150}},{{&g_1046,&g_197,&g_1046,(void*)0,(void*)0,(void*)0,&g_1046,(void*)0,&g_1046},{&g_1046,&g_150,(void*)0,&g_132,&g_132,&g_1046,&g_1046,(void*)0,(void*)0},{(void*)0,&g_132,&g_1046,&g_197,&g_197,&g_150,&g_1046,&g_1046,(void*)0}},{{&g_197,(void*)0,(void*)0,&g_197,&g_132,&g_132,&g_1046,&g_132,&g_132},{(void*)0,&g_150,&g_1046,&g_197,&g_197,(void*)0,&g_1046,&g_197,&g_150},{&g_132,&g_132,&g_1046,&g_1046,&g_197,&g_1046,&g_132,&g_197,&g_150}}};
    const uint64_t **l_3524 = (void*)0;
    const uint64_t **l_3525[4][1][8] = {{{&l_3523[0][0][2],&l_3523[0][1][7],&l_3523[1][2][3],&l_3523[0][2][4],&l_3523[2][2][2],&l_3523[2][2][2],&l_3523[2][1][2],&l_3523[2][2][2]}},{{&l_3523[0][1][2],&l_3523[0][1][2],&l_3523[2][1][2],&l_3523[0][1][2],&l_3523[0][1][2],&l_3523[2][2][2],&l_3523[0][1][7],&l_3523[2][1][2]}},{{&l_3523[2][1][2],&l_3523[0][0][2],&l_3523[2][2][2],&l_3523[1][2][3],&l_3523[0][1][2],&l_3523[0][2][4],&l_3523[0][1][2],&l_3523[1][2][3]}},{{&l_3523[0][1][2],&l_3523[2][1][2],&l_3523[0][1][2],&l_3523[0][1][2],&l_3523[2][2][2],&l_3523[0][1][7],&l_3523[2][1][2],&l_3523[2][1][2]}}};
    uint32_t *l_3530[6] = {&g_2939,&g_2939,&g_2939,&g_80,&g_80,&g_80};
    uint64_t l_3535 = 0xB6CB251224BFFA6ALL;
    int32_t *l_3536 = (void*)0;
    int32_t *l_3537 = (void*)0;
    int32_t *l_3538 = &g_63[1][0];
    uint16_t l_3539 = 0UL;
    int32_t l_3540 = 0xDC9B2A7DL;
    int32_t *l_3541 = (void*)0;
    union U1 l_3548 = {4294967291UL};
    int32_t l_3570 = 0x1BCDCAC2L;
    uint8_t l_3571 = 255UL;
    int8_t l_3592 = 8L;
    uint8_t l_3603 = 0xB2L;
    uint16_t l_3606 = 0xBB3DL;
    uint8_t *****l_3617 = &g_2975[4][0][1];
    int32_t l_3631 = 8L;
    int32_t l_3632 = 0x03DB8043L;
    int32_t l_3633 = 0x570B917BL;
    int32_t l_3634 = 0L;
    int32_t l_3635 = (-6L);
    int32_t l_3636[6][2][8] = {{{0xDE2E2B19L,0x4C1E9853L,(-7L),1L,0x54A02E2EL,1L,0x4C1E9853L,0x4C1E9853L},{(-7L),0x54A02E2EL,0x156A6E6BL,(-5L),0xF6342B31L,0xDE2E2B19L,0x4C1E9853L,(-7L)}},{{1L,0xDE2E2B19L,(-7L),(-7L),0x4C1E9853L,(-5L),1L,(-7L)},{0x54A02E2EL,(-7L),0x54A02E2EL,(-5L),(-5L),0xF6342B31L,0x156A6E6BL,0x4C1E9853L}},{{0x54A02E2EL,0xF6342B31L,0x156A6E6BL,1L,0x4C1E9853L,0xDE2E2B19L,0x54A02E2EL,0xDE2E2B19L},{1L,0xF6342B31L,0xDE2E2B19L,0xF6342B31L,1L,0xF6342B31L,0x4C1E9853L,0x54A02E2EL}},{{(-7L),(-7L),0xDE2E2B19L,1L,(-5L),(-5L),0x54A02E2EL,0x4C1E9853L},{1L,1L,0x156A6E6BL,1L,0x156A6E6BL,1L,0xDE2E2B19L,0x54A02E2EL}},{{0x54A02E2EL,(-5L),0x54A02E2EL,0xF6342B31L,0x156A6E6BL,0x4C1E9853L,0x4C1E9853L,0xDE2E2B19L},{1L,(-7L),0xF6342B31L,0x4C1E9853L,(-5L),0x4C1E9853L,(-7L),(-7L)}},{{0xF6342B31L,(-5L),0xDE2E2B19L,0x156A6E6BL,1L,1L,(-7L),0xF6342B31L},{0x54A02E2EL,1L,0xF6342B31L,0xF6342B31L,(-7L),0x156A6E6BL,0x4C1E9853L,0xF6342B31L}}};
    uint32_t **l_3693 = &l_3530[4];
    uint32_t ***l_3692 = &l_3693;
    uint32_t ****l_3691 = &l_3692;
    const union U0 *l_3694[3][3][2];
    int16_t * const l_3700[7] = {&g_2022[0][1],&g_2022[0][1],&g_2022[0][1],&g_2022[0][1],&g_2022[0][1],&g_2022[0][1],&g_2022[0][1]};
    int32_t *l_3724 = (void*)0;
    int32_t *l_3725 = &l_3570;
    int32_t *l_3726 = &l_3570;
    int32_t *l_3727 = &l_3631;
    int32_t *l_3728 = &g_63[1][8];
    int32_t *l_3729 = &l_3634;
    int32_t *l_3730 = (void*)0;
    int32_t *l_3731 = &l_3633;
    uint32_t l_3732 = 5UL;
    int8_t l_3765 = 0xBFL;
    int16_t l_3766 = 8L;
    int8_t l_3841 = (-8L);
    uint64_t l_3905 = 0x3F06471C504CD876LL;
    int16_t ****l_3971 = (void*)0;
    uint16_t l_3972 = 0x7AF8L;
    int i, j, k;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            for (k = 0; k < 2; k++)
                l_3694[i][j][k] = &g_3695;
        }
    }
    if ((safe_rshift_func_int16_t_s_u(p_11, (~(~(safe_mul_func_uint16_t_u_u(l_3513, (safe_sub_func_int8_t_s_s((safe_add_func_uint64_t_u_u(5UL, (((((0x8704L == (safe_add_func_uint32_t_u_u((--(**g_1899)), (l_3522 != (g_3526 = l_3523[0][2][4]))))) , (safe_mul_func_int8_t_s_s(((((--g_2939) , (g_2105.f0 = (((l_3540 = ((l_3513 != (((safe_lshift_func_uint8_t_u_s((((*p_12) = (l_3513 , (((((*l_3538) &= l_3535) ^ l_3539) <= l_3539) >= g_143))) , 0xFDL), g_917)) , (*l_3538)) >= (*g_912))) | (*g_1228))) < (**g_3334)) , p_11))) < p_11) ^ p_11), g_125))) > p_11) | p_11) <= g_489.f0))), p_11)))))))))
    { /* block id: 1540 */
        union U1 ****l_3561[3][3][3] = {{{(void*)0,(void*)0,&g_3499[8][2]},{(void*)0,(void*)0,&g_3499[8][2]},{&g_3499[8][2],&g_3499[8][2],(void*)0}},{{(void*)0,(void*)0,(void*)0},{(void*)0,&g_3499[8][2],&g_3499[8][2]},{&g_3499[8][2],(void*)0,&g_3499[8][2]}},{{&g_3499[8][2],&g_3499[8][2],&g_3499[8][2]},{(void*)0,(void*)0,(void*)0},{&g_3499[8][2],&g_3499[8][2],(void*)0}}};
        int32_t l_3562 = (-2L);
        uint32_t l_3563 = 4294967286UL;
        int64_t *l_3564 = &g_2012;
        int32_t l_3569[6];
        int16_t ** const *l_3581 = (void*)0;
        int32_t **l_3614 = (void*)0;
        int32_t ***l_3613 = &l_3614;
        int i, j, k;
        for (i = 0; i < 6; i++)
            l_3569[i] = (-1L);
        (*l_3538) = (safe_add_func_int16_t_s_s(((safe_sub_func_int64_t_s_s((*g_1228), (!((*l_3564) = ((*g_912) = ((!((l_3548 , ((l_3548 = l_3548) , (((((((safe_div_func_int64_t_s_s((safe_sub_func_uint16_t_u_u(65529UL, (safe_rshift_func_int8_t_s_u((safe_mul_func_uint8_t_u_u((((++(*g_1900)) < p_11) == (p_11 | 6L)), (safe_div_func_int32_t_s_s((5L || (l_3561[2][0][1] == &g_1853[2])), l_3562)))), (*l_3538))))), l_3562)) >= l_3563) , p_11) , g_73[0]) && g_1229) >= l_3563) , (void*)0))) == (void*)0)) <= p_11)))))) != (*l_3538)), 65527UL));
        for (l_3562 = 0; (l_3562 > (-20)); --l_3562)
        { /* block id: 1548 */
            int64_t l_3567 = 0xCC3A969B3F0EB62CLL;
            int32_t *l_3568[6] = {&g_63[2][1],&g_63[2][1],&g_63[2][1],&g_63[2][1],&g_63[2][1],&g_63[2][1]};
            const int32_t **l_3576 = &g_796[3][7][1];
            const int32_t ***l_3575[5];
            const int32_t ****l_3574 = &l_3575[4];
            int32_t * const *l_3579[7][8] = {{&l_3541,&l_3537,&l_3541,(void*)0,(void*)0,&l_3568[2],&g_2869,(void*)0},{&l_3568[2],(void*)0,&l_3537,&l_3568[2],&l_3537,&l_3568[2],&l_3537,&g_335},{&g_335,&g_335,&l_3568[2],&l_3568[2],&g_335,&l_3568[2],&l_3568[2],(void*)0},{&l_3537,&g_335,&g_335,(void*)0,&l_3568[2],&g_335,(void*)0,&l_3568[2]},{&l_3568[2],&l_3537,&g_335,&g_2869,&g_335,&l_3568[2],&l_3568[2],&l_3568[2]},{(void*)0,&l_3537,&l_3568[2],(void*)0,&l_3568[2],&l_3537,&l_3537,&g_335},{&l_3568[2],&l_3568[2],(void*)0,&g_335,&l_3568[2],&l_3568[2],&g_2869,&l_3537}};
            int32_t * const **l_3578[9] = {&l_3579[4][5],&l_3579[6][6],&l_3579[4][5],&l_3579[6][6],&l_3579[4][5],&l_3579[6][6],&l_3579[4][5],&l_3579[6][6],&l_3579[4][5]};
            int32_t * const ***l_3577 = &l_3578[1];
            int32_t * const ****l_3580 = &l_3577;
            uint16_t l_3588 = 0x9797L;
            int i, j;
            for (i = 0; i < 5; i++)
                l_3575[i] = &l_3576;
            --l_3571;
            (*g_388) |= l_3563;
            if ((l_3574 != ((*l_3580) = l_3577)))
            { /* block id: 1552 */
                l_3581 = (*g_2647);
            }
            else
            { /* block id: 1554 */
                int8_t l_3593 = 0xE4L;
                int32_t l_3594 = 0x02BA82B9L;
                int32_t l_3595 = (-1L);
                int32_t l_3596 = 0x49F90F31L;
                for (g_1294 = 0; (g_1294 == 10); g_1294 = safe_add_func_int8_t_s_s(g_1294, 6))
                { /* block id: 1557 */
                    uint32_t l_3597[8][8] = {{0UL,0x49845C0EL,1UL,0UL,0UL,0x3C0DE39DL,1UL,0UL},{0x596D64A0L,0x49845C0EL,1UL,0xD0C24099L,0UL,0x9A7D283BL,3UL,4294967291UL},{3UL,3UL,0x596D64A0L,1UL,0x51B55A39L,0x51B55A39L,4294967291UL,0xD0C24099L},{1UL,4294967293UL,0x31914F9BL,0UL,0xC2C99933L,4294967291UL,0x0D4525F1L,0x596D64A0L},{0x51B55A39L,1UL,0x31914F9BL,3UL,4294967291UL,4294967295UL,4294967291UL,0x25821414L},{0UL,0x3C0DE39DL,0x596D64A0L,1UL,0x596D64A0L,0x3C0DE39DL,3UL,4294967295UL},{4294967291UL,4294967295UL,1UL,0x9A7D283BL,4294967295UL,4294967293UL,1UL,0xC2C99933L},{0xD41BDDB6L,1UL,4294967291UL,0x9A7D283BL,4294967292UL,0x596D64A0L,0x49845C0EL,4294967295UL}};
                    int i, j;
                    for (g_2507 = 23; (g_2507 == 5); --g_2507)
                    { /* block id: 1560 */
                        int32_t *l_3586 = (void*)0;
                        int32_t l_3587 = (-10L);
                        (*l_3576) = l_3586;
                        l_3588--;
                        return g_3591;
                    }
                    l_3597[5][4]++;
                }
                return g_3600[5];
            }
            l_3603 = ((--p_11) , (-1L));
        }
        (*l_3538) = (safe_sub_func_uint64_t_u_u((0x3D280FCDAB139019LL != ((*l_3522) = l_3606)), (((safe_add_func_uint16_t_u_u((safe_div_func_uint32_t_u_u(((*g_1900) = (~l_3569[5])), l_3563)), (!((((*****g_3355) , &l_3537) == ((*l_3613) = (void*)0)) || (((safe_rshift_func_int8_t_s_s((*p_12), 0)) , &g_3332[1][6][2]) == l_3617))))) == p_11) || p_11)));
        (*l_3538) = ((-4L) == (safe_unary_minus_func_uint8_t_u((g_3619 && 0x9D3AL))));
    }
    else
    { /* block id: 1577 */
        const uint16_t l_3622 = 65535UL;
        int32_t *l_3623 = (void*)0;
        int32_t *l_3624 = &g_63[0][1];
        int32_t *l_3625 = &g_63[5][5];
        int32_t l_3626 = 0L;
        int32_t *l_3627 = &g_63[0][2];
        int32_t *l_3628 = (void*)0;
        int32_t *l_3629 = &g_2907;
        int32_t *l_3630[3][6][10] = {{{&l_3570,&l_3570,(void*)0,&l_3540,&l_3540,&l_3570,&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_6},{&l_3540,(void*)0,&g_63[0][2],&l_3570,&g_63[0][2],(void*)0,&l_3570,(void*)0,(void*)0,(void*)0},{&l_3626,(void*)0,&g_63[0][2],&g_63[0][2],(void*)0,&l_3570,&g_63[0][2],&l_3570,&g_6,&l_3626},{&l_3570,&l_3540,&g_63[0][2],&l_3626,&l_3570,(void*)0,(void*)0,&g_63[0][2],&l_3570,(void*)0},{(void*)0,&l_3570,(void*)0,(void*)0,&l_3540,&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_63[6][3],&g_6},{&l_3540,&g_63[0][2],&g_63[0][2],&g_6,&g_63[0][2],(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}},{{&l_3626,&l_3626,&g_63[0][2],&g_63[0][2],&l_3570,&l_3570,(void*)0,&l_3570,&g_6,&l_3540},{&l_3570,&l_3540,&g_63[0][2],&l_3626,&g_6,(void*)0,(void*)0,&g_63[6][3],&l_3570,(void*)0},{(void*)0,&l_3570,&l_3540,(void*)0,&l_3540,&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_63[6][3],&g_6},{&l_3570,&g_63[0][2],&g_63[0][2],&g_6,&g_63[0][2],&g_63[0][2],(void*)0,(void*)0,&l_3626,(void*)0},{&l_3626,&l_3626,&g_63[0][2],(void*)0,&l_3570,&l_3570,(void*)0,&l_3570,(void*)0,&l_3540},{&l_3570,(void*)0,&g_63[0][2],&l_3626,&g_6,(void*)0,&g_63[0][2],&g_63[6][3],&l_3570,(void*)0}},{{(void*)0,&l_3570,&l_3540,(void*)0,&l_3570,&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_63[6][3],(void*)0},{&l_3570,&g_63[0][2],(void*)0,&g_6,&g_63[0][2],&g_63[0][2],(void*)0,&l_3570,&l_3626,(void*)0},{&l_3540,&l_3626,&g_63[0][2],(void*)0,&l_3570,(void*)0,(void*)0,&l_3570,(void*)0,&l_3540},{&g_63[0][2],(void*)0,&g_63[0][2],&l_3540,&g_6,(void*)0,&g_63[0][2],&g_63[6][3],(void*)0,(void*)0},{(void*)0,&g_6,&l_3540,(void*)0,&l_3570,&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_63[6][3],(void*)0},{&l_3570,&g_63[0][2],(void*)0,&g_6,&g_63[6][3],&g_63[0][2],(void*)0,&l_3570,&l_3626,&l_3540}}};
        uint32_t l_3637 = 0x8242784EL;
        union U0 **l_3643 = &g_2264;
        union U0 ***l_3642 = &l_3643;
        union U0 ****l_3644[9][7][2] = {{{&l_3642,(void*)0},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,(void*)0},{&l_3642,&l_3642},{&l_3642,&l_3642},{(void*)0,(void*)0}},{{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642}},{{&l_3642,(void*)0},{&l_3642,&l_3642},{(void*)0,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,(void*)0}},{{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{(void*)0,(void*)0}},{{&l_3642,&l_3642},{(void*)0,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{(void*)0,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642}},{{&l_3642,(void*)0},{&l_3642,(void*)0},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642}},{{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{(void*)0,(void*)0}},{{&l_3642,&l_3642},{&l_3642,&l_3642},{(void*)0,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,(void*)0},{&l_3642,&l_3642}},{{&l_3642,&l_3642},{(void*)0,&l_3642},{&l_3642,&l_3642},{&l_3642,&l_3642},{&l_3642,(void*)0},{(void*)0,&l_3642},{&l_3642,(void*)0}}};
        int32_t l_3656 = 0x5CBB0F30L;
        uint8_t ****l_3659 = &g_2976;
        int16_t l_3680 = (-1L);
        int i, j, k;
        (*l_3538) ^= (safe_lshift_func_uint16_t_u_s(l_3622, 2));
        l_3637--;
lbl_3666:
        (*g_388) = ((safe_div_func_uint8_t_u_u((254UL != ((g_3645 = l_3642) != (void*)0)), (((***g_2648) = ((*l_3624) != (*l_3625))) | (safe_mod_func_int16_t_s_s((safe_rshift_func_int8_t_s_u((safe_sub_func_uint64_t_u_u(((safe_div_func_uint32_t_u_u((((((((p_11 , (p_11 = (+(((*l_3627) , ((0x48L && 0xA8L) , 0xEC68L)) , 0UL)))) & (*l_3625)) <= g_632.f0) && g_632.f0) <= 0L) && l_3656) , p_11), (-4L))) && p_11), 2UL)), (*l_3625))), 0x8BF8L))))) && 0x5D679B444586162DLL);
        for (g_1856.f0 = 0; (g_1856.f0 <= 2); ++g_1856.f0)
        { /* block id: 1586 */
            uint8_t l_3663 = 0xE2L;
            uint32_t ****l_3690[1];
            int32_t l_3706 = 0x67480EBDL;
            int32_t l_3712 = 5L;
            int32_t l_3716 = 0L;
            int32_t l_3718 = (-1L);
            int32_t l_3719[2];
            uint64_t l_3720 = 0x6D3AD38D17AD2D37LL;
            int i;
            for (i = 0; i < 1; i++)
                l_3690[i] = (void*)0;
            for (i = 0; i < 2; i++)
                l_3719[i] = 3L;
            if (p_11)
            { /* block id: 1587 */
                uint8_t ****l_3660 = (void*)0;
                int32_t l_3662 = 0xF3901704L;
                for (l_3656 = 1; (l_3656 >= 0); l_3656 -= 1)
                { /* block id: 1590 */
                    int32_t *l_3661[2];
                    int i;
                    for (i = 0; i < 2; i++)
                        l_3661[i] = &g_2907;
                    if (((void*)0 != &g_3332[5][0][2]))
                    { /* block id: 1591 */
                        l_3660 = l_3659;
                        (*g_958) = l_3661[1];
                    }
                    else
                    { /* block id: 1594 */
                        int i;
                        l_3663++;
                        if (g_147[l_3656])
                            break;
                        (*g_388) = g_147[l_3656];
                        if (g_863)
                            goto lbl_3666;
                    }
                    return g_3667;
                }
                return g_3668;
            }
            else
            { /* block id: 1603 */
                int8_t l_3708 = (-6L);
                int32_t l_3709 = 4L;
                int32_t l_3710 = (-1L);
                int32_t l_3711 = (-1L);
                int32_t l_3713 = (-9L);
                int32_t l_3715 = 0x8800FAADL;
                int32_t l_3717[6];
                int i;
                for (i = 0; i < 6; i++)
                    l_3717[i] = 3L;
                for (g_49 = 2; (g_49 != (-9)); g_49--)
                { /* block id: 1606 */
                    uint16_t **l_3685 = &g_2906;
                    uint16_t ***l_3684 = &l_3685;
                    uint16_t ****l_3683 = &l_3684;
                    int32_t l_3696[3];
                    int i;
                    for (i = 0; i < 3; i++)
                        l_3696[i] = 0x42DDE33DL;
                    l_3696[1] = (safe_add_func_uint32_t_u_u(((((safe_sub_func_uint32_t_u_u(((((*l_3625) ^= (safe_rshift_func_uint16_t_u_s((safe_sub_func_uint8_t_u_u(((((*g_261) , (!l_3680)) == ((p_11 , ((((safe_add_func_int16_t_s_s(p_11, (&g_2904 == l_3683))) && (safe_add_func_int8_t_s_s((safe_lshift_func_uint16_t_u_u(0x878FL, 7)), ((l_3690[0] != l_3691) == g_2907)))) , (void*)0) == l_3694[0][1][0])) && 0x58346A47DE33BEC0LL)) || 4294967295UL), p_11)), p_11))) | l_3663) , l_3696[0]), (*g_1900))) , g_3435.f0) != (**g_3334)) == 18446744073709551613UL), (*g_1900)));
                }
                for (g_2762 = 0; (g_2762 >= 3); g_2762 = safe_add_func_uint8_t_u_u(g_2762, 5))
                { /* block id: 1612 */
                    int16_t *l_3699 = (void*)0;
                    int32_t l_3704[7];
                    int i;
                    for (i = 0; i < 7; i++)
                        l_3704[i] = 0xD7A362A3L;
                    if ((l_3699 == l_3700[3]))
                    { /* block id: 1613 */
                        return (**g_260);
                    }
                    else
                    { /* block id: 1615 */
                        uint16_t l_3701[8][9] = {{0x3C39L,0x5AA1L,0x34B9L,0xE8E2L,0x8AF3L,0x12E0L,0x5F78L,6UL,65526UL},{1UL,65535UL,65535UL,0x5F78L,65531UL,0xAE45L,0x5F78L,0x400DL,3UL},{0x0E5BL,65531UL,65535UL,0xC285L,3UL,0xC285L,6UL,0xE8E2L,65535UL},{0x5F78L,65535UL,0xC285L,0x5AA1L,65535UL,0x8AF3L,0x400DL,65535UL,0x3C39L},{65531UL,65531UL,65531UL,0x2335L,0xADECL,1UL,1UL,0xAE45L,3UL},{0x12E0L,0x5F78L,6UL,65526UL,65535UL,1UL,65531UL,0x5F78L,65535UL},{0xE8E2L,0x0E5BL,1UL,0x12E0L,65530UL,0x1A8CL,0x3FB7L,3UL,0xADECL},{0x12E0L,3UL,1UL,1UL,65530UL,65530UL,1UL,1UL,0xE8E2L}};
                        int32_t l_3705 = 0xAC0EE92AL;
                        int32_t l_3707 = 0xFB82C0F6L;
                        int32_t l_3714 = 0L;
                        int i, j;
                        l_3701[7][4]--;
                        if (p_11)
                            break;
                        l_3720++;
                        (*l_3629) |= ((void*)0 != p_12);
                    }
                }
                return g_3723[5][2];
            }
        }
    }
    ++l_3732;
    for (g_267 = 0; (g_267 >= 18); g_267 = safe_add_func_int64_t_s_s(g_267, 8))
    { /* block id: 1629 */
        int32_t l_3743 = 2L;
        int32_t l_3755[9][7] = {{0xAF03E7E9L,0xA8DA9DB2L,0xDB1D7EE1L,0xA8DA9DB2L,0xAF03E7E9L,0xA8DA9DB2L,0L},{(-9L),(-9L),0xAF03E7E9L,0x7C6C1B20L,0xAF03E7E9L,(-9L),0xAF03E7E9L},{0xD622B058L,0xAF03E7E9L,0xAF03E7E9L,0xA8DA9DB2L,0xDB1D7EE1L,0xA8DA9DB2L,0xAF03E7E9L},{0xA8DA9DB2L,0xDB1D7EE1L,0L,0L,0x7C6C1B20L,(-9L),0x7C6C1B20L},{0L,0xBA5C2805L,0xA8DA9DB2L,(-9L),(-9L),0xAF03E7E9L,0x7C6C1B20L},{0xAF03E7E9L,0xA8DA9DB2L,0x7C6C1B20L,(-9L),0xBA5C2805L,0xBA5C2805L,(-6L)},{0xD622B058L,0xAF03E7E9L,0xA8DA9DB2L,0x7C6C1B20L,(-9L),0xBA5C2805L,0xBA5C2805L},{(-6L),0x7C6C1B20L,0xD622B058L,0L,0xBA5C2805L,0xA8DA9DB2L,(-9L)},{(-9L),0xD622B058L,(-9L),0xBA5C2805L,(-6L),0xA8DA9DB2L,0xDB1D7EE1L}};
        uint8_t l_3778 = 0xB3L;
        int32_t *l_3820 = &g_2907;
        int32_t l_3898 = 1L;
        int32_t ** const *l_3916 = (void*)0;
        int32_t ** const **l_3915 = &l_3916;
        int32_t ** const ***l_3914 = &l_3915;
        uint16_t l_3954 = 0x39C5L;
        union U1 l_3955 = {1UL};
        int i, j;
        for (l_3539 = 3; (l_3539 > 11); l_3539 = safe_add_func_uint64_t_u_u(l_3539, 6))
        { /* block id: 1632 */
            int64_t l_3744 = (-1L);
            uint64_t ***l_3752[6][8] = {{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}};
            uint64_t ****l_3753 = (void*)0;
            uint64_t ****l_3754 = &l_3752[0][6];
            int i, j;
            (*l_3729) ^= ((((((((***g_2976) = (safe_lshift_func_uint16_t_u_s((safe_add_func_int8_t_s_s((0x3AL < l_3743), 1L)), 10))) , (void*)0) != ((*l_3754) = ((l_3744 ^ (safe_rshift_func_uint16_t_u_u((((safe_div_func_uint8_t_u_u(((-1L) > (g_3749 & (0x307FE83DL >= ((safe_sub_func_uint32_t_u_u(l_3743, (*l_3728))) == l_3743)))), p_11)) >= l_3744) || 0xBCBF492A5FE84463LL), (*l_3731)))) , l_3752[0][0]))) == l_3755[6][6]) ^ p_11) , 18446744073709551615UL) , (*g_388));
        }
        if (p_11)
            continue;
        for (g_212 = (-30); (g_212 != (-5)); g_212 = safe_add_func_int32_t_s_s(g_212, 5))
        { /* block id: 1640 */
            uint16_t *l_3762 = &l_3606;
            uint32_t l_3767[6][8] = {{0x303EF412L,0x61EB6FDBL,0UL,0UL,0xE18152AAL,1UL,0xE18152AAL,0x40CF84A4L},{0UL,0x40CF84A4L,0UL,1UL,0UL,0x8D4AE857L,0xA0D857A8L,0xE18152AAL},{0UL,0UL,0xA0D857A8L,0xE18152AAL,0xE18152AAL,0x61EB6FDBL,0x303EF412L,0xA0D857A8L},{0x303EF412L,0UL,0x61EB6FDBL,0UL,0x8D4AE857L,0x8D4AE857L,0xE18152AAL,0x303EF412L},{0UL,0x40CF84A4L,0xA0D857A8L,0x8D4AE857L,0UL,1UL,0x303EF412L,0xE18152AAL},{0x61EB6FDBL,0x61EB6FDBL,1UL,0x8D4AE857L,1UL,0x61EB6FDBL,0xA0D857A8L,0x303EF412L}};
            int32_t *l_3796 = (void*)0;
            int64_t *l_3806[6] = {&g_476,&l_3513,&g_476,&l_3513,&l_3513,&l_3513};
            int32_t l_3815[7][7] = {{(-3L),(-1L),(-1L),(-1L),0x83A1840AL,0x83A1840AL,0x83A1840AL},{(-3L),(-1L),0x83A1840AL,0x83A1840AL,0x83A1840AL,(-3L),(-3L)},{(-3L),0x83A1840AL,(-3L),(-1L),(-1L),(-1L),0x83A1840AL},{0x83A1840AL,(-3L),0x83A1840AL,(-3L),(-1L),(-1L),(-1L)},{0x83A1840AL,(-3L),(-1L),(-3L),(-1L),0x83A1840AL,(-1L)},{0x83A1840AL,(-1L),0x83A1840AL,(-3L),0x83A1840AL,(-3L),(-1L)},{(-3L),0x83A1840AL,(-1L),0x83A1840AL,(-3L),0x83A1840AL,(-3L)}};
            union U1 ** const ***l_3913[3];
            int32_t ** const ***l_3917 = &l_3915;
            int i, j;
            for (i = 0; i < 3; i++)
                l_3913[i] = (void*)0;
            if (((safe_rshift_func_uint8_t_u_s((safe_mul_func_uint16_t_u_u((l_3765 = (p_11 = (1UL > (++(*l_3762))))), ((l_3766 <= (*l_3727)) == (0x24394054L <= l_3767[3][5])))), ((l_3767[3][1] < ((l_3767[3][5] <= (l_3767[2][7] == (safe_mul_func_uint16_t_u_u(((safe_sub_func_uint64_t_u_u(((*l_3522)--), (safe_rshift_func_uint8_t_u_u((**g_2977), l_3743)))) ^ l_3767[3][5]), 0x9BCAL)))) , 6UL)) > 0x2B547F6BDF7CB2ABLL))) > (*****g_2646)))
            { /* block id: 1645 */
                int64_t l_3787 = 0x16EE1F4A4F0E7D8ELL;
                uint8_t *****l_3805 = (void*)0;
                int32_t l_3860 = (-3L);
                int32_t l_3861 = 0xAB4F4660L;
                int32_t l_3901 = (-1L);
                union U1 ** const *l_3912 = &g_3500;
                union U1 ** const **l_3911 = &l_3912;
                union U1 ** const ***l_3910 = &l_3911;
                int32_t ** const ***l_3918[8] = {&l_3915,&l_3915,&l_3915,&l_3915,&l_3915,&l_3915,&l_3915,&l_3915};
                int i;
                (**g_957) = &l_3743;
                for (g_80 = 0; (g_80 <= 1); g_80 += 1)
                { /* block id: 1649 */
                    int32_t *** const l_3786 = &g_832;
                    int32_t l_3807 = 1L;
                    int32_t l_3816 = 7L;
                    const int8_t *l_3823[1][1][3];
                    uint16_t **l_3836 = (void*)0;
                    uint16_t **l_3837 = (void*)0;
                    union U1 l_3840 = {0xF59B8296L};
                    int32_t l_3896 = (-1L);
                    int32_t l_3897 = 0xA1670ABFL;
                    int32_t l_3899 = 4L;
                    int32_t l_3900 = 0x40C00163L;
                    int32_t l_3902 = 0x26F504BCL;
                    int32_t l_3903 = 0L;
                    int32_t l_3904[1][4] = {{1L,1L,1L,1L}};
                    int i, j, k;
                    for (i = 0; i < 1; i++)
                    {
                        for (j = 0; j < 1; j++)
                        {
                            for (k = 0; k < 3; k++)
                                l_3823[i][j][k] = &l_3592;
                        }
                    }
                }
                (*g_335) &= ((((l_3910 == l_3913[1]) && (**g_3334)) , (void*)0) == (l_3918[5] = (l_3917 = (((&l_3806[3] == (void*)0) != 5L) , l_3914))));
                for (l_3571 = 0; (l_3571 <= 5); l_3571 += 1)
                { /* block id: 1695 */
                    int8_t l_3926 = 0x6FL;
                    int i, j;
                    for (l_3765 = 0; (l_3765 <= 5); l_3765 += 1)
                    { /* block id: 1698 */
                        uint32_t l_3929[1][2];
                        int i, j;
                        for (i = 0; i < 1; i++)
                        {
                            for (j = 0; j < 2; j++)
                                l_3929[i][j] = 0x171D6AEBL;
                        }
                        (*l_3726) &= (safe_mul_func_int8_t_s_s((((((l_3767[l_3571][(l_3765 + 1)] , 0x049CL) != ((*g_2650) = ((safe_sub_func_int16_t_s_s((g_3923 , (safe_rshift_func_uint16_t_u_u(p_11, 13))), p_11)) != 0xD04AE323L))) != (((l_3926 > (((*g_1900) = (*g_1900)) ^ (safe_add_func_int8_t_s_s(((((((*l_3762) = l_3929[0][1]) >= p_11) >= l_3926) == 0xC4B8L) < p_11), 7UL)))) < 0xF171421115499ADCLL) < 0xD1165EBAL)) , g_2263.f0) != p_11), p_11));
                    }
                    (*g_958) = func_23((((safe_add_func_uint16_t_u_u((l_3767[l_3571][l_3571] == ((safe_mul_func_int16_t_s_s((safe_div_func_uint16_t_u_u(((p_11 < p_11) , p_11), (safe_mod_func_uint8_t_u_u(0x7DL, (safe_add_func_uint16_t_u_u(((safe_lshift_func_uint16_t_u_u(((((((**g_2649) | (safe_rshift_func_uint8_t_u_u(((p_11 || (safe_sub_func_int64_t_s_s(((safe_mul_func_uint16_t_u_u((((safe_sub_func_int64_t_s_s(p_11, (((l_3954 = (safe_rshift_func_uint16_t_u_s((safe_rshift_func_uint8_t_u_u(0xFCL, 4)), 13))) , (void*)0) != (void*)0))) > 0x8520A12215BF5735LL) == 6UL), p_11)) , (*l_3729)), p_11))) < 9L), 6))) , (void*)0) == &l_3766) || (-1L)) ^ p_11), 4)) , (**g_1741)), p_11)))))), 0x4C9AL)) ^ p_11)), p_11)) < p_11) || p_11), l_3955);
                    for (l_3535 = 0; (l_3535 <= 0); l_3535 += 1)
                    { /* block id: 1708 */
                        return g_3956;
                    }
                }
            }
            else
            { /* block id: 1712 */
                uint8_t l_3959 = 9UL;
                if (p_11)
                    break;
                (*g_388) ^= ((((*g_912) = p_11) , (safe_mod_func_uint32_t_u_u((*l_3729), 0x986D1804L))) , p_11);
                for (g_2907 = 0; (g_2907 <= 1); g_2907 += 1)
                { /* block id: 1718 */
                    uint64_t *l_3968 = &g_132;
                    int32_t l_3970 = (-1L);
                    if (p_11)
                        break;
                    l_3959--;
                    if ((~((g_144 , (((((l_3972 |= (((g_3963 < (safe_mod_func_uint64_t_u_u((safe_mod_func_uint32_t_u_u((((*l_3522) |= (*l_3820)) & ((*l_3968) = p_11)), (*g_1900))), (safe_unary_minus_func_int8_t_s(5L))))) , ((*l_3762) = ((l_3970 , (*g_2646)) != l_3971))) != (*g_2650))) ^ (*g_3335)) < 0x23F55CFBL) == l_3959) , p_11)) , g_1747)))
                    { /* block id: 1725 */
                        return g_3973;
                    }
                    else
                    { /* block id: 1727 */
                        return (**g_3646);
                    }
                }
            }
            for (p_11 = (-30); (p_11 >= 56); p_11 = safe_add_func_int8_t_s_s(p_11, 9))
            { /* block id: 1734 */
                (*l_3725) = 0x4FC2FD51L;
                return g_3976;
            }
        }
        return g_3977[0];
    }
    return (**g_260);
}


/* ------------------------------------------ */
/* 
 * reads : g_118 g_63 g_525 g_3338 g_2907 g_388 g_389 g_162 g_797 g_798 g_799 g_800 g_3342 g_3355 g_2977 g_2631 g_2647 g_2648 g_2649 g_2650 g_49 g_150 g_917 g_912 g_476 g_1899 g_1900 g_3498 g_3331 g_3332 g_3333 g_3334
 * writes: g_118 g_63 g_525 g_697 g_1904 g_2939 g_267 g_2881 g_3342 g_3355 g_2975 g_2507 g_2907 g_150 g_73 g_75 g_476 g_3498
 */
static uint16_t  func_13(int32_t  p_14, int32_t * p_15, int32_t * p_16, int32_t * p_17)
{ /* block id: 1308 */
    int32_t *l_3033 = &g_63[3][3];
    int32_t *l_3034 = &g_63[1][8];
    int32_t *l_3035 = &g_2907;
    int32_t l_3036 = 1L;
    int32_t *l_3037 = &g_63[0][2];
    int32_t *l_3038 = &g_2907;
    int32_t *l_3039 = (void*)0;
    int32_t *l_3040 = &g_2907;
    int32_t *l_3041 = &g_63[0][2];
    int32_t *l_3042 = &g_2907;
    int32_t *l_3043 = &l_3036;
    int32_t *l_3044 = &g_2907;
    int32_t *l_3045 = &g_63[4][6];
    int32_t *l_3046 = &g_2907;
    int32_t *l_3047 = &l_3036;
    int32_t *l_3048 = &g_2907;
    int32_t *l_3049 = &l_3036;
    int32_t *l_3050 = &g_63[1][5];
    int32_t *l_3051[5];
    uint32_t l_3052 = 0UL;
    uint8_t ***l_3063 = &g_2977;
    uint32_t l_3077 = 2UL;
    union U0 **l_3099 = &g_2264;
    const int16_t *l_3130[6] = {&g_2022[0][4],&g_2022[0][4],&g_2022[0][4],&g_2022[0][4],&g_2022[0][4],&g_2022[0][4]};
    int16_t ****l_3208[3];
    int16_t *****l_3207[6][7][1] = {{{&l_3208[1]},{&l_3208[0]},{(void*)0},{&l_3208[1]},{&l_3208[1]},{&l_3208[2]},{(void*)0}},{{&l_3208[1]},{&l_3208[0]},{&l_3208[1]},{&l_3208[1]},{(void*)0},{&l_3208[1]},{(void*)0}},{{&l_3208[0]},{(void*)0},{(void*)0},{(void*)0},{&l_3208[1]},{(void*)0},{&l_3208[1]}},{{&l_3208[1]},{(void*)0},{&l_3208[1]},{(void*)0},{&l_3208[1]},{(void*)0},{&l_3208[1]}},{{&l_3208[0]},{(void*)0},{&l_3208[1]},{&l_3208[1]},{&l_3208[1]},{&l_3208[1]},{&l_3208[1]}},{{&l_3208[1]},{&l_3208[2]},{(void*)0},{&l_3208[1]},{&l_3208[1]},{&l_3208[0]},{&l_3208[0]}}};
    int16_t *****l_3210 = &l_3208[1];
    int16_t l_3225 = 1L;
    const uint32_t **l_3243 = (void*)0;
    const uint32_t ***l_3242 = &l_3243;
    const uint32_t ****l_3241[6] = {&l_3242,&l_3242,&l_3242,&l_3242,&l_3242,&l_3242};
    const uint32_t *****l_3240 = &l_3241[1];
    union U1 l_3250 = {0xC3F32707L};
    uint32_t l_3314 = 0x01EF594FL;
    int32_t l_3327 = 0x488B8997L;
    uint32_t l_3434 = 0UL;
    int32_t l_3462[1][7] = {{0L,0L,0L,0L,0L,0L,0L}};
    int i, j, k;
    for (i = 0; i < 5; i++)
        l_3051[i] = &g_63[0][2];
    for (i = 0; i < 3; i++)
        l_3208[i] = (void*)0;
    l_3052++;
    for (g_118 = 12; (g_118 != 15); g_118++)
    { /* block id: 1312 */
        uint8_t ***l_3061 = (void*)0;
        uint8_t ****l_3062[9];
        int16_t *l_3064 = &g_2022[0][1];
        const int32_t l_3071 = 1L;
        const uint32_t l_3072 = 0xBDCC68B8L;
        uint16_t l_3073 = 0x5455L;
        int16_t *l_3074 = (void*)0;
        int16_t *l_3075 = &g_212;
        int32_t l_3076 = (-6L);
        union U1 l_3083 = {4294967292UL};
        int32_t l_3100 = 3L;
        uint8_t l_3132 = 247UL;
        int16_t l_3133 = 1L;
        int64_t l_3153 = 0x753CCF125EB47C74LL;
        int32_t l_3195 = (-1L);
        int64_t l_3197[2][1][4] = {{{6L,1L,6L,(-1L)}},{{6L,1L,(-1L),(-1L)}}};
        int16_t *****l_3209 = (void*)0;
        int32_t ****l_3268 = &g_2887;
        uint32_t l_3282 = 4294967295UL;
        const int32_t l_3321 = 0x79CBA335L;
        int i, j, k;
        for (i = 0; i < 9; i++)
            l_3062[i] = &g_2976;
        (*l_3034) &= (*p_17);
    }
    for (g_525 = 0; (g_525 <= 3); g_525 += 1)
    { /* block id: 1454 */
        int32_t l_3339 = 9L;
        const union U0 *l_3353 = &g_3354;
        const union U0 **l_3352 = &l_3353;
        const union U0 ***l_3351 = &l_3352;
        const union U0 ****l_3350 = &l_3351;
        const union U0 *****l_3349 = &l_3350;
        int32_t l_3383[7][2] = {{1L,1L},{1L,8L},{8L,8L},{0x383E9C24L,0x383E9C24L},{0x383E9C24L,1L},{8L,1L},{8L,0x383E9C24L}};
        union U1 l_3442[10] = {{0x58DC7DCEL},{1UL},{1UL},{1UL},{0x014BC736L},{0x014BC736L},{0x014BC736L},{1UL},{0x58DC7DCEL},{0x58DC7DCEL}};
        int32_t l_3476 = 0x4C00A9AEL;
        int16_t l_3477[2];
        union U1 ****l_3502 = &g_3499[5][1];
        uint32_t l_3503 = 4UL;
        int i, j;
        for (i = 0; i < 2; i++)
            l_3477[i] = 0x085FL;
        (*g_3338) = &l_3250;
        if ((*l_3040))
            continue;
        for (g_1904 = 0; g_1904 < 6; g_1904 += 1)
        {
            l_3130[g_1904] = &g_1292[0][0][2];
        }
        if ((*g_388))
            break;
        for (g_2939 = 0; (g_2939 <= 1); g_2939 += 1)
        { /* block id: 1461 */
            uint8_t l_3364[3][6][6] = {{{255UL,2UL,255UL,5UL,255UL,0UL},{255UL,0x67L,255UL,7UL,0xC0L,4UL},{253UL,0x8EL,255UL,255UL,255UL,4UL},{0x7BL,0x8EL,255UL,0x8EL,0xD8L,2UL},{0xD8L,4UL,253UL,4UL,0xD8L,0x67L},{0xD8L,0x8EL,0x54L,1UL,0x5DL,0x8EL}},{{255UL,7UL,0x7BL,1UL,0x54L,0x8EL},{0xD8L,1UL,0xC0L,4UL,253UL,4UL},{0xC0L,1UL,0xC0L,7UL,253UL,0x8EL},{255UL,0x67L,0x7BL,0UL,0xD8L,7UL},{0xBDL,0x67L,255UL,0UL,253UL,1UL},{0x7BL,1UL,0x1EL,1UL,0x1EL,1UL}},{{0x7BL,0x8EL,0x1EL,0UL,255UL,0x67L},{0xBDL,0UL,0xC0L,2UL,255UL,0x67L},{0xD8L,255UL,0x1EL,255UL,0x54L,1UL},{255UL,0x67L,0xBDL,0x67L,0x54L,0x8EL},{0x54L,255UL,253UL,7UL,255UL,0UL},{0x7BL,0UL,0xD8L,7UL,253UL,255UL}}};
            int8_t *l_3373 = &g_122;
            int32_t l_3388 = 0xAA2C4D42L;
            uint16_t *l_3440 = &g_73[2];
            int32_t * const *l_3460 = &l_3047;
            uint32_t l_3473 = 0x4FFE12B7L;
            uint32_t l_3493 = 0xF8FA23EBL;
            union U1 *****l_3501 = &g_3498;
            int i, j, k;
            for (g_267 = 0; (g_267 <= 1); g_267 += 1)
            { /* block id: 1464 */
                (*l_3033) &= l_3339;
            }
            for (g_2881 = 0; (g_2881 <= 1); g_2881 += 1)
            { /* block id: 1469 */
                union U1 **l_3348 = &g_697;
                union U1 ***l_3347[1];
                union U1 ****l_3346[10][1] = {{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]},{&l_3347[0]}};
                int32_t l_3372[1];
                uint8_t l_3410 = 251UL;
                const int32_t **l_3420[10][6][4] = {{{&g_796[3][8][1],(void*)0,(void*)0,&g_796[3][7][1]},{&g_796[0][9][2],&g_796[5][8][2],&g_796[3][8][1],&g_796[3][7][1]},{&g_796[3][8][1],&g_796[3][7][1],&g_796[0][4][0],&g_796[1][3][3]},{&g_796[2][6][0],&g_796[1][3][3],&g_796[2][6][0],&g_796[3][7][1]},{&g_796[3][7][1],&g_796[4][0][2],&g_796[3][7][1],&g_796[3][7][1]},{&g_796[4][9][0],(void*)0,&g_796[2][6][0],&g_796[3][0][0]}},{{&g_796[0][9][2],(void*)0,&g_796[0][4][0],(void*)0},{(void*)0,(void*)0,&g_796[3][8][1],&g_796[3][7][1]},{&g_796[0][4][0],&g_796[4][0][2],(void*)0,&g_796[1][3][3]},{(void*)0,&g_796[1][3][3],&g_796[0][9][2],(void*)0},{&g_796[0][9][2],&g_796[3][7][1],&g_796[0][9][2],&g_796[1][3][3]},{&g_796[4][9][0],(void*)0,&g_796[4][9][0],&g_796[3][7][1]}},{{&g_796[3][8][1],(void*)0,&g_796[0][9][2],(void*)0},{&g_796[2][6][0],&g_796[4][3][1],&g_796[3][7][1],&g_796[3][0][0]},{&g_796[2][6][0],(void*)0,(void*)0,&g_796[5][8][2]},{&g_796[3][7][1],(void*)0,&g_796[2][6][0],&g_796[3][7][1]},{&g_796[2][6][0],(void*)0,&g_796[0][4][0],(void*)0},{&g_796[0][4][0],&g_796[1][3][3],&g_796[0][4][0],(void*)0}},{{&g_796[3][8][1],&g_796[3][0][0],&g_796[3][7][1],&g_796[5][8][2]},{(void*)0,(void*)0,&g_796[0][4][0],&g_796[3][7][1]},{&g_796[0][9][2],&g_796[1][1][1],&g_796[4][9][0],(void*)0},{&g_796[0][9][2],(void*)0,&g_796[2][6][0],&g_796[4][0][2]},{&g_796[0][4][0],&g_796[3][0][0],&g_796[0][9][2],&g_796[1][3][3]},{&g_796[0][9][2],(void*)0,&g_796[3][7][1],(void*)0}},{{&g_796[0][9][2],(void*)0,&g_796[3][7][1],&g_796[1][3][3]},{(void*)0,(void*)0,&g_796[4][9][0],&g_796[4][0][2]},{&g_796[2][6][0],(void*)0,&g_796[3][7][1],&g_796[1][3][3]},{&g_796[0][4][0],&g_796[3][7][1],&g_796[3][7][1],&g_796[3][7][1]},{&g_796[0][4][0],(void*)0,&g_796[0][9][2],(void*)0},{&g_796[3][7][1],(void*)0,&g_796[0][4][0],(void*)0}},{{&g_796[0][4][0],(void*)0,&g_796[4][9][0],&g_796[4][3][1]},{&g_796[0][4][0],(void*)0,&g_796[4][9][0],(void*)0},{&g_796[2][6][0],&g_796[3][7][1],&g_796[3][8][1],(void*)0},{&g_796[0][9][2],&g_796[4][3][1],&g_796[4][9][0],&g_796[3][7][1]},{&g_796[3][7][1],&g_796[3][7][1],&g_796[4][9][0],&g_796[1][3][3]},{&g_796[3][7][1],&g_796[4][3][1],&g_796[0][4][0],&g_796[3][0][0]}},{{&g_796[4][9][0],&g_796[3][7][1],&g_796[0][9][2],(void*)0},{&g_796[3][7][1],(void*)0,&g_796[3][8][1],&g_796[1][1][1]},{&g_796[3][7][1],(void*)0,&g_796[3][8][1],(void*)0},{&g_796[0][9][2],&g_796[1][3][3],(void*)0,&g_796[3][0][0]},{&g_796[2][6][0],&g_796[1][1][1],&g_796[3][8][1],&g_796[1][3][3]},{&g_796[4][9][0],&g_796[5][8][2],&g_796[3][8][1],(void*)0}},{{&g_796[4][9][0],&g_796[1][1][1],&g_796[3][7][1],(void*)0},{&g_796[3][8][1],&g_796[1][3][3],&g_796[0][4][0],(void*)0},{&g_796[4][9][0],(void*)0,(void*)0,&g_796[3][7][1]},{&g_796[4][9][0],&g_796[4][3][1],(void*)0,(void*)0},{&g_796[0][4][0],&g_796[3][7][1],&g_796[2][6][0],(void*)0},{&g_796[0][9][2],&g_796[3][7][1],(void*)0,(void*)0}},{{&g_796[3][8][1],&g_796[4][0][2],(void*)0,(void*)0},{&g_796[3][7][1],&g_796[3][7][1],&g_796[4][9][0],&g_796[3][0][0]},{(void*)0,(void*)0,&g_796[3][7][1],&g_796[4][3][1]},{&g_796[3][8][1],&g_796[4][3][1],&g_796[2][6][0],&g_796[3][7][1]},{&g_796[3][8][1],&g_796[1][1][1],&g_796[3][8][1],&g_796[4][3][1]},{&g_796[3][7][1],&g_796[1][3][3],&g_796[0][9][2],&g_796[3][7][1]}},{{&g_796[0][4][0],&g_796[3][7][1],&g_796[2][6][0],(void*)0},{(void*)0,(void*)0,&g_796[2][6][0],(void*)0},{&g_796[4][9][0],&g_796[3][7][1],&g_796[3][8][1],(void*)0},{&g_796[2][6][0],(void*)0,&g_796[4][9][0],&g_796[1][1][1]},{(void*)0,&g_796[1][1][1],&g_796[0][9][2],&g_796[5][8][2]},{(void*)0,&g_796[3][7][1],(void*)0,&g_796[1][1][1]}}};
                uint64_t *l_3427 = &g_132;
                uint8_t *l_3458 = &g_2762;
                int32_t * const **l_3461 = &l_3460;
                int i, j, k;
                for (i = 0; i < 1; i++)
                    l_3347[i] = &l_3348;
                for (i = 0; i < 1; i++)
                    l_3372[i] = 2L;
                for (p_14 = 3; (p_14 >= 0); p_14 -= 1)
                { /* block id: 1472 */
                    const union U1 *** const **l_3345[7][6] = {{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0},{&g_3342,(void*)0,&g_3342,(void*)0,&g_3342,(void*)0}};
                    uint8_t *****l_3363 = &g_2975[0][0][1];
                    uint64_t *l_3378 = (void*)0;
                    uint64_t *l_3379 = &g_150;
                    uint64_t *l_3382[5][6][8] = {{{(void*)0,&g_197,&g_197,(void*)0,&g_1046,&g_132,&g_1046,&g_197},{(void*)0,&g_197,&g_1046,&g_197,&g_1046,&g_197,&g_1046,&g_197},{&g_197,&g_1046,(void*)0,&g_197,(void*)0,&g_1046,(void*)0,(void*)0},{&g_197,&g_197,(void*)0,&g_197,&g_197,&g_1046,&g_1046,&g_1046},{&g_1046,(void*)0,&g_197,&g_1046,&g_1046,(void*)0,&g_1046,(void*)0},{&g_197,&g_132,&g_197,&g_132,(void*)0,&g_132,&g_132,&g_1046}},{{&g_197,&g_1046,(void*)0,&g_197,&g_197,&g_132,&g_197,(void*)0},{&g_132,(void*)0,&g_1046,&g_1046,&g_1046,&g_197,&g_197,&g_132},{&g_1046,&g_132,&g_197,&g_197,&g_1046,&g_132,&g_197,&g_132},{&g_1046,&g_197,(void*)0,&g_197,&g_197,&g_197,&g_1046,&g_197},{&g_132,&g_197,&g_1046,&g_197,&g_132,&g_1046,&g_1046,&g_1046},{&g_1046,(void*)0,&g_1046,&g_197,&g_197,&g_197,&g_197,&g_1046}},{{&g_197,&g_1046,&g_1046,&g_197,&g_197,&g_132,&g_197,&g_197},{&g_197,&g_197,&g_197,&g_1046,&g_132,&g_1046,&g_1046,&g_1046},{&g_132,&g_1046,&g_197,(void*)0,&g_197,&g_197,&g_197,(void*)0},{&g_1046,&g_132,&g_1046,&g_1046,&g_197,&g_1046,&g_132,&g_197},{&g_197,&g_197,(void*)0,&g_197,&g_132,&g_197,&g_1046,&g_197},{&g_1046,&g_1046,&g_197,(void*)0,&g_132,&g_1046,&g_1046,(void*)0}},{{&g_132,&g_1046,&g_197,&g_1046,&g_1046,&g_1046,(void*)0,(void*)0},{&g_1046,&g_1046,(void*)0,&g_1046,&g_132,&g_197,&g_1046,&g_132},{&g_197,&g_132,&g_1046,&g_132,&g_1046,&g_1046,&g_1046,&g_197},{&g_1046,&g_197,&g_197,&g_1046,&g_1046,&g_1046,&g_197,&g_1046},{&g_132,&g_197,(void*)0,&g_1046,(void*)0,&g_197,(void*)0,&g_132},{&g_1046,(void*)0,&g_197,&g_1046,&g_197,&g_1046,&g_1046,(void*)0}},{{&g_197,&g_1046,&g_197,&g_132,&g_197,(void*)0,&g_197,&g_197},{&g_1046,&g_1046,&g_1046,(void*)0,&g_1046,&g_197,&g_132,&g_1046},{&g_132,(void*)0,&g_197,&g_132,&g_132,&g_197,&g_197,&g_1046},{&g_1046,&g_197,&g_1046,&g_197,&g_197,&g_197,&g_1046,&g_197},{&g_1046,&g_197,(void*)0,&g_197,&g_1046,&g_1046,(void*)0,(void*)0},{&g_132,&g_197,(void*)0,&g_1046,&g_197,&g_197,(void*)0,&g_1046}}};
                    uint16_t *l_3384 = &g_73[2];
                    uint16_t *l_3385 = &g_267;
                    int i, j, k;
                    (*l_3046) ^= ((g_2507 = (safe_add_func_int16_t_s_s(((***g_797) , l_3339), (((((g_3342 = g_3342) == l_3346[6][0]) && ((l_3349 != (g_3355 = g_3355)) > ((0xD144L <= (0x2EB2A7B44341C640LL || ((safe_rshift_func_int8_t_s_s((safe_add_func_int8_t_s_s((((*l_3363) = &l_3063) == (void*)0), p_14)), 3)) <= (**g_2977)))) | l_3364[0][1][3]))) , 0xFD3C8C3AL) ^ 0x4EE0964CL)))) , 0L);
                    l_3388 = (safe_rshift_func_int8_t_s_s(((safe_unary_minus_func_int64_t_s((safe_mul_func_uint8_t_u_u((((safe_lshift_func_int8_t_s_s(l_3372[0], ((((void*)0 == l_3373) , ((*l_3384) = (((safe_sub_func_int16_t_s_s((****g_2647), p_14)) > (safe_div_func_uint32_t_u_u(p_14, ((*p_17) = ((*l_3040) = 0x51D7FB2EL))))) != (l_3383[2][0] = (++(*l_3379)))))) ^ ((*l_3385) = p_14)))) | (safe_lshift_func_uint16_t_u_s(4UL, p_14))) ^ 0x0A5F6AB1L), g_917)))) == 0L), 7));
                }
            }
            (*p_17) |= (safe_mul_func_int16_t_s_s((l_3250 , ((safe_rshift_func_uint8_t_u_u((**g_2977), 4)) >= ((((safe_add_func_int64_t_s_s(((*g_912) = (((l_3476 = (safe_lshift_func_int16_t_s_s(((*g_912) & (safe_lshift_func_int8_t_s_s(l_3473, (l_3383[2][0] = ((((((**g_1899) = (*l_3050)) & 0xC58AC4DFL) && (**l_3460)) ^ ((1L > ((-1L) < p_14)) < p_14)) <= l_3442[0].f0))))), 3))) & l_3442[0].f0) ^ 8L)), (**l_3460))) & p_14) >= l_3477[0]) , p_14))), 65535UL));
            (*p_17) = (safe_lshift_func_int8_t_s_s((safe_mul_func_int8_t_s_s(p_14, (!((0x06L > (safe_mul_func_uint8_t_u_u(((safe_add_func_int8_t_s_s((safe_mod_func_uint8_t_u_u(0x76L, ((safe_rshift_func_uint16_t_u_s((((safe_mul_func_uint16_t_u_u(0x6DCDL, l_3493)) , ((safe_mod_func_uint16_t_u_u((safe_rshift_func_int16_t_s_u((((((*l_3501) = g_3498) == (l_3502 = (void*)0)) , 0L) || (((p_14 , (*l_3063)) == (***g_3331)) | p_14)), (**l_3460))), (*l_3045))) ^ (**l_3460))) ^ p_14), 3)) | (-4L)))), p_14)) || 0x10BFL), 1L))) , 0x5C9D826CL)))), l_3503));
        }
    }
    return (*l_3035);
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static int32_t * func_20(int32_t * p_21, int64_t  p_22)
{ /* block id: 358 */
/*
NUMBER OF GOTO'S IN ABOVEE BLOCK:8*/
void *target[] = { &&lbl_1494, &&lbl_1298, &&lbl_947, &&lbl_1090, &&lbl_1107, &&lbl_1669, &&lbl_2470, &&lbl_2841};
    uint32_t l_875 = 1UL;
    int64_t *l_898 = &g_476;
    int32_t l_905 = 0xA162973BL;
    int64_t *l_915 = (void*)0;
    union U1 *l_920 = &g_271;
    int64_t l_941 = (-1L);
    int32_t l_942 = 4L;
    int32_t l_944 = 5L;
    int32_t ** const l_949[8] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
    uint32_t **l_1009 = &g_186;
    uint32_t l_1027 = 1UL;
    const int32_t l_1105 = 0x564273D4L;
    uint64_t *l_1140 = &g_197;
    uint64_t **l_1139 = &l_1140;
    const union U0 *l_1195 = (void*)0;
    uint32_t *l_1311[3][1][1];
    uint32_t **l_1310 = &l_1311[1][0][0];
    int32_t l_1323[8][8][1] = {{{(-1L)},{1L},{0x226F0F64L},{0x5653727EL},{0L},{1L},{0x4AB11C47L},{0x9B176541L}},{{0x226F0F64L},{1L},{0x729AAF39L},{(-1L)},{(-8L)},{0x5653727EL},{(-5L)},{0x754DE869L}},{{0x5653727EL},{0L},{0x226F0F64L},{0x729AAF39L},{0x754DE869L},{(-1L)},{0x4AB11C47L},{(-1L)}},{{0L},{0x226F0F64L},{0L},{(-1L)},{(-5L)},{4L},{0x729AAF39L},{1L}},{{0x9B176541L},{(-2L)},{0x86337405L},{0x9B176541L},{1L},{4L},{4L},{0x86337405L}},{{(-1L)},{0L},{(-1L)},{1L},{(-1L)},{(-1L)},{(-1L)},{0x754DE869L}},{{(-8L)},{4L},{0L},{0L},{0x86337405L},{0x177844F0L},{0L},{1L}},{{(-8L)},{(-8L)},{(-5L)},{0x729AAF39L},{(-1L)},{0x226F0F64L},{(-5L)},{(-1L)}}};
    int16_t l_1478 = (-2L);
    union U1 **l_1512[9] = {&l_920,&l_920,&l_920,&l_920,&l_920,&l_920,(void*)0,(void*)0,(void*)0};
    union U1 ***l_1511 = &l_1512[0];
    uint64_t l_1557 = 0xE73F6C5627C278C2LL;
    uint16_t *l_1627 = &g_267;
    union U0 *l_1635 = &g_1636;
    union U0 **l_1634 = &l_1635;
    union U0 ***l_1633 = &l_1634;
    union U0 ****l_1632 = &l_1633;
    union U0 *****l_1637 = &l_1632;
    int8_t *l_1660 = &g_863;
    uint16_t l_1663[1];
    int8_t l_1664[4][4][5] = {{{(-1L),(-4L),(-4L),(-10L),0x87L},{0x87L,(-10L),(-4L),0x20L,0x8CL},{0xADL,0xEAL,0x87L,0x8CL,0L},{(-4L),(-4L),(-4L),0x87L,1L}},{{(-4L),0x20L,(-10L),0xADL,(-10L)},{0xFAL,0x8CL,(-1L),0x20L,1L},{(-4L),(-4L),0xADL,0x20L,(-10L)},{0x87L,0xFAL,(-10L),0xFAL,(-4L)}},{{(-10L),0x20L,0xFAL,(-4L),0x20L},{(-1L),0x20L,0x8CL,(-4L),0xEAL},{(-4L),0xEAL,(-4L),(-10L),(-10L)},{(-1L),0x20L,(-1L),(-1L),(-10L)}},{{0xADL,(-4L),0L,1L,(-10L)},{0x20L,(-10L),0x8CL,0x8CL,0L},{0L,0x8CL,0x8CL,0xADL,0L},{(-10L),1L,(-10L),0x20L,0xFAL}}};
    int16_t l_1674 = (-1L);
    uint32_t l_1689 = 4294967288UL;
    int32_t **l_1732 = &g_335;
    uint8_t l_1760 = 0UL;
    const uint64_t l_1799 = 0UL;
    union U1 * const ** const *l_1850 = (void*)0;
    int32_t ***l_1956 = &l_1732;
    int32_t ****l_1955 = &l_1956;
    int16_t *l_2195[8] = {(void*)0,&l_1478,(void*)0,&l_1478,(void*)0,(void*)0,(void*)0,(void*)0};
    int16_t **l_2194 = &l_2195[6];
    int32_t l_2200 = 0x5376E56AL;
    uint32_t l_2350 = 0UL;
    int16_t * const **l_2386 = (void*)0;
    int16_t * const ***l_2385[1];
    int16_t l_2397 = 0xDFA0L;
    int32_t **l_2451[5] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
    int64_t l_2457 = (-1L);
    int16_t l_2488 = 0xF596L;
    int32_t l_2525 = 1L;
    uint8_t *l_2619 = &g_198;
    const uint8_t l_2713 = 0x96L;
    int16_t l_2755 = 0x40D3L;
    int32_t *l_2810 = &l_2525;
    int64_t l_2826 = (-1L);
    union U0 *****l_2827 = &l_1632;
    uint16_t l_2996 = 0UL;
    int32_t *l_3031[2][3] = {{(void*)0,(void*)0,(void*)0},{&g_63[2][5],&g_63[2][5],&g_63[2][5]}};
    int i, j, k;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 1; j++)
        {
            for (k = 0; k < 1; k++)
                l_1311[i][j][k] = (void*)0;
        }
    }
    for (i = 0; i < 1; i++)
        l_1663[i] = 0x4F4CL;
    for (i = 0; i < 1; i++)
        l_2385[i] = &l_2386;
    return l_3031[0][2];
}


/* ------------------------------------------ */
/* 
 * reads : g_832 g_833
 * writes:
 */
static int32_t * func_23(const uint64_t  p_24, union U1  p_25)
{ /* block id: 356 */
    return (*g_832);
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static uint8_t  func_29(uint32_t  p_30, const int8_t * p_31, int8_t * p_32, int32_t  p_33)
{ /* block id: 353 */
    uint16_t l_864[10] = {0x70F2L,0x70F2L,65531UL,0xF38EL,65531UL,65531UL,65531UL,0x0E3BL,65529UL,0xF38EL};
    int i;
    l_864[7]++;
    return p_30;
}


/* ------------------------------------------ */
/* 
 * reads : g_6 g_63 g_75 g_73 g_49 g_137 g_80 g_122 g_161 g_132 g_118 g_197 g_172.f0 g_212 g_150 g_230 g_260 g_198 g_271.f0 g_335 g_292.f0 g_525 g_594 g_476 g_633.f0 g_624.f0 g_569 g_628.f0 g_630.f0 g_629.f0 g_625.f0 g_345 g_619.f0 g_623.f0 g_261 g_627.f0 g_618.f0 g_271 g_634.f0 g_797 g_267 g_832 g_622.f0 g_632.f0
 * writes: g_73 g_63 g_80 g_49 g_75 g_122 g_125 g_132 g_186 g_118 g_197 g_198 g_172.f0 g_212 g_150 g_230 g_335 g_525 g_388 g_697 g_631.f0 g_752 g_623.f0 g_630.f0 g_629.f0 g_271.f0 g_796 g_267 g_832 g_622.f0
 */
static uint32_t  func_34(int32_t  p_35, uint8_t  p_36, int16_t  p_37, uint32_t  p_38, int32_t  p_39)
{ /* block id: 7 */
    uint16_t l_71 = 65526UL;
    uint16_t *l_72 = &g_73[2];
    uint32_t *l_74[10][10] = {{&g_75[0],&g_75[0],&g_75[2],(void*)0,&g_75[0],&g_75[1],&g_75[0],&g_75[0],&g_75[0],(void*)0},{&g_75[1],&g_75[0],&g_75[0],&g_75[2],&g_75[0],&g_75[0],&g_75[1],&g_75[1],&g_75[2],&g_75[0]},{&g_75[0],&g_75[0],&g_75[0],&g_75[0],&g_75[2],&g_75[2],&g_75[1],&g_75[0],(void*)0,&g_75[1]},{&g_75[0],&g_75[0],&g_75[0],&g_75[1],&g_75[0],&g_75[2],&g_75[1],&g_75[0],&g_75[0],&g_75[0]},{&g_75[0],&g_75[1],&g_75[0],&g_75[2],&g_75[1],&g_75[0],&g_75[0],&g_75[0],&g_75[1],&g_75[1]},{&g_75[2],&g_75[2],&g_75[0],(void*)0,&g_75[0],(void*)0,&g_75[0],&g_75[0],(void*)0,&g_75[0]},{&g_75[0],&g_75[0],&g_75[1],&g_75[0],&g_75[1],&g_75[0],&g_75[0],&g_75[0],&g_75[0],&g_75[0]},{&g_75[1],&g_75[0],&g_75[0],&g_75[0],&g_75[0],&g_75[2],&g_75[0],(void*)0,(void*)0,&g_75[2]},{&g_75[0],&g_75[0],&g_75[0],&g_75[0],(void*)0,&g_75[0],&g_75[2],&g_75[2],(void*)0,&g_75[0]},{&g_75[0],&g_75[0],(void*)0,&g_75[0],(void*)0,&g_75[0],&g_75[0],&g_75[0],&g_75[0],&g_75[2]}};
    int32_t l_76 = (-1L);
    uint32_t *l_78 = (void*)0;
    uint32_t *l_79 = &g_80;
    uint32_t l_357 = 0x2A92665DL;
    int32_t l_387 = 0L;
    int32_t l_555 = 1L;
    int32_t l_558 = 0xF0B6A1A7L;
    int32_t l_564 = 1L;
    int32_t l_565 = 1L;
    int32_t l_566 = 0x7B2D10E0L;
    union U1 *l_587 = &g_271;
    union U1 **l_586[5];
    union U0 *l_617[7][7] = {{&g_623[5],(void*)0,(void*)0,(void*)0,&g_621,&g_630,(void*)0},{&g_633,&g_626,&g_628[1][0][1],&g_622,&g_633,&g_633,&g_626},{(void*)0,&g_632,(void*)0,&g_621,&g_623[5],(void*)0,(void*)0},{&g_622,&g_620[2],&g_618[2][2][0],(void*)0,(void*)0,&g_628[1][0][1],&g_629},{&g_621,&g_634,(void*)0,&g_621,&g_632,&g_619,&g_619},{(void*)0,&g_626,&g_629,&g_622,&g_628[1][0][1],&g_629,&g_620[2]},{(void*)0,&g_623[5],(void*)0,&g_625,(void*)0,&g_621,&g_627[6]}};
    union U0 * const *l_616 = &l_617[4][6];
    int32_t l_708 = (-7L);
    int32_t l_710 = (-1L);
    int32_t l_713 = 0x31E081DDL;
    const int32_t l_718 = 0x29F1B721L;
    int8_t l_749[6][7] = {{0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L},{4L,(-2L),4L,(-2L),4L,(-2L),4L},{0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L},{4L,(-2L),4L,(-2L),4L,(-2L),4L},{0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L,0xC4L},{4L,(-2L),4L,(-2L),4L,(-2L),4L}};
    uint32_t l_765 = 6UL;
    const int32_t l_793[9] = {0L,0L,0L,0L,0L,0L,0L,0L,0L};
    int32_t *l_823 = &l_564;
    int32_t *l_853 = (void*)0;
    int32_t *l_854[4][10][6] = {{{(void*)0,&l_387,&l_565,&l_708,(void*)0,&l_564},{&g_63[0][2],&l_710,&l_387,&l_555,(void*)0,&l_708},{&l_708,&g_6,&l_555,&l_387,&l_555,&l_565},{&g_63[0][2],&l_555,(void*)0,&l_558,&l_710,&g_63[2][0]},{&g_63[2][0],&l_555,&l_555,&l_708,&l_555,&l_710},{&l_710,&g_6,&l_565,&l_558,(void*)0,&l_565},{(void*)0,&l_710,&l_565,&g_6,(void*)0,&l_710},{&l_708,&l_387,&g_63[0][2],(void*)0,&l_565,&l_565},{&l_387,&g_63[0][2],&g_63[0][2],&l_708,&l_710,&l_710},{&g_6,&g_63[0][2],&l_565,&l_565,(void*)0,&l_565}},{{&l_565,(void*)0,&l_565,(void*)0,&g_63[0][2],&l_710},{&l_558,&l_710,&l_555,&l_555,&g_63[0][2],&g_63[2][0]},{(void*)0,&l_565,(void*)0,&l_555,&l_387,&l_565},{&l_558,(void*)0,&l_555,(void*)0,&l_710,&l_708},{&l_565,(void*)0,&l_387,&l_565,&g_6,&l_564},{&g_6,&l_555,&l_565,&l_708,&l_555,(void*)0},{&l_387,&l_710,(void*)0,(void*)0,&l_555,&l_565},{(void*)0,&l_555,&l_708,&l_564,&g_6,&l_555},{&l_708,(void*)0,&l_708,&l_708,&l_710,&l_387},{(void*)0,(void*)0,&l_564,&l_565,&l_387,(void*)0}},{{&l_555,&l_565,&g_63[0][2],&g_63[2][0],&g_63[0][2],(void*)0},{&l_708,&l_710,&l_564,&l_710,&g_63[0][2],&l_387},{(void*)0,(void*)0,&l_708,&l_565,(void*)0,&l_555},{&l_558,&g_63[0][2],&l_708,&l_710,&l_710,&l_565},{&l_387,&g_63[0][2],(void*)0,&l_565,&l_565,&g_63[0][2]},{&l_387,&l_387,&g_63[0][2],&l_710,(void*)0,(void*)0},{&l_558,&l_710,&l_710,&l_565,(void*)0,&g_6},{(void*)0,&g_6,&l_558,&l_710,&l_565,&l_555},{&l_708,&l_558,&l_387,&g_63[2][0],&l_555,&l_555},{&l_555,&l_558,&l_565,&l_565,&l_565,&l_555}},{{(void*)0,&l_564,&g_63[0][2],&l_708,&l_708,&g_63[0][2]},{&l_708,&l_555,&l_555,&l_564,&l_387,(void*)0},{(void*)0,&l_710,&l_558,(void*)0,&l_555,&l_555},{&l_387,&l_558,&l_558,&l_708,&l_555,(void*)0},{&g_6,&l_708,&l_555,&l_565,(void*)0,&g_63[0][2]},{&l_565,(void*)0,&g_63[0][2],(void*)0,&l_708,&l_555},{&l_558,&l_555,&l_565,&l_555,&l_558,&l_555},{(void*)0,&l_555,&l_387,&l_555,&l_710,&l_555},{&l_558,&l_387,&l_558,(void*)0,&l_555,&g_6},{&l_565,&l_708,&l_710,&l_565,&l_564,(void*)0}}};
    int64_t l_855 = 9L;
    uint16_t l_856 = 0x5F82L;
    int32_t *l_859 = &l_710;
    int32_t **l_860 = &g_335;
    int i, j, k;
    for (i = 0; i < 5; i++)
        l_586[i] = &l_587;
    if ((safe_mul_func_uint8_t_u_u(0x3CL, func_52(((*l_79) = (((p_38 <= (safe_sub_func_uint16_t_u_u(g_6, ((((func_56(((l_76 &= (safe_add_func_int16_t_s_s((func_60(p_35) >= ((safe_lshift_func_int16_t_s_u(0x57B0L, 3)) < l_71)), ((*l_72) = p_37)))) || (g_75[2] == 0x90L))) < p_36) <= p_37) , p_35) , 0x57E6L)))) >= l_71) == 0xE6A8L))))))
    { /* block id: 111 */
        uint32_t l_337 = 7UL;
        int32_t *l_338[7][9] = {{(void*)0,&g_63[0][2],&g_63[3][8],&g_63[0][2],&g_6,&g_6,&g_63[0][2],&g_63[0][2],&g_6},{&g_6,&g_63[0][2],&g_63[1][6],&g_63[1][6],&g_6,&g_63[1][6],(void*)0,&g_63[0][2],&g_63[3][8]},{&g_63[0][2],&g_63[1][6],&g_63[1][6],&g_63[0][2],&g_63[1][6],(void*)0,&g_63[1][6],&g_63[3][8],&g_63[0][2]},{&g_63[0][2],&g_63[0][2],&g_63[3][8],&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_6,&g_63[3][8],&g_63[3][8]},{&g_6,&g_63[0][2],&g_6,&g_63[3][8],(void*)0,&g_63[0][2],&g_63[1][6],&g_63[0][2],&g_6},{(void*)0,&g_63[3][8],&g_6,&g_63[3][8],&g_63[0][2],(void*)0,(void*)0,&g_63[0][2],(void*)0},{&g_63[3][8],&g_63[3][8],&g_6,&g_63[0][2],&g_63[1][6],&g_63[1][6],&g_63[0][2],&g_63[1][6],(void*)0}};
        int i, j;
        for (l_71 = 2; (l_71 <= 6); l_71 += 1)
        { /* block id: 114 */
            int32_t **l_336 = &g_335;
            (*l_336) = g_335;
            return (**l_336);
        }
        g_63[0][2] ^= ((l_337 = g_212) & (4294967295UL >= p_38));
        return p_38;
    }
    else
    { /* block id: 121 */
        int32_t *l_344 = &g_345[0];
        int32_t **l_343 = &l_344;
        const int32_t l_351 = 0x51461E7FL;
        int16_t *l_352 = &g_212;
        int32_t l_447 = (-1L);
        int64_t * const l_475[2][10][5] = {{{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476}},{{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476},{&g_476,&g_476,&g_476,&g_476,&g_476}}};
        uint16_t l_483 = 0x145DL;
        int16_t l_529 = 0xD153L;
        int64_t l_530 = 0xF8857150289F0EA6LL;
        int32_t l_559 = 1L;
        int32_t l_568 = 0x6764832BL;
        int32_t *l_576 = (void*)0;
        int32_t *l_577[7];
        union U1 l_578 = {4294967288UL};
        uint8_t l_638 = 1UL;
        uint32_t l_678 = 1UL;
        union U1 *l_693 = &g_271;
        int32_t l_725 = (-10L);
        uint32_t *l_766 = &l_678;
        int16_t l_772[1];
        uint32_t l_775 = 0xAEDD361EL;
        volatile uint32_t **l_803 = &g_799;
        volatile uint32_t ** volatile *l_802 = &l_803;
        int32_t *l_824 = &l_559;
        const int32_t *l_852[3];
        int i, j, k;
        for (i = 0; i < 7; i++)
            l_577[i] = &g_63[0][2];
        for (i = 0; i < 1; i++)
            l_772[i] = 0xA831L;
        for (i = 0; i < 3; i++)
            l_852[i] = (void*)0;
        if ((safe_div_func_int16_t_s_s((((g_161[2] != ((*l_343) = &p_39)) , p_36) < ((+(safe_sub_func_int32_t_s_s(((g_75[0] & ((((l_71 <= 0x69095E57L) > (safe_mod_func_int16_t_s_s(g_75[2], l_351))) && ((*l_352) = g_292.f0)) > (-1L))) ^ l_71), g_150))) == p_39)), 0x8E21L)))
        { /* block id: 124 */
            int32_t l_363 = 1L;
            uint32_t **l_446[10][4] = {{&l_74[9][3],&l_74[9][3],&l_74[9][3],&l_74[7][0]},{&l_74[9][3],&l_74[9][3],&l_74[3][5],&l_74[7][0]},{&l_74[7][0],&l_74[9][3],&l_74[9][3],&l_74[9][3]},{&l_74[1][2],&l_74[1][2],&l_74[3][5],&l_74[7][0]},{&l_74[9][3],&l_74[1][2],&l_74[7][0],&l_74[9][3]},{&l_74[7][0],&l_74[7][0],&l_74[7][0],&l_74[1][2]},{&l_74[7][0],&l_74[1][2],&l_74[9][3],&l_74[3][5]},{&l_74[3][5],&l_74[7][0],&l_74[7][0],&l_74[7][0]},{&l_74[3][5],&l_74[9][3],&l_74[9][3],&l_74[1][2]},{&l_74[1][2],&l_74[9][3],&l_74[1][2],&l_74[1][2]}};
            uint8_t *l_494 = &g_198;
            int32_t l_531[2][7];
            int i, j;
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 7; j++)
                    l_531[i][j] = 0L;
            }
            for (g_122 = 0; (g_122 <= 6); g_122 += 1)
            { /* block id: 127 */
                uint16_t *l_358[3];
                int32_t l_385[5][6][3];
                int32_t l_423[1][5][10] = {{{1L,1L,(-1L),1L,1L,1L,(-1L),(-1L),1L,1L},{1L,1L,1L,1L,1L,1L,(-1L),(-1L),(-1L),1L},{1L,1L,1L,1L,(-1L),1L,(-1L),1L,(-1L),1L},{1L,1L,1L,(-1L),(-1L),1L,1L,1L,(-1L),1L},{1L,1L,1L,(-1L),(-1L),(-1L),1L,1L,1L,1L}}};
                int32_t l_424[10][1][6] = {{{(-1L),5L,(-4L),1L,0xFD8AE5C0L,0xC444CB25L}},{{1L,0xFD8AE5C0L,0xC444CB25L,(-4L),(-7L),(-1L)}},{{4L,0xE7A3A647L,1L,(-7L),(-2L),(-7L)}},{{0xADB97F7CL,1L,0xADB97F7CL,(-1L),0L,1L}},{{0L,1L,(-8L),1L,(-2L),(-3L)}},{{(-4L),0xE7A3A647L,0L,0xADB97F7CL,(-7L),8L}},{{0xF11C9863L,0xFD8AE5C0L,1L,(-2L),0xFD8AE5C0L,(-7L)}},{{0xF10EE17EL,5L,0L,1L,(-8L),0xF11C9863L}},{{0xE7A3A647L,(-7L),4L,(-1L),0L,(-2L)}},{{0xE7A3A647L,(-7L),0xFD8AE5C0L,1L,0xF10EE17EL,(-1L)}}};
                uint64_t *l_449 = &g_132;
                int32_t *l_480 = &l_363;
                int32_t *l_481 = &l_385[2][2][2];
                int32_t *l_482[4][8] = {{&l_385[2][2][2],&l_387,&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_387,&l_387,&l_385[2][2][2]},{&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_387,&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_387},{&l_385[2][2][2],&l_385[2][2][2],&l_387,&l_385[2][2][2],&l_387,&l_385[2][2][2],&l_387,&l_385[2][2][2]},{&l_387,&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_385[2][2][2],&l_387}};
                union U0 *l_488 = &g_489;
                union U0 **l_487 = &l_488;
                union U0 ***l_486 = &l_487;
                union U0 ****l_490 = &l_486;
                int32_t l_554 = 7L;
                int i, j, k;
                for (i = 0; i < 3; i++)
                    l_358[i] = (void*)0;
                for (i = 0; i < 5; i++)
                {
                    for (j = 0; j < 6; j++)
                    {
                        for (k = 0; k < 3; k++)
                            l_385[i][j][k] = 0L;
                    }
                }
            }
        }
        else
        { /* block id: 214 */
            for (g_525 = 0; (g_525 >= 1); g_525 = safe_add_func_uint32_t_u_u(g_525, 9))
            { /* block id: 217 */
                int32_t *l_575 = &l_559;
                (*l_575) &= 0x3F9B621EL;
            }
        }
        l_555 = 0xBD31F6FDL;
        for (l_357 = 0; (l_357 <= 6); l_357 += 1)
        { /* block id: 224 */
            g_63[0][2] ^= (l_558 = 8L);
        }
        for (l_387 = 0; (l_387 <= 3); l_387 += 1)
        { /* block id: 230 */
            int16_t l_579 = 0L;
            union U1 l_583 = {0xB5C7FF39L};
            int16_t *l_595 = &l_579;
            int32_t l_596[10][5] = {{1L,4L,0L,0L,1L},{0x95089A55L,1L,4L,0L,0L},{0L,1L,0L,0x95089A55L,4L},{0L,0x95089A55L,1L,0x7811EE6CL,0L},{1L,1L,1L,4L,0x95089A55L},{0x95089A55L,0x95089A55L,0L,0x95089A55L,1L},{4L,0L,0L,4L,0L},{1L,1L,0x7811EE6CL,0x7811EE6CL,0L},{4L,1L,1L,0x7811EE6CL,0x7811EE6CL},{0x95089A55L,0x95089A55L,0x7811EE6CL,0L,0L}};
            int8_t l_657[8][1] = {{0x69L},{5L},{0x69L},{5L},{0x69L},{5L},{0x69L},{5L}};
            int32_t **l_843 = &l_577[1];
            int i, j;
            l_596[9][1] |= (((l_566 ^= (((l_578 , l_579) , (((*l_72) = (~((l_387 & (safe_div_func_int8_t_s_s(((((*l_595) = (l_583 , (p_35 >= (((((safe_lshift_func_uint16_t_u_s((l_586[3] != (void*)0), (safe_mod_func_uint8_t_u_u((safe_rshift_func_int16_t_s_s(((*l_352) = (p_37 > (((safe_mod_func_uint8_t_u_u((1L & (-7L)), g_172.f0)) >= 0x15L) , 0x655AF020L))), 14)), 0x3CL)))) < l_564) < l_555) , g_594) != (void*)0)))) < l_564) >= p_36), g_73[2]))) && g_197))) , 0x6CL)) ^ (-8L))) > g_476) , l_387);
            if ((safe_add_func_int64_t_s_s((safe_add_func_uint8_t_u_u((safe_lshift_func_int16_t_s_s((safe_sub_func_int16_t_s_s(p_39, ((-1L) > g_132))), 6)), ((((l_583.f0 > p_38) <= (((safe_add_func_int8_t_s_s(((g_476 & (((((*l_72) = (safe_add_func_int32_t_s_s((p_38 | (+(((((8UL == (((safe_lshift_func_uint8_t_u_u(((safe_add_func_uint16_t_u_u(l_579, 0xBA34L)) < 1L), 4)) , p_38) || l_596[9][1])) , l_596[1][4]) , l_616) == &l_617[4][6]) | 0xB1L))), l_76))) && g_633.f0) <= p_35) != 0L)) , p_35), g_624[3].f0)) >= l_564) < 0x661A1A9FL)) , l_596[9][1]) , p_38))), 3L)))
            { /* block id: 237 */
                volatile int32_t **l_635 = &g_388;
                uint8_t *l_642 = &g_525;
                uint64_t *l_643 = &g_132;
                int32_t l_644[5][1] = {{(-1L)},{1L},{(-1L)},{1L},{(-1L)}};
                int32_t l_647 = 0L;
                uint64_t *l_656[4];
                int32_t l_662 = 0L;
                union U1 *l_696[8][3][2] = {{{&l_578,&l_583},{&l_583,&l_583},{&l_578,&g_271}},{{&l_578,&l_583},{&l_578,&l_583},{&l_583,&l_578}},{{&l_578,&g_271},{&l_578,(void*)0},{(void*)0,&l_578}},{{&g_271,&l_578},{(void*)0,&l_578},{&l_578,&l_578}},{{&l_578,&l_578},{&l_583,&l_578},{&g_271,&l_583}},{{&l_578,&l_583},{&l_583,&l_583},{&l_583,&l_578}},{{&g_271,&l_583},{(void*)0,&g_271},{&l_578,&l_578}},{{&l_578,&l_583},{&l_578,&l_578},{&l_578,&l_578}}};
                int64_t l_699[8][7] = {{(-10L),0L,(-10L),1L,7L,0x6D9AF47F307E666ELL,0x0E0B081C301DB778LL},{(-1L),0x5FD69E5B0174635CLL,0xD47D5DC3E082AD80LL,0L,0x08BA2447F26FCBDBLL,0x08BA2447F26FCBDBLL,7L},{1L,0L,0L,0x5F354E0035F318D7LL,0xDAC56B6647F29D28LL,9L,0L},{0xBB59B0586FE47BDCLL,0x08BA2447F26FCBDBLL,0L,0x0E0B081C301DB778LL,0x1E5F6CB8F796B4D7LL,0xBB59B0586FE47BDCLL,0L},{0L,0L,7L,(-10L),8L,1L,0x1E5F6CB8F796B4D7LL},{0xD47D5DC3E082AD80LL,0x6D9AF47F307E666ELL,0xBB59B0586FE47BDCLL,0xDAC56B6647F29D28LL,0xDAC56B6647F29D28LL,0x0E0B081C301DB778LL,0L},{0xE693CB35F45F1B17LL,0xE693CB35F45F1B17LL,0x1E5F6CB8F796B4D7LL,0x5FD69E5B0174635CLL,(-4L),0x68C6BA49600CC59BLL,0L},{(-10L),0xE693CB35F45F1B17LL,7L,0L,0x5FD69E5B0174635CLL,9L,(-4L)}};
                int i, j, k;
                for (i = 0; i < 4; i++)
                    l_656[i] = &g_197;
                (*l_635) = g_161[l_387];
                if ((((0xBCL < ((safe_lshift_func_uint16_t_u_u((l_638 || ((g_197 = ((p_37 , ((((!(((*l_643) &= ((&g_261 == &l_617[4][3]) | (safe_lshift_func_uint8_t_u_u(((*l_642) = g_63[0][2]), 3)))) & ((l_566 = ((l_644[2][0] < ((p_38 = ((safe_div_func_uint16_t_u_u((((*l_352) |= ((l_647 > ((safe_rshift_func_uint8_t_u_s(((safe_lshift_func_int16_t_s_u(((*l_595) = (((safe_lshift_func_int16_t_s_u((safe_rshift_func_uint8_t_u_s(((l_644[4][0] && 0xA1AED2F89BA9718CLL) <= p_35), l_644[2][0])), 12)) , g_569) < 65535UL)), 11)) < l_644[2][0]), l_647)) , p_36)) > l_596[9][1])) | p_38), g_80)) > 0x5FBD55933D4CAE00LL)) >= 0xF29ADA7AL)) == 0xDDF33E56L)) ^ 0xFDE1L))) <= g_628[1][0][1].f0) | 0xD372BBFD80616FD3LL) , p_35)) && g_630.f0)) && g_198)), g_629.f0)) || l_657[4][0])) > p_37) , p_38))
                { /* block id: 246 */
                    int32_t l_675 = 0x6F2181AFL;
                    const int64_t *l_683 = &g_476;
                    union U1 *l_692 = &l_578;
                    union U0 **l_698 = (void*)0;
                    int32_t l_700 = 0x78FF3806L;
                    int32_t l_701 = 0xE866C1ABL;
                    int32_t l_703 = 0x8DF38B41L;
                    int32_t l_707 = 0x45C7C059L;
                    int32_t l_711 = 0x76203A73L;
                    int32_t l_714 = 0L;
                    l_596[9][1] = (safe_add_func_uint16_t_u_u((g_49 , ((safe_mod_func_int8_t_s_s((p_36 < l_662), (safe_div_func_int16_t_s_s(((safe_div_func_int8_t_s_s(g_625.f0, (safe_add_func_int8_t_s_s((safe_sub_func_int8_t_s_s((safe_sub_func_uint32_t_u_u(l_596[9][1], l_657[4][0])), (((safe_rshift_func_int8_t_s_u((0x3DL != l_675), 1)) , ((safe_sub_func_int64_t_s_s((l_662 , 0L), 1UL)) , g_49)) , l_678))), g_345[0])))) , g_150), g_619.f0)))) & l_579)), p_39));
                    for (p_39 = 0; (p_39 <= 2); p_39 += 1)
                    { /* block id: 250 */
                        int32_t **l_679 = &l_577[1];
                        int32_t l_702 = 0x36471036L;
                        int32_t l_704 = 0xBF440C38L;
                        int32_t l_705 = (-10L);
                        int32_t l_706 = 0xA93A14A7L;
                        int32_t l_709 = 1L;
                        int32_t l_712[10] = {1L,1L,1L,1L,1L,1L,1L,1L,1L,1L};
                        uint64_t l_715 = 0x357D8A9F2FE7F8A1LL;
                        int i;
                        (*l_679) = &g_63[4][1];
                        (**l_679) = ((p_37 <= ((*l_72) = ((!(safe_lshift_func_uint8_t_u_u(((&g_476 == l_683) > (safe_lshift_func_int8_t_s_s(((~g_623[5].f0) != (p_38 &= (g_118 || (safe_mod_func_uint64_t_u_u((((+((safe_lshift_func_uint16_t_u_u(((l_693 = l_692) != (g_697 = ((--(*l_643)) , (p_37 , l_696[6][0][1])))), (((void*)0 == l_698) > (*g_335)))) >= p_35)) && 0xDCL) && l_596[9][1]), (-7L)))))), 7))), g_80))) == p_39))) | 0x81L);
                        l_715++;
                        if (l_718)
                            continue;
                    }
                    for (p_39 = 2; (p_39 >= 0); p_39 -= 1)
                    { /* block id: 263 */
                        volatile union U0 *l_719 = &g_720;
                        l_596[9][3] |= p_37;
                        l_719 = (*g_260);
                    }
                }
                else
                { /* block id: 267 */
                    uint32_t l_750 = 1UL;
                    for (g_132 = 0; (g_132 <= 6); g_132 += 1)
                    { /* block id: 270 */
                        int32_t l_748 = 0x5C3B3422L;
                        uint8_t *l_751[4];
                        int i;
                        for (i = 0; i < 4; i++)
                            l_751[i] = (void*)0;
                        l_725 &= (g_631.f0 = ((safe_sub_func_uint16_t_u_u(0UL, (safe_rshift_func_int8_t_s_s(g_132, 5)))) | 1L));
                        g_623[5].f0 &= (((((safe_rshift_func_uint8_t_u_u((g_752 = (p_37 < (l_750 = (safe_mul_func_int16_t_s_s((((safe_div_func_uint16_t_u_u(((((((void*)0 == l_577[g_132]) || ((safe_unary_minus_func_uint8_t_u(((safe_add_func_int8_t_s_s((safe_div_func_int32_t_s_s((safe_lshift_func_uint16_t_u_s((safe_rshift_func_int16_t_s_s((0xA2L <= (g_172.f0 , 255UL)), 1)), p_35)), (((((((+((safe_add_func_int64_t_s_s((l_647 = 0x16D3ECA0F6E31064LL), (((*l_642) = (safe_div_func_int64_t_s_s((safe_div_func_uint16_t_u_u(6UL, l_748)), p_39))) == (-1L)))) ^ p_38)) <= l_749[0][1]) , 0UL) >= 0L) || g_49) != 0x2EL) & l_644[0][0]))), l_748)) ^ 0x1B23L))) || g_627[6].f0)) || g_629.f0) ^ p_36) <= 0x1C57L), g_73[2])) <= g_618[2][2][0].f0) , 1L), l_699[0][2]))))), l_644[1][0])) , 4294967295UL) != 0x58273199L) , &g_161[2]) != (void*)0);
                    }
                    g_630.f0 |= (0xA7F3L || (p_36 >= p_37));
                    if ((*g_335))
                        break;
                }
            }
            else
            { /* block id: 282 */
                uint64_t l_755 = 0x04A39A81E1398CD7LL;
                --l_755;
                g_629.f0 &= l_583.f0;
            }
            l_565 = (g_476 == 0x9B75L);
            for (l_564 = 2; (l_564 >= 0); l_564 -= 1)
            { /* block id: 289 */
                uint32_t l_760 = 3UL;
                int32_t l_767 = 0xFD0FAD6BL;
                int32_t l_768 = (-10L);
                int32_t l_770 = 0L;
                int32_t l_773 = 0x6226FB90L;
                int32_t l_774 = (-6L);
                union U1 l_782 = {1UL};
                volatile uint32_t ** volatile **l_801[10][8][3] = {{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,(void*)0,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{(void*)0,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,(void*)0,(void*)0},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,(void*)0,&g_797}},{{&g_797,&g_797,&g_797},{(void*)0,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,(void*)0},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{(void*)0,(void*)0,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,(void*)0,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,(void*)0},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,(void*)0},{&g_797,&g_797,&g_797},{(void*)0,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}},{{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797},{&g_797,&g_797,&g_797}}};
                union U0 **l_815 = &l_617[3][3];
                uint8_t l_820 = 0x96L;
                int i, j, k;
                l_767 = (safe_add_func_int16_t_s_s((((l_760 , (safe_mul_func_int8_t_s_s(l_760, 0xC3L))) & ((safe_mod_func_uint16_t_u_u(((l_596[0][4] | ((l_765 & ((((l_583 , &g_80) == ((*l_693) , l_766)) <= l_760) == p_39)) , p_37)) , 0x48DCL), g_63[0][2])) > p_36)) > 4294967295UL), g_623[5].f0));
                for (l_583.f0 = 0; (l_583.f0 <= 2); l_583.f0 += 1)
                { /* block id: 293 */
                    int8_t l_769[4][3][9] = {{{(-9L),0L,6L,0xC0L,(-4L),6L,0L,0xACL,0xACL},{(-4L),0xC0L,6L,0xC2L,0L,1L,0xC2L,0xACL,(-4L)},{0xC0L,0xACL,(-9L),6L,6L,0xC0L,1L,6L,0L}},{{0xC0L,1L,0xC2L,(-4L),(-9L),(-9L),1L,0L,(-9L)},{0xACL,0xACL,0xC2L,(-8L),0xC2L,0L,0L,5L,0xC0L},{(-8L),0xC0L,(-9L),(-4L),6L,(-4L),(-8L),(-8L),1L}},{{1L,0xC0L,6L,0L,(-8L),0L,(-8L),0xC0L,0L},{0xC2L,1L,0L,6L,0L,(-8L),0L,(-8L),0xC0L},{0L,0L,0xACL,(-9L),0xC0L,(-9L),1L,0xC2L,(-4L)}},{{0xC2L,0L,1L,0xC2L,0xACL,(-4L),0xACL,5L,(-9L)},{(-4L),1L,0xACL,6L,1L,0xC0L,0L,0L,(-8L)},{1L,0xC0L,0xC0L,(-8L),0L,0xC0L,0xC2L,5L,5L}}};
                    int32_t l_771[8] = {(-10L),(-10L),(-10L),(-10L),(-10L),(-10L),(-10L),(-10L)};
                    int i, j, k;
                    l_775++;
                    for (g_271.f0 = 0; (g_271.f0 <= 2); g_271.f0 += 1)
                    { /* block id: 297 */
                        int32_t **l_778 = (void*)0;
                        int32_t **l_779 = &l_576;
                        (*l_779) = &l_596[0][3];
                    }
                    for (l_713 = 0; (l_713 <= 2); l_713 += 1)
                    { /* block id: 302 */
                        uint8_t *l_785 = &g_198;
                        union U1 *l_792 = &l_578;
                        const int32_t *l_795 = (void*)0;
                        const int32_t **l_794[1][9][9] = {{{&l_795,(void*)0,&l_795,&l_795,(void*)0,&l_795,&l_795,&l_795,&l_795},{(void*)0,(void*)0,&l_795,(void*)0,&l_795,&l_795,&l_795,&l_795,&l_795},{&l_795,(void*)0,(void*)0,&l_795,&l_795,&l_795,&l_795,(void*)0,&l_795},{&l_795,(void*)0,&l_795,&l_795,&l_795,&l_795,&l_795,&l_795,(void*)0},{(void*)0,&l_795,&l_795,&l_795,&l_795,&l_795,&l_795,&l_795,(void*)0},{(void*)0,(void*)0,&l_795,(void*)0,&l_795,(void*)0,&l_795,&l_795,&l_795},{&l_795,&l_795,(void*)0,&l_795,&l_795,(void*)0,&l_795,&l_795,&l_795},{&l_795,&l_795,&l_795,&l_795,&l_795,&l_795,&l_795,(void*)0,&l_795},{&l_795,&l_795,(void*)0,&l_795,&l_795,&l_795,(void*)0,&l_795,&l_795}}};
                        int i, j, k;
                        g_796[3][7][1] = ((((((((p_35 >= 0L) & ((*g_335) & (&g_261 != (void*)0))) && (safe_mod_func_int16_t_s_s(g_634.f0, ((l_782 , (&g_198 == (((l_792 = ((safe_sub_func_uint8_t_u_u(((*l_785)--), (safe_lshift_func_uint16_t_u_s(((*l_72) &= ((safe_div_func_int16_t_s_s((&l_768 != &l_596[5][2]), p_38)) | 0x3AL)), 4)))) , &g_271)) != &l_578) , (void*)0))) && p_38)))) > (-1L)) | l_793[6]) && 0xF40EB87CL) , g_345[4]) , &l_351);
                    }
                }
                l_802 = g_797;
                for (l_725 = 2; (l_725 >= 0); l_725 -= 1)
                { /* block id: 312 */
                    union U1 l_811 = {0UL};
                    int32_t l_812 = 0x112A09C6L;
                    union U0 **l_813 = &l_617[4][6];
                    union U0 ***l_814[1];
                    uint16_t *l_816 = &g_267;
                    int16_t *l_817 = &l_772[0];
                    int32_t l_818 = 0x692E733FL;
                    int i, j, k;
                    for (i = 0; i < 1; i++)
                        l_814[i] = &l_813;
                    l_818 &= (((*l_817) = (((safe_div_func_int8_t_s_s(p_36, g_230)) >= ((*l_816) ^= ((-1L) <= (!((*l_72) |= ((l_815 = (((l_812 &= ((safe_div_func_int8_t_s_s(((p_38 = g_172.f0) ^ ((safe_mod_func_int16_t_s_s(((*l_595) |= ((l_811 , p_36) | ((*l_352) |= ((g_137[l_725][(l_564 + 3)][l_725] != (void*)0) , p_35)))), 0x5DBCL)) == 0L)), p_39)) & l_657[7][0])) | l_596[6][3]) , l_813)) != &g_261)))))) , 0x6580L)) == p_36);
                }
                for (g_752 = 0; (g_752 <= 2); g_752 += 1)
                { /* block id: 325 */
                    const int32_t **l_846 = (void*)0;
                    const int32_t **l_847 = (void*)0;
                    const int32_t **l_848 = (void*)0;
                    const int32_t **l_849 = (void*)0;
                    const int32_t *l_851 = &l_768;
                    const int32_t **l_850[7] = {(void*)0,(void*)0,&l_851,&l_851,&l_851,(void*)0,&l_851};
                    int i;
                    l_710 |= 0x9D2C12C3L;
                    for (l_774 = 2; (l_774 >= 0); l_774 -= 1)
                    { /* block id: 329 */
                        int32_t l_819 = 0L;
                        l_820--;
                        return p_36;
                    }
                    for (g_197 = 0; (g_197 <= 2); g_197 += 1)
                    { /* block id: 335 */
                        uint8_t *l_828 = &g_525;
                        int32_t l_829 = (-2L);
                        int32_t ***l_844 = &l_843;
                        int16_t l_845 = (-1L);
                        l_824 = l_823;
                        l_829 ^= (((*l_828) ^= ((+(!p_37)) == (!8L))) && (g_625.f0 , p_37));
                        g_622.f0 = ((((safe_lshift_func_int8_t_s_u(((&g_161[3] == (g_832 = g_832)) && (((*l_352) ^= ((safe_unary_minus_func_uint32_t_u((safe_sub_func_uint64_t_u_u(((-10L) && (l_829 >= (safe_div_func_int64_t_s_s(g_622.f0, (safe_add_func_uint16_t_u_u((((*l_844) = l_843) != &l_577[1]), ((-4L) | (g_594 == g_594)))))))), l_845)))) & g_6)) != g_632.f0)), 7)) & 0xFBL) < 1UL) > 0xDC38L);
                    }
                    l_852[1] = (g_796[3][7][1] = (void*)0);
                }
            }
        }
    }
    ++l_856;
    (*l_860) = l_859;
    return p_37;
}


/* ------------------------------------------ */
/* 
 * reads : g_49 g_75 g_73 g_63 g_137 g_80 g_122 g_161 g_132 g_118 g_197 g_172.f0 g_212 g_150 g_230 g_260 g_198 g_271.f0 g_6
 * writes: g_49 g_75 g_122 g_125 g_63 g_132 g_186 g_118 g_197 g_198 g_172.f0 g_212 g_150 g_230 g_73
 */
static uint8_t  func_52(uint32_t  p_53)
{ /* block id: 17 */
    int64_t l_89 = 0xDCF01E3026CBAAD5LL;
    int16_t *l_116 = &g_49;
    uint32_t *l_128 = &g_75[1];
    int32_t l_160 = 0L;
    union U1 l_206 = {4294967291UL};
    const int32_t l_214 = 0L;
    int32_t l_220 = (-1L);
    int32_t l_222 = 4L;
    int32_t l_224 = 0L;
    int32_t l_226 = (-7L);
    int32_t l_227 = 3L;
    int32_t l_228 = 0xC78A0E73L;
    int32_t l_229[7] = {0xA68B3BC1L,0L,0xA68B3BC1L,1L,0xA68B3BC1L,1L,0L};
    union U0 **l_258 = (void*)0;
    union U1 *l_270[10][6][4] = {{{(void*)0,(void*)0,&l_206,&g_271},{(void*)0,&g_271,&l_206,(void*)0},{&g_271,&l_206,&g_271,&l_206},{&g_271,&g_271,&g_271,&g_271},{&l_206,&g_271,&g_271,(void*)0},{&g_271,&g_271,&g_271,&g_271}},{{&g_271,&g_271,(void*)0,&g_271},{&g_271,&g_271,&g_271,&g_271},{&g_271,&g_271,(void*)0,&g_271},{&g_271,(void*)0,&g_271,&g_271},{&g_271,&g_271,&g_271,&g_271},{&g_271,&g_271,&g_271,(void*)0}},{{&l_206,&g_271,&g_271,&g_271},{&l_206,&l_206,&g_271,&g_271},{&l_206,(void*)0,&g_271,&g_271},{&g_271,&g_271,&g_271,&l_206},{&g_271,&l_206,&g_271,&l_206},{(void*)0,&l_206,&l_206,&g_271}},{{&g_271,&g_271,&g_271,(void*)0},{(void*)0,&g_271,&l_206,(void*)0},{&l_206,&l_206,&l_206,&g_271},{(void*)0,&g_271,&g_271,&g_271},{&g_271,(void*)0,&l_206,(void*)0},{&g_271,&g_271,(void*)0,&g_271}},{{&l_206,&g_271,&g_271,&l_206},{&g_271,(void*)0,&g_271,&g_271},{&g_271,&g_271,(void*)0,&g_271},{&g_271,&g_271,&l_206,&g_271},{&g_271,&g_271,&l_206,&g_271},{&g_271,&g_271,&g_271,(void*)0}},{{&l_206,&g_271,&g_271,&g_271},{&g_271,&l_206,(void*)0,&g_271},{&l_206,&g_271,&g_271,&g_271},{(void*)0,&l_206,(void*)0,&g_271},{&g_271,(void*)0,&g_271,&g_271},{&l_206,&g_271,&l_206,&l_206}},{{&g_271,&l_206,&g_271,&l_206},{(void*)0,&g_271,&g_271,&l_206},{(void*)0,&g_271,&g_271,(void*)0},{(void*)0,(void*)0,&l_206,&g_271},{&l_206,&g_271,&l_206,&g_271},{&g_271,&l_206,&g_271,&g_271}},{{(void*)0,(void*)0,(void*)0,(void*)0},{&g_271,&g_271,&g_271,(void*)0},{(void*)0,&g_271,(void*)0,&l_206},{&g_271,(void*)0,&g_271,&g_271},{&l_206,&g_271,&l_206,&g_271},{&g_271,&g_271,(void*)0,&l_206}},{{&l_206,&g_271,(void*)0,&g_271},{&g_271,&g_271,&g_271,&g_271},{&g_271,&g_271,&g_271,&g_271},{&g_271,&g_271,&l_206,&l_206},{&l_206,&g_271,&g_271,&g_271},{&g_271,&g_271,&l_206,&g_271}},{{&g_271,&l_206,&g_271,&g_271},{&g_271,&g_271,&g_271,&g_271},{&g_271,(void*)0,&g_271,&g_271},{(void*)0,&g_271,&g_271,&g_271},{(void*)0,&l_206,&g_271,&g_271},{&l_206,&g_271,&l_206,&g_271}}};
    int i, j, k;
    for (g_49 = (-22); (g_49 < (-2)); g_49 = safe_add_func_uint32_t_u_u(g_49, 4))
    { /* block id: 20 */
        int32_t l_119 = 1L;
        int32_t l_120[4][10][1] = {{{0x0DCE6BA5L},{2L},{(-5L)},{6L},{0x0DCE6BA5L},{5L},{0xBE1421AAL},{2L},{0xBE1421AAL},{2L}},{{0L},{0x9BD0A635L},{0xBE1421AAL},{1L},{0L},{6L},{0x0DCE6BA5L},{0x9BD0A635L},{0x0DCE6BA5L},{0x9BD0A635L}},{{0xBE1421AAL},{5L},{0x0DCE6BA5L},{2L},{0x4EC59EA2L},{1L},{0L},{5L},{0L},{5L}},{{0x0DCE6BA5L},{6L},{0L},{6L},{(-5L)},{2L},{0x4EC59EA2L},{6L},{0x4EC59EA2L},{6L}}};
        const int32_t l_123 = 0x8FC2E2BEL;
        union U0 *l_171 = &g_172;
        union U1 l_208 = {4294967295UL};
        uint8_t l_263 = 0x11L;
        uint16_t l_326[6][6][7] = {{{4UL,0x1F1DL,0x5758L,2UL,0x5758L,65535UL,0xD3B3L},{65535UL,0xC012L,0xA7C8L,0UL,65535UL,0x77EAL,65535UL},{65526UL,0UL,0xD3B3L,0x7AA3L,1UL,65532UL,0x7742L},{65535UL,0xCAF5L,1UL,65534UL,65535UL,0UL,65535UL},{0xBF18L,0xA630L,0x4905L,0UL,0xE415L,1UL,65535UL},{65534UL,1UL,0xC012L,0xC012L,65531UL,0UL,0x4E79L}},{{0UL,0x7AA3L,0x9EAFL,65535UL,0x4905L,0UL,0x77EAL},{65531UL,1UL,0xBFB9L,6UL,65534UL,0xCAF5L,0x50ACL},{0x5758L,65535UL,0xA630L,0xDA97L,1UL,0xBFB9L,65526UL},{0xC012L,1UL,0x2725L,0x6A35L,1UL,0UL,0x8A5AL},{0UL,1UL,65531UL,0xF295L,3UL,0UL,0x7742L},{8UL,1UL,1UL,0x9719L,65535UL,6UL,1UL}},{{65535UL,65535UL,65535UL,0x4905L,0UL,0x7AA3L,1UL},{0x2CE4L,6UL,0x2CE4L,0xA630L,3UL,0x50ACL,0x7742L},{0xA630L,4UL,1UL,0x8B78L,0xC012L,0x4E16L,0x8A5AL},{0x2725L,0UL,0UL,0x4E79L,0x2EB3L,65535UL,65526UL},{8UL,0UL,4UL,0xBF18L,6UL,2UL,0x9719L},{0x6A35L,0x1F1DL,0x77EAL,65534UL,1UL,65534UL,0xA61DL}},{{0x2725L,0x2725L,0x1F1DL,0UL,0xCAF5L,0xA630L,0xD3B3L},{3UL,0UL,0xC012L,0xE415L,1UL,0x9894L,0UL},{0xD04DL,65535UL,0UL,0UL,6UL,0xA7C8L,65534UL},{0x2038L,0xFC62L,65534UL,65535UL,0x2EB3L,0x2038L,0xC012L},{65535UL,0x60D4L,0x7AA3L,0xDA97L,1UL,3UL,0x0F54L},{0x9719L,0xBE05L,0UL,0x8A5AL,65535UL,0xF295L,65532UL}},{{0x8A5AL,4UL,2UL,1UL,65535UL,0UL,0xA630L},{0x9365L,0UL,2UL,0x2CE4L,0x2725L,0x9894L,65531UL},{65531UL,65535UL,0UL,0xA630L,0x9EAFL,3UL,0x2725L},{0x4E16L,0xCAF5L,0x7AA3L,65535UL,0xA630L,0x9365L,1UL},{0x9EAFL,0xA61DL,0xBF18L,0x8A5AL,0x7742L,0UL,3UL},{0UL,1UL,0UL,0x60D4L,0UL,0xDA97L,0xDA97L}},{{4UL,65535UL,1UL,65535UL,65532UL,0xFC62L,1UL},{0x4905L,1UL,0xBFB9L,65526UL,65535UL,65534UL,65535UL},{4UL,5UL,0xA61DL,1UL,65526UL,0x8B78L,0xBF18L},{0UL,65535UL,0xDA97L,65535UL,0x4E79L,65535UL,0x77EAL},{1UL,65535UL,0x6A35L,65535UL,0UL,0x2EB3L,65534UL},{2UL,0x4E79L,0xF295L,0x9719L,0x2CE4L,0x9365L,0x6AABL}}};
        int i, j, k;
        for (p_53 = 23; (p_53 != 33); p_53 = safe_add_func_uint8_t_u_u(p_53, 5))
        { /* block id: 23 */
            uint32_t *l_90 = &g_75[0];
            int32_t l_126 = 1L;
            uint32_t *l_130 = (void*)0;
            int32_t l_218[4][4] = {{1L,0x80C70173L,(-1L),(-1L)},{(-1L),0x8273AD26L,(-1L),0xFAA199BFL},{(-1L),0xFAA199BFL,(-1L),0x8273AD26L},{(-1L),(-1L),0xFAA199BFL,0x80C70173L}};
            int8_t *l_265 = (void*)0;
            int8_t l_293[5][6] = {{0xCAL,0L,0L,0L,0xF9L,0x4CL},{0xCAL,0L,0xF9L,0L,0x4CL,0L},{0xF9L,0L,0xF9L,0xCAL,0L,0x4CL},{0x4CL,0L,0x4CL,0x4CL,0x4CL,0L},{0x4CL,0x4CL,0L,0xCAL,0L,0L}};
            union U0 ***l_298 = (void*)0;
            int i, j;
            if ((safe_mod_func_uint32_t_u_u((safe_add_func_uint8_t_u_u(l_89, 7L)), (--(*l_90)))))
            { /* block id: 25 */
                uint32_t l_109 = 5UL;
                uint8_t *l_117[9] = {&g_118,&g_118,&g_118,&g_118,&g_118,&g_118,&g_118,&g_118,&g_118};
                int8_t *l_121 = &g_122;
                int8_t *l_124 = &g_125;
                int32_t *l_127[9] = {&g_63[0][2],&l_126,&g_63[0][2],&l_126,&g_63[0][2],&l_126,&g_63[0][2],&l_126,&g_63[0][2]};
                int i;
                g_63[0][2] = (safe_mod_func_uint32_t_u_u((~(safe_mul_func_uint8_t_u_u((((safe_div_func_int16_t_s_s((+p_53), 65526UL)) >= (safe_lshift_func_int8_t_s_s((((safe_rshift_func_int16_t_s_u((((safe_div_func_uint8_t_u_u(((((*l_124) = (((((safe_lshift_func_int16_t_s_s(((l_109 >= p_53) == ((((0xFAL >= ((safe_mul_func_int8_t_s_s((safe_sub_func_int64_t_s_s(g_73[2], (((*l_121) = (g_63[0][2] < ((l_120[2][0][0] = (l_119 ^= (((void*)0 == l_116) , l_89))) > g_75[0]))) < g_63[0][2]))), g_73[2])) & p_53)) == 0x4CEB9145EC307D3DLL) || g_63[0][2]) , 0x677FA262L)), 15)) >= l_123) ^ p_53) == 4294967289UL) , 0x96L)) && 1UL) <= p_53), l_109)) , p_53) , 0x38AAL), 9)) , (void*)0) == (void*)0), l_126))) <= g_73[2]), 247UL))), l_109));
                return p_53;
            }
            else
            { /* block id: 32 */
                uint32_t **l_129[4][10] = {{&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128},{&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128},{&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128},{&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128,&l_128}};
                uint64_t *l_131 = &g_132;
                uint64_t *l_149 = &g_150;
                int32_t l_151[2];
                int32_t *l_152 = &g_63[0][2];
                int i, j;
                for (i = 0; i < 2; i++)
                    l_151[i] = 0xBD501287L;
                (*l_152) = (((0x6A52L & ((p_53 == ((l_90 = l_128) == l_130)) <= (((*l_131) = p_53) | (safe_mul_func_int8_t_s_s(0x90L, ((safe_rshift_func_uint8_t_u_u((g_137[1][1][0] == l_149), 2)) , ((g_63[0][2] || l_151[0]) >= l_151[0]))))))) >= 0x95C8E435D7CC8F44LL) <= g_80);
            }
            for (g_122 = 0; (g_122 == 24); g_122 = safe_add_func_int16_t_s_s(g_122, 7))
            { /* block id: 39 */
                int32_t l_157 = 0L;
                int8_t *l_163 = &g_125;
                int32_t l_164 = 0xC0330D54L;
                uint32_t *l_185 = &g_80;
                uint8_t l_200 = 1UL;
                int32_t l_219 = 0xFE5E5E13L;
                int32_t l_221 = 1L;
                int32_t l_223[3];
                int32_t l_225 = (-4L);
                uint16_t *l_266 = &g_267;
                union U1 *l_268 = &l_208;
                uint16_t l_295 = 0xF11AL;
                int16_t l_325 = (-1L);
                int i;
                for (i = 0; i < 3; i++)
                    l_223[i] = 0x432EA984L;
                if (l_126)
                    break;
                if (((safe_mod_func_int8_t_s_s((((((l_157 && ((((*l_163) = ((safe_add_func_uint16_t_u_u((l_160 = 0xF0C4L), l_157)) , (g_161[2] == g_161[2]))) , ((l_164 = g_73[2]) || 9L)) == ((safe_lshift_func_int8_t_s_u(l_126, 3)) > (((safe_div_func_int8_t_s_s((safe_mul_func_int16_t_s_s(((-7L) | p_53), g_132)), l_119)) | 4294967287UL) | g_118)))) ^ 0x41L) & p_53) , l_128) == &l_157), 254UL)) > g_118))
                { /* block id: 44 */
                    union U0 **l_173 = (void*)0;
                    union U0 **l_174 = &l_171;
                    (*l_174) = l_171;
                    return g_73[2];
                }
                else
                { /* block id: 47 */
                    for (l_157 = 7; (l_157 > (-30)); l_157 = safe_sub_func_int32_t_s_s(l_157, 1))
                    { /* block id: 50 */
                        uint32_t *l_184[8][1][8] = {{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}},{{&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80,&g_80}}};
                        uint32_t **l_183 = &l_184[2][0][4];
                        int64_t *l_187 = &l_89;
                        int32_t l_196 = 0x90560A05L;
                        int16_t *l_199 = (void*)0;
                        int16_t *l_211 = &g_212;
                        uint64_t *l_213 = &g_150;
                        uint8_t *l_215 = &g_118;
                        int32_t *l_216 = &l_160;
                        int i, j, k;
                        g_172.f0 |= (safe_sub_func_int16_t_s_s((l_126 = (((((((((safe_mod_func_int64_t_s_s((((*l_187) = (safe_add_func_int64_t_s_s(p_53, (((*l_183) = &p_53) != (g_186 = l_185))))) ^ ((g_198 = (g_197 ^= (((safe_sub_func_uint8_t_u_u((g_118 = g_63[1][7]), ((*l_163) = (safe_rshift_func_int8_t_s_s((-6L), (safe_mod_func_int8_t_s_s((safe_rshift_func_int16_t_s_s((l_196 , (p_53 < 0xAED6AE4AL)), (0xC323CAD4L || l_196))), p_53))))))) , p_53) , l_157))) & l_126)), p_53)) >= p_53) <= 0xB3L) < 0xBFF233E68E44B7FDLL) & g_132) , g_75[1]) | g_122) , (void*)0) == (void*)0)), 0xBA50L));
                        (*l_216) &= (((*l_215) = (l_200 && ((p_53 ^ ((((((safe_div_func_uint64_t_u_u(((*l_213) |= ((((g_122 ^ ((((safe_add_func_uint64_t_u_u((!((g_197 , l_206) , (((safe_unary_minus_func_int8_t_s(p_53)) != ((*l_211) ^= ((l_120[2][4][0] |= (l_196 < (l_208 , (((safe_mod_func_uint64_t_u_u(g_197, 18446744073709551607UL)) <= l_126) >= g_63[0][2])))) & g_172.f0))) , 0x5BL))), 0xC63A1787847B8FC4LL)) < g_80) == (-1L)) > 0x0A0FA094L)) && g_118) & p_53) & 1UL)), p_53)) || l_206.f0) < g_49) , 0UL) < 0x14L) , (-9L))) >= l_214))) > p_53);
                        return l_206.f0;
                    }
                    if (l_126)
                        continue;
                    if (p_53)
                        continue;
                }
                for (l_206.f0 = 0; (l_206.f0 <= 2); l_206.f0 += 1)
                { /* block id: 72 */
                    int32_t *l_217[2];
                    uint16_t *l_241 = &g_73[2];
                    union U0 ***l_259 = &l_258;
                    int8_t *l_264 = &g_125;
                    uint8_t l_327[1];
                    int i, j, k;
                    for (i = 0; i < 2; i++)
                        l_217[i] = &l_120[2][0][0];
                    for (i = 0; i < 1; i++)
                        l_327[i] = 0UL;
                    g_230--;
                    if (((((((safe_div_func_int32_t_s_s((safe_div_func_int64_t_s_s((g_75[l_206.f0] || (((safe_mod_func_uint32_t_u_u((safe_mul_func_uint8_t_u_u(((((*l_241)--) , ((safe_lshift_func_int8_t_s_u((safe_div_func_int32_t_s_s((safe_add_func_int32_t_s_s((g_63[0][6] ^= 0xB1481D23L), ((safe_mod_func_uint64_t_u_u((safe_sub_func_uint32_t_u_u((g_75[l_206.f0] ^ ((safe_mul_func_uint16_t_u_u((g_75[l_206.f0] >= (p_53 >= ((2L || ((((safe_mul_func_uint8_t_u_u(((void*)0 != g_137[l_206.f0][l_206.f0][l_206.f0]), (((*l_259) = l_258) == g_260))) , p_53) & p_53) > p_53)) & l_224))), g_75[1])) & l_263)), p_53)), 0xE9EA8A35C7B8DB31LL)) <= l_226))), 0x3390D8EAL)), l_208.f0)) , l_264)) != l_265), l_119)), g_132)) ^ 0x3325L) <= l_263)), g_198)), 1L)) ^ p_53) , &g_73[1]) == l_266) > 0x3CF8L) , (-1L)))
                    { /* block id: 77 */
                        union U1 **l_269[2][3] = {{&l_268,&l_268,&l_268},{&l_268,&l_268,&l_268}};
                        int32_t l_280 = 2L;
                        const union U1 *l_291 = &g_292;
                        const union U1 **l_290 = &l_291;
                        uint64_t *l_294[2][9];
                        uint8_t *l_321 = &l_200;
                        int32_t **l_328 = &l_217[0];
                        int i, j;
                        for (i = 0; i < 2; i++)
                        {
                            for (j = 0; j < 9; j++)
                                l_294[i][j] = &g_197;
                        }
                        l_270[9][4][3] = l_268;
                        g_63[0][2] = (safe_add_func_int8_t_s_s(l_157, ((safe_mul_func_int16_t_s_s((((((((*l_241) = p_53) == (safe_lshift_func_int8_t_s_u(((g_271.f0 , ((((g_75[l_206.f0] |= (safe_sub_func_int64_t_s_s(l_280, l_280))) , (safe_lshift_func_uint16_t_u_u((l_295 = ((safe_mul_func_uint8_t_u_u((safe_unary_minus_func_int8_t_s(((*l_264) = ((g_150 |= (((*l_128) = (safe_div_func_int64_t_s_s((((safe_div_func_int32_t_s_s(((p_53 , (l_270[9][0][0] = &g_271)) != ((*l_290) = &l_206)), ((g_122 || l_219) , 1UL))) & 0x1623968AL) ^ l_293[1][3]), g_230))) | l_280)) & p_53)))), p_53)) & p_53)), g_172.f0))) == g_63[0][2]) , (void*)0)) != (void*)0), p_53))) <= 0x8493L) | g_132) > g_198) , 0x8F3EL), (-3L))) < (-9L))));
                        g_172.f0 = (safe_sub_func_int32_t_s_s(((((void*)0 != l_298) , ((safe_mul_func_int16_t_s_s(((+(safe_mod_func_uint64_t_u_u(((!((((0x2D881AE1L && ((g_197 |= ((safe_mod_func_int32_t_s_s((safe_add_func_uint32_t_u_u((safe_sub_func_int32_t_s_s((safe_lshift_func_int8_t_s_u((safe_mod_func_int32_t_s_s(p_53, (l_126 = (safe_lshift_func_uint8_t_u_s((&g_198 == (void*)0), ((*l_264) = ((-1L) & (g_63[0][2] = (((g_63[6][4] , (safe_sub_func_uint64_t_u_u((((((safe_lshift_func_uint8_t_u_u(((*l_321)++), (+g_6))) ^ (-7L)) && g_230) && g_63[3][0]) , 0xA88CA31A6CA4173ELL), l_325))) , p_53) , 3L))))))))), l_326[1][2][1])), l_224)), l_326[3][2][5])), 4294967295UL)) , l_327[0])) < p_53)) || 4294967295UL) , l_221) > 0xE202D36866BDBAEFLL)) || g_197), p_53))) >= l_227), p_53)) == p_53)) | g_132), 0L));
                        (*l_328) = &l_218[1][2];
                    }
                    else
                    { /* block id: 95 */
                        uint32_t l_329 = 0x829236C7L;
                        l_329++;
                    }
                    if (p_53)
                        break;
                }
            }
            return p_53;
        }
        for (l_263 = (-10); (l_263 < 53); l_263++)
        { /* block id: 105 */
            int16_t l_334 = 9L;
            return l_334;
        }
        if (g_271.f0)
            break;
    }
    return l_226;
}


/* ------------------------------------------ */
/* 
 * reads : g_63 g_73
 * writes: g_63
 */
static uint64_t  func_56(uint32_t  p_57)
{ /* block id: 13 */
    int32_t *l_77 = &g_63[0][2];
    (*l_77) &= 0L;
    return g_73[3];
}


/* ------------------------------------------ */
/* 
 * reads : g_63
 * writes:
 */
static uint16_t  func_60(uint32_t  p_61)
{ /* block id: 8 */
    int32_t *l_62[4] = {&g_63[0][2],&g_63[0][2],&g_63[0][2],&g_63[0][2]};
    int32_t l_64 = 0xED226F84L;
    int32_t l_65 = 0x950C43CAL;
    uint32_t l_66 = 0xBFBE8317L;
    int i;
    --l_66;
    return g_63[2][4];
}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    int i, j, k;
    int print_hash_value = 0;
    if (argc == 2 && strcmp(argv[1], "1") == 0) print_hash_value = 1;
    platform_main_begin();
    crc32_gentab();
    func_1();
    transparent_crc(g_2, "g_2", print_hash_value);
    transparent_crc(g_3, "g_3", print_hash_value);
    transparent_crc(g_4, "g_4", print_hash_value);
    transparent_crc(g_5, "g_5", print_hash_value);
    transparent_crc(g_6, "g_6", print_hash_value);
    transparent_crc(g_19, "g_19", print_hash_value);
    transparent_crc(g_49, "g_49", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 10; j++)
        {
            transparent_crc(g_63[i][j], "g_63[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    for (i = 0; i < 4; i++)
    {
        transparent_crc(g_73[i], "g_73[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 3; i++)
    {
        transparent_crc(g_75[i], "g_75[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_80, "g_80", print_hash_value);
    transparent_crc(g_118, "g_118", print_hash_value);
    transparent_crc(g_122, "g_122", print_hash_value);
    transparent_crc(g_125, "g_125", print_hash_value);
    transparent_crc(g_132, "g_132", print_hash_value);
    transparent_crc(g_138, "g_138", print_hash_value);
    transparent_crc(g_139, "g_139", print_hash_value);
    transparent_crc(g_140, "g_140", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 8; j++)
        {
            for (k = 0; k < 6; k++)
            {
                transparent_crc(g_141[i][j][k], "g_141[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_142, "g_142", print_hash_value);
    transparent_crc(g_143, "g_143", print_hash_value);
    transparent_crc(g_144, "g_144", print_hash_value);
    transparent_crc(g_145, "g_145", print_hash_value);
    transparent_crc(g_146, "g_146", print_hash_value);
    for (i = 0; i < 2; i++)
    {
        transparent_crc(g_147[i], "g_147[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_148, "g_148", print_hash_value);
    transparent_crc(g_150, "g_150", print_hash_value);
    transparent_crc(g_162, "g_162", print_hash_value);
    transparent_crc(g_172.f0, "g_172.f0", print_hash_value);
    transparent_crc(g_197, "g_197", print_hash_value);
    transparent_crc(g_198, "g_198", print_hash_value);
    transparent_crc(g_212, "g_212", print_hash_value);
    transparent_crc(g_230, "g_230", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 1; j++)
        {
            transparent_crc(g_262[i][j].f0, "g_262[i][j].f0", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_267, "g_267", print_hash_value);
    transparent_crc(g_271.f0, "g_271.f0", print_hash_value);
    transparent_crc(g_292.f0, "g_292.f0", print_hash_value);
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_345[i], "g_345[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_389, "g_389", print_hash_value);
    transparent_crc(g_476, "g_476", print_hash_value);
    transparent_crc(g_478, "g_478", print_hash_value);
    transparent_crc(g_489.f0, "g_489.f0", print_hash_value);
    transparent_crc(g_525, "g_525", print_hash_value);
    transparent_crc(g_569, "g_569", print_hash_value);
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 6; j++)
        {
            for (k = 0; k < 2; k++)
            {
                transparent_crc(g_618[i][j][k].f0, "g_618[i][j][k].f0", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_619.f0, "g_619.f0", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_620[i].f0, "g_620[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_621.f0, "g_621.f0", print_hash_value);
    transparent_crc(g_622.f0, "g_622.f0", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_623[i].f0, "g_623[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_624[i].f0, "g_624[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_625.f0, "g_625.f0", print_hash_value);
    transparent_crc(g_626.f0, "g_626.f0", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_627[i].f0, "g_627[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 7; j++)
        {
            for (k = 0; k < 3; k++)
            {
                transparent_crc(g_628[i][j][k].f0, "g_628[i][j][k].f0", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_629.f0, "g_629.f0", print_hash_value);
    transparent_crc(g_630.f0, "g_630.f0", print_hash_value);
    transparent_crc(g_631.f0, "g_631.f0", print_hash_value);
    transparent_crc(g_632.f0, "g_632.f0", print_hash_value);
    transparent_crc(g_633.f0, "g_633.f0", print_hash_value);
    transparent_crc(g_634.f0, "g_634.f0", print_hash_value);
    transparent_crc(g_720.f0, "g_720.f0", print_hash_value);
    transparent_crc(g_752, "g_752", print_hash_value);
    transparent_crc(g_800, "g_800", print_hash_value);
    transparent_crc(g_863, "g_863", print_hash_value);
    transparent_crc(g_917, "g_917", print_hash_value);
    transparent_crc(g_1046, "g_1046", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        transparent_crc(g_1168[i].f0, "g_1168[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1197.f0, "g_1197.f0", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        transparent_crc(g_1227[i], "g_1227[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1229, "g_1229", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 3; j++)
        {
            for (k = 0; k < 5; k++)
            {
                transparent_crc(g_1292[i][j][k], "g_1292[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_1294, "g_1294", print_hash_value);
    transparent_crc(g_1338.f0, "g_1338.f0", print_hash_value);
    transparent_crc(g_1636.f0, "g_1636.f0", print_hash_value);
    transparent_crc(g_1743, "g_1743", print_hash_value);
    transparent_crc(g_1747, "g_1747", print_hash_value);
    transparent_crc(g_1856.f0, "g_1856.f0", print_hash_value);
    transparent_crc(g_1904, "g_1904", print_hash_value);
    transparent_crc(g_2012, "g_2012", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 5; j++)
        {
            transparent_crc(g_2022[i][j], "g_2022[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_2094.f0, "g_2094.f0", print_hash_value);
    transparent_crc(g_2096.f0, "g_2096.f0", print_hash_value);
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 1; j++)
        {
            for (k = 0; k < 2; k++)
            {
                transparent_crc(g_2097[i][j][k].f0, "g_2097[i][j][k].f0", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_2098.f0, "g_2098.f0", print_hash_value);
    transparent_crc(g_2099.f0, "g_2099.f0", print_hash_value);
    transparent_crc(g_2100.f0, "g_2100.f0", print_hash_value);
    for (i = 0; i < 4; i++)
    {
        transparent_crc(g_2101[i].f0, "g_2101[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_2102.f0, "g_2102.f0", print_hash_value);
    transparent_crc(g_2103.f0, "g_2103.f0", print_hash_value);
    transparent_crc(g_2104.f0, "g_2104.f0", print_hash_value);
    transparent_crc(g_2105.f0, "g_2105.f0", print_hash_value);
    transparent_crc(g_2106.f0, "g_2106.f0", print_hash_value);
    transparent_crc(g_2107.f0, "g_2107.f0", print_hash_value);
    transparent_crc(g_2108.f0, "g_2108.f0", print_hash_value);
    transparent_crc(g_2109.f0, "g_2109.f0", print_hash_value);
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 9; j++)
        {
            for (k = 0; k < 5; k++)
            {
                transparent_crc(g_2110[i][j][k].f0, "g_2110[i][j][k].f0", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_2111.f0, "g_2111.f0", print_hash_value);
    for (i = 0; i < 2; i++)
    {
        transparent_crc(g_2112[i].f0, "g_2112[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 8; i++)
    {
        transparent_crc(g_2261[i].f0, "g_2261[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_2262.f0, "g_2262.f0", print_hash_value);
    transparent_crc(g_2263.f0, "g_2263.f0", print_hash_value);
    transparent_crc(g_2265.f0, "g_2265.f0", print_hash_value);
    transparent_crc(g_2305, "g_2305", print_hash_value);
    transparent_crc(g_2507, "g_2507", print_hash_value);
    transparent_crc(g_2562.f0, "g_2562.f0", print_hash_value);
    transparent_crc(g_2683.f0, "g_2683.f0", print_hash_value);
    transparent_crc(g_2762, "g_2762", print_hash_value);
    transparent_crc(g_2881, "g_2881", print_hash_value);
    transparent_crc(g_2907, "g_2907", print_hash_value);
    transparent_crc(g_2939, "g_2939", print_hash_value);
    transparent_crc(g_3124.f0, "g_3124.f0", print_hash_value);
    transparent_crc(g_3141.f0, "g_3141.f0", print_hash_value);
    transparent_crc(g_3144.f0, "g_3144.f0", print_hash_value);
    transparent_crc(g_3226, "g_3226", print_hash_value);
    transparent_crc(g_3237.f0, "g_3237.f0", print_hash_value);
    transparent_crc(g_3354.f0, "g_3354.f0", print_hash_value);
    for (i = 0; i < 4; i++)
    {
        transparent_crc(g_3417[i].f0, "g_3417[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_3435.f0, "g_3435.f0", print_hash_value);
    transparent_crc(g_3439.f0, "g_3439.f0", print_hash_value);
    transparent_crc(g_3527, "g_3527", print_hash_value);
    transparent_crc(g_3591.f0, "g_3591.f0", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_3600[i].f0, "g_3600[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_3619, "g_3619", print_hash_value);
    transparent_crc(g_3667.f0, "g_3667.f0", print_hash_value);
    transparent_crc(g_3668.f0, "g_3668.f0", print_hash_value);
    transparent_crc(g_3695.f0, "g_3695.f0", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 3; j++)
        {
            transparent_crc(g_3723[i][j].f0, "g_3723[i][j].f0", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_3749, "g_3749", print_hash_value);
    transparent_crc(g_3833.f0, "g_3833.f0", print_hash_value);
    transparent_crc(g_3881, "g_3881", print_hash_value);
    transparent_crc(g_3890, "g_3890", print_hash_value);
    transparent_crc(g_3923.f0, "g_3923.f0", print_hash_value);
    transparent_crc(g_3956.f0, "g_3956.f0", print_hash_value);
    transparent_crc(g_3963, "g_3963", print_hash_value);
    transparent_crc(g_3973.f0, "g_3973.f0", print_hash_value);
    transparent_crc(g_3976.f0, "g_3976.f0", print_hash_value);
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_3977[i].f0, "g_3977[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 952
XXX total union variables: 54

XXX non-zero bitfields defined in structs: 1
XXX zero bitfields defined in structs: 0
XXX const bitfields defined in structs: 0
XXX volatile bitfields defined in structs: 0
XXX structs with bitfields in the program: 63
breakdown:
   indirect level: 0, occurrence: 18
   indirect level: 1, occurrence: 13
   indirect level: 2, occurrence: 11
   indirect level: 3, occurrence: 7
   indirect level: 4, occurrence: 8
   indirect level: 5, occurrence: 6
XXX full-bitfields structs in the program: 0
breakdown:
XXX times a bitfields struct's address is taken: 52
XXX times a bitfields struct on LHS: 0
XXX times a bitfields struct on RHS: 18
XXX times a single bitfield on LHS: 40
XXX times a single bitfield on RHS: 168

XXX max expression depth: 43
breakdown:
   depth: 1, occurrence: 186
   depth: 2, occurrence: 55
   depth: 3, occurrence: 4
   depth: 4, occurrence: 2
   depth: 5, occurrence: 3
   depth: 10, occurrence: 1
   depth: 16, occurrence: 3
   depth: 17, occurrence: 1
   depth: 19, occurrence: 2
   depth: 20, occurrence: 1
   depth: 21, occurrence: 3
   depth: 22, occurrence: 2
   depth: 23, occurrence: 2
   depth: 24, occurrence: 1
   depth: 25, occurrence: 4
   depth: 26, occurrence: 3
   depth: 28, occurrence: 1
   depth: 31, occurrence: 2
   depth: 32, occurrence: 1
   depth: 33, occurrence: 1
   depth: 35, occurrence: 2
   depth: 37, occurrence: 1
   depth: 38, occurrence: 3
   depth: 39, occurrence: 1
   depth: 42, occurrence: 1
   depth: 43, occurrence: 1

XXX total number of pointers: 781

XXX times a variable address is taken: 1952
XXX times a pointer is dereferenced on RHS: 323
breakdown:
   depth: 1, occurrence: 231
   depth: 2, occurrence: 63
   depth: 3, occurrence: 14
   depth: 4, occurrence: 7
   depth: 5, occurrence: 8
XXX times a pointer is dereferenced on LHS: 457
breakdown:
   depth: 1, occurrence: 404
   depth: 2, occurrence: 38
   depth: 3, occurrence: 12
   depth: 4, occurrence: 3
XXX times a pointer is compared with null: 77
XXX times a pointer is compared with address of another variable: 15
XXX times a pointer is compared with another pointer: 24
XXX times a pointer is qualified to be dereferenced: 10384

XXX max dereference level: 5
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 1664
   level: 2, occurrence: 675
   level: 3, occurrence: 413
   level: 4, occurrence: 118
   level: 5, occurrence: 43
XXX number of pointers point to pointers: 362
XXX number of pointers point to scalars: 382
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 26.8
XXX average alias set size: 1.36

XXX times a non-volatile is read: 3145
XXX times a non-volatile is write: 1556
XXX times a volatile is read: 53
XXX    times read thru a pointer: 28
XXX times a volatile is write: 22
XXX    times written thru a pointer: 21
XXX times a volatile is available for access: 1.65e+03
XXX percentage of non-volatile access: 98.4

XXX forward jumps: 5
XXX backward jumps: 9

XXX stmts: 198
XXX max block depth: 5
breakdown:
   depth: 0, occurrence: 26
   depth: 1, occurrence: 33
   depth: 2, occurrence: 27
   depth: 3, occurrence: 35
   depth: 4, occurrence: 36
   depth: 5, occurrence: 41

XXX percentage a fresh-made variable is used: 17.5
XXX percentage an existing variable is used: 82.5
FYI: the random generator makes assumptions about the integer size. See platform.info for more details.
********************* end of statistics **********************/